Opened 10 years ago
Last modified 4 years ago
#47443 new enhancement
Reducing the dependencies of ImageMagick (djvulibre)
Reported by: | ocroquette (Olivier Croquette) | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.3.3 |
Keywords: | Cc: | Schamschula (Marius Schamschula) | |
Port: | ImageMagick |
Description
Currently, the ImageMagick port is unconditionally depending on the "djvulibre" port, bringing in 160 (!) indirect dependencies, including:
- dbus, and its Launch Agent
- gtk3
- cairo
- python27
- sqlite3
- docbook-xml
- ...
As a quick experiment, I removed djvulibre from the list of dependencies, and I could build ImageMagick and use "convert" successfully. I suggest to remove "djvulibre" as hard dependency and/or create a specific variant if it has added value for some users.
Attachments (1)
Change History (11)
comment:1 follow-up: 2 Changed 10 years ago by mf2k (Frank Schima)
Owner: | changed from macports-tickets@… to vryandesign@… |
---|
comment:2 Changed 10 years ago by ocroquette (Olivier Croquette)
Replying to mf2k@…:
In the future, please Cc the port maintainers (
port info --maintainers ImageMagick
), if any.
I will, sorry.
comment:3 Changed 10 years ago by devernay (Frédéric Devernay)
I think installing librsvg with the -viewer variant fixes this. The viewer variant should not be enabled by default in librsvg. I just filed #47596
comment:4 Changed 10 years ago by mf2k (Frank Schima)
Owner: | changed from vryandesign@… to ryandesign@… |
---|
comment:5 Changed 10 years ago by dbevans (David B. Evans)
Changed 9 years ago by Schamschula (Marius Schamschula)
Attachment: | Portfile-ImageMagick.diff added |
---|
comment:6 follow-up: 8 Changed 9 years ago by Schamschula (Marius Schamschula)
I've created a djvulibre variant.
As it depends on the rsvg variant, which in turn depends on the pango variant, the variants now use the "requires" syntax to note this fact.
comment:8 follow-up: 9 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to mschamschula@…:
As it depends on the rsvg variant, which in turn depends on the pango variant, the variants now use the "requires" syntax to note this fact.
How do you know that djvulibre support in ImageMagick requires the rsvg variant? How do you know the rsvg variant requires the pango variant?
comment:9 Changed 9 years ago by Schamschula (Marius Schamschula)
Replying to ryandesign@…:
Replying to mschamschula@…:
As it depends on the rsvg variant, which in turn depends on the pango variant, the variants now use the "requires" syntax to note this fact.
How do you know that djvulibre support in ImageMagick requires the rsvg variant? How do you know the rsvg variant requires the pango variant?
I found out the hard way, while trying to build ImageMagick under El Cap, where it currently is impossible to build pango due to some system header issues.
In other words:
- If you install the rsvg variant, you need pango as a dependency, so why not install the variant?
- If you install the djvulibre variant, you need both pango and rsvg as dependencies, so why not install those variants?
comment:10 Changed 4 years ago by jpanetta (Julian Panetta)
I also think it would be nice to make djvu
optional; djvu
currently fails to build on ARM64 (due to its librsvg
and thus rust
dependency). After disabling djvu
--and sadly heic
support due to libde265
's x86 assembly not compiling--ImageMagick builds fine.
In the future, please Cc the port maintainers (
port info --maintainers ImageMagick
), if any.