tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

graphics/ImageMagick: make dependencies optional



hi,

I wanted to disable tiff and ghostscript support in ImageMagick so I
wouldn't need those libraries on my server, so I made them and the
other ImageMagick dependencies optional.

The resulting binaries seem to work and don't depend on dynamic libraries
from any disabled dependencies. It seems to work with ghostscript
uninstalled, despite the comment hinting otherwise. Actually, building
with _all_ of these dependencies disabled still seems to work, and
`readelf -d` produces expected results.

It was my intention to bmake the default option set identical to the
implied set of the original, so things wouldn't break.

nia

Index: Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/graphics/ImageMagick/Makefile,v
retrieving revision 1.248
diff -u -r1.248 Makefile
--- Makefile	3 Sep 2018 10:37:10 -0000	1.248
+++ Makefile	20 Oct 2018 16:50:17 -0000
@@ -12,15 +12,10 @@
 USE_LANGUAGES=		c c++ c99
 USE_TOOLS+=		gmake pkg-config:run
 CONFIGURE_ARGS+=	--disable-assert
-CONFIGURE_ARGS+=	--with-fontconfig
 CONFIGURE_ARGS+=	--with-ltdl-include=${BUILDLINK_PREFIX.libltdl}/include
 CONFIGURE_ARGS+=	--with-ltdl-lib=${BUILDLINK_PREFIX.libltdl}/lib
-CONFIGURE_ARGS+=	--with-xml=yes
 CONFIGURE_ARGS+=	--without-perl
 CONFIGURE_ARGS+=	--sysconfdir=${PKG_SYSCONFBASEDIR}
-# This one used to be optional, but it depends on ghostscript even if it's
-# disabled so having a way to disable it seems pointless.
-CONFIGURE_ARGS+=	--with-gslib
 # http://www.imagemagick.org/discourse-server/viewtopic.php?f=2&t=25475
 CONFIGURE_ARGS.NetBSD+=	--disable-openmp
 PKGCONFIG_OVERRIDE+=	MagickWand/MagickWand.pc.in
@@ -84,16 +79,5 @@
 SUBST_FILES.fix-pc+=	MagickWand/MagickWand-config.in
 SUBST_SED.fix-pc=	-e 's,@PKG_CONFIG@,pkg-config,g'
 
-.include "../../archivers/bzip2/buildlink3.mk"
-.include "../../archivers/xz/buildlink3.mk"
 .include "../../devel/libltdl/buildlink3.mk"
-.include "../../fonts/fontconfig/buildlink3.mk"
-.include "../../graphics/freetype2/buildlink3.mk"
-.include "../../graphics/lcms2/buildlink3.mk"
-.include "../../graphics/libwebp/buildlink3.mk"
-.include "../../graphics/png/buildlink3.mk"
-.include "../../graphics/tiff/buildlink3.mk"
-.include "../../math/fftw/buildlink3.mk"
-.include "../../print/ghostscript/buildlink3.mk"
-.include "../../textproc/libxml2/buildlink3.mk"
 .include "../../mk/bsd.pkg.mk"
Index: options.mk
===================================================================
RCS file: /cvsroot/pkgsrc/graphics/ImageMagick/options.mk,v
retrieving revision 1.18
diff -u -r1.18 options.mk
--- options.mk	30 Oct 2017 14:44:05 -0000	1.18
+++ options.mk	20 Oct 2018 16:50:17 -0000
@@ -1,8 +1,14 @@
 # $NetBSD: options.mk,v 1.18 2017/10/30 14:44:05 fhajny Exp $
 
 PKG_OPTIONS_VAR=	PKG_OPTIONS.ImageMagick
-PKG_SUPPORTED_OPTIONS=	x11 jp2 djvu openexr wmf
-PKG_SUGGESTED_OPTIONS=	x11 jp2
+
+PKG_SUPPORTED_OPTIONS+=	bzip2 fftw fontconfig freetype ghostscript jpeg png
+PKG_SUPPORTED_OPTIONS+=	tiff lcms lzma webp xml x11 jp2
+PKG_SUPPORTED_OPTIONS+=	djvu openexr wmf
+
+PKG_SUGGESTED_OPTIONS+=	bzip2 fftw fontconfig freetype ghostscript jpeg png
+PKG_SUGGESTED_OPTIONS+=	tiff lcms lzma webp xml x11 jp2
+
 PKG_OPTIONS_LEGACY_OPTS+=	jasper:jp2
 
 .include "../../mk/bsd.options.mk"
@@ -22,6 +28,13 @@
 CONFIGURE_ARGS+=	--without-openjp2
 .endif
 
+.if !empty(PKG_OPTIONS:Mbzip2)
+.include "../../archivers/bzip2/buildlink3.mk"
+CONFIGURE_ARGS+=	--with-bzlib
+.else
+CONFIGURE_ARGS+=	--without-bzlib
+.endif
+
 .if !empty(PKG_OPTIONS:Mdjvu)
 .include "../../graphics/djvulibre-lib/buildlink3.mk"
 CONFIGURE_ARGS+=	--with-djvu
@@ -29,6 +42,55 @@
 CONFIGURE_ARGS+=	--without-djvu
 .endif
 
+.if !empty(PKG_OPTIONS:Mfftw)
+.include "../../math/fftw/buildlink3.mk"
+CONFIGURE_ARGS+=	--with-fftw
+.else
+CONFIGURE_ARGS+=	--without-fftw
+.endif
+
+.if !empty(PKG_OPTIONS:Mfontconfig)
+.include "../../fonts/fontconfig/buildlink3.mk"
+CONFIGURE_ARGS+=	--with-fontconfig
+.else
+CONFIGURE_ARGS+=	--without-fontconfig
+.endif
+
+.if !empty(PKG_OPTIONS:Mfreetype)
+.include "../../graphics/freetype2/buildlink3.mk"
+CONFIGURE_ARGS+=	--with-freetype
+.else
+CONFIGURE_ARGS+=	--without-freetype
+.endif
+
+.if !empty(PKG_OPTIONS:Mghostscript)
+.include "../../print/ghostscript/buildlink3.mk"
+CONFIGURE_ARGS+=	--with-gslib
+.else
+CONFIGURE_ARGS+=	--without-gslib
+.endif
+
+.if !empty(PKG_OPTIONS:Mjpeg)
+.include "../../mk/jpeg.buildlink3.mk"
+CONFIGURE_ARGS+=	--with-jpeg
+.else
+CONFIGURE_ARGS+=	--without-jpeg
+.endif
+
+.if !empty(PKG_OPTIONS:Mlcms)
+.include "../../graphics/lcms2/buildlink3.mk"
+CONFIGURE_ARGS+=	--with-lcms2
+.else
+CONFIGURE_ARGS+=	--without-lcms2
+.endif
+
+.if !empty(PKG_OPTIONS:Mlcms)
+.include "../../archivers/xz/buildlink3.mk"
+CONFIGURE_ARGS+=	--with-lzma
+.else
+CONFIGURE_ARGS+=	--without-lzma
+.endif
+
 .if !empty(PKG_OPTIONS:Mopenexr)
 .include "../../graphics/openexr/buildlink3.mk"
 CONFIGURE_ARGS+=	--with-openexr
@@ -36,9 +98,37 @@
 CONFIGURE_ARGS+=	--without-openexr
 .endif
 
+.if !empty(PKG_OPTIONS:Mpng)
+.include "../../graphics/png/buildlink3.mk"
+CONFIGURE_ARGS+=	--with-png
+.else
+CONFIGURE_ARGS+=	--without-png
+.endif
+
+.if !empty(PKG_OPTIONS:Mtiff)
+.include "../../graphics/tiff/buildlink3.mk"
+CONFIGURE_ARGS+=	--with-tiff
+.else
+CONFIGURE_ARGS+=	--without-tiff
+.endif
+
+.if !empty(PKG_OPTIONS:Mwebp)
+.include "../../graphics/libwebp/buildlink3.mk"
+CONFIGURE_ARGS+=	--with-webp
+.else
+CONFIGURE_ARGS+=	--without-webp
+.endif
+
 .if !empty(PKG_OPTIONS:Mwmf)
 .include "../../graphics/libwmf/buildlink3.mk"
 CONFIGURE_ARGS+=	--with-wmf
 .else
 CONFIGURE_ARGS+=	--without-wmf
 .endif
+
+.if !empty(PKG_OPTIONS:Mxml)
+.include "../../textproc/libxml2/buildlink3.mk"
+CONFIGURE_ARGS+=	--with-libxml2
+.else
+CONFIGURE_ARGS+=	--without-libxml2
+.endif



Home | Main Index | Thread Index | Old Index