Merge 'staging' into closure-size

- there were many easy merge conflicts
- cc-wrapper needed nontrivial changes

Many other problems might've been created by interaction of the branches,
but stdenv and a few other packages build fine now.
This commit is contained in:
Vladimír Čunát
2015-04-18 11:22:20 +02:00
6303 changed files with 375444 additions and 91358 deletions
@@ -1,6 +1,6 @@
{ fetchurl, stdenv, makeWrapper }:
{ fetchurl, stdenv, coreutils, makeWrapper }:
let version = "1.9.3"; in
let version = "1.9.4"; 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";
sha1 = "efcf206e24b0dd1583c501182ad163af277951a4";
sha256 = "1kw801p8h5x4f0g8i5yknppssrj5a3xy1aqrkpfnk22bd1snbh90";
};
contrib = fetchurl {
@@ -43,7 +43,7 @@ stdenv.mkDerivation {
if [ -z "\$JAVA_HOME" ]; then
for i in javac java gij; do
if p="\$(type -p \$i)"; then
export JAVA_HOME="\$(dirname \$(dirname \$(readlink -f \$p)))"
export JAVA_HOME="\$(${coreutils}/bin/dirname \$(${coreutils}/bin/dirname \$(${coreutils}/bin/readlink -f \$p)))"
break
fi
done
@@ -0,0 +1,17 @@
source $stdenv/setup
unpackPhase
mkdir -p $out
cp -r $name/* $out
wrapProgram $out/bin/mvn --set JAVA_HOME "$jdk"
# Add the maven-axis and JIRA plugin by default when using maven 1.x
if [ -e $out/bin/maven ]
then
export OLD_HOME=$HOME
export HOME=.
$out/bin/maven plugin:download -DgroupId=maven-plugins -DartifactId=maven-axis-plugin -Dversion=0.7
export HOME=OLD_HOME
fi
@@ -0,0 +1,25 @@
{ stdenv, fetchurl, jdk, makeWrapper }:
assert jdk != null;
let version = "3.2.5"; in
stdenv.mkDerivation rec {
name = "apache-maven-${version}";
builder = ./builder.sh;
src = fetchurl {
url = "mirror://apache/maven/maven-3/${version}/binaries/${name}-bin.tar.gz";
sha256 = "0md7fizam2lvl0b7fdlfjng6ywm283chmp382agzz4gmpmj046cc";
};
buildInputs = [ makeWrapper ];
inherit jdk;
meta = with stdenv.lib; {
description = "Build automation tool (used primarily for Java projects)";
homepage = http://maven.apache.org/;
license = licenses.asl20;
};
}
@@ -2,9 +2,9 @@ x@{builderDefsPackage
, lua5, python
, ...}:
builderDefsPackage
(a :
let
helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
(a :
let
helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
[];
buildInputs = map (n: builtins.getAttr n x)
@@ -43,7 +43,7 @@ rec {
mkdir -p "$out/bin"
cp bam "$out/bin"
'' ["minInit" "defEnsureDir" "build"];
meta = {
description = "Yet another build manager";
maintainers = with a.lib.maintainers;
@@ -52,7 +52,7 @@ rec {
];
platforms = with a.lib.platforms;
linux;
license = "free-noncopyleft";
license = a.lib.licenses.free;
};
passthru = {
updateInfo = {
@@ -60,4 +60,3 @@ rec {
};
};
}) x
@@ -0,0 +1,28 @@
{ stdenv, fetchFromGitHub, jdk, zip, zlib, protobuf, pkgconfig, libarchive, unzip, makeWrapper }:
stdenv.mkDerivation rec {
name = "bazel-20150326.981b7bc1";
src = fetchFromGitHub {
owner = "google";
repo = "bazel";
rev = "981b7bc1";
sha256 = "0i9gxgqhfmix7hmkb15s7h9f8ssln08pixqm26pd1d20g0kfyxj7";
};
buildInputs = [ pkgconfig protobuf zlib zip jdk libarchive unzip makeWrapper ];
installPhase = ''
PROTOC=protoc bash compile.sh
mkdir -p $out/bin $out/share
cp -R output $out/share/bazel
ln -s $out/share/bazel/bazel $out/bin/bazel
wrapProgram $out/bin/bazel --set JAVA_HOME "${jdk}"
'';
meta = {
homepage = http://github.com/google/bazel/;
description = "Build tool that builds code quickly and reliably";
license = stdenv.lib.licenses.asl20;
};
}
@@ -0,0 +1,13 @@
source $stdenv/setup
boot_bin=$out/bin/boot
mkdir -pv $(dirname $boot_bin)
cp -v $src $boot_bin
chmod -v 755 $boot_bin
patchShebangs $boot_bin
wrapProgram $boot_bin \
--set JAVA_HOME "${jdk}" \
--prefix PATH ":" "${jdk}/bin"
@@ -0,0 +1,27 @@
{ stdenv, fetchurl, makeWrapper, jdk }:
stdenv.mkDerivation rec {
version = "2.0.0-rc8";
name = "boot-${version}";
src = fetchurl {
url = "https://github.com/boot-clj/boot/releases/download/${version}/boot.sh";
sha256 = "1jqj04f33prb6nqsv7mffwdnz47ppi3szsbdzphjx8xzz394nl7j";
};
inherit jdk;
builder = ./builder.sh;
buildInputs = [ makeWrapper ];
propagatedBuildInputs = [ jdk ];
meta = {
description = "Build tooling for Clojure";
homepage = http://boot-clj.com/;
license = stdenv.lib.licenses.epl10;
platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
maintainers = [ stdenv.lib.maintainers.ragge ];
};
}
@@ -1,12 +1,12 @@
{ stdenv, buildPythonPackage, fetchurl, coreutils, twisted }:
buildPythonPackage (rec {
name = "buildbot-slave-0.8.8";
name = "buildbot-slave-0.8.10";
namePrefix = "";
src = fetchurl {
url = "http://buildbot.googlecode.com/files/${name}.tar.gz";
sha256 = "1k1pk3y0rk6j01wc491jblryr4ajqg1ing9m3sjaw9s5sga34xcb";
url = "https://pypi.python.org/packages/source/b/buildbot-slave/${name}.tar.gz";
sha256 = "09pncw44c7vqrl7zyn1nvfismiqi9s51axk9cqxn9gq7jhj38mpg";
};
patchPhase = ''
@@ -9,12 +9,12 @@
assert enableDebugClient -> pygobject != null && pyGtkGlade != null;
buildPythonPackage (rec {
name = "buildbot-0.8.8";
name = "buildbot-0.8.10";
namePrefix = "";
src = fetchurl {
url = "http://buildbot.googlecode.com/files/${name}.tar.gz";
sha256 = "1l1rsy82zv8582wypw00ac0k0wsr82ky74f3np4clbrxv3ry64sh";
url = "https://pypi.python.org/packages/source/b/buildbot/${name}.tar.gz";
sha256 = "1x5513mjvd3mwwadawk6v3ca2wh5mcmgnn5h9jhq1jw1plp4v5n4";
};
patchPhase =
@@ -0,0 +1,24 @@
{stdenv, version}:
{
inherit version;
platform = if stdenv.system == "i686-linux"
then "i686-unknown-linux-gnu"
else if stdenv.system == "x86_64-linux"
then "x86_64-unknown-linux-gnu"
else if stdenv.system == "i686-darwin"
then "i686-apple-darwin"
else if stdenv.system == "x86_64-darwin"
then "x86_64-apple-darwin"
else throw "no snapshot to bootstrap for this platform (missing platform url suffix)";
meta = with stdenv.lib; {
homepage = http://crates.io;
description = "Downloads your Rust project's dependencies and builds your project";
license = [ licenses.mit licenses.asl20 ];
platforms = platforms.linux;
};
name = "cargo-${version}";
}
@@ -0,0 +1,43 @@
{ stdenv, fetchurl, zlib }:
/* Cargo binary snapshot */
let snapshotDate = "2015-02-26";
in
with ((import ./common.nix) { inherit stdenv; version = "snapshot-${snapshotDate}"; });
let snapshotHash = if stdenv.system == "i686-linux"
then "2a28b604d09b4a76a54a05d91f7f158692427b3a"
else if stdenv.system == "x86_64-linux"
then "7367f4aca86d38e209ef7236b00175df036c03e2"
else if stdenv.system == "i686-darwin"
then "e5cabb0a4a2b4e47f7b1ae9b802e2b5d0b14eac5"
else if stdenv.system == "x86_64-darwin"
then "3026c60ddd46d2bcf1cb178fc801095dbfba5286"
else throw "no snapshot for platform ${stdenv.system}";
snapshotName = "cargo-nightly-${platform}.tar.gz";
in
stdenv.mkDerivation {
inherit name;
inherit version;
inherit meta;
src = fetchurl {
url = "https://static-rust-lang-org.s3.amazonaws.com/cargo-dist/${snapshotDate}/${snapshotName}";
sha1 = snapshotHash;
};
dontStrip = true;
installPhase = ''
mkdir -p "$out"
./install.sh "--prefix=$out"
'' + (if stdenv.isLinux then ''
patchelf --interpreter "${stdenv.glibc}/lib/${stdenv.cc.dynamicLinker}" \
--set-rpath "${stdenv.cc.cc}/lib/:${stdenv.cc.cc}/lib64/:${zlib}/lib" \
"$out/bin/cargo"
'' else "");
}
@@ -1,59 +0,0 @@
{ fetchurl, stdenv, replace, curl, expat, zlib, bzip2, libarchive
, useNcurses ? false, ncurses, useQt4 ? false, qt4, xmlrpc_c
}:
with stdenv.lib;
let
os = stdenv.lib.optionalString;
majorVersion = "2.6";
minorVersion = "4";
version = "${majorVersion}.${minorVersion}";
in
stdenv.mkDerivation rec {
name = "cmake-${os useNcurses "cursesUI-"}${os useQt4 "qt4UI-"}${version}";
inherit majorVersion;
src = fetchurl {
url = "${meta.homepage}files/v${majorVersion}/cmake-${version}.tar.gz";
sha256 = "1wpxr5x4aggaqrqzjq3kg4hh09f0vyr1njik1pad01bvwd923pcw";
};
patches =
# Don't search in non-Nix locations such as /usr, but do search in
# Nixpkgs' Glibc.
optional (stdenv ? glibc) ./search-path-264.patch;
buildInputs = [ curl expat zlib bzip2 libarchive xmlrpc_c ]
++ optional useNcurses ncurses
++ optional useQt4 qt4;
CMAKE_PREFIX_PATH = stdenv.lib.concatStringsSep ":" buildInputs;
configureFlags =
"--docdir=/share/doc/${name} --mandir=/share/man --system-libs"
+ stdenv.lib.optionalString useQt4 " --qt-gui";
setupHook = ./setup-hook.sh;
postPatch =
''
dontUseCmakeConfigure=1
source $setupHook
fixCmakeFiles .
'';
preConfigure = optionalString (stdenv ? glibc)
''
substituteInPlace Modules/Platform/UnixPaths.cmake --subst-var-by glibc ${stdenv.glibc}
'';
meta = {
homepage = http://www.cmake.org/;
description = "Cross-Platform Makefile Generator";
platforms = if useQt4 then qt4.meta.platforms else stdenv.lib.platforms.all;
maintainers = [ stdenv.lib.maintainers.urkud ];
};
}
@@ -1,17 +0,0 @@
diff --git a/Source/CTest/cmCTestTestHandler.cxx b/Source/CTest/cmCTestTestHandler.cxx
index e7491bb..57b4348 100644
--- a/Source/CTest/cmCTestTestHandler.cxx
+++ b/Source/CTest/cmCTestTestHandler.cxx
@@ -1303,10 +1303,9 @@ int cmCTestTestHandler::ExecuteCommands(std::vector<cmStdString>& vec)
for ( it = vec.begin(); it != vec.end(); ++it )
{
int retVal = 0;
- std::string cmd = cmSystemTools::ConvertToOutputPath(it->c_str());
- cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT, "Run command: " << cmd
+ cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT, "Run command: " << *it
<< std::endl);
- if ( !cmSystemTools::RunSingleCommand(cmd.c_str(), 0, &retVal, 0,
+ if ( !cmSystemTools::RunSingleCommand((*it).c_str(), 0, &retVal, 0,
cmSystemTools::OUTPUT_MERGE
/*this->Verbose*/) || retVal != 0 )
{
@@ -0,0 +1,11 @@
--- ./Modules/FindOpenSSL.cmake
+++ ./Modules/FindOpenSSL.cmake
@@ -264,7 +264,7 @@
set(OPENSSL_VERSION "${_OPENSSL_VERSION}")
elseif(OPENSSL_INCLUDE_DIR AND EXISTS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h")
file(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h" openssl_version_str
- REGEX "^#define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x([0-9a-fA-F])+.*")
+ REGEX "^# *define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x([0-9a-fA-F])+.*")
# The version number is encoded as 0xMNNFFPPS: major minor fix patch status
# The status gives if this is a developer or prerelease and is ignored here.
@@ -1,13 +1,17 @@
{ stdenv, fetchurl, fetchpatch, replace, pkgconfig, curl, expat, zlib, bzip2, libarchive
{ stdenv, fetchurl, pkgconfig
, bzip2, curl, expat, jsoncpp, libarchive, xz, zlib
, useNcurses ? false, ncurses, useQt4 ? false, qt4
, wantPS ? false, ps ? null
}:
with stdenv.lib;
assert wantPS -> (ps != null);
let
os = stdenv.lib.optionalString;
majorVersion = "2.8";
minorVersion = "12.2";
majorVersion = "3.2";
minorVersion = "1";
version = "${majorVersion}.${minorVersion}";
in
@@ -18,20 +22,15 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "${meta.homepage}files/v${majorVersion}/cmake-${version}.tar.gz";
sha256 = "0phf295a9cby0v7zqdswr238v5aiy3rb2fs6dz39zjxbmzlp8rcc";
sha256 = "0b2hy4p0aa9zshlxyw9nmlh5q8q1lmnwmb594rvh6sx2n7v1r7vm";
};
enableParallelBuilding = true;
patches =
[(fetchpatch { # see http://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";
sha256 = "136z63ff83hnwd247cq4m8m8164pklzyl5i2csf5h6wd8p01pdkj";
})] ++
# Don't search in non-Nix locations such as /usr, but do search in
# Nixpkgs' Glibc.
optional (stdenv ? glibc) ./search-path.patch ++
# Nixpkgs' Glibc.
optional (stdenv ? glibc) ./search-path-3.2.patch ++
optional (stdenv ? cross) (fetchurl {
name = "fix-darwin-cross-compile.patch";
url = "http://public.kitware.com/Bug/file_download.php?"
@@ -39,15 +38,24 @@ stdenv.mkDerivation rec {
sha256 = "16acmdr27adma7gs9rs0dxdiqppm15vl3vv3agy7y8s94wyh4ybv";
});
buildInputs = [ pkgconfig curl expat zlib bzip2 libarchive ]
buildInputs =
[ pkgconfig bzip2 curl expat libarchive xz zlib ]
++ optional (jsoncpp != null) jsoncpp
++ optional useNcurses ncurses
++ optional useQt4 qt4;
CMAKE_PREFIX_PATH = stdenv.lib.concatStringsSep ":" (buildInputs ++ [zlib.out]);
propagatedBuildInputs = optional wantPS ps;
CMAKE_PREFIX_PATH = stdenv.lib.concatStringsSep ":" buildInputs;
configureFlags =
"--docdir=/share/doc/${name} --mandir=/share/man --system-libs"
+ stdenv.lib.optionalString useQt4 " --qt-gui";
[
"--docdir=/share/doc/${name}"
"--mandir=/share/man"
"--system-libs"
]
++ optional (jsoncpp == null) "--no-system-jsoncpp"
++ optional useQt4 "--qt-gui";
setupHook = ./setup-hook.sh;
@@ -57,13 +65,14 @@ stdenv.mkDerivation rec {
''
source $setupHook
fixCmakeFiles .
substituteInPlace Modules/Platform/UnixPaths.cmake --subst-var-by glibc ${stdenv.glibc}
substituteInPlace Modules/Platform/UnixPaths.cmake \
--subst-var-by glibc ${stdenv.glibc}
'';
meta = {
homepage = http://www.cmake.org/;
description = "Cross-Platform Makefile Generator";
platforms = if useQt4 then qt4.meta.platforms else stdenv.lib.platforms.all;
maintainers = with stdenv.lib.maintainers; [ urkud mornfall ];
maintainers = with stdenv.lib.maintainers; [ urkud mornfall ttuegel ];
};
}
@@ -1,93 +0,0 @@
diff --git a/Modules/Platform/Linux.cmake b/Modules/Platform/Linux.cmake
index 4e4c2cb..9784655 100644
--- a/Modules/Platform/Linux.cmake
+++ b/Modules/Platform/Linux.cmake
@@ -43,21 +43,10 @@ ELSE(DEFINED CMAKE_INSTALL_SO_NO_EXE)
# checking the platform every time. This option is advanced enough
# that only package maintainers should need to adjust it. They are
# capable of providing a setting on the command line.
- IF(EXISTS "/etc/debian_version")
- SET(CMAKE_INSTALL_SO_NO_EXE 1 CACHE INTERNAL
- "Install .so files without execute permission.")
- ELSE(EXISTS "/etc/debian_version")
- SET(CMAKE_INSTALL_SO_NO_EXE 0 CACHE INTERNAL
- "Install .so files without execute permission.")
- ENDIF(EXISTS "/etc/debian_version")
+ SET(CMAKE_INSTALL_SO_NO_EXE 0 CACHE INTERNAL
+ "Install .so files without execute permission.")
ENDIF(DEFINED CMAKE_INSTALL_SO_NO_EXE)
INCLUDE(Platform/UnixPaths)
-# Debian has lib64 paths only for compatibility so they should not be
-# searched.
-IF(EXISTS "/etc/debian_version")
- SET_PROPERTY(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE)
-ENDIF(EXISTS "/etc/debian_version")
-# always include the gcc compiler information
INCLUDE(Platform/gcc)
diff --git a/Modules/Platform/UnixPaths.cmake b/Modules/Platform/UnixPaths.cmake
index 584d334..4fcf951 100755
--- a/Modules/Platform/UnixPaths.cmake
+++ b/Modules/Platform/UnixPaths.cmake
@@ -8,56 +8,18 @@ GET_FILENAME_COMPONENT(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH)
# List common installation prefixes. These will be used for all
# search types.
LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH
- # Standard
- / /usr /usr/local
-
- # CMake install location
- "${_CMAKE_INSTALL_DIR}"
-
- # Project install destination.
- "${CMAKE_INSTALL_PREFIX}"
- )
-
-# List common include file locations not under the common prefixes.
-LIST(APPEND CMAKE_SYSTEM_INCLUDE_PATH
- # Windows API on Cygwin
- /usr/include/w32api
-
- # X11
- /usr/X11R6/include /usr/include/X11
-
- # Other
- /opt/local/include /usr/pkg/include
- /opt/csw/include /opt/include
- /usr/openwin/include
- )
-
-LIST(APPEND CMAKE_SYSTEM_LIBRARY_PATH
- # Windows API on Cygwin
- /usr/lib/w32api
-
- # X11
- /usr/X11R6/lib /usr/lib/X11
-
- # Other
- /opt/local/lib /usr/pkg/lib
- /opt/csw/lib /opt/lib
- /usr/openwin/lib
- )
-
-LIST(APPEND CMAKE_SYSTEM_PROGRAM_PATH
- /usr/pkg/bin
+ "@glibc@"
)
LIST(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
- /lib /usr/lib /usr/lib32 /usr/lib64
+ "@glibc@/lib"
)
LIST(APPEND CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES
- /usr/include
+ "@glibc@/include"
)
LIST(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES
- /usr/include
+ "@glibc@/include"
)
# Enable use of lib64 search path variants by default.
@@ -0,0 +1,74 @@
diff --git a/Modules/Platform/UnixPaths.cmake b/Modules/Platform/UnixPaths.cmake
index 20ee1d1..39834e6 100644
--- a/Modules/Platform/UnixPaths.cmake
+++ b/Modules/Platform/UnixPaths.cmake
@@ -33,64 +33,18 @@ get_filename_component(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH)
# search types.
list(APPEND CMAKE_SYSTEM_PREFIX_PATH
# Standard
- /usr/local /usr /
-
- # CMake install location
- "${_CMAKE_INSTALL_DIR}"
- )
-if (NOT CMAKE_FIND_NO_INSTALL_PREFIX)
- list(APPEND CMAKE_SYSTEM_PREFIX_PATH
- # Project install destination.
- "${CMAKE_INSTALL_PREFIX}"
- )
- if(CMAKE_STAGING_PREFIX)
- list(APPEND CMAKE_SYSTEM_PREFIX_PATH
- # User-supplied staging prefix.
- "${CMAKE_STAGING_PREFIX}"
- )
- endif()
-endif()
-
-# List common include file locations not under the common prefixes.
-list(APPEND CMAKE_SYSTEM_INCLUDE_PATH
- # Windows API on Cygwin
- /usr/include/w32api
-
- # X11
- /usr/X11R6/include /usr/include/X11
-
- # Other
- /usr/pkg/include
- /opt/csw/include /opt/include
- /usr/openwin/include
- )
-
-list(APPEND CMAKE_SYSTEM_LIBRARY_PATH
- # Windows API on Cygwin
- /usr/lib/w32api
-
- # X11
- /usr/X11R6/lib /usr/lib/X11
-
- # Other
- /usr/pkg/lib
- /opt/csw/lib /opt/lib
- /usr/openwin/lib
- )
-
-list(APPEND CMAKE_SYSTEM_PROGRAM_PATH
- /usr/pkg/bin
+ "@glibc@"
)
list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
- /lib /lib32 /lib64 /usr/lib /usr/lib32 /usr/lib64
+ "@glibc@/lib"
)
list(APPEND CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES
- /usr/include
+ "@glibc@/include"
)
list(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES
- /usr/include
+ "@glibc@/include"
)
# Enable use of lib64 search path variants by default.
@@ -1,97 +0,0 @@
diff --git a/Modules/Platform/Linux.cmake b/Modules/Platform/Linux.cmake
index fe8e003..378512c 100644
--- a/Modules/Platform/Linux.cmake
+++ b/Modules/Platform/Linux.cmake
@@ -36,13 +36,13 @@ else()
# checking the platform every time. This option is advanced enough
# that only package maintainers should need to adjust it. They are
# capable of providing a setting on the command line.
- if(EXISTS "/etc/debian_version")
- set(CMAKE_INSTALL_SO_NO_EXE 1 CACHE INTERNAL
- "Install .so files without execute permission.")
- else()
+ # if(EXISTS "/etc/debian_version")
+ # set(CMAKE_INSTALL_SO_NO_EXE 1 CACHE INTERNAL
+ # "Install .so files without execute permission.")
+ # else()
set(CMAKE_INSTALL_SO_NO_EXE 0 CACHE INTERNAL
"Install .so files without execute permission.")
- endif()
+ # endif()
endif()
# Match multiarch library directory names.
@@ -52,6 +52,6 @@ include(Platform/UnixPaths)
# Debian has lib64 paths only for compatibility so they should not be
# searched.
-if(EXISTS "/etc/debian_version")
- set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE)
-endif()
+# if(EXISTS "/etc/debian_version")
+# set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE)
+#endif()
diff --git a/Modules/Platform/UnixPaths.cmake b/Modules/Platform/UnixPaths.cmake
index ccb2663..39834e6 100644
--- a/Modules/Platform/UnixPaths.cmake
+++ b/Modules/Platform/UnixPaths.cmake
@@ -33,55 +33,18 @@ get_filename_component(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH)
# search types.
list(APPEND CMAKE_SYSTEM_PREFIX_PATH
# Standard
- /usr/local /usr /
-
- # CMake install location
- "${_CMAKE_INSTALL_DIR}"
-
- # Project install destination.
- "${CMAKE_INSTALL_PREFIX}"
- )
-
-# List common include file locations not under the common prefixes.
-list(APPEND CMAKE_SYSTEM_INCLUDE_PATH
- # Windows API on Cygwin
- /usr/include/w32api
-
- # X11
- /usr/X11R6/include /usr/include/X11
-
- # Other
- /usr/pkg/include
- /opt/csw/include /opt/include
- /usr/openwin/include
- )
-
-list(APPEND CMAKE_SYSTEM_LIBRARY_PATH
- # Windows API on Cygwin
- /usr/lib/w32api
-
- # X11
- /usr/X11R6/lib /usr/lib/X11
-
- # Other
- /usr/pkg/lib
- /opt/csw/lib /opt/lib
- /usr/openwin/lib
- )
-
-list(APPEND CMAKE_SYSTEM_PROGRAM_PATH
- /usr/pkg/bin
+ "@glibc@"
)
list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
- /lib /usr/lib /usr/lib32 /usr/lib64
+ "@glibc@/lib"
)
list(APPEND CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES
- /usr/include
+ "@glibc@/include"
)
list(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES
- /usr/include
+ "@glibc@/include"
)
# Enable use of lib64 search path variants by default.
@@ -36,6 +36,15 @@ cmakeConfigurePhase() {
cmakeFlags="-DCMAKE_CXX_COMPILER=$crossConfig-g++ -DCMAKE_C_COMPILER=$crossConfig-gcc $cmakeFlags"
fi
# 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
# can only be found by an executable at runtime if the shared
# libraries are in a system path or in the same directory as the
# executable. This flag makes the shared library accessible from its
# nix/store directory.
cmakeFlags="-DCMAKE_INSTALL_NAME_DIR=$prefix/lib $cmakeFlags"
# Avoid cmake resetting the rpath of binaries, on make install
# And build always Release, to ensure optimisation flags
cmakeFlags="-DCMAKE_BUILD_TYPE=Release -DCMAKE_SKIP_BUILD_RPATH=ON $cmakeFlags"
@@ -0,0 +1,35 @@
{stdenv, fetchurl, curl, dmd, gcc, unzip}:
stdenv.mkDerivation {
name = "dub-0.9.22";
src = fetchurl {
url = "https://github.com/rejectedsoftware/dub/archive/v0.9.22.tar.gz";
sha256 = "0vhn96ybbsfflldlbyc17rmwb7bz21slbm189k5glyfr9nnp4cir";
};
buildInputs = [ unzip curl ];
propagatedBuildInputs = [ gcc dmd ];
buildPhase = ''
# Avoid that the version file is overwritten
substituteInPlace build.sh \
--replace source/dub/version_.d /dev/null
./build.sh
'';
installPhase = ''
mkdir $out
mkdir $out/bin
cp bin/dub $out/bin
'';
meta = with stdenv.lib; {
description = "Build tool for D projects";
homepage = http://code.dlang.org/;
license = stdenv.lib.licenses.mit;
platforms = platforms.unix;
};
}
@@ -42,6 +42,6 @@ stdenv.mkDerivation {
homepage = http://www.gnu.org/software/make/;
license = stdenv.lib.licenses.gpl2Plus;
maintainers = [ stdenv.lib.maintainers.ludo ];
maintainers = [ ];
};
}
@@ -57,7 +57,7 @@ stdenv.mkDerivation {
homepage = http://www.gnu.org/software/make/;
license = stdenv.lib.licenses.gpl3Plus;
maintainers = [ stdenv.lib.maintainers.ludo ];
maintainers = [ ];
platforms = stdenv.lib.platforms.all;
};
}
@@ -43,7 +43,7 @@ stdenv.mkDerivation {
homepage = http://www.gnu.org/software/make/;
license = stdenv.lib.licenses.gpl3Plus;
maintainers = [ stdenv.lib.maintainers.ludo ];
maintainers = [ ];
platforms = stdenv.lib.platforms.all;
};
}
@@ -0,0 +1,41 @@
{ stdenv, fetchurl }:
let
version = "4.1";
in
stdenv.mkDerivation {
name = "gnumake-${version}";
src = fetchurl {
url = "mirror://gnu/make/make-${version}.tar.bz2";
sha256 = "19gwwhik3wdwn0r42b7xcihkbxvjl9r2bdal8nifc3k5i4rn3iqb";
};
patchFlags = "-p0";
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.patch
];
meta = {
homepage = http://www.gnu.org/software/make/;
description = "A tool to control the generation of non-source files from sources";
license = stdenv.lib.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.
'';
maintainers = with stdenv.lib.maintainers; [ simons ];
platforms = stdenv.lib.platforms.all;
};
}
@@ -0,0 +1,34 @@
diff -rc read.c read.c
*** read.c 2006-03-17 15:24:20.000000000 +0100
--- read.c 2007-05-24 17:16:31.000000000 +0200
***************
*** 99,107 ****
--- 99,109 ----
#endif
INCLUDEDIR,
#ifndef _AMIGA
+ #if 0
"/usr/gnu/include",
"/usr/local/include",
"/usr/include",
+ #endif
#endif
0
};
diff -rc reremake.c
*** remake.c 2006-03-20 03:36:37.000000000 +0100
--- remake.c 2007-05-24 17:06:54.000000000 +0200
***************
*** 1452,1460 ****
--- 1452,1462 ----
static 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
@@ -1,20 +1,22 @@
{ stdenv, fetchurl, unzip, jdk, makeWrapper }:
stdenv.mkDerivation rec {
name = "gradle-1.11";
name = "gradle-2.2.1";
src = fetchurl {
url = "http://services.gradle.org/distributions/${name}-bin.zip";
sha256 = "14a0qdzjiar97l9a0i3ds2y48p1lrqkj7skkkvhz0r29hbgkbqh7";
sha256 = "420aa50738299327b611c10b8304b749e8d3a579407ee9e755b15921d95ff418";
};
installPhase = ''
mkdir -pv $out
cp -rv lib $out
gradle_launcher_jar=$(echo $out/lib/gradle-launcher-*.jar)
test -f $gradle_launcher_jar
makeWrapper ${jdk}/bin/java $out/bin/gradle \
--set JAVA_HOME ${jdk} \
--add-flags "-classpath $out/lib/gradle-launcher-1.11.jar org.gradle.launcher.GradleMain"
--add-flags "-classpath $gradle_launcher_jar org.gradle.launcher.GradleMain"
'';
phases = "unpackPhase installPhase";
@@ -0,0 +1,28 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "icmake-${version}";
version = "7.22.00";
src = fetchurl {
url = "mirror://sourceforge/icmake/icmake_${version}.orig.tar.gz";
sha256 = "013vxnilygad981zb2608f95q2h3svvbgpjvzvk16qyxjy4y4q6z";
};
preConfigure = ''
patchShebangs ./
sed -i "s;usr/;;g" INSTALL.im
'';
buildPhase = "./icm_bootstrap $out";
installPhase = "./icm_install all /";
meta = with stdenv.lib; {
description = "A program maintenance (make) utility using a C-like grammar";
homepage = http://icmake.sourceforge.net/;
license = licenses.gpl3;
maintainers = with maintainers; [ pSub ];
platforms = platforms.linux;
};
}
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
meta = {
homepage = http://public.perforce.com/wiki/Jam;
license = "free";
license = stdenv.lib.licenses.free;
description = "Just Another Make";
};
}
@@ -7,8 +7,7 @@ mkdir -pv $out/bin $out/share/java
out_bin=$out/bin/lein
cp -v $src $out_bin
cp -v $jarsrc $out/share/java
cp -v $clojure/share/java/* $out/share/java/
cp -v $jarsrc "$out/share/java/$name-standalone.jar"
for p in $patches;
do
@@ -20,5 +19,5 @@ patchShebangs $out
wrapProgram $out_bin \
--prefix PATH ":" "${rlwrap}/bin:${coreutils}/bin:${findutils}/bin" \
--set LEIN_GPG ${gnupg}/bin/gpg \
--set LEIN_GPG ${gnupg1compat}/bin/gpg \
--set JAVA_CMD ${jdk}/bin/java
@@ -1,36 +1,37 @@
{ stdenv, fetchurl, makeWrapper
, coreutils, findutils, jdk, rlwrap, clojure, gnupg }:
, coreutils, findutils, jdk, rlwrap, gnupg1compat }:
stdenv.mkDerivation rec {
pname = "leiningen";
version = "2.4.2";
version = "2.5.1";
name = "${pname}-${version}";
src = fetchurl {
url = "https://raw.github.com/technomancy/leiningen/${version}/bin/lein-pkg";
sha256 = "1qdq3v7wv9jacw4bipgx24knlipw6zdcx43yd1qyw6zwaad51ckw";
sha256 = "0pqqb2bh0a17426diwyhk5vbxcfz45rppbxmjydsmai94jm3cgix";
};
jarsrc = fetchurl {
url = "https://github.com/technomancy/leiningen/releases/download/${version}/${name}-standalone.jar";
sha256 = "0n4kpmzw9nvppq758lhnrr7xps5j6gwmdm98m772cj7j4vixsrzb";
# NOTE: This is actually a .jar, Github has issues
url = "https://github.com/technomancy/leiningen/releases/download/${version}/${name}-standalone.zip";
sha256 = "1irl3w66xq1xbbs4g10dnw1vknfw8al70nhr744gfn2za27w0xdl";
};
patches = [ ./lein-fix-jar-path.patch ];
inherit rlwrap clojure gnupg findutils coreutils jdk;
inherit rlwrap gnupg1compat findutils coreutils jdk;
builder = ./builder.sh;
buildInputs = [ makeWrapper ];
propagatedBuildInputs = [ jdk clojure ];
propagatedBuildInputs = [ jdk ];
meta = {
homepage = http://leiningen.org/;
description = "Project automation for Clojure";
license = "EPL";
platforms = stdenv.lib.platforms.linux;
license = stdenv.lib.licenses.epl10;
platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
maintainers = with stdenv.lib.maintainers; [ the-kenny ];
};
}
@@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
name = "ninja-${version}";
version = "1.5.1";
version = "1.5.3";
src = fetchurl {
name = "${name}.tar.gz";
url = "https://github.com/martine/ninja/archive/v${version}.tar.gz";
sha256 = "0z9rzay6ipy6q025n1f2im8d8jy6in9pcdsiqj30xpdlsjg7p9zv";
sha256 = "1h3yfwcfl61v493vna6jia2fizh8rpig7qw2504cvkr6gid3p5bw";
};
buildInputs = [ python asciidoc re2c ];
@@ -34,7 +34,7 @@ stdenv.mkDerivation {
variety of locations (git, hg, etc).
'';
platforms = stdenv.lib.platforms.linux;
platforms = stdenv.lib.platforms.unix;
maintainers = [ stdenv.lib.maintainers.the-kenny ];
};
}
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "sbt-${version}";
version = "0.13.5";
version = "0.13.8";
src = fetchurl {
url = "http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/${version}/sbt-launch.jar";
sha256 = "05zvb3j7xxswpz7fz2nwbl4dwfdf0cyx5xzjis5fyi2dbzmfdrmp";
sha256 = "0n4ivla8s8ygfnf95dj624nhcyganigf7fy0gamgyf31vw1vnw35";
};
phases = [ "installPhase" ];
@@ -14,8 +14,7 @@ stdenv.mkDerivation rec {
installPhase = ''
mkdir -p $out/bin
cat > $out/bin/sbt << EOF
#!/bin/sh
SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=384M"
#! ${stdenv.shell}
${jre}/bin/java \$SBT_OPTS -jar ${src} "\$@"
EOF
chmod +x $out/bin/sbt
@@ -2,7 +2,7 @@
let
name = "scons";
version = "2.3.2";
version = "2.3.4";
in
stdenv.mkDerivation {
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "mirror://sourceforge/scons/${name}-${version}.tar.gz";
sha256 = "1m29lhwz7p6k4f8wc8qjpwa89058lzq3vrycgxbfc5cmbq6354zr";
sha256 = "0hdlci43wjz8maryj83mz04ir6rwcdrrzpd7cpzvdlzycqhdfmsb";
};
buildInputs = [python makeWrapper];
@@ -0,0 +1,51 @@
{ stdenv, fetchFromGitHub, fuse, pkgconfig }:
stdenv.mkDerivation rec {
name = "tup-${version}";
version = "0.7.3";
src = fetchFromGitHub {
owner = "gittup";
repo = "tup";
rev = "v${version}";
sha256 = "1x2grwmlf2izip4djb8cjwgl8p3x0bmfqwzjsc017mqi17qkijy8";
};
buildInputs = [ fuse pkgconfig ];
configurePhase = ''
sed -i 's/`git describe`/v${version}/g' Tupfile
'';
# Regular tup builds require fusermount to have suid, which nix cannot
# currently provide in a build environment, so we bootstrap and use 'tup
# generate' instead
buildPhase = ''
./build.sh
./build/tup generate script.sh
./script.sh
'';
installPhase = ''
mkdir -p $out/bin
cp tup $out/bin/
mkdir -p $out/share/man/man1
cp tup.1 $out/share/man/man1/
'';
meta = with stdenv.lib; {
description = "A fast, file-based build system";
longDescription = ''
Tup is a file-based build system for Linux, OSX, and Windows. It inputs a list
of file changes and a directed acyclic graph (DAG), then processes the DAG to
execute the appropriate commands required to update dependent files. Updates are
performed with very little overhead since tup implements powerful build
algorithms to avoid doing unnecessary work. This means you can stay focused on
your project rather than on your build system.
'';
homepage = http://gittup.org/tup/;
license = licenses.gpl2;
platforms = platforms.linux ++ platforms.darwin;
};
}