diff options
Diffstat (limited to 'pkgs/tools')
34 files changed, 149 insertions, 186 deletions
diff --git a/pkgs/tools/archivers/sharutils/default.nix b/pkgs/tools/archivers/sharutils/default.nix index f19564e4ad91..281a148a5ca4 100644 --- a/pkgs/tools/archivers/sharutils/default.nix +++ b/pkgs/tools/archivers/sharutils/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, gettext }: +{ stdenv, fetchurl, gettext, coreutils }: stdenv.mkDerivation rec { name = "sharutils-4.11.1"; @@ -12,11 +12,11 @@ stdenv.mkDerivation rec { '' # Fix for building on Glibc 2.16. Won't be needed once the # gnulib in sharutils is updated. - sed -i '/gets is a security hole/d' lib/stdio.in.h + sed -i ${stdenv.lib.optionalString (stdenv.isBSD && stdenv.gcc.nativeTools) "''"} '/gets is a security hole/d' lib/stdio.in.h ''; # GNU Gettext is needed on non-GNU platforms. - buildInputs = [ gettext ]; + buildInputs = [ gettext coreutils ]; doCheck = true; diff --git a/pkgs/tools/archivers/unzip/default.nix b/pkgs/tools/archivers/unzip/default.nix index f19a2f0c5d35..0466b817f1b6 100644 --- a/pkgs/tools/archivers/unzip/default.nix +++ b/pkgs/tools/archivers/unzip/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, bzip2 , enableNLS ? false, libnatspec }: -stdenv.mkDerivation ({ +stdenv.mkDerivation { name = "unzip-6.0"; src = fetchurl { @@ -9,6 +9,13 @@ stdenv.mkDerivation ({ sha256 = "0dxx11knh3nk95p2gg2ak777dd11pr7jx5das2g49l262scrcv83"; }; + patches = stdenv.lib.optional enableNLS + (fetchurl { + url = "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-arch/unzip/files/unzip-6.0-natspec.patch?revision=1.1"; + name = "unzip-6.0-natspec.patch"; + sha256 = "67ab260ae6adf8e7c5eda2d1d7846929b43562943ec4aff629bd7018954058b1"; + }); + nativeBuildInputs = [ bzip2 ]; buildInputs = [ bzip2 ] ++ stdenv.lib.optional enableNLS libnatspec; @@ -24,19 +31,12 @@ stdenv.mkDerivation ({ installFlags = "prefix=$(out)"; + setupHook = ./setup-hook.sh; + meta = { homepage = http://www.info-zip.org; description = "An extraction utility for archives compressed in .zip format"; license = stdenv.lib.licenses.free; # http://www.info-zip.org/license.html platforms = stdenv.lib.platforms.all; }; -} // (if enableNLS then { - patches = - [ ( fetchurl { - url = - "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-arch/unzip/files/unzip-6.0-natspec.patch?revision=1.1"; - name = "unzip-6.0-natspec.patch"; - sha256 = "67ab260ae6adf8e7c5eda2d1d7846929b43562943ec4aff629bd7018954058b1"; - }) - ]; -} else {})) +} diff --git a/pkgs/tools/archivers/unzip/setup-hook.sh b/pkgs/tools/archivers/unzip/setup-hook.sh new file mode 100644 index 000000000000..4055d2fab512 --- /dev/null +++ b/pkgs/tools/archivers/unzip/setup-hook.sh @@ -0,0 +1,5 @@ +unpackCmdHooks+=(_tryUnzip) +_tryUnzip() { + if ! [[ "$curSrc" =~ \.zip$ ]]; then return 1; fi + unzip -qq "$curSrc" +} diff --git a/pkgs/tools/compression/bzip2/default.nix b/pkgs/tools/compression/bzip2/default.nix index 55fca6ca3cb9..256f574c2e0c 100644 --- a/pkgs/tools/compression/bzip2/default.nix +++ b/pkgs/tools/compression/bzip2/default.nix @@ -26,6 +26,8 @@ stdenv.mkDerivation { sharedLibrary = !stdenv.isDarwin && !(stdenv ? isDietLibC) && !(stdenv ? isStatic) && stdenv.system != "i686-cygwin" && !linkStatic; + patchPhase = stdenv.lib.optionalString stdenv.isDarwin "substituteInPlace Makefile --replace 'CC=gcc' 'CC=clang'"; + preConfigure = "substituteInPlace Makefile --replace '$(PREFIX)/man' '$(PREFIX)/share/man'"; makeFlags = if linkStatic then "LDFLAGS=-static" else ""; diff --git a/pkgs/tools/compression/xz/default.nix b/pkgs/tools/compression/xz/default.nix index e1d7c26fa430..70c3f260e3c8 100644 --- a/pkgs/tools/compression/xz/default.nix +++ b/pkgs/tools/compression/xz/default.nix @@ -1,17 +1,17 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "xz-5.0.5"; + name = "xz-5.0.7"; src = fetchurl { url = "http://tukaani.org/xz/${name}.tar.bz2"; - sha256 = "1404i59bp6rzxya0br1q9njdv32z4sggyfrkjr7vq695hk94hv0n"; + sha256 = "05nnxl19a49h15lxzpn3fd76izrycnr7qaf9qvd408yz973iv1g8"; }; doCheck = true; # In stdenv-linux, prevent a dependency on bootstrap-tools. - preHook = "unset CONFIG_SHELL"; + preConfigure = "unset CONFIG_SHELL"; meta = { homepage = http://tukaani.org/xz/; diff --git a/pkgs/tools/filesystems/netatalk/default.nix b/pkgs/tools/filesystems/netatalk/default.nix index 850e16812488..61afe6ffb90c 100644 --- a/pkgs/tools/filesystems/netatalk/default.nix +++ b/pkgs/tools/filesystems/netatalk/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, pkgconfig, db, libgcrypt, avahi, libiconv, pam, openssl }: +{ fetchurl, stdenv, pkgconfig, db, libgcrypt, avahi, libiconvOrEmpty, pam, openssl }: stdenv.mkDerivation rec { name = "netatalk-3.1.0"; @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { sha256 = "1d8dc8ysslkis4yl1xab1w9p0pz7a1kg0i6fds4wxsp4fhb6wqhq"; }; - buildInputs = [ pkgconfig db libgcrypt avahi libiconv pam openssl ]; + buildInputs = [ pkgconfig db libgcrypt avahi pam openssl ] ++ libiconvOrEmpty; configureFlags = [ "--with-bdb=${db}" diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix index 8844fe9c57cc..5be34ad5f310 100644 --- a/pkgs/tools/misc/coreutils/default.nix +++ b/pkgs/tools/misc/coreutils/default.nix @@ -10,16 +10,14 @@ assert selinuxSupport -> libselinux != null && libsepol != null; with { inherit (stdenv.lib) optional optionals optionalString optionalAttrs; }; let - self = stdenv.mkDerivation (rec { - name = "coreutils-8.21"; + self = stdenv.mkDerivation rec { + name = "coreutils-8.23"; src = fetchurl { url = "mirror://gnu/coreutils/${name}.tar.xz"; - sha256 = "064f512185iysqqcvhnhaf3bfmzrvcgs7n405qsyp99zmfyl9amd"; + sha256 = "0bdq6yggyl7nkc2pbl6pxhhyx15nyqhz3ds6rfn448n6rxdwlhzc"; }; - patches = [ ./help2man.patch ]; - nativeBuildInputs = [ perl ]; buildInputs = [ gmp ] ++ optional aclSupport acl @@ -64,6 +62,8 @@ let NIX_LDFLAGS = optionalString selinuxSupport "-lsepol"; + makeFlags = optionalString stdenv.isDarwin "CFLAGS=-D_FORTIFY_SOURCE=0"; + meta = { homepage = http://www.gnu.org/software/coreutils/; description = "The basic file, shell and text manipulation utilities of the GNU operating system"; @@ -77,11 +77,9 @@ let license = stdenv.lib.licenses.gpl3Plus; - maintainers = [ ]; + maintainers = [ stdenv.lib.maintainers.eelco ]; }; - } // optionalAttrs stdenv.isDarwin { - makeFlags = "CFLAGS=-D_FORTIFY_SOURCE=0"; - }); + }; in self // stdenv.lib.optionalAttrs (stdenv.system == "armv7l-linux" || stdenv.isSunOS) { diff --git a/pkgs/tools/misc/coreutils/gets-undeclared.patch b/pkgs/tools/misc/coreutils/gets-undeclared.patch deleted file mode 100644 index b6cdc77caa84..000000000000 --- a/pkgs/tools/misc/coreutils/gets-undeclared.patch +++ /dev/null @@ -1,71 +0,0 @@ -This patch is needed to allow builds with newer versions of -the GNU libc (2.16+). - - -commit 66712c23388e93e5c518ebc8515140fa0c807348 -Author: Eric Blake <eblake@redhat.com> -Date: Thu Mar 29 13:30:41 2012 -0600 - - stdio: don't assume gets any more - - Gnulib intentionally does not have a gets module, and now that C11 - and glibc have dropped it, we should be more proactive about warning - any user on a platform that still has a declaration of this dangerous - interface. - - * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets - support. - * modules/stdio (Makefile.am): Likewise. - * lib/stdio-read.c (gets): Likewise. - * tests/test-stdio-c++.cc: Likewise. - * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment. - * lib/stdio.in.h (gets): Make warning occur in more places. - * doc/posix-functions/gets.texi (gets): Update documentation. - Reported by Christer Solskogen. - - Signed-off-by: Eric Blake <eblake@redhat.com> - -diff --git a/lib/stdio.in.h b/lib/stdio.in.h -index aa7b599..c377b6e 100644 ---- a/lib/stdio.in.h -+++ b/lib/stdio.in.h -@@ -698,22 +698,11 @@ _GL_WARN_ON_USE (getline, "getline is unportable - " - # endif - #endif - --#if @GNULIB_GETS@ --# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@ --# if !(defined __cplusplus && defined GNULIB_NAMESPACE) --# undef gets --# define gets rpl_gets --# endif --_GL_FUNCDECL_RPL (gets, char *, (char *s) _GL_ARG_NONNULL ((1))); --_GL_CXXALIAS_RPL (gets, char *, (char *s)); --# else --_GL_CXXALIAS_SYS (gets, char *, (char *s)); --# undef gets --# endif --_GL_CXXALIASWARN (gets); - /* It is very rare that the developer ever has full control of stdin, -- so any use of gets warrants an unconditional warning. Assume it is -- always declared, since it is required by C89. */ -+ so any use of gets warrants an unconditional warning; besides, C11 -+ removed it. */ -+#undef gets -+#if HAVE_RAW_DECL_GETS - _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); - #endif - -@@ -1053,9 +1042,9 @@ _GL_WARN_ON_USE (snprintf, "snprintf is unportable - " - # endif - #endif - --/* Some people would argue that sprintf should be handled like gets -- (for example, OpenBSD issues a link warning for both functions), -- since both can cause security holes due to buffer overruns. -+/* Some people would argue that all sprintf uses should be warned about -+ (for example, OpenBSD issues a link warning for it), -+ since it can cause security holes due to buffer overruns. - However, we believe that sprintf can be used safely, and is more - efficient than snprintf in those safe cases; and as proof of our - belief, we use sprintf in several gnulib modules. So this header diff --git a/pkgs/tools/misc/coreutils/help2man.patch b/pkgs/tools/misc/coreutils/help2man.patch deleted file mode 100644 index 9f3cbaa40ff1..000000000000 --- a/pkgs/tools/misc/coreutils/help2man.patch +++ /dev/null @@ -1,40 +0,0 @@ -Although the above man pages depend on src/md5sum.c as a shared -source, the build of the man pages directly requires their own -executables to exist. - -* man/local.mk (man/sha1sum.1): Change the dependency from -'src/md5sum' to 'src/sha1sum'. -(man/sha224sum.1): s/md5sum/sha224sum/ -(man/sha256sum.1): s/md5sum/sha256sum/ -(man/sha384sum.1): s/md5sum/sha384sum/ -(man/sha512sum.1): s/md5sum/sha512sum/ - -Reported by Pádraig Brady in -http://lists.gnu.org/archive/html/coreutils/2013-11/msg00006.html ---- - man/local.mk | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/man/local.mk b/man/local.mk -index 266b780..45dbcb9 100644 ---- a/man/local.mk -+++ b/man/local.mk -@@ -131,11 +131,11 @@ man/rm.1: src/rm - man/rmdir.1: src/rmdir - man/runcon.1: src/runcon - man/seq.1: src/seq --man/sha1sum.1: src/md5sum --man/sha224sum.1: src/md5sum --man/sha256sum.1: src/md5sum --man/sha384sum.1: src/md5sum --man/sha512sum.1: src/md5sum -+man/sha1sum.1: src/sha1sum -+man/sha224sum.1: src/sha224sum -+man/sha256sum.1: src/sha256sum -+man/sha384sum.1: src/sha384sum -+man/sha512sum.1: src/sha512sum - man/shred.1: src/shred - man/shuf.1: src/shuf - man/sleep.1: src/sleep --- -1.8.3.1 diff --git a/pkgs/tools/misc/getopt/default.nix b/pkgs/tools/misc/getopt/default.nix index d181388f6c7b..ed4cde69eda7 100644 --- a/pkgs/tools/misc/getopt/default.nix +++ b/pkgs/tools/misc/getopt/default.nix @@ -7,4 +7,7 @@ stdenv.mkDerivation { url = http://tarballs.nixos.org/getopt-1.1.4.tar.gz; sha256 = "1arvjfzw6p310zbgv629w5hkyslrj44imf3r3s2r4ry2jfcks221"; }; + preBuild = '' + export buildFlags=CC="$CC" # for darwin + ''; } diff --git a/pkgs/tools/misc/mdbtools/git.nix b/pkgs/tools/misc/mdbtools/git.nix index b97af331093b..11b5520c7bb2 100644 --- a/pkgs/tools/misc/mdbtools/git.nix +++ b/pkgs/tools/misc/mdbtools/git.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, fetchgit, glib, readline, bison, flex, pkgconfig, - libiconv, autoconf, automake, libtool, which, txt2man, gnome_doc_utils, + libiconvOrEmpty, autoconf, automake, libtool, which, txt2man, gnome_doc_utils, scrollkeeper}: stdenv.mkDerivation { @@ -12,8 +12,10 @@ stdenv.mkDerivation { name = "mdbtools-git-export"; }; - buildInputs = [glib readline bison flex pkgconfig libiconv autoconf automake - libtool which txt2man gnome_doc_utils scrollkeeper ]; + buildInputs = [ + glib readline bison flex pkgconfig autoconf automake + libtool which txt2man gnome_doc_utils scrollkeeper + ] ++ libiconvOrEmpty; preConfigure = '' sed -e 's@static \(GHashTable [*]mdb_backends;\)@\1@' -i src/libmdb/backend.c diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix index e12db01ae726..85b935ebd767 100644 --- a/pkgs/tools/networking/curl/default.nix +++ b/pkgs/tools/networking/curl/default.nix @@ -13,11 +13,11 @@ assert scpSupport -> libssh2 != null; assert c-aresSupport -> c-ares != null; stdenv.mkDerivation rec { - name = "curl-7.38.0"; + name = "curl-7.39.0"; src = fetchurl { url = "http://curl.haxx.se/download/${name}.tar.bz2"; - sha256 = "1flybwbdahx0sm9ipgp9k60wlrpkrmfflk1zf5j4w6mak4gd8nq3"; + sha256 = "1q545q853i2dadz6kiybq6613bk0ncs6dp81nc0rgkc7f1p5c8mj"; }; # Zlib and OpenSSL must be propagated because `libcurl.la' contains diff --git a/pkgs/tools/networking/isync/default.nix b/pkgs/tools/networking/isync/default.nix index 2d3ffb2cb0a8..021f470af241 100644 --- a/pkgs/tools/networking/isync/default.nix +++ b/pkgs/tools/networking/isync/default.nix @@ -16,6 +16,6 @@ stdenv.mkDerivation rec { license = [ "GPLv2+" ]; maintainers = with stdenv.lib.maintainers; [ the-kenny viric ]; - platforms = stdenv.lib.platforms.linux; + platforms = stdenv.lib.platforms.unix; }; } diff --git a/pkgs/tools/networking/strongswan/default.nix b/pkgs/tools/networking/strongswan/default.nix index fe698b6e3be2..490e690e1205 100644 --- a/pkgs/tools/networking/strongswan/default.nix +++ b/pkgs/tools/networking/strongswan/default.nix @@ -21,6 +21,6 @@ stdenv.mkDerivation rec { description = "OpenSource IPsec-based VPN Solution"; homepage = https://www.strongswan.org; license = stdenv.lib.licenses.gpl2Plus; - inherit (stdenv.gcc.clang.meta) platforms; + inherit (stdenv.gcc.gcc.meta) platforms; }; } diff --git a/pkgs/tools/package-management/checkinstall/default.nix b/pkgs/tools/package-management/checkinstall/default.nix index 1320720ed170..dc3373c3b6fc 100644 --- a/pkgs/tools/package-management/checkinstall/default.nix +++ b/pkgs/tools/package-management/checkinstall/default.nix @@ -32,6 +32,9 @@ stdenv.mkDerivation { # Fix a `conflicting types for 'readlink'' error since Glibc 2.19 ./readlink-types.patch + + # Fix BuildRoot handling in RPM builds. + ./set-buildroot.patch ] ++ stdenv.lib.optional (stdenv.system == "x86_64-linux") diff --git a/pkgs/tools/package-management/checkinstall/set-buildroot.patch b/pkgs/tools/package-management/checkinstall/set-buildroot.patch new file mode 100644 index 000000000000..58840f491ecf --- /dev/null +++ b/pkgs/tools/package-management/checkinstall/set-buildroot.patch @@ -0,0 +1,15 @@ +https://build.opensuse.org/package/view_file/openSUSE:13.1/checkinstall/checkinstall-set_buildroot.patch + +Index: checkinstall +=================================================================== +--- a/checkinstall 2009-12-26 20:17:24.000000000 +0100 ++++ b/checkinstall 2011-01-31 18:17:56.171593541 +0100 +@@ -2463,7 +2463,7 @@ cd "$DIRECTORIO_FUENTE" + + echo + echogn "Building RPM package..." +-$RPMBUILD -bb ${RPM_TARGET_FLAG}${ARCHITECTURE} "$SPEC_PATH" &> ${TMP_DIR}/rpmbuild.log ++$RPMBUILD --buildroot ${BUILDROOT} -bb ${RPM_TARGET_FLAG}${ARCHITECTURE} "$SPEC_PATH" &> ${TMP_DIR}/rpmbuild.log + okfail + + if [ $? -gt 0 ]; then diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index 6631214f39ab..55f5b0aedc9c 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -66,6 +66,9 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; meta = { + # due to builder args bug; see + # https://github.com/NixOS/nix/commit/b224ac15201c57b40ea855f5a98b1bd166c1c7f6 + broken = stdenv.isDarwin; description = "Powerful package manager that makes package management reliable and reproducible"; longDescription = '' Nix is a powerful package manager for Linux and other Unix systems that diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix index 23ecf9ac6e03..e3126fd40a3d 100644 --- a/pkgs/tools/package-management/nix/unstable.nix +++ b/pkgs/tools/package-management/nix/unstable.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, perl, curl, bzip2, sqlite, openssl ? null -, pkgconfig, boehmgc, perlPackages +, pkgconfig, boehmgc, perlPackages, bash , storeDir ? "/nix/store" , stateDir ? "/nix/var" }: @@ -24,6 +24,7 @@ stdenv.mkDerivation rec { postUnpack = '' export CPATH="${bzip2}/include" export LIBRARY_PATH="${bzip2}/lib" + export CXXFLAGS="-O3 -Wno-error=reserved-user-defined-literal" ''; configureFlags = @@ -34,7 +35,7 @@ stdenv.mkDerivation rec { --with-www-curl=${perlPackages.WWWCurl}/${perl.libPrefix} --disable-init-state --enable-gc - CFLAGS=-O3 CXXFLAGS=-O3 + CFLAGS=-O3 ''; makeFlags = "profiledir=$(out)/etc/profile.d"; diff --git a/pkgs/tools/security/clamav/default.nix b/pkgs/tools/security/clamav/default.nix index 7dc13b3d11b2..6cbc82b26953 100644 --- a/pkgs/tools/security/clamav/default.nix +++ b/pkgs/tools/security/clamav/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, zlib, bzip2, libiconv, libxml2, openssl, ncurses, curl }: +{ stdenv, fetchurl, zlib, bzip2, libiconvOrNull, libxml2, openssl, ncurses, curl }: stdenv.mkDerivation rec { name = "clamav-${version}"; version = "0.98.4"; @@ -8,12 +8,15 @@ stdenv.mkDerivation rec { sha256 = "071yzamalj3rf7kl2jvc35ipnk1imdkq5ylbb8whyxfgmd3nf06k"; }; - buildInputs = [ zlib bzip2 libiconv libxml2 openssl ncurses curl ]; + buildInputs = [ zlib bzip2 libxml2 openssl ncurses curl ] + ++ stdenv.lib.optional (libiconvOrNull != null) libiconvOrNull; configureFlags = [ "--with-zlib=${zlib}" "--with-libbz2-prefix=${bzip2}" - "--with-iconv-dir=${libiconv}" + ] ++ (stdenv.lib.optional (libiconvOrNull != null) + "--with-iconv-dir=${libiconvOrNull}") + ++ [ "--with-xml=${libxml2}" "--with-openssl=${openssl}" "--with-libncurses-prefix=${ncurses}" diff --git a/pkgs/tools/security/gnupg/20.nix b/pkgs/tools/security/gnupg/20.nix index 45a25d7e2422..58a7cb7e34c0 100644 --- a/pkgs/tools/security/gnupg/20.nix +++ b/pkgs/tools/security/gnupg/20.nix @@ -20,6 +20,7 @@ stdenv.mkDerivation rec { patchPhase = '' find tests -type f | xargs sed -e 's@/bin/pwd@${coreutils}&@g' -i + patch gl/stdint_.h < ${./clang.patch} ''; configureFlags = diff --git a/pkgs/tools/security/gnupg/clang.patch b/pkgs/tools/security/gnupg/clang.patch new file mode 100644 index 000000000000..842785e5c932 --- /dev/null +++ b/pkgs/tools/security/gnupg/clang.patch @@ -0,0 +1,13 @@ +diff --git a/gl/stdint_.h b/gl/stdint_.h +index bc27595..303e81a 100644 +--- a/gl/stdint_.h ++++ b/gl/stdint_.h +@@ -62,7 +62,7 @@ + int{8,16,32,64}_t, uint{8,16,32,64}_t and __BIT_TYPES_DEFINED__. + <inttypes.h> also defines intptr_t and uintptr_t. */ + # define _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H +-# include <inttypes.h> ++// # include <inttypes.h> + # undef _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H + #elif @HAVE_SYS_INTTYPES_H@ + /* Solaris 7 <sys/inttypes.h> has the types except the *_fast*_t types, and diff --git a/pkgs/tools/system/tree/default.nix b/pkgs/tools/system/tree/default.nix index e108589aaefe..eca8882643d1 100644 --- a/pkgs/tools/system/tree/default.nix +++ b/pkgs/tools/system/tree/default.nix @@ -37,6 +37,7 @@ stdenv.mkDerivation { prefix=$out MANDIR=$out/share/man/man1 ${systemFlags} + CC="$CC" ) ''; diff --git a/pkgs/tools/text/gnugrep/default.nix b/pkgs/tools/text/gnugrep/default.nix index 6e83bd357b27..8be986e0cbb7 100644 --- a/pkgs/tools/text/gnugrep/default.nix +++ b/pkgs/tools/text/gnugrep/default.nix @@ -1,21 +1,18 @@ -{ stdenv, fetchurl, pcre, libiconv ? null }: +{ stdenv, fetchurl, pcre, libiconvOrNull }: -let version = "2.14"; in +let version = "2.20"; in stdenv.mkDerivation { name = "gnugrep-${version}"; src = fetchurl { url = "mirror://gnu/grep/grep-${version}.tar.xz"; - sha256 = "1qbjb1l7f9blckc5pqy8jlf6482hpx4awn2acmhyf5mv9wfq03p7"; + sha256 = "0rcs0spsxdmh6yz8y4frkqp6f5iw19mdbdl9s2v6956hq0mlbbzh"; }; - buildInputs = [ pcre ] - ++ stdenv.lib.optional (libiconv != null) libiconv; + buildInputs = [ pcre libiconvOrNull ]; - patches = [ ./test-localeconv.patch ]; - - NIX_LDFLAGS = stdenv.lib.optionalString (libiconv != null) "-L${libiconv}/lib -liconv"; + NIX_LDFLAGS = stdenv.lib.optionalString (libiconvOrNull != null) "-L${libiconvOrNull}/lib -liconv"; doCheck = !stdenv.isDarwin; @@ -25,6 +22,18 @@ stdenv.mkDerivation { export MKDIR_P="mkdir -p" ''; + # Fix reference to sh in bootstrap-tools, and invoke grep via + # absolute path rather than looking at argv[0]. + postInstall = + '' + rm $out/bin/egrep $out/bin/fgrep + echo "#! /bin/sh" > $out/bin/egrep + echo "exec $out/bin/grep -E \"\$@\"" >> $out/bin/egrep + echo "#! /bin/sh" > $out/bin/fgrep + echo "exec $out/bin/grep -F \"\$@\"" >> $out/bin/fgrep + chmod +x $out/bin/egrep $out/bin/fgrep + ''; + meta = { homepage = http://www.gnu.org/software/grep/; description = "GNU implementation of the Unix grep command"; @@ -37,7 +46,7 @@ stdenv.mkDerivation { license = stdenv.lib.licenses.gpl3Plus; - maintainers = [ ]; + maintainers = [ stdenv.lib.maintainers.eelco ]; platforms = stdenv.lib.platforms.all; }; diff --git a/pkgs/tools/text/gnugrep/test-localeconv.patch b/pkgs/tools/text/gnugrep/test-localeconv.patch deleted file mode 100644 index f5efaf222217..000000000000 --- a/pkgs/tools/text/gnugrep/test-localeconv.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- grep-2.14/gnulib-tests/test-localeconv.c.orig 2013-02-15 18:41:50.213433059 +0000 -+++ grep-2.14/gnulib-tests/test-localeconv.c 2013-02-15 18:50:33.964751303 +0000 -@@ -37,13 +37,13 @@ - - ASSERT (STREQ (l->decimal_point, ".")); - ASSERT (STREQ (l->thousands_sep, "")); --#if !defined __FreeBSD__ -+#if !(defined __FreeBSD__ || defined __sun) - ASSERT (STREQ (l->grouping, "")); - #endif - - ASSERT (STREQ (l->mon_decimal_point, "")); - ASSERT (STREQ (l->mon_thousands_sep, "")); --#if !defined __FreeBSD__ -+#if !(defined __FreeBSD__ || defined __sun) - ASSERT (STREQ (l->mon_grouping, "")); - #endif - ASSERT (STREQ (l->positive_sign, "")); diff --git a/pkgs/tools/text/groff/default.nix b/pkgs/tools/text/groff/default.nix index 97cc3c611733..cd1d719bdaf5 100644 --- a/pkgs/tools/text/groff/default.nix +++ b/pkgs/tools/text/groff/default.nix @@ -28,6 +28,14 @@ stdenv.mkDerivation rec { ''; }; + postInstall = '' + # Remove example output with (random?) colors to + # avoid non-determinism in the output + rm $out/share/doc/${name}/examples/hdtbl/*color*ps + # Remove creation date + find $out/share/doc/${name} -type f -print0 | xargs -0 sed -i -e 's/%%CreationDate: .*//' + ''; + meta = { homepage = "http://www.gnu.org/software/groff/"; description = "GNU Troff, a typesetting package that reads plain text and produces formatted output"; diff --git a/pkgs/tools/text/sgml/opensp/default.nix b/pkgs/tools/text/sgml/opensp/default.nix index 59b9b7bc13d1..4b807718baae 100644 --- a/pkgs/tools/text/sgml/opensp/default.nix +++ b/pkgs/tools/text/sgml/opensp/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, xmlto, docbook_xml_dtd_412, libxslt, docbook_xsl}: +{ lib, stdenv, fetchurl, xmlto, docbook_xml_dtd_412, libxslt, docbook_xsl }: stdenv.mkDerivation { name = "opensp-1.5.2"; @@ -13,8 +13,19 @@ stdenv.mkDerivation { docsrc/*.xml ''; + configureFlags = lib.optional stdenv.isDarwin [ + "--with-libintl-prefix=/usr" + "--with-libiconv-prefix=/usr" + ]; + setupHook = ./setup-hook.sh; + postFixup = '' + # Remove random ids in the release notes + sed -i -e 's/href="#idm.*"//g' $out/share/doc/OpenSP/releasenotes.html + sed -i -e 's/name="idm.*"//g' $out/share/doc/OpenSP/releasenotes.html + ''; + buildInputs = [ xmlto docbook_xml_dtd_412 libxslt docbook_xsl ]; meta = { diff --git a/pkgs/tools/text/sgml/opensp/setup-hook.sh b/pkgs/tools/text/sgml/opensp/setup-hook.sh index 72751b85ef60..5775832789a1 100644 --- a/pkgs/tools/text/sgml/opensp/setup-hook.sh +++ b/pkgs/tools/text/sgml/opensp/setup-hook.sh @@ -10,5 +10,5 @@ if test -z "$sgmlHookDone"; then sgmlHookDone=1 export SGML_CATALOG_FILES - envHooks=(${envHooks[@]} addSGMLCatalogs) + envHooks+=(addSGMLCatalogs) fi diff --git a/pkgs/tools/typesetting/tex/tetex/clang.patch b/pkgs/tools/typesetting/tex/tetex/clang.patch new file mode 100644 index 000000000000..50d83f624437 --- /dev/null +++ b/pkgs/tools/typesetting/tex/tetex/clang.patch @@ -0,0 +1,13 @@ +diff --git a/texk/ps2pkm/type1.c b/texk/ps2pkm/type1.c +index 027bf1f..4dcbad0 100644 +--- a/texk/ps2pkm/type1.c ++++ b/texk/ps2pkm/type1.c +@@ -800,7 +800,7 @@ static void PSFakePush(Num) + static DOUBLE PSFakePop () + { + if (PSFakeTop >= 0) return(PSFakeStack[PSFakeTop--]); +- else Error0("PSFakePop : Stack empty\n"); ++ else { CC; IfTrace0(TRUE, "PSFakePop : Stack empty\n"); errflag = TRUE; return 0; } + /*NOTREACHED*/ + } + diff --git a/pkgs/tools/typesetting/tex/tetex/default.nix b/pkgs/tools/typesetting/tex/tetex/default.nix index 5cd3228aced3..173571eda23c 100644 --- a/pkgs/tools/typesetting/tex/tetex/default.nix +++ b/pkgs/tools/typesetting/tex/tetex/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation { sed -i 57d texk/kpathsea/c-std.h ''; - patches = [ ./environment.patch ./getline.patch ]; + patches = [ ./environment.patch ./getline.patch ./clang.patch ]; setupHook = ./setup-hook.sh; diff --git a/pkgs/tools/typesetting/tex/tetex/setup-hook.sh b/pkgs/tools/typesetting/tex/tetex/setup-hook.sh index d79c4fae4196..9c5424e881e3 100644 --- a/pkgs/tools/typesetting/tex/tetex/setup-hook.sh +++ b/pkgs/tools/typesetting/tex/tetex/setup-hook.sh @@ -4,4 +4,4 @@ addTeXMFPath () { fi } -envHooks=(${envHooks[@]} addTeXMFPath) +envHooks+=(addTeXMFPath) diff --git a/pkgs/tools/typesetting/tex/tex4ht/default.nix b/pkgs/tools/typesetting/tex/tex4ht/default.nix index e3e19d82b4ec..9790c8a5faca 100644 --- a/pkgs/tools/typesetting/tex/tex4ht/default.nix +++ b/pkgs/tools/typesetting/tex/tex4ht/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { cd src for f in tex4ht t4ht htcmd ; do # -DENVFILE="$out/share/texmf-nix/tex4ht/base/unix/tex4ht.env" - gcc -o $f $f.c -I${tetex}/include -L${tetex}/lib -DHAVE_DIRENT_H -DHAVE_DIRENT_H -DKPATHSEA -lkpathsea + $CC -o $f $f.c -I${tetex}/include -L${tetex}/lib -DHAVE_DIRENT_H -DHAVE_DIRENT_H -DKPATHSEA -lkpathsea done cd - ''; diff --git a/pkgs/tools/typesetting/tex/texlive/aggregate.nix b/pkgs/tools/typesetting/tex/texlive/aggregate.nix index e001a36cab03..d19ff39e2a48 100644 --- a/pkgs/tools/typesetting/tex/texlive/aggregate.nix +++ b/pkgs/tools/typesetting/tex/texlive/aggregate.nix @@ -9,13 +9,15 @@ rec { phaseNames = [ "doAggregate" ]; doAggregate = fullDepEntry ('' + set +o pipefail + mkdir -p $out/bin for currentPath in ${lib.concatStringsSep " " buildInputs}; do echo Symlinking "$currentPath" find $currentPath/share/info $currentPath/share/man $(echo $currentPath/texmf*/) -type d | while read; do REPLY="''${REPLY#$currentPath}" mkdir -p $out/"$REPLY" - done + done find $currentPath/share/info $currentPath/share/man $(echo $currentPath/texmf*/) ! -type d | while read; do REPLY="''${REPLY#$currentPath}" ln -fs $currentPath/"$REPLY" $out/"$REPLY" diff --git a/pkgs/tools/typesetting/tex/texlive/default.nix b/pkgs/tools/typesetting/tex/texlive/default.nix index c89ef6b7f531..b21c937e785f 100644 --- a/pkgs/tools/typesetting/tex/texlive/default.nix +++ b/pkgs/tools/typesetting/tex/texlive/default.nix @@ -22,7 +22,6 @@ rec { setupHook = ./setup-hook.sh; doMainBuild = fullDepEntry ( stdenv.lib.optionalString stdenv.isDarwin '' - export MACOSX_DEPLOYMENT_TARGET=10.9 export DYLD_LIBRARY_PATH="${poppler}/lib" '' + '' mkdir -p $out diff --git a/pkgs/tools/typesetting/tex/texlive/setup-hook.sh b/pkgs/tools/typesetting/tex/texlive/setup-hook.sh index d79c4fae4196..9c5424e881e3 100644 --- a/pkgs/tools/typesetting/tex/texlive/setup-hook.sh +++ b/pkgs/tools/typesetting/tex/texlive/setup-hook.sh @@ -4,4 +4,4 @@ addTeXMFPath () { fi } -envHooks=(${envHooks[@]} addTeXMFPath) +envHooks+=(addTeXMFPath) |