diff options
Diffstat (limited to 'pkgs/development/tools')
25 files changed, 254 insertions, 222 deletions
diff --git a/pkgs/development/tools/analysis/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix index 5ddb03d318f9..bc5f41bf86ec 100644 --- a/pkgs/development/tools/analysis/radare2/default.nix +++ b/pkgs/development/tools/analysis/radare2/default.nix @@ -1,4 +1,6 @@ -{stdenv, fetchFromGitHub, pkgconfig, libusb, readline, libewf, perl, zlib, openssl +{stdenv, fetchFromGitHub +, ninja, meson , pkgconfig +, libusb, readline, libewf, perl, zlib, openssl , gtk2 ? null, vte ? null, gtkdialog ? null , python ? null , ruby ? null @@ -10,40 +12,57 @@ assert useX11 -> (gtk2 != null && vte != null && gtkdialog != null); assert rubyBindings -> ruby != null; assert pythonBindings -> python != null; + let inherit (stdenv.lib) optional; + #<generated> + # DO NOT EDIT! Automatically generated by ./update.py + version_commit = "18177"; + gittap = "2.6.0"; + gittip = "83ef480221ec29d82c16003c61d0dc86b8851d38"; + version = "2.6.0"; + sha256 = "18jhb9w8c1m09383d2xm2qp0rc240psjygbbs222hzpx32hald5s"; + cs_tip = "37569a6874c8547b349a80823adda9284499fe80"; + cs_sha256 = "0v31367g4jn4baswl62y0rvvm2nf57y91n3731xqblvi6qxj8qkv"; + #</generated> in stdenv.mkDerivation rec { - version = "2.5.0"; name = "radare2-${version}"; src = fetchFromGitHub { owner = "radare"; repo = "radare2"; rev = version; - sha256 = "07x94chkhpn3wgw4pypn35psxq370j6xwmhf1mh5z27cqkq7c2yd"; + inherit sha256; }; - # do not try to update capstone - WITHOUT_PULL=1; - postPatch = let - cs_tip = "4a1b580d069c82d60070d0869a87000db7cdabe2"; # version from $sourceRoot/shlr/Makefile capstone = fetchFromGitHub { owner = "aquynh"; repo = "capstone"; + # version from $sourceRoot/shlr/Makefile rev = cs_tip; - sha256 = "0v6rxfpxjq0hf40qn1n5m5wsv1dv6p1j8vm94a708lhvcbk9nkv8"; + sha256 = cs_sha256; }; in '' if ! grep -F "CS_TIP=${cs_tip}" shlr/Makefile; then echo "CS_TIP mismatch"; exit 1; fi - cp -r ${capstone} shlr/capstone - chmod -R u+rw shlr/capstone + ln -s ${capstone} shlr/capstone ''; + postInstall = '' + ln -s $out/bin/radare2 $out/bin/r2 + install -D -m755 $src/binr/r2pm/r2pm $out/bin/r2pm + ''; + + mesonFlags = [ + "-Dr2_version_commit=${version_commit}" + "-Dr2_gittap=${gittap}" + "-Dr2_gittip=${gittip}" + ]; + enableParallelBuilding = true; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ pkgconfig ninja meson ]; buildInputs = [ readline libusb libewf perl zlib openssl] ++ optional useX11 [gtkdialog vte gtk2] ++ optional rubyBindings [ruby] diff --git a/pkgs/development/tools/analysis/radare2/update.py b/pkgs/development/tools/analysis/radare2/update.py new file mode 100755 index 000000000000..1f16a00905c1 --- /dev/null +++ b/pkgs/development/tools/analysis/radare2/update.py @@ -0,0 +1,72 @@ +#!/usr/bin/env nix-shell +#!nix-shell -p nix -p python3 -p git -i python +# USAGE - just run the script: ./update.py +# When editing this file, make also sure it passes the mypy typecheck +# and is formatted with yapf. +import urllib.request +import json +import tempfile +import subprocess +import fileinput +import re +from pathlib import Path + + +def sh(*args: str) -> str: + out = subprocess.check_output(list(args)) + return out.strip().decode("utf-8") + + +def prefetch_github(owner: str, repo: str, ref: str) -> str: + return sh("nix-prefetch-url", "--unpack", + f"https://github.com/{owner}/{repo}/archive/{ref}.tar.gz") + + +def main() -> None: + url = "https://api.github.com/repos/radare/radare2/releases/latest" + with urllib.request.urlopen(url) as response: + release = json.load(response) # type: ignore + version = release["tag_name"] + with tempfile.TemporaryDirectory() as dirname: + + def git(*args: str) -> str: + return sh("git", "-C", dirname, *args) + + git("clone", "--branch", version, "https://github.com/radare/radare2", + ".") + sha256 = prefetch_github("radare", "radare2", version) + nix_file = str(Path(__file__).parent.joinpath("default.nix")) + + cs_tip = None + with open(Path(dirname).joinpath("shlr", "Makefile")) as makefile: + for l in makefile: + match = re.match("CS_TIP=(\S+)", l) + if match: + cs_tip = match.group(1) + assert cs_tip is not None + + cs_sha256 = prefetch_github("aquynh", "capstone", cs_tip) + + in_block = False + with fileinput.FileInput(nix_file, inplace=True) as f: + for l in f: + if "#<generated>" in l: + in_block = True + print(f""" #<generated> + # DO NOT EDIT! Automatically generated by ./update.py + version_commit = "{git("rev-list", "--all", "--count")}"; + gittap = "{git("describe", "--tags", "--match", "[0-9]*")}"; + gittip = "{git("rev-parse", "HEAD")}"; + version = "{version}"; + sha256 = "{sha256}"; + cs_tip = "{cs_tip}"; + cs_sha256 = "{cs_sha256}"; + #</generated>""") + elif "#</generated>" in l: + in_block = False + elif not in_block: + print(l, end="") + + +if __name__ == "__main__": + main() diff --git a/pkgs/development/tools/analysis/valgrind/default.nix b/pkgs/development/tools/analysis/valgrind/default.nix index 875feea84d47..131533896ff9 100644 --- a/pkgs/development/tools/analysis/valgrind/default.nix +++ b/pkgs/development/tools/analysis/valgrind/default.nix @@ -59,6 +59,8 @@ stdenv.mkDerivation rec { configureFlags = stdenv.lib.optional (stdenv.system == "x86_64-linux" || stdenv.system == "x86_64-darwin") "--enable-only64bit"; + doCheck = false; # fails + postInstall = '' for i in $out/lib/valgrind/*.supp; do substituteInPlace $i \ diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix index 97c02cd9cc12..4675014880ba 100644 --- a/pkgs/development/tools/build-managers/cmake/default.nix +++ b/pkgs/development/tools/build-managers/cmake/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, pkgconfig , bzip2, curl, expat, libarchive, xz, zlib, libuv, rhash -, majorVersion ? "3.10" +, majorVersion ? "3.11" # darwin attributes , ps , isBootstrap ? false @@ -17,6 +17,10 @@ with stdenv.lib; with ( { + "3.11" = { + minorVersion = "2"; + sha256 = "0j2jpx94lnqx5w59i9xihl56hf6ghk04438rqhh7lk1bryxj5g2y"; + }; "3.10" = { minorVersion = "2"; sha256 = "80d0faad4ab56de07aa21a7fc692c88c4ce6156d42b0579c6962004a70a3218b"; @@ -80,19 +84,24 @@ stdenv.mkDerivation rec { configureFlags="--parallel=''${NIX_BUILD_CORES:-1} $configureFlags" ''; - configureFlags = [ "--docdir=share/doc/${name}" ] - ++ (if useSharedLibraries then [ "--no-system-jsoncpp" "--system-libs" ] else [ "--no-system-libs" ]) # FIXME: cleanup + configureFlags = [ + "--docdir=share/doc/${name}" + ] ++ (if useSharedLibraries then [ "--no-system-jsoncpp" "--system-libs" ] else [ "--no-system-libs" ]) # FIXME: cleanup ++ optional (useQt4 || withQt5) "--qt-gui" - ++ ["--"] - ++ optionals (!useNcurses) [ "-DBUILD_CursesDialog=OFF" ] - ++ optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ - "-DCMAKE_CXX_COMPILER=${stdenv.cc.targetPrefix}c++" - "-DCMAKE_C_COMPILER=${stdenv.cc.targetPrefix}cc" - "-DCMAKE_AR=${getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}ar" - "-DCMAKE_RANLIB=${getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}ranlib" - "-DCMAKE_STRIP=${getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}strip" - # TODO: Why are ar and friends not provided by the bintools wrapper? - ]; + ++ [ + "--" + # We should set the proper `CMAKE_SYSTEM_NAME`. + # http://www.cmake.org/Wiki/CMake_Cross_Compiling + # + # Unfortunately cmake seems to expect absolute paths for ar, ranlib, and + # strip. Otherwise they are taken to be relative to the source root of the + # package being built. + "-DCMAKE_CXX_COMPILER=${stdenv.cc.targetPrefix}c++" + "-DCMAKE_C_COMPILER=${stdenv.cc.targetPrefix}cc" + "-DCMAKE_AR=${getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}ar" + "-DCMAKE_RANLIB=${getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}ranlib" + "-DCMAKE_STRIP=${getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}strip" + ] ++ optionals (!useNcurses) [ "-DBUILD_CursesDialog=OFF" ]; dontUseCmakeConfigure = true; enableParallelBuilding = true; @@ -101,6 +110,7 @@ stdenv.mkDerivation rec { # CMAKE_SYSTEM_NAME, etc. configurePlatforms = [ ]; + doCheck = false; # fails meta = with stdenv.lib; { homepage = http://www.cmake.org/; diff --git a/pkgs/development/tools/build-managers/cmake/setup-hook.sh b/pkgs/development/tools/build-managers/cmake/setup-hook.sh index 5053559bcca3..8e3993fadc14 100755 --- a/pkgs/development/tools/build-managers/cmake/setup-hook.sh +++ b/pkgs/development/tools/build-managers/cmake/setup-hook.sh @@ -29,20 +29,17 @@ cmakeConfigurePhase() { cmakeFlags="-DCMAKE_INSTALL_PREFIX=$prefix $cmakeFlags" fi - if [ -n "$crossConfig" ]; then - # By now it supports linux builds only. We should set the proper - # CMAKE_SYSTEM_NAME otherwise. - # http://www.cmake.org/Wiki/CMake_Cross_Compiling - # - # Unfortunately cmake seems to expect absolute paths for ar, ranlib, and - # strip. Otherwise they are taken to be relative to the source root of - # the package being built. - cmakeFlags="-DCMAKE_CXX_COMPILER=$crossConfig-c++ $cmakeFlags" - cmakeFlags="-DCMAKE_C_COMPILER=$crossConfig-cc $cmakeFlags" - cmakeFlags="-DCMAKE_AR=$(command -v $crossConfig-ar) $cmakeFlags" - cmakeFlags="-DCMAKE_RANLIB=$(command -v $crossConfig-ranlib) $cmakeFlags" - cmakeFlags="-DCMAKE_STRIP=$(command -v $crossConfig-strip) $cmakeFlags" - fi + # We should set the proper `CMAKE_SYSTEM_NAME`. + # http://www.cmake.org/Wiki/CMake_Cross_Compiling + # + # Unfortunately cmake seems to expect absolute paths for ar, ranlib, and + # strip. Otherwise they are taken to be relative to the source root of the + # package being built. + cmakeFlags="-DCMAKE_CXX_COMPILER=$CXX $cmakeFlags" + cmakeFlags="-DCMAKE_C_COMPILER=$CC $cmakeFlags" + cmakeFlags="-DCMAKE_AR=$(command -v $AR) $cmakeFlags" + cmakeFlags="-DCMAKE_RANLIB=$(command -v $RANLIB) $cmakeFlags" + cmakeFlags="-DCMAKE_STRIP=$(command -v $STRIP) $cmakeFlags" # on macOS we want to prefer Unix-style headers to Frameworks # because we usually do not package the framework diff --git a/pkgs/development/tools/build-managers/conan/default.nix b/pkgs/development/tools/build-managers/conan/default.nix index 04d7d93455e9..849c722e5548 100644 --- a/pkgs/development/tools/build-managers/conan/default.nix +++ b/pkgs/development/tools/build-managers/conan/default.nix @@ -20,12 +20,12 @@ let newPython = python.override { }; in newPython.pkgs.buildPythonApplication rec { - version = "1.1.1"; # remove patch below when updating + version = "1.2.3"; pname = "conan"; src = newPython.pkgs.fetchPypi { inherit pname version; - sha256 = "1k1r401bc9fgmhd5n5f29mjcn346r3zdrm7p28nwpr2r2p3fslrl"; + sha256 = "623e92d99cd0f4ec92552b23af66a6bb066071e213659f502480bb9a96d7be23"; }; checkInputs = with newPython.pkgs; [ @@ -39,15 +39,7 @@ in newPython.pkgs.buildPythonApplication rec { propagatedBuildInputs = with newPython.pkgs; [ requests fasteners pyyaml pyjwt colorama patch bottle pluginbase six distro pylint node-semver - future pygments mccabe - ]; - - patches = [ - # already merged, remove with the next package update - (fetchpatch { - url = "https://github.com/conan-io/conan/commit/51cc4cbd51ac8f9b9efa2bf678a2d7810e273ff3.patch"; - sha256 = "0d93g4hjpfk8z870imwdswkw5qba2h5zhfgwwijiqhr2pv7fl1y7"; - }) + future pygments mccabe deprecation ]; preCheck = '' diff --git a/pkgs/development/tools/build-managers/meson/default.nix b/pkgs/development/tools/build-managers/meson/default.nix index 298c669e690b..6022b645172c 100644 --- a/pkgs/development/tools/build-managers/meson/default.nix +++ b/pkgs/development/tools/build-managers/meson/default.nix @@ -2,13 +2,13 @@ targetPrefix = lib.optionalString stdenv.isCross (targetPlatform.config + "-"); in python3Packages.buildPythonApplication rec { - version = "0.45.1"; + version = "0.46.1"; pname = "meson"; name = "${pname}-${version}"; src = python3Packages.fetchPypi { inherit pname version; - sha256 = "154kxx49dbw7p30qfg1carb3mgqxx9hyy1r0yzfsg07hz1n2sq14"; + sha256 = "1jdxs2mkniy1hpdjc4b4jb95axsjp6j5fzphmm6d4gqmqyykjvqc"; }; postFixup = '' @@ -43,10 +43,6 @@ in python3Packages.buildPythonApplication rec { src = ./fix-rpath.patch; inherit (builtins) storeDir; }) - - # No one will ever need more than 128 bytes of data structure - # https://github.com/mesonbuild/meson/issues/3113 - ./overly-strict-size-check.patch ]; setupHook = ./setup-hook.sh; diff --git a/pkgs/development/tools/build-managers/meson/overly-strict-size-check.patch b/pkgs/development/tools/build-managers/meson/overly-strict-size-check.patch deleted file mode 100644 index ea0e9bcd7eac..000000000000 --- a/pkgs/development/tools/build-managers/meson/overly-strict-size-check.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Naur a/mesonbuild/compilers/c.py b/mesonbuild/compilers/c.py ---- a/mesonbuild/compilers/c.py 2017-12-10 08:37:19.000000000 -0500 -+++ b/mesonbuild/compilers/c.py 2018-03-24 07:46:04.739929307 -0400 -@@ -406,7 +406,7 @@ - }}''' - if not self.compiles(t.format(**fargs), env, extra_args, dependencies): - return -1 -- return self.cross_compute_int('sizeof(%s)' % typename, 1, 128, None, prefix, env, extra_args, dependencies) -+ return self.cross_compute_int('sizeof(%s)' % typename, 1, 1024, None, prefix, env, extra_args, dependencies) - - def sizeof(self, typename, prefix, env, extra_args=None, dependencies=None): - if extra_args is None: diff --git a/pkgs/development/tools/dcadec/default.nix b/pkgs/development/tools/dcadec/default.nix index 95f992e490f4..f9ca826cd620 100644 --- a/pkgs/development/tools/dcadec/default.nix +++ b/pkgs/development/tools/dcadec/default.nix @@ -14,6 +14,8 @@ stdenv.mkDerivation rec { installPhase = "make PREFIX=/ DESTDIR=$out install"; + doCheck = false; # fails with "ERROR: Run 'git submodule update --init test/samples' first." + meta = with stdenv.lib; { description = "DTS Coherent Acoustics decoder with support for HD extensions"; maintainers = with maintainers; [ edwtjo ]; @@ -21,4 +23,4 @@ stdenv.mkDerivation rec { license = licenses.lgpl21; platforms = platforms.linux; }; -} \ No newline at end of file +} diff --git a/pkgs/development/tools/documentation/doxygen/default.nix b/pkgs/development/tools/documentation/doxygen/default.nix index 05418aa39a8c..d25f00276f62 100644 --- a/pkgs/development/tools/documentation/doxygen/default.nix +++ b/pkgs/development/tools/documentation/doxygen/default.nix @@ -25,6 +25,7 @@ stdenv.mkDerivation rec { stdenv.lib.optional stdenv.isDarwin "-mmacosx-version-min=10.9"; enableParallelBuilding = true; + doCheck = false; # fails meta = { license = stdenv.lib.licenses.gpl2Plus; diff --git a/pkgs/development/tools/documentation/gtk-doc/default.nix b/pkgs/development/tools/documentation/gtk-doc/default.nix index a52afd6c39ad..5bd989a4da88 100644 --- a/pkgs/development/tools/documentation/gtk-doc/default.nix +++ b/pkgs/development/tools/documentation/gtk-doc/default.nix @@ -28,6 +28,9 @@ stdenv.mkDerivation rec { configureFlags = "--disable-scrollkeeper"; + doCheck = false; # requires a lot of stuff + doInstallCheck = false; # fails + passthru = { # Consumers are expected to copy the m4 files to their source tree, let them reuse the patch respect_xml_catalog_files_var_patch = ./respect-xml-catalog-files-var.patch; diff --git a/pkgs/development/tools/go2nix/default.nix b/pkgs/development/tools/go2nix/default.nix index 9a3ff192ba93..5ef12d88c06c 100644 --- a/pkgs/development/tools/go2nix/default.nix +++ b/pkgs/development/tools/go2nix/default.nix @@ -33,6 +33,8 @@ buildGoPackage rec { allowGoReference = true; + doCheck = false; # tries to access the net + meta = with stdenv.lib; { description = "Go apps packaging for Nix"; homepage = https://github.com/kamilchm/go2nix; diff --git a/pkgs/development/tools/govers/default.nix b/pkgs/development/tools/govers/default.nix index bd4dd28f599b..a80f1569329c 100644 --- a/pkgs/development/tools/govers/default.nix +++ b/pkgs/development/tools/govers/default.nix @@ -4,7 +4,7 @@ buildGoPackage rec { name = "govers-${version}"; version = "20150109-${stdenv.lib.strings.substring 0 7 rev}"; rev = "3b5f175f65d601d06f48d78fcbdb0add633565b9"; - + goPackagePath = "github.com/rogpeppe/govers"; src = fetchgit { @@ -14,4 +14,7 @@ buildGoPackage rec { }; dontRenameImports = true; + + doCheck = false; # fails, silently + } diff --git a/pkgs/development/tools/misc/autoconf/2.64.nix b/pkgs/development/tools/misc/autoconf/2.64.nix index 9e70833e008f..31df050d5f80 100644 --- a/pkgs/development/tools/misc/autoconf/2.64.nix +++ b/pkgs/development/tools/misc/autoconf/2.64.nix @@ -23,10 +23,12 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - preCheck = - # Make the Autotest test suite run in parallel. - '' export TESTSUITEFLAGS="-j$NIX_BUILD_CORES" - ''; + # Make the Autotest test suite run in parallel. + preCheck ='' + export TESTSUITEFLAGS="-j$NIX_BUILD_CORES" + ''; + + doInstallCheck = false; # fails meta = { homepage = http://www.gnu.org/software/autoconf/; diff --git a/pkgs/development/tools/misc/autoconf/default.nix b/pkgs/development/tools/misc/autoconf/default.nix index 579dea33df47..e9ea0ea1ea4f 100644 --- a/pkgs/development/tools/misc/autoconf/default.nix +++ b/pkgs/development/tools/misc/autoconf/default.nix @@ -24,10 +24,12 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - preCheck = - # Make the Autotest test suite run in parallel. - '' export TESTSUITEFLAGS="-j$NIX_BUILD_CORES" - ''; + # Make the Autotest test suite run in parallel. + preCheck ='' + export TESTSUITEFLAGS="-j$NIX_BUILD_CORES" + ''; + + doInstallCheck = false; # fails meta = { homepage = http://www.gnu.org/software/autoconf/; diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix index db0908952dc5..de316d0e5e7f 100644 --- a/pkgs/development/tools/misc/binutils/default.nix +++ b/pkgs/development/tools/misc/binutils/default.nix @@ -104,11 +104,7 @@ stdenv.mkDerivation rec { else "-static-libgcc"; # TODO(@Ericson2314): Always pass "--target" and always targetPrefix. - configurePlatforms = - # TODO(@Ericson2314): Figure out what's going wrong with Arm - if buildPlatform == hostPlatform && hostPlatform == targetPlatform && targetPlatform.isAarch32 - then [] - else [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target"; + configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target"; configureFlags = [ "--enable-targets=all" "--enable-64-bit-bfd" @@ -121,6 +117,8 @@ stdenv.mkDerivation rec { "--enable-fix-loongson2f-nop" ] ++ optionals gold [ "--enable-gold" "--enable-plugins" ]; + doCheck = false; # fails + enableParallelBuilding = true; passthru = { diff --git a/pkgs/development/tools/misc/itstool/default.nix b/pkgs/development/tools/misc/itstool/default.nix index 70ed9cd0570e..129c1c6b3a93 100644 --- a/pkgs/development/tools/misc/itstool/default.nix +++ b/pkgs/development/tools/misc/itstool/default.nix @@ -2,11 +2,11 @@ # We need the same Python as is used to build libxml2Python stdenv.mkDerivation rec { - name = "itstool-2.0.2"; + name = "itstool-2.0.4"; src = fetchurl { url = "http://files.itstool.org/itstool/${name}.tar.bz2"; - sha256 = "bf909fb59b11a646681a8534d5700fec99be83bb2c57badf8c1844512227033a"; + sha256 = "0q7b4qrc758zfx3adsgvz0r93swdbxjr42w37rahngm33nshihlp"; }; buildInputs = [ python2 libxml2Python ]; diff --git a/pkgs/development/tools/misc/libtool/libtool2.nix b/pkgs/development/tools/misc/libtool/libtool2.nix index 85821ee2089d..d1d35d9a4824 100644 --- a/pkgs/development/tools/misc/libtool/libtool2.nix +++ b/pkgs/development/tools/misc/libtool/libtool2.nix @@ -22,6 +22,7 @@ stdenv.mkDerivation rec { # XXX: The GNU ld wrapper does all sorts of nasty things wrt. RPATH, which # leads to the failure of a number of tests. doCheck = false; + doInstallCheck = false; # Don't run the native `strip' when cross-compiling. This breaks at least # with `.a' files for MinGW. diff --git a/pkgs/development/tools/misc/pkgconfig/default.nix b/pkgs/development/tools/misc/pkgconfig/default.nix index 15d00b0a2a52..219281f4ec17 100644 --- a/pkgs/development/tools/misc/pkgconfig/default.nix +++ b/pkgs/development/tools/misc/pkgconfig/default.nix @@ -32,6 +32,7 @@ stdenv.mkDerivation rec { "ac_cv_func_posix_getgrgid_r=yes" ]; + doCheck = false; # fails postInstall = ''rm -f "$out"/bin/*-pkg-config''; # clean the duplicate file @@ -42,4 +43,3 @@ stdenv.mkDerivation rec { }; } - diff --git a/pkgs/development/tools/misc/texinfo/4.13a.nix b/pkgs/development/tools/misc/texinfo/4.13a.nix index 2e0d020688ea..63e5bea19d74 100644 --- a/pkgs/development/tools/misc/texinfo/4.13a.nix +++ b/pkgs/development/tools/misc/texinfo/4.13a.nix @@ -1,10 +1,11 @@ -{ stdenv, fetchurl, ncurses, lzma }: +{ stdenv, fetchurl, texinfo, ncurses, lzma }: stdenv.mkDerivation rec { - name = "texinfo-4.13a"; + name = "texinfo-${version}"; + version = "4.13a"; src = fetchurl { - url = "mirror://gnu/texinfo/texinfo-4.13a.tar.lzma"; + url = "mirror://gnu/texinfo/${name}.tar.lzma"; sha256 = "1rf9ckpqwixj65bw469i634897xwlgkm5i9g2hv3avl6mv7b0a3d"; }; @@ -14,29 +15,5 @@ stdenv.mkDerivation rec { # Disabled because we don't have zdiff in the stdenv bootstrap. #doCheck = true; - meta = { - description = "The GNU documentation system"; - - longDescription = '' - Texinfo is the official documentation format of the GNU project. - It was invented by Richard Stallman and Bob Chassell many years - ago, loosely based on Brian Reid's Scribe and other formatting - languages of the time. It is used by many non-GNU projects as - well. - - Texinfo uses a single source file to produce output in a number - of formats, both online and printed (dvi, html, info, pdf, xml, - etc.). This means that instead of writing different documents - for online information and another for a printed manual, you - need write only one document. And when the work is revised, you - need revise only that one document. The Texinfo system is - well-integrated with GNU Emacs. - ''; - - license = stdenv.lib.licenses.gpl3Plus; - - homepage = http://www.gnu.org/software/texinfo/; - branch = "4.13"; - platforms = stdenv.lib.platforms.unix; - }; + meta = texinfo.meta // { branch = version; }; } diff --git a/pkgs/development/tools/misc/texinfo/5.2.nix b/pkgs/development/tools/misc/texinfo/5.2.nix index 0feb4b943df3..d395494984d5 100644 --- a/pkgs/development/tools/misc/texinfo/5.2.nix +++ b/pkgs/development/tools/misc/texinfo/5.2.nix @@ -1,54 +1,4 @@ -{ stdenv, buildPackages, fetchurl, ncurses, perl, xz, procps, interactive ? false }: - -with stdenv.lib; - -stdenv.mkDerivation rec { - name = "texinfo-5.2"; - - src = fetchurl { - url = "mirror://gnu/texinfo/${name}.tar.xz"; - sha256 = "1njfwh2z34r2c4r0iqa7v24wmjzvsfyz4vplzry8ln3479lfywal"; - }; - - # We need a native compiler to build perl XS extensions - # when cross-compiling. - depsBuildBuild = [ buildPackages.stdenv.cc perl ]; - - buildInputs = [ perl xz.bin ] - ++ optional interactive ncurses - ++ optional doCheck procps; # for tests - - configureFlags = [ "PERL=${buildPackages.perl}/bin/perl" ] - ++ stdenv.lib.optional stdenv.isSunOS "AWK=${gawk}/bin/awk"; - - preInstall = '' - installFlags="TEXMF=$out/texmf-dist"; - installTargets="install install-tex"; - ''; - - doCheck = !stdenv.isDarwin; - - meta = { - homepage = http://www.gnu.org/software/texinfo/; - description = "The GNU documentation system"; - license = licenses.gpl3Plus; - platforms = platforms.all; - - longDescription = '' - Texinfo is the official documentation format of the GNU project. - It was invented by Richard Stallman and Bob Chassell many years - ago, loosely based on Brian Reid's Scribe and other formatting - languages of the time. It is used by many non-GNU projects as - well. - - Texinfo uses a single source file to produce output in a number - of formats, both online and printed (dvi, html, info, pdf, xml, - etc.). This means that instead of writing different documents - for online information and another for a printed manual, you - need write only one document. And when the work is revised, you - need revise only that one document. The Texinfo system is - well-integrated with GNU Emacs. - ''; - branch = "5.2"; - }; +import ./common.nix { + version = "5.2"; + sha256 = "1njfwh2z34r2c4r0iqa7v24wmjzvsfyz4vplzry8ln3479lfywal"; } diff --git a/pkgs/development/tools/misc/texinfo/6.5.nix b/pkgs/development/tools/misc/texinfo/6.5.nix index afa7e9a0a206..34596f306581 100644 --- a/pkgs/development/tools/misc/texinfo/6.5.nix +++ b/pkgs/development/tools/misc/texinfo/6.5.nix @@ -1,56 +1,4 @@ -{ stdenv, buildPackages, fetchurl, ncurses, perl, xz, libiconv, gawk, procps, interactive ? false }: - -with stdenv.lib; - -stdenv.mkDerivation rec { - name = "texinfo-6.5"; - - src = fetchurl { - url = "mirror://gnu/texinfo/${name}.tar.xz"; - sha256 = "0qjzvbvnv9003xdrcpi3jp7y68j4hq2ciw9frh2hghh698zlnxvp"; - }; - - # We need a native compiler to build perl XS extensions - # when cross-compiling. - depsBuildBuild = [ buildPackages.stdenv.cc perl ]; - - buildInputs = [ xz ] - ++ optionals stdenv.isSunOS [ libiconv gawk ] - ++ optional interactive ncurses - ++ optional doCheck procps; # for tests - - configureFlags = [ "PERL=${buildPackages.perl}/bin/perl" ] - ++ stdenv.lib.optional stdenv.isSunOS "AWK=${gawk}/bin/awk"; - - preInstall = '' - installFlags="TEXMF=$out/texmf-dist"; - installTargets="install install-tex"; - ''; - - doCheck = interactive # simplify bootstrapping - && !stdenv.isDarwin && !stdenv.isSunOS/*flaky*/; - - meta = with stdenv.lib; { - homepage = http://www.gnu.org/software/texinfo/; - description = "The GNU documentation system"; - license = licenses.gpl3Plus; - platforms = platforms.all; - maintainers = [ maintainers.vrthra ]; - - longDescription = '' - Texinfo is the official documentation format of the GNU project. - It was invented by Richard Stallman and Bob Chassell many years - ago, loosely based on Brian Reid's Scribe and other formatting - languages of the time. It is used by many non-GNU projects as - well. - - Texinfo uses a single source file to produce output in a number - of formats, both online and printed (dvi, html, info, pdf, xml, - etc.). This means that instead of writing different documents - for online information and another for a printed manual, you - need write only one document. And when the work is revised, you - need revise only that one document. The Texinfo system is - well-integrated with GNU Emacs. - ''; - }; +import ./common.nix { + version = "6.5"; + sha256 = "0qjzvbvnv9003xdrcpi3jp7y68j4hq2ciw9frh2hghh698zlnxvp"; } diff --git a/pkgs/development/tools/misc/texinfo/common.nix b/pkgs/development/tools/misc/texinfo/common.nix new file mode 100644 index 000000000000..12534297ff3d --- /dev/null +++ b/pkgs/development/tools/misc/texinfo/common.nix @@ -0,0 +1,64 @@ +{ version, sha256 }: + +{ stdenv, buildPackages, fetchurl, perl, xz + +# we are a dependency of gcc, this simplifies bootstraping +, interactive ? false, ncurses, procps +}: + +with stdenv.lib; + +stdenv.mkDerivation rec { + name = "texinfo-${optionalString interactive "interactive-"}${version}"; + inherit version; + + src = fetchurl { + url = "mirror://gnu/texinfo/texinfo-${version}.tar.xz"; + inherit sha256; + }; + + # We need a native compiler to build perl XS extensions + # when cross-compiling. + depsBuildBuild = [ buildPackages.stdenv.cc perl ]; + + buildInputs = [ xz.bin ] + ++ optionals stdenv.isSunOS [ libiconv gawk ] + ++ optionals interactive [ ncurses procps ]; + + configureFlags = [ "PERL=${buildPackages.perl}/bin/perl" ] + ++ stdenv.lib.optional stdenv.isSunOS "AWK=${gawk}/bin/awk"; + + preInstall = '' + installFlags="TEXMF=$out/texmf-dist"; + installTargets="install install-tex"; + ''; + + doCheck = interactive + && !stdenv.isDarwin + && !stdenv.isSunOS; # flaky + + meta = { + homepage = http://www.gnu.org/software/texinfo/; + description = "The GNU documentation system"; + license = licenses.gpl3Plus; + platforms = platforms.all; + maintainers = with maintainers; [ vrthra oxij ]; + + longDescription = '' + Texinfo is the official documentation format of the GNU project. + It was invented by Richard Stallman and Bob Chassell many years + ago, loosely based on Brian Reid's Scribe and other formatting + languages of the time. It is used by many non-GNU projects as + well. + + Texinfo uses a single source file to produce output in a number + of formats, both online and printed (dvi, html, info, pdf, xml, + etc.). This means that instead of writing different documents + for online information and another for a printed manual, you + need write only one document. And when the work is revised, you + need revise only that one document. The Texinfo system is + well-integrated with GNU Emacs. + ''; + branch = version; + }; +} diff --git a/pkgs/development/tools/parsing/bison/3.x.nix b/pkgs/development/tools/parsing/bison/3.x.nix index 2b0c14ea8321..9c75e93bb1c1 100644 --- a/pkgs/development/tools/parsing/bison/3.x.nix +++ b/pkgs/development/tools/parsing/bison/3.x.nix @@ -13,6 +13,9 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ m4 perl ] ++ stdenv.lib.optional stdenv.isSunOS help2man; propagatedBuildInputs = [ m4 ]; + doCheck = false; # fails + doInstallCheck = false; # fails + meta = { homepage = http://www.gnu.org/software/bison/; description = "Yacc-compatible parser generator"; diff --git a/pkgs/development/tools/vagrant/Gemfile b/pkgs/development/tools/vagrant/Gemfile index d32951f1c054..f25a77c9398c 100644 --- a/pkgs/development/tools/vagrant/Gemfile +++ b/pkgs/development/tools/vagrant/Gemfile @@ -1,2 +1,2 @@ source "https://rubygems.org" -gem 'vagrant' +gem 'vagrant', git: "https://github.com/hashicorp/vagrant.git", tag: "v2.0.4" |