From 475c8bfb7d13de76d6e0ff1c052ad95b2754d7e2 Mon Sep 17 00:00:00 2001 From: Christian Gram Kalhauge Date: Wed, 20 Jul 2016 14:21:53 +0200 Subject: [PATCH 01/38] Fix DLYD problem with haskell libraries on Darwin This commit fixes a problem that occurs with externally linked haskell libraries on Darwin. It does this by adding the libraries to the --extra-lib-dirs flag and the DYLD_LIBRARY_PATH environment variable. --- pkgs/development/haskell-modules/generic-builder.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix index 72110227140b..2bcf6ee854f6 100644 --- a/pkgs/development/haskell-modules/generic-builder.nix +++ b/pkgs/development/haskell-modules/generic-builder.nix @@ -193,6 +193,9 @@ stdenv.mkDerivation ({ fi if [ -d "$p/lib" ]; then configureFlags+=" --extra-lib-dirs=$p/lib" + if [[ ${ if stdenv.isDarwin then "yes" else "no"} = "yes" ]]; then + export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$p/lib; + fi fi done ${ghcCommand}-pkg --${packageDbFlag}="$packageConfDir" recache From de5a2ee03476180fef621a35d1efbdfdd4b1bb86 Mon Sep 17 00:00:00 2001 From: Christian Gram Kalhauge Date: Thu, 21 Jul 2016 11:39:52 +0200 Subject: [PATCH 02/38] Reduce computation time for non-darwin users --- pkgs/development/haskell-modules/generic-builder.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix index 2bcf6ee854f6..faca3f2dff17 100644 --- a/pkgs/development/haskell-modules/generic-builder.nix +++ b/pkgs/development/haskell-modules/generic-builder.nix @@ -192,10 +192,12 @@ stdenv.mkDerivation ({ configureFlags+=" --extra-include-dirs=$p/include" fi if [ -d "$p/lib" ]; then - configureFlags+=" --extra-lib-dirs=$p/lib" - if [[ ${ if stdenv.isDarwin then "yes" else "no"} = "yes" ]]; then - export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$p/lib; - fi + configureFlags+=" --extra-lib-dirs=$p/lib"${ + if stdenv.isDarwin then + "; export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$p/lib;" + else + "" + } fi done ${ghcCommand}-pkg --${packageDbFlag}="$packageConfDir" recache From 9bca29d4efe614e12578b8dbf1d60df94b517ab6 Mon Sep 17 00:00:00 2001 From: Christian Gram Kalhauge Date: Thu, 21 Jul 2016 14:23:56 +0200 Subject: [PATCH 03/38] Change if to optionalString --- pkgs/development/haskell-modules/generic-builder.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix index faca3f2dff17..48467acbca66 100644 --- a/pkgs/development/haskell-modules/generic-builder.nix +++ b/pkgs/development/haskell-modules/generic-builder.nix @@ -193,10 +193,8 @@ stdenv.mkDerivation ({ fi if [ -d "$p/lib" ]; then configureFlags+=" --extra-lib-dirs=$p/lib"${ - if stdenv.isDarwin then + stdenv.lib.optionalString stdenv.isDarwin "; export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$p/lib;" - else - "" } fi done From 1a088053586cc41c54144175769427ac787fef0f Mon Sep 17 00:00:00 2001 From: Christian Gram Kalhauge Date: Thu, 21 Jul 2016 14:56:45 +0200 Subject: [PATCH 04/38] Make the implementation clean --- pkgs/development/haskell-modules/generic-builder.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix index 48467acbca66..5eb4e1fac83a 100644 --- a/pkgs/development/haskell-modules/generic-builder.nix +++ b/pkgs/development/haskell-modules/generic-builder.nix @@ -192,9 +192,9 @@ stdenv.mkDerivation ({ configureFlags+=" --extra-include-dirs=$p/include" fi if [ -d "$p/lib" ]; then - configureFlags+=" --extra-lib-dirs=$p/lib"${ - stdenv.lib.optionalString stdenv.isDarwin - "; export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$p/lib;" + configureFlags+=" --extra-lib-dirs=$p/lib" + ${ stdenv.lib.optionalString stdenv.isDarwin + "export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$p/lib" } fi done From 0fbb00e6c305444fbb26a5dd027ce6ddd9938027 Mon Sep 17 00:00:00 2001 From: Josef Kemetmueller Date: Mon, 15 Aug 2016 22:44:55 +0200 Subject: [PATCH 05/38] armadillo: Fix failing build The upgrade of cmake to v3.6.0 broke this build. HDF5 now can only be found if hdf5-cpp is used as buildInput. However the upgrade made it possible to remove a patch: CMake can now find openblas on its own. --- pkgs/development/libraries/armadillo/default.nix | 7 +++---- .../armadillo/use-OpenBLAS-as-LAPACK.patch | 14 -------------- 2 files changed, 3 insertions(+), 18 deletions(-) delete mode 100644 pkgs/development/libraries/armadillo/use-OpenBLAS-as-LAPACK.patch diff --git a/pkgs/development/libraries/armadillo/default.nix b/pkgs/development/libraries/armadillo/default.nix index 937275b6528a..62b5ddf8011a 100644 --- a/pkgs/development/libraries/armadillo/default.nix +++ b/pkgs/development/libraries/armadillo/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, cmake, openblasCompat, superlu, hdf5 }: +{ stdenv, fetchurl, cmake, openblasCompat, superlu, hdf5-cpp }: stdenv.mkDerivation rec { version = "7.200.2"; @@ -9,12 +9,11 @@ stdenv.mkDerivation rec { sha256 = "1yvx75caks477jqwx5gspi6946jialddk00wdvg6dnh5wdi2xasm"; }; - buildInputs = [ cmake openblasCompat superlu hdf5 ]; + buildInputs = [ cmake openblasCompat superlu hdf5-cpp ]; cmakeFlags = [ "-DDETECT_HDF5=ON" ]; - patches = [ ./use-unix-config-on-OS-X.patch - ./use-OpenBLAS-as-LAPACK.patch ]; + patches = [ ./use-unix-config-on-OS-X.patch ]; meta = with stdenv.lib; { description = "C++ linear algebra library"; diff --git a/pkgs/development/libraries/armadillo/use-OpenBLAS-as-LAPACK.patch b/pkgs/development/libraries/armadillo/use-OpenBLAS-as-LAPACK.patch deleted file mode 100644 index e4c77d2cc2e3..000000000000 --- a/pkgs/development/libraries/armadillo/use-OpenBLAS-as-LAPACK.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/cmake_aux/Modules/ARMA_FindLAPACK.cmake b/cmake_aux/Modules/ARMA_FindLAPACK.cmake -index 5395afb..a203c93 100644 ---- a/cmake_aux/Modules/ARMA_FindLAPACK.cmake -+++ b/cmake_aux/Modules/ARMA_FindLAPACK.cmake -@@ -5,7 +5,7 @@ - # also defined, but not for general use are - # LAPACK_LIBRARY, where to find the LAPACK library. - --SET(LAPACK_NAMES ${LAPACK_NAMES} lapack) -+SET(LAPACK_NAMES ${LAPACK_NAMES} openblas) - FIND_LIBRARY(LAPACK_LIBRARY - NAMES ${LAPACK_NAMES} - PATHS /usr/lib64/atlas /usr/lib/atlas /usr/lib64 /usr/lib /usr/local/lib64 /usr/local/lib - From b8b73f34fbb2a592bc025f40bc2c36d91129258c Mon Sep 17 00:00:00 2001 From: Josef Kemetmueller Date: Tue, 16 Aug 2016 19:09:41 +0200 Subject: [PATCH 06/38] armadillo: Force OpenBLAS as LAPACK This was accidentally removed during the last commit. It is still necessary for armadillo to correctly use OpenBLAS as LAPACK! --- pkgs/development/libraries/armadillo/default.nix | 3 ++- .../armadillo/use-OpenBLAS-as-LAPACK.patch | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/libraries/armadillo/use-OpenBLAS-as-LAPACK.patch diff --git a/pkgs/development/libraries/armadillo/default.nix b/pkgs/development/libraries/armadillo/default.nix index 62b5ddf8011a..77833131ebcd 100644 --- a/pkgs/development/libraries/armadillo/default.nix +++ b/pkgs/development/libraries/armadillo/default.nix @@ -13,7 +13,8 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DDETECT_HDF5=ON" ]; - patches = [ ./use-unix-config-on-OS-X.patch ]; + patches = [ ./use-unix-config-on-OS-X.patch + ./use-OpenBLAS-as-LAPACK.patch ]; meta = with stdenv.lib; { description = "C++ linear algebra library"; diff --git a/pkgs/development/libraries/armadillo/use-OpenBLAS-as-LAPACK.patch b/pkgs/development/libraries/armadillo/use-OpenBLAS-as-LAPACK.patch new file mode 100644 index 000000000000..e4c77d2cc2e3 --- /dev/null +++ b/pkgs/development/libraries/armadillo/use-OpenBLAS-as-LAPACK.patch @@ -0,0 +1,14 @@ +diff --git a/cmake_aux/Modules/ARMA_FindLAPACK.cmake b/cmake_aux/Modules/ARMA_FindLAPACK.cmake +index 5395afb..a203c93 100644 +--- a/cmake_aux/Modules/ARMA_FindLAPACK.cmake ++++ b/cmake_aux/Modules/ARMA_FindLAPACK.cmake +@@ -5,7 +5,7 @@ + # also defined, but not for general use are + # LAPACK_LIBRARY, where to find the LAPACK library. + +-SET(LAPACK_NAMES ${LAPACK_NAMES} lapack) ++SET(LAPACK_NAMES ${LAPACK_NAMES} openblas) + FIND_LIBRARY(LAPACK_LIBRARY + NAMES ${LAPACK_NAMES} + PATHS /usr/lib64/atlas /usr/lib/atlas /usr/lib64 /usr/lib /usr/local/lib64 /usr/local/lib + From f35d23b16d99087831d9f5e1fe2fb66f7816da65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Teo=20Klestrup=20R=C3=B6ijezon?= Date: Thu, 25 Aug 2016 22:16:06 +0200 Subject: [PATCH 07/38] buildStackProject: Fix missing STACK_ROOT causing build errors --- pkgs/development/haskell-modules/generic-stack-builder.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/development/haskell-modules/generic-stack-builder.nix b/pkgs/development/haskell-modules/generic-stack-builder.nix index 09bd38ccc933..8da26d8be82f 100644 --- a/pkgs/development/haskell-modules/generic-stack-builder.nix +++ b/pkgs/development/haskell-modules/generic-stack-builder.nix @@ -28,7 +28,10 @@ stdenv.mkDerivation (args // { preferLocalBuild = true; - configurePhase = args.configurePhase or "stack setup"; + configurePhase = args.configurePhase or '' + export STACK_ROOT=$NIX_BUILD_TOP/.stack + stack setup + ''; buildPhase = args.buildPhase or "stack build"; From b7819e38c4a7487a0d09bdf64275a246bf29a8e2 Mon Sep 17 00:00:00 2001 From: Josef Kemetmueller Date: Fri, 26 Aug 2016 23:12:24 +0200 Subject: [PATCH 08/38] python3.x: Patch extra stack size on darwin Compiling python with "-Wl,-stack_size,1000000" causes problems when compiling for example pygobject3. pygobject3 uses "python3.x-config --ldflags" during installation and then fails when "-Wl,-stack_size,1000000" is present. Maybe we should investigate removing this during the build of pyobject3, but this stack_size flag is also not used on the popular darwin homebrew-core channel for python3.5, so it seems safe to remove it. --- pkgs/development/interpreters/python/cpython/3.4/default.nix | 1 + pkgs/development/interpreters/python/cpython/3.5/default.nix | 1 + pkgs/development/interpreters/python/cpython/3.6/default.nix | 1 + 3 files changed, 3 insertions(+) diff --git a/pkgs/development/interpreters/python/cpython/3.4/default.nix b/pkgs/development/interpreters/python/cpython/3.4/default.nix index 2293e6d485a9..2e7d3a03141e 100644 --- a/pkgs/development/interpreters/python/cpython/3.4/default.nix +++ b/pkgs/development/interpreters/python/cpython/3.4/default.nix @@ -60,6 +60,7 @@ stdenv.mkDerivation { prePatch = optionalString stdenv.isDarwin '' substituteInPlace configure --replace '`/usr/bin/arch`' '"i386"' + substituteInPlace configure --replace '-Wl,-stack_size,1000000' ' ' ''; preConfigure = '' diff --git a/pkgs/development/interpreters/python/cpython/3.5/default.nix b/pkgs/development/interpreters/python/cpython/3.5/default.nix index 1b6814ea4363..69d3df32a326 100644 --- a/pkgs/development/interpreters/python/cpython/3.5/default.nix +++ b/pkgs/development/interpreters/python/cpython/3.5/default.nix @@ -57,6 +57,7 @@ stdenv.mkDerivation { prePatch = optionalString stdenv.isDarwin '' substituteInPlace configure --replace '`/usr/bin/arch`' '"i386"' + substituteInPlace configure --replace '-Wl,-stack_size,1000000' ' ' ''; preConfigure = '' diff --git a/pkgs/development/interpreters/python/cpython/3.6/default.nix b/pkgs/development/interpreters/python/cpython/3.6/default.nix index 2c1846442070..3a6635cd8b62 100644 --- a/pkgs/development/interpreters/python/cpython/3.6/default.nix +++ b/pkgs/development/interpreters/python/cpython/3.6/default.nix @@ -61,6 +61,7 @@ stdenv.mkDerivation { prePatch = optionalString stdenv.isDarwin '' substituteInPlace configure --replace '`/usr/bin/arch`' '"i386"' + substituteInPlace configure --replace '-Wl,-stack_size,1000000' ' ' ''; preConfigure = '' From 717c76716fb839eca7cddf25a391a3a336702a04 Mon Sep 17 00:00:00 2001 From: Josef Kemetmueller Date: Fri, 26 Aug 2016 23:18:32 +0200 Subject: [PATCH 09/38] pygobject3: Add missing dependencies (for darwin) The packages "which" and "ncurses" are needed for building pygobject3 (on darwin) during the checkPhase. The ncurses library is necessary only because python3.5 is currently built using "-lncurses" and pygobject3 wants the same libraries that python3.5 was compiled with. (Because it uses "python3.5-config --ldflags" during the build) --- pkgs/development/python-modules/pygobject/3.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/pygobject/3.nix b/pkgs/development/python-modules/pygobject/3.nix index 43882476b9d5..797d89fd4822 100644 --- a/pkgs/development/python-modules/pygobject/3.nix +++ b/pkgs/development/python-modules/pygobject/3.nix @@ -1,4 +1,4 @@ -{ lib, fetchurl, mkPythonDerivation, python, pkgconfig, glib, gobjectIntrospection, pycairo, cairo }: +{ stdenv, fetchurl, mkPythonDerivation, python, pkgconfig, glib, gobjectIntrospection, pycairo, cairo, which, ncurses}: mkPythonDerivation rec { major = "3.20"; @@ -10,12 +10,13 @@ mkPythonDerivation rec { sha256 = "0ikzh3l7g1gjh8jj8vg6mdvrb25svp63gxcam4m0i404yh0lgari"; }; - buildInputs = [ pkgconfig glib gobjectIntrospection ]; + buildInputs = [ pkgconfig glib gobjectIntrospection ] + ++ stdenv.lib.optionals stdenv.isDarwin [ which ncurses ]; propagatedBuildInputs = [ pycairo cairo ]; meta = { homepage = http://live.gnome.org/PyGObject; description = "Python bindings for Glib"; - platforms = lib.platforms.unix; + platforms = stdenv.lib.platforms.unix; }; } From d12de90e1c0cece5b7a92cd66af19e12b9fb6a81 Mon Sep 17 00:00:00 2001 From: Josef Kemetmueller Date: Thu, 25 Aug 2016 19:03:15 +0200 Subject: [PATCH 10/38] pyqt: Fix darwin build --- pkgs/development/python-modules/pyqt/4.x.nix | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/pyqt/4.x.nix b/pkgs/development/python-modules/pyqt/4.x.nix index 5ffbd19228cf..d3f2e37df884 100644 --- a/pkgs/development/python-modules/pyqt/4.x.nix +++ b/pkgs/development/python-modules/pyqt/4.x.nix @@ -1,4 +1,4 @@ -{ lib, fetchurl, pythonPackages, qt4, pkgconfig, lndir, dbus_libs, makeWrapper }: +{ stdenv, fetchurl, pythonPackages, qt4, pkgconfig, lndir, dbus_libs, makeWrapper }: let version = "4.11.3"; @@ -17,9 +17,15 @@ in mkPythonDerivation { rm -rf "$out/nix-support" export PYTHONPATH=$PYTHONPATH:$out/lib/${python.libPrefix}/site-packages + ${stdenv.lib.optionalString stdenv.isDarwin '' + export QMAKESPEC="unsupported/macx-clang-libc++" # OS X target after bootstrapping phase \ + ''} substituteInPlace configure.py \ - --replace 'install_dir=pydbusmoddir' "install_dir='$out/lib/${python.libPrefix}/site-packages/dbus/mainloop'" + --replace 'install_dir=pydbusmoddir' "install_dir='$out/lib/${python.libPrefix}/site-packages/dbus/mainloop'" \ + ${stdenv.lib.optionalString stdenv.isDarwin '' + --replace "qt_macx_spec = 'macx-g++'" "qt_macx_spec = 'unsupported/macx-clang-libc++'" # for bootstrapping phase \ + ''} configureFlagsArray=( \ --confirm-license --bindir $out/bin \ @@ -50,7 +56,7 @@ in mkPythonDerivation { description = "Python bindings for Qt"; license = "GPL"; homepage = http://www.riverbankcomputing.co.uk; - maintainers = [ lib.maintainers.sander ]; - platforms = lib.platforms.mesaPlatforms; + maintainers = [ stdenv.lib.maintainers.sander ]; + platforms = stdenv.lib.platforms.mesaPlatforms; }; } From 2ab60209307294db1dba48be8896b226adc50cf6 Mon Sep 17 00:00:00 2001 From: Langston Barrett Date: Thu, 8 Sep 2016 18:12:05 +0000 Subject: [PATCH 11/38] nixos manual: disable ipv6 per interface from a discussion on #13293 --- nixos/doc/manual/configuration/ipv6-config.xml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/nixos/doc/manual/configuration/ipv6-config.xml b/nixos/doc/manual/configuration/ipv6-config.xml index 592bf20e545d..bf86926f9bf5 100644 --- a/nixos/doc/manual/configuration/ipv6-config.xml +++ b/nixos/doc/manual/configuration/ipv6-config.xml @@ -12,8 +12,15 @@ can disable IPv6 support globally by setting: networking.enableIPv6 = false; - + +You can disable IPv6 on a single interface using a normal sysctl (in this +example, we use interface eth0): + + +boot.kernel.sysctl."net.ipv6.conf.eth0.disable_ipv6" = true; + + From d9599e22a27913cda6d18871275b95eacc5f6511 Mon Sep 17 00:00:00 2001 From: Chris Martin Date: Thu, 8 Sep 2016 21:51:10 -0400 Subject: [PATCH 12/38] atermjava: remove --- pkgs/development/libraries/java/aterm/default.nix | 14 -------------- pkgs/top-level/all-packages.nix | 4 ---- 2 files changed, 18 deletions(-) delete mode 100644 pkgs/development/libraries/java/aterm/default.nix diff --git a/pkgs/development/libraries/java/aterm/default.nix b/pkgs/development/libraries/java/aterm/default.nix deleted file mode 100644 index f643c607cbd1..000000000000 --- a/pkgs/development/libraries/java/aterm/default.nix +++ /dev/null @@ -1,14 +0,0 @@ -{stdenv, fetchurl, jdk, sharedobjects, jjtraveler}: - -stdenv.mkDerivation { - name = "aterm-java-1.6"; - src = fetchurl { - url = http://www.cwi.nl/projects/MetaEnv/aterm-java/aterm-java-1.6.tar.gz; - md5 = "abf475dae2f5efca865fcdff871feb5e"; - }; - buildInputs = [stdenv jdk sharedobjects jjtraveler]; - - meta = { - platforms = stdenv.lib.platforms.unix; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5dc5b75d48a0..4bce581c1be1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9973,10 +9973,6 @@ in ### DEVELOPMENT / LIBRARIES / JAVA - atermjava = callPackage ../development/libraries/java/aterm { - stdenv = overrideInStdenv stdenv [gnumake380]; - }; - commonsBcel = callPackage ../development/libraries/java/commons/bcel { }; commonsBsf = callPackage ../development/libraries/java/commons/bsf { }; From 7b51c79ccdc802182ffe335ebe9309ea1d67ef64 Mon Sep 17 00:00:00 2001 From: Ruslan Babayev Date: Sat, 10 Sep 2016 03:06:13 -0700 Subject: [PATCH 13/38] pktgen: 3.0.04 -> 3.0.13 (#18477) --- pkgs/os-specific/linux/pktgen/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/pktgen/default.nix b/pkgs/os-specific/linux/pktgen/default.nix index 5154ccce1b49..b591c3b002c6 100644 --- a/pkgs/os-specific/linux/pktgen/default.nix +++ b/pkgs/os-specific/linux/pktgen/default.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { name = "pktgen-${version}"; - version = "3.0.04"; + version = "3.0.13"; src = fetchurl { url = "http://dpdk.org/browse/apps/pktgen-dpdk/snapshot/pktgen-${version}.tar.gz"; - sha256 = "0vrmbpl8zaal5zjwyzlx0y3d6jydfxdmf0psdj7ic37h5yh2iv2q"; + sha256 = "64629b454ed8dc036d5e9bb30b3ae84a0bab0142b651c72da85ab1454e9ae0d6"; }; nativeBuildInputs = stdenv.lib.optionals withGtk [ pkgconfig ]; From 23c122d2775bdb722b4a5ac13539e6f74199b61d Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 10 Sep 2016 12:27:58 +0200 Subject: [PATCH 14/38] r-openssl: fix build some more --- pkgs/development/r-modules/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix index abf2c6bb04c4..99120a13cd05 100644 --- a/pkgs/development/r-modules/default.nix +++ b/pkgs/development/r-modules/default.nix @@ -279,7 +279,7 @@ let mwaved = [ pkgs.fftw ]; ncdf4 = [ pkgs.netcdf ]; nloptr = [ pkgs.nlopt ]; - openssl = [ pkgs.openssl.dev8 ]; + openssl = [ pkgs.openssl.dev ]; outbreaker = [ pkgs.gsl_1 ]; pander = [ pkgs.pandoc pkgs.which ]; pbdMPI = [ pkgs.openmpi ]; From bee73d337a05403f860eed5e8ba4a8a2d480f7f4 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 10 Sep 2016 13:05:59 +0200 Subject: [PATCH 15/38] net-snmp: cosmetic fix for syntax highlighting in Emacs --- pkgs/servers/monitoring/net-snmp/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/servers/monitoring/net-snmp/default.nix b/pkgs/servers/monitoring/net-snmp/default.nix index 4dd7fb24c916..30c0681adb7d 100644 --- a/pkgs/servers/monitoring/net-snmp/default.nix +++ b/pkgs/servers/monitoring/net-snmp/default.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; postInstall = '' - for f in $out/lib/*.la $out/bin/net-snmp-config $out/bin/net-snmp-create-v3-user; do + for f in "$out/lib/"*.la $out/bin/net-snmp-config $out/bin/net-snmp-create-v3-user; do sed 's|-L${openssl.dev}|-L${openssl.out}|g' -i $f done ''; From 91674b75d3b60049dcaa4c59a8aa52b45c3d3131 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 10 Sep 2016 17:06:42 +0200 Subject: [PATCH 16/38] grsecurity: 4.7.2-201608312326 -> 4.7.3-201609072139 --- pkgs/os-specific/linux/kernel/linux-grsecurity.nix | 4 ++-- pkgs/os-specific/linux/kernel/patches.nix | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-grsecurity.nix b/pkgs/os-specific/linux/kernel/linux-grsecurity.nix index bd54c5352a59..ff47e1758c74 100644 --- a/pkgs/os-specific/linux/kernel/linux-grsecurity.nix +++ b/pkgs/os-specific/linux/kernel/linux-grsecurity.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, perl, buildLinux, ... } @ args: import ./generic.nix (args // rec { - version = "4.7.2"; + version = "4.7.3"; extraMeta.branch = "4.7"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "1234z4wzvrbyzql6cc8i4bq7bbbjgaxhys4fcnqzm14lavk3wjaq"; + sha256 = "16rr5nj78jh1l46baa0qgzbw44slyqw5ivfn1y7dcxrgb17bvrqc"; }; kernelPatches = args.kernelPatches; diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index 3b5e97f9edf6..53e7196c5c37 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -100,9 +100,9 @@ rec { grsecurity_4_4 = throw "grsecurity stable is no longer supported"; grsecurity_testing = grsecPatch - { kver = "4.7.2"; - grrev = "201608312326"; - sha256 = "0nbp3lnl6gi6kklpc8wnjpz5cj9zafaw2445lan15qnyzf5zb966"; + { kver = "4.7.3"; + grrev = "201609072139"; + sha256 = "0c70nfsa1bk07z6sivy645d9w0qkq23pwpwdm28160kfy7dampyh"; }; # This patch relaxes grsec constraints on the location of usermode helpers, From c6460fb0cbda179b83558a6e19c13a2d5f81a5ed Mon Sep 17 00:00:00 2001 From: Shea Levy Date: Sat, 10 Sep 2016 11:25:21 -0400 Subject: [PATCH 17/38] melpa: Add inherit-local, bump f.el --- .../editors/emacs-modes/melpa-generated.nix | 27 ++++++++++++++++--- pkgs/top-level/emacs-packages.nix | 17 ------------ 2 files changed, 24 insertions(+), 20 deletions(-) diff --git a/pkgs/applications/editors/emacs-modes/melpa-generated.nix b/pkgs/applications/editors/emacs-modes/melpa-generated.nix index 94bbcaf274e0..e1382d6d50b4 100644 --- a/pkgs/applications/editors/emacs-modes/melpa-generated.nix +++ b/pkgs/applications/editors/emacs-modes/melpa-generated.nix @@ -20035,12 +20035,12 @@ f = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild, s }: melpaBuild { pname = "f"; - version = "20160815.1253"; + version = "20160909.829"; src = fetchFromGitHub { owner = "rejeep"; repo = "f.el"; - rev = "4f8d3112f03e99506bab3c910fa3a29f0b8eb86b"; - sha256 = "0gf4vh7h4sjmp74kfiwxngjpx44m88mksridfil7piapbg23z9xm"; + rev = "e055e3dd404c8a7cc7849a0e6fd8aade714c5355"; + sha256 = "1n9v2ackd86xbl0msnrvrfxp1qacydz9n0zjxm328jxlvj4h35rx"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/22ddcf536af597b688d8edb70b3636ed6c265bf5/recipes/f"; @@ -33334,6 +33334,27 @@ license = lib.licenses.free; }; }) {}; + inherit-local = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { + pname = "inherit-local"; + version = "20160909.755"; + src = fetchFromGitHub { + owner = "shlevy"; + repo = "inherit-local"; + rev = "e687c702adb27ce5f69fb28a47fe21a86cf84063"; + sha256 = "11z3b1xwg6r769w3scd29lqg62fx8mp81g8dbx4klmj3clvyn69i"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/50751b5f9843fde00505edd281e404ec1d875713/recipes/inherit-local"; + sha256 = "0j785xb72nk04x6jb9x5pdwp3dkalqmy208mvj4ss4fm559qfp3i"; + name = "inherit-local"; + }; + packageRequires = [ emacs ]; + meta = { + homepage = "https://melpa.org/#/inherit-local"; + license = lib.licenses.free; + }; + }) {}; init-loader = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "init-loader"; diff --git a/pkgs/top-level/emacs-packages.nix b/pkgs/top-level/emacs-packages.nix index d2e3d2b866f9..62fb9407ee53 100644 --- a/pkgs/top-level/emacs-packages.nix +++ b/pkgs/top-level/emacs-packages.nix @@ -686,23 +686,6 @@ let }; }; - f = melpaBuild rec { - pname = "f"; - version = "20151113"; - src = fetchFromGitHub { - owner = "rejeep"; - repo = "f.el"; - rev = "e0259ee060ff9a3f12204adcc8630869080acd68"; - sha256 = "0lzqfr5xgc3qvpbs6vf63yiw7pc2mybfvsrhczf9ghlmlawqa6k1"; - }; - fileSpecs = [ "f.el" ]; - packageRequires = [ dash s ]; - meta = { - description = "Emacs library for working with files and directories"; - license = gpl3Plus; - }; - }; - find-file-in-project = melpaBuild rec { pname = "find-file-in-project"; version = "3.5"; From 16769a6b4a013862f4979d6ef7eec8503aa14289 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 10 Sep 2016 17:36:59 +0200 Subject: [PATCH 18/38] purePackages.glpk: fix build Add gmp.dev to the include path to help glpk find gmp.h. https://github.com/NixOS/nixpkgs/issues/18209 --- pkgs/development/pure-modules/glpk/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/pure-modules/glpk/default.nix b/pkgs/development/pure-modules/glpk/default.nix index af13e8566324..452cf51e6347 100644 --- a/pkgs/development/pure-modules/glpk/default.nix +++ b/pkgs/development/pure-modules/glpk/default.nix @@ -14,6 +14,8 @@ stdenv.mkDerivation rec { glpkWithExtras = lib.overrideDerivation glpk (attrs: { propagatedNativeBuildInputs = [ gmp libtool libmysql libiodbc ]; + CPPFLAGS = "-I${gmp.dev}/include"; + preConfigure = '' substituteInPlace configure \ --replace /usr/include/mysql ${lib.getDev libmysql}/include/mysql From 27bc34f1e471991e43df028edc51159b12405120 Mon Sep 17 00:00:00 2001 From: Alexander Ried Date: Sat, 10 Sep 2016 18:03:59 +0200 Subject: [PATCH 19/38] treewide: deprecate ip-up.target (#18319) Systemd upstream provides targets for networking. This also includes a target network-online.target. In this PR I remove / replace most occurrences since some of them were even wrong and could delay startup. --- nixos/modules/config/networking.nix | 8 ++++---- nixos/modules/services/databases/4store-endpoint.nix | 4 +++- nixos/modules/services/databases/4store.nix | 3 ++- nixos/modules/services/databases/virtuoso.nix | 3 ++- nixos/modules/services/mail/freepops.nix | 3 ++- nixos/modules/services/monitoring/ups.nix | 7 ++++--- nixos/modules/services/network-filesystems/drbd.nix | 4 ++-- nixos/modules/services/networking/amuled.nix | 3 ++- nixos/modules/services/networking/dhcpcd.nix | 7 ------- nixos/modules/services/networking/git-daemon.nix | 3 ++- nixos/modules/services/networking/iodine.nix | 6 ++++-- nixos/modules/services/networking/networkmanager.nix | 1 - nixos/modules/system/boot/networkd.nix | 3 +-- nixos/modules/tasks/network-interfaces-scripted.nix | 2 +- nixos/modules/virtualisation/azure-agent.nix | 3 ++- nixos/modules/virtualisation/brightbox-image.nix | 4 ++-- nixos/modules/virtualisation/google-compute-image.nix | 4 ++-- 17 files changed, 35 insertions(+), 33 deletions(-) diff --git a/nixos/modules/config/networking.nix b/nixos/modules/config/networking.nix index 8a2e630a917a..aab5523c6848 100644 --- a/nixos/modules/config/networking.nix +++ b/nixos/modules/config/networking.nix @@ -223,10 +223,10 @@ in # Install the proxy environment variables environment.sessionVariables = cfg.proxy.envVars; - # The ‘ip-up’ target is started when we have IP connectivity. So - # services that depend on IP connectivity (like ntpd) should be - # pulled in by this target. - systemd.targets.ip-up.description = "Services Requiring IP Connectivity"; + # The ‘ip-up’ target is kept for backwards compatibility. + # New services should use systemd upstream targets: + # See https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/ + systemd.targets.ip-up.description = "Services Requiring IP Connectivity (deprecated)"; # This is needed when /etc/resolv.conf is being overriden by networkd # and other configurations. If the file is destroyed by an environment diff --git a/nixos/modules/services/databases/4store-endpoint.nix b/nixos/modules/services/databases/4store-endpoint.nix index 5c55ef406d57..906cb320df98 100644 --- a/nixos/modules/services/databases/4store-endpoint.nix +++ b/nixos/modules/services/databases/4store-endpoint.nix @@ -61,7 +61,9 @@ with lib; services.avahi.enable = true; systemd.services."4store-endpoint" = { - wantedBy = [ "ip-up.target" ]; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + script = '' ${run} '${pkgs.rdf4store}/bin/4s-httpd -D ${cfg.options} ${if cfg.listenAddress!=null then "-H ${cfg.listenAddress}" else "" } -p ${toString cfg.port} ${cfg.database}' ''; diff --git a/nixos/modules/services/databases/4store.nix b/nixos/modules/services/databases/4store.nix index 33e731e96816..62856822f906 100644 --- a/nixos/modules/services/databases/4store.nix +++ b/nixos/modules/services/databases/4store.nix @@ -53,7 +53,8 @@ with lib; services.avahi.enable = true; systemd.services."4store" = { - wantedBy = [ "ip-up.target" ]; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; preStart = '' mkdir -p ${stateDir}/ diff --git a/nixos/modules/services/databases/virtuoso.nix b/nixos/modules/services/databases/virtuoso.nix index bdd210a2550e..3231fede08fa 100644 --- a/nixos/modules/services/databases/virtuoso.nix +++ b/nixos/modules/services/databases/virtuoso.nix @@ -62,7 +62,8 @@ with lib; }; systemd.services.virtuoso = { - wantedBy = [ "ip-up.target" ]; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; preStart = '' mkdir -p ${stateDir} diff --git a/nixos/modules/services/mail/freepops.nix b/nixos/modules/services/mail/freepops.nix index e8c30a36923f..5b729ca50a5e 100644 --- a/nixos/modules/services/mail/freepops.nix +++ b/nixos/modules/services/mail/freepops.nix @@ -74,7 +74,8 @@ in config = mkIf cfg.enable { systemd.services.freepopsd = { description = "Freepopsd (webmail over POP3)"; - wantedBy = [ "ip-up.target" ]; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; script = '' ${pkgs.freepops}/bin/freepopsd \ -p ${toString cfg.port} \ diff --git a/nixos/modules/services/monitoring/ups.nix b/nixos/modules/services/monitoring/ups.nix index 5f80d547dbcb..febf0c95f5bd 100644 --- a/nixos/modules/services/monitoring/ups.nix +++ b/nixos/modules/services/monitoring/ups.nix @@ -182,7 +182,8 @@ in systemd.services.upsmon = { description = "Uninterruptible Power Supplies (Monitor)"; - wantedBy = [ "ip-up.target" ]; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; serviceConfig.Type = "forking"; script = "${pkgs.nut}/sbin/upsmon"; environment.NUT_CONFPATH = "/etc/nut/"; @@ -191,8 +192,8 @@ in systemd.services.upsd = { description = "Uninterruptible Power Supplies (Daemon)"; + after = [ "network.target" "upsmon.service" ]; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" "upsmon.service" ]; serviceConfig.Type = "forking"; # TODO: replace 'root' by another username. script = "${pkgs.nut}/sbin/upsd -u root"; @@ -202,8 +203,8 @@ in systemd.services.upsdrv = { description = "Uninterruptible Power Supplies (Register all UPS)"; - wantedBy = [ "multi-user.target" ]; after = [ "upsd.service" ]; + wantedBy = [ "multi-user.target" ]; # TODO: replace 'root' by another username. script = ''${pkgs.nut}/bin/upsdrvctl -u root start''; serviceConfig = { diff --git a/nixos/modules/services/network-filesystems/drbd.nix b/nixos/modules/services/network-filesystems/drbd.nix index 9896a93b1894..57b1fbb597c7 100644 --- a/nixos/modules/services/network-filesystems/drbd.nix +++ b/nixos/modules/services/network-filesystems/drbd.nix @@ -53,9 +53,9 @@ let cfg = config.services.drbd; in }; systemd.services.drbd = { - after = [ "systemd-udev.settle.service" ]; + after = [ "systemd-udev.settle.service" "network.target" ]; wants = [ "systemd-udev.settle.service" ]; - wantedBy = [ "ip-up.target" ]; + wantedBy = [ "multi-user.target" ]; script = '' ${pkgs.drbd}/sbin/drbdadm up all ''; diff --git a/nixos/modules/services/networking/amuled.nix b/nixos/modules/services/networking/amuled.nix index bc488d0e9100..fc7d56a24fa7 100644 --- a/nixos/modules/services/networking/amuled.nix +++ b/nixos/modules/services/networking/amuled.nix @@ -59,7 +59,8 @@ in systemd.services.amuled = { description = "AMule daemon"; - wantedBy = [ "ip-up.target" ]; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; preStart = '' mkdir -p ${cfg.dataDir} diff --git a/nixos/modules/services/networking/dhcpcd.nix b/nixos/modules/services/networking/dhcpcd.nix index b31d479ab4fd..994b857e5e80 100644 --- a/nixos/modules/services/networking/dhcpcd.nix +++ b/nixos/modules/services/networking/dhcpcd.nix @@ -61,7 +61,6 @@ let ${cfg.extraConfig} ''; - # Hook for emitting ip-up/ip-down events. exitHook = pkgs.writeText "dhcpcd.exit-hook" '' if [ "$reason" = BOUND -o "$reason" = REBOOT ]; then @@ -73,14 +72,8 @@ let # applies to openntpd. ${config.systemd.package}/bin/systemctl try-restart ntpd.service ${config.systemd.package}/bin/systemctl try-restart openntpd.service - - ${config.systemd.package}/bin/systemctl start ip-up.target fi - #if [ "$reason" = EXPIRE -o "$reason" = RELEASE -o "$reason" = NOCARRIER ] ; then - # ${config.systemd.package}/bin/systemctl start ip-down.target - #fi - ${cfg.runHook} ''; diff --git a/nixos/modules/services/networking/git-daemon.nix b/nixos/modules/services/networking/git-daemon.nix index 215ffe48a563..cd3fcd0f8f66 100644 --- a/nixos/modules/services/networking/git-daemon.nix +++ b/nixos/modules/services/networking/git-daemon.nix @@ -116,7 +116,8 @@ in }; systemd.services."git-daemon" = { - wantedBy = [ "ip-up.target" ]; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; script = "${pkgs.git}/bin/git daemon --reuseaddr " + (optionalString (cfg.basePath != "") "--base-path=${cfg.basePath} ") + (optionalString (cfg.listenAddress != "") "--listen=${cfg.listenAddress} ") diff --git a/nixos/modules/services/networking/iodine.nix b/nixos/modules/services/networking/iodine.nix index 1b0d2d9a517c..512dbd77ae4b 100644 --- a/nixos/modules/services/networking/iodine.nix +++ b/nixos/modules/services/networking/iodine.nix @@ -106,7 +106,8 @@ in createIodineClientService = name: cfg: { description = "iodine client - ${name}"; - wantedBy = [ "ip-up.target" ]; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; serviceConfig = { RestartSec = "30s"; Restart = "always"; @@ -121,7 +122,8 @@ in ) // { iodined = mkIf (cfg.server.enable) { description = "iodine, ip over dns server daemon"; - wantedBy = [ "ip-up.target" ]; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; serviceConfig.ExecStart = "${pkgs.iodine}/bin/iodined -f -u ${iodinedUser} ${cfg.server.extraConfig} ${cfg.server.ip} ${cfg.server.domain}"; }; }; diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix index d198e3bfc02c..aa190c553f8a 100644 --- a/nixos/modules/services/networking/networkmanager.nix +++ b/nixos/modules/services/networking/networkmanager.nix @@ -55,7 +55,6 @@ let ipUpScript = writeScript "01nixos-ip-up" '' #!/bin/sh if test "$2" = "up"; then - ${config.systemd.package}/bin/systemctl start ip-up.target ${config.systemd.package}/bin/systemctl start network-online.target fi ''; diff --git a/nixos/modules/system/boot/networkd.nix b/nixos/modules/system/boot/networkd.nix index b79683660c5d..38b4b437369d 100644 --- a/nixos/modules/system/boot/networkd.nix +++ b/nixos/modules/system/boot/networkd.nix @@ -677,8 +677,7 @@ in }; systemd.services.systemd-networkd-wait-online = { - before = [ "ip-up.target" ]; - wantedBy = [ "network-online.target" "ip-up.target" ]; + wantedBy = [ "network-online.target" ]; }; systemd.services."systemd-network-wait-online@" = { diff --git a/nixos/modules/tasks/network-interfaces-scripted.nix b/nixos/modules/tasks/network-interfaces-scripted.nix index c960e401f9b1..627762bd60de 100644 --- a/nixos/modules/tasks/network-interfaces-scripted.nix +++ b/nixos/modules/tasks/network-interfaces-scripted.nix @@ -142,7 +142,7 @@ in # (Flushing this interface may have removed it.) ${config.systemd.package}/bin/systemctl try-restart --no-block network-setup.service fi - ${config.systemd.package}/bin/systemctl start ip-up.target + ${config.systemd.package}/bin/systemctl start network-online.target ''; preStop = flip concatMapStrings (ips) (ip: let diff --git a/nixos/modules/virtualisation/azure-agent.nix b/nixos/modules/virtualisation/azure-agent.nix index a89cd454dc73..6817eb837a01 100644 --- a/nixos/modules/virtualisation/azure-agent.nix +++ b/nixos/modules/virtualisation/azure-agent.nix @@ -178,7 +178,8 @@ in systemd.services.waagent = { wantedBy = [ "multi-user.target" ]; - after = [ "ip-up.target" "sshd.service" ]; + after = [ "network-online.target" "sshd.service" ]; + wants = [ "network-online.target" ]; path = [ pkgs.e2fsprogs ]; description = "Windows Azure Agent Service"; diff --git a/nixos/modules/virtualisation/brightbox-image.nix b/nixos/modules/virtualisation/brightbox-image.nix index ab49d8871f85..e2905913b6c5 100644 --- a/nixos/modules/virtualisation/brightbox-image.nix +++ b/nixos/modules/virtualisation/brightbox-image.nix @@ -116,8 +116,8 @@ in wantedBy = [ "multi-user.target" "sshd.service" ]; before = [ "sshd.service" ]; - wants = [ "ip-up.target" ]; - after = [ "ip-up.target" ]; + wants = [ "network-online.target" ]; + after = [ "network-online.target" ]; path = [ pkgs.wget pkgs.iproute ]; diff --git a/nixos/modules/virtualisation/google-compute-image.nix b/nixos/modules/virtualisation/google-compute-image.nix index 59b77dde5d9a..489b612f1675 100644 --- a/nixos/modules/virtualisation/google-compute-image.nix +++ b/nixos/modules/virtualisation/google-compute-image.nix @@ -134,8 +134,8 @@ in wantedBy = [ "sshd.service" ]; before = [ "sshd.service" ]; - after = [ "network-online.target" "ip-up.target" ]; - wants = [ "network-online.target" "ip-up.target" ]; + after = [ "network-online.target" ]; + wants = [ "network-online.target" ]; script = let wget = "${pkgs.wget}/bin/wget --retry-connrefused -t 15 --waitretry=10 --header='Metadata-Flavor: Google'"; mktemp = "mktemp --tmpdir=/run"; in From 77cedff4e7d697f69c0c81e57d497f105eefc9e9 Mon Sep 17 00:00:00 2001 From: Langston Barrett Date: Sat, 10 Sep 2016 09:23:39 -0700 Subject: [PATCH 20/38] ympd service: init (#18371) ympd provides a web ui, it is suitable to be run as a service. Fixes #17878. service has no requirements b/c user might be using remote mpd instance. --- nixos/modules/module-list.nix | 1 + nixos/modules/services/audio/ympd.nix | 61 +++++++++++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 nixos/modules/services/audio/ympd.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 4ce39555133d..efbb63da400d 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -114,6 +114,7 @@ ./services/audio/mpd.nix ./services/audio/mopidy.nix ./services/audio/squeezelite.nix + ./services/audio/ympd.nix ./services/backup/almir.nix ./services/backup/bacula.nix ./services/backup/crashplan.nix diff --git a/nixos/modules/services/audio/ympd.nix b/nixos/modules/services/audio/ympd.nix new file mode 100644 index 000000000000..fb8b868ed40a --- /dev/null +++ b/nixos/modules/services/audio/ympd.nix @@ -0,0 +1,61 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.ympd; +in { + + ###### interface + + options = { + + services.ympd = { + + enable = mkOption { + type = types.bool; + default = false; + description = "Whether to enable ympd, the MPD Web GUI."; + }; + + webPort = mkOption { + type = types.string; + default = "8080"; + description = "The port where ympd's web interface will be available."; + example = "ssl://8080:/path/to/ssl-private-key.pem"; + }; + + mpd = { + host = mkOption { + type = types.string; + default = "localhost"; + description = "The host where MPD is listening."; + example = "localhost"; + }; + + port = mkOption { + type = types.int; + default = config.services.mpd.network.port; + description = "The port where MPD is listening."; + example = 6600; + }; + }; + + }; + + }; + + + ###### implementation + + config = mkIf cfg.enable { + + systemd.services.ympd = { + description = "Standalone MPD Web GUI written in C"; + wantedBy = [ "multi-user.target" ]; + serviceConfig.ExecStart = "${pkgs.ympd}/bin/ympd --host ${cfg.mpd.host} --port ${toString cfg.mpd.port} --webport ${cfg.webPort} --user nobody"; + }; + + }; + +} From 009c1848c20078eb09e5e65bfda42fc9e9cb0462 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Fri, 9 Sep 2016 02:45:53 +0200 Subject: [PATCH 21/38] mpd service: add types to all options --- nixos/modules/services/audio/mpd.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/nixos/modules/services/audio/mpd.nix b/nixos/modules/services/audio/mpd.nix index 5d5fef667941..13167b6affd7 100644 --- a/nixos/modules/services/audio/mpd.nix +++ b/nixos/modules/services/audio/mpd.nix @@ -33,6 +33,7 @@ in { services.mpd = { enable = mkOption { + type = types.bool; default = false; description = '' Whether to enable MPD, the music player daemon. @@ -40,6 +41,7 @@ in { }; musicDirectory = mkOption { + type = types.path; default = "${cfg.dataDir}/music"; description = '' The directory where mpd reads music from. @@ -47,6 +49,7 @@ in { }; extraConfig = mkOption { + type = types.str; default = ""; description = '' Extra directives added to to the end of MPD's configuration file, @@ -56,6 +59,7 @@ in { }; dataDir = mkOption { + type = types.path; default = "/var/lib/mpd"; description = '' The directory where MPD stores its state, tag cache, @@ -64,11 +68,13 @@ in { }; user = mkOption { + type = types.str; default = "mpd"; description = "User account under which MPD runs."; }; group = mkOption { + type = types.str; default = "mpd"; description = "Group account under which MPD runs."; }; @@ -76,6 +82,7 @@ in { network = { listenAddress = mkOption { + type = types.str; default = "any"; description = '' This setting sets the address for the daemon to listen on. Careful attention @@ -85,6 +92,7 @@ in { }; port = mkOption { + type = types.int; default = 6600; description = '' This setting is the TCP port that is desired for the daemon to get assigned From 0a6221578aabcc8676b42e76cd261518de2fdd92 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Fri, 9 Sep 2016 02:49:09 +0200 Subject: [PATCH 22/38] mpd service: replace script with serviceConfig.ExecStart --- nixos/modules/services/audio/mpd.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/audio/mpd.nix b/nixos/modules/services/audio/mpd.nix index 13167b6affd7..85e0a7d2ac4e 100644 --- a/nixos/modules/services/audio/mpd.nix +++ b/nixos/modules/services/audio/mpd.nix @@ -122,12 +122,12 @@ in { after = [ "network.target" "sound.target" ]; description = "Music Player Daemon"; wantedBy = [ "multi-user.target" ]; - path = [ pkgs.mpd ]; + preStart = "mkdir -p ${cfg.dataDir} && chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir}"; - script = "exec mpd --no-daemon ${mpdConf}"; serviceConfig = { User = "${cfg.user}"; PermissionsStartOnly = true; + ExecStart = "${pkgs.mpd}/bin/mpd --no-daemon ${mpdConf}"; }; }; From f6c2afc42399c5f132d66121c65f5107a972b98e Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Sat, 10 Sep 2016 18:58:20 +0200 Subject: [PATCH 23/38] julia: mark as broken for i686 --- pkgs/development/compilers/julia/git.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/compilers/julia/git.nix b/pkgs/development/compilers/julia/git.nix index 73c2cc0b30aa..09b79c59e7d2 100644 --- a/pkgs/development/compilers/julia/git.nix +++ b/pkgs/development/compilers/julia/git.nix @@ -174,5 +174,6 @@ stdenv.mkDerivation rec { license = stdenv.lib.licenses.mit; maintainers = with stdenv.lib.maintainers; [ raskin ]; platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ]; + broken = stdenv.isi686; }; } From 3c42ff35ce9081c0890b5a2c86a080d9d43e815b Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Sat, 10 Sep 2016 18:58:29 +0200 Subject: [PATCH 24/38] julia-git: mark as broken for i686 --- pkgs/development/compilers/julia/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/compilers/julia/default.nix b/pkgs/development/compilers/julia/default.nix index 4dfad0fae869..9d0b506efeea 100644 --- a/pkgs/development/compilers/julia/default.nix +++ b/pkgs/development/compilers/julia/default.nix @@ -161,5 +161,6 @@ stdenv.mkDerivation rec { license = stdenv.lib.licenses.mit; maintainers = with stdenv.lib.maintainers; [ raskin ]; platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ]; + broken = stdenv.isi686; }; } From 505cee5c77e21b9e307d225c51fe4034dc80fe84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edward=20Tj=C3=B6rnhammar?= Date: Sat, 10 Sep 2016 19:37:36 +0200 Subject: [PATCH 25/38] idea.idea-{community,ultimate}: 2016.2.3 -> 2016.2.4 --- pkgs/applications/editors/idea/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/editors/idea/default.nix b/pkgs/applications/editors/idea/default.nix index 9f10c6f7f67a..c48e8af71456 100644 --- a/pkgs/applications/editors/idea/default.nix +++ b/pkgs/applications/editors/idea/default.nix @@ -156,12 +156,12 @@ in idea-community = buildIdea rec { name = "idea-community-${version}"; - version = "2016.2.3"; + version = "2016.2.4"; description = "Integrated Development Environment (IDE) by Jetbrains, community edition"; license = stdenv.lib.licenses.asl20; src = fetchurl { url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz"; - sha256 = "014fddfxzc8nwhp1nz8mb9p7zwk73azvlgmzy2jd9ypfwi3dwgrs"; + sha256 = "0hk7z402qvkaa6hkhh4wsqxki2bnai5qkd2r0ngvy8kd71svrldz"; }; wmClass = "jetbrains-idea-ce"; }; @@ -192,12 +192,12 @@ in idea-ultimate = buildIdea rec { name = "idea-ultimate-${version}"; - version = "2016.2.3"; + version = "2016.2.4"; description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license"; license = stdenv.lib.licenses.unfree; src = fetchurl { url = "https://download.jetbrains.com/idea/ideaIU-${version}.tar.gz"; - sha256 = "1y8y3kav4icpsb85p5csag6f16jqg4gnvagsl5k1c793ccbl63yk"; + sha256 = "165nchdnbyp85r2w0riv87j77lb7r492dkwrvm8q7qjnlfgznh7r"; }; wmClass = "jetbrains-idea"; }; From 443204aa705da1b087c2eb9c784ff36899286360 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edward=20Tj=C3=B6rnhammar?= Date: Sat, 10 Sep 2016 19:38:28 +0200 Subject: [PATCH 26/38] idea.idea14-ultimate: use base32 hash --- pkgs/applications/editors/idea/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/editors/idea/default.nix b/pkgs/applications/editors/idea/default.nix index c48e8af71456..40972f50fe7c 100644 --- a/pkgs/applications/editors/idea/default.nix +++ b/pkgs/applications/editors/idea/default.nix @@ -173,7 +173,7 @@ in license = stdenv.lib.licenses.unfree; src = fetchurl { url = "https://download.jetbrains.com/idea/ideaIU-${version}.tar.gz"; - sha256 = "a2259249f6e7bf14ba17b0af90a18d24d9b4670af60d24f0bb51af2f62500fc2"; + sha256 = "1hhga1i2zbsipgq283gn19kv9n94inhr1bxh2yx19gz7yr4r49d2"; }; wmClass = "jetbrains-idea"; }; From d8af0db284074253ccaf38113f50bc7262eda728 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 10 Sep 2016 20:52:21 +0200 Subject: [PATCH 27/38] haskell-yi: remove obsolete "broken" marker Fixes https://github.com/NixOS/nixpkgs/issues/18188. --- pkgs/development/haskell-modules/configuration-common.nix | 8 -------- 1 file changed, 8 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 7000f2b3bf0f..bb799b059d37 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -948,14 +948,6 @@ self: super: { # tinc is a new build driver a la Stack that's not yet available from Hackage. tinc = self.callPackage ../tools/haskell/tinc {}; - # https://github.com/NixOS/nixpkgs/issues/14967 - yi = markBroken super.yi; - yi-fuzzy-open = markBroken super.yi-fuzzy-open; - yi-monokai = markBroken super.yi-monokai; - yi-snippet = markBroken super.yi-snippet; - yi-solarized = markBroken super.yi-solarized; - yi-spolsky = markBroken super.yi-spolsky; - # gtk2hs-buildtools must have Cabal 1.24 gtk2hs-buildtools = super.gtk2hs-buildtools.override { Cabal = self.Cabal_1_24_0_0; }; From 7619f88eb850b4e4b2fc551665cef53839041d43 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 10 Sep 2016 20:53:28 +0200 Subject: [PATCH 28/38] haskell-gtk2hs-buildtools: this override does not belong into common --- pkgs/development/haskell-modules/configuration-common.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index bb799b059d37..d174ab28540e 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -948,9 +948,6 @@ self: super: { # tinc is a new build driver a la Stack that's not yet available from Hackage. tinc = self.callPackage ../tools/haskell/tinc {}; - # gtk2hs-buildtools must have Cabal 1.24 - gtk2hs-buildtools = super.gtk2hs-buildtools.override { Cabal = self.Cabal_1_24_0_0; }; - # Tools that use gtk2hs-buildtools now depend on them in a custom-setup stanza cairo = addBuildTool super.cairo self.gtk2hs-buildtools; pango = (addBuildTool super.pango self.gtk2hs-buildtools).overrideDerivation (drv: { From 04e4c495bbe2e900e4aec68f93b080f8497d18f3 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 10 Sep 2016 20:59:45 +0200 Subject: [PATCH 29/38] haskell-configuration-common: cosmetic --- pkgs/development/haskell-modules/configuration-common.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index d174ab28540e..e3609c9d0bc6 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -967,7 +967,6 @@ self: super: { sha256 = "1yh2g45mkfpwxq0vyzcbc4nbxh6wmb2xpp0k7r5byd8jicgvli29"; }); - # GLUT uses `dlopen` to link to freeglut, so we need to set the RUNPATH correctly for # it to find `libglut.so` from the nix store. We do this by patching GLUT.cabal to pkg-config # depend on freeglut, which provides GHC to necessary information to generate a correct RPATH. @@ -977,7 +976,8 @@ self: super: { # us when we patch the cabal file (Link options will be recored in the ghc package registry). GLUT = addPkgconfigDepend (appendPatch super.GLUT ./patches/GLUT.patch) pkgs.freeglut; - # remove if a version > 0.1.0.1 ever gets released + # https://github.com/Philonous/hs-stun/pull/1 + # Remove if a version > 0.1.0.1 ever gets released. stunclient = overrideCabal super.stunclient (drv: { postPatch = (drv.postPatch or "") + '' substituteInPlace source/Network/Stun/MappedAddress.hs --replace "import Network.Endian" "" From 86557f9ffd6600bbac0cbccae02af6e9e0be207c Mon Sep 17 00:00:00 2001 From: Kirill Boltaev Date: Sat, 10 Sep 2016 23:56:49 +0400 Subject: [PATCH 30/38] mpv: 0.19.0 -> 0.20.0 (#18493) Enable vaapiSupport by default. --- pkgs/applications/video/mpv/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix index 507e99665e01..ac4718d9eb2b 100644 --- a/pkgs/applications/video/mpv/default.nix +++ b/pkgs/applications/video/mpv/default.nix @@ -29,9 +29,9 @@ , cacaSupport ? true, libcaca ? null , libpngSupport ? true, libpng ? null , youtubeSupport ? true, youtube-dl ? null +, vaapiSupport ? true, libva ? null , vapoursynthSupport ? false, vapoursynth ? null , jackaudioSupport ? false, libjack2 ? null -, vaapiSupport ? false, libva ? null # scripts you want to be loaded by default , scripts ? [] @@ -75,13 +75,13 @@ let }; in stdenv.mkDerivation rec { name = "mpv-${version}"; - version = "0.19.0"; + version = "0.20.0"; src = fetchFromGitHub { owner = "mpv-player"; repo = "mpv"; rev = "v${version}"; - sha256 = "14rbglrcplhkf16ik4fbcv7k27lz6h4glfayr12ylh98srmsscqa"; + sha256 = "0zp852b505lr2gllqylg2xrc8sgw9b1xjn1c7px36hzddny15c16"; }; patchPhase = '' From 51932e3d6962d4525cdc4f13e400d0c1b74a520e Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Sat, 10 Sep 2016 22:00:45 +0200 Subject: [PATCH 31/38] idris: clean up overrides Closes https://github.com/NixOS/nixpkgs/pull/18309. --- .../haskell-modules/configuration-common.nix | 13 ++++++++++--- .../haskell-modules/configuration-ghc-7.10.x.nix | 9 --------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index e3609c9d0bc6..4a41836a5cf9 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -867,9 +867,6 @@ self: super: { # https://github.com/guillaume-nargeot/hpc-coveralls/issues/52 hpc-coveralls = disableSharedExecutables super.hpc-coveralls; - # Can't find libHSidris-*.so during build. - idris = disableSharedExecutables super.idris; - # https://github.com/fpco/stackage/issues/838 cryptonite = dontCheck super.cryptonite; @@ -987,4 +984,14 @@ self: super: { # https://bitbucket.org/ssaasen/spy/pull-requests/3/fsnotify-dropped-system-filepath spy = appendPatch super.spy ./patches/spy.patch; + idris = overrideCabal super.idris (drv: { + # "idris" binary cannot find Idris library otherwise while building. After + # installing it's completely fine though. This seems like a bug in Idris + # that's related to builds with shared libraries enabled. It would be great + # if someone who knows a thing or two about Idris could look into this. + preBuild = "export LD_LIBRARY_PATH=$PWD/dist/build:$LD_LIBRARY_PATH"; + # https://github.com/idris-lang/Idris-dev/issues/2499 + librarySystemDepends = (drv.librarySystemDepends or []) ++ [pkgs.gmp]; + }); + } diff --git a/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix index 7c5c9cdf3e3b..3ffce7a52ecc 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix @@ -45,15 +45,6 @@ self: super: { # Build jailbreak-cabal with the latest version of Cabal. jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_1_24_0_0; }; - idris = overrideCabal super.idris (drv: { - # "idris" binary cannot find Idris library otherwise while building. - # After installing it's completely fine though. Seems like Nix-specific - # issue so not reported. - preBuild = "export LD_LIBRARY_PATH=$PWD/dist/build:$LD_LIBRARY_PATH"; - # https://github.com/idris-lang/Idris-dev/issues/2499 - librarySystemDepends = (drv.librarySystemDepends or []) ++ [pkgs.gmp]; - }); - Extra = appendPatch super.Extra (pkgs.fetchpatch { url = "https://github.com/seereason/sr-extra/commit/29787ad4c20c962924b823d02a7335da98143603.patch"; sha256 = "193i1xmq6z0jalwmq0mhqk1khz6zz0i1hs6lgfd7ybd6qyaqnf5f"; From e4b146b0417762c461c7f90f587dc82e8524f796 Mon Sep 17 00:00:00 2001 From: Chris Martin Date: Wed, 7 Sep 2016 16:40:53 -0400 Subject: [PATCH 32/38] haskell-hasktags: don't install the "test" binary Closes https://github.com/NixOS/nixpkgs/pull/18403. --- pkgs/development/haskell-modules/configuration-common.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 4a41836a5cf9..1b02e464c3ba 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -994,4 +994,9 @@ self: super: { librarySystemDepends = (drv.librarySystemDepends or []) ++ [pkgs.gmp]; }); + # https://github.com/MarcWeber/hasktags/issues/32 + hasktags = overrideCabal super.hasktags (drv: { + postInstall = "rm $out/bin/test"; + }); + } From 54ff1184779419c91cb57d7a3a234a069fcdc592 Mon Sep 17 00:00:00 2001 From: Aneesh Agrawal Date: Sat, 10 Sep 2016 16:57:11 -0400 Subject: [PATCH 33/38] cryptol: Make Z3 available for REPL users The Cryptol REPL has a hard dependency on Z3, but the rest of the library uses SBV to support multiple solvers. Ensure that Z3 is available for `pkgs.cryptol`, which is likely to be installed via nix-env for REPL usage, but do not change pkgs.haskellPackages.cryptol, which is likely to be used as a dependency (in Nix expressions). --- pkgs/top-level/all-packages.nix | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 33b1523df087..9262c8c144a4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4443,7 +4443,15 @@ in coq = coq_8_5; }); - cryptol = haskellPackages.cryptol; + # Users installing via `nix-env` will likely be using the REPL, + # which has a hard dependency on Z3, so make sure it is available. + cryptol = haskellPackages.cryptol.overrideDerivation (oldAttrs: { + buildInputs = (oldAttrs.buildInputs or []) ++ [ makeWrapper ]; + installPhase = (oldAttrs.installPhase or "") + '' + wrapProgram $out/bin/cryptol \ + --prefix 'PATH' ':' "${lib.getBin z3}/bin" + ''; + }); devpi-client = callPackage ../development/tools/devpi-client {}; From ffddcc8807df28c4a7232e4bf1e53b210e1b0276 Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Sun, 11 Sep 2016 00:21:16 +0300 Subject: [PATCH 34/38] vlc_npapi: Fix hash --- pkgs/applications/video/vlc/plugin.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/video/vlc/plugin.nix b/pkgs/applications/video/vlc/plugin.nix index 3a3e9162999a..bba4cdb6e363 100644 --- a/pkgs/applications/video/vlc/plugin.nix +++ b/pkgs/applications/video/vlc/plugin.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { src = fetchgit { url = "https://code.videolan.org/videolan/npapi-vlc.git"; rev = "5fa6fbc11cf5bad983f57656c0085e47e18fbf20"; - sha256 = "18fbiy4r8rlw4fsgcxgzhi6qi9r48d0rmnp8hs994w2p94fa8kwd"; + sha256 = "0k4s0657kv1mx1md8vj87scs0hz59xy7syqdsxb48w3w8gnfljs0"; }; preConfigure = "sh autogen.sh"; From 628c86c51a1321e68ec724d3feeb12aac34d3e32 Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Sun, 11 Sep 2016 01:13:49 +0300 Subject: [PATCH 35/38] release-lib: Remove unused allowTexliveBuilds option This is dead code since the old monolithic TeXLive was dropped in da421bc75f98c1b19f214a3b6b7cda07dc4c088b. --- pkgs/top-level/release-lib.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/top-level/release-lib.nix b/pkgs/top-level/release-lib.nix index b352ec0fe648..34788736edd4 100644 --- a/pkgs/top-level/release-lib.nix +++ b/pkgs/top-level/release-lib.nix @@ -1,6 +1,5 @@ { supportedSystems , packageSet ? (import ../..) -, allowTexliveBuilds ? false , scrubJobs ? true }: @@ -11,7 +10,6 @@ rec { # Ensure that we don't build packages marked as unfree. allPackages = args: packageSet (args // { config.allowUnfree = false; - config.allowTexliveBuilds = allowTexliveBuilds; config.inHydra = true; }); From c58654e2b78e7d3ae97ba96c80ceb3f96236e463 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Sun, 11 Sep 2016 08:13:04 +0200 Subject: [PATCH 36/38] treewide: fix fallout of ip-up deprecation See #18319 for details. Starting network-online.target manually does not work as it hangs indefinitely. Additionally, don't treat avahi and dhcpcd special and sync their systemd units with the respective upstream suggestion. --- nixos/modules/services/networking/avahi-daemon.nix | 12 +----------- nixos/modules/services/networking/dhcpcd.nix | 7 +++---- nixos/modules/services/networking/networkmanager.nix | 10 ---------- nixos/modules/system/boot/systemd.nix | 2 -- nixos/modules/tasks/network-interfaces-scripted.nix | 1 - 5 files changed, 4 insertions(+), 28 deletions(-) diff --git a/nixos/modules/services/networking/avahi-daemon.nix b/nixos/modules/services/networking/avahi-daemon.nix index 2d3ce34a4e3a..ecc091d1d03d 100644 --- a/nixos/modules/services/networking/avahi-daemon.nix +++ b/nixos/modules/services/networking/avahi-daemon.nix @@ -7,10 +7,6 @@ let cfg = config.services.avahi; - # We must escape interfaces due to the systemd interpretation - subsystemDevice = interface: - "sys-subsystem-net-devices-${utils.escapeSystemdPath interface}.device"; - avahiDaemonConf = with cfg; pkgs.writeText "avahi-daemon.conf" '' [server] ${# Users can set `networking.hostName' to the empty string, when getting @@ -180,14 +176,8 @@ in environment.systemPackages = [ pkgs.avahi ]; systemd.services.avahi-daemon = - let - deps = optionals (cfg.interfaces!=null) (map subsystemDevice cfg.interfaces); - in { description = "Avahi daemon"; - wantedBy = [ "ip-up.target" ]; - bindsTo = deps; - after = deps; - before = [ "ip-up.target" ]; + wantedBy = [ "multi-user.target" ]; # Receive restart event after resume partOf = [ "post-resume.target" ]; diff --git a/nixos/modules/services/networking/dhcpcd.nix b/nixos/modules/services/networking/dhcpcd.nix index 994b857e5e80..49d74dfdf0f0 100644 --- a/nixos/modules/services/networking/dhcpcd.nix +++ b/nixos/modules/services/networking/dhcpcd.nix @@ -147,10 +147,9 @@ in systemd.services.dhcpcd = { description = "DHCP Client"; - wantedBy = [ "network.target" ]; - # Work-around to deal with problems where the kernel would remove & - # re-create Wifi interfaces early during boot. - after = [ "network-interfaces.target" ]; + wantedBy = [ "multi-user.target" ]; + wants = [ "network.target" ]; + before = [ "network.target" ]; # Stopping dhcpcd during a reconfiguration is undesirable # because it brings down the network interfaces configured by diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix index aa190c553f8a..65ffaece4772 100644 --- a/nixos/modules/services/networking/networkmanager.nix +++ b/nixos/modules/services/networking/networkmanager.nix @@ -52,13 +52,6 @@ let }); ''; - ipUpScript = writeScript "01nixos-ip-up" '' - #!/bin/sh - if test "$2" = "up"; then - ${config.systemd.package}/bin/systemctl start network-online.target - fi - ''; - ns = xs: writeText "nameservers" ( concatStrings (map (s: "nameserver ${s}\n") xs) ); @@ -187,9 +180,6 @@ in { boot.kernelModules = [ "ppp_mppe" ]; # Needed for most (all?) PPTP VPN connections. environment.etc = with cfg.basePackages; [ - { source = ipUpScript; - target = "NetworkManager/dispatcher.d/01nixos-ip-up"; - } { source = configFile; target = "NetworkManager/NetworkManager.conf"; } diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix index 3fa257f96685..397e9a4987b7 100644 --- a/nixos/modules/system/boot/systemd.nix +++ b/nixos/modules/system/boot/systemd.nix @@ -727,8 +727,6 @@ in unitConfig.X-StopOnReconfiguration = true; }; - systemd.targets.network-online.after = [ "ip-up.target" ]; - systemd.units = mapAttrs' (n: v: nameValuePair "${n}.target" (targetToUnit n v)) cfg.targets // mapAttrs' (n: v: nameValuePair "${n}.service" (serviceToUnit n v)) cfg.services diff --git a/nixos/modules/tasks/network-interfaces-scripted.nix b/nixos/modules/tasks/network-interfaces-scripted.nix index 627762bd60de..d1b62e0fd4e4 100644 --- a/nixos/modules/tasks/network-interfaces-scripted.nix +++ b/nixos/modules/tasks/network-interfaces-scripted.nix @@ -142,7 +142,6 @@ in # (Flushing this interface may have removed it.) ${config.systemd.package}/bin/systemctl try-restart --no-block network-setup.service fi - ${config.systemd.package}/bin/systemctl start network-online.target ''; preStop = flip concatMapStrings (ips) (ip: let From 5c38882f38daada4704b8f0efe9e1b5a01fcfa41 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Sun, 11 Sep 2016 08:16:55 +0200 Subject: [PATCH 37/38] toxvpn service: doesn't require online network Tested that it detects network changes quickly. --- nixos/modules/services/networking/toxvpn.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/networking/toxvpn.nix b/nixos/modules/services/networking/toxvpn.nix index c38424c8e273..911836fdee42 100644 --- a/nixos/modules/services/networking/toxvpn.nix +++ b/nixos/modules/services/networking/toxvpn.nix @@ -25,8 +25,8 @@ with lib; systemd.services.toxvpn = { description = "toxvpn daemon"; - requires = [ "network-online.target" ]; # consider replacing by NetworkManager-wait-online.service wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; preStart = '' mkdir -p /run/toxvpn || true From a49cb9dcbee0fe82a5e04ff4d90c376761fd9f18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sun, 11 Sep 2016 10:11:44 +0200 Subject: [PATCH 38/38] llvmPackages: generalize "3.9.0" string occurrences Discussed: https://github.com/NixOS/nixpkgs/commit/15af9082eb#commitcomment-18903919 --- pkgs/development/compilers/llvm/3.9/clang/default.nix | 2 +- pkgs/development/compilers/llvm/3.9/default.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/llvm/3.9/clang/default.nix b/pkgs/development/compilers/llvm/3.9/clang/default.nix index c6605dd656ff..e75da0e9717e 100644 --- a/pkgs/development/compilers/llvm/3.9/clang/default.nix +++ b/pkgs/development/compilers/llvm/3.9/clang/default.nix @@ -34,7 +34,7 @@ let # Clang expects to find sanitizer libraries in its own prefix postInstall = '' ln -sv ${llvm}/lib/LLVMgold.so $out/lib - ln -sv ${llvm}/lib/clang/3.9.0/lib $out/lib/clang/3.9.0/ + ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/ ln -sv $out/bin/clang $out/bin/cpp ''; diff --git a/pkgs/development/compilers/llvm/3.9/default.nix b/pkgs/development/compilers/llvm/3.9/default.nix index 7b9dbd93b2b7..a39f013d1a9a 100644 --- a/pkgs/development/compilers/llvm/3.9/default.nix +++ b/pkgs/development/compilers/llvm/3.9/default.nix @@ -6,7 +6,7 @@ let fetch = fetch_v version; fetch_v = ver: name: sha256: fetchurl { - url = "http://llvm.org/releases/3.9.0/${name}-${ver}.src.tar.xz"; + url = "http://llvm.org/releases/${version}/${name}-${ver}.src.tar.xz"; inherit sha256; };