summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSatoshi Asami <asami@FreeBSD.org>2000-01-21 11:08:23 +0000
committerSatoshi Asami <asami@FreeBSD.org>2000-01-21 11:08:23 +0000
commitf682f47599b52b74aa0cfda8635dc8ec25c30bca (patch)
tree3c280543ba0b57d8098cd5fcbcd9a8eadafa4b8f
parentUse YACC rather than bison. (diff)
(1) Add new USE_BISON directive, which will expand to BUILD_DEPENDS on
4-current post bison-removal and to a no-op otherwise. Note this should only be used when the software in question uses a feature in bison that is not in byacc -- otherwise it should be patched to use byacc (or detect the absense of bison correctly). [bsd.port.mk] (2) Do not assume all category names are lowercase. In particular, remove package links by removing them one by one, instead of doing a "rm [a-z]*/${PKGNAME}.tgz". [bsd.port.mk] (3) Do not assume the category name doesn't include a path separator (/). Make links accordingly. [bsd.port.mk,README.category,README.port] (4) Do not assume all category makefiles are directly under ${PORTSDIR}. [bsd.port.mk,README.category] (5) Add new "package-name" target which prints out the directory name to be used in the parent README.html. [bsd.port.subdir.mk] (2) through (5) are in preparation for going to multi-level categories. They shouldn't make any difference yet, but are committed first so people can start testing.
Notes
Notes: svn path=/head/; revision=24870
Diffstat (limited to '')
-rw-r--r--Mk/bsd.port.mk20
-rw-r--r--Mk/bsd.port.subdir.mk3
-rw-r--r--Templates/README.category2
-rw-r--r--Templates/README.port4
4 files changed, 21 insertions, 8 deletions
diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk
index 1a4b590b3269..03d377a9ef11 100644
--- a/Mk/bsd.port.mk
+++ b/Mk/bsd.port.mk
@@ -138,6 +138,7 @@ FreeBSD_MAINTAINER= asami@FreeBSD.org
# PERL_VER - Short version of perl5 (see below for current value).
# PERL_ARCH - Directory name of architecture dependent libraries
# (value: ${ARCH}-freebsd).
+# USE_BISON - Says that the port uses bison for building.
# USE_IMAKE - Says that the port uses imake. Implies USE_X_PREFIX.
# XMKMF - Set to path of `xmkmf' if not in $PATH (default: xmkmf -a ).
# NO_INSTALL_MANPAGES - For imake ports that don't like the install.man
@@ -661,6 +662,12 @@ BUILD_DEPENDS+= ${X11BASE}/lib/libXm.a:${PORTSDIR}/x11-toolkits/Motif-dummy
PKG_IGNORE_DEPENDS?= '(XFree86-3\.3\.6|Motif-2\.1\.10)'
+.if defined(USE_BISON)
+.if ${OSVERSION} >= 400014
+BUILD_DEPENDS+= bison:${PORTSDIR}/devel/bison
+.endif
+.endif
+
.if ${OSVERSION} >= 300000
PERL_VERSION= 5.00503
.else
@@ -1116,8 +1123,6 @@ check-categories:
.endfor
.endif
-# Note this has to start with a capital letter (or more accurately, it
-# shouldn't match "[a-z]*"), see the target "delete-package-links" below.
PKGREPOSITORYSUBDIR?= All
PKGREPOSITORY?= ${PACKAGES}/${PKGREPOSITORYSUBDIR}
.if exists(${PACKAGES})
@@ -1715,7 +1720,7 @@ package-links:
exit 1; \
fi; \
fi; \
- ${LN} -s ../${PKGREPOSITORYSUBDIR}/${PKGNAME}${PKG_SUFX} ${PACKAGES}/$$cat; \
+ ${LN} -sf `${ECHO} $$cat | ${SED} -e 'sa[^/]*a..ag'`/${PKGREPOSITORYSUBDIR}/${PKGNAME}${PKG_SUFX} ${PACKAGES}/$$cat; \
done
.if !defined(NO_LATEST_LINK)
@if [ ! -d ${PKGLATESTREPOSITORY} ]; then \
@@ -1730,7 +1735,9 @@ package-links:
.if !target(delete-package-links)
delete-package-links:
- @${RM} -f ${PACKAGES}/[a-z]*/${PKGNAME}${PKG_SUFX}
+ @for cat in ${CATEGORIES}; do \
+ ${RM} -f ${PACKAGES}/$$cat/${PKGNAME}${PKG_SUFX}; \
+ done
.if !defined(NO_LATEST_LINK)
@${RM} -f ${PKGLATESTFILE}
.endif
@@ -1744,7 +1751,9 @@ delete-package:
.if !target(delete-package-links-list)
delete-package-links-list:
- @${ECHO} ${RM} -f ${PACKAGES}/[a-z]*/${PKGNAME}${PKG_SUFX}
+ @for cat in ${CATEGORIES}; do \
+ ${ECHO} ${RM} -f ${PACKAGES}/$$cat/${PKGNAME}${PKG_SUFX}; \
+ done
.if !defined(NO_LATEST_LINK)
@${ECHO} ${RM} -f ${PKGLATESTFILE}
.endif
@@ -2540,6 +2549,7 @@ README.html:
-e '/%%COMMENT%%/d' \
-e 's%%BUILD_DEPENDS%%'"`${MAKE} ${__softMAKEFLAGS} pretty-print-build-depends-list`"'' \
-e 's%%RUN_DEPENDS%%'"`${MAKE} ${__softMAKEFLAGS} pretty-print-run-depends-list`"'' \
+ -e 's%%TOP%%'"`${ECHO} ${CATEGORIES} | ${SED} -e 'sa .*aa' -e 'sa[^/]*a..ag'`"'/..' \
>> $@
# The following two targets require an up-to-date INDEX in ${PORTSDIR}
diff --git a/Mk/bsd.port.subdir.mk b/Mk/bsd.port.subdir.mk
index 3169eb72be48..a84a02060d8a 100644
--- a/Mk/bsd.port.subdir.mk
+++ b/Mk/bsd.port.subdir.mk
@@ -194,6 +194,9 @@ README= ${TEMPLATES}/README.category
HTMLIFY= sed -e 's/&/\&amp;/g' -e 's/>/\&gt;/g' -e 's/</\&lt;/g'
+package-name:
+ @echo ${.CURDIR} | sed -e 's^.*/^^'
+
README.html:
@echo "===> Creating README.html"
@> $@.tmp
diff --git a/Templates/README.category b/Templates/README.category
index feca3fd648d1..1202f0f78bbd 100644
--- a/Templates/README.category
+++ b/Templates/README.category
@@ -16,6 +16,6 @@
</pre>
<p><hr><p>
-<a href="../README.html"> Go to top of ports tree</a>
+<a href="../README.html"> Go to parent directory</a>
</body>
</html>
diff --git a/Templates/README.port b/Templates/README.port
index 8631114f300e..da5a9f82c338 100644
--- a/Templates/README.port
+++ b/Templates/README.port
@@ -14,7 +14,7 @@
<p>Please read the file "<a href="pkg/DESCR">pkg/DESCR</a>" for a
longer description.
-<p>Go to the <a href="../../README.html">top of the ports tree</a> for
+<p>Go to the <a href="%%TOP%%/README.html">top of the ports tree</a> for
a summary on how to use the ports collection.
<p>
@@ -25,6 +25,6 @@ a summary on how to use the ports collection.
<p><hr><p>
<a href="../README.html"> Go up one level</a>
|
-<a href="../../README.html"> Go to top of ports tree</a>
+<a href="%%TOP%%/README.html"> Go to top of ports tree</a>
</body>
</html>