ports/math/proofgeneral/files/patch-Makefile
Joe Marcus Clarke 4acc6fb2a4 Presenting GNOME 2.20.1 and all related works for FreeBSD. The official
GNOME 2.20 release notes can be found at
http://www.gnome.org/start/2.20/notes/en/ .  Beyond that, this update
includes the new GIMP 2.4 (courtesy of ahze).

The GNOME 2.20 update also includes a huge change in the FreeBSD GNOME
hierarchy.  We are now using the more standard DATADIR of ${PREFIX}/share
rather than ${PREFIX}/share/gnome. The result is that fewer patches and
hacks are needed to port GNOME components to FreeBSD.  This will mean some
user changes may be required, so be sure to read /usr/ports/UPDATING for
more details.

This release and the things we accomplished in it would not have been
possible without mezz's crazy idea to collapse DATADIR, and his persistence
to make it happen successfully.  Ahze and pav also deserve thanks for
their work on porting modules and testing the whole ball of wax on
pointyhat (respectively).

The FreeBSD GNOME team would also like to thank our various testers and
contributors:

Yasuda Keisuke
Frank Jahnke
Pawel Worach
Brian Gruber
Franz Klammer
Yuri Pankov
Nick Barkas
Cristian KLEIN
Tony Maher
Scot Hetzel
Martin Matuska (mm)
Benoit Dejean
Martin Wilke (miwi)
(And anyone else I may have missed)

PRs fixed in this release:

111272, 113470, 115995, 116338
2007-10-24 23:37:25 +00:00

166 lines
6.8 KiB
Text

--- Makefile.orig Sat Sep 23 05:26:01 2006
+++ Makefile Mon Mar 5 19:53:43 2007
@@ -15,7 +15,7 @@
# Set this to "emacs" or "xemacs" according to your version of Emacs.
# NB: this is also used to set default install path names below.
-EMACS=$(shell if [ -z "`which xemacs`" ]; then echo emacs; else echo xemacs; fi)
+EMACS=${EMACS_NAME}
# We default to /usr rather than /usr/local because installs of
# desktop and doc files under /usr/local are unlikely to work with
@@ -23,8 +23,7 @@
# individually before the install section.
# NB: DEST_PREFIX is used for final destination prefix, in case we're
# packaging into a build prefix rather than live root (e.g. in rpmbuild).
-PREFIX=/usr
-DEST_PREFIX=/usr
+DEST_PREFIX=${PREFIX}
PWD=$(shell pwd)
@@ -78,7 +77,7 @@
## compiles.
##
compile: .byte-compile
- lastemacs=`cat .byte-compile`; if [ "$$lastemacs" != "$(EMACS)" ]; then rm -f .byte-compile; make .byte-compile; fi
+ lastemacs=`cat .byte-compile`; if [ "$$lastemacs" != "$(EMACS_NAME)" ]; then rm -f .byte-compile; $(MAKE) .byte-compile; fi
.byte-compile: $(EL) x-symbol/lisp/*.el
@@ -136,42 +135,37 @@
# Set Elisp directories according to paths used in Red Hat RPMs
# (which may or may not be official Emacs policy). We generate
# a pg-init.el file which loads the appropriate proof-site.el.
-ifeq ($(EMACS),xemacs)
-ELISPP=share/xemacs/site-packages/lisp/ProofGeneral
-ELISP_START=${PREFIX}/share/xemacs/site-packages/lisp/site-start.d
-else
-ELISPP=share/${EMACS}/site-lisp/ProofGeneral
-ELISP_START=${PREFIX}/share/${EMACS}/site-lisp/site-start.d
-endif
+ELISPP=${EMACS_SITE_LISPDIR}/proofgeneral
+ELISP_START=${PREFIX}/${EMACS_SITE_LISPDIR}/site-start.d
ELISP=${PREFIX}/${ELISPP}
DEST_ELISP=${DEST_PREFIX}/${ELISPP}
BINDIR=${PREFIX}/bin
DESKTOP=${PREFIX}/share
-DOCDIR=${PREFIX}/share/doc/ProofGeneral
-MANDIR=${PREFIX}/share/man/man1
-INFODIR=${PREFIX}/share/info
+DOCDIR=${DOCSDIR}
+MANDIR=${PREFIX}/man/man1
+INFODIR=${PREFIX}/info
-install: install-desktop install-elisp install-bin install-init
+install: install-desktop install-elisp install-bin install-init ${INSTALLDOC}
install-desktop:
- mkdir -p ${DESKTOP}/icons/hicolor/16x16
- cp etc/desktop/icons/16x16/proofgeneral.png ${DESKTOP}/icons/hicolor/16x16
- mkdir -p ${DESKTOP}/icons/hicolor/32x32
- cp etc/desktop/icons/32x32/proofgeneral.png ${DESKTOP}/icons/hicolor/32x32
- mkdir -p ${DESKTOP}/icons/hicolor/48x48
- cp etc/desktop/icons/48x48/proofgeneral.png ${DESKTOP}/icons/hicolor/48x48
- mkdir -p ${DESKTOP}/pixmaps
- cp etc/desktop/icons/48x48/proofgeneral.png ${DESKTOP}/pixmaps
- mkdir -p ${DESKTOP}/applications
- cp etc/desktop/proofgeneral.desktop ${DESKTOP}/applications
- mkdir -p ${DESKTOP}/mime-info
- cp etc/desktop/mime-info/proofgeneral.mime ${DESKTOP}/mime-info
- cp etc/desktop/mime-info/proofgeneral.keys ${DESKTOP}/mime-info
+ if [ -d ${DESKTOP}/icons/hicolor ]; then \
+ ${BSD_INSTALL_DATA} etc/desktop/icons/16x16/proofgeneral.png ${DESKTOP}/icons/hicolor/16x16; \
+ ${BSD_INSTALL_DATA} etc/desktop/icons/32x32/proofgeneral.png ${DESKTOP}/icons/hicolor/32x32; \
+ ${BSD_INSTALL_DATA} etc/desktop/icons/48x48/proofgeneral.png ${DESKTOP}/icons/hicolor/48x48; \
+ fi
+
+ if [ -d ${DESKTOP} ]; then \
+ ${BSD_INSTALL_DATA} etc/desktop/icons/48x48/proofgeneral.png ${DESKTOP}/pixmaps; \
+ ${BSD_INSTALL_DATA} etc/desktop/proofgeneral.desktop ${DESKTOP}/applications; \
+ ${BSD_INSTALL_DATA} etc/desktop/mime-info/proofgeneral.mime ${DESKTOP}/mime-info; \
+ ${BSD_INSTALL_DATA} etc/desktop/mime-info/proofgeneral.keys ${DESKTOP}/mime-info; \
+ fi
+
# backwards compatibility with old linuxes
- mkdir -p ${DESKTOP}/application-registry
- cp etc/desktop/application-registry/proofgeneral.applications ${DESKTOP}/application-registry
+ mkdir -p ${DESKTOP}/application-registry
+ cp etc/desktop/application-registry/proofgeneral.applications ${DESKTOP}/application-registry
# NB: .el files are not strictly necessary, but we package/install them
# for the time being to help with debugging, or for users to recompile.
@@ -186,15 +180,23 @@
install-el:
mkdir -p ${ELISP}
for f in ${ELISP_DIRS} ${EXTRA_DIRS}; do mkdir -p ${ELISP}/$$f; done
- for f in ${ELISP_DIRS}; do cp -pf $$f/*.el ${ELISP}/$$f; done
- for f in ${EXTRA_DIRS}; do cp -prf $$f/* ${ELISP}/$$f; done
- for f in ${ELISP_EXTRAS}; do cp -pf $$f ${ELISP}/$$f; done
+ for f in ${ELISP_DIRS}; do ${BSD_INSTALL_DATA} $$f/*.el ${ELISP}/$$f; done
+ for f in ${ELISP_EXTRAS}; do ${BSD_INSTALL_DATA} $$f ${ELISP}/$$f; done
+ for f in ${EXTRA_DIRS}; \
+ do for g in `find -d $$f -type d`; \
+ do mkdir -p ${ELISP}/$$g; \
+ files=`find $$g -depth 1 -type f \\! -perm +u+x`; \
+ if [ "$$files" != "" ]; then ${BSD_INSTALL_DATA} $$files ${ELISP}/$$g; fi; \
+ scripts=`find $$g -depth 1 -type f -perm +u+x`; \
+ if [ "$$scripts" != "" ]; then ${BSD_INSTALL_SCRIPT} $$scripts ${ELISP}/$$g; fi; \
+ done; \
+ done
install-elc: compile
mkdir -p ${ELISP}
for f in ${ELISP_DIRS} ${EXTRA_DIRS}; do mkdir -p ${ELISP}/$$f; done
- for f in ${ELISP_DIRS}; do cp -pf $$f/*.elc ${ELISP}/$$f; done
- for f in ${ELISP_EXTRAS}; do cp -pf $$f ${ELISP}/$$f; done
+ for f in ${ELISP_DIRS}; do ${BSD_INSTALL_DATA} $$f/*.elc ${ELISP}/$$f; done
+ for f in ${ELISP_EXTRAS}; do ${BSD_INSTALL_DATA} $$f ${ELISP}/$$f; done
install-init:
mkdir -p ${ELISP_START}
@@ -204,24 +206,31 @@
install-bin: scripts
mkdir -p ${BINDIR}
- cp -pf ${BIN_SCRIPTS} ${BINDIR}
+ ${BSD_INSTALL_SCRIPT} ${BIN_SCRIPTS} ${BINDIR}
-install-doc: doc.info doc.pdf
+install-doc: doc.info doc.pdf doc.html
mkdir -p ${MANDIR}
- cp -pf doc/proofgeneral.1 ${MANDIR}
- mkdir -p ${INFODIR}
- cp -pf doc/*.info ${INFODIR}
- /sbin/install-info ${INFODIR}/ProofGeneral.info* ${INFODIR}/dir
- /sbin/install-info ${INFODIR}/PG-adapting.info* ${INFODIR}/dir
+ ${BSD_INSTALL_MAN} doc/proofgeneral.1 ${MANDIR}
+ ${BSD_INSTALL_MAN} doc/PG-adapting.info ${INFODIR}
+ ${BSD_INSTALL_MAN} doc/ProofGeneral.info ${INFODIR}
mkdir -p ${DOCDIR}
- for f in ${DOC_FILES}; do cp -pf $$f ${DOCDIR}; done
- for f in ${DOC_EXAMPLES}; do mkdir -p ${DOCDIR}/`dirname $$f`; cp -pf $$f ${DOCDIR}/$$f; done
+ for f in ${DOC_FILES}; do ${BSD_INSTALL_MAN} $$f ${DOCDIR}; done
+ for f in ${DOC_EXAMPLES}; do mkdir -p ${DOCDIR}/`dirname $$f`; \
+ ${BSD_INSTALL_MAN} $$f ${DOCDIR}/$$f; done
+ mkdir -p ${DOCDIR}/ProofGeneral
+ for f in doc/ProofGeneral/*.html; do \
+ ${BSD_INSTALL_MAN} $$f ${DOCDIR}/ProofGeneral/`basename $$f`; done
+ mkdir -p ${DOCDIR}/PG-adapting
+ for f in doc/PG-adapting/*.html; do \
+ ${BSD_INSTALL_MAN} $$f ${DOCDIR}/PG-adapting/`basename $$f`; done
+ for f in ProofGeneral.pdf PG-adapting.pdf; do \
+ ${BSD_INSTALL_MAN} doc/$$f ${DOCDIR}/$$f; done
doc: FORCE
- (cd doc; make $*)
+ (cd doc; $(MAKE) $*)
doc.%: FORCE
- (cd doc; make $*)
+ (cd doc; $(MAKE) $*)
##
## scripts: try to patch bash and perl scripts with correct paths