This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "IPFire 3.x development tree".
The branch, master has been updated via a00d6e8e1ba50103623c660a174e9878c92f1542 (commit) via f924398e26c0be949f1573d4fa30fdb8d81264a2 (commit) via 8636219a6f6f089e90635e0cf628e2e25b2b4a96 (commit) via 6b9d40aefc6a853839cd78452abd75f5eaa6c09c (commit) via 7328d0ae84003146112fce06b7f3eccae78d39cf (commit) via 44c71deadc4ab42590288949562bcfb557a85ad4 (commit) via 2cf5d4a9f52ece5aa8e8d93a9bb36b86b9610ae5 (commit) via c7326a446118fd450e18632fb2812b2b69892288 (commit) via 5e58f1f5958b53e1aa49438f8e4cdf96070d737a (commit) via a83d63969a3eb4e327842071d82958521d3d3a62 (commit) via 1db4b1a699bcfe5cfd3aa28b1a6a46a5749a8778 (commit) via de389e5300a779219f59f1fb3f04d84d0696ddaa (commit) via f0b3d378dbd1b2b16ea72eff04d58b881dcd16d9 (commit) via a513be28723ab88da0a29f75d666767b3358c918 (commit) via 390adffdcc6ec161ade8e054f2b0482ce16a5172 (commit) via 52951781494b82d1e3d27ec7181e9f41d78a2f0f (commit) via 045b8d1f3ce627b0e13fb23508a0652ffc9aabfd (commit) via 88e99db116dadb0c962c32cbf36b2295a0803a06 (commit) via 492c939ae55d0203c65ff4f7acad787f0e55132f (commit) via c2401bb548b27898db24244f30789147156a4016 (commit) via 77ae4154949e5d8e2e806a2ac47e83c41d43d275 (commit) via e5b118dd9b57d839c0caf112de93d4dde328fdd2 (commit) via 4eda6defc92706d20517e93395a223904d27d3d3 (commit) via c98584366983343d228dac609d75530aae52c6e9 (commit) via 3c7a61e073317241ea6b335cf1564a773171dba9 (commit) via e2e2fc101069813613be4d7ac3ac9e7be73dfa71 (commit) via 78bddcefbacbdb6be220583f7ba865f0549cc766 (commit) via 052538b7a645d1f175b165e8478e5380f2789d50 (commit) via ab4899585469440ccc54c75dd087d2c784caee12 (commit) from 2832b22bf3dea1805f8ea87c46ec6f8bafce88db (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- commit a00d6e8e1ba50103623c660a174e9878c92f1542 Merge: f924398e26c0be949f1573d4fa30fdb8d81264a2 2832b22bf3dea1805f8ea87c46ec6f8bafce88db Author: Schantl Stefan Stevee@ipfire.org Date: Thu Mar 18 22:01:20 2010 +0100
Merge branch 'master' of ssh://git.ipfire.org/pub/git/ipfire-3.x into clean
Conflicts: pkgs/core/dejagnu/dejagnu.nm pkgs/core/squashfs-tools/squashfs-tools.nm
commit f924398e26c0be949f1573d4fa30fdb8d81264a2 Author: Schantl Stefan Stevee@ipfire.org Date: Wed Mar 17 13:20:40 2010 +0100
m4: Update to version 1.4.14.
commit 8636219a6f6f089e90635e0cf628e2e25b2b4a96 Author: Schantl Stefan Stevee@ipfire.org Date: Tue Mar 16 13:34:40 2010 +0100
bridge-utils: Clean up makefile.
commit 6b9d40aefc6a853839cd78452abd75f5eaa6c09c Author: Schantl Stefan Stevee@ipfire.org Date: Tue Mar 16 13:33:11 2010 +0100
boost: Clean up naoki-makefile.
commit 7328d0ae84003146112fce06b7f3eccae78d39cf Author: Schantl Stefan Stevee@ipfire.org Date: Tue Mar 16 12:23:37 2010 +0100
bison: Update to version 2.4.1.
commit 44c71deadc4ab42590288949562bcfb557a85ad4 Author: Schantl Stefan Stevee@ipfire.org Date: Tue Mar 16 12:18:07 2010 +0100
bison: Fix testsuite.
commit 2cf5d4a9f52ece5aa8e8d93a9bb36b86b9610ae5 Author: Schantl Stefan Stevee@ipfire.org Date: Mon Mar 15 22:50:37 2010 +0100
bison: Clean up naoki-makefile.
commit c7326a446118fd450e18632fb2812b2b69892288 Author: Schantl Stefan Stevee@ipfire.org Date: Mon Mar 15 22:46:03 2010 +0100
diffutils: Change testsuite information.
commit 5e58f1f5958b53e1aa49438f8e4cdf96070d737a Author: Schantl Stefan Stevee@ipfire.org Date: Mon Mar 15 22:38:05 2010 +0100
diffutils: Add testsuite information.
commit a83d63969a3eb4e327842071d82958521d3d3a62 Author: Schantl Stefan Stevee@ipfire.org Date: Mon Mar 15 22:35:46 2010 +0100
diffutils: Update to version 2.9
Fix issure #574. * Add new i18n patch.
commit 1db4b1a699bcfe5cfd3aa28b1a6a46a5749a8778 Author: Schantl Stefan Stevee@ipfire.org Date: Mon Mar 15 22:23:13 2010 +0100
diffutils: Clean up naoki-makefile.
commit de389e5300a779219f59f1fb3f04d84d0696ddaa Author: Schantl Stefan Stevee@ipfire.org Date: Mon Mar 15 15:10:43 2010 +0100
bc: Fix layout of naoki-makefile.
commit f0b3d378dbd1b2b16ea72eff04d58b881dcd16d9 Author: Schantl Stefan Stevee@ipfire.org Date: Mon Mar 15 15:08:49 2010 +0100
dejagnu: Build devel package.
commit a513be28723ab88da0a29f75d666767b3358c918 Author: Schantl Stefan Stevee@ipfire.org Date: Mon Mar 15 15:07:35 2010 +0100
dejagnu: Fix man directory.
commit 390adffdcc6ec161ade8e054f2b0482ce16a5172 Author: Schantl Stefan Stevee@ipfire.org Date: Mon Mar 15 11:44:55 2010 +0100
bc: Clean up naoki-makefile.
commit 52951781494b82d1e3d27ec7181e9f41d78a2f0f Author: Schantl Stefan Stevee@ipfire.org Date: Mon Mar 15 01:23:24 2010 +0100
bash: Clean up naoki-makefile.
commit 045b8d1f3ce627b0e13fb23508a0652ffc9aabfd Author: Schantl Stefan Stevee@ipfire.org Date: Mon Mar 15 01:18:17 2010 +0100
readline: Build devel package.
commit 88e99db116dadb0c962c32cbf36b2295a0803a06 Author: Schantl Stefan Stevee@ipfire.org Date: Mon Mar 15 01:17:52 2010 +0100
readline: Clean up naoki-makefile.
commit 492c939ae55d0203c65ff4f7acad787f0e55132f Author: Schantl Stefan Stevee@ipfire.org Date: Mon Mar 15 01:08:00 2010 +0100
attr: Clean up naoki-makefile.
commit c2401bb548b27898db24244f30789147156a4016 Author: Schantl Stefan Stevee@ipfire.org Date: Sun Mar 14 21:48:22 2010 +0100
aiccu: Remove command to build an empty devel package.
commit 77ae4154949e5d8e2e806a2ac47e83c41d43d275 Author: Schantl Stefan Stevee@ipfire.org Date: Sun Mar 14 21:46:00 2010 +0100
aicu: Add fixing of libtool rpath.
* Can´t remove overwriting of STAGE_BUILD.
commit e5b118dd9b57d839c0caf112de93d4dde328fdd2 Author: Schantl Stefan Stevee@ipfire.org Date: Sun Mar 14 21:31:35 2010 +0100
m4: Clean up naoki-makefile.
commit 4eda6defc92706d20517e93395a223904d27d3d3 Author: Schantl Stefan Stevee@ipfire.org Date: Sun Mar 14 20:53:18 2010 +0100
squashfs-tools: Remove command to build an empty devel package.
commit c98584366983343d228dac609d75530aae52c6e9 Author: Schantl Stefan Stevee@ipfire.org Date: Sun Mar 14 20:52:03 2010 +0100
beep: Clean up naoki-makefile.
* Can´t remove overwriting of STAGE_BUILD and STAGE_INSTALL. * Add fixing of libtool rpath.
commit 3c7a61e073317241ea6b335cf1564a773171dba9 Author: Schantl Stefan Stevee@ipfire.org Date: Sun Mar 14 20:42:52 2010 +0100
squashfs-tools: Clean up naoki-makefile.
* Can´t remove overwriting of STAGE_BUILD and STAGE_INSTALL. * Add fixing of libtool rpath. * Add build dependency zlib.
commit e2e2fc101069813613be4d7ac3ac9e7be73dfa71 Author: Schantl Stefan Stevee@ipfire.org Date: Sun Mar 14 20:33:47 2010 +0100
zlib: Remove unneeded prefix from naoki-makefile.
commit 78bddcefbacbdb6be220583f7ba865f0549cc766 Author: Schantl Stefan Stevee@ipfire.org Date: Sun Mar 14 20:31:00 2010 +0100
zlib: Clean up naoki-makefile.
commit 052538b7a645d1f175b165e8478e5380f2789d50 Author: Schantl Stefan Stevee@ipfire.org Date: Sun Mar 14 20:13:46 2010 +0100
acl: Clean up naoki-makefile.
commit ab4899585469440ccc54c75dd087d2c784caee12 Author: Schantl Stefan Stevee@ipfire.org Date: Sun Mar 14 19:57:41 2010 +0100
naoki: Add new targets.
I added new targets for commands bevore the "./configure" command, to add customflags to the "make build" command and for the "make install" command, to prevent overwriting the whole stage.
-----------------------------------------------------------------------
Summary of changes: pkgs/Functions | 9 +- pkgs/core/acl/acl.nm | 20 +- pkgs/core/aiccu/aiccu.nm | 5 +- pkgs/core/attr/attr.nm | 23 +- pkgs/core/bash/bash.nm | 24 +- pkgs/core/bc/bc.nm | 16 +- pkgs/core/beep/beep.nm | 1 + pkgs/core/bison/bison.nm | 24 +- .../bison/patches/bison-2.4-reap_subpipe.patch | 87 +++ pkgs/core/boost/boost.nm | 4 - pkgs/core/bridge-utils/bridge-utils.nm | 7 +- pkgs/core/dejagnu/dejagnu.nm | 7 + pkgs/core/diffutils/diffutils.nm | 7 +- .../diffutils/patches/diffutils-2.8.1-i18n-1.patch | 802 -------------------- .../diffutils/patches/diffutils-2.9-i18n-1.patch | 768 +++++++++++++++++++ pkgs/core/m4/m4.nm | 20 +- pkgs/core/readline/readline.nm | 19 +- pkgs/core/squashfs-tools/squashfs-tools.nm | 3 + pkgs/core/zlib/zlib.nm | 17 +- 19 files changed, 922 insertions(+), 941 deletions(-) create mode 100644 pkgs/core/bison/patches/bison-2.4-reap_subpipe.patch delete mode 100644 pkgs/core/diffutils/patches/diffutils-2.8.1-i18n-1.patch create mode 100644 pkgs/core/diffutils/patches/diffutils-2.9-i18n-1.patch
Difference in files: diff --git a/pkgs/Functions b/pkgs/Functions index 9f8b7b1..867de5a 100644 --- a/pkgs/Functions +++ b/pkgs/Functions @@ -111,20 +111,25 @@ define STAGE_PREPARE $(STAGE_PREPARE_CMDS2) endef
+STAGE_BUILD_TARGETS = + define STAGE_BUILD cd $(DIR_APP) && \ + $(CONFIGURE_ENVIRONMENT) \ ./configure \ $(CONFIGURE_OPTIONS)
$(DO_FIX_LIBTOOL) $(STAGE_CONFIGURE_CMDS)
- cd $(DIR_APP) && make $(PARALLELISMFLAGS) + cd $(DIR_APP) && make $(STAGE_BUILD_TARGETS) $(PARALLELISMFLAGS) $(STAGE_BUILD_CMDS) endef
+STAGE_INSTALL_TARGETS = install + define STAGE_INSTALL - cd $(DIR_APP) && make install $(if $(TOOLCHAIN),,DESTDIR=$(BUILDROOT)) + cd $(DIR_APP) && make $(STAGE_INSTALL_TARGETS) $(if $(TOOLCHAIN),,DESTDIR=$(BUILDROOT))
$(STAGE_INSTALL_CMDS) endef diff --git a/pkgs/core/acl/acl.nm b/pkgs/core/acl/acl.nm index 99148a8..94d4adf 100644 --- a/pkgs/core/acl/acl.nm +++ b/pkgs/core/acl/acl.nm @@ -46,22 +46,14 @@ PKG_DEPS += attr libnfsidmap
PKG_TARBALL = $(THISAPP).tar.gz
-############################################################################### - -define STAGE_BUILD - cd $(DIR_APP) && \ - ./configure \ - --prefix=/usr \ - --bindir=/bin \ - --disable-static \ - --mandir=/usr/share/man - - cd $(DIR_APP) && make LIBTOOL="libtool --tag=CC" #$(PARALLELISMFLAGS) -endef +STAGE_BUILD_TARGETS += LIBTOOL="libtool --tag=CC"
-define STAGE_INSTALL - cd $(DIR_APP) && make install DESTDIR=$(BUILDROOT) +CONFIGURE_OPTIONS += \ + --bindir=/bin \ + --disable-static \ + --mandir=/usr/share/man
+define STAGE_INSTALL_CMDS -mkdir -pv $(BUILDROOT)/{,usr/}lib $(BUILDROOT)/usr/include/{acl,sys} install -v -m0755 $(DIR_APP)/libacl/.libs/libacl.so.1.2.0 $(BUILDROOT)/lib ln -vsf libacl.so.1.2.0 $(BUILDROOT)/lib/libacl.so.1 diff --git a/pkgs/core/aiccu/aiccu.nm b/pkgs/core/aiccu/aiccu.nm index c105fc1..3b1a514 100644 --- a/pkgs/core/aiccu/aiccu.nm +++ b/pkgs/core/aiccu/aiccu.nm @@ -44,11 +44,10 @@ endef
PKG_TARBALL = $(THISAPP).tar.gz
-define STAGE_PREPARE_CMDS - mv /usr/src/$(PKG_NAME) /usr/src/$(PKG_NAME)-$(PKG_VER) -endef +DIR_APP = $(DIR_SRC)/$(PKG_NAME)
define STAGE_BUILD + $(DO_FIX_LIBTOOL) cd $(DIR_APP) && make $(PARALLELISMFLAGS) RPM_OPT_FLAGS="$(CFLAGS)" endef
diff --git a/pkgs/core/attr/attr.nm b/pkgs/core/attr/attr.nm index 3bace1f..ba9877f 100644 --- a/pkgs/core/attr/attr.nm +++ b/pkgs/core/attr/attr.nm @@ -34,9 +34,10 @@ PKG_URL = http://oss.sgi.com/projects/xfs/ PKG_LICENSE = GPLv2+ LGPLv2+ PKG_SUMMARY = Tools for extended attribute support.
-PKG_PACKAGES += $(PKG_NAME_REAL)-devel PKG_BUILD_DEPS+= gettext gzip libtool make sed
+PKG_PACKAGES += $(PKG_NAME_REAL)-devel + define PKG_DESCRIPTION A set of tools for manipulating extended attributes on filesystem \ objects. @@ -44,23 +45,11 @@ endef
PKG_TARBALL = $(THISAPP).tar.gz
-############################################################################### -# Installation Details -############################################################################### - -define STAGE_BUILD - cd $(DIR_APP) && \ - ./configure \ - --prefix=/usr \ - --bindir=/bin \ - --enable-shared - - cd $(DIR_APP) && make #$(PARALLELISMFLAGS) -endef - -define STAGE_INSTALL - cd $(DIR_APP) && make install DESTDIR=$(BUILDROOT) +CONFIGURE_OPTIONS += \ + --bindir=/bin \ + --enable-shared
+define STAGE_INSTALL_CMDS -mkdir -pv $(BUILDROOT)/{,usr/}lib install -v -m0755 $(DIR_APP)/libattr/.libs/libattr.so.1.1.0 $(BUILDROOT)/lib ln -vsf libattr.so.1.1.0 $(BUILDROOT)/lib/libattr.so.1 diff --git a/pkgs/core/bash/bash.nm b/pkgs/core/bash/bash.nm index 8bdb9b8..0f07d05 100644 --- a/pkgs/core/bash/bash.nm +++ b/pkgs/core/bash/bash.nm @@ -56,24 +56,12 @@ define STAGE_PREPARE_CMDS Makefile.in endef
-define STAGE_BUILD - cd $(DIR_APP) && \ - ac_cv_func_working_mktime=yes \ - ./configure \ - --prefix=/usr \ - --bindir=/bin \ - --without-bash-malloc \ - --with-installed-readline - - # remove rpath from libtool - @if [ -e "libtool" ]; then \ - sed -i libtool \ - -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \ - -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g'; \ - fi - - cd $(DIR_APP) && make #$(PARALLELISMFLAGS) -endef +CONFIGURE_ENVIRONMENT += ac_cv_func_working_mktime=yes + +CONFIGURE_OPTIONS += \ + --bindir=/bin \ + --without-bash-malloc \ + --with-installed-readline
# Test hangs forever #define STAGE_TEST diff --git a/pkgs/core/bc/bc.nm b/pkgs/core/bc/bc.nm index ed3cc13..49ed1d1 100644 --- a/pkgs/core/bc/bc.nm +++ b/pkgs/core/bc/bc.nm @@ -44,9 +44,9 @@ endef
PKG_TARBALL = $(THISAPP).tar.gz
-############################################################################### -# Installation Details -############################################################################### +CONFIGURE_OPTIONS += \ + --mandir=/usr/share/man \ + --disable-static
define STAGE_PREPARE_CMDS cd $(DIR_APP) && sed -i '/PROTO.*readline/d' bc/scan.l @@ -54,13 +54,3 @@ define STAGE_PREPARE_CMDS cd $(DIR_APP) && sed -i '/stdlib/a #include <string.h>' lib/number.c cd $(DIR_APP) && sed -i 's/program.*save/static &/' bc/load.c endef - -define STAGE_BUILD - cd $(DIR_APP) && \ - ./configure \ - --prefix=/usr \ - --disable-static \ - --mandir=/usr/share/man - - cd $(DIR_APP) && make $(PARALLELISMFLAGS) -endef diff --git a/pkgs/core/beep/beep.nm b/pkgs/core/beep/beep.nm index 1688b46..dda6808 100644 --- a/pkgs/core/beep/beep.nm +++ b/pkgs/core/beep/beep.nm @@ -46,6 +46,7 @@ endef PKG_TARBALL = $(THISAPP).tar.gz
define STAGE_BUILD + $(DO_FIX_LIBTOOL) cd $(DIR_APP) && make $(PARALLELISMFLAGS) endef
diff --git a/pkgs/core/bison/bison.nm b/pkgs/core/bison/bison.nm index 065442e..1d856c6 100644 --- a/pkgs/core/bison/bison.nm +++ b/pkgs/core/bison/bison.nm @@ -25,7 +25,7 @@ include $(PKGROOT)/Include
PKG_NAME = bison -PKG_VER = 2.4 +PKG_VER = 2.4.1 PKG_REL = 0
PKG_MAINTAINER = @@ -41,27 +41,15 @@ endef
PKG_TARBALL = $(THISAPP).tar.bz2
-############################################################################### -# Installation Details -############################################################################### - -define STAGE_BUILD - cd $(DIR_APP) && \ - ./configure \ - --prefix=/usr - +define STAGE_CONFIGURE_CMDS cd $(DIR_APP) && echo '#define YYENABLE_NLS 1' >> lib/config.h - cd $(DIR_APP) && make $(PARALLELISMFLAGS) endef
-# fails -#define STAGE_TEST -# cd $(DIR_APP) && make check -#endef - -define STAGE_INSTALL - cd $(DIR_APP) && make install DESTDIR=$(BUILDROOT) +define STAGE_TEST + cd $(DIR_APP) && make check +endef
+define STAGE_INSTALL_CMDS -mkdir -pv $(BUILDROOT)/usr/lib cd $(DIR_APP)/lib && gcc -shared -Wl,-soname,liby.so.$(PKG_VER) \ -o liby.so.$(PKG_VER) $(CFLAGS) main.o yyerror.o diff --git a/pkgs/core/bison/patches/bison-2.4-reap_subpipe.patch b/pkgs/core/bison/patches/bison-2.4-reap_subpipe.patch new file mode 100644 index 0000000..3f72c3e --- /dev/null +++ b/pkgs/core/bison/patches/bison-2.4-reap_subpipe.patch @@ -0,0 +1,87 @@ +diff -urp bison-2.4-pm/lib/subpipe.c bison-2.4/lib/subpipe.c +--- bison-2.4-pm/lib/subpipe.c 2008-07-14 10:56:12.000000000 +0200 ++++ bison-2.4/lib/subpipe.c 2008-11-20 14:37:42.000000000 +0100 +@@ -143,7 +143,9 @@ create_subpipe (char const * const *argv + } + + +-/* Wait for the subprocess to exit. */ ++/* Wait for the subprocess to exit. PROGRAM==NULL means errors ++ shouldn't be emitted, typically becuase we are reaping the subpipe ++ in response to some other error. */ + + void + reap_subpipe (pid_t pid, char const *program) +@@ -151,11 +153,14 @@ reap_subpipe (pid_t pid, char const *pro + #if HAVE_WAITPID || defined waitpid + int wstatus; + if (waitpid (pid, &wstatus, 0) < 0) +- error (EXIT_FAILURE, errno, "waitpid"); ++ { ++ if (program) ++ error (EXIT_FAILURE, errno, "waitpid"); ++ } + else + { + int status = WIFEXITED (wstatus) ? WEXITSTATUS (wstatus) : -1; +- if (status) ++ if (status && program) + error (EXIT_FAILURE, 0, + _(status == 126 + ? "subsidiary program `%s' could not be invoked" +diff -urp bison-2.4-pm/src/output.c bison-2.4/src/output.c +--- bison-2.4-pm/src/output.c 2008-11-02 19:09:10.000000000 +0100 ++++ bison-2.4/src/output.c 2008-11-20 14:39:08.000000000 +0100 +@@ -467,6 +467,21 @@ prepare_actions (void) + | Call the skeleton parser. | + `---------------------------*/ + ++static pid_t pid = 0; ++ ++/* Clean up opened pipe. */ ++static void ++die (void) ++{ ++ static int dying = 0; ++ if (pid && !dying) ++ { ++ dying = 1; ++ reap_subpipe (pid, NULL); ++ pid = 0; ++ } ++} ++ + static void + output_skeleton (void) + { +@@ -474,7 +489,6 @@ output_skeleton (void) + FILE *out; + int filter_fd[2]; + char const *argv[9]; +- pid_t pid; + + /* Compute the names of the package data dir and skeleton files. */ + char const m4sugar[] = "m4sugar/m4sugar.m4"; +@@ -586,6 +600,7 @@ output_skeleton (void) + scan_skel (in); + xfclose (in); + reap_subpipe (pid, m4); ++ pid = 0; + timevar_pop (TV_M4); + } + +@@ -653,6 +669,14 @@ prepare (void) + void + output (void) + { ++ /* Register shutdown handler. */ ++ static int registered = 0; ++ if (!registered) ++ { ++ registered = 1; ++ atexit (die); ++ } ++ + obstack_init (&format_obstack); + + prepare_symbols (); diff --git a/pkgs/core/boost/boost.nm b/pkgs/core/boost/boost.nm index f0d26ed..174c4f2 100644 --- a/pkgs/core/boost/boost.nm +++ b/pkgs/core/boost/boost.nm @@ -59,10 +59,6 @@ PARALLELISMFLAGS := -j3
DIR_APP = $(DIR_SRC)/$(PKG_NAME)_$(subst .,_,$(PKG_VER))
-############################################################################### -# Installation Details -############################################################################### - define STAGE_PREPARE_CMDS # Let bjam use our own cflags cd $(DIR_APP) && sed -e "s/-O3/$(CFLAGS)/g" -i tools/build/v2/tools/gcc.jam diff --git a/pkgs/core/bridge-utils/bridge-utils.nm b/pkgs/core/bridge-utils/bridge-utils.nm index 16555ee..4ec5d37 100644 --- a/pkgs/core/bridge-utils/bridge-utils.nm +++ b/pkgs/core/bridge-utils/bridge-utils.nm @@ -46,11 +46,8 @@ endef
PKG_TARBALL = $(THISAPP).tar.gz
-CONFIGURE_OPTIONS += --sbindir=/sbin - -############################################################################### -# Installation Details -############################################################################### +CONFIGURE_OPTIONS += \ + --sbindir=/sbin
define STAGE_PREPARE_CMDS cd $(DIR_APP) && autoconf diff --git a/pkgs/core/dejagnu/dejagnu.nm b/pkgs/core/dejagnu/dejagnu.nm index bab9434..bbd74ac 100644 --- a/pkgs/core/dejagnu/dejagnu.nm +++ b/pkgs/core/dejagnu/dejagnu.nm @@ -34,6 +34,8 @@ PKG_URL = http://www.gnu.org/software/dejagnu/ PKG_LICENSE = GPLv2+ PKG_SUMMARY = A front end for testing other programs
+PKG_PACKAGES += $(PKG_NAME_REAL)-devel + PKG_BUILD_DEPS+= bison PKG_DEPS += expect tcl
@@ -46,6 +48,11 @@ PKG_TARBALL = $(THISAPP).tar.gz CONFIGURE_OPTIONS += \ --mandir=/usr/share/man
+# Disabled because testsuite doesn't wort at the moment. +#define STAGE_TEST + #cd $(DIR_APP) && make check +#endef + define STAGE_INSTALL_CMDS cd $(DIR_APP) && make -C doc DESTDIR=$(BUILDROOT) install-man endef diff --git a/pkgs/core/diffutils/diffutils.nm b/pkgs/core/diffutils/diffutils.nm index 3fec25c..5b0f0cc 100644 --- a/pkgs/core/diffutils/diffutils.nm +++ b/pkgs/core/diffutils/diffutils.nm @@ -25,7 +25,7 @@ include $(PKGROOT)/Include
PKG_NAME = diffutils -PKG_VER = 2.8.1 +PKG_VER = 2.9 PKG_REL = 0
PKG_MAINTAINER = @@ -43,4 +43,7 @@ endef
PKG_TARBALL = $(THISAPP).tar.gz
-CONFIGURE_OPTIONS += --mandir=/usr/share +CONFIGURE_OPTIONS += \ + --mandir=/usr/share + +# This package doesn't have a testsuite. diff --git a/pkgs/core/diffutils/patches/diffutils-2.8.1-i18n-1.patch b/pkgs/core/diffutils/patches/diffutils-2.8.1-i18n-1.patch deleted file mode 100644 index 488885b..0000000 --- a/pkgs/core/diffutils/patches/diffutils-2.8.1-i18n-1.patch +++ /dev/null @@ -1,802 +0,0 @@ -Submitted by: Alexander E. Patrakov -Date: 2005-08-13 -Initial Package Version: 2.8.1 -Upstream Status: Unknown, but required for LSB >= 2.0 certification -Origin: RedHat -Description: Fixes treatment of whitespace in multibyte locales. - ---- diffutils-2.8.4/src/diff.c.i18n 2002-06-17 01:55:42.000000000 -0400 -+++ diffutils-2.8.4/src/diff.c 2002-11-16 18:41:37.000000000 -0500 -@@ -275,6 +275,13 @@ - re_set_syntax (RE_SYNTAX_GREP | RE_NO_POSIX_BACKTRACKING); - excluded = new_exclude (); - -+#ifdef HANDLE_MULTIBYTE -+ if (MB_CUR_MAX > 1) -+ lines_differ = lines_differ_multibyte; -+ else -+#endif -+ lines_differ = lines_differ_singlebyte; -+ - /* Decode the options. */ - - while ((c = getopt_long (argc, argv, shortopts, longopts, 0)) != -1) ---- diffutils-2.8.4/src/diff.h.i18n 2002-11-16 18:31:32.000000000 -0500 -+++ diffutils-2.8.4/src/diff.h 2002-11-16 18:48:58.000000000 -0500 -@@ -23,6 +23,19 @@ - #include "system.h" - #include <stdio.h> - -+/* For platform which support the ISO C amendement 1 functionality we -+ support user defined character classes. */ -+#if defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H -+/* Solaris 2.5 has a bug: <wchar.h> must be included before <wctype.h>. */ -+# include <wchar.h> -+# include <wctype.h> -+# if defined (HAVE_MBRTOWC) -+# define HANDLE_MULTIBYTE 1 -+# endif -+#endif -+ -+#define TAB_WIDTH 8 -+ - /* What kind of changes a hunk contains. */ - enum changes - { -@@ -350,7 +363,13 @@ - extern char const pr_program[]; - char *concat (char const *, char const *, char const *); - char *dir_file_pathname (char const *, char const *); --bool lines_differ (char const *, char const *); -+ -+bool (*lines_differ) (char const *, char const *); -+bool lines_differ_singlebyte (char const *, char const *); -+#ifdef HANDLE_MULTIBYTE -+bool lines_differ_multibyte (char const *, char const *); -+#endif -+ - lin translate_line_number (struct file_data const *, lin); - struct change *find_change (struct change *); - struct change *find_reverse_change (struct change *); ---- diffutils-2.8.4/src/io.c.i18n 2002-06-11 02:06:32.000000000 -0400 -+++ diffutils-2.8.4/src/io.c 2002-11-16 18:57:30.000000000 -0500 -@@ -26,6 +26,7 @@ - #include <regex.h> - #include <setmode.h> - #include <xalloc.h> -+#include <assert.h> - - /* Rotate an unsigned value to the left. */ - #define ROL(v, n) ((v) << (n) | (v) >> (sizeof (v) * CHAR_BIT - (n))) -@@ -213,6 +214,28 @@ - - /* Split the file into lines, simultaneously computing the equivalence - class for each line. */ -+#ifdef HANDLE_MULTIBYTE -+# define MBC2WC(P, END, MBLENGTH, WC, STATE, CONVFAIL) \ -+do \ -+{ \ -+ mbstate_t state_bak = STATE; \ -+ \ -+ CONVFAIL = 0; \ -+ MBLENGTH = mbrtowc (&WC, P, END - (char const *)P, &STATE); \ -+ \ -+ switch (MBLENGTH) \ -+ { \ -+ case (size_t)-2: \ -+ case (size_t)-1: \ -+ STATE = state_bak; \ -+ ++CONVFAIL; \ -+ /* Fall through. */ \ -+ case 0: \ -+ MBLENGTH = 1; \ -+ } \ -+} \ -+while (0) -+#endif - - static void - find_and_hash_each_line (struct file_data *current) -@@ -239,12 +262,280 @@ - bool same_length_diff_contents_compare_anyway = - diff_length_compare_anyway | ignore_case; - -+#ifdef HANDLE_MULTIBYTE -+ wchar_t wc; -+ size_t mblength; -+ mbstate_t state; -+ int convfail; -+ -+ memset (&state, '\0', sizeof (mbstate_t)); -+#endif -+ - while ((char const *) p < suffix_begin) - { - char const *ip = (char const *) p; - - h = 0; -+#ifdef HANDLE_MULTIBYTE -+ if (MB_CUR_MAX > 1) -+ { -+ wchar_t lo_wc; -+ char mbc[MB_LEN_MAX]; -+ mbstate_t state_wc; -+ -+ /* Hash this line until we find a newline. */ -+ switch (ignore_white_space) -+ { -+ case IGNORE_ALL_SPACE: -+ while (1) -+ { -+ if (*p == '\n') -+ { -+ ++p; -+ break; -+ } -+ -+ MBC2WC (p, suffix_begin, mblength, wc, state, convfail); -+ -+ if (convfail) -+ mbc[0] = *p++; -+ else if (!iswspace (wc)) -+ { -+ bool flag = 0; -+ -+ if (ignore_case) -+ { -+ lo_wc = towlower (wc); -+ if (lo_wc != wc) -+ { -+ flag = 1; -+ -+ p += mblength; -+ memset (&state_wc, '\0', sizeof(mbstate_t)); -+ mblength = wcrtomb (mbc, lo_wc, &state_wc); -+ -+ assert (mblength != (size_t)-1 && -+ mblength != (size_t)-2); -+ -+ mblength = (mblength < 1) ? 1 : mblength; -+ } -+ } -+ -+ if (!flag) -+ { -+ for (i = 0; i < mblength; i++) -+ mbc[i] = *p++; -+ } -+ } -+ else -+ { -+ p += mblength; -+ continue; -+ } -+ -+ for (i = 0; i < mblength; i++) -+ h = HASH (h, mbc[i]); -+ } -+ break; -+ -+ case IGNORE_SPACE_CHANGE: -+ while (1) -+ { -+ if (*p == '\n') -+ { -+ ++p; -+ break; -+ } - -+ MBC2WC (p, suffix_begin, mblength, wc, state, convfail); -+ -+ if (!convfail && iswspace (wc)) -+ { -+ while (1) -+ { -+ if (*p == '\n') -+ { -+ ++p; -+ goto hashing_done; -+ } -+ -+ p += mblength; -+ MBC2WC (p, suffix_begin, mblength, wc, state, convfail); -+ if (convfail || (!convfail && !iswspace (wc))) -+ break; -+ } -+ h = HASH (h, ' '); -+ } -+ -+ /* WC is now the first non-space. */ -+ if (convfail) -+ mbc[0] = *p++; -+ else -+ { -+ bool flag = 0; -+ -+ if (ignore_case) -+ { -+ lo_wc = towlower (wc); -+ if (lo_wc != wc) -+ { -+ flag = 1; -+ -+ p += mblength; -+ memset (&state_wc, '\0', sizeof(mbstate_t)); -+ mblength = wcrtomb (mbc, lo_wc, &state_wc); -+ -+ assert (mblength != (size_t)-1 && -+ mblength != (size_t)-2); -+ -+ mblength = (mblength < 1) ? 1 : mblength; -+ } -+ } -+ -+ if (!flag) -+ { -+ for (i = 0; i < mblength; i++) -+ mbc[i] = *p++; -+ } -+ } -+ -+ for (i = 0; i < mblength; i++) -+ h = HASH (h, mbc[i]); -+ } -+ break; -+ -+ case IGNORE_TAB_EXPANSION: -+ { -+ size_t column = 0; -+ -+ while (1) -+ { -+ if (*p == '\n') -+ { -+ ++p; -+ break; -+ } -+ -+ MBC2WC (p, suffix_begin, mblength, wc, state, convfail); -+ -+ if (convfail) -+ { -+ h = HASH (h, *p++); -+ ++column; -+ } -+ else -+ { -+ bool flag; -+ -+ switch (wc) -+ { -+ case L'\b': -+ column -= 0 < column; -+ h = HASH (h, '\b'); -+ ++p; -+ break; -+ -+ case L'\t': -+ { -+ int repetitions; -+ -+ repetitions = TAB_WIDTH - column % TAB_WIDTH; -+ column += repetitions; -+ do -+ h = HASH (h, ' '); -+ while (--repetitions != 0); -+ ++p; -+ } -+ break; -+ -+ case L'\r': -+ column = 0; -+ h = HASH (h, '\r'); -+ ++p; -+ break; -+ -+ default: -+ flag = 0; -+ column += wcwidth (wc); -+ if (ignore_case) -+ { -+ lo_wc = towlower (wc); -+ if (lo_wc != wc) -+ { -+ flag = 1; -+ p += mblength; -+ memset (&state_wc, '\0', sizeof(mbstate_t)); -+ mblength = wcrtomb (mbc, lo_wc, &state_wc); -+ -+ assert (mblength != (size_t)-1 && -+ mblength != (size_t)-2); -+ -+ mblength = (mblength < 1) ? 1 : mblength; -+ } -+ } -+ -+ if (!flag) -+ { -+ for (i = 0; i < mblength; i++) -+ mbc[i] = *p++; -+ } -+ -+ for (i = 0; i < mblength; i++) -+ h = HASH (h, mbc[i]); -+ } -+ } -+ } -+ } -+ break; -+ -+ default: -+ while (1) -+ { -+ if (*p == '\n') -+ { -+ ++p; -+ break; -+ } -+ -+ MBC2WC (p, suffix_begin, mblength, wc, state, convfail); -+ -+ if (convfail) -+ mbc[0] = *p++; -+ else -+ { -+ int flag = 0; -+ -+ if (ignore_case) -+ { -+ lo_wc = towlower (wc); -+ if (lo_wc != wc) -+ { -+ flag = 1; -+ p += mblength; -+ memset (&state_wc, '\0', sizeof(mbstate_t)); -+ mblength = wcrtomb (mbc, lo_wc, &state_wc); -+ -+ assert (mblength != (size_t)-1 && -+ mblength != (size_t)-2); -+ -+ mblength = (mblength < 1) ? 1 : mblength; -+ } -+ } -+ -+ if (!flag) -+ { -+ for (i = 0; i < mblength; i++) -+ mbc[i] = *p++; -+ } -+ } -+ -+ for (i = 0; i < mblength; i++) -+ h = HASH (h, mbc[i]); -+ } -+ } -+ } -+ else -+#endif - /* Hash this line until we find a newline. */ - if (ignore_case) - switch (ignore_white_space) ---- diffutils-2.8.4/src/side.c.i18n 2002-06-11 02:06:32.000000000 -0400 -+++ diffutils-2.8.4/src/side.c 2002-11-16 18:41:37.000000000 -0500 -@@ -73,11 +73,72 @@ - register size_t out_position = 0; - register char const *text_pointer = line[0]; - register char const *text_limit = line[1]; -+#if defined HAVE_WCHAR_H && defined HAVE_WCTYPE_H -+ unsigned char mbc[MB_LEN_MAX]; -+ wchar_t wc; -+ mbstate_t state, state_bak; -+ size_t mbc_pos, mblength; -+ int mbc_loading_flag = 0; -+ int wc_width; -+ -+ memset (&state, '\0', sizeof (mbstate_t)); -+#endif - - while (text_pointer < text_limit) - { - register unsigned char c = *text_pointer++; - -+#if defined HAVE_WCHAR_H && defined HAVE_WCTYPE_H -+ if (MB_CUR_MAX > 1 && mbc_loading_flag) -+ { -+ mbc_loading_flag = 0; -+ state_bak = state; -+ mbc[mbc_pos++] = c; -+ -+process_mbc: -+ mblength = mbrtowc (&wc, mbc, mbc_pos, &state); -+ -+ switch (mblength) -+ { -+ case (size_t)-2: /* Incomplete multibyte character. */ -+ mbc_loading_flag = 1; -+ state = state_bak; -+ break; -+ -+ case (size_t)-1: /* Invalid as a multibyte character. */ -+ if (in_position++ < out_bound) -+ { -+ out_position = in_position; -+ putc (mbc[0], out); -+ } -+ memmove (mbc, mbc + 1, --mbc_pos); -+ if (mbc_pos > 0) -+ { -+ mbc[mbc_pos] = '\0'; -+ goto process_mbc; -+ } -+ break; -+ -+ default: -+ wc_width = wcwidth (wc); -+ if (wc_width < 1) /* Unprintable multibyte character. */ -+ { -+ if (in_position <= out_bound) -+ fprintf (out, "%lc", (wint_t)wc); -+ } -+ else /* Printable multibyte character. */ -+ { -+ in_position += wc_width; -+ if (in_position <= out_bound) -+ { -+ out_position = in_position; -+ fprintf (out, "%lc", (wint_t)wc); -+ } -+ } -+ } -+ continue; -+ } -+#endif - switch (c) - { - case '\t': -@@ -135,8 +196,39 @@ - break; - - default: -- if (! ISPRINT (c)) -- goto control_char; -+#if defined HAVE_WCHAR_H && defined HAVE_WCTYPE_H -+ if (MB_CUR_MAX > 1) -+ { -+ memset (mbc, '\0', MB_LEN_MAX); -+ mbc_pos = 0; -+ mbc[mbc_pos++] = c; -+ state_bak = state; -+ -+ mblength = mbrtowc (&wc, mbc, mbc_pos, &state); -+ -+ /* The value of mblength is always less than 2 here. */ -+ switch (mblength) -+ { -+ case (size_t)-2: /* Incomplete multibyte character. */ -+ state = state_bak; -+ mbc_loading_flag = 1; -+ continue; -+ -+ case (size_t)-1: /* Invalid as a multibyte character. */ -+ state = state_bak; -+ break; -+ -+ default: -+ if (! iswprint (wc)) -+ goto control_char; -+ } -+ } -+ else -+#endif -+ { -+ if (! ISPRINT (c)) -+ goto control_char; -+ } - /* falls through */ - case ' ': - if (in_position++ < out_bound) ---- diffutils-2.8.4/src/util.c.i18n 2002-06-11 02:06:32.000000000 -0400 -+++ diffutils-2.8.4/src/util.c 2002-11-16 18:41:37.000000000 -0500 -@@ -321,7 +321,7 @@ - Return nonzero if the lines differ. */ - - bool --lines_differ (char const *s1, char const *s2) -+lines_differ_singlebyte (char const *s1, char const *s2) - { - register unsigned char const *t1 = (unsigned char const *) s1; - register unsigned char const *t2 = (unsigned char const *) s2; -@@ -450,6 +450,293 @@ - - return 1; - } -+ -+#ifdef HANDLE_MULTIBYTE -+# define MBC2WC(T, END, MBLENGTH, WC, STATE, CONVFAIL) \ -+do \ -+{ \ -+ mbstate_t bak = STATE; \ -+ \ -+ CONVFAIL = 0; \ -+ MBLENGTH = mbrtowc (&WC, T, END - T, &STATE); \ -+ \ -+ switch (MBLENGTH) \ -+ { \ -+ case (size_t)-2: \ -+ case (size_t)-1: \ -+ STATE = bak; \ -+ ++CONVFAIL; \ -+ /* Fall through. */ \ -+ case 0: \ -+ MBLENGTH = 1; \ -+ } \ -+} \ -+while (0) -+ -+bool -+lines_differ_multibyte (char const *s1, char const *s2) -+{ -+ unsigned char const *end1, *end2; -+ unsigned char c1, c2; -+ wchar_t wc1, wc2, wc1_bak, wc2_bak; -+ size_t mblen1, mblen2; -+ mbstate_t state1, state2, state1_bak, state2_bak; -+ int convfail1, convfail2, convfail1_bak, convfail2_bak; -+ -+ unsigned char const *t1 = (unsigned char const *) s1; -+ unsigned char const *t2 = (unsigned char const *) s2; -+ unsigned char const *t1_bak, *t2_bak; -+ size_t column = 0; -+ -+ if (ignore_white_space == IGNORE_NO_WHITE_SPACE && !ignore_case) -+ { -+ while (*t1 != '\n') -+ if (*t1++ != * t2++) -+ return 1; -+ return 0; -+ } -+ -+ memset (&state1, '\0', sizeof (mbstate_t)); -+ memset (&state2, '\0', sizeof (mbstate_t)); -+ -+ end1 = s1 + strlen (s1); -+ end2 = s2 + strlen (s2); -+ -+ while (1) -+ { -+ c1 = *t1; -+ c2 = *t2; -+ MBC2WC (t1, end1, mblen1, wc1, state1, convfail1); -+ MBC2WC (t2, end2, mblen2, wc2, state2, convfail2); -+ -+ /* Test for exact char equality first, since it's a common case. */ -+ if (convfail1 ^ convfail2) -+ break; -+ else if (convfail1 && convfail2 && c1 != c2) -+ break; -+ else if (!convfail1 && !convfail2 && wc1 != wc2) -+ { -+ switch (ignore_white_space) -+ { -+ case IGNORE_ALL_SPACE: -+ /* For -w, just skip past any white space. */ -+ while (1) -+ { -+ if (convfail1) -+ break; -+ else if (wc1 == L'\n' || !iswspace (wc1)) -+ break; -+ -+ t1 += mblen1; -+ c1 = *t1; -+ MBC2WC (t1, end1, mblen1, wc1, state1, convfail1); -+ } -+ -+ while (1) -+ { -+ if (convfail2) -+ break; -+ else if (wc2 == L'\n' || !iswspace (wc2)) -+ break; -+ -+ t2 += mblen2; -+ c2 = *t2; -+ MBC2WC (t2, end2, mblen2, wc2, state2, convfail2); -+ } -+ t1 += mblen1; -+ t2 += mblen2; -+ break; -+ -+ case IGNORE_SPACE_CHANGE: -+ /* For -b, advance past any sequence of white space in -+ line 1 and consider it just one space, or nothing at -+ all if it is at the end of the line. */ -+ if (wc1 != L'\n' && iswspace (wc1)) -+ { -+ size_t mblen_bak; -+ mbstate_t state_bak; -+ -+ do -+ { -+ t1 += mblen1; -+ mblen_bak = mblen1; -+ state_bak = state1; -+ MBC2WC (t1, end1, mblen1, wc1, state1, convfail1); -+ } -+ while (!convfail1 && (wc1 != L'\n' && iswspace (wc1))); -+ -+ state1 = state_bak; -+ mblen1 = mblen_bak; -+ t1 -= mblen1; -+ convfail1 = 0; -+ wc1 = L' '; -+ } -+ -+ /* Likewise for line 2. */ -+ if (wc2 != L'\n' && iswspace (wc2)) -+ { -+ size_t mblen_bak; -+ mbstate_t state_bak; -+ -+ do -+ { -+ t2 += mblen2; -+ mblen_bak = mblen2; -+ state_bak = state2; -+ MBC2WC (t2, end2, mblen2, wc2, state2, convfail2); -+ } -+ while (!convfail2 && (wc2 != L'\n' && iswspace (wc2))); -+ -+ state2 = state_bak; -+ mblen2 = mblen_bak; -+ t2 -= mblen2; -+ convfail2 = 0; -+ wc2 = L' '; -+ } -+ -+ if (wc1 != wc2) -+ { -+ if (wc2 == L' ' && wc1 != L'\n' && -+ t1 > (unsigned char const *)s1 && -+ !convfail1_bak && iswspace (wc1_bak)) -+ { -+ t1 = t1_bak; -+ wc1 = wc1_bak; -+ state1 = state1_bak; -+ convfail1 = convfail1_bak; -+ continue; -+ } -+ if (wc1 == L' ' && wc2 != L'\n' -+ && t2 > (unsigned char const *)s2 -+ && !convfail2_bak && iswspace (wc2_bak)) -+ { -+ t2 = t2_bak; -+ wc2 = wc2_bak; -+ state2 = state2_bak; -+ convfail2 = convfail2_bak; -+ continue; -+ } -+ } -+ -+ t1_bak = t1; t2_bak = t2; -+ wc1_bak = wc1; wc2_bak = wc2; -+ state1_bak = state1; state2_bak = state2; -+ convfail1_bak = convfail1; convfail2_bak = convfail2; -+ -+ if (wc1 == L'\n') -+ wc1 = L' '; -+ else -+ t1 += mblen1; -+ -+ if (wc2 == L'\n') -+ wc2 = L' '; -+ else -+ t2 += mblen2; -+ -+ break; -+ -+ case IGNORE_TAB_EXPANSION: -+ if ((wc1 == L' ' && wc2 == L'\t') -+ || (wc1 == L'\t' && wc2 == L' ')) -+ { -+ size_t column2 = column; -+ -+ while (1) -+ { -+ if (convfail1) -+ { -+ ++t1; -+ break; -+ } -+ else if (wc1 == L' ') -+ column++; -+ else if (wc1 == L'\t') -+ column += TAB_WIDTH - column % TAB_WIDTH; -+ else -+ { -+ t1 += mblen1; -+ break; -+ } -+ -+ t1 += mblen1; -+ c1 = *t1; -+ MBC2WC (t1, end1, mblen1, wc1, state1, convfail1); -+ } -+ -+ while (1) -+ { -+ if (convfail2) -+ { -+ ++t2; -+ break; -+ } -+ else if (wc2 == L' ') -+ column2++; -+ else if (wc2 == L'\t') -+ column2 += TAB_WIDTH - column2 % TAB_WIDTH; -+ else -+ { -+ t2 += mblen2; -+ break; -+ } -+ -+ t2 += mblen2; -+ c2 = *t2; -+ MBC2WC (t2, end2, mblen2, wc2, state2, convfail2); -+ } -+ -+ if (column != column2) -+ return 1; -+ } -+ else -+ { -+ t1 += mblen1; -+ t2 += mblen2; -+ } -+ break; -+ -+ case IGNORE_NO_WHITE_SPACE: -+ t1 += mblen1; -+ t2 += mblen2; -+ break; -+ } -+ -+ /* Lowercase all letters if -i is specified. */ -+ if (ignore_case) -+ { -+ if (!convfail1) -+ wc1 = towlower (wc1); -+ if (!convfail2) -+ wc2 = towlower (wc2); -+ } -+ -+ if (convfail1 ^ convfail2) -+ break; -+ else if (convfail1 && convfail2 && c1 != c2) -+ break; -+ else if (!convfail1 && !convfail2 && wc1 != wc2) -+ break; -+ } -+ else -+ { -+ t1_bak = t1; t2_bak = t2; -+ wc1_bak = wc1; wc2_bak = wc2; -+ state1_bak = state1; state2_bak = state2; -+ convfail1_bak = convfail1; convfail2_bak = convfail2; -+ -+ t1 += mblen1; t2 += mblen2; -+ } -+ -+ if (!convfail1 && wc1 == L'\n') -+ return 0; -+ -+ column += convfail1 ? 1 : -+ (wc1 == L'\t') ? TAB_WIDTH - column % TAB_WIDTH : wcwidth (wc1); -+ } -+ -+ return 1; -+} -+#endif - - /* Find the consecutive changes at the start of the script START. - Return the last link before the first gap. */ diff --git a/pkgs/core/diffutils/patches/diffutils-2.9-i18n-1.patch b/pkgs/core/diffutils/patches/diffutils-2.9-i18n-1.patch new file mode 100644 index 0000000..b6f12ef --- /dev/null +++ b/pkgs/core/diffutils/patches/diffutils-2.9-i18n-1.patch @@ -0,0 +1,768 @@ +--- diffutils-2.9/src/diff.c 2010-02-11 10:39:17.000000000 +0100 ++++ diffutils-2.9.mod/src/diff.c 2010-02-13 15:28:22.268208253 +0100 +@@ -284,6 +284,13 @@ + re_set_syntax (RE_SYNTAX_GREP | RE_NO_POSIX_BACKTRACKING); + excluded = new_exclude (); + ++#ifdef HANDLE_MULTIBYTE ++ if (MB_CUR_MAX > 1) ++ lines_differ = lines_differ_multibyte; ++ else ++#endif ++ lines_differ = lines_differ_singlebyte; ++ + /* Decode the options. */ + + while ((c = getopt_long (argc, argv, shortopts, longopts, NULL)) != -1) +--- diffutils-2.9/src/diff.h 2010-02-11 10:05:57.000000000 +0100 ++++ diffutils-2.9.mod/src/diff.h 2010-02-13 15:28:22.269208190 +0100 +@@ -23,6 +23,19 @@ + #include <stdio.h> + #include <unlocked-io.h> + ++/* For platform which support the ISO C amendement 1 functionality we ++ support user defined character classes. */ ++#if defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H ++/* Solaris 2.5 has a bug: <wchar.h> must be included before <wctype.h>. */ ++# include <wchar.h> ++# include <wctype.h> ++# if defined (HAVE_MBRTOWC) ++# define HANDLE_MULTIBYTE 1 ++# endif ++#endif ++ ++#define TAB_WIDTH 8 ++ + /* What kind of changes a hunk contains. */ + enum changes + { +@@ -350,7 +363,13 @@ + extern char const pr_program[]; + char *concat (char const *, char const *, char const *); + char *dir_file_pathname (char const *, char const *); +-bool lines_differ (char const *, char const *); ++ ++bool (*lines_differ) (char const *, char const *); ++bool lines_differ_singlebyte (char const *, char const *); ++#ifdef HANDLE_MULTIBYTE ++bool lines_differ_multibyte (char const *, char const *); ++#endif ++ + lin translate_line_number (struct file_data const *, lin); + struct change *find_change (struct change *); + struct change *find_reverse_change (struct change *); +--- diffutils-2.9/src/io.c 2010-02-05 09:10:15.000000000 +0100 ++++ diffutils-2.9.mod/src/io.c 2010-02-13 15:39:59.313224273 +0100 +@@ -22,6 +22,7 @@ + #include <cmpbuf.h> + #include <file-type.h> + #include <xalloc.h> ++#include <assert.h> + + /* Rotate an unsigned value to the left. */ + #define ROL(v, n) ((v) << (n) | (v) >> (sizeof (v) * CHAR_BIT - (n))) +@@ -194,6 +195,28 @@ + + /* Split the file into lines, simultaneously computing the equivalence + class for each line. */ ++#ifdef HANDLE_MULTIBYTE ++# define MBC2WC(P, END, MBLENGTH, WC, STATE, CONVFAIL) \ ++do \ ++{ \ ++ mbstate_t state_bak = STATE; \ ++ \ ++ CONVFAIL = 0; \ ++ MBLENGTH = mbrtowc (&WC, P, END - (char const *)P, &STATE); \ ++ \ ++ switch (MBLENGTH) \ ++ { \ ++ case (size_t)-2: \ ++ case (size_t)-1: \ ++ STATE = state_bak; \ ++ ++CONVFAIL; \ ++ /* Fall through. */ \ ++ case 0: \ ++ MBLENGTH = 1; \ ++ } \ ++} \ ++while (0) ++#endif + + static void + find_and_hash_each_line (struct file_data *current) +@@ -220,12 +243,282 @@ + bool same_length_diff_contents_compare_anyway = + diff_length_compare_anyway | ignore_case; + ++#ifdef HANDLE_MULTIBYTE ++ wchar_t wc; ++ size_t mblength; ++ mbstate_t state; ++ int convfail; ++ ++ memset (&state, '\0', sizeof (mbstate_t)); ++#endif ++ + while (p < suffix_begin) + { + char const *ip = p; + + h = 0; + ++#ifdef HANDLE_MULTIBYTE ++ if (MB_CUR_MAX > 1) ++ { ++ wchar_t lo_wc; ++ char mbc[MB_LEN_MAX]; ++ mbstate_t state_wc; ++ ++ /* Hash this line until we find a newline. */ ++ switch (ignore_white_space) ++ { ++ case IGNORE_ALL_SPACE: ++ while (1) ++ { ++ if (*p == '\n') ++ { ++ ++p; ++ break; ++ } ++ ++ MBC2WC (p, suffix_begin, mblength, wc, state, convfail); ++ ++ if (convfail) ++ mbc[0] = *p++; ++ else if (!iswspace (wc)) ++ { ++ bool flag = 0; ++ ++ if (ignore_case) ++ { ++ lo_wc = towlower (wc); ++ if (lo_wc != wc) ++ { ++ flag = 1; ++ ++ p += mblength; ++ memset (&state_wc, '\0', sizeof(mbstate_t)); ++ mblength = wcrtomb (mbc, lo_wc, &state_wc); ++ ++ assert (mblength != (size_t)-1 && ++ mblength != (size_t)-2); ++ ++ mblength = (mblength < 1) ? 1 : mblength; ++ } ++ } ++ ++ if (!flag) ++ { ++ for (i = 0; i < mblength; i++) ++ mbc[i] = *p++; ++ } ++ } ++ else ++ { ++ p += mblength; ++ continue; ++ } ++ ++ for (i = 0; i < mblength; i++) ++ h = HASH (h, mbc[i]); ++ } ++ break; ++ ++ case IGNORE_SPACE_CHANGE: ++ while (1) ++ { ++ if (*p == '\n') ++ { ++ ++p; ++ break; ++ } ++ ++ MBC2WC (p, suffix_begin, mblength, wc, state, convfail); ++ ++ if (!convfail && iswspace (wc)) ++ { ++ while (1) ++ { ++ if (*p == '\n') ++ { ++ ++p; ++ goto hashing_done; ++ } ++ ++ p += mblength; ++ MBC2WC (p, suffix_begin, mblength, wc, state, convfail); ++ if (convfail || (!convfail && !iswspace (wc))) ++ break; ++ } ++ h = HASH (h, ' '); ++ } ++ ++ /* WC is now the first non-space. */ ++ if (convfail) ++ mbc[0] = *p++; ++ else ++ { ++ bool flag = 0; ++ ++ if (ignore_case) ++ { ++ lo_wc = towlower (wc); ++ if (lo_wc != wc) ++ { ++ flag = 1; ++ ++ p += mblength; ++ memset (&state_wc, '\0', sizeof(mbstate_t)); ++ mblength = wcrtomb (mbc, lo_wc, &state_wc); ++ ++ assert (mblength != (size_t)-1 && ++ mblength != (size_t)-2); ++ ++ mblength = (mblength < 1) ? 1 : mblength; ++ } ++ } ++ ++ if (!flag) ++ { ++ for (i = 0; i < mblength; i++) ++ mbc[i] = *p++; ++ } ++ } ++ ++ for (i = 0; i < mblength; i++) ++ h = HASH (h, mbc[i]); ++ } ++ break; ++ ++ case IGNORE_TAB_EXPANSION: ++ { ++ size_t column = 0; ++ ++ while (1) ++ { ++ if (*p == '\n') ++ { ++ ++p; ++ break; ++ } ++ ++ MBC2WC (p, suffix_begin, mblength, wc, state, convfail); ++ ++ if (convfail) ++ { ++ h = HASH (h, *p++); ++ ++column; ++ } ++ else ++ { ++ bool flag; ++ ++ switch (wc) ++ { ++ case L'\b': ++ column -= 0 < column; ++ h = HASH (h, '\b'); ++ ++p; ++ break; ++ ++ case L'\t': ++ { ++ int repetitions; ++ ++ repetitions = TAB_WIDTH - column % TAB_WIDTH; ++ column += repetitions; ++ do ++ h = HASH (h, ' '); ++ while (--repetitions != 0); ++ ++p; ++ } ++ break; ++ ++ case L'\r': ++ column = 0; ++ h = HASH (h, '\r'); ++ ++p; ++ break; ++ ++ default: ++ flag = 0; ++ column += wcwidth (wc); ++ if (ignore_case) ++ { ++ lo_wc = towlower (wc); ++ if (lo_wc != wc) ++ { ++ flag = 1; ++ p += mblength; ++ memset (&state_wc, '\0', sizeof(mbstate_t)); ++ mblength = wcrtomb (mbc, lo_wc, &state_wc); ++ ++ assert (mblength != (size_t)-1 && ++ mblength != (size_t)-2); ++ ++ mblength = (mblength < 1) ? 1 : mblength; ++ } ++ } ++ ++ if (!flag) ++ { ++ for (i = 0; i < mblength; i++) ++ mbc[i] = *p++; ++ } ++ ++ for (i = 0; i < mblength; i++) ++ h = HASH (h, mbc[i]); ++ } ++ } ++ } ++ } ++ break; ++ ++ default: ++ while (1) ++ { ++ if (*p == '\n') ++ { ++ ++p; ++ break; ++ } ++ ++ MBC2WC (p, suffix_begin, mblength, wc, state, convfail); ++ ++ if (convfail) ++ mbc[0] = *p++; ++ else ++ { ++ int flag = 0; ++ ++ if (ignore_case) ++ { ++ lo_wc = towlower (wc); ++ if (lo_wc != wc) ++ { ++ flag = 1; ++ p += mblength; ++ memset (&state_wc, '\0', sizeof(mbstate_t)); ++ mblength = wcrtomb (mbc, lo_wc, &state_wc); ++ ++ assert (mblength != (size_t)-1 && ++ mblength != (size_t)-2); ++ ++ mblength = (mblength < 1) ? 1 : mblength; ++ } ++ } ++ ++ if (!flag) ++ { ++ for (i = 0; i < mblength; i++) ++ mbc[i] = *p++; ++ } ++ } ++ ++ for (i = 0; i < mblength; i++) ++ h = HASH (h, mbc[i]); ++ } ++ } ++ } ++ else ++#endif ++ + /* Hash this line until we find a newline. */ + if (ignore_case) + switch (ignore_white_space) +--- diffutils-2.9/src/side.c 2010-02-05 09:10:15.000000000 +0100 ++++ diffutils-2.9.mod/src/side.c 2010-02-13 15:51:32.647221551 +0100 +@@ -77,11 +77,74 @@ + register char const *text_limit = line[1]; + mbstate_t mbstate = { 0 }; + ++#if defined HAVE_WCHAR_H && defined HAVE_WCTYPE_H ++ unsigned char mbc[MB_LEN_MAX]; ++ wchar_t wc; ++ mbstate_t state, state_bak; ++ size_t mbc_pos, mblength; ++ int mbc_loading_flag = 0; ++ int wc_width; ++ ++ memset (&state, '\0', sizeof (mbstate_t)); ++#endif ++ + while (text_pointer < text_limit) + { + char const *tp0 = text_pointer; + register char c = *text_pointer++; + ++#if defined HAVE_WCHAR_H && defined HAVE_WCTYPE_H ++ if (MB_CUR_MAX > 1 && mbc_loading_flag) ++ { ++ mbc_loading_flag = 0; ++ state_bak = state; ++ mbc[mbc_pos++] = c; ++ ++process_mbc: ++ mblength = mbrtowc (&wc, mbc, mbc_pos, &state); ++ ++ switch (mblength) ++ { ++ case (size_t)-2: /* Incomplete multibyte character. */ ++ mbc_loading_flag = 1; ++ state = state_bak; ++ break; ++ ++ case (size_t)-1: /* Invalid as a multibyte character. */ ++ if (in_position++ < out_bound) ++ { ++ out_position = in_position; ++ putc (mbc[0], out); ++ } ++ memmove (mbc, mbc + 1, --mbc_pos); ++ if (mbc_pos > 0) ++ { ++ mbc[mbc_pos] = '\0'; ++ goto process_mbc; ++ } ++ break; ++ ++ default: ++ wc_width = wcwidth (wc); ++ if (wc_width < 1) /* Unprintable multibyte character. */ ++ { ++ if (in_position <= out_bound) ++ fprintf (out, "%lc", (wint_t)wc); ++ } ++ else /* Printable multibyte character. */ ++ { ++ in_position += wc_width; ++ if (in_position <= out_bound) ++ { ++ out_position = in_position; ++ fprintf (out, "%lc", (wint_t)wc); ++ } ++ } ++ } ++ continue; ++ } ++#endif ++ + switch (c) + { + case '\t': +--- diffutils-2.9/src/util.c 2010-02-11 10:39:17.000000000 +0100 ++++ diffutils-2.9.mod/src/util.c 2010-02-13 16:08:16.065232588 +0100 +@@ -309,7 +309,7 @@ + + outfile = 0; + } +- ++ + /* Compare two lines (typically one from each input file) + according to the command line options. + For efficiency, this is invoked only when the lines do not match exactly +@@ -317,7 +317,7 @@ + Return nonzero if the lines differ. */ + + bool +-lines_differ (char const *s1, char const *s2) ++lines_differ_singlebyte (char const *s1, char const *s2) + { + register char const *t1 = s1; + register char const *t2 = s2; +@@ -446,7 +446,294 @@ + + return true; + } +- ++ ++#ifdef HANDLE_MULTIBYTE ++# define MBC2WC(T, END, MBLENGTH, WC, STATE, CONVFAIL) \ ++do \ ++{ \ ++ mbstate_t bak = STATE; \ ++ \ ++ CONVFAIL = 0; \ ++ MBLENGTH = mbrtowc (&WC, T, END - T, &STATE); \ ++ \ ++ switch (MBLENGTH) \ ++ { \ ++ case (size_t)-2: \ ++ case (size_t)-1: \ ++ STATE = bak; \ ++ ++CONVFAIL; \ ++ /* Fall through. */ \ ++ case 0: \ ++ MBLENGTH = 1; \ ++ } \ ++} \ ++while (0) ++ ++bool ++lines_differ_multibyte (char const *s1, char const *s2) ++{ ++ unsigned char const *end1, *end2; ++ unsigned char c1, c2; ++ wchar_t wc1, wc2, wc1_bak, wc2_bak; ++ size_t mblen1, mblen2; ++ mbstate_t state1, state2, state1_bak, state2_bak; ++ int convfail1, convfail2, convfail1_bak, convfail2_bak; ++ ++ unsigned char const *t1 = (unsigned char const *) s1; ++ unsigned char const *t2 = (unsigned char const *) s2; ++ unsigned char const *t1_bak, *t2_bak; ++ size_t column = 0; ++ ++ if (ignore_white_space == IGNORE_NO_WHITE_SPACE && !ignore_case) ++ { ++ while (*t1 != '\n') ++ if (*t1++ != * t2++) ++ return 1; ++ return 0; ++ } ++ ++ memset (&state1, '\0', sizeof (mbstate_t)); ++ memset (&state2, '\0', sizeof (mbstate_t)); ++ ++ end1 = s1 + strlen (s1); ++ end2 = s2 + strlen (s2); ++ ++ while (1) ++ { ++ c1 = *t1; ++ c2 = *t2; ++ MBC2WC (t1, end1, mblen1, wc1, state1, convfail1); ++ MBC2WC (t2, end2, mblen2, wc2, state2, convfail2); ++ ++ /* Test for exact char equality first, since it's a common case. */ ++ if (convfail1 ^ convfail2) ++ break; ++ else if (convfail1 && convfail2 && c1 != c2) ++ break; ++ else if (!convfail1 && !convfail2 && wc1 != wc2) ++ { ++ switch (ignore_white_space) ++ { ++ case IGNORE_ALL_SPACE: ++ /* For -w, just skip past any white space. */ ++ while (1) ++ { ++ if (convfail1) ++ break; ++ else if (wc1 == L'\n' || !iswspace (wc1)) ++ break; ++ ++ t1 += mblen1; ++ c1 = *t1; ++ MBC2WC (t1, end1, mblen1, wc1, state1, convfail1); ++ } ++ ++ while (1) ++ { ++ if (convfail2) ++ break; ++ else if (wc2 == L'\n' || !iswspace (wc2)) ++ break; ++ ++ t2 += mblen2; ++ c2 = *t2; ++ MBC2WC (t2, end2, mblen2, wc2, state2, convfail2); ++ } ++ t1 += mblen1; ++ t2 += mblen2; ++ break; ++ ++ case IGNORE_SPACE_CHANGE: ++ /* For -b, advance past any sequence of white space in ++ line 1 and consider it just one space, or nothing at ++ all if it is at the end of the line. */ ++ if (wc1 != L'\n' && iswspace (wc1)) ++ { ++ size_t mblen_bak; ++ mbstate_t state_bak; ++ ++ do ++ { ++ t1 += mblen1; ++ mblen_bak = mblen1; ++ state_bak = state1; ++ MBC2WC (t1, end1, mblen1, wc1, state1, convfail1); ++ } ++ while (!convfail1 && (wc1 != L'\n' && iswspace (wc1))); ++ ++ state1 = state_bak; ++ mblen1 = mblen_bak; ++ t1 -= mblen1; ++ convfail1 = 0; ++ wc1 = L' '; ++ } ++ ++ /* Likewise for line 2. */ ++ if (wc2 != L'\n' && iswspace (wc2)) ++ { ++ size_t mblen_bak; ++ mbstate_t state_bak; ++ ++ do ++ { ++ t2 += mblen2; ++ mblen_bak = mblen2; ++ state_bak = state2; ++ MBC2WC (t2, end2, mblen2, wc2, state2, convfail2); ++ } ++ while (!convfail2 && (wc2 != L'\n' && iswspace (wc2))); ++ ++ state2 = state_bak; ++ mblen2 = mblen_bak; ++ t2 -= mblen2; ++ convfail2 = 0; ++ wc2 = L' '; ++ } ++ ++ if (wc1 != wc2) ++ { ++ if (wc2 == L' ' && wc1 != L'\n' && ++ t1 > (unsigned char const *)s1 && ++ !convfail1_bak && iswspace (wc1_bak)) ++ { ++ t1 = t1_bak; ++ wc1 = wc1_bak; ++ state1 = state1_bak; ++ convfail1 = convfail1_bak; ++ continue; ++ } ++ if (wc1 == L' ' && wc2 != L'\n' ++ && t2 > (unsigned char const *)s2 ++ && !convfail2_bak && iswspace (wc2_bak)) ++ { ++ t2 = t2_bak; ++ wc2 = wc2_bak; ++ state2 = state2_bak; ++ convfail2 = convfail2_bak; ++ continue; ++ } ++ } ++ ++ t1_bak = t1; t2_bak = t2; ++ wc1_bak = wc1; wc2_bak = wc2; ++ state1_bak = state1; state2_bak = state2; ++ convfail1_bak = convfail1; convfail2_bak = convfail2; ++ ++ if (wc1 == L'\n') ++ wc1 = L' '; ++ else ++ t1 += mblen1; ++ ++ if (wc2 == L'\n') ++ wc2 = L' '; ++ else ++ t2 += mblen2; ++ ++ break; ++ ++ case IGNORE_TAB_EXPANSION: ++ if ((wc1 == L' ' && wc2 == L'\t') ++ || (wc1 == L'\t' && wc2 == L' ')) ++ { ++ size_t column2 = column; ++ ++ while (1) ++ { ++ if (convfail1) ++ { ++ ++t1; ++ break; ++ } ++ else if (wc1 == L' ') ++ column++; ++ else if (wc1 == L'\t') ++ column += TAB_WIDTH - column % TAB_WIDTH; ++ else ++ { ++ t1 += mblen1; ++ break; ++ } ++ ++ t1 += mblen1; ++ c1 = *t1; ++ MBC2WC (t1, end1, mblen1, wc1, state1, convfail1); ++ } ++ ++ while (1) ++ { ++ if (convfail2) ++ { ++ ++t2; ++ break; ++ } ++ else if (wc2 == L' ') ++ column2++; ++ else if (wc2 == L'\t') ++ column2 += TAB_WIDTH - column2 % TAB_WIDTH; ++ else ++ { ++ t2 += mblen2; ++ break; ++ } ++ ++ t2 += mblen2; ++ c2 = *t2; ++ MBC2WC (t2, end2, mblen2, wc2, state2, convfail2); ++ } ++ ++ if (column != column2) ++ return 1; ++ } ++ else ++ { ++ t1 += mblen1; ++ t2 += mblen2; ++ } ++ break; ++ ++ case IGNORE_NO_WHITE_SPACE: ++ t1 += mblen1; ++ t2 += mblen2; ++ break; ++ } ++ ++ /* Lowercase all letters if -i is specified. */ ++ if (ignore_case) ++ { ++ if (!convfail1) ++ wc1 = towlower (wc1); ++ if (!convfail2) ++ wc2 = towlower (wc2); ++ } ++ ++ if (convfail1 ^ convfail2) ++ break; ++ else if (convfail1 && convfail2 && c1 != c2) ++ break; ++ else if (!convfail1 && !convfail2 && wc1 != wc2) ++ break; ++ } ++ else ++ { ++ t1_bak = t1; t2_bak = t2; ++ wc1_bak = wc1; wc2_bak = wc2; ++ state1_bak = state1; state2_bak = state2; ++ convfail1_bak = convfail1; convfail2_bak = convfail2; ++ ++ t1 += mblen1; t2 += mblen2; ++ } ++ ++ if (!convfail1 && wc1 == L'\n') ++ return 0; ++ ++ column += convfail1 ? 1 : ++ (wc1 == L'\t') ? TAB_WIDTH - column % TAB_WIDTH : wcwidth (wc1); ++ } ++ ++ return 1; ++} ++#endif ++ + /* Find the consecutive changes at the start of the script START. + Return the last link before the first gap. */ + diff --git a/pkgs/core/m4/m4.nm b/pkgs/core/m4/m4.nm index 0f1d59e..26000b5 100644 --- a/pkgs/core/m4/m4.nm +++ b/pkgs/core/m4/m4.nm @@ -25,7 +25,7 @@ include $(PKGROOT)/Include
PKG_NAME = m4 -PKG_VER = 1.4.11 +PKG_VER = 1.4.14 PKG_REL = 0
PKG_MAINTAINER = @@ -45,21 +45,9 @@ endef
PKG_TARBALL = $(THISAPP).tar.bz2
-############################################################################### -# Installation Details -############################################################################### - -define STAGE_BUILD - # We need -D_GNU_SOURCE because this version of M4 has a bug in gnulib (or - # possibly autoconf) that doesn't recognise that we have asprintf() in libc. - cd $(DIR_APP) && \ - CPPFLAGS="-D_GNU_SOURCE" \ - gl_cv_func_printf_directive_n=no \ - ./configure \ - --prefix=/usr - - cd $(DIR_APP) && make $(PARALLELISMFLAGS) -endef +CONFIGURE_ENVIRONMENT += \ + CPPFLAGS="-D_GNU_SOURCE" \ + gl_cv_func_printf_directive_n=no \
# fails #define STAGE_TEST diff --git a/pkgs/core/readline/readline.nm b/pkgs/core/readline/readline.nm index 68aeacd..3745225 100644 --- a/pkgs/core/readline/readline.nm +++ b/pkgs/core/readline/readline.nm @@ -34,6 +34,8 @@ PKG_URL = ftp://ftp.gnu.org/gnu/readline/ PKG_LICENSE = GPLv3+ PKG_SUMMARY = A library for editing typed command lines.
+PKG_PACKAGES += $(PKG_NAME_REAL)-devel + PKG_DEPS += ncurses
define PKG_DESCRIPTION @@ -47,21 +49,10 @@ endef
PKG_TARBALL = $(THISAPP).tar.gz
-define STAGE_BUILD - cd $(DIR_APP) && \ - ./configure \ - --prefix=/usr \ - --libdir=/lib \ - -# remove rpath from libtool -@if [ -e "libtool" ]; then \ - sed -i libtool \ - -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \ - -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g'; \ -fi +STAGE_BUILD_TARGETS += SHLIB_LIBS=-lncurses
- cd $(DIR_APP) && make $(PARALLELISMFLAGS) SHLIB_LIBS=-lncurses -endef +CONFIGURE_OPTIONS += \ + --libdir=/lib \
define STAGE_INSTALL_CMDS -mkdir -pv $(BUILDROOT)/usr/lib diff --git a/pkgs/core/squashfs-tools/squashfs-tools.nm b/pkgs/core/squashfs-tools/squashfs-tools.nm index ae4f7fc..f9f6382 100644 --- a/pkgs/core/squashfs-tools/squashfs-tools.nm +++ b/pkgs/core/squashfs-tools/squashfs-tools.nm @@ -40,11 +40,14 @@ define PKG_DESCRIPTION Squashfs is a highly compressed read-only filesystem for Linux. endef
+PKG_BUILD_DEPS += zlib + PKG_TARBALL = squashfs$(PKG_VER).tar.gz
define STAGE_BUILD mv /usr/src/squashfs4.0 $(DIR_APP) cd $(DIR_APP)/$(PKG_NAME) && sed -e "s/^CFLAGS := /& $(CFLAGS) /" -i Makefile + $(DO_FIX_LIBTOOL) cd $(DIR_APP)/$(PKG_NAME) && make $(PARALLELISMFLAGS) endef
diff --git a/pkgs/core/zlib/zlib.nm b/pkgs/core/zlib/zlib.nm index 222594a..d15ca74 100644 --- a/pkgs/core/zlib/zlib.nm +++ b/pkgs/core/zlib/zlib.nm @@ -47,25 +47,16 @@ PKG_TARBALL = $(THISAPP).tar.gz
CFLAGS += -fPIC -DPIC
-############################################################################### -# Installation Details -############################################################################### +CONFIGURE_ENVIRONMENT += ac_cv_func_working_mktime=yes
-define STAGE_BUILD - cd $(DIR_APP) && \ - ac_cv_func_working_mktime=yes \ - ./configure \ - --prefix=/usr \ - --libdir=/lib - cd $(DIR_APP) && make $(PARALLELISMFLAGS) -endef +CONFIGURE_OPTIONS += \ + --libdir=/lib
define STAGE_TEST cd $(DIR_APP) && make check endef
-define STAGE_INSTALL - cd $(DIR_APP) && make install DESTDIR=$(BUILDROOT) +define STAGE_INSTALL_CMDS -mkdir -pv $(BUILDROOT)/usr/{include,lib} cd $(DIR_APP) && cp -pfv zconf.h zlib.h $(BUILDROOT)/usr/include rm -vf $(BUILDROOT)/lib/libz.so
hooks/post-receive -- IPFire 3.x development tree