about summary refs log tree commit diff
path: root/pkgs/development/tools/build-managers
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools/build-managers')
-rw-r--r--pkgs/development/tools/build-managers/buildbot/pkg.nix4
-rw-r--r--pkgs/development/tools/build-managers/cmake/2.8.nix5
-rwxr-xr-xpkgs/development/tools/build-managers/cmake/setup-hook.sh14
-rw-r--r--pkgs/development/tools/build-managers/gnumake/4.2/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/gnumake/4.2/glibc-2.27-glob.patch32
-rw-r--r--pkgs/development/tools/build-managers/gnumake/4.2/glibc-2.27.patch24
-rw-r--r--pkgs/development/tools/build-managers/gnumake/4.2/head.nix69
-rw-r--r--pkgs/development/tools/build-managers/gnumake/4.2/impure-dirs-head.patch31
-rw-r--r--pkgs/development/tools/build-managers/meson/allow-dirs-outside-of-prefix.patch6
-rw-r--r--pkgs/development/tools/build-managers/meson/default.nix15
-rw-r--r--pkgs/development/tools/build-managers/meson/overly-strict-size-check.patch12
-rw-r--r--pkgs/development/tools/build-managers/pants/default.nix4
12 files changed, 81 insertions, 137 deletions
diff --git a/pkgs/development/tools/build-managers/buildbot/pkg.nix b/pkgs/development/tools/build-managers/buildbot/pkg.nix
index 07480d15f211..ef8a0cdc38ef 100644
--- a/pkgs/development/tools/build-managers/buildbot/pkg.nix
+++ b/pkgs/development/tools/build-managers/buildbot/pkg.nix
@@ -3,11 +3,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "buildbot-pkg";
-  version = "1.0.0";
+  version = "1.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1rs2x0b2v92xfsfk0f2nr9x8lz5baawf768s58brj4jiab6mq312";
+    sha256 = "7b255f5ec97946c3d32e822b8fcbff0459cfe4f94fb26ee4813ffd80440c93e8";
   };
 
   propagatedBuildInputs = [ setuptools ];
diff --git a/pkgs/development/tools/build-managers/cmake/2.8.nix b/pkgs/development/tools/build-managers/cmake/2.8.nix
index fcf06782e4dd..5fcd6b341653 100644
--- a/pkgs/development/tools/build-managers/cmake/2.8.nix
+++ b/pkgs/development/tools/build-managers/cmake/2.8.nix
@@ -1,11 +1,10 @@
 { stdenv, fetchurl, fetchpatch, replace, curl, expat, zlib, bzip2
-, useNcurses ? false, ncurses, useQt4 ? false, qt4, wantPS ? false, ps ? null
+, useNcurses ? false, ncurses, useQt4 ? false, qt4, ps
 , buildPlatform, hostPlatform
 }:
 
 with stdenv.lib;
 
-assert wantPS -> (ps != null);
 assert stdenv ? cc;
 assert stdenv.cc ? libc;
 
@@ -52,7 +51,7 @@ stdenv.mkDerivation rec {
     ++ optional useNcurses ncurses
     ++ optional useQt4 qt4;
 
-  propagatedBuildInputs = optional wantPS ps;
+  propagatedBuildInputs = [ ps ];
 
   CMAKE_PREFIX_PATH = concatStringsSep ":"
     (concatMap (p: [ (p.dev or p) (p.out or p) ]) buildInputs);
diff --git a/pkgs/development/tools/build-managers/cmake/setup-hook.sh b/pkgs/development/tools/build-managers/cmake/setup-hook.sh
index c796c31cb70a..5053559bcca3 100755
--- a/pkgs/development/tools/build-managers/cmake/setup-hook.sh
+++ b/pkgs/development/tools/build-managers/cmake/setup-hook.sh
@@ -44,6 +44,20 @@ cmakeConfigurePhase() {
         cmakeFlags="-DCMAKE_STRIP=$(command -v $crossConfig-strip) $cmakeFlags"
     fi
 
+    # on macOS we want to prefer Unix-style headers to Frameworks
+    # because we usually do not package the framework
+    cmakeFlags="-DCMAKE_FIND_FRAMEWORK=last $cmakeFlags"
+
+    # we never want to use the global macOS SDK
+    cmakeFlags="-DCMAKE_OSX_SYSROOT= $cmakeFlags"
+
+    # disable OSX deployment target
+    # we don't want our binaries to have a "minimum" OSX version
+    cmakeFlags="-DCMAKE_OSX_DEPLOYMENT_TARGET= $cmakeFlags"
+
+    # correctly detect our clang compiler
+    cmakeFlags="-DCMAKE_POLICY_DEFAULT_CMP0025=NEW $cmakeFlags"
+
     # This installs shared libraries with a fully-specified install
     # name. By default, cmake installs shared libraries with just the
     # basename as the install name, which means that, on Darwin, they
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 e175205143fc..95466d843d69 100644
--- a/pkgs/development/tools/build-managers/gnumake/4.2/default.nix
+++ b/pkgs/development/tools/build-managers/gnumake/4.2/default.nix
@@ -20,6 +20,8 @@ stdenv.mkDerivation {
     # included Makefiles, don't look in /usr/include and friends.
     ./impure-dirs.patch
     ./pselect.patch
+    # Fix support for glibc 2.27's glob, inspired by http://www.linuxfromscratch.org/lfs/view/8.2/chapter05/make.html
+    ./glibc-2.27-glob.patch
   ];
 
   nativeBuildInputs = stdenv.lib.optionals guileSupport [ pkgconfig ];
diff --git a/pkgs/development/tools/build-managers/gnumake/4.2/glibc-2.27-glob.patch b/pkgs/development/tools/build-managers/gnumake/4.2/glibc-2.27-glob.patch
new file mode 100644
index 000000000000..186212d0d298
--- /dev/null
+++ b/pkgs/development/tools/build-managers/gnumake/4.2/glibc-2.27-glob.patch
@@ -0,0 +1,32 @@
+diff -Naur glob/glob.c glob/glob.c
+--- glob/glob.c	2013-10-20 13:14:38.000000000 -0400
++++ glob/glob.c	2018-03-16 14:32:38.483496170 -0400
+@@ -208,28 +208,9 @@
+ #endif /* __GNU_LIBRARY__ || __DJGPP__ */
+ 
+ 
+-#if !defined __alloca && !defined __GNU_LIBRARY__
+-
+-# ifdef	__GNUC__
+-#  undef alloca
+-#  define alloca(n)	__builtin_alloca (n)
+-# else	/* Not GCC.  */
+-#  ifdef HAVE_ALLOCA_H
+ #   include <alloca.h>
+-#  else	/* Not HAVE_ALLOCA_H.  */
+-#   ifndef _AIX
+-#    ifdef WINDOWS32
+-#     include <malloc.h>
+-#    else
+-extern char *alloca ();
+-#    endif /* WINDOWS32 */
+-#   endif /* Not _AIX.  */
+-#  endif /* sparc or HAVE_ALLOCA_H.  */
+-# endif	/* GCC.  */
+-
+ # define __alloca	alloca
+ 
+-#endif
+ 
+ #ifndef __GNU_LIBRARY__
+ # define __stat stat
diff --git a/pkgs/development/tools/build-managers/gnumake/4.2/glibc-2.27.patch b/pkgs/development/tools/build-managers/gnumake/4.2/glibc-2.27.patch
deleted file mode 100644
index c2639c6cc927..000000000000
--- a/pkgs/development/tools/build-managers/gnumake/4.2/glibc-2.27.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 48c8a116a914a325a0497721f5d8b58d5bba34d4 Mon Sep 17 00:00:00 2001
-From: Paul Smith <psmith@gnu.org>
-Date: Sun, 19 Nov 2017 15:09:16 -0500
-Subject: * configure.ac: Support GLIBC glob interface version 2
-
----
- configure.ac | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff -Naur a/configure b/configure
---- configure	2016-06-10 19:03:21.000000000 -0400
-+++ configure	2018-02-18 04:40:32.971371555 -0500
-@@ -11481,10 +11481,9 @@
- #include <glob.h>
- #include <fnmatch.h>
- 
--#define GLOB_INTERFACE_VERSION 1
- #if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1
- # include <gnu-versions.h>
--# if _GNU_GLOB_INTERFACE_VERSION == GLOB_INTERFACE_VERSION
-+# if _GNU_GLOB_INTERFACE_VERSION == 1 || _GNU_GLOB_INTERFACE_VERSION == 2
-    gnu glob
- # endif
- #endif
diff --git a/pkgs/development/tools/build-managers/gnumake/4.2/head.nix b/pkgs/development/tools/build-managers/gnumake/4.2/head.nix
deleted file mode 100644
index 5f3ae10c3e5b..000000000000
--- a/pkgs/development/tools/build-managers/gnumake/4.2/head.nix
+++ /dev/null
@@ -1,69 +0,0 @@
-{ 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
deleted file mode 100644
index 06d39e13ce39..000000000000
--- a/pkgs/development/tools/build-managers/gnumake/4.2/impure-dirs-head.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-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/build-managers/meson/allow-dirs-outside-of-prefix.patch b/pkgs/development/tools/build-managers/meson/allow-dirs-outside-of-prefix.patch
index b44289d74f54..bef89c881b5a 100644
--- a/pkgs/development/tools/build-managers/meson/allow-dirs-outside-of-prefix.patch
+++ b/pkgs/development/tools/build-managers/meson/allow-dirs-outside-of-prefix.patch
@@ -1,6 +1,6 @@
 --- a/mesonbuild/coredata.py
 +++ b/mesonbuild/coredata.py
-@@ -266,18 +266,13 @@
+@@ -282,18 +282,13 @@
          '''
          if option.endswith('dir') and os.path.isabs(value) and \
             option not in builtin_dir_noprefix_options:
@@ -8,7 +8,7 @@
              # commonpath will always return a path in the native format, so we
              # must use pathlib.PurePath to do the same conversion before
              # comparing.
--            if commonpath([value, prefix]) != str(PurePath(prefix)):
+-            if os.path.commonpath([value, prefix]) != str(PurePath(prefix)):
 -                m = 'The value of the {!r} option is {!r} which must be a ' \
 -                    'subdir of the prefix {!r}.\nNote that if you pass a ' \
 -                    'relative path, it is assumed to be a subdir of prefix.'
@@ -16,7 +16,7 @@
 -            # Convert path to be relative to prefix
 -            skip = len(prefix) + 1
 -            value = value[skip:]
-+            if commonpath([value, prefix]) == str(PurePath(prefix)):
++            if os.path.commonpath([value, prefix]) == str(PurePath(prefix)):
 +                # Convert path to be relative to prefix
 +                skip = len(prefix) + 1
 +                value = value[skip:]
diff --git a/pkgs/development/tools/build-managers/meson/default.nix b/pkgs/development/tools/build-managers/meson/default.nix
index 47e574236329..298c669e690b 100644
--- a/pkgs/development/tools/build-managers/meson/default.nix
+++ b/pkgs/development/tools/build-managers/meson/default.nix
@@ -1,14 +1,14 @@
-{ lib, python3Packages, stdenv, targetPlatform, writeTextDir, substituteAll }: let
+{ lib, python3Packages, stdenv, ninja, pkgconfig, targetPlatform, writeTextDir, substituteAll }: let
   targetPrefix = lib.optionalString stdenv.isCross
                    (targetPlatform.config + "-");
 in python3Packages.buildPythonApplication rec {
-  version = "0.44.0";
+  version = "0.45.1";
   pname = "meson";
   name = "${pname}-${version}";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "1rpqp9iwbvr4xvfdh3iyfh1ha274hbb66jbgw3pa5a73x4d4ilqn";
+    sha256 = "154kxx49dbw7p30qfg1carb3mgqxx9hyy1r0yzfsg07hz1n2sq14";
   };
 
   postFixup = ''
@@ -43,6 +43,10 @@ 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;
@@ -65,6 +69,11 @@ in python3Packages.buildPythonApplication rec {
     endian = ${if targetPlatform.isLittleEndian then "'little'" else "'big'"}
   '';
 
+  # 0.45 update enabled tests but they are failing
+  doCheck = false;
+  # checkInputs = [ ninja pkgconfig ];
+  # checkPhase = "python ./run_project_tests.py";
+
   inherit (stdenv) cc isCross;
 
   meta = with lib; {
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
new file mode 100644
index 000000000000..ea0e9bcd7eac
--- /dev/null
+++ b/pkgs/development/tools/build-managers/meson/overly-strict-size-check.patch
@@ -0,0 +1,12 @@
+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/build-managers/pants/default.nix b/pkgs/development/tools/build-managers/pants/default.nix
index 0b40353ffef2..54e6d38f716a 100644
--- a/pkgs/development/tools/build-managers/pants/default.nix
+++ b/pkgs/development/tools/build-managers/pants/default.nix
@@ -4,7 +4,7 @@ with stdenv.lib;
 with pythonPackages;
 
 let
-  version = "1.4.0";
+  version = "1.5.0";
 in buildPythonApplication rec {
   inherit version;
   pname = "pantsbuild.pants";
@@ -12,7 +12,7 @@ in buildPythonApplication rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1jd041av1kipg4psbcwk70nwh0bsh5mkbjjcmnw4vrqdd09vg1gz";
+    sha256 = "7c0a1206594c615fce0a7f6daa4ea1028645bc20afa5599c2cf0ad7c06223fa7";
   };
 
   prePatch = ''