summaryrefslogtreecommitdiff
path: root/x11/rep-gtk
diff options
context:
space:
mode:
authortv <tv>2004-10-15 21:02:29 +0000
committertv <tv>2004-10-15 21:02:29 +0000
commit13a4d95f9b9682c8f651c684537c53d74c340586 (patch)
tree17f4c5158e5850899f0493d6051703f918c1cf16 /x11/rep-gtk
parent597697cf73406b73a36d644f416f55a8c04250e1 (diff)
downloadpkgsrc-13a4d95f9b9682c8f651c684537c53d74c340586.tar.gz
Apparently, librep is a gross abuser of libtool, and breaks most of
libtool's rules about linking and installing. Worse yet, it encourages users of the library to reuse its libtool abuse. So we have to whack the installed .la files to make them correct as if libtool were *correctly* invoked in the first place.
Diffstat (limited to 'x11/rep-gtk')
-rw-r--r--x11/rep-gtk/Makefile31
-rw-r--r--x11/rep-gtk/PLIST4
-rw-r--r--x11/rep-gtk/files/fix-la15
3 files changed, 39 insertions, 11 deletions
diff --git a/x11/rep-gtk/Makefile b/x11/rep-gtk/Makefile
index bbf7e52866e..64da2d0005c 100644
--- a/x11/rep-gtk/Makefile
+++ b/x11/rep-gtk/Makefile
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.26 2004/10/03 00:18:38 tv Exp $
+# $NetBSD: Makefile,v 1.27 2004/10/15 21:02:29 tv Exp $
DISTNAME= rep-gtk-0.15
-PKGREVISION= 6
+PKGREVISION= 7
CATEGORIES= x11 lang
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=rep-gtk/}
@@ -14,7 +14,6 @@ USE_LIBTOOL= yes
GNU_CONFIGURE= yes
USE_GNU_TOOLS+= make
-PLIST_SRC= ${WRKDIR}/.PLIST_SRC
REPEXECDIR= libexec/rep/${MACHINE_GNU_PLATFORM}
INSTALL_ALIASES= ${PREFIX}/${REPEXECDIR}/install-aliases
@@ -23,13 +22,25 @@ INSTALL_ALIASES= ${PREFIX}/${REPEXECDIR}/install-aliases
.include "../../lang/librep/buildlink3.mk"
.include "../../x11/gnome-libs/buildlink3.mk"
-post-install:
+post-install: fix-libs
${INSTALL_ALIASES} -c ${FILESDIR} ${PREFIX}/${REPEXECDIR}
- ${RM} -f ${PLIST_SRC}
- cd ${PREFIX} && ${FIND} ${REPEXECDIR} \
- -name "gnomelib.*" -print > ${PLIST_SRC}
- cd ${PREFIX} && ${FIND} ${REPEXECDIR}/gui/gnome \
- -name "lib.*" -print >> ${PLIST_SRC}
- ${CAT} ${PKGDIR}/PLIST >> ${PLIST_SRC}
+
+# Apparently, librep is a gross abuser of libtool, and breaks most of
+# libtool's rules about linking and installing. Worse yet, it encourages
+# users of the library to reuse its libtool abuse. So we have to whack the
+# installed .la files to make them correct as if libtool were *correctly*
+# invoked in the first place.
+fix-libs:
+.for lib in gdk-pixbuf.la gnome-canvas-pixbuf.la gnome-canvas.la \
+ gnomelib.la gnomeui.la gtk.la gui/gnome.la \
+ gui/gnome/canvas-pixbuf.la gui/gnome/canvas.la \
+ gui/gnome/libglade.la gui/gnome/lib.la gui/gnome/ui.la \
+ gui/gtk.la gui/gtk/gdk-pixbuf.la gui/gtk/gtk.la \
+ gui/gtk/libglade.la gui/gtk/types.la libglade-gnome.la \
+ libglade.la sgtk-types.la
+ ${SETENV} WRKDIR=${WRKDIR:Q} INSTALL_DATA=${INSTALL_DATA:Q} \
+ ${SH} ${FILESDIR}/fix-la \
+ ${PREFIX}/libexec/rep/${MACHINE_GNU_PLATFORM}/${lib}
+.endfor
.include "../../mk/bsd.pkg.mk"
diff --git a/x11/rep-gtk/PLIST b/x11/rep-gtk/PLIST
index 7284a4ecfe4..c8fdda5f201 100644
--- a/x11/rep-gtk/PLIST
+++ b/x11/rep-gtk/PLIST
@@ -1,12 +1,14 @@
-@comment $NetBSD: PLIST,v 1.2 2004/09/22 08:10:07 jlam Exp $
+@comment $NetBSD: PLIST,v 1.3 2004/10/15 21:02:29 tv Exp $
libexec/rep/${MACHINE_GNU_PLATFORM}/gdk-pixbuf.la
libexec/rep/${MACHINE_GNU_PLATFORM}/gnome-canvas-pixbuf.la
libexec/rep/${MACHINE_GNU_PLATFORM}/gnome-canvas.la
+libexec/rep/${MACHINE_GNU_PLATFORM}/gnomelib.la
libexec/rep/${MACHINE_GNU_PLATFORM}/gnomeui.la
libexec/rep/${MACHINE_GNU_PLATFORM}/gtk.la
libexec/rep/${MACHINE_GNU_PLATFORM}/gui/gnome.la
libexec/rep/${MACHINE_GNU_PLATFORM}/gui/gnome/canvas-pixbuf.la
libexec/rep/${MACHINE_GNU_PLATFORM}/gui/gnome/canvas.la
+libexec/rep/${MACHINE_GNU_PLATFORM}/gui/gnome/lib.la
libexec/rep/${MACHINE_GNU_PLATFORM}/gui/gnome/libglade.la
libexec/rep/${MACHINE_GNU_PLATFORM}/gui/gnome/ui.la
libexec/rep/${MACHINE_GNU_PLATFORM}/gui/gtk.la
diff --git a/x11/rep-gtk/files/fix-la b/x11/rep-gtk/files/fix-la
new file mode 100644
index 00000000000..60905f22c12
--- /dev/null
+++ b/x11/rep-gtk/files/fix-la
@@ -0,0 +1,15 @@
+#!/bin/sh
+# $NetBSD: fix-la,v 1.1 2004/10/15 21:02:30 tv Exp $
+
+libdir=$(dirname $1)
+libfile=$(basename $1)
+libname=${libfile%.la}
+linkedname=$(head -1 $1 | sed 's,^.* \([^ \.]*\)\.la.*$,\1,')
+
+(sed -e '
+ /^library_names=/s:'"$linkedname"'\.:'"$libname"'\.:g
+ /^old_library=/s:'"$linkedname"'\.:'"$libname"'\.:g
+ /^libdir=/s:=.*$:='"'$libdir'"':
+' $1 >$WRKDIR/fix-la.tmp &&
+rm -f $1 &&
+${INSTALL_DATA} -c $WRKDIR/fix-la.tmp $1) || exit 1