MFH: r525523 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)

Approved by:	ports-secteam (blanket: run (crash) fixes)
This commit is contained in:
Kubilay Kocak 2020-02-11 03:37:47 +00:00
parent 72084d1010
commit e01d5c9ec9
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/branches/2020Q1/; revision=525774
8 changed files with 49 additions and 284 deletions

View File

@ -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>

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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.

View File

@ -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);

View File

@ -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.

View File

@ -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