diff options
author | SADA Kenji <sada@FreeBSD.org> | 1999-10-30 15:34:27 +0000 |
---|---|---|
committer | SADA Kenji <sada@FreeBSD.org> | 1999-10-30 15:34:27 +0000 |
commit | 96bbf588b8f91c5eeaab71e431151f397ce1d056 (patch) | |
tree | abadcc5513d1a594998ed38246ae4d21f53d069b /japanese/xjman-3 | |
parent | Add another MASTER_SITE so the distfile is actually fetchable. (diff) |
Use MLINKS instead of .so directive against the problem of linked pages.
Submitted by: Yasuhiro Fukuma <yasuf@big.or.jp> in ports-jp ML #7987
Diffstat (limited to 'japanese/xjman-3')
-rw-r--r-- | japanese/xjman-3/Makefile | 10 | ||||
-rw-r--r-- | japanese/xjman-3/files/Makefile.inc | 20 | ||||
-rw-r--r-- | japanese/xjman-3/scripts/configure | 47 |
3 files changed, 68 insertions, 9 deletions
diff --git a/japanese/xjman-3/Makefile b/japanese/xjman-3/Makefile index 71d5728a4dc3..85a79fca7202 100644 --- a/japanese/xjman-3/Makefile +++ b/japanese/xjman-3/Makefile @@ -20,6 +20,7 @@ NO_MTREE= yes PLIST= ${WRKDIR}/PLIST USE_BZIP2= yes WRKSRC= ${WRKDIR}/man/ja_JP.ujis +SCRIPTS_ENV+= MANSECS="${MANSECS}" MANSECS= 1 3 5 @@ -27,15 +28,6 @@ post-extract: .for i in Makefile Makefile.inc @${CP} ${FILESDIR}/$i ${WRKSRC} .endfor -.for i in ${MANSECS} - @cd ${WRKSRC}/man$i; \ - ls *.$ix|${AWK} 'BEGIN{printf"MAN$i ="}{printf"\\\n\t%s",$$0}' >Makefile; \ - ${ECHO} >>Makefile; \ - ${ECHO} pages-list: >>${WRKSRC}/man$i/Makefile; \ - ${ECHO} " @\$${ECHO} \$${MAN$i}" >>${WRKSRC}/man$i/Makefile; \ - ${ECHO} >>Makefile; \ - ${ECHO} '.include "bsd.prog.mk"' >>Makefile -.endfor post-build: @${RM} -f ${PLIST} diff --git a/japanese/xjman-3/files/Makefile.inc b/japanese/xjman-3/files/Makefile.inc index 89a79548f32a..25a10387c555 100644 --- a/japanese/xjman-3/files/Makefile.inc +++ b/japanese/xjman-3/files/Makefile.inc @@ -1,3 +1,23 @@ PREFIX?= /usr/local MANDIR= ${PREFIX}/man/ja/man MROFF_CMD= /usr/local/bin/groff -Tnippon -man + +NOMLINKS= yes + +afterinstall: +.if defined(MLINKS) && !empty(MLINKS) + @set `echo ${MLINKS} " " | sed 's/\.\([^.]\)\([^.]*\) /.\1\2 \1 /g'`; \ + while : ; do \ + case $$# in \ + 0) break;; \ + [123]) echo "warn: empty MLINK: $$1 $$2 $$3"; break;; \ + esac; \ + name=$$1; shift; sect=$$1; shift; \ + l=${DESTDIR}${MANDIR}$${sect}${MANSUBDIR}/$$name; \ + name=$$1; shift; sect=$$1; shift; \ + t=${DESTDIR}${MANDIR}$${sect}${MANSUBDIR}/$$name; \ + ${ECHO} $${t}${ZEXT} -\> $${l}${ZEXT}; \ + rm -f $${t} $${t}${MCOMPRESS_EXT}; \ + ln $${l}${ZEXT} $${t}${ZEXT}; \ + done +.endif diff --git a/japanese/xjman-3/scripts/configure b/japanese/xjman-3/scripts/configure new file mode 100644 index 000000000000..eb66aa645232 --- /dev/null +++ b/japanese/xjman-3/scripts/configure @@ -0,0 +1,47 @@ +exec /usr/bin/perl -Sx "$0" ${1+"$@"} +#! perl + +$WRKSRC = $ENV{'WRKSRC'}; +@MANSECS = split(/\s+/, $ENV{'MANSECS'}); + +for $sec (@MANSECS) { + print "===> Creating Makefile in man${sec}\n"; + + chdir "$WRKSRC/man$sec"; + @manpages = (); + @mlinks = (); + + for $manpage (<*.${sec}x>) { + open(F, $manpage) || die "cannot open $manpage: $!\n"; + $_ = <F>; + chop; + close(F); + if (/^\.so /) { + ($real = $') =~ s!^man./!!; + push(@mlinks, "$real\t$manpage"); + } + else { + push(@manpages, $manpage); + } + } + + open(MAKEFILE, '>Makefile'); + + if (@manpages) { + print MAKEFILE join("\t\\\n\t", "MAN${sec} =", sort @manpages); + print MAKEFILE "\n\n"; + } + if (@mlinks) { + print MAKEFILE join("\t\\\n\t", "MLINKS =", sort @mlinks); + print MAKEFILE "\n\n"; + } + + print MAKEFILE <<EOF; +pages-list: + @\${ECHO} \${MAN${sec}} \${MLINKS} + +.include <bsd.prog.mk> +EOF + + close(MAKEFILE); +} |