On 7/9/13 10:13 AM, Reaves, Timothy wrote:
> I went to install ImageMagick.  This should be very straight forward.  A
> few format libraries, and ImageMagick itself.  Instead, I see this
> following ridiculousness, of 192 dependencies!  This is just wrong.
> Yes, there are various add-ins that ImageMagick can use.  I have to
> custom-compile ImageMagick on our production Linux machines, so I'm well
> aware of that.  But this is unreasonable.
>
>
>
> The following package will be installed or updated:
>   imagemagick
> The following 192 additional packages will be installed:
>   atk1 atk1-shlibs autoconf2.6 automake1.11 automake1.11-core blt-dev
> blt-shlibs
>   cairo cairo-shlibs cpan-meta-pm5124 cpan-meta-requirements-pm5124
>   cpan-meta-yaml-pm cyrus-sasl2-dev cyrus-sasl2-shlibs daemonic db53-aes
>   db53-aes-shlibs dbus dbus-glib1.2-dev dbus-glib1.2-shlibs dbus1.3-dev
>   dbus1.3-shlibs docbook-dsssl-nwalsh docbook-dtd docbook-xsl doxygen expat1
>   expat1-shlibs exporter-pm extutils-cbuilder-pm extutils-command-pm
>   extutils-install-pm extutils-makemaker-pm5124 extutils-manifest-pm
>   file-copy-recursive-pm file-path-pm5124 file-temp-pm5124
>   fink-package-precedence flag-sort fontconfig-config fontconfig2-dev
>   fontconfig2-shlibs freeglut freeglut-shlibs freetype219 freetype219-shlibs
>   gconf2-dev gconf2-shlibs gd2 gd2-shlibs gdbm3 gdbm3-shlibs gettext-tools
>   ghostscript ghostscript-fonts glib2-dev glib2-shlibs glitz
> glitz-shlibs gtk+2
>   gtk+2-dev gtk+2-shlibs gtk-doc ilmbase ilmbase-shlibs imagemagick7-shlibs
>   intltool40 itstool json-pp-pm lcms2 lcms2-shlibs libbonobo2 libbonobo2-dev
>   libbonobo2-shlibs libcroco3 libcroco3-shlibs libdatrie1 libdatrie1-shlibs
>   libdjvulibre21-dev libdjvulibre21-shlibs libgsf1.114-dev
> libgsf1.114-shlibs
>   libidl2 libidl2-shlibs libidn libidn-shlibs libjasper.1 libjasper.1-shlibs
>   libjbig libjbig-shlibs libjbig2dec-dev libjbig2dec-shlibs libjpeg-bin
> libjpeg8
>   libjpeg8-shlibs libjpeg9 libjpeg9-shlibs liblzma5 liblzma5-shlibs
> libncursesw5
>   libncursesw5-shlibs libopenexr6 libopenexr6-shlibs libopenjpeg1
>   libopenjpeg1-shlibs libpaper1-dev libpaper1-shlibs libpng14
> libpng14-shlibs
>   libpng15 libpng15-shlibs libpng16 libpng16-shlibs librsvg2 librsvg2-shlibs
>   libsigsegv2 libsigsegv2-shlibs libthai libthai-dev libthai-shlibs libtiff
>   libtiff-shlibs libtiff5 libtiff5-shlibs libtool2 libtool2-shlibs libwebp2
>   libwebp2-shlibs libwmf libwmf-shlibs libxml2 libxml2-bin libxml2-py27
>   libxml2-shlibs libxslt libxslt-bin libxslt-shlibs m4 openjade
> openldap24-dev
>   openldap24-shlibs opensp-bin opensp5-dev opensp5-shlibs openssl100-dev
>   openssl100-shlibs orbit2 orbit2-dev orbit2-shlibs pango1-xft2-ft219
>   pango1-xft2-ft219-dev pango1-xft2-ft219-shlibs parse-cpan-meta-pm
>   passwd-configs passwd-core passwd-messagebus pixman pixman-shlibs
> pkgconfig
>   popt popt-shlibs python27 python27-shlibs qt3 qt3-designer
> qt3-designer-shlibs
>   qt3-doc qt3-linguist qt3-shlibs readline6 readline6-shlibs
>   sgml-entities-iso8879 shared-mime-info sqlite3-dev sqlite3-shlibs
>   system-openssl-dev tcltk tcltk-dev tcltk-shlibs test-harness-pm5124
>   test-simple-pm5124 texi2html texinfo version-pm5124
>   version-requirements-pm5124 xdg-base xft2-dev xft2-shlibs xinitrc xmkmf
>   xml-parser-pm5124 xz
>

Building with all of the available options is a fairly common practice 
for us, because often this is the best way to ensure that packages that 
autodetect installed libraries build the same way for everybody, in 
accordance with our long-standing policy.

In this case, I believe the big issue isn't add-ins, which could indeed 
be built separately from the main package.  It's that SVG support, which 
gets linked into the libraries, has a huge build chain.

The mixed versions of e.g. libpng, libtiff, and libjpeg are a separate 
issue, and reflect that recently updated dependencies are using the 
newer library versions of those.  For example, imagemagick itself still 
calls for libpng15, libjpeg8, and libtiff, rather than libpng16, 
libjpeg9, and libtiff5.

Feel free to modify your local imagemagick (or other package) builds to 
suit your needs:

http://finkers.wordpress.com/2009/07/24/creating-local-packages/

You can also contact the imagemagick maintainer ("fink info 
imagemagick") to see if he is amenable to any refactoring of the build. 
  The librsvg2 maintainer hasn't been active of late, but it's probably 
worth it for us to investigate whether _that_ can be tweaked to 
propagate fewer dependencies.
-- 
Alexander Hansen, Ph.D.
Fink User Liaison
My package updates: http://finkakh.wordpress.com/

------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Fink-beginners mailing list
Fink-beginners@lists.sourceforge.net
List archive:
http://news.gmane.org/gmane.os.apple.fink.beginners
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-beginners

Reply via email to