From d528c7d8f57255553d858a908391ce07b4712e0e Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Wed, 13 Apr 2016 22:03:48 +0300 Subject: [PATCH 01/10] cmake-2_8: fix for multiple outputs --- .../tools/build-managers/cmake/2.8.nix | 7 +- .../build-managers/cmake/search-path.patch | 81 +++++++++---------- 2 files changed, 43 insertions(+), 45 deletions(-) diff --git a/pkgs/development/tools/build-managers/cmake/2.8.nix b/pkgs/development/tools/build-managers/cmake/2.8.nix index 80fdce59607b..6542c9ae3c52 100644 --- a/pkgs/development/tools/build-managers/cmake/2.8.nix +++ b/pkgs/development/tools/build-managers/cmake/2.8.nix @@ -58,11 +58,14 @@ stdenv.mkDerivation rec { dontUseCmakeConfigure = true; - preConfigure = optionalString (stdenv ? glibc) + preConfigure = with stdenv; optionalString (stdenv ? glibc) '' source $setupHook fixCmakeFiles . - substituteInPlace Modules/Platform/UnixPaths.cmake --subst-var-by glibc ${stdenv.glibc} + substituteInPlace Modules/Platform/UnixPaths.cmake \ + --subst-var-by glibc_bin ${glibc.bin or glibc} \ + --subst-var-by glibc_dev ${glibc.dev or glibc} \ + --subst-var-by glibc_lib ${glibc.out or glibc} ''; meta = { diff --git a/pkgs/development/tools/build-managers/cmake/search-path.patch b/pkgs/development/tools/build-managers/cmake/search-path.patch index 31c85d6f5220..6d6ca74ccadc 100644 --- a/pkgs/development/tools/build-managers/cmake/search-path.patch +++ b/pkgs/development/tools/build-managers/cmake/search-path.patch @@ -1,8 +1,7 @@ -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() +diff -ru3 cmake-2.8.12.2/Modules/Platform/Linux.cmake cmake-2.8.12.2-new/Modules/Platform/Linux.cmake +--- cmake-2.8.12.2/Modules/Platform/Linux.cmake 2014-01-16 21:15:08.000000000 +0400 ++++ cmake-2.8.12.2-new/Modules/Platform/Linux.cmake 2016-04-13 22:00:32.928575740 +0300 +@@ -36,22 +36,11 @@ # 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. @@ -10,46 +9,40 @@ index fe8e003..378512c 100644 - 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.") +- set(CMAKE_INSTALL_SO_NO_EXE 0 CACHE INTERNAL +- "Install .so files without execute permission.") - endif() -+ # endif() ++ set(CMAKE_INSTALL_SO_NO_EXE 0 CACHE INTERNAL ++ "Install .so files without execute permission.") endif() # Match multiarch library directory names. -@@ -52,6 +52,6 @@ include(Platform/UnixPaths) + set(CMAKE_LIBRARY_ARCHITECTURE_REGEX "[a-z0-9_]+(-[a-z0-9_]+)?-linux-gnu[a-z0-9_]*") - # Debian has lib64 paths only for compatibility so they should not be - # searched. + 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) +diff -ru3 cmake-2.8.12.2/Modules/Platform/UnixPaths.cmake cmake-2.8.12.2-new/Modules/Platform/UnixPaths.cmake +--- cmake-2.8.12.2/Modules/Platform/UnixPaths.cmake 2014-01-16 21:15:08.000000000 +0400 ++++ cmake-2.8.12.2-new/Modules/Platform/UnixPaths.cmake 2016-04-14 00:09:10.106362636 +0300 +@@ -32,9 +32,6 @@ + # List common installation prefixes. These will be used for all # search types. list(APPEND CMAKE_SYSTEM_PREFIX_PATH - # Standard +- # 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 + # CMake install location + "${_CMAKE_INSTALL_DIR}" + +@@ -44,44 +41,26 @@ + + # List common include file locations not under the common prefixes. + list(APPEND CMAKE_SYSTEM_INCLUDE_PATH - # Windows API on Cygwin - /usr/include/w32api - @@ -60,9 +53,10 @@ index ccb2663..39834e6 100644 - /usr/pkg/include - /opt/csw/include /opt/include - /usr/openwin/include -- ) -- --list(APPEND CMAKE_SYSTEM_LIBRARY_PATH ++ @glibc_dev@/include + ) + + list(APPEND CMAKE_SYSTEM_LIBRARY_PATH - # Windows API on Cygwin - /usr/lib/w32api - @@ -73,25 +67,26 @@ index ccb2663..39834e6 100644 - /usr/pkg/lib - /opt/csw/lib /opt/lib - /usr/openwin/lib -- ) -- --list(APPEND CMAKE_SYSTEM_PROGRAM_PATH ++ @glibc_lib@/lib + ) + + list(APPEND CMAKE_SYSTEM_PROGRAM_PATH - /usr/pkg/bin -+ "@glibc@" ++ @glibc_bin@/bin ) list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES - /lib /usr/lib /usr/lib32 /usr/lib64 -+ "@glibc@/lib" ++ @glibc_lib@/lib ) list(APPEND CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES - /usr/include -+ "@glibc@/include" ++ @glibc_dev@/include ) list(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES - /usr/include -+ "@glibc@/include" ++ @glibc_dev@/include ) # Enable use of lib64 search path variants by default. From 52637e22cd72043195bc9233539ccd70aab8433d Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Wed, 13 Apr 2016 22:04:11 +0300 Subject: [PATCH 02/10] cmake: add all glibc outputs to system prefix --- .../cmake/search-path-3.2.patch | 58 ++++++++----------- 1 file changed, 24 insertions(+), 34 deletions(-) diff --git a/pkgs/development/tools/build-managers/cmake/search-path-3.2.patch b/pkgs/development/tools/build-managers/cmake/search-path-3.2.patch index 0a2d4ad43ab7..b61982efb9a7 100644 --- a/pkgs/development/tools/build-managers/cmake/search-path-3.2.patch +++ b/pkgs/development/tools/build-managers/cmake/search-path-3.2.patch @@ -1,31 +1,20 @@ -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) +diff -ru3 cmake-3.4.3/Modules/Platform/UnixPaths.cmake cmake-3.4.3-new/Modules/Platform/UnixPaths.cmake +--- cmake-3.4.3/Modules/Platform/UnixPaths.cmake 2016-01-25 19:57:19.000000000 +0300 ++++ cmake-3.4.3-new/Modules/Platform/UnixPaths.cmake 2016-04-14 00:20:08.963492213 +0300 +@@ -32,9 +32,6 @@ + # List common installation prefixes. These will be used for all # search types. list(APPEND CMAKE_SYSTEM_PREFIX_PATH - # Standard +- # 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 + # CMake install location + "${_CMAKE_INSTALL_DIR}" + ) +@@ -53,44 +50,25 @@ + + # List common include file locations not under the common prefixes. + list(APPEND CMAKE_SYSTEM_INCLUDE_PATH - # Windows API on Cygwin - /usr/include/w32api - @@ -36,9 +25,10 @@ index 20ee1d1..39834e6 100644 - /usr/pkg/include - /opt/csw/include /opt/include - /usr/openwin/include -- ) ++ @glibc_dev@/include + ) - --list(APPEND CMAKE_SYSTEM_LIBRARY_PATH + list(APPEND CMAKE_SYSTEM_LIBRARY_PATH - # Windows API on Cygwin - /usr/lib/w32api - @@ -49,26 +39,26 @@ index 20ee1d1..39834e6 100644 - /usr/pkg/lib - /opt/csw/lib /opt/lib - /usr/openwin/lib -- ) -- --list(APPEND CMAKE_SYSTEM_PROGRAM_PATH ++ @glibc_lib@/lib + ) + + list(APPEND CMAKE_SYSTEM_PROGRAM_PATH - /usr/pkg/bin -+ "@glibc_bin@" ++ @glibc_bin@/bin ) list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES - /lib /lib32 /lib64 /usr/lib /usr/lib32 /usr/lib64 -+ "@glibc_lib@/lib" ++ @glibc_lib@/lib ) list(APPEND CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES - /usr/include -+ "@glibc_dev@/include" ++ @glibc_dev@/include ) list(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES - /usr/include -+ "@glibc_dev@/include" ++ @glibc_dev@/include ) # Enable use of lib64 search path variants by default. - From 92f2c5f71ef50a0c9d342aaa757a7fdb57aac7b8 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Thu, 14 Apr 2016 01:03:48 +0300 Subject: [PATCH 03/10] Revert "glfw3: apparently fix the build" This reverts commit be90eb047c03c74ccd6ca03703fb69696fc288f8. --- pkgs/development/libraries/glfw/3.x.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/development/libraries/glfw/3.x.nix b/pkgs/development/libraries/glfw/3.x.nix index 094856b66ab7..681137cd590b 100644 --- a/pkgs/development/libraries/glfw/3.x.nix +++ b/pkgs/development/libraries/glfw/3.x.nix @@ -21,7 +21,6 @@ stdenv.mkDerivation rec { ]; cmakeFlags = "-DBUILD_SHARED_LIBS=ON"; - NIX_LDFLAGS= "-lpthread -L${stdenv.cc.libc.out}/lib"; meta = with stdenv.lib; { description = "Multi-platform library for creating OpenGL contexts and managing input, including keyboard, mouse, joystick and time"; From 3a6dfaca633eeb331805f98799a8d2644878ed77 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Thu, 14 Apr 2016 01:04:48 +0300 Subject: [PATCH 04/10] Revert "csound: fix build (pthread not found) by adding stdenv.cc.libc.out/lib to -L. No idea why this is not default enough specifically when cmake is used" This reverts commit 0103d710cce3b8b6c1f3c7e5c2e2d6f5201b5532. --- pkgs/applications/audio/csound/default.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/applications/audio/csound/default.nix b/pkgs/applications/audio/csound/default.nix index 6e2ba7cfd165..afca63a2a8a2 100644 --- a/pkgs/applications/audio/csound/default.nix +++ b/pkgs/applications/audio/csound/default.nix @@ -23,8 +23,6 @@ stdenv.mkDerivation { buildInputs = [ cmake libsndfile flex bison alsaLib libpulseaudio tcltk ]; - NIX_LDFLAGS="-L${stdenv.cc.libc.out}/lib"; - meta = { description = "sound design, audio synthesis, and signal processing system, providing facilities for music composition and performance on all major operating systems and platforms"; homepage = http://www.csounds.com/; From 96055feeb644f3b7236f967fcf708455c0049588 Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Fri, 15 Apr 2016 22:37:12 +0300 Subject: [PATCH 05/10] slim: Remove glibc from build inputs hack Not needed anymore after #14668 --- pkgs/applications/display-managers/slim/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/display-managers/slim/default.nix b/pkgs/applications/display-managers/slim/default.nix index 62b1a9c2f696..c77102629885 100644 --- a/pkgs/applications/display-managers/slim/default.nix +++ b/pkgs/applications/display-managers/slim/default.nix @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { buildInputs = [ cmake pkgconfig libjpeg libpng fontconfig freetype - pam dbus_libs (stdenv.cc.libc.out or null) + pam dbus_libs xorg.libX11 xorg.libXext xorg.libXrandr xorg.libXrender xorg.libXmu xorg.libXft makeWrapper ]; From a01cdca9d1e8864bba1bc026a3f2b819591a0338 Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Fri, 15 Apr 2016 22:38:59 +0300 Subject: [PATCH 06/10] nss_wrapper: Remove glibc from build inputs hack Not needed anymore after #14668 --- pkgs/development/libraries/nss_wrapper/default.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/development/libraries/nss_wrapper/default.nix b/pkgs/development/libraries/nss_wrapper/default.nix index a81d95e6b987..278834190bbf 100644 --- a/pkgs/development/libraries/nss_wrapper/default.nix +++ b/pkgs/development/libraries/nss_wrapper/default.nix @@ -8,8 +8,7 @@ stdenv.mkDerivation rec { sha256 = "0bysdijvi9n0jk74iklbfhbp0kvv81a727lcfd5q03q2hkzjfm18"; }; - buildInputs = [ cmake pkgconfig (stdenv.cc.libc.out or null) ]; - # outputs TODO: missing glibc.out might become a general problem + buildInputs = [ cmake pkgconfig ]; meta = with stdenv.lib; { description = "A wrapper for the user, group and hosts NSS API"; From be02add2610e975085e2cbc90128972fb9ca2d4c Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Fri, 15 Apr 2016 22:43:14 +0300 Subject: [PATCH 07/10] nss_wrapper: Remove glibc from linker flags hack Not needed anymore after #14668 --- pkgs/development/libraries/x265/default.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/development/libraries/x265/default.nix b/pkgs/development/libraries/x265/default.nix index c41dc12bd2f1..736c350bc068 100644 --- a/pkgs/development/libraries/x265/default.nix +++ b/pkgs/development/libraries/x265/default.nix @@ -49,8 +49,6 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ cmake yasm ]; - NIX_LDFLAGS = "-L${stdenv.cc.libc.out}/lib"; #outputs TODO: this is strange - meta = with stdenv.lib; { description = "Library for encoding h.265/HEVC video streams"; homepage = http://x265.org; From 6fac16c6f39645e77c04913e2fe7b50f06ac6e9a Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Fri, 15 Apr 2016 22:44:22 +0300 Subject: [PATCH 08/10] socket_wrapper: Remove glibc from build inputs hack Not needed anymore after #14668 --- pkgs/development/libraries/socket_wrapper/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/development/libraries/socket_wrapper/default.nix b/pkgs/development/libraries/socket_wrapper/default.nix index bff4f393d1db..0c6f40c8b143 100644 --- a/pkgs/development/libraries/socket_wrapper/default.nix +++ b/pkgs/development/libraries/socket_wrapper/default.nix @@ -9,7 +9,6 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake pkgconfig ]; - buildInputs = [ (stdenv.cc.libc.out or null) ]; meta = with stdenv.lib; { description = "a library passing all socket communications through unix sockets"; From b4f97aeae8314052c109cfeff6539f3a44ef0953 Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Fri, 15 Apr 2016 22:45:08 +0300 Subject: [PATCH 09/10] uid_wrapper: Remove glibc from build inputs hack Not needed anymore after #14668 --- pkgs/development/libraries/uid_wrapper/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/development/libraries/uid_wrapper/default.nix b/pkgs/development/libraries/uid_wrapper/default.nix index 0675ec68b4e8..35d7f53173fb 100644 --- a/pkgs/development/libraries/uid_wrapper/default.nix +++ b/pkgs/development/libraries/uid_wrapper/default.nix @@ -9,7 +9,6 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake pkgconfig ]; - buildInputs = [ (stdenv.cc.libc.out or null) ]; meta = with stdenv.lib; { description = "a wrapper for the user, group and hosts NSS API"; From f84a2fe412f2db438665c191ee2dac1389676227 Mon Sep 17 00:00:00 2001 From: Aneesh Agrawal Date: Fri, 15 Apr 2016 22:43:04 -0400 Subject: [PATCH 10/10] libgcrypt: 1.6.5 -> 1.7.0 --- pkgs/development/libraries/libgcrypt/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix index f36113090ce4..d566a0e8567b 100644 --- a/pkgs/development/libraries/libgcrypt/default.nix +++ b/pkgs/development/libraries/libgcrypt/default.nix @@ -3,11 +3,12 @@ assert enableCapabilities -> stdenv.isLinux; stdenv.mkDerivation rec { - name = "libgcrypt-1.6.5"; + name = "libgcrypt-${version}"; + version = "1.7.0"; src = fetchurl { url = "mirror://gnupg/libgcrypt/${name}.tar.bz2"; - sha256 = "0959mwfzsxhallxdqlw359xg180ll2skxwyy35qawmfl89cbr7pl"; + sha256 = "14pspxwrqcgfklw3dgmywbxqwdzcym7fznfrqh9rk4vl8jkpxrmh"; }; outputs = [ "dev" "out" "info" ];