pkgsrc-Changes-HG archive

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

[pkgsrc/trunk]: pkgsrc/graphics/babl Correctly fix the build breakage on Darwin.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/20d4e844c756
branches:  trunk
changeset: 411987:20d4e844c756
user:      brook <brook%pkgsrc.org@localhost>
date:      Tue Feb 25 04:13:46 2020 +0000

description:
Correctly fix the build breakage on Darwin.

The previous patch removed use of --version-script on Darwin and converted
the shared library extensions to the Darwin standard of .dylib.  The former
is necessary, but the latter was not quite correct.  A distinction must be
made between shared libraries provided by the package for linking of
applications and shared libraries provided by the package for dynamic loading
by Gnome applications.  Gnome applications expect that plugins will use the
.so extension on all Unix platforms, including Darwin.  Thus, a subset of the
shared libraries must be renamed, both on the filesystem and internally.
This is partly mentioned in PR #54824, although that is for graphics/gegl
not tnis package.

diffstat:

 graphics/babl/Makefile |  19 +++++++++++++++-
 graphics/babl/PLIST    |  58 +++++++++++++++++++++++++-------------------------
 2 files changed, 47 insertions(+), 30 deletions(-)

diffs (103 lines):

diff -r 4486243a28d6 -r 20d4e844c756 graphics/babl/Makefile
--- a/graphics/babl/Makefile    Tue Feb 25 01:32:30 2020 +0000
+++ b/graphics/babl/Makefile    Tue Feb 25 04:13:46 2020 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.30 2020/02/24 17:37:27 brook Exp $
+# $NetBSD: Makefile,v 1.31 2020/02/25 04:13:46 brook Exp $
 
 DISTNAME=      babl-0.1.72
 CATEGORIES=    graphics
@@ -37,6 +37,23 @@
 BUILDLINK_TRANSFORM.SunOS+=    rm:-Wl,--version-script
 BUILDLINK_TRANSFORM.SunOS+=    rm:-Wl,babl.map
 
+# .include "../../mk/bsd.prefs.mk"
+
+.if ${OPSYS} == "Darwin"
+#
+# Meson uses .dylib for Darwin shared libraries, but G_MODULE_SUFFIX
+# is always .so on Unix, including Darwin.  This is under discussion
+# at https://gitlab.gnome.org/GNOME/glib/issues/1413 but for now
+# rename the plugins and reset their internal ID to match the new
+# name.
+#
+post-install:
+       cd ${DESTDIR}/${PREFIX}/lib/babl-0.1 && for i in *.dylib; do \
+               install_name_tool -id ${PREFIX}/lib/babl-0.1/$${i%.dylib}.so $${i}; \
+               mv "$${i}" "$${i%.dylib}.so" \
+       ; done
+.endif
+
 .include "../../devel/meson/build.mk"
 .include "../../devel/glib2/buildlink3.mk"
 .include "../../graphics/lcms2/buildlink3.mk"
diff -r 4486243a28d6 -r 20d4e844c756 graphics/babl/PLIST
--- a/graphics/babl/PLIST       Tue Feb 25 01:32:30 2020 +0000
+++ b/graphics/babl/PLIST       Tue Feb 25 04:13:46 2020 +0000
@@ -1,37 +1,37 @@
-@comment $NetBSD: PLIST,v 1.11 2020/02/24 17:37:27 brook Exp $
+@comment $NetBSD: PLIST,v 1.12 2020/02/25 04:13:46 brook Exp $
 include/babl-0.1/babl/babl-introspect.h
 include/babl-0.1/babl/babl-macros.h
 include/babl-0.1/babl/babl-types.h
 include/babl-0.1/babl/babl-version.h
 include/babl-0.1/babl/babl.h
-lib/babl-0.1/CIE.${SOEXT}
-lib/babl-0.1/HCY.${SOEXT}
-lib/babl-0.1/HSL.${SOEXT}
-lib/babl-0.1/HSV.${SOEXT}
-lib/babl-0.1/avx2-int8.${SOEXT}
-lib/babl-0.1/cairo.${SOEXT}
-lib/babl-0.1/double.${SOEXT}
-lib/babl-0.1/fast-float.${SOEXT}
-lib/babl-0.1/float.${SOEXT}
-lib/babl-0.1/gegl-fixups.${SOEXT}
-lib/babl-0.1/gggl-lies.${SOEXT}
-lib/babl-0.1/gggl-table-lies.${SOEXT}
-lib/babl-0.1/gggl-table.${SOEXT}
-lib/babl-0.1/gggl.${SOEXT}
-lib/babl-0.1/gimp-8bit.${SOEXT}
-lib/babl-0.1/grey.${SOEXT}
-lib/babl-0.1/half.${SOEXT}
-lib/babl-0.1/naive-CMYK.${SOEXT}
-lib/babl-0.1/simple.${SOEXT}
-lib/babl-0.1/sse-half.${SOEXT}
-lib/babl-0.1/sse2-float.${SOEXT}
-lib/babl-0.1/sse2-int16.${SOEXT}
-lib/babl-0.1/sse2-int8.${SOEXT}
-lib/babl-0.1/sse4-int8.${SOEXT}
-lib/babl-0.1/two-table.${SOEXT}
-lib/babl-0.1/u16.${SOEXT}
-lib/babl-0.1/u32.${SOEXT}
-lib/babl-0.1/ycbcr.${SOEXT}
+lib/babl-0.1/CIE.so
+lib/babl-0.1/HCY.so
+lib/babl-0.1/HSL.so
+lib/babl-0.1/HSV.so
+lib/babl-0.1/avx2-int8.so
+lib/babl-0.1/cairo.so
+lib/babl-0.1/double.so
+lib/babl-0.1/fast-float.so
+lib/babl-0.1/float.so
+lib/babl-0.1/gegl-fixups.so
+lib/babl-0.1/gggl-lies.so
+lib/babl-0.1/gggl-table-lies.so
+lib/babl-0.1/gggl-table.so
+lib/babl-0.1/gggl.so
+lib/babl-0.1/gimp-8bit.so
+lib/babl-0.1/grey.so
+lib/babl-0.1/half.so
+lib/babl-0.1/naive-CMYK.so
+lib/babl-0.1/simple.so
+lib/babl-0.1/sse-half.so
+lib/babl-0.1/sse2-float.so
+lib/babl-0.1/sse2-int16.so
+lib/babl-0.1/sse2-int8.so
+lib/babl-0.1/sse4-int8.so
+lib/babl-0.1/two-table.so
+lib/babl-0.1/u16.so
+lib/babl-0.1/u32.so
+lib/babl-0.1/ycbcr.so
 lib/libbabl-0.1.${SOEXT}
 ${PLIST.Darwin}lib/libbabl-0.1.0.${SOEXT}
 ${PLIST.not_Darwin}lib/libbabl-0.1.${SOEXT}.0



Home | Main Index | Thread Index | Old Index