From 80637bc2b4dcec796708152480210028b56a34cc Mon Sep 17 00:00:00 2001 From: dholland Date: Thu, 4 Feb 2010 06:40:19 +0000 Subject: destdir support, plus fix some pre-existing funnies with install permissions --- editors/emacs20/Makefile | 6 +- editors/emacs20/distinfo | 7 +- editors/emacs20/patches/patch-ae | 152 +++++++++++++++++++++++++++++++++++---- editors/emacs20/patches/patch-ak | 49 +++++++++++-- editors/emacs20/patches/patch-ao | 21 ++++++ 5 files changed, 211 insertions(+), 24 deletions(-) create mode 100644 editors/emacs20/patches/patch-ao (limited to 'editors') diff --git a/editors/emacs20/Makefile b/editors/emacs20/Makefile index 617fd212d54..9ef088c0e2d 100644 --- a/editors/emacs20/Makefile +++ b/editors/emacs20/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.38 2010/01/20 03:21:21 roy Exp $ +# $NetBSD: Makefile,v 1.39 2010/02/04 06:40:19 dholland Exp $ DISTNAME= emacs-20.7 PKGREVISION= 13 @@ -23,6 +23,8 @@ MAINTAINER= pkgsrc-users@NetBSD.org HOMEPAGE= http://www.gnu.org/software/emacs/emacs.html COMMENT= GNU editing macros (editor) +PKG_DESTDIR_SUPPORT= user-destdir + NOT_FOR_PLATFORM= Darwin-*-* CONFLICTS= mule-[0-9]* @@ -76,6 +78,6 @@ pre-install: @${FIND} ${WRKSRC} -type f -name "*.orig*" -print | ${XARGS} ${RM} -f post-install: - ${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${PREFIX}/share/emacs + ${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${DESTDIR}${PREFIX}/share/emacs .include "../../mk/bsd.pkg.mk" diff --git a/editors/emacs20/distinfo b/editors/emacs20/distinfo index b559ddd7596..e887afe4007 100644 --- a/editors/emacs20/distinfo +++ b/editors/emacs20/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.14 2010/01/20 03:21:21 roy Exp $ +$NetBSD: distinfo,v 1.15 2010/02/04 06:40:19 dholland Exp $ SHA1 (emacs-20.7-mule-4.1b-elc.tar.gz) = 3894fb2b81bb326545f6ccc3bf0a8405c23004ff RMD160 (emacs-20.7-mule-4.1b-elc.tar.gz) = c675b31dafaa4321a453af9d87eddf051ee71b1f @@ -16,16 +16,17 @@ SHA1 (patch-aa) = 3b3fd76c058a0a46e0458338ce4c2327a238fb3d SHA1 (patch-ab) = 3d9497d4894cd126ca49636d9adfdd14cc31b017 SHA1 (patch-ac) = abf5971279a8d875504be4c17b8d36cb8cc24885 SHA1 (patch-ad) = dd21028a6360ccfb442ecced4c67717f60ea78a6 -SHA1 (patch-ae) = 7aaca5409a71f8a292ac57f828ee5ec7a07e3880 +SHA1 (patch-ae) = 26b8b56822d343d33330f426d83951b8fec074fa SHA1 (patch-af) = e7e65a2df5d55bf5bfa9dd8155b906882f620cca SHA1 (patch-ag) = 14469c8907ea09395031594e7e0d0fe967b915d9 SHA1 (patch-ah) = 451954e31fd60e7f85d22eb02a2949818d5e5e4e SHA1 (patch-ai) = 36a90bc66633618569c32fd38552ead1fc8958ac SHA1 (patch-aj) = 6da7cd5925eafbfdcca14d29ae5d851e8099f256 -SHA1 (patch-ak) = 604f80fbf7d24ec7b732c7ac3cc99a07fb4a2eb6 +SHA1 (patch-ak) = 24da025fe031da0e8f2eace8c2dd10acf7f7c82c SHA1 (patch-al) = 0459e7a206bbb5f0e591111d2ed3cde97038a2ec SHA1 (patch-am) = 12667ef175d1108aa3d207d92eba0f20de9d6ae3 SHA1 (patch-an) = 59cffa7847fe84bc29a44d3b0e4c2eb09719126f +SHA1 (patch-ao) = bd9808c0b8026508699ebb55db8bc766bd54e193 SHA1 (patch-ap) = f0453313569cd000af36230bc193ab777db80974 SHA1 (patch-aq) = 17897dc84bc40f6e5229b6c833f87066d9e065ed SHA1 (patch-ar) = 0c04e0dd0e0e91099404ba47a01c1a556884773a diff --git a/editors/emacs20/patches/patch-ae b/editors/emacs20/patches/patch-ae index d80065ad89d..6614f360f15 100644 --- a/editors/emacs20/patches/patch-ae +++ b/editors/emacs20/patches/patch-ae @@ -1,9 +1,123 @@ -$NetBSD: patch-ae,v 1.1.1.1 2003/04/11 00:31:45 uebayasi Exp $ +$NetBSD: patch-ae,v 1.2 2010/02/04 06:40:19 dholland Exp $ ---- Makefile.in.orig Sat Apr 10 04:16:24 1999 -+++ Makefile.in Sat Aug 7 15:24:03 1999 -@@ -386,27 +386,23 @@ - chmod a+r ${infodir}/dir); \ +--- Makefile.in.orig 1999-04-09 19:16:24.000000000 +0000 ++++ Makefile.in +@@ -295,12 +295,12 @@ install-arch-dep: mkdir + exec_prefix=${exec_prefix} bindir=${bindir} \ + libexecdir=${libexecdir} archlibdir=${archlibdir} \ + INSTALL_STRIP=${INSTALL_STRIP}) +- ${INSTALL_PROGRAM} $(INSTALL_STRIP) src/emacs ${bindir}/emacs-${version} +- -chmod 1755 ${bindir}/emacs-${version} +- rm -f ${bindir}/$(EMACS) +- -ln ${bindir}/emacs-${version} ${bindir}/$(EMACS) ++ ${INSTALL_PROGRAM} $(INSTALL_STRIP) src/emacs ${DESTDIR}${bindir}/emacs-${version} ++ -chmod 1755 ${DESTDIR}${bindir}/emacs-${version} ++ rm -f ${DESTDIR}${bindir}/$(EMACS) ++ -ln ${DESTDIR}${bindir}/emacs-${version} ${DESTDIR}${bindir}/$(EMACS) + for f in `cd lib-src && echo fns-*.el`; do \ +- ${INSTALL_DATA} lib-src/$$f ${archlibdir}/$$f; \ ++ ${INSTALL_DATA} lib-src/$$f ${DESTDIR}${archlibdir}/$$f; \ + done + + ### Install the files that are machine-independent. +@@ -313,22 +313,24 @@ install-arch-dep: mkdir + install-arch-indep: mkdir + -set ${COPYDESTS} ; \ + for dir in ${COPYDIR} ; do \ +- if [ `(cd $$1 && /bin/pwd)` != `(cd $${dir} && /bin/pwd)` ] ; then \ +- rm -rf $$1 ; \ ++ if [ `(cd ${DESTDIR}$$1 && /bin/pwd)` != `(cd $${dir} && /bin/pwd)` ] ; then \ ++ rm -rf ${DESTDIR}$$1 ; \ + fi ; \ + shift ; \ + done + -set ${COPYDESTS} ; \ +- mkdir ${COPYDESTS} ; \ +- chmod ugo+rx ${COPYDESTS} ; \ ++ for dir in ${COPYDESTS} ; do \ ++ mkdir ${DESTDIR}$${dir} ; \ ++ chmod ugo+rx ${DESTDIR}$${dir} ; \ ++ done; \ + for dir in ${COPYDIR} ; do \ + dest=$$1 ; shift ; \ + [ -d $${dir} ] \ +- && [ `(cd $${dir} && /bin/pwd)` != `(cd $${dest} && /bin/pwd)` ] \ +- && (echo "Copying $${dir} to $${dest}..." ; \ ++ && [ `(cd $${dir} && /bin/pwd)` != `(cd ${DESTDIR}$${dest} && /bin/pwd)` ] \ ++ && (echo "Copying $${dir} to ${DESTDIR}$${dest}..." ; \ + (cd $${dir}; tar -cf - . ) \ +- |(cd $${dest};umask 022; tar -xvf - && cat > /dev/null); \ +- for subdir in `find $${dest} -type d ! -name RCS -print` ; do \ ++ |(cd ${DESTDIR}$${dest};umask 022; tar -xvf - && cat > /dev/null); \ ++ for subdir in `find ${DESTDIR}$${dest} -type d ! -name RCS -print` ; do \ + chmod a+rx $${subdir} ; \ + rm -rf $${subdir}/RCS ; \ + rm -rf $${subdir}/CVS ; \ +@@ -341,72 +343,69 @@ install-arch-indep: mkdir + rm -f $${subdir}/dired.todo ; \ + done) ; \ + done +- -rm -f ${lispdir}/subdirs.el +- $(srcdir)/update-subdirs ${lispdir} +- if [ -f ${datadir}/emacs/${version}/site-lisp/subdirs.el ]; \ ++ -rm -f ${DESTDIR}${lispdir}/subdirs.el ++ $(srcdir)/update-subdirs ${DESTDIR}${lispdir} ++ if [ -f ${DESTDIR}${datadir}/emacs/${version}/site-lisp/subdirs.el ]; \ + then true; \ + else \ + (echo "(if (fboundp 'normal-top-level-add-subdirs-to-load-path)"; \ + echo " (normal-top-level-add-subdirs-to-load-path))") \ +- > ${datadir}/emacs/${version}/site-lisp/subdirs.el; \ ++ > ${DESTDIR}${datadir}/emacs/${version}/site-lisp/subdirs.el; \ + fi +- chmod a+r ${datadir}/emacs/${version}/site-lisp/subdirs.el +- -if [ -f ${datadir}/emacs/site-lisp/subdirs.el ]; \ ++ chmod a+r ${DESTDIR}${datadir}/emacs/${version}/site-lisp/subdirs.el ++ -if [ -f ${DESTDIR}${datadir}/emacs/site-lisp/subdirs.el ]; \ + then true; \ + else \ + (echo "(if (fboundp 'normal-top-level-add-subdirs-to-load-path)"; \ + echo " (normal-top-level-add-subdirs-to-load-path))") \ +- > ${datadir}/emacs/site-lisp/subdirs.el; \ ++ > ${DESTDIR}${datadir}/emacs/site-lisp/subdirs.el; \ + fi +- -chmod a+r ${datadir}/emacs/site-lisp/subdirs.el +- if [ `(cd ./etc; /bin/pwd)` != `(cd ${docdir}; /bin/pwd)` ]; \ ++ -chmod a+r ${DESTDIR}${datadir}/emacs/site-lisp/subdirs.el ++ if [ `(cd ./etc; /bin/pwd)` != `(cd ${DESTDIR}${docdir}; /bin/pwd)` ]; \ + then \ +- echo "Copying etc/DOC-* to ${docdir} ..." ; \ ++ echo "Copying etc/DOC-* to ${DESTDIR}${docdir} ..." ; \ + (cd ./etc; tar -cf - DOC*) \ +- |(cd ${docdir}; umask 0; tar -xvf - && cat > /dev/null); \ +- (cd $(docdir); chmod a+r DOC*; rm DOC); \ ++ |(cd ${DESTDIR}${docdir}; umask 0; tar -xvf - && cat > /dev/null); \ ++ (cd ${DESTDIR}$(docdir); chmod a+r DOC*; rm DOC); \ + else true; fi + if [ -r ./lisp ] \ + && [ -r ./lisp/simple.el ] \ +- && [ x`(cd ./lisp; /bin/pwd)` != x`(cd ${lispdir}; /bin/pwd)` ] \ ++ && [ x`(cd ./lisp; /bin/pwd)` != x`(cd ${DESTDIR}${lispdir}; /bin/pwd)` ] \ + && [ x`(cd ${srcdir}/lisp; /bin/pwd)` != x`(cd ./lisp; /bin/pwd)` ]; \ + then \ +- echo "Copying lisp/*.el and lisp/*.elc to ${lispdir} ..." ; \ ++ echo "Copying lisp/*.el and lisp/*.elc to ${DESTDIR}${lispdir} ..." ; \ + (cd lisp; tar -cf - *.el *.elc) \ +- |(cd ${lispdir}; umask 0; tar -xvf - && cat > /dev/null); \ ++ |(cd ${DESTDIR}${lispdir}; umask 0; tar -xvf - && cat > /dev/null); \ + else true; fi + thisdir=`/bin/pwd`; \ +- if [ `(cd ${srcdir}/info && /bin/pwd)` != `(cd ${infodir} && /bin/pwd)` ]; \ ++ if [ `(cd ${srcdir}/info && /bin/pwd)` != `(cd ${DESTDIR}${infodir} && /bin/pwd)` ]; \ + then \ + (cd ${infodir}; \ + if [ -f dir ]; then true; \ + else \ + (cd $${thisdir}; \ +- ${INSTALL_DATA} ${srcdir}/info/dir ${infodir}/dir; \ +- chmod a+r ${infodir}/dir); \ ++ ${INSTALL_DATA} ${srcdir}/info/dir ${DESTDIR}${infodir}/dir; \ ++ chmod a+r ${DESTDIR}${infodir}/dir); \ fi; \ cd ${srcdir}/info ; \ - for f in ccmode* cl* dired-x* ediff* emacs* forms* gnus* info* message* mh-e* reftex* sc* vip* widget*; do \ @@ -11,7 +125,7 @@ $NetBSD: patch-ae,v 1.1.1.1 2003/04/11 00:31:45 uebayasi Exp $ (cd $${thisdir}; \ - ${INSTALL_DATA} ${srcdir}/info/$$f ${infodir}/$$f; \ - chmod a+r ${infodir}/$$f); \ -+ ${INSTALL_DATA} ${srcdir}/info/$$f ${infodir}/$$f); \ ++ ${INSTALL_DATA} ${srcdir}/info/$$f ${DESTDIR}${infodir}/$$f); \ done); \ else true; fi - -thisdir=`/bin/pwd`; \ @@ -22,7 +136,9 @@ $NetBSD: patch-ae,v 1.1.1.1 2003/04/11 00:31:45 uebayasi Exp $ - ${INSTALL_INFO} --dir-file=${infodir}/dir --info-file=${infodir}/$$f); \ - done; \ - else true; fi - -chmod -R a+r ${datadir}/emacs ${COPYDESTS} ${infodir} +- -chmod -R a+r ${datadir}/emacs ${COPYDESTS} ${infodir} ++ -chmod -R a+rX ${DESTDIR}${datadir}/emacs ${DESTDIR}${infodir} ++ -for dir in ${COPYDESTS}; do chmod -R a+rX ${DESTDIR}$$dir; done thisdir=`/bin/pwd`; \ cd ${srcdir}/etc; \ for page in emacs etags ctags ; do \ @@ -30,16 +146,28 @@ $NetBSD: patch-ae,v 1.1.1.1 2003/04/11 00:31:45 uebayasi Exp $ - ${INSTALL_DATA} ${srcdir}/etc/$${page}.1 ${man1dir}/$${page}${manext}; \ - chmod a+r ${man1dir}/$${page}${manext}); \ + if [ $${page} = emacs ]; then \ -+ ${INSTALL_DATA} ${srcdir}/etc/$${page}.1 ${man1dir}/$${page}${manext}; \ -+ chmod a+r ${man1dir}/$${page}${manext}; \ ++ ${INSTALL_DATA} ${srcdir}/etc/$${page}.1 ${DESTDIR}${man1dir}/$${page}${manext}; \ ++ chmod a+r ${DESTDIR}${man1dir}/$${page}${manext}; \ + else \ -+ ${INSTALL_DATA} ${srcdir}/etc/$${page}.1 ${man1dir}/emacs-$${page}${manext}; \ -+ chmod a+r ${man1dir}/emacs-$${page}${manext}; \ ++ ${INSTALL_DATA} ${srcdir}/etc/$${page}.1 ${DESTDIR}${man1dir}/emacs-$${page}${manext}; \ ++ chmod a+r ${DESTDIR}${man1dir}/emacs-$${page}${manext}; \ + fi) \ done ### Install LEIM files. Although they are machine-independent, we -@@ -458,7 +454,7 @@ +@@ -425,9 +424,9 @@ install-strip: + ### /usr/local/lib/emacs/19.0/mips-dec-ultrix4.2), we use mkinstalldirs + ### instead of mkdir. Not all systems' mkdir programs have the `-p' flag. + mkdir: FRC +- if [ -d ${datadir} ]; then true; else \ ++ if [ -d ${DESTDIR}${datadir} ]; then true; else \ + $(srcdir)/mkinstalldirs ${datadir}; \ +- chmod a+r ${datadir};\ ++ chmod a+rX ${DESTDIR}${datadir};\ + fi + $(srcdir)/mkinstalldirs ${COPYDESTS} ${infodir} ${man1dir} \ + ${bindir} ${docdir} ${libexecdir} \ +@@ -458,7 +457,7 @@ uninstall: esac ; \ fi ; \ done diff --git a/editors/emacs20/patches/patch-ak b/editors/emacs20/patches/patch-ak index b9d8cab7b7e..640182cfde9 100644 --- a/editors/emacs20/patches/patch-ak +++ b/editors/emacs20/patches/patch-ak @@ -1,23 +1,58 @@ -$NetBSD: patch-ak,v 1.1.1.1 2003/04/11 00:31:45 uebayasi Exp $ +$NetBSD: patch-ak,v 1.2 2010/02/04 06:40:19 dholland Exp $ ---- lib-src/Makefile.in.orig Sun Aug 2 02:22:55 1998 -+++ lib-src/Makefile.in Fri Sep 4 01:40:32 1998 -@@ -286,12 +286,14 @@ +--- lib-src/Makefile.in.orig 1999-11-13 22:41:47.000000000 +0000 ++++ lib-src/Makefile.in +@@ -254,7 +254,7 @@ blessmail: + maybe-blessmail: BLESSMAIL + #ifdef MOVEMAIL_NEEDS_BLESSING + /* Don't charge ahead and do it! Let the installer decide. +- ./blessmail ${archlibdir}/movemail */ ++ ./blessmail ${DESTDIR}${archlibdir}/movemail */ + @if [ `wc -l &2 ++ if test ! -d "${DESTDIR}$pathcomp"; then ++ echo "mkdir ${DESTDIR}$pathcomp" 1>&2 + +- mkdir "$pathcomp" || lasterr=$? ++ mkdir "${DESTDIR}$pathcomp" || lasterr=$? + +- if test ! -d "$pathcomp"; then ++ if test ! -d "${DESTDIR}$pathcomp"; then + errstatus=$lasterr + fi + fi -- cgit v1.2.3