summary refs log tree commit diff
path: root/pkgs/development/tools
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools')
-rw-r--r--pkgs/development/tools/analysis/spin/default.nix9
-rw-r--r--pkgs/development/tools/build-managers/bazel/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/gn/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/meson/default.nix7
-rw-r--r--pkgs/development/tools/build-managers/meson/fix-objc-linking.patch20
5 files changed, 37 insertions, 7 deletions
diff --git a/pkgs/development/tools/analysis/spin/default.nix b/pkgs/development/tools/analysis/spin/default.nix
index a59b452b432..fbb7eca0ef5 100644
--- a/pkgs/development/tools/analysis/spin/default.nix
+++ b/pkgs/development/tools/analysis/spin/default.nix
@@ -7,15 +7,16 @@ let
 
 in stdenv.mkDerivation rec {
   name = "spin-${version}";
-  version = "6.4.8";
+  version = "6.4.9";
   url-version = stdenv.lib.replaceChars ["."] [""] version;
 
   src = fetchurl {
     # The homepage is behind CloudFlare anti-DDoS protection, which blocks cURL.
     # Dropbox mirror from developers:
     # https://www.dropbox.com/sh/fgzipzp4wpo3qc1/AADZPqS4aoR-pjNF6OQXRLQHa
-    url = "https://www.dropbox.com/sh/fgzipzp4wpo3qc1/AADya1lOBJZDbgWGrUSq-dfHa/spin${url-version}.tar.gz?raw=1";
-    sha256 = "1rvamdsf0igzpndlr4ck7004jw9x1bg4xyf78zh5k9sp848vnd80";
+    # (note that this URL doesn't work aross versions and hash should come from official site)
+    url = "https://www.dropbox.com/sh/fgzipzp4wpo3qc1/AABtxFePMJmPxsxSvU5cpxh8a/spin${url-version}.tar.gz?raw=1";
+    sha256 = "07b7wk3qyfnp4pgwicqd33l7i1krzyihx0cf9zkv81ywaklf5vll";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -24,6 +25,8 @@ in stdenv.mkDerivation rec {
   sourceRoot = "Spin/Src${version}";
 
   installPhase = ''
+    install -Dm644 ../Man/spin.1 $out/share/man/man1/spin.1
+
     install -Dm755 spin $out/bin/spin
     wrapProgram $out/bin/spin \
       --prefix PATH : ${binPath}
diff --git a/pkgs/development/tools/build-managers/bazel/default.nix b/pkgs/development/tools/build-managers/bazel/default.nix
index be85213b8c2..b1bb5708d44 100644
--- a/pkgs/development/tools/build-managers/bazel/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/default.nix
@@ -1,6 +1,6 @@
 { stdenv, callPackage, lib, fetchurl, fetchpatch, runCommand, makeWrapper
 , jdk, zip, unzip, bash, writeCBin, coreutils
-, which, python, perl, gnused, gnugrep, findutils
+, which, python, perl, gawk, gnused, gnugrep, findutils
 # Apple dependencies
 , cctools, clang, libcxx, CoreFoundation, CoreServices, Foundation
 # Allow to independently override the jdks used to build and run respectively
@@ -23,7 +23,7 @@ let
     for i in ${builtins.toString srcDeps}; do cp $i $out/$(stripHash $i); done
   '';
 
-  defaultShellPath = lib.makeBinPath [ bash coreutils findutils gnugrep gnused which unzip ];
+  defaultShellPath = lib.makeBinPath [ bash coreutils findutils gawk gnugrep gnused which unzip ];
 
 in
 stdenv.mkDerivation rec {
diff --git a/pkgs/development/tools/build-managers/gn/default.nix b/pkgs/development/tools/build-managers/gn/default.nix
index d5559768d6f..8c1b55fc5c9 100644
--- a/pkgs/development/tools/build-managers/gn/default.nix
+++ b/pkgs/development/tools/build-managers/gn/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchgit, fetchzip, fetchpatch, darwin, writeText
-, git, ninja, python }:
+, git, ninja, python2 }:
 
 let
   rev = "96ff462cddf35f98e25fd5d098fc27bc81eab94a";
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
       --replace "NSArray<NSString*>*" "NSArray*"
   '';
 
-  nativeBuildInputs = [ ninja python git ];
+  nativeBuildInputs = [ ninja python2 git ];
   buildInputs = lib.optionals stdenv.isDarwin (with darwin; with apple_sdk.frameworks; [
     libobjc
     cctools
diff --git a/pkgs/development/tools/build-managers/meson/default.nix b/pkgs/development/tools/build-managers/meson/default.nix
index 17938ab47b3..96e04407325 100644
--- a/pkgs/development/tools/build-managers/meson/default.nix
+++ b/pkgs/development/tools/build-managers/meson/default.nix
@@ -44,6 +44,13 @@ python3Packages.buildPythonApplication rec {
       src = ./fix-rpath.patch;
       inherit (builtins) storeDir;
     })
+  ] ++ lib.optionals stdenv.isDarwin [
+    # We use custom Clang, which makes Meson think *not Apple*, while still
+    # relying on system linker. When it detects standard Clang, Meson will
+    # pass it `-Wl,-O1` flag but optimizations are not recognized by
+    # Mac linker.
+    # https://github.com/mesonbuild/meson/issues/4784
+    ./fix-objc-linking.patch
   ];
 
   setupHook = ./setup-hook.sh;
diff --git a/pkgs/development/tools/build-managers/meson/fix-objc-linking.patch b/pkgs/development/tools/build-managers/meson/fix-objc-linking.patch
new file mode 100644
index 00000000000..60a205828f5
--- /dev/null
+++ b/pkgs/development/tools/build-managers/meson/fix-objc-linking.patch
@@ -0,0 +1,20 @@
+--- a/mesonbuild/environment.py
++++ b/mesonbuild/environment.py
+@@ -795,7 +795,7 @@
+                 compiler_type = self.get_gnu_compiler_type(defines)
+                 version = self.get_gnu_version_from_defines(defines)
+                 return GnuObjCCompiler(ccache + compiler, version, compiler_type, is_cross, exe_wrap, defines)
+-            if out.startswith('Apple LLVM'):
++            if out.startswith('Apple LLVM') or mesonlib.for_darwin(want_cross, self):
+                 return ClangObjCCompiler(ccache + compiler, version, CompilerType.CLANG_OSX, is_cross, exe_wrap)
+             if out.startswith('clang'):
+                 return ClangObjCCompiler(ccache + compiler, version, CompilerType.CLANG_STANDARD, is_cross, exe_wrap)
+@@ -822,7 +822,7 @@
+                 compiler_type = self.get_gnu_compiler_type(defines)
+                 version = self.get_gnu_version_from_defines(defines)
+                 return GnuObjCPPCompiler(ccache + compiler, version, compiler_type, is_cross, exe_wrap, defines)
+-            if out.startswith('Apple LLVM'):
++            if out.startswith('Apple LLVM') or mesonlib.for_darwin(want_cross, self):
+                 return ClangObjCPPCompiler(ccache + compiler, version, CompilerType.CLANG_OSX, is_cross, exe_wrap)
+             if out.startswith('clang'):
+                 return ClangObjCPPCompiler(ccache + compiler, version, CompilerType.CLANG_STANDARD, is_cross, exe_wrap)