diff options
Diffstat (limited to 'system/man-db')
-rw-r--r-- | system/man-db/APKBUILD | 50 | ||||
-rw-r--r-- | system/man-db/man-db-2.7.5-iconv.patch | 75 | ||||
-rw-r--r-- | system/man-db/man-db.trigger | 3 |
3 files changed, 128 insertions, 0 deletions
diff --git a/system/man-db/APKBUILD b/system/man-db/APKBUILD new file mode 100644 index 000000000..a645b2b7e --- /dev/null +++ b/system/man-db/APKBUILD @@ -0,0 +1,50 @@ +# Contributor: A. Wilcox <awilfox@adelielinux.org> +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=man-db +pkgver=2.7.6.1 +pkgrel=2 +pkgdesc="The man command and related utilities for examining on-line help files" +url="http://www.nongnu.org/man-db/" +arch="all" +license="GPL-2+" +depends="groff less" +makedepends_host="db-dev gettext-dev libpipeline-dev zlib-dev" +subpackages="$pkgname-doc" +[ "$CBUILD" != "$CHOST" ] || subpackages="$subpackages $pkgname-lang" +options="!check" # requires //IGNORE in iconv +source="http://download.savannah.nongnu.org/releases/man-db/man-db-$pkgver.tar.xz + man-db.trigger + man-db-2.7.5-iconv.patch" +triggers="man-db.trigger=/usr/share/man" + +build() { + cd "$builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --disable-setuid \ + --with-sections="1 1p 1x 2 2x 3 3p 3x 4 4x 5 5x 6 6x 7 7x 8 8x 9 0p tcl n l p o" \ + --enable-nls \ + --with-db=db + make +} + +check() { + cd "$builddir" + make check +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + rm "${pkgdir}"/usr/lib/charset.alias + rm -r "${pkgdir}"/usr/lib/tmpfiles.d # systemd +} + +sha512sums="623c5e7f8b7c289908b2c926f8777293b8d39aeceef0d2509d701a8b0bfa81408650f655c8608318221786c751a79ee91124b07993de5298cd7fa6d8bb737301 man-db-2.7.6.1.tar.xz +0d2ab0b42888178ffb83c5dd5eaac8005f047de56af55eb3046291318fd8ed8c4999a4ea0148367ea07c0a0490eb8b9bc726a03b46533ef51bec6a5747719b64 man-db.trigger +bdf53b2868eb0652f8ca5bec340736a1923b52921bc1a33bde691f005be937f0a01dd32ff46d04ba956aa9c05b2cf276a03877de6c5fd1d997c4a5b029f330e2 man-db-2.7.5-iconv.patch" diff --git a/system/man-db/man-db-2.7.5-iconv.patch b/system/man-db/man-db-2.7.5-iconv.patch new file mode 100644 index 000000000..24fea8872 --- /dev/null +++ b/system/man-db/man-db-2.7.5-iconv.patch @@ -0,0 +1,75 @@ +diff --git man-db-2.7.5/src/man.c man-db-fixed/src/man.c +index bea684f..df5f5cb 100644 +--- man-db-2.7.5/src/man.c ++++ man-db-fixed/src/man.c +@@ -1503,11 +1503,9 @@ static void add_output_iconv (pipeline *p, + { + debug ("add_output_iconv: source %s, target %s\n", source, target); + if (source && target && !STREQ (source, target)) { +- char *target_translit = xasprintf ("%s//TRANSLIT", target); + pipeline_command_args (p, "iconv", "-c", +- "-f", source, "-t", target_translit, ++ "-f", source, "-t", target, + NULL); +- free (target_translit); + } + } + +diff --git man-db-2.7.5/src/manconv.c man-db-fixed/src/manconv.c +index cae9b67..48b7a81 100644 +--- man-db-2.7.5/src/manconv.c ++++ man-db-fixed/src/manconv.c +@@ -106,10 +106,9 @@ static int try_iconv (pipeline *p, const char *try_from_code, const char *to, + static char *utf8 = NULL, *output = NULL; + size_t utf8left = 0; + iconv_t cd_utf8, cd = NULL; +- int to_utf8 = STREQ (try_to_code, "UTF-8") || +- STRNEQ (try_to_code, "UTF-8//", 7); +- const char *utf8_target = last ? "UTF-8//IGNORE" : "UTF-8"; +- int ignore_errors = (strstr (try_to_code, "//IGNORE") != NULL);; ++ int to_utf8 = STREQ (try_to_code, "UTF-8"); ++ const char *utf8_target = "UTF-8"; ++ int ignore_errors = 0; + int ret = 0; + + debug ("trying encoding %s -> %s\n", try_from_code, try_to_code); +diff --git man-db-2.7.5/src/manconv_client.c man-db-fixed/src/manconv_client.c +index 2949c75..7805f90 100644 +--- man-db-2.7.5/src/manconv_client.c ++++ man-db-fixed/src/manconv_client.c +@@ -131,7 +131,7 @@ void add_manconv (pipeline *p, const char *source, const char *target) + codes->from[2] = NULL; + name = appendstr (name, "UTF-8:", source, NULL); + } +- codes->to = xasprintf ("%s//IGNORE", target); ++ codes->to = xstrdup (target); + /* informational only; no shell quoting concerns */ + name = appendstr (name, " -t ", codes->to, NULL); + if (quiet >= 2) +diff --git man-db-2.7.5/src/manconv_main.c man-db-fixed/src/manconv_main.c +index 166a2b8..4e700e9 100644 +--- man-db-2.7.5/src/manconv_main.c ++++ man-db-fixed/src/manconv_main.c +@@ -105,9 +105,6 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state) + return 0; + case 't': + to_code = xstrdup (arg); +- if (!strstr (to_code, "//")) +- to_code = appendstr (to_code, "//TRANSLIT", +- NULL); + return 0; + case 'd': + debug_level = 1; +diff --git man-db-2.7.5/src/whatis.c man-db-fixed/src/whatis.c +index 39aa093..0a25c92 100644 +--- man-db-2.7.5/src/whatis.c ++++ man-db-fixed/src/whatis.c +@@ -948,7 +948,7 @@ int main (int argc, char *argv[]) + display_seen = hashtable_create (&null_hashtable_free); + + #ifdef HAVE_ICONV +- locale_charset = xasprintf ("%s//IGNORE", get_locale_charset ()); ++ locale_charset = xstrdup (get_locale_charset ()); + conv_to_locale = iconv_open (locale_charset, "UTF-8"); + free (locale_charset); + #endif /* HAVE_ICONV */ diff --git a/system/man-db/man-db.trigger b/system/man-db/man-db.trigger new file mode 100644 index 000000000..fb76aa38c --- /dev/null +++ b/system/man-db/man-db.trigger @@ -0,0 +1,3 @@ +#!/bin/sh + +exec /usr/bin/mandb /usr/share/man |