aboutsummaryrefslogtreecommitdiff
path: root/misc/brs
diff options
context:
space:
mode:
authorKubilay Kocak <koobs@FreeBSD.org>2020-02-08 08:24:56 +0000
committerKubilay Kocak <koobs@FreeBSD.org>2020-02-08 08:24:56 +0000
commitb0f053b4142569f9f5d99aeda712a603568d3934 (patch)
tree354bd60df95e5e57f7ae996f70c24d1bc166d5bc /misc/brs
parent01f0e3964b78e56d660d2cd1512d4f11f4163cd0 (diff)
misc/brs: Update to 4.3.0
misc/brs currently builds with many warnings and segfaults at runtime, likely a missing prototypes issue as that's what most of the warnings are. A much more recent version (4.30 as opposed to 4.03) of this is widely available on linux under the name "bible-kjv", which also exists as an OpenBSD port. This change updates brs to 4.30, switching upstream to DEBIAN [1], and the first step commit to renaming the port. While here: - Include the "randverse" program - Wordsmith pkg-descr: It's all very well saying that the port includes libraries, but it doesn't install them. - Remove patches: no longer relevent [1] Use a temporary MASTER_SITES workaround, instead of 'DEBIAN' directly because it does not currently use or support DISTNAME. PR: 243886 Submitted by: Andrew <andrew tao11.riddles.org.uk> Approved by: <user unknown nu> (implicit, approves maintainer change) Approved by: portmgr (blanket: run (crash) fixes) MFH: 2020Q1
Notes
Notes: svn path=/head/; revision=525523
Diffstat (limited to 'misc/brs')
-rw-r--r--misc/brs/Makefile53
-rw-r--r--misc/brs/distinfo7
-rw-r--r--misc/brs/files/patch-Makefile120
-rw-r--r--misc/brs/files/patch-bible.160
-rw-r--r--misc/brs/files/patch-brl.c19
-rw-r--r--misc/brs/files/patch-tsl.c63
-rw-r--r--misc/brs/pkg-descr9
-rw-r--r--misc/brs/pkg-plist2
8 files changed, 49 insertions, 284 deletions
diff --git a/misc/brs/Makefile b/misc/brs/Makefile
index cf3b8ce962d9..eee1a92df8df 100644
--- a/misc/brs/Makefile
+++ b/misc/brs/Makefile
@@ -2,23 +2,50 @@
# $FreeBSD$
PORTNAME= brs
-PORTVERSION= 4.03
+PORTVERSION= 4.30
CATEGORIES= misc
-MASTER_SITES= http://www.unknown.nu/ports/
-DISTFILES= bible.data.tar.bz2 bible.tar.bz2
-DIST_SUBDIR= brs
+MASTER_SITES= ${MASTER_SITE_DEBIAN:C|/%SUBDIR%/|/pool/main/${DISTNAME:C/^(.).*$/\1/}/${DISTNAME:C/_.*//}/|}
+DISTNAME= bible-kjv_${DISTVERSION}
-MAINTAINER= user@unknown.nu
+MAINTAINER= andrew@tao11.riddles.org.uk
COMMENT= Interactive King James Bible
-USES= tar:bzip2
-NO_WRKSUBDIR= yes
-ALL_TARGET=
-CFLAGS+= -Wno-error=return-type
+LICENSE= GPLv2+
-post-patch:
- ${REINPLACE_CMD} 's=%%PREFIX%%=${PREFIX}=g' \
- ${WRKSRC}/brl.c ${WRKSRC}/bible.1
- ${REINPLACE_CMD} '/chown.*/d' ${WRKSRC}/Makefile
+USES= readline shebangfix perl5
+USE_PERL5= build
+
+# Upstream makefile does unsafe things with recursive sub-makes for
+# building its build tools. Parallel build randomly fails.
+MAKE_JOBS_UNSAFE=yes
+
+WRKSRC= ${WRKDIR}/${DISTNAME:C/_.*//}
+
+# makeindex2 asks for bash, but contains no shell construct more
+# complex than an if...then, so use sh instead.
+
+bash_CMD= /bin/sh
+SHEBANG_FILES= makeindex2 makeconc.pl
+
+# We don't really need all the warning options that the port uses.
+PORT_CFLAGS= -DDESTLIB=\\\"${DATADIR}\\\"
+
+MAKE_ARGS= DEST="${PREFIX}" \
+ CFLAGS="${CPPFLAGS} ${CFLAGS} ${PORT_CFLAGS}" \
+ LDFLAGS="${LDFLAGS}"
+
+post-build:
+ ${REINPLACE_CMD} 's=/usr/=${PREFIX}/=g' ${WRKSRC}/bible.1
+ cd ${WRKSRC} && \
+ ${CC} ${CPPFLAGS} ${CFLAGS} -o randverse debian/randverse.c
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/bible ${STAGEDIR}${PREFIX}/bin
+ ${INSTALL_PROGRAM} ${WRKSRC}/randverse ${STAGEDIR}${PREFIX}/bin
+ ${MKDIR} ${STAGEDIR}${DATADIR}
+ ${INSTALL_DATA} ${WRKSRC}/bible.data ${STAGEDIR}${DATADIR}
+ ${INSTALL_DATA} ${WRKSRC}/bible.data.conc ${STAGEDIR}${DATADIR}
+ ${INSTALL_MAN} ${WRKSRC}/bible.1 ${STAGEDIR}${PREFIX}/man/man1
+ ${INSTALL_MAN} ${WRKSRC}/debian/randverse.1 ${STAGEDIR}${PREFIX}/man/man1
.include <bsd.port.mk>
diff --git a/misc/brs/distinfo b/misc/brs/distinfo
index ca384a1db4d1..6057d2dd2082 100644
--- a/misc/brs/distinfo
+++ b/misc/brs/distinfo
@@ -1,4 +1,3 @@
-SHA256 (brs/bible.data.tar.bz2) = f20aa348df82a2511748719d85c95d3abe39ef8bc5f73a1d6a02bae2286d8de0
-SIZE (brs/bible.data.tar.bz2) = 2438121
-SHA256 (brs/bible.tar.bz2) = 31ee6b18b5f969500e6798cda63f82a22dcc76d47cba26d20939a100d376ed6f
-SIZE (brs/bible.tar.bz2) = 153375
+TIMESTAMP = 1580855102
+SHA256 (bible-kjv_4.30.tar.gz) = 138ca15baedcfaccc99da3663a6bcfdc493fabf4aa90554e056a2a829778f4a0
+SIZE (bible-kjv_4.30.tar.gz) = 1412282
diff --git a/misc/brs/files/patch-Makefile b/misc/brs/files/patch-Makefile
deleted file mode 100644
index 9b35268cd22a..000000000000
--- a/misc/brs/files/patch-Makefile
+++ /dev/null
@@ -1,120 +0,0 @@
---- Makefile.orig 1995-08-10 07:49:09.000000000 +0800
-+++ Makefile 2014-07-15 20:46:53.626067731 +0800
-@@ -177,9 +177,6 @@ README = README.$(PROGRAM)
- # primary man page
- MAN = $(PROGRAM).1
-
--# raw data file
--RAWDATA = $(PROGRAM).rawtext
--
- # Derived data file. Comes from processing raw data file.
- DATA = $(PROGRAM).data
-
-@@ -187,12 +184,12 @@ DATA = $(PROGRAM).data
- NINSTPKG = $(PROGRAM).pkg
-
- # where to install this stuff
--DEST = /usr/local
-+DEST = $(PREFIX)
- #DEST = $(HOME)/local
- DESTBIN = $(DEST)/bin
--DESTLIB = $(DEST)/lib
-+DESTLIB = $(DEST)/share/brs
- DESTMAN = $(DEST)/man
--DESTMAN1 = $(DESTMAN)/man1.Z
-+DESTMAN1 = $(DESTMAN)/man1
-
- # release directories. Nobody should care about this but me
- FTPHOME = /mnt/ftp
-@@ -349,10 +346,6 @@ squish.stats squish.data: $(RAWDATA)
- else rm squish.tmpdata squish.stats; fi
-
-
--$(PROGINDEX).c: $(RAWDATA)
-- make makeindex
-- ./makeindex $(RAWDATA) > $@
--
- $(DATA): squish.stats squish.data
- make buildcmp
- ./buildcmp
-@@ -366,19 +359,6 @@ $(DATA): squish.stats squish.data
- # Note that $(PROGINDEX).c is included in source distributions, while
- # $(RAWDATA) is NOT included in all distributions. $(PROGINDEX).c does NOT
- # need to be rebuilt unless someone (probably me) has munged $(RAWDATA).
--SAFEDATE = 0101000193
--$(RAWDATA):
-- @touch $(SAFEDATE) $@
-- @if [ -r $(SAFEDATE) ]; then \
-- /bin/rm $(SAFEDATE) $@; \
-- if [ -x /usr/5bin/touch ]; then \
-- /usr/5bin/touch $(SAFEDATE) $@; \
-- else \
-- # major kludge alert! ... \
-- touch brl-startverse.h brl-startchapter.h $(PROGINDEX).c; \
-- fi; \
-- fi
-- @echo " A dummy $(RAWDATA) file has been created."
-
- # The dependency on $(RAWDATA) helps to ensure that the raw concordance file
- # is not rebuilt unnecessarily.
-@@ -392,10 +372,6 @@ $(PROGRAM).rawconcordance: $(RAWDATA)
- ./makeconc.pl
- # ./makeconcordance
-
--$(MAN).Z: $(MAN)
-- /bin/rm $@
-- compress < $(MAN) > $(MAN).Z
--
- clean:; @rm -f $(PROGOBJS) $(TOOLOBJS) core
-
- clobber:; @rm -f $(PROGOBJS) $(TOOLOBJS) $(PROGRAM) $(TOOLS) $(DATA) \
-@@ -536,31 +512,28 @@ ninstall: $(NINSTPKG)
- # The "install" target could be of general use. That's why there are
- # no explicit dependencies here. They just confuse things...
- install:
-- @if [ ! -r $(DEST) ]; then mkdir $(DEST); fi
-+ @if [ ! -r $(DESTDIR)$(DEST) ]; then mkdir $(DESTDIR)$(DEST); fi
- @echo Installing $(PROGRAM) in $(DESTBIN)
- @-strip $(PROGRAM)
-- @if [ ! -r $(DESTBIN) ]; then mkdir $(DESTBIN); fi
-- @if [ $(DESTBIN) != . ]; then \
-- ((cd $(DESTBIN);rm -f $(PROGRAM)); \
-- cp $(PROGRAM) $(DESTBIN)); \
-- chown bin $(DESTBIN)/$(PROGRAM); \
-- chgrp bin $(DESTBIN)/$(PROGRAM); \
-- chmod 755 $(DESTBIN)/$(PROGRAM); fi
-+ @if [ ! -r $(DESTDIR)$(DESTBIN) ]; then mkdir $(DESTDIR)$(DESTBIN); fi
-+ @if [ $(DESTDIR)$(DESTBIN) != . ]; then \
-+ ((cd $(DESTDIR)$(DESTBIN);rm -f $(PROGRAM)); \
-+ cp $(PROGRAM) $(DESTDIR)$(DESTBIN)); \
-+ chown root:wheel $(DESTDIR)$(DESTBIN)/$(PROGRAM); \
-+ chmod 755 $(DESTDIR)$(DESTBIN)/$(PROGRAM); fi
- @echo Installing $(DATA) and $(DATA).conc in $(DESTLIB)
-- @if [ ! -r $(DESTLIB) ]; then mkdir $(DESTLIB); fi
-- @if [ $(DESTLIB) != . ]; then \
-- cp $(DATA) $(DATA).conc $(DESTLIB); \
-- chown bin $(DESTLIB)/$(DATA) $(DESTLIB)/$(DATA).conc; \
-- chgrp bin $(DESTLIB)/$(DATA) $(DESTLIB)/$(DATA).conc; \
-- chmod 644 $(DESTLIB)/$(DATA) $(DESTLIB)/$(DATA).conc; fi
-- @if [ ! -r $(DESTMAN) ]; then mkdir $(DESTMAN); fi
-+ @if [ ! -r $(DESTDIR)$(DESTLIB) ]; then mkdir $(DESTDIR)$(DESTLIB); fi
-+ @if [ $(DESTDIR)$(DESTLIB) != . ]; then \
-+ cp $(DATA) $(DATA).conc $(DESTDIR)$(DESTLIB); \
-+ chown root:wheel $(DESTDIR)$(DESTLIB)/$(DATA) $(DESTDIR)$(DESTLIB)/$(DATA).conc; \
-+ chmod 644 $(DESTDIR)$(DESTLIB)/$(DATA) $(DESTDIR)$(DESTLIB)/$(DATA).conc; fi
-+ @if [ ! -r $(DESTDIR)$(DESTMAN) ]; then mkdir $(DESTDIR)$(DESTMAN); fi
- @echo Installing $(MAN) in $(DESTMAN1)
-- @if [ ! -r $(DESTMAN1) ]; then mkdir $(DESTMAN1); fi
-- @if [ $(DESTMAN1) != . ]; then \
-- cp $(MAN).Z $(DESTMAN1)/$(MAN); \
-- chown bin $(DESTMAN1)/$(MAN); \
-- chgrp bin $(DESTMAN1)/$(MAN); \
-- chmod 644 $(DESTMAN1)/$(MAN); fi
-+ @if [ ! -r $(DESTDIR)$(DESTMAN1) ]; then mkdir $(DESTDIR)$(DESTMAN1); fi
-+ @if [ $(DESTDIR)$(DESTMAN1) != . ]; then \
-+ cp $(MAN) $(DESTDIR)$(DESTMAN1)/$(MAN); \
-+ chown root:wheel $(DESTDIR)$(DESTMAN1)/$(MAN); \
-+ chmod 644 $(DESTDIR)$(DESTMAN1)/$(MAN); fi
-
- uninstall:; @echo Un-installing $(PROGRAM), $(DATA) and $(MAN)
- rm -f $(DESTBIN)/$(PROGRAM)
diff --git a/misc/brs/files/patch-bible.1 b/misc/brs/files/patch-bible.1
deleted file mode 100644
index be490a2586a5..000000000000
--- a/misc/brs/files/patch-bible.1
+++ /dev/null
@@ -1,60 +0,0 @@
-*** bible.1.orig Fri Apr 23 15:07:57 1993
---- bible.1 Thu Jul 10 22:55:07 2003
-***************
-*** 314,330 ****
- Miscellaneous program control commands:
-
- .TP 15 "\w'\-t\ prefix\ \ 'u"
-! .B \?, ?h, ?help
- Prints help text.
- .TP
-! .B \?f
- Toggles output formatting modes.
- .TP
-! .BI \?w file
- Begin writing program output to a file. If file exists, output is
- appended to what's there already.
- .TP
-! .B \?w
- Stop writing to a file.
- .TP
- .B \>, \<
---- 314,330 ----
- Miscellaneous program control commands:
-
- .TP 15 "\w'\-t\ prefix\ \ 'u"
-! .B ?, ?h, ?help
- Prints help text.
- .TP
-! .B ?f
- Toggles output formatting modes.
- .TP
-! .BI ?w file
- Begin writing program output to a file. If file exists, output is
- appended to what's there already.
- .TP
-! .B ?w
- Stop writing to a file.
- .TP
- .B \>, \<
-***************
-*** 369,377 ****
- results in a range of Matthew 1:1 to Revelation 1:1, instead of extending
- all the way to Revelation 22:21.
- .SH FILES
-! /usr/local/lib/bible.data
- .br
-! /usr/local/lib/bible.data.conc
- .SH SEE ALSO
- Rev3:20
- .SH AUTHOR
---- 369,377 ----
- results in a range of Matthew 1:1 to Revelation 1:1, instead of extending
- all the way to Revelation 22:21.
- .SH FILES
-! %%PREFIX%%/share/brs/bible.data
- .br
-! %%PREFIX%%/share/brs/bible.data.conc
- .SH SEE ALSO
- Rev3:20
- .SH AUTHOR
diff --git a/misc/brs/files/patch-brl.c b/misc/brs/files/patch-brl.c
deleted file mode 100644
index f0658e6d6192..000000000000
--- a/misc/brs/files/patch-brl.c
+++ /dev/null
@@ -1,19 +0,0 @@
-*** brl.c.orig Tue Apr 12 19:31:59 1994
---- brl.c Thu Jul 10 23:06:55 2003
-***************
-*** 1146,1152 ****
- if (dfname == NULL)
- dfname = "bible.data";
- if (dfpath == NULL)
-! dfpath = "./ /usr/local/lib/";
- tsl_init( dfname, dfpath, memlimit );
-
- /* Set (low) illegal value for current context.
---- 1146,1152 ----
- if (dfname == NULL)
- dfname = "bible.data";
- if (dfpath == NULL)
-! dfpath = "./ %%PREFIX%%/share/brs/";
- tsl_init( dfname, dfpath, memlimit );
-
- /* Set (low) illegal value for current context.
diff --git a/misc/brs/files/patch-tsl.c b/misc/brs/files/patch-tsl.c
deleted file mode 100644
index f13e8744e91d..000000000000
--- a/misc/brs/files/patch-tsl.c
+++ /dev/null
@@ -1,63 +0,0 @@
-*** tsl.c.orig Wed Aug 9 19:47:29 1995
---- tsl.c Fri Nov 21 17:31:35 2003
-***************
-*** 106,112 ****
- \*----------------------------------------------------------------------*/
-
- #include <stdio.h>
-! #include <varargs.h>
- #include "tsl.h"
-
-
---- 106,112 ----
- \*----------------------------------------------------------------------*/
-
- #include <stdio.h>
-! #include <stdarg.h>
- #include "tsl.h"
-
-
-***************
-*** 155,161 ****
-
-
-
-! tsl_error( fatal, va_alist )
- /*----------------------------------------------------------------------
- | NAME:
- | tsl_error
---- 155,161 ----
-
-
-
-! tsl_error( int fatal, ... )
- /*----------------------------------------------------------------------
- | NAME:
- | tsl_error
-***************
-*** 172,184 ****
- |
- \*----------------------------------------------------------------------*/
-
-- int fatal;
-- va_dcl
- {
- va_list ap;
- char *format;
-
-! va_start(ap);
-
- format = va_arg(ap, char *);
- vfprintf(stderr, format, ap);
---- 172,182 ----
- |
- \*----------------------------------------------------------------------*/
-
- {
- va_list ap;
- char *format;
-
-! va_start(ap, fatal);
-
- format = va_arg(ap, char *);
- vfprintf(stderr, format, ap);
diff --git a/misc/brs/pkg-descr b/misc/brs/pkg-descr
index f0bccb458ecb..720010b3d8a4 100644
--- a/misc/brs/pkg-descr
+++ b/misc/brs/pkg-descr
@@ -1,5 +1,4 @@
-Bible Retrieval System (BRS) consists of a textual database of the
-Authorized ("King James") Version of the Old and New Testaments, a set
-of libraries for finding and retrieving text, and a program ("bible")
-which uses the libraries to retrieve Bible passages given references
-on the command line or from standard input.
+Textual database of the Authorized ("King James") Version of the Old
+and New Testaments with concordance, and a program ("bible") to
+retrieve and browse passages from the command line. Also includes a
+random verse program.
diff --git a/misc/brs/pkg-plist b/misc/brs/pkg-plist
index 3d481b3eed6f..87b22a3110d3 100644
--- a/misc/brs/pkg-plist
+++ b/misc/brs/pkg-plist
@@ -1,4 +1,6 @@
bin/bible
+bin/randverse
man/man1/bible.1.gz
+man/man1/randverse.1.gz
%%DATADIR%%/bible.data
%%DATADIR%%/bible.data.conc