From eec1412f000a493165f1376bbe61560a4f749d44 Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Wed, 20 May 2015 20:16:50 +0700 Subject: [PATCH] development/gnulib: Added (GNU portability library). Signed-off-by: Willy Sudiarto Raharjo --- development/gnulib/README | 5 + development/gnulib/doinst.sh | 7 + development/gnulib/gnulib.SlackBuild | 105 ++++++++++++ development/gnulib/gnulib.info | 10 ++ development/gnulib/manpages/check-module.1 | 33 ++++ development/gnulib/manpages/gnulib-tool.1 | 182 +++++++++++++++++++++ development/gnulib/slack-desc | 19 +++ 7 files changed, 361 insertions(+) create mode 100644 development/gnulib/README create mode 100644 development/gnulib/doinst.sh create mode 100644 development/gnulib/gnulib.SlackBuild create mode 100644 development/gnulib/gnulib.info create mode 100644 development/gnulib/manpages/check-module.1 create mode 100644 development/gnulib/manpages/gnulib-tool.1 create mode 100644 development/gnulib/slack-desc diff --git a/development/gnulib/README b/development/gnulib/README new file mode 100644 index 0000000000..d0d7d5d55a --- /dev/null +++ b/development/gnulib/README @@ -0,0 +1,5 @@ +gnulib (GNU portability library) + +The GNU portability library is a macro system and C declarations +and definitions for commonly-used API elements and abstracted system +behaviors. diff --git a/development/gnulib/doinst.sh b/development/gnulib/doinst.sh new file mode 100644 index 0000000000..6b7fee714f --- /dev/null +++ b/development/gnulib/doinst.sh @@ -0,0 +1,7 @@ +if ! grep "(gnulib)" usr/info/dir 1>/dev/null 2>/dev/null; then + cat << EOF >> usr/info/dir + +Miscellaneous +* Gnulib: (gnulib). The GNU Portability Library. +EOF +fi diff --git a/development/gnulib/gnulib.SlackBuild b/development/gnulib/gnulib.SlackBuild new file mode 100644 index 0000000000..af8d4e3818 --- /dev/null +++ b/development/gnulib/gnulib.SlackBuild @@ -0,0 +1,105 @@ +#!/bin/sh + +# Slackware build script for gnulib + +# Written by B. Watson (yalhcru@gmail.com) + +# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details. + +# Heavily based on Debian's package: +# https://packages.debian.org/sid/gnulib + +# According to the gnulib docs at http://www.gnu.org/software/gnulib/, +# this build shouldn't exist: "there is no distribution tarball; +# the idea is to copy files from Gnulib into your own source tree." +# However, Debian packages it, and some projects that use it expect it +# to be installed system-wide (notably, lbzip2 does this). For practical +# reasons, I'm going to package this. Hopefully this saves someone else +# some work in the future. + +PRGNAM=gnulib +VERSION=${VERSION:-20140202} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i486 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-${VERSION/+/-}-stable +tar xvf $CWD/${PRGNAM}_$VERSION+stable.orig.tar.gz +cd $PRGNAM-${VERSION/+/-}-stable +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +find . \( -name '.git*' -o -name '.cvs*' \) -print0 | xargs -0 rm -rf + +# does the same as Debian's 02-shebang.patch +sed -i '1s,#!/usr/local/bin,#!/usr/bin,' lib/uniname/gen-uninames.lisp + +make -C doc info +make -C doc html + +# Debian does this, is it really necessary? +chmod 755 tests/*.in.sh lib/config.charset + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild +mv doc/*html COPYING ChangeLog DEPENDENCIES README NEWS* users.txt STATUS* \ + $PKG/usr/doc/$PRGNAM-$VERSION + +mkdir -p $PKG/usr/info +gzip -9c < doc/$PRGNAM.info > $PKG/usr/info/$PRGNAM.info.gz +rm -f doc/$PRGNAM.info + +mkdir -p $PKG/usr/share/$PRGNAM +cp -a * $PKG/usr/share/$PRGNAM + +mkdir -p $PKG/usr/bin +ln -s ../share/$PRGNAM/check-module $PKG/usr/bin/check-module +ln -s ../share/$PRGNAM/gnulib-tool $PKG/usr/bin/gnulib-tool + +# man pages lifted straight from the Debian package +mkdir -p $PKG/usr/man/man1 +for i in $CWD/manpages/*.1; do + gzip -9c < $i > $PKG/usr/man/man1/$( basename $i ).gz +done + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/development/gnulib/gnulib.info b/development/gnulib/gnulib.info new file mode 100644 index 0000000000..8d9a12c6a1 --- /dev/null +++ b/development/gnulib/gnulib.info @@ -0,0 +1,10 @@ +PRGNAM="gnulib" +VERSION="20140202" +HOMEPAGE="https://www.gnu.org/software/gnulib/" +DOWNLOAD="http://http.debian.net/debian/pool/main/g/gnulib/gnulib_20140202+stable.orig.tar.gz" +MD5SUM="5fc03f07046c2349449db963602b9522" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="" +MAINTAINER="B. Watson" +EMAIL="yalhcru@gmail.com" diff --git a/development/gnulib/manpages/check-module.1 b/development/gnulib/manpages/check-module.1 new file mode 100644 index 0000000000..5a14ecbc45 --- /dev/null +++ b/development/gnulib/manpages/check-module.1 @@ -0,0 +1,33 @@ +.TH CHECK-MODULE 1 "2006-06-01" "0.0.20060601" "GNU Portability Library" + +.SH NAME +check-module \- program to check gnulib modules. + +.SH SYNOPSIS +.B check-module [OPTIONS] FILE... + +.SH DESCRIPTION +The GNU portability library is a macro system and C declarations and definitions for commonly-used API elements and abstracted system behaviors. It can be used to improve portability and other functionality in your programs. +.PP +.B check-module +reads a module description file and derives the set of files included directly by any .c or .h file listed in the `Files:' section. First, it takes the union of all such sets for any dependent modules. Then, it compares that set with the set derived from the names listed in the various Files: sections. +.PP + +.SH OPTIONS +.TP +.B \-h, \-\-help +Show summary of options. +.TP +.B \-v, \-\-version +Show version of program. + +.SH BUGS +Report bugs to . + +.SH SEE ALSO +.BR gnulib (1). + +.SH AUTHOR +check-module was written by the Free Software Foundation and others (sources of various origins). +.PP +This manual page was written by Daniel Baumann , for the Debian project (but may be used by others). diff --git a/development/gnulib/manpages/gnulib-tool.1 b/development/gnulib/manpages/gnulib-tool.1 new file mode 100644 index 0000000000..a3ed5fa121 --- /dev/null +++ b/development/gnulib/manpages/gnulib-tool.1 @@ -0,0 +1,182 @@ +.TH GNULIB\-TOOL 1 "2006-06-01" "0.0.20060601" "GNU Portability Library" + +.SH NAME +gnulib\-tool \- program for authors or maintainers which want to import modules +from gnulib into their packages. + +.SH SYNOPSIS +.B gnulib\-tool +\-\-list +.PP +.B gnulib\-tool +\-\-import [module1 ... moduleN] +.PP +.B gnulib\-tool +\-\-update +.PP +.B gnulib\-tool +\-\-create-testdir \-\-dir=directory module1 ... moduleN +.PP +.B gnulib\-tool +\-\-create-megatestdir \-\-dir=directory [module1 ... moduleN] +.PP +.B gnulib\-tool +\-\-test \-\-dir=directory module1 ... moduleN +.PP +.B gnulib\-tool +\-\-megatest \-\-dir=directory [module1 ... moduleN] +.PP +.B gnulib\-tool +\-\-extract-description module +.PP +.B gnulib\-tool +\-\-extract-filelist module +.PP +.B gnulib\-tool +\-\-extract-dependencies module +.PP +.B gnulib\-tool +\-\-extract-autoconf-snippet module +.PP +.B gnulib\-tool +\-\-extract-automake-snippet module +.PP +.B gnulib\-tool +\-\-extract-include-directive module +.PP +.B gnulib\-tool +\-\-extract-license module +.PP +.B gnulib\-tool +\-\-extract-maintainer module +.PP +.B gnulib\-tool +\-\-extract-tests-module module + +.SH DESCRIPTION +The GNU portability library is a macro system and C declarations and definitions +for commonly-used API elements and abstracted system behaviors. It can be used +to improve portability and other functionality in your programs. +.PP + +.SH OPTIONS +Operation modes: +.TP +.B \-\-list +print the available module names. +.TP +.B \-\-import +import the given modules into the current package; if no modules are specified, +update the current package from the current gnulib. +.TP +.B \-\-update +update the current package, restore files omitted from CVS. +.TP +.B \-\-create-testdir +create a scratch package with the given modules. +.TP +.B \-\-create-megatestdir +create a mega scratch package with the given modules one by one and all +together. +.TP +.B \-\-test +test the combination of the given modules (recommended to use CC="gcc \-Wall" +here). +.TP +.B \-\-megatest +test the given modules one by one and all together (recommended to use CC="gcc +\-Wall" here). +.TP +.B \-\-extract-description +extract the description. +.TP +.B \-\-extract-filelist +extract the list of files. +.TP +.B \-\-extract-dependencies +extract the dependencies. +.TP +.B \-\-extract-autoconf-snippet +extract the snippet for configure.ac. +.TP +.B \-\-extract-automake-snippet +extract the snippet for lib/Makefile.am. +.TP +.B \-\-extract-include-directive +extract the #include directive. +.TP +.B \-\-extract-license +report the license terms of the source files under lib/. +.TP +.B \-\-extract-maintainer +report the maintainer(s) inside gnulib. +.TP +.B \-\-extract-tests-module +report the unit test module, if it exists. +.PP + +Options: +.TP +.B \-\-dir=DIRECTORY +specify the target directory. For \-\-import, this specifies where your +configure.ac can be found. Defaults to current directory. +.TP +.B \-\-lib=LIBRARY +Specify the library name. Defaults to 'libgnu'. +.TP +.B \-\-source-base=DIRECTORY +Directory relative \-\-dir where source code is placed (default "lib"), for +\-\-import. +.TP +.B \-\-m4-base=DIRECTORY +Directory relative \-\-dir where *.m4 macros are placed (default "m4"), for +\-\-import. +.TP +.B \-\-tests-base=DIRECTORY +Directory relative \-\-dir where unit tests are placed (default "tests"), for +\-\-import. +.TP +.B \-\-aux-dir=DIRECTORY +Directory relative \-\-dir where auxiliary build tools are placed (default +"build-aux"). +.TP +.B \-\-with-tests +Include unit tests for the included modules. +.TP +.B \-\-avoid=MODULE +Avoid including the given MODULE. Useful if you have code that provides +equivalent functionality. This option can be repeated. +.TP +.B \-\-lgpl +Abort if modules aren't available under the LGPL. Also modify license template +from GPL to LGPL. +.TP +.B \-\-libtool +Use libtool rules, for \-\-import. +.TP +.B \-\-macro-prefix=PREFIX +Specify the prefix of the macros 'gl_EARLY' and 'gl_INIT'. Default is 'gl'. +.TP +.B \-\-no-changelog +don't update or create ChangeLog files. +.TP +.B \-\-dry-run +For \-\-import, only print what would have been done. +.TP +.B -s, \-\-symbolic, \-\-symlink +Make symbolic links instead of copying files. +.PP +.TP +.B \-h, \-\-help +Show summary of options. + +.SH BUGS +Report bugs to . + +.SH SEE ALSO +.BR check-module (1). + +.SH AUTHOR +gnulib was written by the Free Software Foundation and others (sources of various origins). +.PP +This manual page was written by Daniel Baumann , for the Debian project (but may be used by others). diff --git a/development/gnulib/slack-desc b/development/gnulib/slack-desc new file mode 100644 index 0000000000..1aa5347f47 --- /dev/null +++ b/development/gnulib/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +gnulib: gnulib (GNU portability library) +gnulib: +gnulib: The GNU portability library is a macro system and C declarations +gnulib: and definitions for commonly-used API elements and abstracted system +gnulib: behaviors. +gnulib: +gnulib: +gnulib: +gnulib: +gnulib: +gnulib: