lol

Merge branch 'master' into staging

+605 -202
+4
.github/CODEOWNERS
··· 34 34 pkgs/applications/science/math/R @peti 35 35 pkgs/development/r-modules @peti 36 36 37 + # Ruby 38 + pkgs/development/interpreters/ruby/* @zimbatm 39 + pkgs/development/ruby-modules/* @zimbatm 40 + 37 41 # Darwin-related 38 42 /pkgs/stdenv/darwin/ @org/darwin-maintainers 39 43 /pkgs/os-specific/darwin/ @org/darwin-maintainers
+11 -2
lib/types.nix
··· 288 288 }).config; 289 289 getSubOptions = prefix: (evalModules 290 290 { modules = opts'; inherit prefix; 291 - # FIXME: hack to get shit to evaluate. 292 - args = { name = ""; }; }).options; 291 + # This is a work-around due to the fact that some sub-modules, 292 + # such as the one included in an attribute set, expects a "args" 293 + # attribute to be given to the sub-module. As the option 294 + # evaluation does not have any specific attribute name, we 295 + # provide a default one for the documentation. 296 + # 297 + # This is mandatory as some option declaration might use the 298 + # "name" attribute given as argument of the submodule and use it 299 + # as the default of option declarations. 300 + args.name = "<name>"; 301 + }).options; 293 302 getSubModules = opts'; 294 303 substSubModules = m: submodule m; 295 304 functor = (defaultFunctor name) // {
-3
nixos/modules/security/acme.xml
··· 89 89 }; 90 90 } 91 91 </programlisting> 92 - 93 - <para>At the moment you still have to restart Nginx after the ACME 94 - certs arrive.</para> 95 92 </section> 96 93 </chapter>
+3 -3
nixos/modules/services/misc/gitlab.nix
··· 572 572 rm -rf ${cfg.statePath}/config ${cfg.statePath}/shell/hooks 573 573 mkdir -p ${cfg.statePath}/config 574 574 575 - tr -dc A-Za-z0-9 < /dev/urandom | head -c 32 > ${cfg.statePath}/config/gitlab_shell_secret 575 + ${pkgs.openssl}/bin/openssl rand -hex 32 > ${cfg.statePath}/config/gitlab_shell_secret 576 576 577 577 # The uploads directory is hardcoded somewhere deep in rails. It is 578 578 # symlinked in the gitlab package to /run/gitlab/uploads to make it ··· 619 619 fi 620 620 621 621 # enable required pg_trgm extension for gitlab 622 - ${pkgs.sudo}/bin/sudo -u ${pgSuperUser} psql gitlab -c "CREATE EXTENSION IF NOT EXISTS pg_trgm" 622 + ${pkgs.sudo}/bin/sudo -u ${pgSuperUser} psql ${cfg.databaseName} -c "CREATE EXTENSION IF NOT EXISTS pg_trgm" 623 623 # Always do the db migrations just to be sure the database is up-to-date 624 624 ${gitlab-rake}/bin/gitlab-rake db:migrate RAILS_ENV=production 625 625 ··· 634 634 635 635 # The gitlab:shell:create_hooks task seems broken for fixing links 636 636 # so we instead delete all the hooks and create them anew 637 - rm ${cfg.statePath}/repositories/**/*.git/hooks 637 + rm -f ${cfg.statePath}/repositories/**/*.git/hooks 638 638 ${gitlab-rake}/bin/gitlab-rake gitlab:shell:create_hooks RAILS_ENV=production 639 639 640 640 # Change permissions in the last step because some of the
+2
nixos/modules/services/x11/display-managers/gdm.nix
··· 125 125 "getty@tty1.service" 126 126 ]; 127 127 128 + systemd.services."getty@tty1".enable = false; 129 + systemd.services.display-manager.conflicts = [ "getty@tty1.service" ]; 128 130 systemd.services.display-manager.serviceConfig = { 129 131 # Restart = "always"; - already defined in xserver.nix 130 132 KillMode = "mixed";
+1 -2
nixos/modules/tasks/network-interfaces-scripted.nix
··· 93 93 after = [ "network-pre.target" "systemd-udevd.service" "systemd-sysctl.service" ]; 94 94 before = [ "network.target" "shutdown.target" ]; 95 95 wants = [ "network.target" ]; 96 + partOf = map (i: "network-addresses-${i.name}.service") interfaces; 96 97 conflicts = [ "shutdown.target" ]; 97 98 wantedBy = [ "multi-user.target" ] ++ optional hasDefaultGatewaySet "network-online.target"; 98 99 ··· 171 172 "network-link-${i.name}.service" 172 173 "network.target" 173 174 ]; 174 - # propagate stop and reload from network-setup 175 - partOf = [ "network-setup.service" ]; 176 175 # order before network-setup because the routes that are configured 177 176 # there may need ip addresses configured 178 177 before = [ "network-setup.service" ];
+5
pkgs/applications/graphics/sxiv/default.nix
··· 23 23 24 24 buildInputs = [ libX11 imlib2 giflib libexif ]; 25 25 26 + postInstall = '' 27 + mkdir -p $out/share/applications/ 28 + cp -v sxiv.desktop $out/share/applications/ 29 + ''; 30 + 26 31 meta = { 27 32 description = "Simple X Image Viewer"; 28 33 homepage = https://github.com/muennich/sxiv;
+1
pkgs/applications/networking/instant-messengers/mikutter/default.nix
··· 54 54 ''; 55 55 56 56 meta = with stdenv.lib; { 57 + broken = true; 57 58 description = "An extensible Twitter client"; 58 59 homepage = https://mikutter.hachune.net; 59 60 maintainers = with maintainers; [ midchildan ];
+18 -9
pkgs/applications/science/math/pari/default.nix
··· 14 14 buildInputs = [ gmp readline libX11 libpthreadstubs tex perl ]; 15 15 16 16 configureScript = "./Configure"; 17 - configureFlags = 18 - "--mt=pthread" + 19 - "--with-gmp=${gmp.dev} " + 20 - "--with-readline=${readline.dev}"; 17 + configureFlags = [ 18 + "--mt=pthread" 19 + "--with-gmp=${gmp.dev}" 20 + "--with-readline=${readline.dev}" 21 + ] ++ stdenv.lib.optional stdenv.isDarwin "--host=x86_64-darwin"; 22 + 23 + preConfigure = '' 24 + export LD=$CC 25 + ''; 26 + 27 + postConfigure = stdenv.lib.optionalString stdenv.isDarwin '' 28 + echo 'echo x86_64-darwin' > config/arch-osname 29 + ''; 21 30 22 - makeFlags = "all"; 31 + makeFlags = [ "all" ]; 23 32 24 33 meta = with stdenv.lib; { 25 34 description = "Computer algebra system for high-performance number theory computations"; ··· 36 45 Bordeaux I, France), PARI is now under the GPL and maintained by Karim 37 46 Belabas with the help of many volunteer contributors. 38 47 39 - - PARI is a C library, allowing fast computations. 48 + - PARI is a C library, allowing fast computations. 40 49 - gp is an easy-to-use interactive shell giving access to the 41 50 PARI functions. 42 51 - GP is the name of gp's scripting language. 43 - - gp2c, the GP-to-C compiler, combines the best of both worlds 44 - by compiling GP scripts to the C language and transparently loading 52 + - gp2c, the GP-to-C compiler, combines the best of both worlds 53 + by compiling GP scripts to the C language and transparently loading 45 54 the resulting functions into gp. (gp2c-compiled scripts will typically 46 55 run 3 or 4 times faster.) gp2c currently only understands a subset 47 56 of the GP language. ··· 50 59 downloadPage = "http://pari.math.u-bordeaux.fr/download.html"; 51 60 license = licenses.gpl2Plus; 52 61 maintainers = with maintainers; [ ertes raskin AndersonTorres ]; 53 - platforms = platforms.linux; 62 + platforms = platforms.linux ++ platforms.darwin; 54 63 updateWalker = true; 55 64 }; 56 65 }
+2
pkgs/applications/version-management/git-and-tools/default.nix
··· 58 58 # support for bugzilla 59 59 git-bz = callPackage ./git-bz { }; 60 60 61 + git-codeowners = callPackage ./git-codeowners { }; 62 + 61 63 git-cola = callPackage ./git-cola { }; 62 64 63 65 git-crypt = callPackage ./git-crypt { };
+21
pkgs/applications/version-management/git-and-tools/git-codeowners/default.nix
··· 1 + { lib, rustPlatform, fetchFromGitHub }: 2 + rustPlatform.buildRustPackage rec { 3 + name = "git-codeowners-${version}"; 4 + version = "0.1.1"; 5 + 6 + src = fetchFromGitHub { 7 + owner = "softprops"; 8 + repo = "git-codeowners"; 9 + rev = "v${version}"; 10 + sha256 = "0imxbi6y1165bi2rik0n98v79fkgp8alb615qh41idg1p2krzyy5"; 11 + }; 12 + 13 + cargoSha256 = "0h831rf5vlvpzfm4sr3fvwlc0ys776fqis90y414mczphkxvz437"; 14 + 15 + meta = with lib; { 16 + homepage = "https://github.com/softprops/git-codeowners"; 17 + description = "a git extension to work with CODEOWNERS files"; 18 + license = licenses.mit; 19 + maintainers = with maintainers; [ zimbatm ]; 20 + }; 21 + }
-7
pkgs/build-support/fetchadc/builder.sh
··· 1 - source $stdenv/setup 2 - 3 - loginpage=`curl --insecure -s -L -b cookies.txt "$url"` 4 - 5 - [[ $loginpage =~ form[^\>]+action=\"([^\"]+)\" ]] && loginurl=${BASH_REMATCH[1]} 6 - 7 - curl --insecure -s --output "$out" -L -b cookies.txt --data "appleId=${adc_user}&accountPassword=${adc_pass}" "https://idmsa.apple.com/IDMSWebAuth/${loginurl}"
-36
pkgs/build-support/fetchadc/default.nix
··· 1 - { stdenv, curl, adc_user, adc_pass }: 2 - 3 - { # Path to fetch. 4 - path 5 - 6 - # Hash of the downloaded file 7 - , sha256 8 - 9 - , # Additional curl options needed for the download to succeed. 10 - curlOpts ? "" 11 - 12 - , # Name of the file. If empty, use the basename of `path'. 13 - name ? "" 14 - }: 15 - 16 - stdenv.mkDerivation { 17 - url = "https://developer.apple.com/downloads/download.action?path=${path}"; 18 - 19 - name = if name != "" then name else baseNameOf path; 20 - builder = ./builder.sh; 21 - 22 - buildInputs = [ curl ]; 23 - 24 - meta = { 25 - # Password-guarded files from ADC are certainly unfree, as far as we're concerned! 26 - license = stdenv.lib.licenses.unfree; 27 - }; 28 - 29 - outputHashAlgo = "sha256"; 30 - outputHash = sha256; 31 - outputHashMode = "flat"; 32 - 33 - inherit curlOpts adc_user adc_pass; 34 - 35 - preferLocalBuild = true; 36 - }
+3 -3
pkgs/build-support/fetchbower/default.nix
··· 4 4 let 5 5 components = lib.splitString "#" version; 6 6 hash = lib.last components; 7 - ver = if builtins.length components == 1 then version else hash; 7 + ver = if builtins.length components == 1 then (cleanName version) else hash; 8 8 in ver; 9 9 10 - bowerName = name: lib.replaceStrings ["/"] ["-"] name; 10 + cleanName = name: lib.replaceStrings ["/" ":"] ["-" "-"] name; 11 11 12 12 fetchbower = name: version: target: outputHash: stdenv.mkDerivation { 13 - name = "${bowerName name}-${bowerVersion version}"; 13 + name = "${cleanName name}-${bowerVersion version}"; 14 14 SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt"; 15 15 buildCommand = '' 16 16 fetch-bower --quiet --out=$PWD/out "${name}" "${target}" "${version}"
-10
pkgs/build-support/fetchgitrevision/default.nix
··· 1 - runCommand: git: repository: branch: 2 - import (runCommand "head-revision" 3 - { buildInputs = [ git ]; 4 - dummy = builtins.currentTime; 5 - } 6 - '' 7 - rev=$(git ls-remote ${repository} | grep "refs/${branch}$" | awk '{ print $1 }') 8 - echo "[ \"$rev\" ]" > $out 9 - echo Latest revision in ${branch} is $rev 10 - '')
+2 -2
pkgs/development/idris-modules/with-packages.nix
··· 10 10 11 11 installIdrisLib () { 12 12 if [ -d $1/lib/${idris.name} ]; then 13 - ln -sv $1/lib/${idris.name}/* $out/lib/${idris.name} 13 + ln -fsv $1/lib/${idris.name}/* $out/lib/${idris.name} 14 14 fi 15 15 } 16 16 ··· 34 34 ''; 35 35 36 36 buildPhase = '' 37 - gcc -O3 -o idris idris.c 37 + $CC -O3 -o idris idris.c 38 38 ''; 39 39 40 40 installPhase = ''
+6 -6
pkgs/development/interpreters/php/default.nix
··· 326 326 327 327 in { 328 328 php56 = generic { 329 - version = "5.6.31"; 330 - sha256 = "03xixkvfp64bqp97p8vlj3hp63bpjw7hc16b7fgm7w35rdlp2fcg"; 329 + version = "5.6.32"; 330 + sha256 = "0lfbmdkvijkm6xc4p9sykv66y8xwhws0vsmka8v5cax4bxx4xr1y"; 331 331 }; 332 332 333 333 php70 = generic { 334 - version = "7.0.24"; 335 - sha256 = "06fgpljz6xpxxkpf4cv9rqz8g504l9ikbw5aq0hqh5sgd611kycv"; 334 + version = "7.0.25"; 335 + sha256 = "09fc2lj447phprvilvq2sb6n0r1snj142f8faphrd896s6b4v8lm"; 336 336 }; 337 337 338 338 php71 = generic { 339 - version = "7.1.9"; 340 - sha256 = "1blvzm2js8mrdbmwks0v6nlb5wj4789ixzmlxm1l8z6xvw8cqk9i"; 339 + version = "7.1.11"; 340 + sha256 = "0ww5493w8w3jlks0xqlfm3v6mm53vpnv5vjy63inkj8zf3gdfikn"; 341 341 }; 342 342 }
+2 -2
pkgs/development/node-packages/default-v4.nix
··· 1 - {pkgs, system, nodejs}: 1 + {pkgs, system, nodejs, stdenv}: 2 2 3 3 let 4 4 nodePackages = import ./composition-v4.nix { ··· 43 43 buildInputs = oldAttrs.buildInputs ++ [ pkgs.makeWrapper ]; 44 44 postInstall = '' 45 45 for prog in bower2nix fetch-bower; do 46 - wrapProgram "$out/bin/$prog" --prefix PATH : "${pkgs.git}/bin" 46 + wrapProgram "$out/bin/$prog" --prefix PATH : ${stdenv.lib.makeBinPath [ pkgs.git pkgs.nix ]} 47 47 done 48 48 ''; 49 49 });
+2 -2
pkgs/development/node-packages/default-v6.nix
··· 1 - {pkgs, system, nodejs}: 1 + {pkgs, system, nodejs, stdenv}: 2 2 3 3 let 4 4 nodePackages = import ./composition-v6.nix { ··· 41 41 buildInputs = oldAttrs.buildInputs ++ [ pkgs.makeWrapper ]; 42 42 postInstall = '' 43 43 for prog in bower2nix fetch-bower; do 44 - wrapProgram "$out/bin/$prog" --prefix PATH : "${pkgs.git}/bin" 44 + wrapProgram "$out/bin/$prog" --prefix PATH : ${stdenv.lib.makeBinPath [ pkgs.git pkgs.nix ]} 45 45 done 46 46 ''; 47 47 });
+4 -2
pkgs/development/python-modules/pandas/default.nix
··· 8 8 , cython 9 9 , dateutil 10 10 , scipy 11 + , moto 11 12 , numexpr 12 13 , pytz 13 14 , xlrd ··· 27 28 inherit (stdenv) isDarwin; 28 29 in buildPythonPackage rec { 29 30 pname = "pandas"; 30 - version = "0.20.3"; 31 + version = "0.21.0"; 31 32 name = "${pname}-${version}"; 32 33 33 34 src = fetchPypi { 34 35 inherit pname version; 35 - sha256 = "a777e07633d83d546c55706420179551c8e01075b53c497dcf8ae4036766bc66"; 36 + sha256 = "0nf50ls2cnlsd2635nyji7l70xc91dw81qg5y01g5sifwwqcpmaw"; 36 37 }; 37 38 38 39 LC_ALL = "en_US.UTF-8"; ··· 64 65 "['pandas/src/klib', 'pandas/src', '$cpp_sdk']" 65 66 ''; 66 67 68 + checkInputs = [ moto ]; 67 69 checkPhase = '' 68 70 runHook preCheck 69 71 ''
+2 -2
pkgs/development/tools/build-managers/gradle/default.nix
··· 52 52 }; 53 53 54 54 gradle_latest = gradleGen rec { 55 - name = "gradle-4.2.1"; 55 + name = "gradle-4.3"; 56 56 nativeVersion = "0.14"; 57 57 58 58 src = fetchurl { 59 59 url = "http://services.gradle.org/distributions/${name}-bin.zip"; 60 - sha256 = "1h7v133rm81jf0bgv9mgvydl7rgh4430dnsfs66wflfay82cqldm"; 60 + sha256 = "0k358y18pp2809kn5il4kv3qvlqrbwmy276bbm3mnmwjxx7g9jwd"; 61 61 }; 62 62 }; 63 63
+2 -2
pkgs/development/tools/continuous-integration/jenkins/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 name = "jenkins-${version}"; 5 - version = "2.86"; 5 + version = "2.87"; 6 6 7 7 src = fetchurl { 8 8 url = "http://mirrors.jenkins-ci.org/war/${version}/jenkins.war"; 9 - sha256 = "198fcj2wkz8qxawk3mq29kwl51pxlbd7ivndcpvdvg42g0caqyi0"; 9 + sha256 = "1nzs9nn1nr2jav59v1xj39rzmrh1zmwaqnpaiqsll8kixkr9rb8f"; 10 10 }; 11 11 12 12 buildCommand = ''
+3 -3
pkgs/development/tools/ocaml/camlp5/default.nix
··· 6 6 7 7 stdenv.mkDerivation { 8 8 9 - name = "camlp5${if transitional then "_transitional" else ""}-7.02"; 9 + name = "camlp5${if transitional then "_transitional" else ""}-7.03"; 10 10 11 11 src = fetchzip { 12 - url = https://github.com/camlp5/camlp5/archive/rel702.tar.gz; 13 - sha256 = "1m2d55zrgllidhgslvzgmr27f56qzdahz2sv56bvjs3bg7grmhnc"; 12 + url = https://github.com/camlp5/camlp5/archive/rel703.tar.gz; 13 + sha256 = "0bwzhp4qjypfa0x8drp8w434dfixm1nzrm6pcy9s5akpmqvb50a8"; 14 14 }; 15 15 16 16 buildInputs = [ ocaml ];
+54
pkgs/development/tools/rust/rustup/0001-dynamically-patchelf-binaries.patch
··· 1 + From c21cc756b69a5f33c8a7758b746a816f40f55932 Mon Sep 17 00:00:00 2001 2 + From: Leon Isenberg <ljli@users.noreply.github.com> 3 + Date: Sat, 28 Oct 2017 17:58:17 +0200 4 + Subject: [PATCH] nix customization: patchelf installed binaries 5 + 6 + --- 7 + src/rustup-dist/src/component/package.rs | 24 +++++++++++++++++++++++- 8 + 1 file changed, 23 insertions(+), 1 deletion(-) 9 + 10 + diff --git a/src/rustup-dist/src/component/package.rs b/src/rustup-dist/src/component/package.rs 11 + index 8aa63db9..4d219826 100644 12 + --- a/src/rustup-dist/src/component/package.rs 13 + +++ b/src/rustup-dist/src/component/package.rs 14 + @@ -99,7 +99,13 @@ impl Package for DirectoryPackage { 15 + let src_path = root.join(&path); 16 + 17 + match &*part.0 { 18 + - "file" => try!(builder.copy_file(path.clone(), &src_path)), 19 + + "file" => { 20 + + try!(builder.copy_file(path.clone(), &src_path)); 21 + + nix_patchelf_if_needed( 22 + + &target.prefix().path().join(path.clone()), 23 + + &src_path, 24 + + ) 25 + + } 26 + "dir" => try!(builder.copy_dir(path.clone(), &src_path)), 27 + _ => return Err(ErrorKind::CorruptComponent(name.to_owned()).into()), 28 + } 29 + @@ -117,6 +123,22 @@ impl Package for DirectoryPackage { 30 + } 31 + } 32 + 33 + +fn nix_patchelf_if_needed(dest_path: &Path, src_path: &Path) { 34 + + let is_bin = if let Some(p) = src_path.parent() { 35 + + p.ends_with("bin") 36 + + } else { 37 + + false 38 + + }; 39 + + 40 + + if is_bin { 41 + + let _ = ::std::process::Command::new("@patchelf@/bin/patchelf") 42 + + .arg("--set-interpreter") 43 + + .arg("@dynamicLinker@") 44 + + .arg(dest_path) 45 + + .output(); 46 + + } 47 + +} 48 + + 49 + // On Unix we need to set up the file permissions correctly so 50 + // binaries are executable and directories readable. This shouldn't be 51 + // necessary: the source files *should* have the right permissions, 52 + -- 53 + 2.14.1 54 +
-75
pkgs/development/tools/rust/rustup/0001-use-hardcoded-dynamic-linker.patch
··· 1 - From 36c053f37670c6003f9e8dc001741f7c49e9526a Mon Sep 17 00:00:00 2001 2 - From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io> 3 - Date: Sat, 15 Apr 2017 20:42:10 +0200 4 - Subject: [PATCH] use hardcoded dynamic-linker 5 - MIME-Version: 1.0 6 - Content-Type: text/plain; charset=UTF-8 7 - Content-Transfer-Encoding: 8bit 8 - 9 - Signed-off-by: Jörg Thalheim <joerg@thalheim.io> 10 - --- 11 - src/rustup-cli/common.rs | 3 ++- 12 - src/rustup/toolchain.rs | 22 ++++++++++++++++++++-- 13 - 2 files changed, 22 insertions(+), 3 deletions(-) 14 - 15 - diff --git a/src/rustup-cli/common.rs b/src/rustup-cli/common.rs 16 - index 1abf345..21096e7 100644 17 - --- a/src/rustup-cli/common.rs 18 - +++ b/src/rustup-cli/common.rs 19 - @@ -220,7 +220,8 @@ pub fn rustc_version(toolchain: &Toolchain) -> String { 20 - if toolchain.exists() { 21 - let rustc_path = toolchain.binary_file("rustc"); 22 - if utils::is_file(&rustc_path) { 23 - - let mut cmd = Command::new(&rustc_path); 24 - + let mut cmd = Command::new("@dynamicLinker@"); 25 - + cmd.arg(&rustc_path); 26 - cmd.arg("--version"); 27 - toolchain.set_ldpath(&mut cmd); 28 - 29 - diff --git a/src/rustup/toolchain.rs b/src/rustup/toolchain.rs 30 - index dc29c32..212a4ab 100644 31 - --- a/src/rustup/toolchain.rs 32 - +++ b/src/rustup/toolchain.rs 33 - @@ -315,7 +315,7 @@ impl<'a> Toolchain<'a> { 34 - } 35 - Path::new(&binary) 36 - }; 37 - - let mut cmd = Command::new(&path); 38 - + let mut cmd = wrap_elf_interpreter(&path); 39 - self.set_env(&mut cmd); 40 - Ok(cmd) 41 - } 42 - @@ -363,7 +363,7 @@ impl<'a> Toolchain<'a> { 43 - } else { 44 - src_file 45 - }; 46 - - let mut cmd = Command::new(exe_path); 47 - + let mut cmd = wrap_elf_interpreter(exe_path); 48 - self.set_env(&mut cmd); 49 - cmd.env("RUSTUP_TOOLCHAIN", &primary_toolchain.name); 50 - Ok(cmd) 51 - @@ -648,3 +648,21 @@ impl<'a> Toolchain<'a> { 52 - path 53 - } 54 - } 55 - + 56 - +fn wrap_elf_interpreter<S: AsRef<OsStr>>(p: S) -> Command { 57 - + use std::fs::File; 58 - + use std::io::Read; 59 - + let path = Path::new(&p); 60 - + let is_elf = File::open(path).map(|mut f| { 61 - + let mut buf = [0; 4]; 62 - + let _ = f.read(&mut buf); 63 - + buf == b"\x7fELF"[..] 64 - + }).unwrap_or(false); 65 - + if is_elf { 66 - + let mut cmd = Command::new("@dynamicLinker@"); 67 - + cmd.arg(&path); 68 - + cmd 69 - + } else { 70 - + Command::new(&path) 71 - + } 72 - +} 73 - -- 74 - 2.12.2 75 -
+9 -7
pkgs/development/tools/rust/rustup/default.nix
··· 1 - { stdenv, lib, runCommand 1 + { stdenv, lib, runCommand, patchelf 2 2 , fetchFromGitHub, rustPlatform 3 3 , pkgconfig, curl, Security }: 4 4 5 5 rustPlatform.buildRustPackage rec { 6 6 name = "rustup-${version}"; 7 - version = "1.3.0"; 7 + version = "2017-10-29"; 8 8 9 - cargoSha256 = "1yd7k0jpx78p5bp6iyzgbyj7pjz8vyjg9g7fmf1bl60jsbdpgv3g"; 9 + cargoSha256 = "1xwxv8y9xjgdmm92ldrn9m9fml2zb5h7qqm7dhw63j6psb3ajqrw"; 10 10 11 11 src = fetchFromGitHub { 12 12 owner = "rust-lang-nursery"; 13 13 repo = "rustup.rs"; 14 - rev = version; 15 - sha256 = "199jlqqidzak7nxmv2nzjzv7zfzy9z7hw6h8d8wf1rbfdwd9l6hs"; 14 + rev = "13c8092507bf646f3ef6a621fe2c5a68212e800f"; 15 + sha256 = "1qd01rjk9qpfzgqs35f5nxrcf00kmf76zwmgj3yzdig9zymjwndg"; 16 16 }; 17 17 18 18 nativeBuildInputs = [ pkgconfig ]; ··· 24 24 cargoBuildFlags = [ "--features no-self-update" ]; 25 25 26 26 patches = lib.optionals stdenv.isLinux [ 27 - (runCommand "0001-use-hardcoded-dynamic-linker.patch" { CC=stdenv.cc; } '' 27 + (runCommand "0001-dynamically-patchelf-binaries.patch" { CC=stdenv.cc; patchelf = patchelf; } '' 28 28 export dynamicLinker=$(cat $CC/nix-support/dynamic-linker) 29 - substituteAll ${./0001-use-hardcoded-dynamic-linker.patch} $out 29 + substitute ${./0001-dynamically-patchelf-binaries.patch} $out \ 30 + --subst-var patchelf \ 31 + --subst-var dynamicLinker 30 32 '') 31 33 ]; 32 34
+407
pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/4.4.patch
··· 1 + commit e7cae741f6d645ac68fe8823ca6ef45dbbf6891b 2 + Author: Tejun Heo <tj@kernel.org> 3 + Date: Fri Mar 11 07:31:23 2016 -0500 4 + 5 + sched: Misc preps for cgroup unified hierarchy interface 6 + 7 + Make the following changes in preparation for the cpu controller 8 + interface implementation for the unified hierarchy. This patch 9 + doesn't cause any functional differences. 10 + 11 + * s/cpu_stats_show()/cpu_cfs_stats_show()/ 12 + 13 + * s/cpu_files/cpu_legacy_files/ 14 + 15 + * Separate out cpuacct_stats_read() from cpuacct_stats_show(). While 16 + at it, remove pointless cpuacct_stat_desc[] array. 17 + 18 + Signed-off-by: Tejun Heo <tj@kernel.org> 19 + Cc: Ingo Molnar <mingo@redhat.com> 20 + Cc: Peter Zijlstra <peterz@infradead.org> 21 + Cc: Li Zefan <lizefan@huawei.com> 22 + Cc: Johannes Weiner <hannes@cmpxchg.org> 23 + 24 + diff --git a/kernel/sched/core.c b/kernel/sched/core.c 25 + index 732e993..77f3ddd 100644 26 + --- a/kernel/sched/core.c 27 + +++ b/kernel/sched/core.c 28 + @@ -8512,7 +8512,7 @@ static int __cfs_schedulable(struct task_group *tg, u64 period, u64 quota) 29 + return ret; 30 + } 31 + 32 + -static int cpu_stats_show(struct seq_file *sf, void *v) 33 + +static int cpu_cfs_stats_show(struct seq_file *sf, void *v) 34 + { 35 + struct task_group *tg = css_tg(seq_css(sf)); 36 + struct cfs_bandwidth *cfs_b = &tg->cfs_bandwidth; 37 + @@ -8552,7 +8552,7 @@ static u64 cpu_rt_period_read_uint(struct cgroup_subsys_state *css, 38 + } 39 + #endif /* CONFIG_RT_GROUP_SCHED */ 40 + 41 + -static struct cftype cpu_files[] = { 42 + +static struct cftype cpu_legacy_files[] = { 43 + #ifdef CONFIG_FAIR_GROUP_SCHED 44 + { 45 + .name = "shares", 46 + @@ -8573,7 +8573,7 @@ static struct cftype cpu_files[] = { 47 + }, 48 + { 49 + .name = "stat", 50 + - .seq_show = cpu_stats_show, 51 + + .seq_show = cpu_cfs_stats_show, 52 + }, 53 + #endif 54 + #ifdef CONFIG_RT_GROUP_SCHED 55 + @@ -8599,7 +8599,7 @@ struct cgroup_subsys cpu_cgrp_subsys = { 56 + .fork = cpu_cgroup_fork, 57 + .can_attach = cpu_cgroup_can_attach, 58 + .attach = cpu_cgroup_attach, 59 + - .legacy_cftypes = cpu_files, 60 + + .legacy_cftypes = cpu_legacy_files, 61 + .early_init = 1, 62 + }; 63 + 64 + diff --git a/kernel/sched/cpuacct.c b/kernel/sched/cpuacct.c 65 + index dd7cbb5..42b2dd5 100644 66 + --- a/kernel/sched/cpuacct.c 67 + +++ b/kernel/sched/cpuacct.c 68 + @@ -177,36 +177,33 @@ static int cpuacct_percpu_seq_show(struct seq_file *m, void *V) 69 + return 0; 70 + } 71 + 72 + -static const char * const cpuacct_stat_desc[] = { 73 + - [CPUACCT_STAT_USER] = "user", 74 + - [CPUACCT_STAT_SYSTEM] = "system", 75 + -}; 76 + - 77 + -static int cpuacct_stats_show(struct seq_file *sf, void *v) 78 + +static void cpuacct_stats_read(struct cpuacct *ca, u64 *userp, u64 *sysp) 79 + { 80 + - struct cpuacct *ca = css_ca(seq_css(sf)); 81 + int cpu; 82 + - s64 val = 0; 83 + 84 + + *userp = 0; 85 + for_each_online_cpu(cpu) { 86 + struct kernel_cpustat *kcpustat = per_cpu_ptr(ca->cpustat, cpu); 87 + - val += kcpustat->cpustat[CPUTIME_USER]; 88 + - val += kcpustat->cpustat[CPUTIME_NICE]; 89 + + *userp += kcpustat->cpustat[CPUTIME_USER]; 90 + + *userp += kcpustat->cpustat[CPUTIME_NICE]; 91 + } 92 + - val = cputime64_to_clock_t(val); 93 + - seq_printf(sf, "%s %lld\n", cpuacct_stat_desc[CPUACCT_STAT_USER], val); 94 + 95 + - val = 0; 96 + + *sysp = 0; 97 + for_each_online_cpu(cpu) { 98 + struct kernel_cpustat *kcpustat = per_cpu_ptr(ca->cpustat, cpu); 99 + - val += kcpustat->cpustat[CPUTIME_SYSTEM]; 100 + - val += kcpustat->cpustat[CPUTIME_IRQ]; 101 + - val += kcpustat->cpustat[CPUTIME_SOFTIRQ]; 102 + + *sysp += kcpustat->cpustat[CPUTIME_SYSTEM]; 103 + + *sysp += kcpustat->cpustat[CPUTIME_IRQ]; 104 + + *sysp += kcpustat->cpustat[CPUTIME_SOFTIRQ]; 105 + } 106 + +} 107 + 108 + - val = cputime64_to_clock_t(val); 109 + - seq_printf(sf, "%s %lld\n", cpuacct_stat_desc[CPUACCT_STAT_SYSTEM], val); 110 + +static int cpuacct_stats_show(struct seq_file *sf, void *v) 111 + +{ 112 + + cputime64_t user, sys; 113 + 114 + + cpuacct_stats_read(css_ca(seq_css(sf)), &user, &sys); 115 + + seq_printf(sf, "user %lld\n", cputime64_to_clock_t(user)); 116 + + seq_printf(sf, "system %lld\n", cputime64_to_clock_t(sys)); 117 + return 0; 118 + } 119 + 120 + 121 + commit 1bb33e8a69f089f2d3f58a0e681d4ff352e11c97 122 + Author: Tejun Heo <tj@kernel.org> 123 + Date: Fri Mar 11 07:31:23 2016 -0500 124 + 125 + sched: Implement interface for cgroup unified hierarchy 126 + 127 + While the cpu controller doesn't have any functional problems, there 128 + are a couple interface issues which can be addressed in the v2 129 + interface. 130 + 131 + * cpuacct being a separate controller. This separation is artificial 132 + and rather pointless as demonstrated by most use cases co-mounting 133 + the two controllers. It also forces certain information to be 134 + accounted twice. 135 + 136 + * Use of different time units. Writable control knobs use 137 + microseconds, some stat fields use nanoseconds while other cpuacct 138 + stat fields use centiseconds. 139 + 140 + * Control knobs which can't be used in the root cgroup still show up 141 + in the root. 142 + 143 + * Control knob names and semantics aren't consistent with other 144 + controllers. 145 + 146 + This patchset implements cpu controller's interface on the unified 147 + hierarchy which adheres to the controller file conventions described 148 + in Documentation/cgroups/unified-hierarchy.txt. Overall, the 149 + following changes are made. 150 + 151 + * cpuacct is implictly enabled and disabled by cpu and its information 152 + is reported through "cpu.stat" which now uses microseconds for all 153 + time durations. All time duration fields now have "_usec" appended 154 + to them for clarity. While this doesn't solve the double accounting 155 + immediately, once majority of users switch to v2, cpu can directly 156 + account and report the relevant stats and cpuacct can be disabled on 157 + the unified hierarchy. 158 + 159 + Note that cpuacct.usage_percpu is currently not included in 160 + "cpu.stat". If this information is actually called for, it can be 161 + added later. 162 + 163 + * "cpu.shares" is replaced with "cpu.weight" and operates on the 164 + standard scale defined by CGROUP_WEIGHT_MIN/DFL/MAX (1, 100, 10000). 165 + The weight is scaled to scheduler weight so that 100 maps to 1024 166 + and the ratio relationship is preserved - if weight is W and its 167 + scaled value is S, W / 100 == S / 1024. While the mapped range is a 168 + bit smaller than the orignal scheduler weight range, the dead zones 169 + on both sides are relatively small and covers wider range than the 170 + nice value mappings. This file doesn't make sense in the root 171 + cgroup and isn't create on root. 172 + 173 + * "cpu.cfs_quota_us" and "cpu.cfs_period_us" are replaced by "cpu.max" 174 + which contains both quota and period. 175 + 176 + * "cpu.rt_runtime_us" and "cpu.rt_period_us" are replaced by 177 + "cpu.rt.max" which contains both runtime and period. 178 + 179 + v2: cpu_stats_show() was incorrectly using CONFIG_FAIR_GROUP_SCHED for 180 + CFS bandwidth stats and also using raw division for u64. Use 181 + CONFIG_CFS_BANDWITH and do_div() instead. 182 + 183 + The semantics of "cpu.rt.max" is not fully decided yet. Dropped 184 + for now. 185 + 186 + Signed-off-by: Tejun Heo <tj@kernel.org> 187 + Cc: Ingo Molnar <mingo@redhat.com> 188 + Cc: Peter Zijlstra <peterz@infradead.org> 189 + Cc: Li Zefan <lizefan@huawei.com> 190 + Cc: Johannes Weiner <hannes@cmpxchg.org> 191 + 192 + diff --git a/kernel/sched/core.c b/kernel/sched/core.c 193 + index 77f3ddd..7aafe63 100644 194 + --- a/kernel/sched/core.c 195 + +++ b/kernel/sched/core.c 196 + @@ -8591,6 +8591,139 @@ static struct cftype cpu_legacy_files[] = { 197 + { } /* terminate */ 198 + }; 199 + 200 + +static int cpu_stats_show(struct seq_file *sf, void *v) 201 + +{ 202 + + cpuacct_cpu_stats_show(sf); 203 + + 204 + +#ifdef CONFIG_CFS_BANDWIDTH 205 + + { 206 + + struct task_group *tg = css_tg(seq_css(sf)); 207 + + struct cfs_bandwidth *cfs_b = &tg->cfs_bandwidth; 208 + + u64 throttled_usec; 209 + + 210 + + throttled_usec = cfs_b->throttled_time; 211 + + do_div(throttled_usec, NSEC_PER_USEC); 212 + + 213 + + seq_printf(sf, "nr_periods %d\n" 214 + + "nr_throttled %d\n" 215 + + "throttled_usec %llu\n", 216 + + cfs_b->nr_periods, cfs_b->nr_throttled, 217 + + throttled_usec); 218 + + } 219 + +#endif 220 + + return 0; 221 + +} 222 + + 223 + +#ifdef CONFIG_FAIR_GROUP_SCHED 224 + +static u64 cpu_weight_read_u64(struct cgroup_subsys_state *css, 225 + + struct cftype *cft) 226 + +{ 227 + + struct task_group *tg = css_tg(css); 228 + + u64 weight = scale_load_down(tg->shares); 229 + + 230 + + return DIV_ROUND_CLOSEST_ULL(weight * CGROUP_WEIGHT_DFL, 1024); 231 + +} 232 + + 233 + +static int cpu_weight_write_u64(struct cgroup_subsys_state *css, 234 + + struct cftype *cftype, u64 weight) 235 + +{ 236 + + /* 237 + + * cgroup weight knobs should use the common MIN, DFL and MAX 238 + + * values which are 1, 100 and 10000 respectively. While it loses 239 + + * a bit of range on both ends, it maps pretty well onto the shares 240 + + * value used by scheduler and the round-trip conversions preserve 241 + + * the original value over the entire range. 242 + + */ 243 + + if (weight < CGROUP_WEIGHT_MIN || weight > CGROUP_WEIGHT_MAX) 244 + + return -ERANGE; 245 + + 246 + + weight = DIV_ROUND_CLOSEST_ULL(weight * 1024, CGROUP_WEIGHT_DFL); 247 + + 248 + + return sched_group_set_shares(css_tg(css), scale_load(weight)); 249 + +} 250 + +#endif 251 + + 252 + +static void __maybe_unused cpu_period_quota_print(struct seq_file *sf, 253 + + long period, long quota) 254 + +{ 255 + + if (quota < 0) 256 + + seq_puts(sf, "max"); 257 + + else 258 + + seq_printf(sf, "%ld", quota); 259 + + 260 + + seq_printf(sf, " %ld\n", period); 261 + +} 262 + + 263 + +/* caller should put the current value in *@periodp before calling */ 264 + +static int __maybe_unused cpu_period_quota_parse(char *buf, 265 + + u64 *periodp, u64 *quotap) 266 + +{ 267 + + char tok[21]; /* U64_MAX */ 268 + + 269 + + if (!sscanf(buf, "%s %llu", tok, periodp)) 270 + + return -EINVAL; 271 + + 272 + + *periodp *= NSEC_PER_USEC; 273 + + 274 + + if (sscanf(tok, "%llu", quotap)) 275 + + *quotap *= NSEC_PER_USEC; 276 + + else if (!strcmp(tok, "max")) 277 + + *quotap = RUNTIME_INF; 278 + + else 279 + + return -EINVAL; 280 + + 281 + + return 0; 282 + +} 283 + + 284 + +#ifdef CONFIG_CFS_BANDWIDTH 285 + +static int cpu_max_show(struct seq_file *sf, void *v) 286 + +{ 287 + + struct task_group *tg = css_tg(seq_css(sf)); 288 + + 289 + + cpu_period_quota_print(sf, tg_get_cfs_period(tg), tg_get_cfs_quota(tg)); 290 + + return 0; 291 + +} 292 + + 293 + +static ssize_t cpu_max_write(struct kernfs_open_file *of, 294 + + char *buf, size_t nbytes, loff_t off) 295 + +{ 296 + + struct task_group *tg = css_tg(of_css(of)); 297 + + u64 period = tg_get_cfs_period(tg); 298 + + u64 quota; 299 + + int ret; 300 + + 301 + + ret = cpu_period_quota_parse(buf, &period, &quota); 302 + + if (!ret) 303 + + ret = tg_set_cfs_bandwidth(tg, period, quota); 304 + + return ret ?: nbytes; 305 + +} 306 + +#endif 307 + + 308 + +static struct cftype cpu_files[] = { 309 + + { 310 + + .name = "stat", 311 + + .flags = CFTYPE_NOT_ON_ROOT, 312 + + .seq_show = cpu_stats_show, 313 + + }, 314 + +#ifdef CONFIG_FAIR_GROUP_SCHED 315 + + { 316 + + .name = "weight", 317 + + .flags = CFTYPE_NOT_ON_ROOT, 318 + + .read_u64 = cpu_weight_read_u64, 319 + + .write_u64 = cpu_weight_write_u64, 320 + + }, 321 + +#endif 322 + +#ifdef CONFIG_CFS_BANDWIDTH 323 + + { 324 + + .name = "max", 325 + + .flags = CFTYPE_NOT_ON_ROOT, 326 + + .seq_show = cpu_max_show, 327 + + .write = cpu_max_write, 328 + + }, 329 + +#endif 330 + + { } /* terminate */ 331 + +}; 332 + + 333 + struct cgroup_subsys cpu_cgrp_subsys = { 334 + .css_alloc = cpu_cgroup_css_alloc, 335 + .css_free = cpu_cgroup_css_free, 336 + @@ -8600,7 +8733,15 @@ struct cgroup_subsys cpu_cgrp_subsys = { 337 + .can_attach = cpu_cgroup_can_attach, 338 + .attach = cpu_cgroup_attach, 339 + .legacy_cftypes = cpu_legacy_files, 340 + + .dfl_cftypes = cpu_files, 341 + .early_init = 1, 342 + +#ifdef CONFIG_CGROUP_CPUACCT 343 + + /* 344 + + * cpuacct is enabled together with cpu on the unified hierarchy 345 + + * and its stats are reported through "cpu.stat". 346 + + */ 347 + + .depends_on = 1 << cpuacct_cgrp_id, 348 + +#endif 349 + }; 350 + 351 + #endif /* CONFIG_CGROUP_SCHED */ 352 + diff --git a/kernel/sched/cpuacct.c b/kernel/sched/cpuacct.c 353 + index 42b2dd5..b4d32a6 100644 354 + --- a/kernel/sched/cpuacct.c 355 + +++ b/kernel/sched/cpuacct.c 356 + @@ -224,6 +224,30 @@ static struct cftype files[] = { 357 + { } /* terminate */ 358 + }; 359 + 360 + +/* used to print cpuacct stats in cpu.stat on the unified hierarchy */ 361 + +void cpuacct_cpu_stats_show(struct seq_file *sf) 362 + +{ 363 + + struct cgroup_subsys_state *css; 364 + + u64 usage, user, sys; 365 + + 366 + + css = cgroup_get_e_css(seq_css(sf)->cgroup, &cpuacct_cgrp_subsys); 367 + + 368 + + usage = cpuusage_read(css, seq_cft(sf)); 369 + + cpuacct_stats_read(css_ca(css), &user, &sys); 370 + + 371 + + user *= TICK_NSEC; 372 + + sys *= TICK_NSEC; 373 + + do_div(usage, NSEC_PER_USEC); 374 + + do_div(user, NSEC_PER_USEC); 375 + + do_div(sys, NSEC_PER_USEC); 376 + + 377 + + seq_printf(sf, "usage_usec %llu\n" 378 + + "user_usec %llu\n" 379 + + "system_usec %llu\n", usage, user, sys); 380 + + 381 + + css_put(css); 382 + +} 383 + + 384 + /* 385 + * charge this task's execution time to its accounting group. 386 + * 387 + diff --git a/kernel/sched/cpuacct.h b/kernel/sched/cpuacct.h 388 + index ed60562..44eace9 100644 389 + --- a/kernel/sched/cpuacct.h 390 + +++ b/kernel/sched/cpuacct.h 391 + @@ -2,6 +2,7 @@ 392 + 393 + extern void cpuacct_charge(struct task_struct *tsk, u64 cputime); 394 + extern void cpuacct_account_field(struct task_struct *p, int index, u64 val); 395 + +extern void cpuacct_cpu_stats_show(struct seq_file *sf); 396 + 397 + #else 398 + 399 + @@ -14,4 +15,8 @@ cpuacct_account_field(struct task_struct *p, int index, u64 val) 400 + { 401 + } 402 + 403 + +static inline void cpuacct_cpu_stats_show(struct seq_file *sf) 404 + +{ 405 + +} 406 + + 407 + #endif
+11
pkgs/os-specific/linux/kernel/linux-4.4.nix
··· 1 + { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: 2 + 3 + import ./generic.nix (args // rec { 4 + version = "4.4.95"; 5 + extraMeta.branch = "4.4"; 6 + 7 + src = fetchurl { 8 + url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; 9 + sha256 = "07vkxhh435gilxsh9ag6zvf2r9k5l9ffqp72900c50nsfjrdgdrx"; 10 + }; 11 + } // (args.argsOverride or {}))
+3 -3
pkgs/os-specific/linux/kernel/linux-testing.nix
··· 1 1 { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: 2 2 3 3 import ./generic.nix (args // rec { 4 - version = "4.14-rc6"; 5 - modDirVersion = "4.14.0-rc6"; 4 + version = "4.14-rc7"; 5 + modDirVersion = "4.14.0-rc7"; 6 6 extraMeta.branch = "4.14"; 7 7 8 8 src = fetchurl { 9 9 url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz"; 10 - sha256 = "0gmxrf4jmw8xl5gx487chyx94yas7rva5jbkczm9iw9sw0c8gwcb"; 10 + sha256 = "1w7b1sc5dsxcqywsdbwgs92i8jpj7hsnss67yzb58z3bz3hb73m3"; 11 11 }; 12 12 13 13 # Should the testing kernels ever be built on Hydra?
+2 -2
pkgs/servers/monitoring/prometheus/alertmanager.nix
··· 2 2 3 3 buildGoPackage rec { 4 4 name = "alertmanager-${version}"; 5 - version = "0.8.0"; 5 + version = "0.9.1"; 6 6 rev = "v${version}"; 7 7 8 8 goPackagePath = "github.com/prometheus/alertmanager"; ··· 11 11 inherit rev; 12 12 owner = "prometheus"; 13 13 repo = "alertmanager"; 14 - sha256 = "0bqc58j0nrq7y8nbd927z7x74m8mcd2782cxkqwscpq6d9983qql"; 14 + sha256 = "1lkfj63pp4jf58xmn015r7s42p1wyj6fryihpmdn0k76b0ccwqzj"; 15 15 }; 16 16 17 17 # Tests exist, but seem to clash with the firewall.
+8 -6
pkgs/tools/text/highlight/default.nix
··· 1 - { stdenv, fetchurl, getopt, lua, boost, pkgconfig, gcc }: 1 + { stdenv, fetchFromGitHub, getopt, lua, boost, pkgconfig, gcc }: 2 2 3 3 with stdenv.lib; 4 4 5 5 stdenv.mkDerivation rec { 6 6 name = "highlight-${version}"; 7 - version = "3.39"; 7 + version = "3.40"; 8 8 9 - src = fetchurl { 10 - url = "http://www.andre-simon.de/zip/${name}.tar.bz2"; 11 - sha256 = "0z8gs69sqlyis4kvl8wwdgzywi199k73kkvn1mf9pf60npvcxwj4"; 9 + src = fetchFromGitHub { 10 + owner = "andre-simon"; 11 + repo = "highlight"; 12 + rev = "${version}"; 13 + sha256 = "0bkywhz4y10qcajimdha1ck5mvn7fsrv3yn8nd6rqbva39gbfmfd"; 12 14 }; 13 15 14 16 nativeBuildInputs = [ pkgconfig ] ++ optional stdenv.isDarwin gcc ; ··· 28 30 description = "Source code highlighting tool"; 29 31 homepage = http://www.andre-simon.de/doku/highlight/en/highlight.php; 30 32 platforms = platforms.unix; 31 - maintainers = [ maintainers.ndowens ]; 33 + maintainers = with maintainers; [ ndowens willibutz ]; 32 34 }; 33 35 }
+15 -11
pkgs/top-level/all-packages.nix
··· 126 126 vs = vs90wrapper; 127 127 }; 128 128 129 - fetchadc = callPackage ../build-support/fetchadc { 130 - adc_user = if config ? adc_user 131 - then config.adc_user 132 - else throw "You need an adc_user attribute in your config to download files from Apple Developer Connection"; 133 - adc_pass = if config ? adc_pass 134 - then config.adc_pass 135 - else throw "You need an adc_pass attribute in your config to download files from Apple Developer Connection"; 136 - }; 137 - 138 129 fetchbower = callPackage ../build-support/fetchbower { 139 130 inherit (nodePackages) bower2nix; 140 131 }; ··· 152 143 }; 153 144 154 145 fetchgitPrivate = callPackage ../build-support/fetchgit/private.nix { }; 155 - 156 - fetchgitrevision = import ../build-support/fetchgitrevision runCommand git; 157 146 158 147 fetchgitLocal = callPackage ../build-support/fetchgitlocal { }; 159 148 ··· 12442 12431 ]; 12443 12432 }; 12444 12433 12434 + linux_4_4 = callPackage ../os-specific/linux/kernel/linux-4.4.nix { 12435 + kernelPatches = 12436 + [ kernelPatches.bridge_stp_helper 12437 + kernelPatches.p9_fixes 12438 + kernelPatches.cpu-cgroup-v2."4.4" 12439 + kernelPatches.modinst_arg_list_too_long 12440 + ] 12441 + ++ lib.optionals ((platform.kernelArch or null) == "mips") 12442 + [ kernelPatches.mips_fpureg_emu 12443 + kernelPatches.mips_fpu_sigill 12444 + kernelPatches.mips_ext3_n32 12445 + ]; 12446 + }; 12447 + 12445 12448 linux_4_9 = callPackage ../os-specific/linux/kernel/linux-4.9.nix { 12446 12449 kernelPatches = 12447 12450 [ kernelPatches.bridge_stp_helper ··· 12664 12667 linuxPackages_hardened_copperhead = linuxPackagesFor pkgs.linux_hardened_copperhead; 12665 12668 linuxPackages_mptcp = linuxPackagesFor pkgs.linux_mptcp; 12666 12669 linuxPackages_rpi = linuxPackagesFor pkgs.linux_rpi; 12670 + linuxPackages_4_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_4); 12667 12671 linuxPackages_4_9 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_9); 12668 12672 linuxPackages_4_13 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_13); 12669 12673 # Don't forget to update linuxPackages_latest!
+1 -1
pkgs/top-level/node-packages.nix
··· 66 66 bower2nix.buildInputs = [ pkgs.makeWrapper ]; 67 67 bower2nix.postInstall = '' 68 68 for prog in bower2nix fetch-bower; do 69 - wrapProgram "$out/bin/$prog" --prefix PATH : "${pkgs.git}/bin" 69 + wrapProgram "$out/bin/$prog" --prefix PATH : ${stdenv.lib.makeBinPath [ pkgs.git pkgs.nix ]} 70 70 done 71 71 ''; 72 72 } // args.overrides or {};
+1 -1
pkgs/top-level/python-packages.nix
··· 12469 12469 patches = [ 12470 12470 (pkgs.fetchpatch { 12471 12471 url = https://github.com/drkjam/netaddr/commit/2ab73f10be7069c9412e853d2d0caf29bd624012.patch; 12472 - sha256 = "08rn1s3w9424jhandy4j9sksy852ny00088zh15nirw5ajqg1dn7"; 12472 + sha256 = "0s1cdn9v5alpviabhcjmzc0m2pnpq9dh2fnnk2x96dnry1pshg39"; 12473 12473 }) 12474 12474 ]; 12475 12475