diff options
author | Vladimír Čunát <vcunat@gmail.com> | 2018-02-20 20:33:17 +0100 |
---|---|---|
committer | Vladimír Čunát <vcunat@gmail.com> | 2018-02-20 20:33:40 +0100 |
commit | 1d15dadbec4f3d0a1f98e877e77518afe9245148 (patch) | |
tree | 76b034c0dbd376b7e588802a9946154499631258 /pkgs/development/tools | |
parent | 43a88e3d8a68a008abea0bca0b17805aa4910764 (diff) | |
parent | b60ef32617383e78c32ca3d69754df5a5f550183 (diff) | |
download | nixlib-1d15dadbec4f3d0a1f98e877e77518afe9245148.tar nixlib-1d15dadbec4f3d0a1f98e877e77518afe9245148.tar.gz nixlib-1d15dadbec4f3d0a1f98e877e77518afe9245148.tar.bz2 nixlib-1d15dadbec4f3d0a1f98e877e77518afe9245148.tar.lz nixlib-1d15dadbec4f3d0a1f98e877e77518afe9245148.tar.xz nixlib-1d15dadbec4f3d0a1f98e877e77518afe9245148.tar.zst nixlib-1d15dadbec4f3d0a1f98e877e77518afe9245148.zip |
Merge branch 'master' into staging
Larger rebuilds from master.
Diffstat (limited to 'pkgs/development/tools')
7 files changed, 268 insertions, 22 deletions
diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix index 69ca68351ba1..4a2d298495da 100644 --- a/pkgs/development/tools/analysis/flow/default.nix +++ b/pkgs/development/tools/analysis/flow/default.nix @@ -4,14 +4,14 @@ with lib; stdenv.mkDerivation rec { - version = "0.65.0"; + version = "0.66.0"; name = "flow-${version}"; src = fetchFromGitHub { owner = "facebook"; repo = "flow"; rev = "v${version}"; - sha256 = "00m9wqfqpnv7p2kz0970254jfaqakb12lsnhk95hw47ghfyb2f7p"; + sha256 = "0l1sdd1n0llmz8m81vym3zhcn824sr9w46h9jpb7i7wrcm4y410d"; }; installPhase = '' diff --git a/pkgs/development/tools/asn2quickder/default.nix b/pkgs/development/tools/asn2quickder/default.nix index 812053902a57..e0b9aec9ee15 100644 --- a/pkgs/development/tools/asn2quickder/default.nix +++ b/pkgs/development/tools/asn2quickder/default.nix @@ -1,30 +1,25 @@ -{ stdenv, fetchFromGitHub, python2Packages, makeWrapper }: +{ stdenv, buildPythonApplication, fetchFromGitHub, makeWrapper, cmake +, pytestrunner, pytest, six, pyparsing, asn1ate }: -stdenv.mkDerivation rec { +buildPythonApplication rec { pname = "asn2quickder"; - name = "${pname}-${version}"; - version = "0.7-RC1"; + version = "1.2-6"; src = fetchFromGitHub { - sha256 = "0ynajhbml28m4ipbj5mscjcv6g1a7frvxfimxh813rhgl0w3sgq8"; + sha256 = "00wifjydgmqw2i5vmr049visc3shjqccgzqynkmmhkjhs86ghzr6"; rev = "version-${version}"; owner = "vanrein"; - repo = "${pname}"; + repo = "quick-der"; }; - propagatedBuildInputs = with python2Packages; [ pyparsing makeWrapper ]; + patchPhase = '' + patchShebangs ./python/scripts/* + ''; - patchPhase = with python2Packages; '' - substituteInPlace Makefile \ - --replace '..' '..:$(DESTDIR)/${python.sitePackages}:${python2Packages.pyparsing}/${python.sitePackages}' \ - ''; + buildInputs = [ makeWrapper cmake ]; + checkInputs = [ pytestrunner pytest ]; - installPhase = '' - mkdir -p $out/${python2Packages.python.sitePackages}/ - mkdir -p $out/bin $out/lib $out/sbin $out/man - make DESTDIR=$out PREFIX=/ all - make DESTDIR=$out PREFIX=/ install - ''; + propagatedBuildInputs = [ pyparsing asn1ate six ]; meta = with stdenv.lib; { description = "An ASN.1 compiler with a backend for Quick DER"; diff --git a/pkgs/development/tools/build-managers/arpa2cm/default.nix b/pkgs/development/tools/build-managers/arpa2cm/default.nix new file mode 100644 index 000000000000..0aec7491e4ad --- /dev/null +++ b/pkgs/development/tools/build-managers/arpa2cm/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchFromGitHub, cmake }: + +stdenv.mkDerivation rec { + pname = "arpa2cm"; + version = "0.5"; + name = "${pname}-${version}"; + + src = fetchFromGitHub { + sha256 = "093h7njj8d8iiwnw5byfxkkzlbny60fwv1w57j8f1lsd4yn6rih4"; + rev = "version-${version}"; + repo = "${pname}"; + owner = "arpa2"; + }; + + buildInputs = [ cmake ]; + + meta = with stdenv.lib; { + description = "CMake Module library for the ARPA2 project"; + license = licenses.bsd2; + maintainers = with maintainers; [ leenaars ]; + }; +} diff --git a/pkgs/development/tools/build-managers/gnumake/4.2/default.nix b/pkgs/development/tools/build-managers/gnumake/4.2/default.nix index 1094cacb7af3..e175205143fc 100644 --- a/pkgs/development/tools/build-managers/gnumake/4.2/default.nix +++ b/pkgs/development/tools/build-managers/gnumake/4.2/default.nix @@ -4,8 +4,6 @@ assert guileSupport -> ( pkgconfig != null && guile != null ); let version = "4.2.1"; - - needGlibcPatch = (stdenv.cc.libc.version or "") == "2.27"; in stdenv.mkDerivation { name = "gnumake-${version}"; @@ -22,7 +20,7 @@ stdenv.mkDerivation { # included Makefiles, don't look in /usr/include and friends. ./impure-dirs.patch ./pselect.patch - ] ++ stdenv.lib.optional needGlibcPatch ./glibc-2.27.patch; + ]; nativeBuildInputs = stdenv.lib.optionals guileSupport [ pkgconfig ]; buildInputs = stdenv.lib.optionals guileSupport [ guile ]; diff --git a/pkgs/development/tools/build-managers/gnumake/4.2/head.nix b/pkgs/development/tools/build-managers/gnumake/4.2/head.nix new file mode 100644 index 000000000000..5f3ae10c3e5b --- /dev/null +++ b/pkgs/development/tools/build-managers/gnumake/4.2/head.nix @@ -0,0 +1,69 @@ +{ stdenv, fetchurl, texinfo, guileSupport ? false, pkgconfig , guile ? null, autoreconfHook }: + +assert guileSupport -> ( guile != null ); + +let + version = "4.2.90"; + revision = "48c8a116a914a325a0497721f5d8b58d5bba34d4"; + revCount = "2491"; + shortRev = "48c8a11"; + + baseVersion = "4.2.1"; + baseTarball = fetchurl { + url = "mirror://gnu/make/make-${baseVersion}.tar.bz2"; + sha256 = "12f5zzyq2w56g95nni65hc0g5p7154033y2f3qmjvd016szn5qnn"; + }; +in +stdenv.mkDerivation { + name = "gnumake-${version}pre${revCount}_${shortRev}"; + + src = fetchurl { + url = "http://git.savannah.gnu.org/cgit/make.git/snapshot/make-${revision}.tar.gz"; + sha256 = "0k6yvhr2a5lh1qhflv02dyvq5p20ikgaakm8w6gr4xmkspljwpwx"; + }; + + postUnpack = '' + unpackFile ${baseTarball} + cp make-${baseVersion}/po/*.po $sourceRoot/po + cp make-${baseVersion}/doc/{fdl,make-stds}.texi $sourceRoot/doc + ''; + + patches = [ + # Purity: don't look for library dependencies (of the form `-lfoo') in /lib + # and /usr/lib. It's a stupid feature anyway. Likewise, when searching for + # included Makefiles, don't look in /usr/include and friends. + ./impure-dirs-head.patch + ]; + + postPatch = '' + # These aren't in the 4.2.1 tarball yet. + sed -i -e 's/sr//' -e 's/zh_TW//' po/LINGUAS + ''; + + nativeBuildInputs = [ autoreconfHook pkgconfig texinfo ]; + buildInputs = stdenv.lib.optional guileSupport guile; + + configureFlags = stdenv.lib.optional guileSupport "--with-guile"; + + outputs = [ "out" "man" "info" ]; + + meta = with stdenv.lib; { + homepage = http://www.gnu.org/software/make/; + description = "A tool to control the generation of non-source files from sources"; + license = licenses.gpl3Plus; + + longDescription = '' + Make is a tool which controls the generation of executables and + other non-source files of a program from the program's source files. + + Make gets its knowledge of how to build your program from a file + called the makefile, which lists each of the non-source files and + how to compute it from other files. When you write a program, you + should write a makefile for it, so that it is possible to use Make + to build and install the program. + ''; + + platforms = platforms.all; + maintainers = [ maintainers.vrthra ]; + }; +} diff --git a/pkgs/development/tools/build-managers/gnumake/4.2/impure-dirs-head.patch b/pkgs/development/tools/build-managers/gnumake/4.2/impure-dirs-head.patch new file mode 100644 index 000000000000..06d39e13ce39 --- /dev/null +++ b/pkgs/development/tools/build-managers/gnumake/4.2/impure-dirs-head.patch @@ -0,0 +1,31 @@ +diff -Naur a/src/read.c b/src/read.c +--- a/src/read.c 2017-11-19 15:17:47.000000000 -0500 ++++ b/src/read.c 2018-02-19 08:53:51.548755213 -0500 +@@ -109,10 +109,12 @@ + #endif + INCLUDEDIR, + #ifndef _AMIGA ++#if 0 + "/usr/gnu/include", + "/usr/local/include", + "/usr/include", + #endif ++#endif + 0 + }; + +diff -Naur a/src/remake.c b/src/remake.c +--- a/src/remake.c 2017-11-19 15:17:47.000000000 -0500 ++++ b/src/remake.c 2018-02-19 08:54:08.304101943 -0500 +@@ -1601,9 +1601,11 @@ + static const char *dirs[] = + { + #ifndef _AMIGA ++#if 0 + "/lib", + "/usr/lib", + #endif ++#endif + #if defined(WINDOWS32) && !defined(LIBDIR) + /* + * This is completely up to the user at product install time. Just define diff --git a/pkgs/development/tools/misc/binutils/2.30.nix b/pkgs/development/tools/misc/binutils/2.30.nix new file mode 100644 index 000000000000..830c07330524 --- /dev/null +++ b/pkgs/development/tools/misc/binutils/2.30.nix @@ -0,0 +1,131 @@ +{ stdenv, buildPackages +, fetchurl, zlib +, buildPlatform, hostPlatform, targetPlatform +, noSysDirs, gold ? true, bison ? null +}: + +let + version = "2.30"; + basename = "binutils-${version}"; + inherit (stdenv.lib) optional optionals optionalString; + # The targetPrefix prepended to binary names to allow multiple binuntils on the + # PATH to both be usable. + targetPrefix = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-"; +in + +stdenv.mkDerivation rec { + name = targetPrefix + basename; + + src = fetchurl { + url = "mirror://gnu/binutils/${basename}.tar.bz2"; + sha256 = "028cklfqaab24glva1ks2aqa1zxa6w6xmc8q34zs1sb7h22dxspg"; + }; + + patches = [ + # Turn on --enable-new-dtags by default to make the linker set + # RUNPATH instead of RPATH on binaries. This is important because + # RUNPATH can be overriden using LD_LIBRARY_PATH at runtime. + ./new-dtags.patch + + # Since binutils 2.22, DT_NEEDED flags aren't copied for dynamic outputs. + # That requires upstream changes for things to work. So we can patch it to + # get the old behaviour by now. + ./dtneeded.patch + + # Make binutils output deterministic by default. + ./deterministic.patch + + # Always add PaX flags section to ELF files. + # This is needed, for instance, so that running "ldd" on a binary that is + # PaX-marked to disable mprotect doesn't fail with permission denied. + ./pt-pax-flags.patch + + # Bfd looks in BINDIR/../lib for some plugins that don't + # exist. This is pointless (since users can't install plugins + # there) and causes a cycle between the lib and bin outputs, so + # get rid of it. + ./no-plugins.patch + + # Help bfd choose between elf32-littlearm, elf32-littlearm-symbian, and + # elf32-littlearm-vxworks in favor of the first. + # https://github.com/NixOS/nixpkgs/pull/30484#issuecomment-345472766 + ./disambiguate-arm-targets.patch + + # For some reason bfd ld doesn't search DT_RPATH when cross-compiling. It's + # not clear why this behavior was decided upon but it has the unfortunate + # consequence that the linker will fail to find transitive dependencies of + # shared objects when cross-compiling. Consequently, we are forced to + # override this behavior, forcing ld to search DT_RPATH even when + # cross-compiling. + ./always-search-rpath.patch + ]; + + outputs = [ "out" "info" "man" ]; + + depsBuildBuild = [ buildPackages.stdenv.cc ]; + nativeBuildInputs = [ bison ]; + buildInputs = [ zlib ]; + + inherit noSysDirs; + + preConfigure = '' + # Clear the default library search path. + if test "$noSysDirs" = "1"; then + echo 'NATIVE_LIB_DIRS=' >> ld/configure.tgt + fi + + # Use symlinks instead of hard links to save space ("strip" in the + # fixup phase strips each hard link separately). + for i in binutils/Makefile.in gas/Makefile.in ld/Makefile.in gold/Makefile.in; do + sed -i "$i" -e 's|ln |ln -s |' + done + ''; + + # As binutils takes part in the stdenv building, we don't want references + # to the bootstrap-tools libgcc (as uses to happen on arm/mips) + NIX_CFLAGS_COMPILE = if hostPlatform.isDarwin + then "-Wno-string-plus-int -Wno-deprecated-declarations" + 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.isArm + then [] + else [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target"; + + configureFlags = [ + "--enable-targets=all" "--enable-64-bit-bfd" + "--disable-install-libbfd" + "--disable-shared" "--enable-static" + "--with-system-zlib" + + "--enable-deterministic-archives" + "--disable-werror" + "--enable-fix-loongson2f-nop" + ] ++ optionals gold [ "--enable-gold" "--enable-plugins" ]; + + enableParallelBuilding = true; + + passthru = { + inherit targetPrefix version; + }; + + meta = with stdenv.lib; { + description = "Tools for manipulating binaries (linker, assembler, etc.)"; + longDescription = '' + The GNU Binutils are a collection of binary tools. The main + ones are `ld' (the GNU linker) and `as' (the GNU assembler). + They also include the BFD (Binary File Descriptor) library, + `gprof', `nm', `strip', etc. + ''; + homepage = http://www.gnu.org/software/binutils/; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ ericson2314 ]; + platforms = platforms.unix; + + /* Give binutils a lower priority than gcc-wrapper to prevent a + collision due to the ld/as wrappers/symlinks in the latter. */ + priority = 10; + }; +} |