Merge remote-tracking branch 'upstream/staging' into strictDeps
This commit is contained in:
@@ -0,0 +1,111 @@
|
||||
{ fetchurl, stdenv, coreutils, makeWrapper }:
|
||||
|
||||
let version = "1.9.6"; in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "ant-${version}";
|
||||
|
||||
buildInputs = [ makeWrapper ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://apache/ant/binaries/apache-ant-${version}-bin.tar.bz2";
|
||||
sha256 = "1cwd5vq175gyicw0hkm8idwa33zxwhf7xlxywaqxcqqdjql0jfx4";
|
||||
};
|
||||
|
||||
contrib = fetchurl {
|
||||
url = mirror://sourceforge/ant-contrib/ant-contrib-1.0b3-bin.tar.bz2;
|
||||
sha256 = "96effcca2581c1ab42a4828c770b48d54852edf9e71cefc9ed2ffd6590571ad1";
|
||||
};
|
||||
|
||||
installPhase =
|
||||
''
|
||||
mkdir -p $out/bin $out/lib/ant
|
||||
mv * $out/lib/ant/
|
||||
|
||||
# Get rid of the manual (35 MiB). Maybe we should put this in a
|
||||
# separate output. Keep the antRun script since it's vanilla sh
|
||||
# and needed for the <exec/> task (but since we set ANT_HOME to
|
||||
# a weird value, we have to move antRun to a weird location).
|
||||
# Get rid of the other Ant scripts since we provide our own.
|
||||
mv $out/lib/ant/bin/antRun $out/bin/
|
||||
rm -rf $out/lib/ant/{manual,bin,WHATSNEW}
|
||||
mkdir $out/lib/ant/bin
|
||||
mv $out/bin/antRun $out/lib/ant/bin/
|
||||
|
||||
# Install ant-contrib.
|
||||
unpackFile $contrib
|
||||
cp -p ant-contrib/ant-contrib-*.jar $out/lib/ant/lib/
|
||||
|
||||
cat >> $out/bin/ant <<EOF
|
||||
#! ${stdenv.shell} -e
|
||||
|
||||
ANT_HOME=$out/lib/ant
|
||||
|
||||
# Find the JDK by looking for javac. As a fall-back, find the
|
||||
# JRE by looking for java. The latter allows just the JRE to be
|
||||
# used with (say) ECJ as the compiler. Finally, allow the GNU
|
||||
# JVM.
|
||||
if [ -z "\$JAVA_HOME" ]; then
|
||||
for i in javac java gij; do
|
||||
if p="\$(type -p \$i)"; then
|
||||
export JAVA_HOME="\$(${coreutils}/bin/dirname \$(${coreutils}/bin/dirname \$(${coreutils}/bin/readlink -f \$p)))"
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [ -z "\$JAVA_HOME" ]; then
|
||||
echo "\$0: cannot find the JDK or JRE" >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z \$NIX_JVM ]; then
|
||||
if [ -e \$JAVA_HOME/bin/java ]; then
|
||||
NIX_JVM=\$JAVA_HOME/bin/java
|
||||
elif [ -e \$JAVA_HOME/bin/gij ]; then
|
||||
NIX_JVM=\$JAVA_HOME/bin/gij
|
||||
else
|
||||
NIX_JVM=java
|
||||
fi
|
||||
fi
|
||||
|
||||
LOCALCLASSPATH="\$ANT_HOME/lib/ant-launcher.jar\''${LOCALCLASSPATH:+:}\$LOCALCLASSPATH"
|
||||
|
||||
exec \$NIX_JVM \$NIX_ANT_OPTS \$ANT_OPTS -classpath "\$LOCALCLASSPATH" \
|
||||
-Dant.home=\$ANT_HOME -Dant.library.dir="\$ANT_LIB" \
|
||||
org.apache.tools.ant.launch.Launcher \$NIX_ANT_ARGS \$ANT_ARGS \
|
||||
-cp "\$CLASSPATH" "\$@"
|
||||
EOF
|
||||
|
||||
chmod +x $out/bin/ant
|
||||
''; # */
|
||||
|
||||
meta = {
|
||||
homepage = http://ant.apache.org/;
|
||||
description = "A Java-based build tool";
|
||||
|
||||
longDescription = ''
|
||||
Apache Ant is a Java-based build tool. In theory, it is kind of like
|
||||
Make, but without Make's wrinkles.
|
||||
|
||||
Why another build tool when there is already make, gnumake, nmake, jam,
|
||||
and others? Because all those tools have limitations that Ant's
|
||||
original author couldn't live with when developing software across
|
||||
multiple platforms. Make-like tools are inherently shell-based -- they
|
||||
evaluate a set of dependencies, then execute commands not unlike what
|
||||
you would issue in a shell. This means that you can easily extend
|
||||
these tools by using or writing any program for the OS that you are
|
||||
working on. However, this also means that you limit yourself to the
|
||||
OS, or at least the OS type such as Unix, that you are working on.
|
||||
|
||||
Ant is different. Instead of a model where it is extended with
|
||||
shell-based commands, Ant is extended using Java classes. Instead of
|
||||
writing shell commands, the configuration files are XML-based, calling
|
||||
out a target tree where various tasks get executed. Each task is run
|
||||
by an object that implements a particular Task interface.
|
||||
'';
|
||||
|
||||
license = stdenv.lib.licenses.asl20;
|
||||
maintainers = [ stdenv.lib.maintainers.eelco ];
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
};
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{ fetchurl, stdenv, coreutils, makeWrapper }:
|
||||
|
||||
let version = "1.9.6"; in
|
||||
let version = "1.10.2"; in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "ant-${version}";
|
||||
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://apache/ant/binaries/apache-ant-${version}-bin.tar.bz2";
|
||||
sha256 = "1cwd5vq175gyicw0hkm8idwa33zxwhf7xlxywaqxcqqdjql0jfx4";
|
||||
sha256 = "0662qammjvibh9kgkxzadkayfn2r7iwnagbwaw28crqqclrb2rp1";
|
||||
};
|
||||
|
||||
contrib = fetchurl {
|
||||
|
||||
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
|
||||
description = "Build tool that builds code quickly and reliably";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ cstrahan philandstuff ];
|
||||
platforms = platforms.unix;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
|
||||
name = "bazel-${version}";
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
||||
version = "0.10.1";
|
||||
version = "0.12.0";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = "https://github.com/bazelbuild/bazel/";
|
||||
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip";
|
||||
sha256 = "0rz6zvkzyglf0mmc178avf52zynz487m4v0089ilsbrgv7v4i0kh";
|
||||
sha256 = "3b3e7dc76d145046fdc78db7cac9a82bc8939d3b291e53a7ce85315feb827754";
|
||||
};
|
||||
|
||||
sourceRoot = ".";
|
||||
|
||||
@@ -14,11 +14,11 @@ let
|
||||
package = pythonPackages.buildPythonApplication rec {
|
||||
name = "${pname}-${version}";
|
||||
pname = "buildbot";
|
||||
version = "1.0.0";
|
||||
version = "1.1.1";
|
||||
|
||||
src = pythonPackages.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0y7gpymxl09gd9dyqj7zqhaihpl9da1v8ppxi4r161ywd8jv9b1g";
|
||||
sha256 = "1vcmanx3ma3cfyiddjcmsnx6qmxd3m5blqax04rcsiq2zq4dmzir";
|
||||
};
|
||||
|
||||
buildInputs = with pythonPackages; [
|
||||
@@ -76,6 +76,9 @@ let
|
||||
./skip_test_linux_distro.patch
|
||||
];
|
||||
|
||||
# TimeoutErrors on slow machines -> aarch64
|
||||
doCheck = !stdenv.isAarch64;
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace buildbot/scripts/logwatcher.py --replace '/usr/bin/tail' "$(type -P tail)"
|
||||
'';
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
src = pythonPackages.fetchPypi {
|
||||
inherit pname version format;
|
||||
sha256 = "0nmrq50c5ib185rpb8ai1mm7gjq2mjvxik1kqrjfa62i1ia9ikyj";
|
||||
sha256 = "01v9w8iy9q6fwrmz6db7fanjixax7whn74k67bj0czrbjjkpfzvb";
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
src = pythonPackages.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1laz7l7cbbz0czb6skxw314bd2qk2f63qw3n2rs7m7v11gd9cdll";
|
||||
sha256 = "1cwxkzpgwzk9b361rj980bbnmhzzsr46pgf94zqpg3na8xm6hpwj";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with pythonPackages; [ buildbot-pkg ];
|
||||
@@ -49,7 +49,7 @@
|
||||
|
||||
src = pythonPackages.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0mmri8c4n1zwxc1dx2a11yllrmnwqqxjvvil9224lbs98mpchppi";
|
||||
sha256 = "0ival58f50128315d0nck63pzya2zm7q6hvgmxfbjl0my8il9p2l";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with pythonPackages; [ buildbot-pkg ];
|
||||
@@ -69,7 +69,7 @@
|
||||
|
||||
src = pythonPackages.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0nwlw2m3qfifia6gy3d4lrnycra50k98ax071p2zjqknanh563vr";
|
||||
sha256 = "0jiwfb699nqbmpcm88y187ig4ha6p7d4v98mjwa9blhm54dk8kh1";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with pythonPackages; [ buildbot-pkg ];
|
||||
@@ -89,7 +89,7 @@
|
||||
|
||||
src = pythonPackages.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1zml9bd910zwcby4vr3lmzap2grinha2w5zgb2cmixmz7hfrqswp";
|
||||
sha256 = "00mfn24gbwr2p3n7nsijzv949l7hiksiafhma18nnh40r8f4l5f2";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with pythonPackages; [ buildbot-pkg ];
|
||||
@@ -97,7 +97,7 @@
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://buildbot.net/;
|
||||
description = "Buildbot WSGI dashboards Plugin";
|
||||
maintainers = with maintainers; [ akazakov ];
|
||||
maintainers = with maintainers; [ ];
|
||||
license = licenses.gpl2;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
pythonPackages.buildPythonApplication (rec {
|
||||
name = "${pname}-${version}";
|
||||
pname = "buildbot-worker";
|
||||
version = "1.0.0";
|
||||
version = "1.1.1";
|
||||
|
||||
src = pythonPackages.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0ws31ypmksah1c83h4npwg560p8v7n9j6l94p79y5pispjsgzqzl";
|
||||
sha256 = "02xfzlcy3cnvc3cmpl9gs6209a3qm71yz5pahbws9jcyhv6fbrrm";
|
||||
};
|
||||
|
||||
buildInputs = with pythonPackages; [ setuptoolsTrial mock ];
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -29,25 +28,30 @@ stdenv.mkDerivation rec {
|
||||
enableParallelBuilding = true;
|
||||
|
||||
patches =
|
||||
[(fetchpatch { # see http://www.cmake.org/Bug/view.php?id=13959
|
||||
[(fetchpatch { # see https://www.cmake.org/Bug/view.php?id=13959
|
||||
name = "FindFreetype-2.5.patch";
|
||||
url = "http://www.cmake.org/Bug/file_download.php?file_id=4660&type=bug";
|
||||
url = "https://www.cmake.org/Bug/file_download.php?file_id=4660&type=bug";
|
||||
sha256 = "136z63ff83hnwd247cq4m8m8164pklzyl5i2csf5h6wd8p01pdkj";
|
||||
})] ++
|
||||
# Don't search in non-Nix locations such as /usr, but do search in our libc.
|
||||
[ ./search-path.patch ] ++
|
||||
optional (hostPlatform != buildPlatform) (fetchurl {
|
||||
name = "fix-darwin-cross-compile.patch";
|
||||
url = "http://public.kitware.com/Bug/file_download.php?"
|
||||
url = "https://public.kitware.com/Bug/file_download.php?"
|
||||
+ "file_id=4981&type=bug";
|
||||
sha256 = "16acmdr27adma7gs9rs0dxdiqppm15vl3vv3agy7y8s94wyh4ybv";
|
||||
});
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace Utilities/cmlibarchive/CMakeLists.txt \
|
||||
--replace '"-framework CoreServices"' '""'
|
||||
'';
|
||||
|
||||
buildInputs = [ curl expat zlib bzip2 ]
|
||||
++ 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);
|
||||
@@ -74,9 +78,9 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = http://www.cmake.org/;
|
||||
homepage = https://cmake.org;
|
||||
description = "Cross-Platform Makefile Generator";
|
||||
platforms = if useQt4 then qt4.meta.platforms else stdenv.lib.platforms.linux;
|
||||
platforms = if useQt4 then qt4.meta.platforms else stdenv.lib.platforms.unix;
|
||||
maintainers = with stdenv.lib.maintainers; [ ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -105,6 +105,7 @@ stdenv.mkDerivation rec {
|
||||
# CMAKE_SYSTEM_NAME, etc.
|
||||
configurePlatforms = [ ];
|
||||
|
||||
doCheck = false; # fails
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://www.cmake.org/;
|
||||
|
||||
@@ -41,6 +41,20 @@ cmakeConfigurePhase() {
|
||||
cmakeFlags="-DCMAKE_RANLIB=$(command -v $RANLAB) $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
|
||||
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
|
||||
|
||||
@@ -1,27 +1,51 @@
|
||||
{ lib, buildPythonApplication, fetchPypi
|
||||
, requests, fasteners, pyyaml, pyjwt, colorama, patch
|
||||
, bottle, pluginbase, six, distro, pylint, node-semver
|
||||
, future, pygments, mccabe
|
||||
}:
|
||||
{ lib, fetchpatch, python }:
|
||||
|
||||
buildPythonApplication rec {
|
||||
version = "0.28.1";
|
||||
let newPython = python.override {
|
||||
packageOverrides = self: super: {
|
||||
distro = super.distro.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "1.1.0";
|
||||
src = oldAttrs.src.override {
|
||||
inherit version;
|
||||
sha256 = "1vn1db2akw98ybnpns92qi11v94hydwp130s8753k6ikby95883j";
|
||||
};
|
||||
});
|
||||
node-semver = super.node-semver.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "0.2.0";
|
||||
src = oldAttrs.src.override {
|
||||
inherit version;
|
||||
sha256 = "1080pdxrvnkr8i7b7bk0dfx6cwrkkzzfaranl7207q6rdybzqay3";
|
||||
};
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
in newPython.pkgs.buildPythonApplication rec {
|
||||
version = "1.2.3";
|
||||
pname = "conan";
|
||||
|
||||
src = fetchPypi {
|
||||
src = newPython.pkgs.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0zf564iqh0099yd779f9fgk21qyp87d7cmgfj34hmncf8y3qh32a";
|
||||
sha256 = "623e92d99cd0f4ec92552b23af66a6bb066071e213659f502480bb9a96d7be23";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
requests fasteners pyyaml pyjwt colorama patch
|
||||
bottle pluginbase six distro pylint node-semver
|
||||
future pygments mccabe
|
||||
checkInputs = with newPython.pkgs; [
|
||||
nose
|
||||
parameterized
|
||||
mock
|
||||
webtest
|
||||
codecov
|
||||
];
|
||||
|
||||
# enable tests once all of these pythonPackages available:
|
||||
# [ nose nose_parameterized mock webtest codecov ]
|
||||
doCheck = false;
|
||||
propagatedBuildInputs = with newPython.pkgs; [
|
||||
requests fasteners pyyaml pyjwt colorama patch
|
||||
bottle pluginbase six distro pylint node-semver
|
||||
future pygments mccabe deprecation
|
||||
];
|
||||
|
||||
preCheck = ''
|
||||
export HOME="$TMP/conan-home"
|
||||
mkdir -p "$HOME"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = https://conan.io;
|
||||
|
||||
@@ -3,14 +3,14 @@
|
||||
let
|
||||
|
||||
name = "doit";
|
||||
version = "0.30.3";
|
||||
version = "0.31.1";
|
||||
|
||||
in python3Packages.buildPythonApplication {
|
||||
name = "${name}-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://pypi/d/${name}/${name}-${version}.tar.gz";
|
||||
sha256 = "1fcsslc3mc4bszq5xdqbxv37720s1s31d6pbfwc2iyxk1x2wi219";
|
||||
sha256 = "1spm8vfjh4kvalaj0i2ggbdln1yy5k68d8mfwfnpqlzxxx4ikl5s";
|
||||
};
|
||||
|
||||
buildInputs = with python3Packages; [ mock pytest ];
|
||||
|
||||
@@ -1,77 +1,135 @@
|
||||
{ stdenv, lib, fetchgit, fetchurl, libevent, ninja, python }:
|
||||
{ stdenv, lib, fetchgit, fetchzip, fetchpatch
|
||||
, libevent, ninja, python, darwin }:
|
||||
|
||||
let
|
||||
depsGit = {
|
||||
"tools/gn" = fetchgit {
|
||||
url = "https://chromium.googlesource.com/chromium/src/tools/gn";
|
||||
rev = "d0c518db129975ce88ff1de26c857873b0619c4b";
|
||||
sha256 = "0l15vzmjyx6bwlz1qhn3fy7yx3qzzxr3drnkj3l0p0fmyxza52vx";
|
||||
rev = "0fa417a0d2d8484e9a5a636e3301da322f586601";
|
||||
sha256 = "0pigcl14yc4aak6q1ghfjxdz2ah4fg4m2r5y3asw2rz6mpr5y9z0";
|
||||
};
|
||||
"base" = fetchgit {
|
||||
url = "https://chromium.googlesource.com/chromium/src/base";
|
||||
rev = "bc6e3ce8ca01b894751e1f7b22b561e3ae2e7f17";
|
||||
sha256 = "1yl49v6nxbrfms52xf7fiwh7d4301m2aj744pa3hzzh989c5j6g5";
|
||||
rev = "ab1d7c3b92ce9c9bc756bdefb8338360d1a33a1e";
|
||||
sha256 = "15wis6qg9ka62k6v1vamg0bp3v5vkpapg485jsn4bbfcaqp6di0f";
|
||||
};
|
||||
"build" = fetchgit {
|
||||
url = "https://chromium.googlesource.com/chromium/src/build";
|
||||
rev = "e934a19ae908081fba13769924e4ea45a7a451ce";
|
||||
sha256 = "0jhy418vaiin7djg9zvk83f8zhasigki4442x5j7gkmgmgmyc4am";
|
||||
rev = "8d44c08a4c9997695db8098198bdd5026bc7a6f9";
|
||||
sha256 = "19sajgf55xfmvnwvy2ss7g6pyljp751cfsws30w415m6m00lmpxl";
|
||||
};
|
||||
"config" = fetchgit {
|
||||
url = "https://chromium.googlesource.com/chromium/src/build/config";
|
||||
rev = "df16c6a2c070704b0a25efe46ee9af16de1e65b3";
|
||||
sha256 = "1x18syzz1scwhd8lf448hy5lnfpq118l403x9qmwm0np318w09wg";
|
||||
rev = "14116c0cdcb9e28995ca8bb384a12e5c9dbd1dbb";
|
||||
sha256 = "04nif0lm4wcy05b7xhal023874s4r0iq067q57cgwdm72i2gml40";
|
||||
};
|
||||
"testing/gtest" = fetchgit {
|
||||
url = "https://chromium.googlesource.com/chromium/testing/gtest";
|
||||
rev = "585ec31ea716f08233a815e680fc0d4699843938";
|
||||
sha256 = "0csn1cza66851nmxxiw42smsm3422mx67vcyykwn0a71lcjng6rc";
|
||||
};
|
||||
"third_party/apple_apsl" = fetchzip {
|
||||
url = "https://chromium.googlesource.com/chromium/src/third_party/+archive/8e6ccb8c74db6dfa15dd21401ace3ac96c054cf7/apple_apsl.tar.gz";
|
||||
sha256 = "1vgcg741lwz84kdy0qc5wn9dxx3j9zh6a9d185fpygdsipwikqv8";
|
||||
stripRoot = false;
|
||||
};
|
||||
"buildtools/third_party/libc++/trunk" = fetchgit {
|
||||
url = "https://chromium.googlesource.com/chromium/llvm-project/libcxx";
|
||||
rev = "ece1de8658d749e19c12cacd4458cc330eca94e3";
|
||||
sha256 = "1nlyvfkzhchwv9b18bh82jcamqv3acj26ah9ajs31f2dql05amhg";
|
||||
};
|
||||
"buildtools/third_party/libc++abi/trunk" = fetchgit {
|
||||
url = "https://chromium.googlesource.com/chromium/llvm-project/libcxxabi";
|
||||
rev = "52c7a3760aef1df328a9bc957f686410872f0dc0";
|
||||
sha256 = "1aam539j01381q27b7xhij18pz3h0lhw08hglvqq4hgvlqx5cn2s";
|
||||
};
|
||||
};
|
||||
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gn";
|
||||
version = "0.0.0.20170629";
|
||||
sourceRoot = ".";
|
||||
in stdenv.mkDerivation {
|
||||
name = "gn";
|
||||
version = "20180423";
|
||||
sourceRoot = ".";
|
||||
|
||||
unpackPhase = ''
|
||||
${lib.concatStringsSep "\n" (
|
||||
lib.mapAttrsToList (n: v: ''
|
||||
mkdir -p $sourceRoot/${n}
|
||||
unpackPhase = ''
|
||||
${lib.concatStringsSep "\n" (
|
||||
lib.mapAttrsToList (n: v: ''
|
||||
mkdir -p $sourceRoot/${n}
|
||||
if [ -d ${v} ]; then
|
||||
cp -r ${v}/* $sourceRoot/${n}
|
||||
'') depsGit)}
|
||||
'';
|
||||
else
|
||||
mkdir -p $sourceRoot/${n}
|
||||
pushd $sourceRoot/${n}
|
||||
unpackFile ${v}
|
||||
popd
|
||||
fi
|
||||
'') depsGit)}
|
||||
|
||||
postPatch = ''
|
||||
# Patch shebands (for sandbox build)
|
||||
chmod u+w -R build
|
||||
patchShebangs build
|
||||
chmod u+w -R $sourceRoot
|
||||
'';
|
||||
|
||||
# Patch out Chromium-bundled libevent
|
||||
chmod u+w tools/gn/bootstrap tools/gn/bootstrap/bootstrap.py
|
||||
sed -i -e '/static_libraries.*libevent/,/^ *\]\?[})]$/d' \
|
||||
tools/gn/bootstrap/bootstrap.py
|
||||
'';
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/Eloston/ungoogled-chromium/master/resources/patches/ungoogled-chromium/macos/fix-gn-bootstrap.patch";
|
||||
sha256 = "1h8jgxznm7zrxlzb4wcfx4zx4lyvfrmpd0r7cd7h0s23wn8ibb3a";
|
||||
})
|
||||
];
|
||||
|
||||
NIX_LDFLAGS = "-levent";
|
||||
postPatch = ''
|
||||
# Disable libevent bootstrapping (we will provide it).
|
||||
sed -i -e '/static_libraries.*libevent/,/^ *\]\?[})]$/d' \
|
||||
tools/gn/bootstrap/bootstrap.py
|
||||
|
||||
nativeBuildInputs = [ ninja python ];
|
||||
buildInputs = [ libevent ];
|
||||
# FIXME Needed with old Apple SDKs
|
||||
substituteInPlace base/mac/foundation_util.mm \
|
||||
--replace "NSArray<NSString*>*" "NSArray*"
|
||||
substituteInPlace base/mac/sdk_forward_declarations.h \
|
||||
--replace "NSDictionary<VNImageOption, id>*" "NSDictionary*" \
|
||||
--replace "NSArray<VNRequest*>*" "NSArray*" \
|
||||
--replace "typedef NSString* VNImageOption NS_STRING_ENUM" "typedef NSString* VNImageOption"
|
||||
|
||||
buildPhase = ''
|
||||
python tools/gn/bootstrap/bootstrap.py -s
|
||||
'';
|
||||
# Patch shebangs (for sandbox build)
|
||||
patchShebangs build
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
install -vD out/Release/gn "$out/bin/gn"
|
||||
'';
|
||||
# FIXME again this shouldn't be necessary but I can't figure out a better way
|
||||
NIX_CFLAGS_COMPILE = "-DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_10 -DMAC_OS_X_VERSION_MIN_REQUIRED=MAC_OS_X_VERSION_10_10";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A meta-build system that generates NinjaBuild files";
|
||||
homepage = https://chromium.googlesource.com/chromium/src/tools/gn;
|
||||
license = licenses.bsd3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.stesie ];
|
||||
};
|
||||
}
|
||||
NIX_LDFLAGS = "-levent";
|
||||
|
||||
nativeBuildInputs = [ ninja python ];
|
||||
buildInputs = [ libevent ]
|
||||
|
||||
# FIXME These dependencies shouldn't be needed but can't find a way
|
||||
# around it. Chromium pulls this in while bootstrapping GN.
|
||||
++ lib.optionals stdenv.isDarwin (with darwin; with apple_sdk.frameworks; [
|
||||
libobjc
|
||||
cctools
|
||||
|
||||
# frameworks
|
||||
ApplicationServices
|
||||
Foundation
|
||||
AppKit
|
||||
ImageCaptureCore
|
||||
CoreBluetooth
|
||||
IOBluetooth
|
||||
CoreWLAN
|
||||
Quartz
|
||||
Cocoa
|
||||
]);
|
||||
|
||||
buildPhase = ''
|
||||
python tools/gn/bootstrap/bootstrap.py -s
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
install -vD out/Release/gn "$out/bin/gn"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A meta-build system that generates NinjaBuild files";
|
||||
homepage = https://chromium.googlesource.com/chromium/src/tools/gn;
|
||||
license = licenses.bsd3;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ stesie matthewbauer ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -33,6 +33,9 @@ stdenv.mkDerivation {
|
||||
./construct-command-line.patch
|
||||
./long-command-line.patch
|
||||
./darwin-library_search-dylib.patch
|
||||
|
||||
# Fix support for glibc 2.27's glob
|
||||
../4.2/glibc-2.27-glob.patch
|
||||
];
|
||||
patchFlags = "-p0";
|
||||
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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
|
||||
@@ -52,12 +52,12 @@ rec {
|
||||
};
|
||||
|
||||
gradle_latest = gradleGen rec {
|
||||
name = "gradle-4.6";
|
||||
name = "gradle-4.7";
|
||||
nativeVersion = "0.14";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://services.gradle.org/distributions/${name}-bin.zip";
|
||||
sha256 = "05drn7a9d2blbmd3l0443bpf5qzf5frwnl9ww0bha1qfng95zgcq";
|
||||
sha256 = "016vvjvk3gfasv3h6dxxp48kp9v4ariqj280bijn835mr1yhi9gw";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
# NOTE: this file is copied from the upstream repository for this package.
|
||||
# Please submit any changes you make here to https://github.com/timbertson/gup/
|
||||
|
||||
{ stdenv, lib, python, which, pychecker ? null }:
|
||||
{ src, version, meta ? {} }:
|
||||
stdenv.mkDerivation {
|
||||
inherit src meta;
|
||||
name = "gup-${version}";
|
||||
buildInputs = lib.remove null [ python which pychecker ];
|
||||
SKIP_PYCHECKER = pychecker == null;
|
||||
buildPhase = "make python";
|
||||
installPhase = ''
|
||||
mkdir $out
|
||||
cp -r python/bin $out/bin
|
||||
'';
|
||||
}
|
||||
@@ -1,21 +1,38 @@
|
||||
{ stdenv, fetchFromGitHub, lib, python, which }:
|
||||
let
|
||||
{ stdenv, fetchFromGitHub, nix-update-source, lib, python, which, pychecker ? null }:
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.7.0";
|
||||
src = fetchFromGitHub {
|
||||
sha256 = "1pwnmlq2pgkkln9sgz4wlb9dqlqw83bkf105qljnlvggc21zm3pv";
|
||||
rev = "version-${version}";
|
||||
repo = "gup";
|
||||
owner = "timbertson";
|
||||
repo = "gup";
|
||||
rev = "version-0.7.0";
|
||||
sha256 = "1pwnmlq2pgkkln9sgz4wlb9dqlqw83bkf105qljnlvggc21zm3pv";
|
||||
};
|
||||
in
|
||||
import ./build.nix
|
||||
{ inherit stdenv lib python which; }
|
||||
{ inherit src version;
|
||||
meta = {
|
||||
inherit (src.meta) homepage;
|
||||
description = "A better make, inspired by djb's redo";
|
||||
license = stdenv.lib.licenses.lgpl2Plus;
|
||||
maintainers = [ stdenv.lib.maintainers.timbertson ];
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
};
|
||||
}
|
||||
name = "gup-${version}";
|
||||
buildInputs = lib.remove null [ python which pychecker ];
|
||||
SKIP_PYCHECKER = pychecker == null;
|
||||
buildPhase = "make python";
|
||||
installPhase = ''
|
||||
mkdir $out
|
||||
cp -r python/bin $out/bin
|
||||
'';
|
||||
passthru.updateScript = ''
|
||||
set -e
|
||||
echo
|
||||
cd ${toString ./.}
|
||||
${nix-update-source}/bin/nix-update-source \
|
||||
--prompt version \
|
||||
--replace-attr version \
|
||||
--set owner timbertson \
|
||||
--set repo gup \
|
||||
--set type fetchFromGitHub \
|
||||
--set rev 'version-{version}' \
|
||||
--modify-nix default.nix
|
||||
'';
|
||||
meta = {
|
||||
inherit (src.meta) homepage;
|
||||
description = "A better make, inspired by djb's redo";
|
||||
license = stdenv.lib.licenses.lgpl2Plus;
|
||||
maintainers = [ stdenv.lib.maintainers.timbertson ];
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{ stdenv, fetchFromGitHub, gcc }:
|
||||
{ stdenv, fetchFromGitHub, makeWrapper, gcc, ncurses }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "icmake-${version}";
|
||||
version = "9.02.06";
|
||||
version = "9.02.07";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
sha256 = "1hs7fhqpkhlrjvjhfarf5bmxl8dw3r0immzdib27gwh3sfzgpx0b";
|
||||
sha256 = "1q3rwri5s1sqm4h75bahkjnlym4bk2ygg4fb75yrniwnj8rhdp12";
|
||||
rev = version;
|
||||
repo = "icmake";
|
||||
owner = "fbb-git";
|
||||
@@ -16,6 +16,7 @@ stdenv.mkDerivation rec {
|
||||
sourceRoot=$(echo */icmake)
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
buildInputs = [ gcc ];
|
||||
|
||||
preConfigure = ''
|
||||
@@ -30,6 +31,9 @@ stdenv.mkDerivation rec {
|
||||
|
||||
installPhase = ''
|
||||
./icm_install all /
|
||||
|
||||
wrapProgram $out/bin/icmbuild \
|
||||
--prefix PATH : ${ncurses}/bin
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
--- a/mesonbuild/coredata.py
|
||||
+++ b/mesonbuild/coredata.py
|
||||
@@ -282,18 +282,13 @@
|
||||
'''
|
||||
if option.endswith('dir') and os.path.isabs(value) and \
|
||||
option not in builtin_dir_noprefix_options:
|
||||
- # Value must be a subdir of the prefix
|
||||
# commonpath will always return a path in the native format, so we
|
||||
# must use pathlib.PurePath to do the same conversion before
|
||||
# comparing.
|
||||
- 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.'
|
||||
- raise MesonException(m.format(option, value, prefix))
|
||||
- # Convert path to be relative to prefix
|
||||
- skip = len(prefix) + 1
|
||||
- value = value[skip:]
|
||||
+ if os.path.commonpath([value, prefix]) == str(PurePath(prefix)):
|
||||
+ # Convert path to be relative to prefix
|
||||
+ skip = len(prefix) + 1
|
||||
+ value = value[skip:]
|
||||
return value
|
||||
|
||||
def init_builtins(self, options):
|
||||
@@ -1,12 +1,14 @@
|
||||
{ lib, python3Packages }:
|
||||
python3Packages.buildPythonApplication rec {
|
||||
version = "0.44.0";
|
||||
{ lib, python3Packages, stdenv, ninja, pkgconfig, targetPlatform, writeTextDir, substituteAll }: let
|
||||
targetPrefix = lib.optionalString stdenv.isCross
|
||||
(targetPlatform.config + "-");
|
||||
in python3Packages.buildPythonApplication rec {
|
||||
version = "0.45.1";
|
||||
pname = "meson";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = python3Packages.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1rpqp9iwbvr4xvfdh3iyfh1ha274hbb66jbgw3pa5a73x4d4ilqn";
|
||||
sha256 = "154kxx49dbw7p30qfg1carb3mgqxx9hyy1r0yzfsg07hz1n2sq14";
|
||||
};
|
||||
|
||||
postFixup = ''
|
||||
@@ -19,19 +21,60 @@ python3Packages.buildPythonApplication rec {
|
||||
'';
|
||||
|
||||
patches = [
|
||||
# Upstream insists on not allowing bindir and other dir options
|
||||
# outside of prefix for some reason:
|
||||
# https://github.com/mesonbuild/meson/issues/2561
|
||||
# We remove the check so multiple outputs can work sanely.
|
||||
./allow-dirs-outside-of-prefix.patch
|
||||
|
||||
# Unlike libtool, vanilla Meson does not pass any information
|
||||
# about the path library will be installed to to g-ir-scanner,
|
||||
# breaking the GIR when path other than ${!outputLib}/lib is used.
|
||||
# We patch Meson to add a --fallback-library-path argument with
|
||||
# library install_dir to g-ir-scanner.
|
||||
./gir-fallback-path.patch
|
||||
|
||||
# In common distributions, RPATH is only needed for internal libraries so
|
||||
# meson removes everything else. With Nix, the locations of libraries
|
||||
# are not as predictable, therefore we need to keep them in the RPATH.
|
||||
# At the moment we are keeping the paths starting with /nix/store.
|
||||
# https://github.com/NixOS/nixpkgs/issues/31222#issuecomment-365811634
|
||||
(substituteAll {
|
||||
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
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
sed -i -e 's|e.fix_rpath(install_rpath)||' mesonbuild/scripts/meson_install.py
|
||||
setupHook = ./setup-hook.sh;
|
||||
|
||||
crossFile = writeTextDir "cross-file.conf" ''
|
||||
[binaries]
|
||||
c = '${targetPrefix}cc'
|
||||
cpp = '${targetPrefix}c++'
|
||||
ar = '${targetPrefix}ar'
|
||||
strip = '${targetPrefix}strip'
|
||||
pkgconfig = 'pkg-config'
|
||||
|
||||
[properties]
|
||||
needs_exe_wrapper = true
|
||||
|
||||
[host_machine]
|
||||
system = '${targetPlatform.parsed.kernel.name}'
|
||||
cpu_family = '${targetPlatform.parsed.cpu.family}'
|
||||
cpu = '${targetPlatform.parsed.cpu.name}'
|
||||
endian = ${if targetPlatform.isLittleEndian then "'little'" else "'big'"}
|
||||
'';
|
||||
|
||||
setupHook = ./setup-hook.sh;
|
||||
# 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; {
|
||||
homepage = http://mesonbuild.com;
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
--- a/mesonbuild/compilers/compilers.py
|
||||
+++ b/mesonbuild/compilers/compilers.py
|
||||
@@ -846,8 +848,10 @@
|
||||
if paths != '':
|
||||
paths += ':'
|
||||
paths += build_rpath
|
||||
- if len(paths) < len(install_rpath):
|
||||
- padding = 'X' * (len(install_rpath) - len(paths))
|
||||
+ store_paths = ':'.join(filter(lambda path: path.startswith('@storeDir@'), paths.split(':')))
|
||||
+ extra_space_needed = len(install_rpath + (':' if install_rpath and store_paths else '') + store_paths) - len(paths)
|
||||
+ if extra_space_needed > 0:
|
||||
+ padding = 'X' * extra_space_needed
|
||||
if not paths:
|
||||
paths = padding
|
||||
else:
|
||||
--- a/mesonbuild/scripts/depfixer.py
|
||||
+++ b/mesonbuild/scripts/depfixer.py
|
||||
@@ -300,6 +300,14 @@
|
||||
return
|
||||
self.bf.seek(rp_off)
|
||||
old_rpath = self.read_str()
|
||||
+
|
||||
+ if new_rpath:
|
||||
+ new_rpath += b':'
|
||||
+ else:
|
||||
+ new_rpath = b''
|
||||
+
|
||||
+ new_rpath += b':'.join(filter(lambda path: path.startswith(b'@storeDir@'), old_rpath.split(b':')))
|
||||
+
|
||||
if len(old_rpath) < len(new_rpath):
|
||||
sys.exit("New rpath must not be longer than the old one.")
|
||||
# The linker does read-only string deduplication. If there is a
|
||||
@@ -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:
|
||||
@@ -6,11 +6,24 @@ mesonConfigurePhase() {
|
||||
fi
|
||||
|
||||
# Build release by default.
|
||||
mesonFlags="--buildtype=${mesonBuildType:-release} $mesonFlags"
|
||||
if [ -n "@isCross@" ]; then
|
||||
crossMesonFlags="--cross-file=@crossFile@/cross-file.conf"
|
||||
fi
|
||||
|
||||
# See multiple-outputs.sh and meson’s coredata.py
|
||||
mesonFlags="\
|
||||
--libdir=${!outputLib}/lib --libexecdir=${!outputLib}/libexec \
|
||||
--bindir=${!outputBin}/bin --sbindir=${!outputBin}/sbin \
|
||||
--includedir=${!outputInclude}/include \
|
||||
--mandir=${!outputMan}/share/man --infodir=${!outputInfo}/share/info \
|
||||
--localedir=${!outputLib}/share/locale \
|
||||
$mesonFlags"
|
||||
|
||||
mesonFlags="${crossMesonFlags+$crossMesonFlags }--buildtype=${mesonBuildType:-release} $mesonFlags"
|
||||
|
||||
echo "meson flags: $mesonFlags ${mesonFlagsArray[@]}"
|
||||
|
||||
meson build $mesonFlags "${mesonFlagsArray[@]}"
|
||||
CC=@cc@/bin/cc CXX=@cc@/bin/c++ meson build $mesonFlags "${mesonFlagsArray[@]}"
|
||||
cd build
|
||||
|
||||
if ! [[ -v enableParallelBuilding ]]; then
|
||||
@@ -29,7 +42,7 @@ fi
|
||||
mesonCheckPhase() {
|
||||
runHook preCheck
|
||||
|
||||
meson test
|
||||
meson test --print-errorlogs
|
||||
|
||||
runHook postCheck
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ with stdenv.lib;
|
||||
with pythonPackages;
|
||||
|
||||
let
|
||||
version = "1.3.0";
|
||||
version = "1.6.0";
|
||||
in buildPythonApplication rec {
|
||||
inherit version;
|
||||
pname = "pantsbuild.pants";
|
||||
@@ -12,7 +12,7 @@ in buildPythonApplication rec {
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "18fcf9047l9k006wz21g525p1w5avyjabmabh0giyz22xnm8g5gp";
|
||||
sha256 = "0ahvcj33xribypgyh515mb3ack1djr0cq27nlyk0qhwgwv6acfnj";
|
||||
};
|
||||
|
||||
prePatch = ''
|
||||
@@ -24,10 +24,10 @@ in buildPythonApplication rec {
|
||||
dontStrip = true;
|
||||
|
||||
propagatedBuildInputs = [
|
||||
twitter-common-collections setproctitle setuptools six ansicolors
|
||||
packaging pathspec scandir twitter-common-dirutil psutil requests
|
||||
pystache pex docutils markdown pygments twitter-common-confluence
|
||||
fasteners coverage pywatchman futures cffi
|
||||
twitter-common-collections setproctitle ansicolors packaging pathspec
|
||||
scandir twitter-common-dirutil psutil requests pystache pex docutils
|
||||
markdown pygments twitter-common-confluence fasteners pywatchman
|
||||
futures cffi subprocess32 contextlib2 faulthandler pyopenssl wheel
|
||||
];
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{ stdenv, fetchurl, makeWrapper }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.2.6";
|
||||
version = "2.0.3";
|
||||
name = "redo-sh-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://news.dieweltistgarnichtso.net/bin/archives/redo-sh.tar.gz";
|
||||
sha256 = "1cwrk4v22rb9410rzyb4py4ncg01n6850l80s74bk3sflbw974wp";
|
||||
sha256 = "1ycx3hik7vnlbwxacn1dzr48fwsn2ials0sg6k9l3gcyrha5wf1n";
|
||||
};
|
||||
|
||||
buildInputs = [ makeWrapper ];
|
||||
|
||||
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
||||
homepage = http://bashdb.sourceforge.net/remake/;
|
||||
license = stdenv.lib.licenses.gpl3;
|
||||
description = "GNU Make with comprehensible tracing and a debugger";
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
platforms = with stdenv.lib.platforms; linux ++ darwin;
|
||||
maintainers = with stdenv.lib.maintainers; [ bjornfor ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "sbt-${version}";
|
||||
version = "1.1.1";
|
||||
version = "1.1.4";
|
||||
|
||||
src = fetchurl {
|
||||
urls = [
|
||||
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
|
||||
"https://github.com/sbt/sbt/releases/download/v${version}/sbt-${version}.tgz"
|
||||
"https://cocl.us/sbt-${version}.tgz"
|
||||
];
|
||||
sha256 = "0fy04mnnrbdm7kfnjh6sv1q3g6wqzvwyf1p43f36rw3qalap544a";
|
||||
sha256 = "0hc361gb71psadx9gj78j0j60fw4sljjk8sl45hw6yzx3hmmkg9g";
|
||||
};
|
||||
|
||||
patchPhase = ''
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "waf-${version}";
|
||||
version = "2.0.4";
|
||||
version = "2.0.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://waf.io/waf-${version}.tar.bz2";
|
||||
sha256 = "0zmnwgccq5j7ipfi2j0k5s40q27krp1m6v2bd650axgzdbpa7ain";
|
||||
sha256 = "1wyl0jl10i0p2rj49sig5riyppgkqlkqmbvv35d5bqxri3y4r38q";
|
||||
};
|
||||
|
||||
buildInputs = [ python2 ];
|
||||
|
||||
Reference in New Issue
Block a user