From: Peter g. <pg...@co...> - 2009-01-25 00:42:13
|
Wed Jan 21 02:03:21 EST 2009 Peter Gavin <pg...@gm...> * Makefile.am, configure.ac: change install-exec-local to install-exec-hook; update package.conf files after installation (not before) hunk ./Makefile.am 2982 -install-exec-local: +install-exec-hook: hunk ./Makefile.am 2987 - > $(call getVar,$(pkgname),CONFIG).tmp; \ - mv $(call getVar,$(pkgname),CONFIG).tmp $(call getVar,$(pkgname),CONFIG); \ + > $(DESTDIR)/$(pkglibdir)/$(notdir $(call getVar,$(pkgname),CONFIG)).tmp; \ + mv $(DESTDIR)/$(pkglibdir)/$(notdir $(call getVar,$(pkgname),CONFIG)){.tmp,} ; \ hunk ./Makefile.am 2991 - > $(patsubst %.package.conf,%.cabal,$(call getVar,$(pkgname),CONFIG)).tmp; \ - mv $(patsubst %.package.conf,%.cabal,$(call getVar,$(pkgname),CONFIG)).tmp \ - $(patsubst %.package.conf,%.cabal,$(call getVar,$(pkgname),CONFIG));) + > $(DESTDIR)/$(pkglibdir)/$(notdir $(patsubst %.package.conf,%.cabal,$(call getVar,$(pkgname),CONFIG))).tmp; \ + mv $(DESTDIR)/$(pkglibdir)/$(notdir $(patsubst %.package.conf,%.cabal,$(call getVar,$(pkgname),CONFIG))){.tmp,};) hunk ./Makefile.am 3006 -install-exec-local: +install-exec-hook: hunk ./Makefile.am 3008 - $(SED) -e 's|$(GTK_BASEPATH)|$${GTK_BASEPATH}|g' \ - -e 's|$${modules}|$(call getModules,$(pkgname))|' \ - $(call getVar,$(pkgname),CONFIG) \ - > $(call getVar,$(pkgname),CONFIG).tmp; \ - mv $(call getVar,$(pkgname),CONFIG).tmp $(call getVar,$(pkgname),CONFIG);) + $(SHELL) mk/fix-package-conf.sh \ + $(DESTDIR)/$(pkglibdir)/$(notdir $(call getVar,$(pkgname),CONFIG)) \ + "$(call getModules,$(pkgname))" && \ + ) true + hunk ./configure.ac 908 + mk/fix-package-conf.sh addfile ./mk/fix-package-conf.sh.in hunk ./mk/fix-package-conf.sh.in 1 +#!/bin/sh + +FILE="$1" +MODULES="$2" +TMPFILE="${FILE}.tmp" + +if [ "$#" != 2 ] ; then + echo "usage: $0 foo.package.conf \"Module1 Module2 ...\"" 1>&2 + exit 1 +fi + +if [ ! -f "$FILE" ] ; then + echo "$FILE does not exist" + exit 1 +fi + +WIN32_INSTALLER= +@WIN32_INSTALLER_TRUE@ WIN32_INSTALLER=yes + +if [ -z "$WIN32_INSTALLER" ] ; then + [_$_] + @SED@ \ + -e 's|\${pkglibdir}|@libdir@/@PACKAGE@|g' + -e "s|\${modules}|${MODULES}|" \ + < "${FILE}" > "${TMPFILE}" || exit 1 + [_$_] +else # WIN32_INSTALLER + + @SED@ \ + -e 's|@GTK_BASEPATH@|${GTK_BASEPATH}|g' \ + -e "s|\${modules}|${MODULES}|" \ + < "${FILE}" > "${TMPFILE}" || exit 1 + + DLLS="" + + ORIG_SHORTNAMES="$( cat "$FILE" | \ + @GREP@ '^[ ]*extra-libraries[ ]*:' | \ + @SED@ -e 's/^[ ]*extra-libraries[ ]*:[ ]*//' -e 's/[ ]*,[ ]*/ /g' -e 's,\",,g' )" + + echo "processing $FILE" 1>&2 + for lib in $ORIG_SHORTNAMES ; do + echo "processing library $lib" 1>&2 + [_$_] + case $lib in + glu32|opengl32|user32|kernel32|gdi32) + DLLS="$DLLS $lib" + ;; + *) + foundfile= + IFS=: + for dir in $PATH ; do + unset IFS + for base in {,lib}${lib} {,lib}${lib}-{0,1,2,3,4,5,6,7,8,9} ; do + testfile="$dir/$base.dll" + #echo "testing $testfile" 1>&2 + if [ -f "$testfile" ] ; then + if [ -n "$foundfile" ] ; then + echo duplicate found for "$lib": "$testfile" 1>&2 + exit 1 + else + foundfile="$testfile" + echo "found $foundfile" 1>&2 + if [ -n "$DLLS" ]; then + DLLS="$DLLS, \"$base\"" + else + DLLS="\"$base\"" + fi + fi + fi + done + done + if [ -z "$foundfile" ] + then + echo "file for $lib not found" 1>&2 + exit 1 + fi + ;; + esac + done + [_$_] + echo "extra-ghci-libraries: ${DLLS}" >> "$TMPFILE" +fi + +mv -f "$TMPFILE" "$FILE" || exit 1 |