diff options
Diffstat (limited to 'pkgs/development/tools')
10 files changed, 126 insertions, 31 deletions
diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix index 8cdf231729f..112950b690d 100644 --- a/pkgs/development/tools/build-managers/cmake/default.nix +++ b/pkgs/development/tools/build-managers/cmake/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl -, bzip2, curl, expat, jsoncpp, libarchive, xz, zlib +, bzip2, curl, expat, libarchive, xz, zlib , useNcurses ? false, ncurses, useQt4 ? false, qt4 , wantPS ? false, ps ? null }: @@ -40,7 +40,6 @@ stdenv.mkDerivation rec { buildInputs = [ bzip2 curl expat libarchive xz zlib ] - ++ optional (jsoncpp != null && !stdenv.isCygwin) jsoncpp ++ optional useNcurses ncurses ++ optional useQt4 qt4; @@ -49,12 +48,11 @@ stdenv.mkDerivation rec { CMAKE_PREFIX_PATH = stdenv.lib.concatStringsSep ":" buildInputs; configureFlags = - [ - "--docdir=/share/doc/${name}" + [ "--docdir=/share/doc/${name}" "--mandir=/share/man" + "--no-system-jsoncpp" ] ++ optional (!stdenv.isCygwin) "--system-libs" - ++ optional (jsoncpp == null || stdenv.isCygwin) "--no-system-jsoncpp" ++ optional useQt4 "--qt-gui" ++ ["--"] ++ optional (!useNcurses) "-DBUILD_CursesDialog=OFF"; diff --git a/pkgs/development/tools/build-managers/gnumake/4.1/default.nix b/pkgs/development/tools/build-managers/gnumake/4.1/default.nix index 600f6f5759d..9ac20107018 100644 --- a/pkgs/development/tools/build-managers/gnumake/4.1/default.nix +++ b/pkgs/development/tools/build-managers/gnumake/4.1/default.nix @@ -17,6 +17,9 @@ stdenv.mkDerivation { # 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.patch + + # Don't segfault if we can't get a tty name. + ./no-tty-name.patch ]; meta = { diff --git a/pkgs/development/tools/build-managers/gnumake/4.1/no-tty-name.patch b/pkgs/development/tools/build-managers/gnumake/4.1/no-tty-name.patch new file mode 100644 index 00000000000..a84d7ab49d0 --- /dev/null +++ b/pkgs/development/tools/build-managers/gnumake/4.1/no-tty-name.patch @@ -0,0 +1,53 @@ +From 292da6f6867b75a5af7ddbb639a1feae022f438f Mon Sep 17 00:00:00 2001 +From: Paul Smith <psmith@gnu.org> +Date: Mon, 20 Oct 2014 05:54:56 +0000 +Subject: * main.c (main): [SV 43434] Handle NULL returns from ttyname(). + +--- +diff --git main.c main.c +index b2d169c..0cdb8a8 100644 +--- main.c ++++ main.c +@@ -1429,13 +1429,18 @@ main (int argc, char **argv, char **envp) + #ifdef HAVE_ISATTY + if (isatty (fileno (stdout))) + if (! lookup_variable (STRING_SIZE_TUPLE ("MAKE_TERMOUT"))) +- define_variable_cname ("MAKE_TERMOUT", TTYNAME (fileno (stdout)), +- o_default, 0)->export = v_export; +- ++ { ++ const char *tty = TTYNAME (fileno (stdout)); ++ define_variable_cname ("MAKE_TERMOUT", tty ? tty : DEFAULT_TTYNAME, ++ o_default, 0)->export = v_export; ++ } + if (isatty (fileno (stderr))) + if (! lookup_variable (STRING_SIZE_TUPLE ("MAKE_TERMERR"))) +- define_variable_cname ("MAKE_TERMERR", TTYNAME (fileno (stderr)), +- o_default, 0)->export = v_export; ++ { ++ const char *tty = TTYNAME (fileno (stderr)); ++ define_variable_cname ("MAKE_TERMERR", tty ? tty : DEFAULT_TTYNAME, ++ o_default, 0)->export = v_export; ++ } + #endif + + /* Reset in case the switches changed our minds. */ +diff --git makeint.h makeint.h +index 6223936..2009f41 100644 +--- makeint.h ++++ makeint.h +@@ -436,10 +436,11 @@ extern struct rlimit stack_limit; + /* The number of bytes needed to represent the largest integer as a string. */ + #define INTSTR_LENGTH CSTRLEN ("18446744073709551616") + ++#define DEFAULT_TTYNAME "true" + #ifdef HAVE_TTYNAME + # define TTYNAME(_f) ttyname (_f) + #else +-# define TTYNAME(_f) "true" ++# define TTYNAME(_f) DEFAULT_TTYNAME + #endif + + +-- +cgit v0.9.0.2 diff --git a/pkgs/development/tools/build-managers/gnustep/make/default.nix b/pkgs/development/tools/build-managers/gnustep/make/default.nix new file mode 100644 index 00000000000..7fa9aad72db --- /dev/null +++ b/pkgs/development/tools/build-managers/gnustep/make/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "make-${version}"; + version = "1.0"; + + src = fetchurl { + url = "http://ftpmain.gnustep.org/pub/gnustep/core/gnustep-make-2.6.6.tar.gz"; + sha256 = "07cqr8x17bia9w6clbmiv7ay6r9nplrjz2cyzinv4w7zfpc19vxw"; + }; + + patchPhase = '' + substituteInPlace GNUmakefile.in \ + --replace which type \ + --replace 'tooldir = $(DESTDIR)' 'tooldir = ' \ + --replace 'makedir = $(DESTDIR)' 'makedir = ' \ + --replace 'mandir = $(DESTDIR)' 'mandir = ' + + substituteInPlace FilesystemLayouts/apple \ + --replace /usr/local "" + ''; + + installFlags = "DESTDIR=$(out)"; + + postInstall = '' + mkdir -p $out/nix-support + cat >$out/nix-support/setup-hook <<EOF + . $out/Library/GNUstep/Makefiles/GNUstep.sh + EOF + ''; +} diff --git a/pkgs/development/tools/build-managers/gnustep/xcode/default.nix b/pkgs/development/tools/build-managers/gnustep/xcode/default.nix new file mode 100644 index 00000000000..4f31c6df6d8 --- /dev/null +++ b/pkgs/development/tools/build-managers/gnustep/xcode/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchgit, gnustep-make, Foundation, libobjc }: + +stdenv.mkDerivation rec { + name = "xcode-${version}"; + version = "1.0"; + + makeFlags = "messages=yes"; + + installFlags = "DESTDIR=$(out)"; + + __impureHostDeps = [ + "/System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/UIFoundation" + "/usr/lib/libextension.dylib" + ]; + + buildInputs = [ gnustep-make Foundation libobjc ]; + + src = fetchgit { + url = "https://github.com/gnustep/xcode"; + rev = "cc5016794e44f9998674120a5e4625aa09ca455a"; + sha256 = "85420f3f61091b2e4548cf5e99d886cb9c72cf07b8b9fae3eebc87e7b6b7e54a"; + }; +} diff --git a/pkgs/development/tools/chefdk/default.nix b/pkgs/development/tools/chefdk/default.nix index ee49423a8b1..043ee8adf42 100644 --- a/pkgs/development/tools/chefdk/default.nix +++ b/pkgs/development/tools/chefdk/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, bundlerEnv, ruby, perl }: +{ stdenv, lib, bundlerEnv, ruby, perl, autoconf }: bundlerEnv { name = "chefdk-0.4.0"; @@ -8,7 +8,7 @@ bundlerEnv { lockfile = ./Gemfile.lock; gemset = ./gemset.nix; - buildInputs = [ perl ]; + buildInputs = [ perl autoconf ]; meta = with lib; { description = "A streamlined development and deployment workflow for Chef platform"; diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix index f740c60c487..61824eb607b 100644 --- a/pkgs/development/tools/misc/binutils/default.nix +++ b/pkgs/development/tools/misc/binutils/default.nix @@ -2,8 +2,6 @@ , cross ? null, gold ? true, bison ? null }: -assert !stdenv.isDarwin; - let basename = "binutils-2.23.1"; in with { inherit (stdenv.lib) optional optionals optionalString; }; @@ -56,10 +54,12 @@ stdenv.mkDerivation rec { # 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 = "-static-libgcc"; + NIX_CFLAGS_COMPILE = if stdenv.isDarwin + then "-Wno-string-plus-int -Wno-deprecated-declarations" + else "-static-libgcc"; configureFlags = - [ "--enable-shared" "--enable-deterministic-archives" ] + [ "--enable-shared" "--enable-deterministic-archives" "--disable-werror" ] ++ optional (stdenv.system == "mips64el-linux") "--enable-fix-loongson2f-nop" ++ optional (cross != null) "--target=${cross.config}" ++ optionals gold [ "--enable-gold" "--enable-plugins" ] diff --git a/pkgs/development/tools/misc/help2man/default.nix b/pkgs/development/tools/misc/help2man/default.nix index 79dbb533d03..2f811d9ae82 100644 --- a/pkgs/development/tools/misc/help2man/default.nix +++ b/pkgs/development/tools/misc/help2man/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, perl, gettext, LocaleGettext, makeWrapper }: stdenv.mkDerivation rec { - name = "help2man-1.46.6"; + name = "help2man-1.47.1"; src = fetchurl { url = "mirror://gnu/help2man/${name}.tar.xz"; - sha256 = "1brccgnjf09f2zg70s6gv6gn68mi59kp3zf50wvxp79n72ngapv1"; + sha256 = "01ib718afwc28bmh1n0p5h7245vs3rrfm7bj1sq4avmh1kv2d6y5"; }; buildInputs = [ makeWrapper perl gettext LocaleGettext ]; diff --git a/pkgs/development/tools/misc/pkgconfig/default.nix b/pkgs/development/tools/misc/pkgconfig/default.nix index f01b52cbba7..f1471d51e1f 100644 --- a/pkgs/development/tools/misc/pkgconfig/default.nix +++ b/pkgs/development/tools/misc/pkgconfig/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation (rec { sha256 = "0igqq5m204w71m11y0nipbdf5apx87hwfll6axs12hn4dqfb6vkb"; }; - buildInputs = stdenv.lib.optional stdenv.isCygwin libiconv; + buildInputs = stdenv.lib.optional (stdenv.isCygwin || stdenv.isDarwin) libiconv; configureFlags = [ "--with-internal-glib" ]; diff --git a/pkgs/development/tools/profiling/oprofile/default.nix b/pkgs/development/tools/profiling/oprofile/default.nix index 6c7b2a4d9ae..561fea6ef7b 100644 --- a/pkgs/development/tools/profiling/oprofile/default.nix +++ b/pkgs/development/tools/profiling/oprofile/default.nix @@ -1,26 +1,18 @@ -{ stdenv, fetchurl, binutils, popt, makeWrapper, gawk, which, gnugrep, zlib -, pkgconfig +{ stdenv, fetchurl, binutils, popt, zlib, pkgconfig , withGUI ? false , qt4 ? null}: # libX11 is needed because the Qt build stuff automatically adds `-lX11'. assert withGUI -> qt4 != null; stdenv.mkDerivation rec { - name = "oprofile-0.9.9"; + name = "oprofile-1.0.0"; src = fetchurl { url = "mirror://sourceforge/oprofile/${name}.tar.gz"; - sha256 = "15vm24jhw4xfd55pfw1rlpzfsh4bl1vyjsajs78bi9xbv8038lhy"; + sha256 = "0nn4wfvwy4nii25y6lwlrnzx9ah4nz0r93yk7hswiy6wxjs10wc4"; }; - patchPhase = '' - sed -i "utils/opcontrol" \ - -e "s|OPCONTROL=.*$|OPCONTROL=\"$out/bin/opcontrol\"|g ; - s|OPDIR=.*$|OPDIR=\"$out/bin\"|g ; - s|^PATH=.*$||g" - ''; - - buildInputs = [ binutils zlib popt makeWrapper gawk which gnugrep pkgconfig ] + buildInputs = [ binutils zlib popt pkgconfig ] ++ stdenv.lib.optionals withGUI [ qt4 ]; configureFlags = [ @@ -28,11 +20,6 @@ stdenv.mkDerivation rec { ] ++ stdenv.lib.optional withGUI "--with-qt-dir=${qt4} --enable-gui=qt4"; - postInstall = '' - wrapProgram "$out/bin/opcontrol" \ - --prefix PATH : "$out/bin:${gawk}/bin:${which}/bin:${gnugrep}/bin" - ''; - meta = { description = "System-wide profiler for Linux"; longDescription = '' |