1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-25 00:51:21 +00:00

Add a stripped fown version of texinfo (only install-info and info) to allow

handling info files with a modern version of those tools as well be able to
handle a base system installed without texinfo.

The tools are prefixed by g (for GNU) to not conflicts with print/texinfo
if one want a fully functionnal texinfo suite please use print/texinfo
This commit is contained in:
Baptiste Daroussin 2014-06-24 12:25:07 +00:00
parent a813d803b8
commit fb91210a30
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=359079
5 changed files with 130 additions and 0 deletions

View File

@ -201,6 +201,7 @@
SUBDIR += p5-PostScript-Simple
SUBDIR += p5-Text-PDF
SUBDIR += p5-XML-ApacheFOP
SUBDIR += pkg-texinfo
SUBDIR += panda
SUBDIR += papersize-default-a4
SUBDIR += papersize-default-letter

View File

@ -0,0 +1,34 @@
# $FreeBSD$
PORTNAME= texinfo
PORTVERSION= 5.2
CATEGORIES= ports-mgmt
MASTER_SITES= GNU
PKGNAMEPREFIX= pkg-
MAINTAINER= bapt@FreeBSD.org
COMMENT= Minimal version of texinfo
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
USES= tar:xz
PLIST_FILES= bin/ginstall-info \
bin/ginfo
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --disable-nls
CONFIGURE_ENV= PERL=${TRUE} ac_cv_path_PERL=${TRUE}
BUILD_WRKSRC= ${WRKSRC}/gnulib/lib
post-build:
cd ${WRKSRC}/install-info; ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${_MAKE_JOBS} ${MAKE_ARGS}
cd ${WRKSRC}/info; ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${_MAKE_JOBS} ${MAKE_ARGS}
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/install-info/ginstall-info ${STAGEDIR}${PREFIX}/bin/ginstall-info
${INSTALL_PROGRAM} ${WRKSRC}/info/ginfo ${STAGEDIR}${PREFIX}/bin/ginfo
.include <bsd.port.mk>

View File

@ -0,0 +1,2 @@
SHA256 (texinfo-5.2.tar.xz) = 5471ef683a64588a7cfef46ef2bdd3fbcbca89d847e10832612293f105e44eda
SIZE (texinfo-5.2.tar.xz) = 3812944

View File

@ -0,0 +1,89 @@
--- install-info/install-info.c.orig 2013-01-07 00:18:56.000000000 +0100
+++ install-info/install-info.c 2013-02-19 09:15:24.000000000 +0100
@@ -26,6 +26,7 @@
#define TAB_WIDTH 8
static char *progname = "install-info";
+static char *default_section = NULL;
struct spec_entry;
struct spec_section;
@@ -146,6 +147,8 @@ struct option longopts[] =
{ "calign", required_argument, NULL, 'C'},
{ "debug", no_argument, NULL, 'g' },
{ "delete", no_argument, NULL, 'r' },
+ { "defentry", required_argument, NULL, 'E' },
+ { "defsection", required_argument, NULL, 'S' },
{ "dir-file", required_argument, NULL, 'd' },
{ "entry", required_argument, NULL, 'e' },
{ "name", required_argument, NULL, 't' },
@@ -543,6 +546,10 @@ Options:\n\
--debug report what is being done.\n\
--delete delete existing entries for INFO-FILE from DIR-FILE;\n\
don't insert any new entries.\n\
+ --defentry=TEXT like --entry, but only use TEXT if an entry\n\
+ is not present in INFO-FILE.\n\
+ --defsection=TEXT like --section, but only use TEXT if a section\n\
+ is not present in INFO-FILE.\n\
--description=TEXT the description of the entry is TEXT; used with\n\
the --name option to become synonymous with the\n\
--entry option.\n\
@@ -1857,6 +1864,8 @@ main (int argc, char *argv[])
struct spec_entry *entries_to_add = NULL;
struct spec_entry *entries_to_add_from_file = NULL;
int n_entries_to_add = 0;
+ struct spec_entry *default_entries_to_add = NULL;
+ int n_default_entries_to_add = 0;
/* Record the old text of the dir file, as plain characters,
as lines, and as nodes. */
@@ -2041,6 +2050,7 @@ main (int argc, char *argv[])
}
break;
+ case 'E':
case 'e':
{
struct spec_entry *next
@@ -2055,12 +2065,18 @@ main (int argc, char *argv[])
next->text_len = olen;
next->entry_sections = NULL;
next->entry_sections_tail = NULL;
- next->next = entries_to_add;
next->missing_name = 0;
next->missing_basename = 0;
next->missing_description = 0;
- entries_to_add = next;
- n_entries_to_add++;
+ if (opt == 'e') {
+ next->next = entries_to_add;
+ entries_to_add = next;
+ n_entries_to_add++;
+ } else {
+ next->next = default_entries_to_add;
+ default_entries_to_add = next;
+ n_default_entries_to_add++;
+ }
}
break;
@@ -2127,6 +2143,10 @@ main (int argc, char *argv[])
}
break;
+ case 'S':
+ default_section = optarg;
+ break;
+
case 's':
{
struct spec_section *next
@@ -2315,7 +2335,7 @@ There is NO WARRANTY, to the extent perm
{
input_sections = (struct spec_section *)
xmalloc (sizeof (struct spec_section));
- input_sections->name = "Miscellaneous";
+ input_sections->name = default_section ? default_section : "Miscellaneous";
input_sections->next = NULL;
input_sections->missing = 1;
}

View File

@ -0,0 +1,4 @@
Stripped down version of texinfo (only install-info part) to handle installation
of GNU info files
WWW: http://www.gnu.org/software/texinfo/