You are not logged in.

#1 2023-07-15 06:25:23

jronald
Member
Registered: 2022-05-09
Posts: 218

[SOLVED] How does a lib as a package choose the optional features?

When installing a lib with  optional features via `pacman -S`,
among the optional features, how to know which are enabled/disabled?

Last edited by jronald (2023-07-15 13:24:21)

Offline

#2 2023-07-15 06:42:25

dogknowsnx
Guest

Re: [SOLVED] How does a lib as a package choose the optional features?

Please post an example (lib) package.

FWIW, it is up to the user which optional deps he/she chooses to install for a given package. Sometimes optional deps are already satisfied by another package hard-depending on the otherwise optional package.

Issue

pacman -Qi <pkg>

in order to get a list of (installed) deps.
You can install missing/desired optional deps via

# pacman -S --asdeps <pkg>

(they will become orphans, if you decided to uninstall the package(s) depending on them)
Hope that helps...

Last edited by dogknowsnx (2023-07-15 06:44:55)

#3 2023-07-15 07:15:00

jronald
Member
Registered: 2022-05-09
Posts: 218

Re: [SOLVED] How does a lib as a package choose the optional features?

dogknowsnx wrote:

Please post an example (lib) package.

Take mapnik for example, it has many optional features (in the square brackets below).
When pacman -S mapnik, how to know what features are enabled?

$ ./vcpkg search mapnik
mapnik                   2023-06-12#1     Mapnik is an open source toolkit for developing mapping applications.
mapnik[cairo]                             Cairo renderer
mapnik[grid-renderer]                     Grid renderer
mapnik[input-csv]                         CSV input plugin
mapnik[input-gdal]                        GDAL input plugin
mapnik[input-geobuf]                      GEOBUF input plugin
mapnik[input-geojson]                     GEOJSON input plugin
mapnik[input-ogr]                         OGR input plugin
mapnik[input-pgraster]                    PGRASTER input plugin
mapnik[input-postgis]                     POSTGIS input plugin
mapnik[input-raster]                      RASTER input plugin
mapnik[input-shape]                       SHAPE input plugin
mapnik[input-sqlite]                      SQLITE input plugin
mapnik[input-topojson]                    TOPOJSON input plugin
mapnik[jpeg]                              add jpeg support
mapnik[libxml2]                           use libxml2 instead of rapidxml
mapnik[png]                               add png support
mapnik[proj]                              PROJ Functionalities
mapnik[svg-renderer]                      SVG renderer
mapnik[tiff]                              add tiff support
mapnik[utility-geometry-to-wkb]           utility application geometry-to-wkb
mapnik[utility-mapnik-index]              utility application mapnik-index
mapnik[utility-mapnik-render]             utility application mapnik-render
mapnik[utility-ogrindex]                  utility application ogrindex
mapnik[utility-pgsql2sqlite]              utility application pgsql2sqlite
mapnik[utility-shapeindex]                utility application shapeindex
mapnik[utility-svg2png]                   utility application svg2png
mapnik[viewer]                            Make demo viewer application
mapnik[webp]                              add webp support

Offline

#4 2023-07-15 07:41:15

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 76,129

Re: [SOLVED] How does a lib as a package choose the optional features?

https://archlinux.org/packages/extra/x86_64/mapnik/ has exactly zero optional dependencies.
You're asking "what does vcpkg do" while the question should be "why am I using vcpkg"
Eg. "[jpeg]" isn't a dependecy of anything, the package you've installed is https://archlinux.org/packages/extra/x8 … peg-turbo/ so there's no direct way to map whatever vcpkg is printing there to the packages on your system, you can at best guess-map them and compare vcpkg's dependency list against the output of pactree.

That aside, you're actually asking what plugins were enabled when mapnik was built, ie. by the version on your disk.
This has nothing to do w/ pacman, check mapnik-config

This seems like an obvious xy-problem, what actual task do you seek to complete?

Offline

#5 2023-07-15 11:15:05

jronald
Member
Registered: 2022-05-09
Posts: 218

Re: [SOLVED] How does a lib as a package choose the optional features?

@dogknowsnx is asking for an example,
I'm just using vcpkg to list the optional features of mapnik,
To be clear, my question is:
How to find out what optional features that is enabled for a package when it is installed by pacman -S?

Offline

#6 2023-07-15 11:24:28

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 76,129

Re: [SOLVED] How does a lib as a package choose the optional features?

pacman -Qi, but I doubt that's what your looking for and what you're likely looking for has nothing to do w/ pacman. Check mapnik-coinfig.

Offline

#7 2023-07-15 11:43:17

dogknowsnx
Guest

Re: [SOLVED] How does a lib as a package choose the optional features?

Judging by your other (minimalistic) thread you've opened today, you're probably looking for a universal 'cmake -LAH' equivalent. I don't (have to) compile software myself very often, but afaik there's no such tool which would cover all compilers. You can always inspect the respective PKGBUILD, though. 'pacman -S' just installs the pre-compiled binary/software with the options the package maintainer deemed appropriate.

Last edited by dogknowsnx (2023-07-15 11:46:22)

#8 2023-07-15 13:23:40

jronald
Member
Registered: 2022-05-09
Posts: 218

Re: [SOLVED] How does a lib as a package choose the optional features?

dogknowsnx wrote:

Judging by your other (minimalistic) thread you've opened today, you're probably looking for a universal 'cmake -LAH' equivalent. I don't (have to) compile software myself very often, but afaik there's no such tool which would cover all compilers. You can always inspect the respective PKGBUILD, though. 'pacman -S' just installs the pre-compiled binary/software with the options the package maintainer deemed appropriate.

Alright, thanks.

Offline

Board footer

Powered by FluxBB