From c2b0cb5db6c9df000060501ca2dd5293694da216 Mon Sep 17 00:00:00 2001 From: Benjamin Staffin Date: Thu, 16 Mar 2017 17:48:09 -0400 Subject: [PATCH 01/82] nixos: nix snowflake logo for the nixos manual launcher --- nixos/modules/services/misc/nixos-manual.nix | 5 ++--- pkgs/data/misc/nixos-artwork/icons.nix | 13 +++++++++++++ pkgs/top-level/all-packages.nix | 1 + 3 files changed, 16 insertions(+), 3 deletions(-) create mode 100644 pkgs/data/misc/nixos-artwork/icons.nix diff --git a/nixos/modules/services/misc/nixos-manual.nix b/nixos/modules/services/misc/nixos-manual.nix index 622607f3b32d..515864ec2e2d 100644 --- a/nixos/modules/services/misc/nixos-manual.nix +++ b/nixos/modules/services/misc/nixos-manual.nix @@ -62,8 +62,7 @@ let name = "nixos-manual"; desktopName = "NixOS Manual"; genericName = "View NixOS documentation in a web browser"; - # TODO: find a better icon (Nix logo + help overlay?) - icon = "system-help"; + icon = "nix-snowflake"; exec = "${helpScript}/bin/nixos-help"; categories = "System"; }; @@ -115,7 +114,7 @@ in environment.systemPackages = [ manual.manual helpScript ] - ++ optional config.services.xserver.enable desktopItem + ++ optionals config.services.xserver.enable [desktopItem pkgs.nixos-icons] ++ optional config.programs.man.enable manual.manpages; boot.extraTTYs = mkIf cfg.showManual ["tty${toString cfg.ttyNumber}"]; diff --git a/pkgs/data/misc/nixos-artwork/icons.nix b/pkgs/data/misc/nixos-artwork/icons.nix new file mode 100644 index 000000000000..cee6e600cbe0 --- /dev/null +++ b/pkgs/data/misc/nixos-artwork/icons.nix @@ -0,0 +1,13 @@ +{ stdenv, fetchFromGitHub, imagemagick }: + +stdenv.mkDerivation { + name = "nixos-icons-2017-03-16"; + srcs = fetchFromGitHub { + owner = "nixos"; + repo = "nixos-artwork"; + rev = "783ca1249fc4cfe523ad4e541f37e2229891bc8b"; + sha256 = "0wp08b1gh2chs1xri43wziznyjcplx0clpsrb13wzyscv290ay5a"; + }; + makeFlags = [ "DESTDIR=$(out)" "prefix=" ]; + buildInputs = [ imagemagick ]; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3d6ab328d22c..5459b3ded5ff 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17830,6 +17830,7 @@ with pkgs; nix-serve = callPackage ../tools/package-management/nix-serve { }; nixos-artwork = callPackage ../data/misc/nixos-artwork { }; + nixos-icons = callPackage ../data/misc/nixos-artwork/icons.nix { }; nixos-container = callPackage ../tools/virtualization/nixos-container { }; From 731917a800aaf7acbd8d20a0c45ac30d35204f32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 10 May 2017 09:52:11 +0100 Subject: [PATCH 02/82] cups: mount private /tmp printer driver and wrapper are often not written with security in mind. While reviewing https://github.com/NixOS/nixpkgs/pull/25654 I found a symlink-race vulnerability within the wrapper code, when writing unique files in /tmp. I expect this script to be reused in other models as well as similar vulnerabilities in the code of other vendors. Therefore I propose to make /tmp of cups.service private so that only processes with the same privileges are able to access these files. --- nixos/modules/services/printing/cupsd.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nixos/modules/services/printing/cupsd.nix b/nixos/modules/services/printing/cupsd.nix index 7ce2ae38fb36..ba9f99e6a8fb 100644 --- a/nixos/modules/services/printing/cupsd.nix +++ b/nixos/modules/services/printing/cupsd.nix @@ -324,6 +324,8 @@ in fi ''} ''; + + serviceConfig.PrivateTmp = true; }; systemd.services.cups-browsed = mkIf avahiEnabled From 171e3f85cea2bb5568be793a57b71426b8f35ce6 Mon Sep 17 00:00:00 2001 From: Jake Waksbaum Date: Sun, 14 May 2017 00:41:54 -0400 Subject: [PATCH 03/82] neovim: neovim-ruby 0.3.1 -> 0.4.0 --- pkgs/applications/editors/neovim/ruby_provider/gemset.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/editors/neovim/ruby_provider/gemset.nix b/pkgs/applications/editors/neovim/ruby_provider/gemset.nix index c3ed45a78481..6eac57148576 100644 --- a/pkgs/applications/editors/neovim/ruby_provider/gemset.nix +++ b/pkgs/applications/editors/neovim/ruby_provider/gemset.nix @@ -11,9 +11,9 @@ dependencies = ["msgpack"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "018mk4vqaxzbk4anq558h2rgj8prbn2rmi777iwrg3n0v8k5nxqw"; + sha256 = "1gvwa1zkirai7605x4hn2lynbw1caviga272iyy472jv7hs2zn92"; type = "gem"; }; - version = "0.3.1"; + version = "0.4.0"; }; -} \ No newline at end of file +} From 0bbbdfbc528e5b0f6fe0870304314a393923e02d Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Sat, 20 May 2017 22:25:05 -0500 Subject: [PATCH 04/82] manual: add "declarative package management" section MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This section gives some details on how to setup an "environment" without having to go through NixOS (although it could be used there too). I’ve tried to make it straightforward and have a kind of "tutorial" feel. Not sure if that’s appropriate for the manual, so any recommended changes would be helpful. --- doc/configuration.xml | 213 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 213 insertions(+) diff --git a/doc/configuration.xml b/doc/configuration.xml index 56950e07ab5c..361d23f7c656 100644 --- a/doc/configuration.xml +++ b/doc/configuration.xml @@ -243,5 +243,218 @@ set of packages. +
+ Declarative Package Management + +
+ Build an environment + + + Using packageOverrides, it is possible to manage + packages declaratively. This means that we can list all of our desired + packages within a declarative Nix expression. For example, to have + aspell, bc, + ffmpeg, coreutils, + gdb, nixUnstable, + emscripten, jq, + nox, and silver-searcher, we could + use the following in ~/.config/nixpkgs/config.nix: + + + +{ + packageOverrides = pkgs: with pkgs; { + myPackages = pkgs.buildEnv { + name = "my-packages"; + paths = [ aspell bc coreutils gdb ffmpeg nixUnstable emscripten jq nox silver-searcher ]; + }; + }; +} + + + + To install it into our environment, you can just run nix-env -iA + nixpkgs.myPackages. If you want to load the packages to be built + from a working copy of nixpkgs you just run + nix-env -f. -iA myPackages. To explore what's been + installed, just look through ~/.nix-profile/. You can + see that a lot of stuff has been installed. Some of this stuff is useful + some of it isn't. Let's tell Nixpkgs to only link the stuff that we want: + + + +{ + packageOverrides = pkgs: with pkgs; { + myPackages = pkgs.buildEnv { + name = "my-packages"; + paths = [ aspell bc coreutils gdb ffmpeg nixUnstable emscripten jq nox silver-searcher ]; + pathsToLink = [ "/share" "/bin" ]; + }; + }; +} + + + + pathsToLink tells Nixpkgs to only link the paths listed + which gets rid of the extra stuff in the profile. + /bin and /share are good + defaults for a user environment, getting rid of the clutter. If you are + running on Nix on MacOS, you may want to add another path as well, + /Applications, that makes GUI apps available. + + +
+ +
+ Getting documentation + + + After building that new environment, look through + ~/.nix-profile to make sure everything is there that + we wanted. Discerning readers will note that some files are missing. Look + inside ~/.nix-profile/share/man/man1/ to verify this. + There are no man pages for any of the Nix tools! This is because some + packages like Nix have multiple outputs for things like documentation (see + section 4). Let's make Nix install those as well. + + + +{ + packageOverrides = pkgs: with pkgs; { + myPackages = pkgs.buildEnv { + name = "my-packages"; + paths = [ aspell bc coreutils ffmpeg nixUnstable emscripten jq nox silver-searcher ]; + pathsToLink = [ "/share/man" "/share/doc" /bin" ]; + extraOutputsToInstall = [ "man" "doc" ]; + }; + }; +} + + + + This provides us with some useful documentation for using our packages. + However, if we actually want those manpages to be detected by man, we need + to set up our environment. This can also be managed within Nix + expressions. + + + +{ + packageOverrides = pkgs: with pkgs; rec { + myProfile = writeText "my-profile" '' +export PATH=$HOME/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/sbin:/bin:/usr/sbin:/usr/bin +export MANPATH=$HOME/.nix-profile/share/man:/nix/var/nix/profiles/default/share/man:/usr/share/man + ''; + myPackages = pkgs.buildEnv { + name = "my-packages"; + paths = [ + (runCommand "profile" {} '' +mkdir -p $out/etc/profile.d +cp ${myProfile} $out/etc/profile.d/my-profile.sh + '') + aspell + bc + coreutils + ffmpeg + man + nixUnstable + emscripten + jq + nox + silver-searcher + ]; + pathsToLink = [ "/share/man" "/share/doc" /bin" "/etc" ]; + extraOutputsToInstall = [ "man" "doc" ]; + }; + }; +} + + + + For this to work fully, you must also have this script sourced when you + are logged in. Try adding something like this to your + ~/.profile file: + + + +#!/bin/sh +if [ -d $HOME/.nix-profile/etc/profile.d ]; then + for i in $HOME/.nix-profile/etc/profile.d/*.sh; do + if [ -r $i ]; then + . $i + fi + done +fi + + + + Now just run source $HOME/.profile and you can starting + loading man pages from your environent. + + +
+ +
+ GNU info setup + + + Configuring GNU info is a little bit trickier than man pages. To work + correctly, info needs a database to be generated. This can be done with + some small modifications to our environment scripts. + + + +{ + packageOverrides = pkgs: with pkgs; rec { + myProfile = writeText "my-profile" '' +export PATH=$HOME/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/sbin:/bin:/usr/sbin:/usr/bin +export MANPATH=$HOME/.nix-profile/share/man:/nix/var/nix/profiles/default/share/man:/usr/share/man +export INFOPATH=$HOME/.nix-profile/share/info:/nix/var/nix/profiles/default/share/info:/usr/share/info + ''; + myPackages = pkgs.buildEnv { + name = "my-packages"; + paths = [ + (runCommand "profile" {} '' +mkdir -p $out/etc/profile.d +cp ${myProfile} $out/etc/profile.d/my-profile.sh + '') + aspell + bc + coreutils + ffmpeg + man + nixUnstable + emscripten + jq + nox + silver-searcher + texinfoInteractive + ]; + pathsToLink = [ "/share/man" "/share/doc" "/share/info" "/bin" "/etc" ]; + extraOutputsToInstall = [ "man" "doc" "info" ]; + postBuild = '' + if [ -x $out/bin/install-info -a -w $out/share/info ]; then + shopt -s nullglob + for i in $out/share/info/*.info $out/share/info/*.info.gz; do + $out/bin/install-info $i $out/share/info/dir + done + fi + ''; + }; + }; +} + + + + postBuild tells Nixpkgs to run a command after building + the environment. In this case, install-info adds the + installed info pages to dir which is GNU info's default + root node. Note that texinfoInteractive is added to the + environment to give the install-info command. + + +
+ +
From 29e04dfdaa85b8dcc4b3d5def175b33c210bb31f Mon Sep 17 00:00:00 2001 From: Renzo Carbonara Date: Fri, 7 Apr 2017 19:02:33 +0200 Subject: [PATCH 05/82] hunspellDicts: add spanish dictionaries. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit cf4f91f1a238da953edd1d6b83d225cefe7d5b52, which removed all of the spanish dictionaries. These dictionaries were previously part of the “Red IRIS” project, but they are now part of the “Recursos Linguísticos Abiertos del Español” project. Additionally, this cleans up the implementation of all the Hunspell dictionaries, since the supposedly internal `mkDict` function was either overspecialized or overgeneralized. Now we don't try to abstract beyond what makes sense to be abstracted. --- .../libraries/hunspell/dictionaries.nix | 219 ++++++++++++++++-- 1 file changed, 195 insertions(+), 24 deletions(-) diff --git a/pkgs/development/libraries/hunspell/dictionaries.nix b/pkgs/development/libraries/hunspell/dictionaries.nix index 0d21649a9b1f..120b4176c196 100644 --- a/pkgs/development/libraries/hunspell/dictionaries.nix +++ b/pkgs/development/libraries/hunspell/dictionaries.nix @@ -1,30 +1,13 @@ /* hunspell dictionaries */ -{ stdenv, fetchurl, unzip }: +{ stdenv, fetchurl, fetchFromGitHub, unzip, coreutils, bash, which, zip }: -with stdenv.lib; let - mkDict = - { name, src, meta, readmeFile, dictFileName, ... }: - let - isFrench = hasSuffix "fr_" dictFileName; - isItaly = hasSuffix "it_" dictFileName; - isSpanish = hasSuffix "es_" dictFileName; - isEnglish = hasSuffix "en_" dictFileName; - in - stdenv.mkDerivation rec { - inherit name src meta; - buildInputs = [ unzip ]; - sourceRoot = "."; - phases = "unpackPhase installPhase" + (if isItaly then "patchPhase" else ""); - unpackCmd = "unzip $src ${readmeFile} ${dictFileName}.dic ${dictFileName}.aff"; - prePatch = if isItaly then '' - # Fix dic file empty lines (FS#22275) - sed '/^\/$/d' -i it_IT.dic - '' else ""; - + { name, readmeFile, dictFileName, ... }@args: + stdenv.mkDerivation (rec { + inherit name; installPhase = '' # hunspell dicts install -dm755 "$out/share/hunspell" @@ -38,7 +21,45 @@ let install -dm755 "$out/share/doc" install -m644 ${readmeFile} $out/share/doc/${name}.txt ''; - }; + } // args); + + mkDictFromRla = + { shortName, shortDescription, dictFileName }: + mkDict rec { + inherit dictFileName; + version = "2.2"; + name = "hunspell-dict-${shortName}-rla-${version}"; + readmeFile = "README.txt"; + src = fetchFromGitHub { + owner = "sbosio"; + repo = "rla-es"; + rev = "v${version}"; + sha256 = "0n9ms092k7vg7xpd3ksadxydbrizkb7js7dfxr08nbnnb9fgy0i8"; + }; + meta = with stdenv.lib; { + description = "Hunspell dictionary for ${shortDescription} from rla"; + homepage = https://github.com/sbosio/rla-es; + license = with licenses; [ gpl3 lgpl3 mpl11 ]; + maintainers = with maintainers; [ renzo ]; + platforms = platforms.all; + }; + phases = "unpackPhase patchPhase buildPhase installPhase"; + buildInputs = [ bash coreutils unzip which zip ]; + patchPhase = '' + substituteInPlace ortograf/herramientas/make_dict.sh \ + --replace /bin/bash bash \ + --replace /dev/stderr stderr.log + + substituteInPlace ortograf/herramientas/remover_comentarios.sh \ + --replace /bin/bash bash \ + ''; + buildPhase = '' + cd ortograf/herramientas + bash -x ./make_dict.sh -l ${dictFileName} -2 + unzip ${dictFileName}.zip \ + ${dictFileName}.dic ${dictFileName}.aff ${readmeFile} + ''; + }; mkDictFromDicollecte = { shortName, shortDescription, longDescription, dictFileName }: @@ -59,6 +80,12 @@ let maintainers = with maintainers; [ renzo ]; platforms = platforms.all; }; + buildInputs = [ unzip ]; + phases = "unpackPhase installPhase"; + sourceRoot = "."; + unpackCmd = '' + unzip $src ${dictFileName}.dic ${dictFileName}.aff ${readmeFile} + ''; }; mkDictFromWordlist = @@ -75,9 +102,15 @@ let maintainers = with maintainers; [ renzo ]; platforms = platforms.all; }; + buildInputs = [ unzip ]; + phases = "unpackPhase installPhase"; + sourceRoot = "."; + unpackCmd = '' + unzip $src ${dictFileName}.dic ${dictFileName}.aff ${readmeFile} + ''; }; - mkLinguistico = + mkDictFromLinguistico = { shortName, shortDescription, dictFileName, src }: mkDict rec { inherit src dictFileName; @@ -90,6 +123,16 @@ let maintainers = with maintainers; [ renzo ]; platforms = platforms.all; }; + buildInputs = [ unzip ]; + phases = "unpackPhase patchPhase installPhase"; + sourceRoot = "."; + prePatch = '' + # Fix dic file empty lines (FS#22275) + sed '/^\/$/d' -i ${dictFileName}.dic + ''; + unpackCmd = '' + unzip $src ${dictFileName}.dic ${dictFileName}.aff ${readmeFile} + ''; }; mkDictFromXuxen = @@ -169,6 +212,134 @@ in { }; }; + /* SPANISH */ + + es-any = mkDictFromRla { + shortName = "es-any"; + shortDescription = "Spanish (any variant)"; + dictFileName = "es_ANY"; + }; + + es-ar = mkDictFromRla { + shortName = "es-ar"; + shortDescription = "Spanish (Argentina)"; + dictFileName = "es_AR"; + }; + + es-bo = mkDictFromRla { + shortName = "es-bo"; + shortDescription = "Spanish (Bolivia)"; + dictFileName = "es_BO"; + }; + + es-cl = mkDictFromRla { + shortName = "es-cl"; + shortDescription = "Spanish (Chile)"; + dictFileName = "es_CL"; + }; + + es-co = mkDictFromRla { + shortName = "es-co"; + shortDescription = "Spanish (Colombia)"; + dictFileName = "es_CO"; + }; + + es-cr = mkDictFromRla { + shortName = "es-cr"; + shortDescription = "Spanish (Costra Rica)"; + dictFileName = "es_CR"; + }; + + es-cu = mkDictFromRla { + shortName = "es-cu"; + shortDescription = "Spanish (Cuba)"; + dictFileName = "es_CU"; + }; + + es-do = mkDictFromRla { + shortName = "es-do"; + shortDescription = "Spanish (Dominican Republic)"; + dictFileName = "es_DO"; + }; + + es-ec = mkDictFromRla { + shortName = "es-ec"; + shortDescription = "Spanish (Ecuador)"; + dictFileName = "es_EC"; + }; + + es-es = mkDictFromRla { + shortName = "es-es"; + shortDescription = "Spanish (Spain)"; + dictFileName = "es_ES"; + }; + + es-gt = mkDictFromRla { + shortName = "es-gt"; + shortDescription = "Spanish (Guatemala)"; + dictFileName = "es_GT"; + }; + + es-hn = mkDictFromRla { + shortName = "es-hn"; + shortDescription = "Spanish (Honduras)"; + dictFileName = "es_HN"; + }; + + es-mx = mkDictFromRla { + shortName = "es-mx"; + shortDescription = "Spanish (Mexico)"; + dictFileName = "es_MX"; + }; + + es-ni = mkDictFromRla { + shortName = "es-ni"; + shortDescription = "Spanish (Nicaragua)"; + dictFileName = "es_NI"; + }; + + es-pa = mkDictFromRla { + shortName = "es-pa"; + shortDescription = "Spanish (Panama)"; + dictFileName = "es_PA"; + }; + + es-pe = mkDictFromRla { + shortName = "es-pe"; + shortDescription = "Spanish (Peru)"; + dictFileName = "es_PE"; + }; + + es-pr = mkDictFromRla { + shortName = "es-pr"; + shortDescription = "Spanish (Puerto Rico)"; + dictFileName = "es_PR"; + }; + + es-py = mkDictFromRla { + shortName = "es-py"; + shortDescription = "Spanish (Paraguay)"; + dictFileName = "es_PY"; + }; + + es-sv = mkDictFromRla { + shortName = "es-sv"; + shortDescription = "Spanish (El Salvador)"; + dictFileName = "es_SV"; + }; + + es-uy = mkDictFromRla { + shortName = "es-uy"; + shortDescription = "Spanish (Uruguay)"; + dictFileName = "es_UY"; + }; + + es-ve = mkDictFromRla { + shortName = "es-ve"; + shortDescription = "Spanish (Venezuela)"; + dictFileName = "es_VE"; + }; + /* FRENCH */ fr-any = mkDictFromDicollecte { @@ -215,7 +386,7 @@ in { /* ITALIAN */ - it-it = mkLinguistico rec { + it-it = mkDictFromLinguistico rec { shortName = "it-it"; dictFileName = "it_IT"; shortDescription = "Hunspell dictionary for 'Italian (Italy)' from Linguistico"; From b21805d972bd86668490c88cdaa79829921a723b Mon Sep 17 00:00:00 2001 From: Ben Darwin Date: Tue, 23 May 2017 18:12:23 -0400 Subject: [PATCH 06/82] elastix: init at 4.8 --- .../science/biology/elastix/default.nix | 29 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 31 insertions(+) create mode 100644 pkgs/development/libraries/science/biology/elastix/default.nix diff --git a/pkgs/development/libraries/science/biology/elastix/default.nix b/pkgs/development/libraries/science/biology/elastix/default.nix new file mode 100644 index 000000000000..55647713e6ee --- /dev/null +++ b/pkgs/development/libraries/science/biology/elastix/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchFromGitHub, cmake, itk, python }: + +stdenv.mkDerivation rec { + _name = "elastix"; + _version = "4.8"; + name = "${_name}-${_version}"; + + src = fetchFromGitHub { + owner = "SuperElastix"; + repo = "elastix"; + rev = "ef057ff89233822b26b04b31c3c043af57d5deff"; + sha256 = "0gm3a8dgqww50h6zld9ighjk92wlpybpimjwfz4s5h82vdjsvxrm"; + }; + + nativeBuildInputs = [ cmake python ]; + buildInputs = [ itk ]; + + cmakeFlags = [ "-DUSE_KNNGraphAlphaMutualInformationMetric=OFF" ]; + + checkPhase = "ctest"; + + meta = with stdenv.lib; { + homepage = http://elastix.isi.uu.nl/; + description = "Image registration toolkit based on ITK"; + maintainers = with maintainers; [ bcdarwin ]; + platforms = platforms.unix; + license = licenses.asl20; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 16b52fa6f675..5792b91465cc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7520,6 +7520,8 @@ with pkgs; vmmlib = callPackage ../development/libraries/vmmlib {}; + elastix = callPackage ../development/libraries/science/biology/elastix { }; + enchant = callPackage ../development/libraries/enchant { }; enet = callPackage ../development/libraries/enet { }; From 8d5ff00dad82b53ca76dd51d4588ba7539879565 Mon Sep 17 00:00:00 2001 From: Ambroz Bizjak Date: Thu, 25 May 2017 21:52:41 +0200 Subject: [PATCH 07/82] teensy-loader-cli: Update to latest git. This fixes uploading programs greater than 128k to Teensy 3.1/3.2. --- pkgs/development/tools/misc/teensy-loader-cli/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/misc/teensy-loader-cli/default.nix b/pkgs/development/tools/misc/teensy-loader-cli/default.nix index db86f1a56d6e..7b360655c4f7 100644 --- a/pkgs/development/tools/misc/teensy-loader-cli/default.nix +++ b/pkgs/development/tools/misc/teensy-loader-cli/default.nix @@ -6,8 +6,8 @@ stdenv.mkDerivation { name = "teensy-loader-cli-${version}"; src = fetchgit { url = "git://github.com/PaulStoffregen/teensy_loader_cli.git"; - rev = "001da416bc362ff24485ff97e3a729bd921afe98"; - sha256 = "36aed0a725055e36d71183ff57a023993099fdc380072177cffc7676da3c3966"; + rev = "f5b6d7aafda9a8b014b4bb08660833ca45c136d2"; + sha256 = "1a663bv3lvm7bsf2wcaj2c0vpmniak7w5hwix5qgz608bvm2v781"; }; buildInputs = [ unzip libusb ]; From 899e2b5748e7c2ea0a4f5c2dde74b15f15fe7e69 Mon Sep 17 00:00:00 2001 From: Josef Kemetmueller Date: Tue, 27 Jun 2017 22:09:05 +0200 Subject: [PATCH 08/82] Force check the filesystem before resizing The message buffer of the kernel lists > Please run 'e2fsck -f /dev/disk/by-label/nixos' first. as the output of the command `resize2fs "$device"`. This fixes NixOS/nixpkgs#26910. --- nixos/modules/system/boot/stage-1-init.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/system/boot/stage-1-init.sh b/nixos/modules/system/boot/stage-1-init.sh index 9a125dcb0aeb..1f4ab3eae07e 100644 --- a/nixos/modules/system/boot/stage-1-init.sh +++ b/nixos/modules/system/boot/stage-1-init.sh @@ -301,6 +301,7 @@ mountFS() { *x-nixos.autoresize*) if [ "$fsType" = ext2 -o "$fsType" = ext3 -o "$fsType" = ext4 ]; then echo "resizing $device..." + e2fsck -fp "$device" resize2fs "$device" fi ;; From 44fadbb9bd3e8e49f7d966a8519f5e049aa71fb5 Mon Sep 17 00:00:00 2001 From: Balletie Date: Sat, 1 Jul 2017 00:01:58 +0200 Subject: [PATCH 09/82] pulseaudio: Resolve conflicting asound.conf of pulseaudio and alsa Fixes issue #25790. --- nixos/modules/config/pulseaudio.nix | 2 ++ nixos/modules/services/audio/alsa.nix | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/nixos/modules/config/pulseaudio.nix b/nixos/modules/config/pulseaudio.nix index bd80c8113483..b12ef2fe861d 100644 --- a/nixos/modules/config/pulseaudio.nix +++ b/nixos/modules/config/pulseaudio.nix @@ -6,6 +6,7 @@ with lib; let cfg = config.hardware.pulseaudio; + alsaCfg = config.sound; systemWide = cfg.enable && cfg.systemWide; nonSystemWide = cfg.enable && !cfg.systemWide; @@ -76,6 +77,7 @@ let ctl.!default { type pulse } + ${alsaCfg.extraConfig} ''); in { diff --git a/nixos/modules/services/audio/alsa.nix b/nixos/modules/services/audio/alsa.nix index 53786dbc6270..acf48d3c3d03 100644 --- a/nixos/modules/services/audio/alsa.nix +++ b/nixos/modules/services/audio/alsa.nix @@ -7,6 +7,8 @@ let inherit (pkgs) alsaUtils; + pulseaudioEnabled = config.hardware.pulseaudio.enable; + in { @@ -80,7 +82,7 @@ in environment.systemPackages = [ alsaUtils ]; - environment.etc = mkIf (config.sound.extraConfig != "") + environment.etc = mkIf (!pulseaudioEnabled && config.sound.extraConfig != "") [ { source = pkgs.writeText "asound.conf" config.sound.extraConfig; target = "asound.conf"; From dde58651401cf6ab4d63cdec043d677607af0924 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Sat, 1 Jul 2017 13:23:12 +0200 Subject: [PATCH 10/82] docker-tools: set group/owner when creating a pure layer --- pkgs/build-support/docker/default.nix | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix index 4ebe3c0615d3..004816a0b392 100644 --- a/pkgs/build-support/docker/default.nix +++ b/pkgs/build-support/docker/default.nix @@ -234,11 +234,10 @@ rec { # Files to add to the layer. contents ? null, # Additional commands to run on the layer before it is tar'd up. - extraCommands ? "" + extraCommands ? "", uid ? 0, gid ? 0 }: runCommand "docker-layer-${name}" { inherit baseJson contents extraCommands; - buildInputs = [ jshon rsync ]; } '' @@ -260,7 +259,7 @@ rec { # Tar up the layer and throw it into 'layer.tar'. echo "Packing layer..." mkdir $out - tar -C layer --mtime="@$SOURCE_DATE_EPOCH" -cf $out/layer.tar . + tar -C layer --mtime="@$SOURCE_DATE_EPOCH" --owner=${toString uid} --group=${toString gid} -cf $out/layer.tar . # Compute a checksum of the tarball. echo "Computing layer checksum..." @@ -297,7 +296,7 @@ rec { # How much disk to allocate for the temporary virtual machine. diskSize ? 1024, # Commands (bash) to run on the layer; these do not require sudo. - extraCommands ? "" + extraCommands ? "", uid ? 0, gid ? 0 }: # Generate an executable script from the `runAsRoot` text. let runAsRootScript = shellScript "run-as-root.sh" runAsRoot; @@ -375,7 +374,7 @@ rec { # Docker config; e.g. what command to run on the container. config ? null, # Optional bash script to run on the files prior to fixturizing the layer. - extraCommands ? "", + extraCommands ? "", uid ? 0, gid ? 0, # Optional bash script to run as root on the image when provisioning. runAsRoot ? null, # Size of the virtual machine disk to provision when building the image. @@ -398,7 +397,7 @@ rec { if runAsRoot == null then mkPureLayer { name = baseName; - inherit baseJson contents extraCommands; + inherit baseJson contents extraCommands uid gid; } else mkRootLayer { name = baseName; inherit baseJson fromImage fromImageName fromImageTag @@ -498,7 +497,7 @@ rec { chmod -R a-w image echo "Cooking the image..." - tar -C image --mtime="@$SOURCE_DATE_EPOCH" -c . | pigz -nT > $out + tar -C image --mtime="@$SOURCE_DATE_EPOCH" --owner=0 --group=0 -c . | pigz -nT > $out echo "Finished." ''; From 42464f64f7292e1e17b8a6a74d87770016ac08e8 Mon Sep 17 00:00:00 2001 From: David McFarland Date: Sat, 1 Jul 2017 00:06:51 -0300 Subject: [PATCH 11/82] firefox: fix the drmSupport option At some point the config flag must have changed from --enable-eme to --enable-eme=widevine, so it was having no effect. --- pkgs/applications/networking/browsers/firefox/common.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix index 4fe89a403de9..7c9ffc0f4784 100644 --- a/pkgs/applications/networking/browsers/firefox/common.nix +++ b/pkgs/applications/networking/browsers/firefox/common.nix @@ -153,7 +153,7 @@ stdenv.mkDerivation (rec { ++ lib.optional googleAPISupport "--with-google-api-keyfile=ga" ++ flag crashreporterSupport "crashreporter" ++ flag safeBrowsingSupport "safe-browsing" - ++ flag drmSupport "eme" + ++ lib.optional drmSupport "--enable-eme=widevine" ++ (if debugBuild then [ "--enable-debug" "--enable-profiling" ] else [ "--disable-debug" "--enable-release" From f71d556e187b4de3b4fbc8adc8e0ec6c53868094 Mon Sep 17 00:00:00 2001 From: Pascal Bach Date: Tue, 30 May 2017 22:55:03 +0200 Subject: [PATCH 12/82] mysql service: add changelog for changed dataDir --- nixos/doc/manual/release-notes/rl-1709.xml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/nixos/doc/manual/release-notes/rl-1709.xml b/nixos/doc/manual/release-notes/rl-1709.xml index 34cfe1702e9c..3ae2d260c992 100644 --- a/nixos/doc/manual/release-notes/rl-1709.xml +++ b/nixos/doc/manual/release-notes/rl-1709.xml @@ -85,6 +85,10 @@ rmdir /var/lib/ipfs/.ipfs + + The following changes apply if the stateVersion is changed to 17.09 or higher. + For stateVersion = "17.03 or lower the old behavior is preserved. + The postgres default version was changed from 9.5 to 9.6. @@ -94,6 +98,9 @@ rmdir /var/lib/ipfs/.ipfs The postgres default dataDir has changed from /var/db/postgres to /var/lib/postgresql/$psqlSchema where $psqlSchema is 9.6 for example. + + The mysql default dataDir has changed from /var/mysql to /var/lib/mysql. + @@ -115,7 +122,6 @@ rmdir /var/lib/ipfs/.ipfs - Other notable improvements: From 83fbc0f0359f6885d5c3b22fb5331f459ade7329 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Sat, 1 Jul 2017 16:59:15 +0200 Subject: [PATCH 13/82] docker-tools: fixup permssions for extraCommands --- pkgs/build-support/docker/default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix index 004816a0b392..592dcd3cae7b 100644 --- a/pkgs/build-support/docker/default.nix +++ b/pkgs/build-support/docker/default.nix @@ -252,6 +252,8 @@ rec { echo "No contents to add to layer." fi + chmod ug+w layer + if [[ -n $extraCommands ]]; then (cd layer; eval "$extraCommands") fi @@ -296,7 +298,7 @@ rec { # How much disk to allocate for the temporary virtual machine. diskSize ? 1024, # Commands (bash) to run on the layer; these do not require sudo. - extraCommands ? "", uid ? 0, gid ? 0 + extraCommands ? "" }: # Generate an executable script from the `runAsRoot` text. let runAsRootScript = shellScript "run-as-root.sh" runAsRoot; @@ -311,6 +313,8 @@ rec { echo "Adding $item..." rsync -ak --chown=0:0 $item/ layer/ done + + chmod ug+w layer ''; postMount = '' From c87d4d4a19eda532fbb4a294257f124556539ebc Mon Sep 17 00:00:00 2001 From: Justin Wood Date: Mon, 10 Jul 2017 20:25:12 -0400 Subject: [PATCH 14/82] Generalize building of LFE --- pkgs/development/beam-modules/default.nix | 3 +- pkgs/development/beam-modules/lib.nix | 22 +++++++++++ pkgs/development/interpreters/lfe/1.2.nix | 6 +++ .../lfe/{default.nix => generic-builder.nix} | 39 +++++++------------ pkgs/top-level/beam-packages.nix | 2 +- 5 files changed, 44 insertions(+), 28 deletions(-) create mode 100644 pkgs/development/interpreters/lfe/1.2.nix rename pkgs/development/interpreters/lfe/{default.nix => generic-builder.nix} (68%) diff --git a/pkgs/development/beam-modules/default.nix b/pkgs/development/beam-modules/default.nix index f0a049bb4b23..b48abb34611c 100644 --- a/pkgs/development/beam-modules/default.nix +++ b/pkgs/development/beam-modules/default.nix @@ -54,7 +54,8 @@ let debugInfo = true; }; - lfe = callPackage ../interpreters/lfe { }; + lfe = lfe_1_2; + lfe_1_2 = lib.callLFE ../interpreters/lfe/1.2.nix { inherit erlang buildRebar3; }; # Non hex packages hex = callPackage ./hex {}; diff --git a/pkgs/development/beam-modules/lib.nix b/pkgs/development/beam-modules/lib.nix index dd4ed5e1bbf8..26d868a8e7c4 100644 --- a/pkgs/development/beam-modules/lib.nix +++ b/pkgs/development/beam-modules/lib.nix @@ -56,4 +56,26 @@ rec { mkDerivation = pkgs.makeOverridable builder; }; + /* Uses generic-builder to evaluate provided drv containing Elixir version + specific data. + + drv: package containing version-specific args; + builder: generic builder for all Erlang versions; + args: arguments merged into version-specific args, used mostly to customize + dependencies; + + Arguments passed to the generic-builder are overridable. + + Please note that "mkDerivation" defined here is the one called from 1.2.nix + and similar files. + */ + callLFE = drv: args: + let + inherit (stdenv.lib) versionAtLeast; + builder = callPackage ../interpreters/lfe/generic-builder.nix args; + in + callPackage drv { + mkDerivation = pkgs.makeOverridable builder; + }; + } diff --git a/pkgs/development/interpreters/lfe/1.2.nix b/pkgs/development/interpreters/lfe/1.2.nix new file mode 100644 index 000000000000..2bd1df41fb60 --- /dev/null +++ b/pkgs/development/interpreters/lfe/1.2.nix @@ -0,0 +1,6 @@ +{ mkDerivation }: + +mkDerivation { + version = "1.2.1"; + sha256 = "0j5gjlsk92y14kxgvd80q9vwyhmjkphpzadcswyjxikgahwg1avz"; +} diff --git a/pkgs/development/interpreters/lfe/default.nix b/pkgs/development/interpreters/lfe/generic-builder.nix similarity index 68% rename from pkgs/development/interpreters/lfe/default.nix rename to pkgs/development/interpreters/lfe/generic-builder.nix index cafcc4c28ee8..c55872afbfb9 100644 --- a/pkgs/development/interpreters/lfe/default.nix +++ b/pkgs/development/interpreters/lfe/generic-builder.nix @@ -1,33 +1,19 @@ -{ stdenv, fetchFromGitHub, erlang, makeWrapper, coreutils, bash, beamPackages }: +{ stdenv, fetchFromGitHub, erlang, makeWrapper, coreutils, bash, buildRebar3 }: -let - inherit (beamPackages) buildRebar3 buildHex; - proper = buildHex rec { - name = "proper"; - version = "1.1.1-beta"; - sha256 = "0hnkhs761yjynw9382w8wm4j3x0r7lllzavaq2kh9n7qy3zc1rdx"; +{ baseName ? "lfe" +, version +, sha256 ? null +, rev ? version +, src ? fetchFromGitHub { inherit rev sha256; owner = "rvirding"; repo = "lfe"; } +}: - configurePhase = '' - ${erlang}/bin/escript write_compile_flags include/compile_flags.hrl - ''; - }; -in -buildRebar3 rec { - name = "lfe"; - version = "1.2.1"; +buildRebar3 { + name = "${baseName}"; - src = fetchFromGitHub { - owner = "rvirding"; - repo = name; - rev = version; - sha256 = "0j5gjlsk92y14kxgvd80q9vwyhmjkphpzadcswyjxikgahwg1avz"; - }; + inherit src version; - buildInputs = [ makeWrapper ]; - beamDeps = [ proper ]; + buildInputs = [ erlang makeWrapper ]; patches = [ ./no-test-deps.patch ]; - doCheck = true; - checkTarget = "travis"; # These installPhase tricks are based on Elixir's Makefile. # TODO: Make, upload, and apply a patch. @@ -41,6 +27,7 @@ buildRebar3 rec { install -m644 _build/default/lib/lfe/ebin/* $ebindir install -m755 -d $bindir + for bin in bin/lfe{,c,doc,script}; do install -m755 $bin $bindir; done install -m755 -d $out/bin @@ -70,7 +57,7 @@ buildRebar3 rec { downloadPage = "https://github.com/rvirding/lfe/releases"; license = licenses.asl20; - maintainers = with maintainers; [ yurrriq ]; + maintainers = with maintainers; [ yurrriq ankhers ]; platforms = platforms.unix; }; } diff --git a/pkgs/top-level/beam-packages.nix b/pkgs/top-level/beam-packages.nix index 8d01ad36139d..62ffaec26f3f 100644 --- a/pkgs/top-level/beam-packages.nix +++ b/pkgs/top-level/beam-packages.nix @@ -58,7 +58,7 @@ rec { # `beam.packages.erlangR19.elixir`. inherit (packages.erlang) elixir elixir_1_5_rc elixir_1_4 elixir_1_3; - lfe = packages.erlang.lfe; + inherit (packages.erlang) lfe lfe_1_2; }; # Helper function to generate package set with a specific Erlang version. From cb105d35a95f0667930782d2d377418671c12331 Mon Sep 17 00:00:00 2001 From: Justin Wood Date: Tue, 11 Jul 2017 08:56:23 -0400 Subject: [PATCH 15/82] Ensure lfe 1.2 is exported at the top level --- pkgs/top-level/all-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2a91cfa32073..5726b02f4487 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6049,7 +6049,7 @@ with pkgs; inherit (beam.interpreters) erlang erlang_odbc erlang_javac erlang_odbc_javac elixir elixir_1_5_rc elixir_1_4 elixir_1_3 - lfe + lfe lfe_1_2 erlangR16 erlangR16_odbc erlang_basho_R16B02 erlang_basho_R16B02_odbc erlangR17 erlangR17_odbc erlangR17_javac erlangR17_odbc_javac From 0573610a5fbc82d54114f367bbf41b43798a1c0e Mon Sep 17 00:00:00 2001 From: Justin Wood Date: Tue, 11 Jul 2017 14:16:48 -0400 Subject: [PATCH 16/82] Make sure the LFE test suite is being run --- pkgs/development/beam-modules/default.nix | 2 +- .../interpreters/lfe/generic-builder.nix | 21 +++++++++++++++++-- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/pkgs/development/beam-modules/default.nix b/pkgs/development/beam-modules/default.nix index b48abb34611c..fa748da0031c 100644 --- a/pkgs/development/beam-modules/default.nix +++ b/pkgs/development/beam-modules/default.nix @@ -55,7 +55,7 @@ let }; lfe = lfe_1_2; - lfe_1_2 = lib.callLFE ../interpreters/lfe/1.2.nix { inherit erlang buildRebar3; }; + lfe_1_2 = lib.callLFE ../interpreters/lfe/1.2.nix { inherit erlang buildRebar3 buildHex; }; # Non hex packages hex = callPackage ./hex {}; diff --git a/pkgs/development/interpreters/lfe/generic-builder.nix b/pkgs/development/interpreters/lfe/generic-builder.nix index c55872afbfb9..9595337bd56c 100644 --- a/pkgs/development/interpreters/lfe/generic-builder.nix +++ b/pkgs/development/interpreters/lfe/generic-builder.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, erlang, makeWrapper, coreutils, bash, buildRebar3 }: +{ stdenv, fetchFromGitHub, erlang, makeWrapper, coreutils, bash, buildRebar3, buildHex }: { baseName ? "lfe" , version @@ -7,13 +7,30 @@ , src ? fetchFromGitHub { inherit rev sha256; owner = "rvirding"; repo = "lfe"; } }: +let + proper = buildHex { + name = "proper"; + version = "1.1.1-beta"; + + sha256 = "0hnkhs761yjynw9382w8wm4j3x0r7lllzavaq2kh9n7qy3zc1rdx"; + + configurePhase = '' + ${erlang}/bin/escript write_compile_flags include/compile_flags.hrl + ''; + }; + +in + buildRebar3 { - name = "${baseName}"; + name = baseName; inherit src version; buildInputs = [ erlang makeWrapper ]; + beamDeps = [ proper ]; patches = [ ./no-test-deps.patch ]; + doCheck = true; + checkTarget = "travis"; # These installPhase tricks are based on Elixir's Makefile. # TODO: Make, upload, and apply a patch. From 8dc7d34942bfe6a6631967284596a3990451fbcb Mon Sep 17 00:00:00 2001 From: Justin Wood Date: Wed, 12 Jul 2017 10:01:40 -0400 Subject: [PATCH 17/82] LFE 1.2 does not support OTP 20 --- pkgs/development/interpreters/lfe/1.2.nix | 1 + pkgs/development/interpreters/lfe/generic-builder.nix | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/pkgs/development/interpreters/lfe/1.2.nix b/pkgs/development/interpreters/lfe/1.2.nix index 2bd1df41fb60..b81acdaa499e 100644 --- a/pkgs/development/interpreters/lfe/1.2.nix +++ b/pkgs/development/interpreters/lfe/1.2.nix @@ -3,4 +3,5 @@ mkDerivation { version = "1.2.1"; sha256 = "0j5gjlsk92y14kxgvd80q9vwyhmjkphpzadcswyjxikgahwg1avz"; + maximumOTPVersion = "19"; } diff --git a/pkgs/development/interpreters/lfe/generic-builder.nix b/pkgs/development/interpreters/lfe/generic-builder.nix index 9595337bd56c..fb034a471e7c 100644 --- a/pkgs/development/interpreters/lfe/generic-builder.nix +++ b/pkgs/development/interpreters/lfe/generic-builder.nix @@ -2,12 +2,17 @@ { baseName ? "lfe" , version +, maximumOTPVersion , sha256 ? null , rev ? version , src ? fetchFromGitHub { inherit rev sha256; owner = "rvirding"; repo = "lfe"; } }: let + inherit (stdenv.lib) getVersion versionAtLeast splitString head; + + mainVersion = head (splitString "." (getVersion erlang)); + proper = buildHex { name = "proper"; version = "1.1.1-beta"; @@ -20,6 +25,7 @@ let }; in +assert versionAtLeast maximumOTPVersion mainVersion; buildRebar3 { name = baseName; From c5fe03ace2d7fae09aa5fdce1047e642fe7718cc Mon Sep 17 00:00:00 2001 From: Mitsuhiro Nakamura Date: Fri, 14 Jul 2017 14:01:42 +0900 Subject: [PATCH 18/82] r-pbdZMQ: fix Darwin install --- pkgs/development/r-modules/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix index 7354f5e5715d..3de25dd1478d 100644 --- a/pkgs/development/r-modules/default.nix +++ b/pkgs/development/r-modules/default.nix @@ -281,6 +281,7 @@ let pbdMPI = [ pkgs.openmpi ]; pbdNCDF4 = [ pkgs.netcdf ]; pbdPROF = [ pkgs.openmpi ]; + pbdZMQ = [ pkgs.which ]; PKI = [ pkgs.openssl.dev ]; png = [ pkgs.libpng.dev ]; PopGenome = [ pkgs.zlib.dev ]; From e40f3bea3e20127aced4f7b806173b6868bd0724 Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Fri, 14 Jul 2017 19:25:13 +0200 Subject: [PATCH 19/82] nginx: make listen addresses configurable --- .../services/web-servers/nginx/default.nix | 52 ++++++++++--------- .../web-servers/nginx/vhost-options.nix | 26 +++++++--- 2 files changed, 48 insertions(+), 30 deletions(-) diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix index ae14aa28ae34..f83413b4534e 100644 --- a/nixos/modules/services/web-servers/nginx/default.nix +++ b/nixos/modules/services/web-servers/nginx/default.nix @@ -123,45 +123,49 @@ let vhosts = concatStringsSep "\n" (mapAttrsToList (vhostName: vhost: let - serverName = vhost.serverName; ssl = vhost.enableSSL || vhost.forceSSL; - port = if vhost.port != null then vhost.port else (if ssl then 443 else 80); - listenString = toString port + optionalString ssl " ssl http2" - + optionalString vhost.default " default_server"; - acmeLocation = optionalString vhost.enableACME ('' + defaultPort = if ssl then 443 else 80; + + listenString = { addr, port, ... }: + "listen ${addr}:${toString (if port != null then port else defaultPort)} " + + optionalString ssl "ssl http2 " + + optionalString vhost.default "default_server" + + ";"; + + redirectListenString = { addr, ... }: + "listen ${addr}:80 ${optionalString vhost.default "default_server"};"; + + acmeLocation = '' location /.well-known/acme-challenge { ${optionalString (vhost.acmeFallbackHost != null) "try_files $uri @acme-fallback;"} root ${vhost.acmeRoot}; auth_basic off; } - '' + (optionalString (vhost.acmeFallbackHost != null) '' - location @acme-fallback { - auth_basic off; - proxy_pass http://${vhost.acmeFallbackHost}; - } - '')); + ${optionalString (vhost.acmeFallbackHost != null) '' + location @acme-fallback { + auth_basic off; + proxy_pass http://${vhost.acmeFallbackHost}; + } + ''} + ''; + in '' ${optionalString vhost.forceSSL '' server { - listen 80 ${optionalString vhost.default "default_server"}; - ${optionalString enableIPv6 - ''listen [::]:80 ${optionalString vhost.default "default_server"};'' - } + ${concatMapStringsSep "\n" redirectListenString vhost.listen} - server_name ${serverName} ${concatStringsSep " " vhost.serverAliases}; - ${acmeLocation} + server_name ${vhost.serverName} ${concatStringsSep " " vhost.serverAliases}; + ${optionalString vhost.enableACME acmeLocation} location / { - return 301 https://$host${optionalString (port != 443) ":${toString port}"}$request_uri; + return 301 https://$host$request_uri; } } ''} server { - listen ${listenString}; - ${optionalString enableIPv6 "listen [::]:${listenString};"} - - server_name ${serverName} ${concatStringsSep " " vhost.serverAliases}; - ${acmeLocation} + ${concatMapStringsSep "\n" listenString vhost.listen} + server_name ${vhost.serverName} ${concatStringsSep " " vhost.serverAliases}; + ${optionalString vhost.enableACME acmeLocation} ${optionalString (vhost.root != null) "root ${vhost.root};"} ${optionalString (vhost.globalRedirect != null) '' return 301 http${optionalString ssl "s"}://${vhost.globalRedirect}$request_uri; @@ -380,7 +384,7 @@ in virtualHosts = mkOption { type = types.attrsOf (types.submodule (import ./vhost-options.nix { - inherit lib; + inherit config lib; })); default = { localhost = {}; diff --git a/nixos/modules/services/web-servers/nginx/vhost-options.nix b/nixos/modules/services/web-servers/nginx/vhost-options.nix index c0ea645b3dfe..60260512bc2f 100644 --- a/nixos/modules/services/web-servers/nginx/vhost-options.nix +++ b/nixos/modules/services/web-servers/nginx/vhost-options.nix @@ -3,7 +3,7 @@ # has additional options that affect the web server as a whole, like # the user/group to run under.) -{ lib }: +{ config, lib }: with lib; { @@ -26,12 +26,26 @@ with lib; ''; }; - port = mkOption { - type = types.nullOr types.int; - default = null; + listen = mkOption { + type = with types; listOf (submodule { + options = { + addr = mkOption { type = str; description = "IP address."; }; + port = mkOption { type = nullOr int; description = "Port number."; }; + }; + }); + default = + [ { addr = "0.0.0.0"; port = null; } ] + ++ optional config.networking.enableIPv6 + { addr = "[::]"; port = null; }; + example = [ + { addr = "195.154.1.1"; port = 443; } + { addr = "192.168.1.2"; port = 443; } + ]; description = '' - Port for the server. Defaults to 80 for http - and 443 for https (i.e. when enableSSL is set). + Listen addresses and ports for this virtual host. + IPv6 addresses must be enclosed in square brackets. + Setting the port to null defaults + to 80 for http and 443 for https (i.e. when enableSSL is set). ''; }; From 3006919a0b1513a7a4e31e456e06dca7868e5905 Mon Sep 17 00:00:00 2001 From: Marius Bergmann Date: Fri, 14 Jul 2017 08:01:32 +0200 Subject: [PATCH 20/82] restic: 0.6.1 -> 0.7.0 --- pkgs/tools/backup/restic/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/backup/restic/default.nix b/pkgs/tools/backup/restic/default.nix index 742c1cafc933..8f918dda59be 100644 --- a/pkgs/tools/backup/restic/default.nix +++ b/pkgs/tools/backup/restic/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { name = "restic-${version}"; - version = "0.6.1"; + version = "0.7.0"; goPackagePath = "github.com/restic/restic"; @@ -10,7 +10,7 @@ buildGoPackage rec { owner = "restic"; repo = "restic"; rev = "v${version}"; - sha256 = "1rp4s1gh07j06457rhl4r0qnxqn0h7n4i8k50akdr87nwyikkn17"; + sha256 = "1whzzma2c199i604qy1a807zhi8qgri1r9bbxl5l7wlfh7x0n6sd"; }; buildPhase = '' From d30fc3be985ceb78c39669907ffa1bce6bff7728 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Sat, 15 Jul 2017 12:13:14 +0000 Subject: [PATCH 21/82] ocamlPackages.sedlex: 1.99.3 -> 1.99.4 --- pkgs/development/ocaml-modules/sedlex/default.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pkgs/development/ocaml-modules/sedlex/default.nix b/pkgs/development/ocaml-modules/sedlex/default.nix index 6fcdb5ec6fa4..1e3cb02b913a 100644 --- a/pkgs/development/ocaml-modules/sedlex/default.nix +++ b/pkgs/development/ocaml-modules/sedlex/default.nix @@ -1,17 +1,19 @@ -{ stdenv, fetchzip, ocaml, findlib, gen, ppx_tools }: +{ stdenv, fetchzip, ocaml, findlib, gen, ppx_tools_versioned }: -assert stdenv.lib.versionAtLeast ocaml.version "4.02"; +if !stdenv.lib.versionAtLeast ocaml.version "4.02" +then throw "sedlex is not available for OCaml ${ocaml.version}" +else stdenv.mkDerivation rec { name = "ocaml${ocaml.version}-sedlex-${version}"; - version = "1.99.3"; + version = "1.99.4"; src = fetchzip { url = "http://github.com/alainfrisch/sedlex/archive/v${version}.tar.gz"; - sha256 = "1wghjy3qyj43ll1ikchlqy7fv2hxcn3ap9xgsscm2ch09d8dcv7y"; + sha256 = "1b7nqxyfcz8i7m4b8zil2rn6ygh2czy26f9v64xnxn8r0hy9sh1m"; }; - buildInputs = [ ocaml findlib ppx_tools ]; + buildInputs = [ ocaml findlib ppx_tools_versioned ]; propagatedBuildInputs = [ gen ]; From 78fc7269be11dbe85921a5d40ff9d526cdf7ea6e Mon Sep 17 00:00:00 2001 From: Aristid Breitkreuz Date: Sat, 15 Jul 2017 15:09:53 +0200 Subject: [PATCH 22/82] paperwork: 1.0.6.1 -> 1.2 --- pkgs/applications/office/paperwork/default.nix | 10 +++++----- pkgs/top-level/python-packages.nix | 15 +++++---------- 2 files changed, 10 insertions(+), 15 deletions(-) diff --git a/pkgs/applications/office/paperwork/default.nix b/pkgs/applications/office/paperwork/default.nix index c24812418180..e24d96257b27 100644 --- a/pkgs/applications/office/paperwork/default.nix +++ b/pkgs/applications/office/paperwork/default.nix @@ -1,19 +1,19 @@ { lib, python3Packages, fetchFromGitHub, gtk3, cairo , aspellDicts, buildEnv , gnome3, hicolor_icon_theme -, xvfb_run, dbus +, xvfb_run, dbus, libnotify }: python3Packages.buildPythonApplication rec { name = "paperwork-${version}"; # Don't forget to also update paperwork-backend when updating this! - version = "1.0.6.1"; + version = "1.2"; src = fetchFromGitHub { repo = "paperwork"; owner = "jflesch"; rev = version; - sha256 = "1v1lxyi4crdik4jlwjds9n6lzw4m4l4f9n5azlinv8wb477qpv6h"; + sha256 = "1cb9wnhhpm3dyxjrkyl9bbva56xx85vlwlb7z07m1icflcln14x5"; }; # Patch out a few paths that assume that we're using the FHS: @@ -47,7 +47,7 @@ python3Packages.buildPythonApplication rec { }}/lib/aspell"; checkInputs = [ xvfb_run dbus.daemon ]; - buildInputs = [ gnome3.defaultIconTheme hicolor_icon_theme ]; + buildInputs = [ gnome3.defaultIconTheme hicolor_icon_theme libnotify ]; # A few parts of chkdeps need to have a display and a dbus session, so we not # only need to run a virtual X server + dbus but also have a large enough @@ -59,7 +59,7 @@ python3Packages.buildPythonApplication rec { ''; propagatedBuildInputs = with python3Packages; [ - paperwork-backend pypillowfight gtk3 cairo + paperwork-backend pypillowfight gtk3 cairo pyxdg dateutil ]; makeWrapperArgs = [ diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 429c16d2cdb2..b38f58b7c7a2 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8192,30 +8192,25 @@ in { paperwork-backend = buildPythonPackage rec { name = "paperwork-backend-${version}"; - version = "1.0.6"; + version = "1.2.0"; src = pkgs.fetchFromGitHub { owner = "jflesch"; repo = "paperwork-backend"; rev = version; - sha256 = "11jbhv9xcpimp9iq2b1hlpljzij73s86rb5lpgzhslqc7zmm5bxn"; + sha256 = "1pzyy14f9wzh9vwn855k1z48a8mbs73j1dk8730kdlcdkmn3l1ms"; }; # Python 2.x is not supported. disabled = !isPy3k && !isPyPy; - # Make sure that chkdeps exits with status 1 if a dependency is not found. - postPatch = '' - sed -i -e '/print.*Missing dependencies/,/^ *$/ { - /^ *$/ a \ sys.exit(1) - }' scripts/paperwork-shell - ''; - preCheck = "\"$out/bin/paperwork-shell\" chkdeps paperwork_backend"; propagatedBuildInputs = with self; [ pyenchant simplebayes pillow pycountry whoosh termcolor - python-Levenshtein pyinsane2 pygobject3 pyocr pkgs.poppler_gi + python-Levenshtein pyinsane2 pygobject3 pyocr + pkgs.poppler_gi pkgs.gtk3 + natsort ]; meta = { From 9906e4492e3cf29ebd389c3015a9f3402ae584eb Mon Sep 17 00:00:00 2001 From: Stefan Lau Date: Sat, 15 Jul 2017 14:54:18 +0200 Subject: [PATCH 23/82] dunst: 1.1.0 -> 1.2.0 --- pkgs/applications/misc/dunst/default.nix | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/pkgs/applications/misc/dunst/default.nix b/pkgs/applications/misc/dunst/default.nix index 221bd3c4bf5e..919ad10fa706 100644 --- a/pkgs/applications/misc/dunst/default.nix +++ b/pkgs/applications/misc/dunst/default.nix @@ -1,32 +1,25 @@ { stdenv, fetchFromGitHub, fetchpatch -, pkgconfig, which, perl -, cairo, dbus, freetype, gdk_pixbuf, glib, libX11, libXScrnSaver -, libXext, libXinerama, libnotify, libxdg_basedir, pango, xproto -, librsvg +, pkgconfig, which, perl, gtk2, xrandr +, cairo, dbus, gdk_pixbuf, glib, libX11, libXScrnSaver +, libXinerama, libnotify, libxdg_basedir, pango, xproto, librsvg }: stdenv.mkDerivation rec { name = "dunst-${version}"; - version = "1.1.0"; + version = "1.2.0"; src = fetchFromGitHub { - owner = "knopwob"; + owner = "dunst-project"; repo = "dunst"; rev = "v${version}"; - sha256 = "102s0rkcdz22hnacsi3dhm7kj3lsw9gnikmh3a7wk862nkvvwjmk"; + sha256 = "0jncnb4z4hg92ws08bkf52jswsd4vqlzyznwbynhh2jh6q0sl18b"; }; - patches = [(fetchpatch { - name = "add-svg-support.patch"; - url = "https://github.com/knopwob/dunst/commit/63b11141185d1d07a6d12212257a543e182d250a.patch"; - sha256 = "0giiaj5zjim7xqcav5ij5gn4x6nnchkllwcx0ln16j0p3vbi4y4x"; - })]; - nativeBuildInputs = [ perl pkgconfig which ]; buildInputs = [ - cairo dbus freetype gdk_pixbuf glib libX11 libXScrnSaver libXext - libXinerama libnotify libxdg_basedir pango xproto librsvg + cairo dbus gdk_pixbuf glib libX11 libXScrnSaver + libXinerama libnotify libxdg_basedir pango xproto librsvg gtk2 xrandr ]; outputs = [ "out" "man" ]; From 81736497a4dcf9f79591a12685f616e56f4a086c Mon Sep 17 00:00:00 2001 From: Johannes Frankenau Date: Sat, 15 Jul 2017 08:18:19 +0200 Subject: [PATCH 24/82] neomutt: 20170609 -> 20170714 --- pkgs/applications/networking/mailreaders/neomutt/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/mailreaders/neomutt/default.nix b/pkgs/applications/networking/mailreaders/neomutt/default.nix index 3473d321c75b..7de359bae5a5 100644 --- a/pkgs/applications/networking/mailreaders/neomutt/default.nix +++ b/pkgs/applications/networking/mailreaders/neomutt/default.nix @@ -2,14 +2,14 @@ , cyrus_sasl, gss, gpgme, kerberos, libidn, notmuch, openssl, lmdb, libxslt, docbook_xsl }: stdenv.mkDerivation rec { - version = "20170609"; + version = "20170714"; name = "neomutt-${version}"; src = fetchFromGitHub { owner = "neomutt"; repo = "neomutt"; rev = "neomutt-${version}"; - sha256 = "015dd6rphvqdmnv477f1is22l7n5gvcvyblbyp0ggbp64650k0bz"; + sha256 = "0jbh83hvq1jwb8ps7ffl2325y6i79wdnwcn6db0r5prmxax18hw1"; }; nativeBuildInputs = [ autoreconfHook docbook_xsl libxslt.bin which ]; From eff03340c42292b01054333708c2a0b85a58730d Mon Sep 17 00:00:00 2001 From: wisut hantanong Date: Fri, 14 Jul 2017 17:20:16 +0700 Subject: [PATCH 25/82] python.pkgs.django_tagging: move to separate expression --- .../python-modules/django_tagging/default.nix | 22 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 19 +--------------- 2 files changed, 23 insertions(+), 18 deletions(-) create mode 100644 pkgs/development/python-modules/django_tagging/default.nix diff --git a/pkgs/development/python-modules/django_tagging/default.nix b/pkgs/development/python-modules/django_tagging/default.nix new file mode 100644 index 000000000000..6207408e0123 --- /dev/null +++ b/pkgs/development/python-modules/django_tagging/default.nix @@ -0,0 +1,22 @@ +{ stdenv, buildPythonPackage, fetchPypi, django }: + +buildPythonPackage rec { + pname = "django-tagging"; + version = "0.4.5"; + name = "${pname}-${version}"; + + src = fetchPypi { + inherit pname version; + sha256 = "00ki1g6pb2lnaj4lh0s865mmlf4kdwx7a6n38iy5qz9qv4xrvz4q"; + }; + + # error: invalid command 'test' + doCheck = false; + + propagatedBuildInputs = [ django ]; + + meta = { + description = "A generic tagging application for Django projects"; + homepage = https://github.com/Fantomas42/django-tagging; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b38f58b7c7a2..6e10fb373318 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9933,24 +9933,7 @@ in { django_polymorphic = callPackage ../development/python-modules/django-polymorphic { }; - django_tagging = buildPythonPackage rec { - name = "django-tagging-0.4.5"; - - src = pkgs.fetchurl { - url = "mirror://pypi/d/django-tagging/${name}.tar.gz"; - sha256 = "00ki1g6pb2lnaj4lh0s865mmlf4kdwx7a6n38iy5qz9qv4xrvz4q"; - }; - - # error: invalid command 'test' - doCheck = false; - - propagatedBuildInputs = with self; [ django ]; - - meta = { - description = "A generic tagging application for Django projects"; - homepage = https://github.com/Fantomas42/django-tagging; - }; - }; + django_tagging = callPackage ../development/python-modules/django_tagging { }; django_tagging_0_3 = self.django_tagging.override (attrs: rec { name = "django-tagging-0.3.6"; From bcb73a13e36095e65b3461a07a09ee065886dc98 Mon Sep 17 00:00:00 2001 From: wisut hantanong Date: Fri, 14 Jul 2017 18:08:02 +0700 Subject: [PATCH 26/82] python-packages.django_tagging_0_3: use overrideAttrs --- pkgs/top-level/python-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 6e10fb373318..bd3b910779df 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9935,7 +9935,7 @@ in { django_tagging = callPackage ../development/python-modules/django_tagging { }; - django_tagging_0_3 = self.django_tagging.override (attrs: rec { + django_tagging_0_3 = self.django_tagging.overrideAttrs (attrs: rec { name = "django-tagging-0.3.6"; src = pkgs.fetchurl { From 2d546a98e2d70e7a7836b038102f48f55f674b98 Mon Sep 17 00:00:00 2001 From: wisut hantanong Date: Fri, 14 Jul 2017 18:59:48 +0700 Subject: [PATCH 27/82] python.pkgs.acoustics: move to separate expression --- .../python-modules/acoustics/default.nix | 26 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 24 +---------------- 2 files changed, 27 insertions(+), 23 deletions(-) create mode 100644 pkgs/development/python-modules/acoustics/default.nix diff --git a/pkgs/development/python-modules/acoustics/default.nix b/pkgs/development/python-modules/acoustics/default.nix new file mode 100644 index 000000000000..d1cb1180358f --- /dev/null +++ b/pkgs/development/python-modules/acoustics/default.nix @@ -0,0 +1,26 @@ +{ stdenv, buildPythonPackage, fetchPypi +, cython, pytest, numpy, scipy, matplotlib, pandas, tabulate }: + +buildPythonPackage rec { + pname = "acoustics"; + version = "0.1.2"; + name = "${pname}-${version}"; + + buildInputs = [ cython pytest ]; + propagatedBuildInputs = [ numpy scipy matplotlib pandas tabulate ]; + + src = fetchPypi { + inherit pname version; + sha256 = "b75a47de700d01e704de95953a6e969922b2f510d7eefe59f7f8980ad44ad1b7"; + }; + + # Tests not distributed + doCheck = false; + + meta = with stdenv.lib; { + description = "A package for acousticians"; + maintainer = with maintainers; [ fridh ]; + license = with licenses; [ bsd3 ]; + homepage = https://github.com/python-acoustics/python-acoustics; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index bd3b910779df..b426fdaefc96 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -84,29 +84,7 @@ in { vowpalwabbit = callPackage ../development/python-modules/vowpalwabbit { pythonPackages = self; }; - acoustics = buildPythonPackage rec { - pname = "acoustics"; - version = "0.1.2"; - name = pname + "-" + version; - - buildInputs = with self; [ cython pytest ]; - propagatedBuildInputs = with self; [ numpy scipy matplotlib pandas tabulate ]; - - src = pkgs.fetchurl { - url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz"; - sha256 = "b75a47de700d01e704de95953a6e969922b2f510d7eefe59f7f8980ad44ad1b7"; - }; - - # Tests not distributed - doCheck = false; - - meta = { - description = "A package for acousticians"; - maintainer = with maintainers; [ fridh ]; - license = with licenses; [ bsd3 ]; - homepage = https://github.com/python-acoustics/python-acoustics; - }; - }; + acoustics = callPackage ../development/python-modules/acoustics { }; "3to2" = callPackage ../development/python-modules/3to2 { }; From 85239d1455c0a19b083a4ec9245a5acda4eb5d44 Mon Sep 17 00:00:00 2001 From: wisut hantanong Date: Fri, 14 Jul 2017 19:34:28 +0700 Subject: [PATCH 28/82] python.pkgs.ansicolor: move to separate expression --- .../python-modules/ansicolor/default.nix | 19 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 17 +---------------- 2 files changed, 20 insertions(+), 16 deletions(-) create mode 100644 pkgs/development/python-modules/ansicolor/default.nix diff --git a/pkgs/development/python-modules/ansicolor/default.nix b/pkgs/development/python-modules/ansicolor/default.nix new file mode 100644 index 000000000000..3a45811ed9b3 --- /dev/null +++ b/pkgs/development/python-modules/ansicolor/default.nix @@ -0,0 +1,19 @@ +{ stdenv, buildPythonPackage, fetchPypi }: + +buildPythonPackage rec { + pname = "ansicolor"; + version = "0.2.4"; + name = "${pname}-${version}"; + + src = fetchPypi { + inherit pname version; + sha256 = "0zlkk9706xn5yshwzdn8xsfkim8iv44zsl6qjwg2f4gn62rqky1h"; + }; + + meta = with stdenv.lib; { + homepage = "https://github.com/numerodix/ansicolor/"; + description = "A library to produce ansi color output and colored highlighting and diffing"; + license = licenses.asl20; + maintainers = with maintainers; [ andsild ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b426fdaefc96..e5060cac8537 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -100,22 +100,7 @@ in { agate-sql = callPackage ../development/python-modules/agate-sql { }; - ansicolor = buildPythonPackage rec { - name = "ansicolor-${version}"; - version = "0.2.4"; - - src = pkgs.fetchurl{ - url = "mirror://pypi/a/ansicolor/${name}.tar.gz"; - sha256 = "0zlkk9706xn5yshwzdn8xsfkim8iv44zsl6qjwg2f4gn62rqky1h"; - }; - - meta = { - homepage = "https://github.com/numerodix/ansicolor/"; - description = "A library to produce ansi color output and colored highlighting and diffing"; - license = licenses.asl20; - maintainers = with maintainers; [ andsild ]; - }; - }; + ansicolor = callPackage ../development/python-modules/ansicolor { }; asn1crypto = callPackage ../development/python-modules/asn1crypto { }; From 501eb9712ef5f8f6d59e417ad2607798c1e31863 Mon Sep 17 00:00:00 2001 From: wisut hantanong Date: Fri, 14 Jul 2017 19:57:40 +0700 Subject: [PATCH 29/82] python.pkgs.emcee: move to separate expression --- .../python-modules/emcee/default.nix | 21 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 14 +------------ 2 files changed, 22 insertions(+), 13 deletions(-) create mode 100644 pkgs/development/python-modules/emcee/default.nix diff --git a/pkgs/development/python-modules/emcee/default.nix b/pkgs/development/python-modules/emcee/default.nix new file mode 100644 index 000000000000..3e95859fc0f8 --- /dev/null +++ b/pkgs/development/python-modules/emcee/default.nix @@ -0,0 +1,21 @@ +{ stdenv, buildPythonPackage, fetchPypi +, numpy }: + +buildPythonPackage rec { + pname = "emcee"; + version = "2.1.0"; + name = "${pname}-${version}"; + + src = fetchPypi { + inherit pname version; + sha256 = "0qyafp9jfya0mkxgqfvljf0rkic5fm8nimzwadyrxyvq7nd07qaw"; + }; + + propagatedBuildInputs = [ numpy ]; + + meta = with stdenv.lib; { + description = "Kick ass affine-invariant ensemble MCMC sampling"; + homepage = http://dan.iel.fm/emcee; + license = licenses.mit; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index e5060cac8537..63206861058c 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -130,19 +130,7 @@ in { dkimpy = callPackage ../development/python-modules/dkimpy { }; - emcee = buildPythonPackage { - name = "emcee-2.1.0"; - src = pkgs.fetchurl { - url = "mirror://pypi/e/emcee/emcee-2.1.0.tar.gz"; - sha256 = "0qyafp9jfya0mkxgqfvljf0rkic5fm8nimzwadyrxyvq7nd07qaw"; - }; - propagatedBuildInputs = [ self.numpy ]; - meta = { - homepage = http://dan.iel.fm/emcee; - license = "MIT"; - description = "Kick ass affine-invariant ensemble MCMC sampling"; - }; - }; + emcee = callPackage ../development/python-modules/emcee { }; dbus-python = callPackage ../development/python-modules/dbus { dbus = pkgs.dbus; From 6506c41fd9d6b02d6378cf9c8b88109823802ef5 Mon Sep 17 00:00:00 2001 From: wisut hantanong Date: Fri, 14 Jul 2017 20:37:35 +0700 Subject: [PATCH 30/82] python.pkgs.discid: move to separate expression --- .../python-modules/discid/default.nix | 24 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 21 +--------------- 2 files changed, 25 insertions(+), 20 deletions(-) create mode 100644 pkgs/development/python-modules/discid/default.nix diff --git a/pkgs/development/python-modules/discid/default.nix b/pkgs/development/python-modules/discid/default.nix new file mode 100644 index 000000000000..167efe914256 --- /dev/null +++ b/pkgs/development/python-modules/discid/default.nix @@ -0,0 +1,24 @@ +{ stdenv, libdiscid, buildPythonPackage, fetchPypi }: + +buildPythonPackage rec { + pname = "discid"; + version = "1.1.0"; + name = "${pname}-${version}"; + + src = fetchPypi { + inherit pname version; + sha256 = "b39d443051b26d0230be7a6c616243daae93337a8711dd5d4119bb6a0e516fa8"; + }; + + patchPhase = '' + substituteInPlace discid/libdiscid.py \ + --replace '_open_library(_LIB_NAME)' "_open_library('${libdiscid}/lib/libdiscid.so.0')" + ''; + + meta = with stdenv.lib; { + description = "Python binding of libdiscid"; + homepage = "https://python-discid.readthedocs.org/"; + license = licenses.lgpl3Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 63206861058c..62d8c1859743 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -136,26 +136,7 @@ in { dbus = pkgs.dbus; }; - discid = buildPythonPackage rec { - name = "discid-1.1.0"; - - meta = { - description = "Python binding of libdiscid"; - homepage = "https://python-discid.readthedocs.org/"; - license = licenses.lgpl3Plus; - platforms = platforms.linux; - }; - - src = pkgs.fetchurl { - url = "mirror://pypi/d/discid/${name}.tar.gz"; - sha256 = "b39d443051b26d0230be7a6c616243daae93337a8711dd5d4119bb6a0e516fa8"; - }; - - patchPhase = '' - substituteInPlace discid/libdiscid.py \ - --replace '_open_library(_LIB_NAME)' "_open_library('${pkgs.libdiscid}/lib/libdiscid.so.0')" - ''; - }; + discid = callPackage ../development/python-modules/discid { }; discordpy = callPackage ../development/python-modules/discordpy { }; From 3e75b0fd129bb1fda3736fc6950181097534f34b Mon Sep 17 00:00:00 2001 From: wisut hantanong Date: Fri, 14 Jul 2017 21:30:45 +0700 Subject: [PATCH 31/82] python.pkgs.pygame_sdl2: move to separate expression --- .../python-modules/pygame_sdl2/default.nix | 33 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 32 ++---------------- 2 files changed, 35 insertions(+), 30 deletions(-) create mode 100644 pkgs/development/python-modules/pygame_sdl2/default.nix diff --git a/pkgs/development/python-modules/pygame_sdl2/default.nix b/pkgs/development/python-modules/pygame_sdl2/default.nix new file mode 100644 index 000000000000..6f6163bb35e8 --- /dev/null +++ b/pkgs/development/python-modules/pygame_sdl2/default.nix @@ -0,0 +1,33 @@ +{ stdenv, pkgs, buildPythonPackage, fetchFromGitHub +, cython, SDL2, SDL2_image, SDL2_ttf, SDL2_mixer, libjpeg, libpng }: + +buildPythonPackage rec { + pname = "pygame_sdl2"; + version = "6.99.10.1227"; + name = "${pname}-${version}"; + + src = fetchFromGitHub { + owner = "renpy"; + repo = "${pname}"; + rev = "renpy-${version}"; + sha256 = "10n6janvqh5adn7pcijqwqfh234sybjz788kb8ac6b4l11hy2lx1"; + }; + + buildInputs = [ + SDL2 SDL2_image SDL2_ttf SDL2_mixer + cython libjpeg libpng + ]; + + postInstall = '' + ( cd "$out"/include/python*/ ; + ln -s pygame-sdl2 pygame_sdl2 || true ; ) + ''; + + meta = with stdenv.lib; { + description = "A reimplementation of parts of pygame API using SDL2"; + homepage = "https://github.com/renpy/pygame_sdl2"; + # Some parts are also available under Zlib License + license = licenses.lgpl2; + maintainers = with maintainers; [ raskin ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 62d8c1859743..dcaf8e5819a2 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -196,38 +196,10 @@ in { pygame-git = callPackage ../development/python-modules/pygame/git.nix { }; - pygame_sdl2 = buildPythonPackage rec { - pname = "pygame_sdl2"; - version = "6.99.10.1227"; - name = "${pname}-${version}"; - - meta = { - description = "A reimplementation of parts of pygame API using SDL2"; - homepage = "https://github.com/renpy/pygame_sdl2"; - # Some parts are also available under Zlib License - license = licenses.lgpl2; - maintainers = with maintainers; [ raskin ]; - }; - - propagatedBuildInputs = with self; [ ]; - buildInputs = with pkgs; with self; [ - SDL2 SDL2_image SDL2_ttf SDL2_mixer - cython libjpeg libpng ]; - - postInstall = '' - ( cd "$out"/include/python*/ ; - ln -s pygame-sdl2 pygame_sdl2 || true ; ) - ''; - - src = pkgs.fetchFromGitHub { - owner = "renpy"; - repo = "${pname}"; - rev = "renpy-${version}"; - sha256 = "10n6janvqh5adn7pcijqwqfh234sybjz788kb8ac6b4l11hy2lx1"; - }; - }; + pygame_sdl2 = callPackage ../development/python-modules/pygame_sdl2 { }; pygobject2 = callPackage ../development/python-modules/pygobject { }; + pygobject3 = callPackage ../development/python-modules/pygobject/3.nix { }; pygtk = callPackage ../development/python-modules/pygtk { libglade = null; }; From eed3b4991b764247f38a4917b2d5954606d6c525 Mon Sep 17 00:00:00 2001 From: wisut hantanong Date: Sat, 15 Jul 2017 12:32:41 +0700 Subject: [PATCH 32/82] python.pkgs.unifi: move to separate expression --- .../python-modules/unifi/default.nix | 25 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 21 +--------------- 2 files changed, 26 insertions(+), 20 deletions(-) create mode 100644 pkgs/development/python-modules/unifi/default.nix diff --git a/pkgs/development/python-modules/unifi/default.nix b/pkgs/development/python-modules/unifi/default.nix new file mode 100644 index 000000000000..89496e00e568 --- /dev/null +++ b/pkgs/development/python-modules/unifi/default.nix @@ -0,0 +1,25 @@ +{ stdenv, buildPythonPackage +, fetchPypi, urllib3 }: + +buildPythonPackage rec { + pname = "unifi"; + version = "1.2.5"; + name = "${pname}-${version}"; + + src = fetchPypi { + inherit pname version; + sha256 = "0prgx01hzs49prrazgxrinm7ivqzy57ch06qm2h7s1p957sazds8"; + }; + + propagatedBuildInputs = [ urllib3 ]; + + # upstream has no tests + doCheck = false; + + meta = with stdenv.lib; { + description = "An API towards the Ubiquity Networks UniFi controller"; + homepage = https://pypi.python.org/pypi/unifi/; + license = licenses.mit; + maintainers = with maintainers; [ peterhoeg ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index dcaf8e5819a2..298c7d9eec69 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -256,26 +256,7 @@ in { hdf5 = pkgs.hdf5.override { zlib = pkgs.zlib; }; }; - unifi = buildPythonPackage rec { - name = "unifi-1.2.5"; - - propagatedBuildInputs = with self; [ urllib3 ]; - - # upstream has no tests - doCheck = false; - - meta = { - description = "An API towards the Ubiquity Networks UniFi controller"; - homepage = https://pypi.python.org/pypi/unifi/; - license = licenses.mit; - maintainers = with maintainers; [ peterhoeg ]; - }; - - src = pkgs.fetchurl { - url = "mirror://pypi/u/unifi/${name}.tar.gz"; - sha256 = "0prgx01hzs49prrazgxrinm7ivqzy57ch06qm2h7s1p957sazds8"; - }; - }; + unifi = callPackage ../development/python-modules/unifi { }; pyunbound = callPackage ../tools/networking/unbound/python.nix { }; From f6b103b51edccf320f8f3e4f95cd499a334c2975 Mon Sep 17 00:00:00 2001 From: wisut hantanong Date: Sat, 15 Jul 2017 12:43:13 +0700 Subject: [PATCH 33/82] python.pkgs.aafigure: move to separate expression --- .../python-modules/aafigure/default.nix | 32 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 29 +---------------- 2 files changed, 33 insertions(+), 28 deletions(-) create mode 100644 pkgs/development/python-modules/aafigure/default.nix diff --git a/pkgs/development/python-modules/aafigure/default.nix b/pkgs/development/python-modules/aafigure/default.nix new file mode 100644 index 000000000000..1084eca762be --- /dev/null +++ b/pkgs/development/python-modules/aafigure/default.nix @@ -0,0 +1,32 @@ +{ stdenv, buildPythonPackage, fetchPypi, pillow }: + +buildPythonPackage rec { + pname = "aafigure"; + version = "0.5"; + name = "${pname}-${version}"; + + src = fetchPypi { + inherit pname version; + sha256 = "090c88beb091d28a233f854e239713aa15d8d1906ea16211855345c912e8a091"; + }; + + propagatedBuildInputs = [ pillow ]; + + # error: invalid command 'test' + doCheck = false; + + # Fix impurity. TODO: Do the font lookup using fontconfig instead of this + # manual method. Until that is fixed, we get this whenever we run aafigure: + # WARNING: font not found, using PIL default font + patchPhase = '' + sed -i "s|/usr/share/fonts|/nonexisting-fonts-path|" aafigure/PILhelper.py + ''; + + meta = with stdenv.lib; { + description = "ASCII art to image converter"; + homepage = https://launchpad.net/aafigure/; + license = licenses.bsd2; + maintainers = with maintainers; [ bjornfor ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 298c7d9eec69..dadbf0db86d0 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -262,34 +262,7 @@ in { # packages defined here - aafigure = buildPythonPackage rec { - name = "aafigure-0.5"; - - src = pkgs.fetchurl { - url = "mirror://pypi/a/aafigure/${name}.tar.gz"; - sha256 = "090c88beb091d28a233f854e239713aa15d8d1906ea16211855345c912e8a091"; - }; - - propagatedBuildInputs = with self; [ pillow ]; - - # error: invalid command 'test' - doCheck = false; - - # Fix impurity. TODO: Do the font lookup using fontconfig instead of this - # manual method. Until that is fixed, we get this whenever we run aafigure: - # WARNING: font not found, using PIL default font - patchPhase = '' - sed -i "s|/usr/share/fonts|/nonexisting-fonts-path|" aafigure/PILhelper.py - ''; - - meta = { - description = "ASCII art to image converter"; - homepage = https://launchpad.net/aafigure/; - license = licenses.bsd2; - platforms = platforms.linux; - maintainers = with maintainers; [ bjornfor ]; - }; - }; + aafigure = callPackage ../development/python-modules/aafigure { }; altair = buildPythonPackage rec { name = "altair-1.2.0"; From 2ce14a8ce9feeb257c87b40df39ab50cceb69560 Mon Sep 17 00:00:00 2001 From: wisut hantanong Date: Sat, 15 Jul 2017 12:58:25 +0700 Subject: [PATCH 34/82] python.pkgs.altair: move to separate expression --- .../python-modules/altair/default.nix | 30 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 23 +------------- 2 files changed, 31 insertions(+), 22 deletions(-) create mode 100644 pkgs/development/python-modules/altair/default.nix diff --git a/pkgs/development/python-modules/altair/default.nix b/pkgs/development/python-modules/altair/default.nix new file mode 100644 index 000000000000..a0504de4fb81 --- /dev/null +++ b/pkgs/development/python-modules/altair/default.nix @@ -0,0 +1,30 @@ +{ stdenv, buildPythonPackage, fetchPypi +, pytest, vega, pandas, ipython, traitlets }: + +buildPythonPackage rec { + pname = "altair"; + version = "1.2.0"; + name = "${pname}-${version}"; + + src = fetchPypi { + inherit pname version; + sha256 = "05c47dm20p7m0017p2h38il721rxag1q0457dj7whp0k8rc7qd1n"; + }; + + buildInputs = [ pytest ]; + + checkPhase = '' + export LANG=en_US.UTF-8 + py.test altair --doctest-modules + ''; + + propagatedBuildInputs = [ vega pandas ipython traitlets ]; + + meta = with stdenv.lib; { + description = "A declarative statistical visualization library for Python."; + homepage = https://github.com/altair-viz/altair; + license = licenses.bsd3; + maintainers = with maintainers; [ teh ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index dadbf0db86d0..ada5409509db 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -264,28 +264,7 @@ in { aafigure = callPackage ../development/python-modules/aafigure { }; - altair = buildPythonPackage rec { - name = "altair-1.2.0"; - - src = pkgs.fetchurl { - url = "mirror://pypi/a/altair/${name}.tar.gz"; - sha256 = "05c47dm20p7m0017p2h38il721rxag1q0457dj7whp0k8rc7qd1n"; - }; - buildInputs = [ self.pytest ]; - - checkPhase = '' - export LANG=en_US.UTF-8 - py.test altair --doctest-modules - ''; - propagatedBuildInputs = with self; [ vega pandas ipython traitlets ]; - meta = { - description = "A declarative statistical visualization library for Python."; - homepage = https://github.com/altair-viz/altair; - license = licenses.bsd3; - platforms = platforms.linux; - maintainers = with maintainers; [ teh ]; - }; - }; + altair = callPackage ../development/python-modules/altair { }; vega = buildPythonPackage rec { name = "vega-0.4.4"; From ee1022bf2654c0d2c60689ab9bb409ff9d07e937 Mon Sep 17 00:00:00 2001 From: wisut hantanong Date: Sat, 15 Jul 2017 13:05:39 +0700 Subject: [PATCH 35/82] python.pkgs.vega: move to separate expression --- .../python-modules/vega/default.nix | 30 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 25 +--------------- 2 files changed, 31 insertions(+), 24 deletions(-) create mode 100644 pkgs/development/python-modules/vega/default.nix diff --git a/pkgs/development/python-modules/vega/default.nix b/pkgs/development/python-modules/vega/default.nix new file mode 100644 index 000000000000..efdce1e6dba3 --- /dev/null +++ b/pkgs/development/python-modules/vega/default.nix @@ -0,0 +1,30 @@ +{ stdenv, buildPythonPackage , fetchPypi +, pytest, jupyter_core, pandas }: + +buildPythonPackage rec { + pname = "vega"; + version = "0.4.4"; + name = "${pname}-${version}"; + + src = fetchPypi { + inherit pname version; + sha256 = "08k92afnk0bivm07h1l5nh26xl2rfp7qn03aq17q1hr3fs5r6cdm"; + }; + + buildInputs = [ pytest ]; + propagatedBuildInputs = [ jupyter_core pandas ]; + + meta = with stdenv.lib; { + description = "An IPython/Jupyter widget for Vega and Vega-Lite"; + longDescription = '' + To use this you have to enter a nix-shell with vega. Then run: + + jupyter nbextension install --user --py vega + jupyter nbextension enable --user vega + ''; + homepage = https://github.com/vega/ipyvega; + license = licenses.bsd3; + maintainers = with maintainers; [ teh ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ada5409509db..1a22caf25f4e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -265,31 +265,8 @@ in { aafigure = callPackage ../development/python-modules/aafigure { }; altair = callPackage ../development/python-modules/altair { }; - vega = buildPythonPackage rec { - name = "vega-0.4.4"; - src = pkgs.fetchurl { - url = "mirror://pypi/v/vega/${name}.tar.gz"; - sha256 = "08k92afnk0bivm07h1l5nh26xl2rfp7qn03aq17q1hr3fs5r6cdm"; - }; - - buildInputs = [ self.pytest ]; - propagatedBuildInputs = with self; [ jupyter_core pandas ]; - - meta = { - description = " An IPython/Jupyter widget for Vega and Vega-Lite."; - longDescription = '' - To use this you have to enter a nix-shell with vega. Then run: - - jupyter nbextension install --user --py vega - jupyter nbextension enable --user vega - ''; - homepage = https://github.com/vega/ipyvega; - license = licenses.bsd3; - platforms = platforms.linux; - maintainers = with maintainers; [ teh ]; - }; - }; + vega = callPackage ../development/python-modules/vega { }; acme = buildPythonPackage rec { inherit (pkgs.certbot) src version; From d437a722af873eb037e5ae0ad2e4d06210271601 Mon Sep 17 00:00:00 2001 From: wisut hantanong Date: Sat, 15 Jul 2017 13:18:20 +0700 Subject: [PATCH 36/82] python.pkgs.acme: move to separate expression --- .../python-modules/acme/default.nix | 19 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 14 +------------- 2 files changed, 20 insertions(+), 13 deletions(-) create mode 100644 pkgs/development/python-modules/acme/default.nix diff --git a/pkgs/development/python-modules/acme/default.nix b/pkgs/development/python-modules/acme/default.nix new file mode 100644 index 000000000000..71357e5bef23 --- /dev/null +++ b/pkgs/development/python-modules/acme/default.nix @@ -0,0 +1,19 @@ +{ stdenv, buildPythonPackage, fetchPypi +, certbot, nose, cryptography, pyasn1, pyopenssl, pyRFC3339 +, pytz, requests, six, werkzeug, mock, ndg-httpsclient }: + +buildPythonPackage rec { + inherit (certbot) src version; + + pname = "acme"; + name = "${pname}-${version}"; + + propagatedBuildInputs = [ + cryptography pyasn1 pyopenssl pyRFC3339 pytz requests six werkzeug mock + ndg-httpsclient + ]; + + buildInputs = [ nose ]; + + postUnpack = "sourceRoot=\${sourceRoot}/acme"; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 1a22caf25f4e..ef4106493803 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -268,19 +268,7 @@ in { vega = callPackage ../development/python-modules/vega { }; - acme = buildPythonPackage rec { - inherit (pkgs.certbot) src version; - - name = "acme-${version}"; - - propagatedBuildInputs = with self; [ - cryptography pyasn1 pyopenssl pyRFC3339 pytz requests six werkzeug mock - ndg-httpsclient - ]; - - buildInputs = with self; [ nose ]; - postUnpack = "sourceRoot=\${sourceRoot}/acme"; - }; + acme = callPackage ../development/python-modules/acme { }; acme-tiny = buildPythonPackage rec { name = "acme-tiny-${version}"; From 2857dbd497f56d7383129a2ee68b142e32c2349d Mon Sep 17 00:00:00 2001 From: wisut hantanong Date: Sat, 15 Jul 2017 13:41:02 +0700 Subject: [PATCH 37/82] python.pkgs.zeroconf: move to separate expression --- .../python-modules/zeroconf/default.nix | 22 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 20 +---------------- 2 files changed, 23 insertions(+), 19 deletions(-) create mode 100644 pkgs/development/python-modules/zeroconf/default.nix diff --git a/pkgs/development/python-modules/zeroconf/default.nix b/pkgs/development/python-modules/zeroconf/default.nix new file mode 100644 index 000000000000..487f657680c2 --- /dev/null +++ b/pkgs/development/python-modules/zeroconf/default.nix @@ -0,0 +1,22 @@ +{ stdenv, buildPythonPackage, fetchPypi +, netifaces, six, enum-compat }: + +buildPythonPackage rec { + pname = "zeroconf"; + version = "0.18.0"; + name = "${pname}-${version}"; + + src = fetchPypi { + inherit pname version; + sha256 = "0s1840v2h4h19ad8lfadbm3dhzs8bw9c5c3slkxql1zsaiycvjy2"; + }; + + propagatedBuildInputs = [ netifaces six enum-compat ]; + + meta = with stdenv.lib; { + description = "A pure python implementation of multicast DNS service discovery"; + homepage = "https://github.com/jstasiak/python-zeroconf"; + license = licenses.lgpl21; + maintainers = with maintainers; [ abbradar ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ef4106493803..16e9dfb47529 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -30073,25 +30073,7 @@ EOF zeitgeist = if isPy3k then throw "zeitgeist not supported for interpreter ${python.executable}" else (pkgs.zeitgeist.override{python2Packages=self;}).py; - zeroconf = buildPythonPackage rec { - pname = "zeroconf"; - version = "0.18.0"; - name = "${pname}-${version}"; - - src = fetchPypi { - inherit pname version; - sha256 = "0s1840v2h4h19ad8lfadbm3dhzs8bw9c5c3slkxql1zsaiycvjy2"; - }; - - propagatedBuildInputs = with self; [ netifaces six enum-compat ]; - - meta = { - description = "A pure python implementation of multicast DNS service discovery"; - homepage = "https://github.com/jstasiak/python-zeroconf"; - license = licenses.lgpl21; - maintainers = with maintainers; [ abbradar ]; - }; - }; + zeroconf = callPackage ../development/python-modules/zeroconf { }; zipfile36 = buildPythonPackage rec { pname = "zipfile36"; From 4546623b37363475695999551f57961477e53009 Mon Sep 17 00:00:00 2001 From: wisut hantanong Date: Sat, 15 Jul 2017 13:50:30 +0700 Subject: [PATCH 38/82] python.pkgs.vine: move to separate expression --- .../python-modules/vine/default.nix | 23 +++++++++++++++ pkgs/top-level/python-packages.nix | 28 +++---------------- 2 files changed, 27 insertions(+), 24 deletions(-) create mode 100644 pkgs/development/python-modules/vine/default.nix diff --git a/pkgs/development/python-modules/vine/default.nix b/pkgs/development/python-modules/vine/default.nix new file mode 100644 index 000000000000..85b17f5119ca --- /dev/null +++ b/pkgs/development/python-modules/vine/default.nix @@ -0,0 +1,23 @@ +{ stdenv, buildPythonPackage, fetchPypi +, case, pytest, pythonOlder }: + +buildPythonPackage rec { + pname = "vine"; + version = "1.1.3"; + name = "${pname}-${version}"; + + disable = pythonOlder "2.7"; + + src = fetchPypi { + inherit pname version; + sha256 = "0h94x9mc9bspg23lb1f73h7smdzc39ps7z7sm0q38ds9jahmvfc7"; + }; + + buildInputs = [ case pytest ]; + + meta = with stdenv.lib; { + description = "Python promises"; + homepage = https://github.com/celery/vine; + license = licenses.bsd3; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 16e9dfb47529..4d50d997fdb7 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -30030,25 +30030,7 @@ EOF uranium = callPackage ../development/python-modules/uranium { }; - vine = buildPythonPackage rec { - name = "vine-${version}"; - version = "1.1.3"; - - disable = pythonOlder "2.7"; - - src = pkgs.fetchurl { - url = "mirror://pypi/v/vine/${name}.tar.gz"; - sha256 = "0h94x9mc9bspg23lb1f73h7smdzc39ps7z7sm0q38ds9jahmvfc7"; - }; - - buildInputs = with self; [ case pytest ]; - - meta = { - homepage = https://github.com/celery/vine; - description = "python promises"; - license = licenses.bsd3; - }; - }; + vine = callPackage ../development/python-modules/vine { }; wp_export_parser = buildPythonPackage rec { name = "${pname}-${version}"; @@ -30062,13 +30044,11 @@ EOF }; }; - wptserve = callPackage ../development/python-modules/wptserve {}; + wptserve = callPackage ../development/python-modules/wptserve { }; - yenc = callPackage ../development/python-modules/yenc { - }; + yenc = callPackage ../development/python-modules/yenc { }; - zeep = callPackage ../development/python-modules/zeep { - }; + zeep = callPackage ../development/python-modules/zeep { }; zeitgeist = if isPy3k then throw "zeitgeist not supported for interpreter ${python.executable}" else (pkgs.zeitgeist.override{python2Packages=self;}).py; From 33bcafcf5b7192bffc751191ece6a9d11684987e Mon Sep 17 00:00:00 2001 From: wisut hantanong Date: Sat, 15 Jul 2017 14:00:15 +0700 Subject: [PATCH 39/82] python.pkgs.stripe: move to separate expression --- .../python-modules/stripe/default.nix | 27 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 24 +---------------- 2 files changed, 28 insertions(+), 23 deletions(-) create mode 100644 pkgs/development/python-modules/stripe/default.nix diff --git a/pkgs/development/python-modules/stripe/default.nix b/pkgs/development/python-modules/stripe/default.nix new file mode 100644 index 000000000000..5a1e114fb259 --- /dev/null +++ b/pkgs/development/python-modules/stripe/default.nix @@ -0,0 +1,27 @@ +{ stdenv, buildPythonPackage, fetchPypi +, unittest2, mock, requests }: + +buildPythonPackage rec { + pname = "stripe"; + version = "1.41.1"; + name = "${pname}-${version}"; + + # Tests require network connectivity and there's no easy way to disable + # them. ~ C. + doCheck = false; + + src = fetchPypi { + inherit pname version; + sha256 = "0zvffvq933ia5w5ll6xhx2zgvppgc6zc2mxhc6f0kypw5g2fxvz5"; + }; + + buildInputs = [ unittest2 mock ]; + + propagatedBuildInputs = [ requests ]; + + meta = with stdenv.lib; { + description = "Stripe Python bindings"; + homepage = "https://github.com/stripe/stripe-python"; + license = licenses.mit; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 4d50d997fdb7..276885afc434 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -30004,29 +30004,7 @@ EOF typed-ast = callPackage ../development/python-modules/typed-ast { }; - stripe = buildPythonPackage rec { - name = "${pname}-${version}"; - pname = "stripe"; - version = "1.41.1"; - - # Tests require network connectivity and there's no easy way to disable - # them. ~ C. - doCheck = false; - - src = pkgs.fetchurl { - url = "mirror://pypi/s/${pname}/${name}.tar.gz"; - sha256 = "0zvffvq933ia5w5ll6xhx2zgvppgc6zc2mxhc6f0kypw5g2fxvz5"; - }; - - buildInputs = with self; [ unittest2 mock ]; - propagatedBuildInputs = with self; [ requests ]; - - meta = { - homepage = "https://github.com/stripe/stripe-python"; - description = "Stripe Python bindings"; - license = licenses.mit; - }; - }; + stripe = callPackage ../development/python-modules/stripe { }; uranium = callPackage ../development/python-modules/uranium { }; From 911655fe5fb5709087b5cda8721dc3678b4a2a93 Mon Sep 17 00:00:00 2001 From: wisut hantanong Date: Sat, 15 Jul 2017 14:07:43 +0700 Subject: [PATCH 40/82] python.pkgs.yamllint: move to separate expression --- .../python-modules/yamllint/default.nix | 24 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 21 +--------------- 2 files changed, 25 insertions(+), 20 deletions(-) create mode 100644 pkgs/development/python-modules/yamllint/default.nix diff --git a/pkgs/development/python-modules/yamllint/default.nix b/pkgs/development/python-modules/yamllint/default.nix new file mode 100644 index 000000000000..6fbd6886b1a9 --- /dev/null +++ b/pkgs/development/python-modules/yamllint/default.nix @@ -0,0 +1,24 @@ +{ stdenv, buildPythonPackage, fetchPypi +, nose, pyyaml }: + +buildPythonPackage rec { + pname = "yamllint"; + version = "0.5.2"; + name = "${pname}-${version}"; + + src = fetchPypi { + inherit pname version; + sha256 = "0brdy1crhfng10hlw0420bv10c2xnjk8ndnhssybkzym47yrzg84"; + }; + + buildInputs = [ nose ]; + + propagatedBuildInputs = [ pyyaml ]; + + meta = with stdenv.lib; { + description = "A linter for YAML files"; + homepage = "https://github.com/adrienverge/yamllint"; + license = licenses.gpl3; + maintainers = with maintainers; [ mikefaille ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 276885afc434..f6a71581b8ac 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -29956,26 +29956,7 @@ EOF }; }; - yamllint = buildPythonPackage rec { - name = "${pname}-${version}"; - pname = "yamllint"; - version = "0.5.2"; - - src = pkgs.fetchurl{ - url = "mirror://pypi/y/${pname}/${name}.tar.gz"; - sha256 = "0brdy1crhfng10hlw0420bv10c2xnjk8ndnhssybkzym47yrzg84"; - }; - - buildInputs = with self; [ nose ]; - propagatedBuildInputs = with self; [ pyyaml ]; - - meta = { - homepage = "https://github.com/adrienverge/yamllint"; - description = "A linter for YAML files"; - license = licenses.gpl3; - maintainers = with maintainers; [ mikefaille ]; - }; - }; + yamllint = callPackage ../development/python-modules/yamllint { }; yarl = callPackage ../development/python-modules/yarl { }; From b493824162bcf9cbe490e1fad74fca5ce30d28d0 Mon Sep 17 00:00:00 2001 From: wisut hantanong Date: Sat, 15 Jul 2017 14:51:07 +0700 Subject: [PATCH 41/82] python.pkgs.pypandoc: move to separate expression --- .../python-modules/pypandoc/default.nix | 32 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 26 +-------------- 2 files changed, 33 insertions(+), 25 deletions(-) create mode 100644 pkgs/development/python-modules/pypandoc/default.nix diff --git a/pkgs/development/python-modules/pypandoc/default.nix b/pkgs/development/python-modules/pypandoc/default.nix new file mode 100644 index 000000000000..8e06ba38ef97 --- /dev/null +++ b/pkgs/development/python-modules/pypandoc/default.nix @@ -0,0 +1,32 @@ +{ stdenv, buildPythonPackage, fetchPypi +, pip, pandoc, glibcLocales, haskellPackages, texlive }: + +buildPythonPackage rec { + pname = "pypandoc"; + version = "1.3.3"; + name = "${pname}-${version}"; + + src = fetchPypi { + inherit pname version; + sha256 = "0628f2kn4gqimnhpf251fgzl723hwgyl3idy69dkzyjvi45s5zm6"; + }; + + # Fix tests: first requires network access, second is a bug (reported upstream) + preConfigure = '' + substituteInPlace tests.py --replace "pypandoc.convert(url, 'html')" "'GPL2 license'" + substituteInPlace tests.py --replace "pypandoc.convert_file(file_name, lua_file_name)" "'

title

'" + ''; + + LC_ALL="en_US.UTF-8"; + + propagatedBuildInputs = [ pip ]; + + buildInputs = [ pandoc texlive.combined.scheme-small haskellPackages.pandoc-citeproc glibcLocales ]; + + meta = with stdenv.lib; { + description = "Thin wrapper for pandoc"; + homepage = "https://github.com/bebraw/pypandoc"; + license = licenses.mit; + maintainers = with maintainers; [ bennofs kristoff3r ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f6a71581b8ac..f74d9baae8c4 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -29930,31 +29930,7 @@ EOF }; }; - pypandoc = buildPythonPackage rec { - name = "pypandoc-1.3.3"; - src = pkgs.fetchurl { - url = "mirror://pypi/p/pypandoc/${name}.tar.gz"; - sha256 = "0628f2kn4gqimnhpf251fgzl723hwgyl3idy69dkzyjvi45s5zm6"; - }; - - # Fix tests: first requires network access, second is a bug (reported upstream) - preConfigure = '' - substituteInPlace tests.py --replace "pypandoc.convert(url, 'html')" "'GPL2 license'" - substituteInPlace tests.py --replace "pypandoc.convert_file(file_name, lua_file_name)" "'

title

'" - ''; - - LC_ALL="en_US.UTF-8"; - - propagatedBuildInputs = with self; [ self.pip ]; - buildInputs = [ pkgs.pandoc pkgs.texlive.combined.scheme-small pkgs.haskellPackages.pandoc-citeproc pkgs.glibcLocales ]; - - meta = with pkgs.stdenv.lib; { - description = "Thin wrapper for pandoc"; - homepage = "https://github.com/bebraw/pypandoc"; - license = licenses.mit; - maintainers = with maintainers; [ bennofs kristoff3r ]; - }; - }; + pypandoc = callPackage ../development/python-modules/pypandoc { }; yamllint = callPackage ../development/python-modules/yamllint { }; From 9115f68bdea5b6202fd0b4b7ffc3bf2abcfee859 Mon Sep 17 00:00:00 2001 From: wisut hantanong Date: Sat, 15 Jul 2017 15:19:17 +0700 Subject: [PATCH 42/82] python.pkgs.pytoml: move to separate expression --- .../python-modules/pytoml/default.nix | 24 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 21 +--------------- 2 files changed, 25 insertions(+), 20 deletions(-) create mode 100644 pkgs/development/python-modules/pytoml/default.nix diff --git a/pkgs/development/python-modules/pytoml/default.nix b/pkgs/development/python-modules/pytoml/default.nix new file mode 100644 index 000000000000..55479e76dafd --- /dev/null +++ b/pkgs/development/python-modules/pytoml/default.nix @@ -0,0 +1,24 @@ +{ stdenv, buildPythonPackage, fetchgit +, python }: + +buildPythonPackage rec { + pname = "pytoml"; + version = "0.1.11"; + name = "${pname}-${version}"; + + checkPhase = "${python.interpreter} test/test.py"; + + # fetchgit used to ensure test submodule is available + src = fetchgit { + url = "${meta.homepage}.git"; + rev = "refs/tags/v${version}"; + sha256 = "1jiw04zk9ccynr8kb1vqh9r1p2kh0al7g7b1f94911iazg7dgs9j"; + }; + + meta = with stdenv.lib; { + description = "A TOML parser/writer for Python"; + homepage = https://github.com/avakar/pytoml; + license = licenses.mit; + maintainers = with maintainers; [ peterhoeg ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f74d9baae8c4..ad1aa0eab45d 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -29909,26 +29909,7 @@ EOF }; }; - pytoml = buildPythonPackage rec { - name = "pytoml-${version}"; - version = "0.1.11"; - - checkPhase = "${python.interpreter} test/test.py"; - - # fetchgit used to ensure test submodule is available - src = pkgs.fetchgit { - url = "${meta.homepage}.git"; - rev = "refs/tags/v${version}"; - sha256 = "1jiw04zk9ccynr8kb1vqh9r1p2kh0al7g7b1f94911iazg7dgs9j"; - }; - - meta = { - description = "A TOML parser/writer for Python"; - homepage = https://github.com/avakar/pytoml; - license = licenses.mit; - maintainers = with maintainers; [ peterhoeg ]; - }; - }; + pytoml = callPackage ../development/python-modules/pytoml { }; pypandoc = callPackage ../development/python-modules/pypandoc { }; From cca503b3891dab1cc2cf0dbd4a8095f87d1fcff9 Mon Sep 17 00:00:00 2001 From: wisut hantanong Date: Sat, 15 Jul 2017 15:33:16 +0700 Subject: [PATCH 43/82] python.pkgs.packaging: move to separate expression --- .../python-modules/packaging/default.nix | 24 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 17 +------------ 2 files changed, 25 insertions(+), 16 deletions(-) create mode 100644 pkgs/development/python-modules/packaging/default.nix diff --git a/pkgs/development/python-modules/packaging/default.nix b/pkgs/development/python-modules/packaging/default.nix new file mode 100644 index 000000000000..776ec7ffc4b3 --- /dev/null +++ b/pkgs/development/python-modules/packaging/default.nix @@ -0,0 +1,24 @@ +{ stdenv, buildPythonPackage, fetchPypi +, pyparsing, six, pytest, pretend }: + +buildPythonPackage rec { + pname = "packaging"; + version = "16.8"; + name = "${pname}-${version}"; + + src = fetchPypi { + inherit pname version; + sha256 = "5d50835fdf0a7edf0b55e311b7c887786504efea1177abd7e69329a8e5ea619e"; + }; + + propagatedBuildInputs = [ pyparsing six ]; + + buildInputs = [ pytest pretend ]; + + meta = with stdenv.lib; { + description = "Core utilities for Python packages"; + homepage = "https://github.com/pypa/packaging"; + license = [ licenses.bsd2 licenses.asl20 ]; + maintainers = with maintainers; [ bennofs ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ad1aa0eab45d..e1a295d56ed4 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -29892,22 +29892,7 @@ EOF }; }; - packaging = buildPythonPackage rec { - name = "packaging-16.8"; - src = pkgs.fetchurl { - url = "mirror://pypi/p/packaging/${name}.tar.gz"; - sha256 = "5d50835fdf0a7edf0b55e311b7c887786504efea1177abd7e69329a8e5ea619e"; - }; - propagatedBuildInputs = with self; [ pyparsing six ]; - buildInputs = with self; [ pytest pretend ]; - - meta = with pkgs.stdenv.lib; { - description = "Core utilities for Python packages"; - homepage = "https://github.com/pypa/packaging"; - license = [ licenses.bsd2 licenses.asl20 ]; - maintainers = with maintainers; [ bennofs ]; - }; - }; + packaging = callPackage ../development/python-modules/packaging { }; pytoml = callPackage ../development/python-modules/pytoml { }; From f0ac8236968eb5a38a5f0cd21b014a8fe8715e56 Mon Sep 17 00:00:00 2001 From: wisut hantanong Date: Sat, 15 Jul 2017 16:19:34 +0700 Subject: [PATCH 44/82] python.pkgs.intervaltree: move to separate expression --- .../python-modules/intervaltree/default.nix | 33 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 25 +------------- 2 files changed, 34 insertions(+), 24 deletions(-) create mode 100644 pkgs/development/python-modules/intervaltree/default.nix diff --git a/pkgs/development/python-modules/intervaltree/default.nix b/pkgs/development/python-modules/intervaltree/default.nix new file mode 100644 index 000000000000..69b35df29738 --- /dev/null +++ b/pkgs/development/python-modules/intervaltree/default.nix @@ -0,0 +1,33 @@ +{ stdenv, buildPythonPackage, fetchPypi +, python, pytest, sortedcontainers }: + +buildPythonPackage rec { + version = "2.1.0"; + pname = "intervaltree"; + name = "${pname}-${version}"; + + src = fetchPypi { + inherit pname version; + sha256 = "02w191m9zxkcjqr1kv2slxvhymwhj3jnsyy3a28b837pi15q19dc"; + }; + + buildInputs = [ pytest ]; + + propagatedBuildInputs = [ sortedcontainers ]; + + checkPhase = '' + runHook preCheck + # pytest will try to run tests for nix_run_setup.py / files in build/lib which fails + mv nix_run_setup.py run_setup + rm build -rf + ${python.interpreter} run_setup test + runHook postCheck + ''; + + meta = with stdenv.lib; { + description = "Editable interval tree data structure for Python 2 and 3"; + homepage = https://github.com/chaimleib/intervaltree; + license = [ licenses.asl20 ]; + maintainers = [ maintainers.bennofs ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index e1a295d56ed4..00fb06ae1da3 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -29867,30 +29867,7 @@ EOF }; }; - intervaltree = buildPythonPackage rec { - name = "intervaltree-${version}"; - version = "2.1.0"; - src = pkgs.fetchurl { - url = "mirror://pypi/i/intervaltree/${name}.tar.gz"; - sha256 = "02w191m9zxkcjqr1kv2slxvhymwhj3jnsyy3a28b837pi15q19dc"; - }; - buildInputs = with self; [ pytest ]; - propagatedBuildInputs = with self; [ sortedcontainers ]; - checkPhase = '' - runHook preCheck - # pytest will try to run tests for nix_run_setup.py / files in build/lib which fails - mv nix_run_setup.py run_setup - rm build -rf - ${python.interpreter} run_setup test - runHook postCheck - ''; - meta = with pkgs.stdenv.lib; { - description = "Editable interval tree data structure for Python 2 and 3"; - homepage = https://github.com/chaimleib/intervaltree; - license = [ licenses.asl20 ]; - maintainers = [ maintainers.bennofs ]; - }; - }; + intervaltree = callPackage ../development/python-modules/intervaltree { }; packaging = callPackage ../development/python-modules/packaging { }; From 552975879167ae5428e9828dfba38ed70440795e Mon Sep 17 00:00:00 2001 From: wisut hantanong Date: Sat, 15 Jul 2017 16:48:27 +0700 Subject: [PATCH 45/82] python.pkgs.jsonref: move to separate expression --- .../python-modules/jsonref/default.nix | 27 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 24 +---------------- 2 files changed, 28 insertions(+), 23 deletions(-) create mode 100644 pkgs/development/python-modules/jsonref/default.nix diff --git a/pkgs/development/python-modules/jsonref/default.nix b/pkgs/development/python-modules/jsonref/default.nix new file mode 100644 index 000000000000..ca9549b677bb --- /dev/null +++ b/pkgs/development/python-modules/jsonref/default.nix @@ -0,0 +1,27 @@ +{ stdenv, buildPythonPackage, fetchPypi +, pytest, mock }: + +buildPythonPackage rec { + pname = "jsonref"; + version = "0.1"; + name = "${pname}-${version}"; + + src = fetchPypi { + inherit pname version; + sha256 = "1lqa8dy1sr1bxi00ri79lmbxvzxi84ki8p46zynyrgcqhwicxq2n"; + }; + + buildInputs = [ pytest mock ]; + + checkPhase = '' + py.test tests.py + ''; + + meta = with stdenv.lib; { + description = "An implementation of JSON Reference for Python"; + homepage = "http://github.com/gazpachoking/jsonref"; + license = licenses.mit; + maintainers = with maintainers; [ nand0p ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 00fb06ae1da3..f8e7f4c3bf55 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -29771,29 +29771,7 @@ EOF autobahn = callPackage ../development/python-modules/autobahn { }; - jsonref = buildPythonPackage rec { - name = "${pname}-${version}"; - pname = "jsonref"; - version = "0.1"; - - meta = { - description = "An implementation of JSON Reference for Python."; - homepage = "http://github.com/gazpachoking/jsonref"; - license = licenses.mit; - maintainers = with maintainers; [ nand0p ]; - platforms = platforms.all; - }; - - buildInputs = with self; [ pytest mock ]; - checkPhase = '' - py.test tests.py - ''; - - src = pkgs.fetchurl { - url = "mirror://pypi/j/${pname}/${name}.tar.gz"; - sha256 = "1lqa8dy1sr1bxi00ri79lmbxvzxi84ki8p46zynyrgcqhwicxq2n"; - }; - }; + jsonref = callPackage ../development/python-modules/jsonref { }; whoosh = callPackage ../development/python-modules/whoosh { }; From a5d75f0f18a0af23fe6b01fc971fe2db39db151d Mon Sep 17 00:00:00 2001 From: wisut hantanong Date: Sat, 15 Jul 2017 16:53:43 +0700 Subject: [PATCH 46/82] python.pkgs.yapf: move to separate expression fixes #27379 --- .../python-modules/yapf/default.nix | 20 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 17 +--------------- 2 files changed, 21 insertions(+), 16 deletions(-) create mode 100644 pkgs/development/python-modules/yapf/default.nix diff --git a/pkgs/development/python-modules/yapf/default.nix b/pkgs/development/python-modules/yapf/default.nix new file mode 100644 index 000000000000..b7f9d7139278 --- /dev/null +++ b/pkgs/development/python-modules/yapf/default.nix @@ -0,0 +1,20 @@ +{ stdenv, buildPythonPackage, fetchPypi }: + +buildPythonPackage rec { + pname = "yapf"; + version = "0.11.0"; + name = "${pname}-${version}"; + + src = fetchPypi { + inherit pname version; + sha256 = "14kb9gxw39zhvrijhp066b4bm6bgv35iw56c394y4dyczpha0dij"; + }; + + meta = with stdenv.lib; { + description = "A formatter for Python code."; + homepage = "https://github.com/google/yapf"; + license = licenses.asl20; + maintainers = with maintainers; [ siddharthist ]; + }; + +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f8e7f4c3bf55..4b6d1bf82e38 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -29752,22 +29752,7 @@ EOF }; }; - yapf = buildPythonPackage rec { - name = "yapf-${version}"; - version = "0.11.0"; - - meta = { - description = "A formatter for Python code."; - homepage = "https://github.com/google/yapf"; - license = licenses.asl20; - maintainers = with maintainers; [ siddharthist ]; - }; - - src = pkgs.fetchurl { - url = "mirror://pypi/y/yapf/${name}.tar.gz"; - sha256 = "14kb9gxw39zhvrijhp066b4bm6bgv35iw56c394y4dyczpha0dij"; - }; - }; + yapf = callPackage ../development/python-modules/yapf { }; autobahn = callPackage ../development/python-modules/autobahn { }; From 549df83e8e985db88fffee47575d4245cd29d9e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benno=20F=C3=BCnfst=C3=BCck?= Date: Sat, 15 Jul 2017 18:56:51 +0200 Subject: [PATCH 47/82] neovim-ruby: 0.4.0 -> 0.5.0 --- .../editors/neovim/ruby_provider/Gemfile.lock | 6 +++--- .../editors/neovim/ruby_provider/gemset.nix | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock b/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock index 88100b2e8f87..327edca0ed24 100644 --- a/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock +++ b/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock @@ -1,8 +1,8 @@ GEM remote: https://rubygems.org/ specs: - msgpack (1.0.2) - neovim (0.3.1) + msgpack (1.1.0) + neovim (0.5.0) msgpack (~> 1.0) PLATFORMS @@ -12,4 +12,4 @@ DEPENDENCIES neovim BUNDLED WITH - 1.12.5 + 1.15.1 diff --git a/pkgs/applications/editors/neovim/ruby_provider/gemset.nix b/pkgs/applications/editors/neovim/ruby_provider/gemset.nix index 6eac57148576..fbb9c63a1cff 100644 --- a/pkgs/applications/editors/neovim/ruby_provider/gemset.nix +++ b/pkgs/applications/editors/neovim/ruby_provider/gemset.nix @@ -2,18 +2,18 @@ msgpack = { source = { remotes = ["https://rubygems.org"]; - sha256 = "1fb2my91j08plsbbry5kilsrh7slmzgbbf6f55zy6xk28p9036lg"; + sha256 = "0ck7w17d6b4jbb8inh1q57bghi9cjkiaxql1d3glmj1yavbpmlh7"; type = "gem"; }; - version = "1.0.2"; + version = "1.1.0"; }; neovim = { dependencies = ["msgpack"]; source = { remotes = ["https://rubygems.org"]; - sha256 = "1gvwa1zkirai7605x4hn2lynbw1caviga272iyy472jv7hs2zn92"; + sha256 = "1da0ha3mz63iyihldp7185b87wx86jg07023xjhbng6i28y1ksn7"; type = "gem"; }; - version = "0.4.0"; + version = "0.5.0"; }; -} +} \ No newline at end of file From 681f866e22756a8a24cdec5ee57d8a0245d0df4b Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Sat, 15 Jul 2017 19:32:38 +0200 Subject: [PATCH 48/82] qgis: 2.18.4 -> 2.18.10 --- pkgs/applications/gis/qgis/default.nix | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/pkgs/applications/gis/qgis/default.nix b/pkgs/applications/gis/qgis/default.nix index b8c9d1718143..10c2ab9ebf99 100644 --- a/pkgs/applications/gis/qgis/default.nix +++ b/pkgs/applications/gis/qgis/default.nix @@ -5,24 +5,15 @@ }: stdenv.mkDerivation rec { - name = "qgis-2.18.4"; + name = "qgis-2.18.10"; buildInputs = [ gdal qt4 flex openssl bison proj geos xlibsWrapper sqlite gsl qwt qscintilla fcgi libspatialindex libspatialite postgresql qjson qca2 txt2tags ] ++ (stdenv.lib.optional withGrass grass) ++ - (with python2Packages; [ numpy psycopg2 requests python2Packages.qscintilla sip ]); + (with python2Packages; [ jinja2 numpy psycopg2 pygments requests python2Packages.qscintilla sip ]); nativeBuildInputs = [ cmake makeWrapper ]; - patches = [ - # See https://hub.qgis.org/issues/16071 - (fetchpatch { - name = "fix-build-against-recent-sip"; - url = "https://github.com/qgis/QGIS/commit/85a0db24f32351f6096cd8282f03ad5c2f4e6ef5.patch"; - sha256 = "0snspzdrpawd7j5b69i8kk7pmmy6ij8bn02bzg94qznfpf9ihf30"; - }) - ]; - # fatal error: ui_qgsdelimitedtextsourceselectbase.h: No such file or directory #enableParallelBuilding = true; @@ -34,7 +25,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "http://qgis.org/downloads/${name}.tar.bz2"; - sha256 = "1s264pahxpn0215xmzm8q2khr5xspipd7bbvxah5kj339kyjfy3k"; + sha256 = "1vrzxhnpzd75iia4xmhbxy90x0wlvj2w4210f0r8203hd2m4sxdj"; }; cmakeFlags = stdenv.lib.optional withGrass "-DGRASS_PREFIX7=${grass}/${grass.name}"; From c5ef98bb34bee5f27337d601750dd79aa6fd2289 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Sat, 15 Jul 2017 19:14:44 -0400 Subject: [PATCH 49/82] linux: 4.12.1 -> 4.12.2 --- pkgs/os-specific/linux/kernel/linux-4.12.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-4.12.nix b/pkgs/os-specific/linux/kernel/linux-4.12.nix index 5ce28029c112..4cb408d33cb6 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.12.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.12.nix @@ -1,12 +1,12 @@ { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: import ./generic.nix (args // rec { - version = "4.12.1"; + version = "4.12.2"; extraMeta.branch = "4.12"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "0qm8lp6z3f2frqb585i5r7cb6hbzd0m13p0ywz4s8bqxwmrym1cw"; + sha256 = "1ql5y6bvb1bx9b2k5iksdzjgzxnq852rvq69kdnkwa98p8p8ayha"; }; kernelPatches = args.kernelPatches; From ccec16579d01a1c7e9451ba9a90f6a99daa2002b Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Sat, 15 Jul 2017 19:17:06 -0400 Subject: [PATCH 50/82] linux: 4.11.10 -> 4.11.11 --- pkgs/os-specific/linux/kernel/linux-4.11.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-4.11.nix b/pkgs/os-specific/linux/kernel/linux-4.11.nix index eded1422440d..9bb4e85d3f91 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.11.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.11.nix @@ -1,12 +1,12 @@ { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: import ./generic.nix (args // rec { - version = "4.11.10"; + version = "4.11.11"; extraMeta.branch = "4.11"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "1dma031rcj8nvcb3znbcffafwm5cpax3cvqkq9zspa8lf5ah52si"; + sha256 = "1dvs1r3vq15akyv0yxvim6j09pqac5dagqbchvdlsw5yi4fnylc8"; }; kernelPatches = args.kernelPatches; From b04858db1bd86768f6bc612f3e063677e4f941d9 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Sat, 15 Jul 2017 19:22:07 -0400 Subject: [PATCH 51/82] linux: 4.9.37 -> 4.9.38 Remove temporary patches to perf as well --- pkgs/os-specific/linux/kernel/linux-4.9.nix | 4 +- .../linux/kernel/perf-offline-probe.patch | 224 ------------------ pkgs/os-specific/linux/kernel/perf.nix | 2 +- 3 files changed, 3 insertions(+), 227 deletions(-) delete mode 100644 pkgs/os-specific/linux/kernel/perf-offline-probe.patch diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix index c42dbad57568..260b776999d0 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.9.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix @@ -1,12 +1,12 @@ { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: import ./generic.nix (args // rec { - version = "4.9.37"; + version = "4.9.38"; extraMeta.branch = "4.9"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "14300vddyz7x6vg1mx64a0i8i61fk5bl8azcvv7rf3b97c4cy7pn"; + sha256 = "0x4h2b6xapqyxgivj9ay5yclmyl434bjfmq9ikajy7fmgpc8kmvn"; }; kernelPatches = args.kernelPatches; diff --git a/pkgs/os-specific/linux/kernel/perf-offline-probe.patch b/pkgs/os-specific/linux/kernel/perf-offline-probe.patch deleted file mode 100644 index 7334a339c858..000000000000 --- a/pkgs/os-specific/linux/kernel/perf-offline-probe.patch +++ /dev/null @@ -1,224 +0,0 @@ -From 8a937a25a7e3c19d5fb3f9d92f605cf5fda219d8 Mon Sep 17 00:00:00 2001 -From: Masami Hiramatsu -Date: Wed, 4 Jan 2017 12:30:19 +0900 -Subject: perf probe: Fix to probe on gcc generated symbols for offline kernel - -From: Masami Hiramatsu - -commit 8a937a25a7e3c19d5fb3f9d92f605cf5fda219d8 upstream. - -Fix perf-probe to show probe definition on gcc generated symbols for -offline kernel (including cross-arch kernel image). - -gcc sometimes optimizes functions and generate new symbols with suffixes -such as ".constprop.N" or ".isra.N" etc. Since those symbol names are -not recorded in DWARF, we have to find correct generated symbols from -offline ELF binary to probe on it (kallsyms doesn't correct it). For -online kernel or uprobes we don't need it because those are rebased on -_text, or a section relative address. - -E.g. Without this: - - $ perf probe -k build-arm/vmlinux -F __slab_alloc* - __slab_alloc.constprop.9 - $ perf probe -k build-arm/vmlinux -D __slab_alloc - p:probe/__slab_alloc __slab_alloc+0 - -If you put above definition on target machine, it should fail -because there is no __slab_alloc in kallsyms. - -With this fix, perf probe shows correct probe definition on -__slab_alloc.constprop.9: - - $ perf probe -k build-arm/vmlinux -D __slab_alloc - p:probe/__slab_alloc __slab_alloc.constprop.9+0 - -Signed-off-by: Masami Hiramatsu -Cc: Jiri Olsa -Cc: Namhyung Kim -Cc: Peter Zijlstra -Link: http://lkml.kernel.org/r/148350060434.19001.11864836288580083501.stgit@devbox -Signed-off-by: Arnaldo Carvalho de Melo -Cc: Krister Johansen -Signed-off-by: Greg Kroah-Hartman - ---- - tools/perf/util/probe-event.c | 48 +++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 47 insertions(+), 1 deletion(-) - ---- a/tools/perf/util/probe-event.c -+++ b/tools/perf/util/probe-event.c -@@ -618,6 +618,51 @@ error: - return ret ? : -ENOENT; - } - -+/* -+ * Rename DWARF symbols to ELF symbols -- gcc sometimes optimizes functions -+ * and generate new symbols with suffixes such as .constprop.N or .isra.N -+ * etc. Since those symbols are not recorded in DWARF, we have to find -+ * correct generated symbols from offline ELF binary. -+ * For online kernel or uprobes we don't need this because those are -+ * rebased on _text, or already a section relative address. -+ */ -+static int -+post_process_offline_probe_trace_events(struct probe_trace_event *tevs, -+ int ntevs, const char *pathname) -+{ -+ struct symbol *sym; -+ struct map *map; -+ unsigned long stext = 0; -+ u64 addr; -+ int i; -+ -+ /* Prepare a map for offline binary */ -+ map = dso__new_map(pathname); -+ if (!map || get_text_start_address(pathname, &stext) < 0) { -+ pr_warning("Failed to get ELF symbols for %s\n", pathname); -+ return -EINVAL; -+ } -+ -+ for (i = 0; i < ntevs; i++) { -+ addr = tevs[i].point.address + tevs[i].point.offset - stext; -+ sym = map__find_symbol(map, addr); -+ if (!sym) -+ continue; -+ if (!strcmp(sym->name, tevs[i].point.symbol)) -+ continue; -+ /* If we have no realname, use symbol for it */ -+ if (!tevs[i].point.realname) -+ tevs[i].point.realname = tevs[i].point.symbol; -+ else -+ free(tevs[i].point.symbol); -+ tevs[i].point.symbol = strdup(sym->name); -+ tevs[i].point.offset = addr - sym->start; -+ } -+ map__put(map); -+ -+ return 0; -+} -+ - static int add_exec_to_probe_trace_events(struct probe_trace_event *tevs, - int ntevs, const char *exec) - { -@@ -694,7 +739,8 @@ post_process_kernel_probe_trace_events(s - - /* Skip post process if the target is an offline kernel */ - if (symbol_conf.ignore_vmlinux_buildid) -- return 0; -+ return post_process_offline_probe_trace_events(tevs, ntevs, -+ symbol_conf.vmlinux_name); - - reloc_sym = kernel_get_ref_reloc_sym(); - if (!reloc_sym) { - ---- - -From 3e96dac7c956089d3f23aca98c4dfca57b6aaf8a Mon Sep 17 00:00:00 2001 -From: Masami Hiramatsu -Date: Wed, 11 Jan 2017 15:00:47 +0900 -Subject: perf probe: Add error checks to offline probe post-processing - -From: Masami Hiramatsu - -commit 3e96dac7c956089d3f23aca98c4dfca57b6aaf8a upstream. - -Add error check codes on post processing and improve it for offline -probe events as: - - - post processing fails if no matched symbol found in map(-ENOENT) - or strdup() failed(-ENOMEM). - - - Even if the symbol name is the same, it updates symbol address - and offset. - -Signed-off-by: Masami Hiramatsu -Cc: Jiri Olsa -Cc: Namhyung Kim -Cc: Peter Zijlstra -Link: http://lkml.kernel.org/r/148411443738.9978.4617979132625405545.stgit@devbox -Signed-off-by: Arnaldo Carvalho de Melo -Cc: Krister Johansen -Signed-off-by: Greg Kroah-Hartman - ---- - tools/perf/util/probe-event.c | 50 +++++++++++++++++++++++++++--------------- - 1 file changed, 33 insertions(+), 17 deletions(-) - ---- a/tools/perf/util/probe-event.c -+++ b/tools/perf/util/probe-event.c -@@ -618,6 +618,33 @@ error: - return ret ? : -ENOENT; - } - -+/* Adjust symbol name and address */ -+static int post_process_probe_trace_point(struct probe_trace_point *tp, -+ struct map *map, unsigned long offs) -+{ -+ struct symbol *sym; -+ u64 addr = tp->address + tp->offset - offs; -+ -+ sym = map__find_symbol(map, addr); -+ if (!sym) -+ return -ENOENT; -+ -+ if (strcmp(sym->name, tp->symbol)) { -+ /* If we have no realname, use symbol for it */ -+ if (!tp->realname) -+ tp->realname = tp->symbol; -+ else -+ free(tp->symbol); -+ tp->symbol = strdup(sym->name); -+ if (!tp->symbol) -+ return -ENOMEM; -+ } -+ tp->offset = addr - sym->start; -+ tp->address -= offs; -+ -+ return 0; -+} -+ - /* - * Rename DWARF symbols to ELF symbols -- gcc sometimes optimizes functions - * and generate new symbols with suffixes such as .constprop.N or .isra.N -@@ -630,11 +657,9 @@ static int - post_process_offline_probe_trace_events(struct probe_trace_event *tevs, - int ntevs, const char *pathname) - { -- struct symbol *sym; - struct map *map; - unsigned long stext = 0; -- u64 addr; -- int i; -+ int i, ret = 0; - - /* Prepare a map for offline binary */ - map = dso__new_map(pathname); -@@ -644,23 +669,14 @@ post_process_offline_probe_trace_events( - } - - for (i = 0; i < ntevs; i++) { -- addr = tevs[i].point.address + tevs[i].point.offset - stext; -- sym = map__find_symbol(map, addr); -- if (!sym) -- continue; -- if (!strcmp(sym->name, tevs[i].point.symbol)) -- continue; -- /* If we have no realname, use symbol for it */ -- if (!tevs[i].point.realname) -- tevs[i].point.realname = tevs[i].point.symbol; -- else -- free(tevs[i].point.symbol); -- tevs[i].point.symbol = strdup(sym->name); -- tevs[i].point.offset = addr - sym->start; -+ ret = post_process_probe_trace_point(&tevs[i].point, -+ map, stext); -+ if (ret < 0) -+ break; - } - map__put(map); - -- return 0; -+ return ret; - } - - static int add_exec_to_probe_trace_events(struct probe_trace_event *tevs, diff --git a/pkgs/os-specific/linux/kernel/perf.nix b/pkgs/os-specific/linux/kernel/perf.nix index cb13167eebc5..3fbad924568f 100644 --- a/pkgs/os-specific/linux/kernel/perf.nix +++ b/pkgs/os-specific/linux/kernel/perf.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation { inherit (kernel) src; - patches = kernel.patches ++ [ ./perf-binutils-path.patch ./perf-offline-probe.patch ]; + patches = kernel.patches ++ [ ./perf-binutils-path.patch ]; preConfigure = '' cd tools/perf From 81b993369c63b0d042814418f20bc71b44c7e84f Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Sat, 15 Jul 2017 19:25:42 -0400 Subject: [PATCH 52/82] linux: 4.4.76 -> 4.4.77 --- pkgs/os-specific/linux/kernel/linux-4.4.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix index 5ac5a52c0a5e..76dc8f030cd2 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.4.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.4.nix @@ -1,12 +1,12 @@ { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: import ./generic.nix (args // rec { - version = "4.4.76"; + version = "4.4.77"; extraMeta.branch = "4.4"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "180mngyar7ky2aiaszmgfqpfvwi0kxcym8j3ifflzggwqjkgrrki"; + sha256 = "1s5l5b3hpm691w94a3ddliy4gcxi2s9xm3hsazdwgzqrqdv70ysy"; }; kernelPatches = args.kernelPatches; From b103e9317afdd80bf6a12b316a35c757f04da50e Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Sat, 15 Jul 2017 19:30:44 -0400 Subject: [PATCH 53/82] linux-testing: 4.12-rc7 -> 4.13-rc1 --- pkgs/os-specific/linux/kernel/common-config.nix | 4 +++- pkgs/os-specific/linux/kernel/linux-testing.nix | 8 ++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 73dce131cf8b..9700373c852f 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -302,7 +302,9 @@ with stdenv.lib; CIFS_UPCALL y CIFS_ACL y CIFS_DFS_UPCALL y - CIFS_SMB2 y + ${optionalString (versionOlder version "4.13") '' + CIFS_SMB2 y + ''} ${optionalString (versionAtLeast version "3.12") '' CEPH_FSCACHE y ''} diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix index 60dfe85a1606..c7a4ca30a7c1 100644 --- a/pkgs/os-specific/linux/kernel/linux-testing.nix +++ b/pkgs/os-specific/linux/kernel/linux-testing.nix @@ -1,13 +1,13 @@ { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: import ./generic.nix (args // rec { - version = "4.12-rc7"; - modDirVersion = "4.12.0-rc7"; - extraMeta.branch = "4.12"; + version = "4.13-rc1"; + modDirVersion = "4.13.0-rc1"; + extraMeta.branch = "4.13"; src = fetchurl { url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz"; - sha256 = "1svfswv0b4gagv1yiavwb22p726h0w81lgxjqq0h9m3gf4xlqp3x"; + sha256 = "1pdbykp2336vk7ynrz0l95rwqags6kklbr08wjc7zpmdaad6yd6m"; }; features.iwlwifi = true; From df929d62166676bc7630e7e6a4f0241c408fd647 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Sat, 15 Jul 2017 19:44:12 -0400 Subject: [PATCH 54/82] linux-copperhead: 4.12.1.a -> 4.12.2.a --- pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix b/pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix index 4b44ce9b00db..878f69dbaa57 100644 --- a/pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix +++ b/pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix @@ -1,9 +1,9 @@ { stdenv, hostPlatform, fetchFromGitHub, perl, buildLinux, ... } @ args: let - version = "4.12.1"; + version = "4.12.2"; revision = "a"; - sha256 = "0fjw5fmxpvdhfqkr4lcpmqw8xxj92q19ya8q48yhxvv149ahcvhq"; + sha256 = "0w3k5a30li2qz2msach9sg9qsvmjsc4mf9k3ad5dxd0667a0hygm"; in import ./generic.nix (args // { From dca801fbb7031699e4405b139781c03c561ae630 Mon Sep 17 00:00:00 2001 From: Russell O'Connor Date: Sat, 15 Jul 2017 22:58:07 -0400 Subject: [PATCH 55/82] tarsnap: 1.0.37 -> 1.0.38 --- pkgs/tools/backup/tarsnap/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/backup/tarsnap/default.nix b/pkgs/tools/backup/tarsnap/default.nix index 0f95a26c9401..9fca48bde1bb 100644 --- a/pkgs/tools/backup/tarsnap/default.nix +++ b/pkgs/tools/backup/tarsnap/default.nix @@ -8,11 +8,11 @@ let in stdenv.mkDerivation rec { name = "tarsnap-${version}"; - version = "1.0.37"; + version = "1.0.38"; src = fetchurl { url = "https://www.tarsnap.com/download/tarsnap-autoconf-${version}.tgz"; - sha256 = "1ynv323qi6775lzjb6hvifl8ajkv2bizy43sajadjfqvcl9r96gs"; + sha256 = "0nyd722i7q8h81h5mvwxai0f3jmwd93r3ahjkmr12k55p8c0rvkn"; }; preConfigure = '' From 8df013c786bab17a2f3e1ec09e4093b72f5a5342 Mon Sep 17 00:00:00 2001 From: romildo Date: Sat, 15 Jul 2017 23:52:10 -0300 Subject: [PATCH 56/82] zuki-themes: 3.20.2017-02-17 -> 3.20.2017-04-23 zuki-themes: 3.22.2017-02-17 -> 3.22.2017-04-23 zuki-themes: add src for gtk-3.24 (3.24.2017-04-23) --- pkgs/misc/themes/zuki/default.nix | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/pkgs/misc/themes/zuki/default.nix b/pkgs/misc/themes/zuki/default.nix index 491885a14b3f..8fa6176f22eb 100644 --- a/pkgs/misc/themes/zuki/default.nix +++ b/pkgs/misc/themes/zuki/default.nix @@ -4,20 +4,23 @@ stdenv.mkDerivation rec { name = "zuki-themes-${version}"; version = "${gnome3.version}.${date}"; date = { - "3.20" = "2017-02-09"; - "3.22" = "2017-02-17"; + "3.20" = "2017-05-03"; + "3.22" = "2017-04-23"; + "3.24" = "2017-06-26"; }."${gnome3.version}"; src = fetchFromGitHub { owner = "lassekongo83"; repo = "zuki-themes"; rev = { - "3.20" = "b9106c3c05012b7e91394819ca550def3357d2eb"; - "3.22" = "fc3cf7c372bcc439870c4785f91b8ea7af73e1cc"; + "3.20" = "ce7ae498df7d5c81acaf48ed957b9f828356d58c"; + "3.22" = "e97f2c3cf75b5205bc5ecd6072696327169fde5d"; + "3.24" = "d25e0a2fb6e08ad107d8bb627451433362f2a830"; }."${gnome3.version}"; sha256 = { - "3.20" = "03k18p25gsscv05934vs0py26vpcrx93wi5bj6di277c6kwgjzxg"; - "3.22" = "02ppk8wsx0k7j3zgmcb1l8jgij0m5rdkrahfv884jxkyjr6wwgs5"; + "3.20" = "0na81q9mc8kwn9m04kkcchrdr67087dqf3q155imhjgqrxjhh3w4"; + "3.22" = "195v0d2sgqh92c104xqm00p68yxp6kzp5mzx8q7s36bdv9p972q4"; + "3.24" = "0z5swi5aah3s4yinfglh491qydxgjkqwf6zxyz7k9c1d7lrvj3ww"; }."${gnome3.version}"; }; From f1b45f7d4136a04526d5b4ab09664e1dc005d38d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sun, 16 Jul 2017 09:06:21 +0100 Subject: [PATCH 57/82] lttng-ust: add missing python dependency --- pkgs/development/tools/misc/lttng-ust/default.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/misc/lttng-ust/default.nix b/pkgs/development/tools/misc/lttng-ust/default.nix index 8994d0c3512b..3b294d137574 100644 --- a/pkgs/development/tools/misc/lttng-ust/default.nix +++ b/pkgs/development/tools/misc/lttng-ust/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, liburcu }: +{ stdenv, fetchurl, liburcu, python }: # NOTE: # ./configure ... @@ -20,7 +20,11 @@ stdenv.mkDerivation rec { sha256 = "196snxrs1p205jz566rwxh7dqzsa3k16c7vm6k7i3gdvrmkx54dq"; }; - buildInputs = [ liburcu ]; + buildInputs = [ liburcu python ]; + + preConfigure = '' + patchShebangs . + ''; meta = with stdenv.lib; { description = "LTTng Userspace Tracer libraries"; From e8a8f1233a4c6610eb63d6995a507fc662798bfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20K=C3=B6gler?= Date: Wed, 5 Jul 2017 16:19:32 +0200 Subject: [PATCH 58/82] snapper: add nixos module fixes #27154 --- nixos/modules/module-list.nix | 1 + nixos/modules/services/misc/snapper.nix | 152 ++++++++++++++++++++++++ nixos/release.nix | 1 + nixos/tests/snapper.nix | 43 +++++++ 4 files changed, 197 insertions(+) create mode 100644 nixos/modules/services/misc/snapper.nix create mode 100644 nixos/tests/snapper.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 1f2fbb7d85c9..4335a4b3eece 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -326,6 +326,7 @@ ./services/misc/ripple-data-api.nix ./services/misc/rogue.nix ./services/misc/siproxd.nix + ./services/misc/snapper.nix ./services/misc/sonarr.nix ./services/misc/spice-vdagentd.nix ./services/misc/ssm-agent.nix diff --git a/nixos/modules/services/misc/snapper.nix b/nixos/modules/services/misc/snapper.nix new file mode 100644 index 000000000000..62b344d11b06 --- /dev/null +++ b/nixos/modules/services/misc/snapper.nix @@ -0,0 +1,152 @@ +{ config, pkgs, lib, ... }: + +with lib; + +let + cfg = config.services.snapper; +in + +{ + options.services.snapper = { + + snapshotInterval = mkOption { + type = types.str; + default = "hourly"; + description = '' + Snapshot interval. + + The format is described in + systemd.time + 7. + ''; + }; + + cleanupInterval = mkOption { + type = types.str; + default = "1d"; + description = '' + Cleanup interval. + + The format is described in + systemd.time + 7. + ''; + }; + + filters = mkOption { + type = types.nullOr types.lines; + default = null; + description = '' + Global display difference filter. See man:snapper(8) for more details. + ''; + }; + + configs = mkOption { + default = { }; + example = literalExample { + "home" = { + subvolume = "/home"; + extraConfig = '' + ALLOW_USERS="alice" + ''; + }; + }; + + description = '' + Subvolume configuration + ''; + + type = types.attrsOf (types.submodule { + options = { + subvolume = mkOption { + type = types.path; + description = '' + Path of the subvolume or mount point. + This path is a subvolume and has to contain a subvolume named + .snapshots. + See also man:snapper(8) section PERMISSIONS. + ''; + }; + + fstype = mkOption { + type = types.enum [ "btrfs" ]; + default = "btrfs"; + description = '' + Filesystem type. Only btrfs is stable and tested. + ''; + }; + + extraConfig = mkOption { + type = types.lines; + default = ""; + description = '' + Additional configuration next to SUBVOLUME and FSTYPE. + See man:snapper-configs(5). + ''; + }; + }; + }); + }; + }; + + config = mkIf (cfg.configs != {}) (let + documentation = [ "man:snapper(8)" "man:snapper-configs(5)" ]; + in { + + environment = { + + systemPackages = [ pkgs.snapper ]; + + # Note: snapper/config-templates/default is only needed for create-config + # which is not the NixOS way to configure. + etc = { + + "sysconfig/snapper".text = '' + SNAPPER_CONFIGS="${lib.concatStringsSep " " (builtins.attrNames cfg.configs)}" + ''; + + } + // (mapAttrs' (name: subvolume: nameValuePair "snapper/configs/${name}" ({ + text = '' + ${subvolume.extraConfig} + FSTYPE="${subvolume.fstype}" + SUBVOLUME="${subvolume.subvolume}" + ''; + })) cfg.configs) + // (lib.optionalAttrs (cfg.filters != null) { + "snapper/filters/default.txt".text = cfg.filters; + }); + + }; + + services.dbus.packages = [ pkgs.snapper ]; + + systemd.services.snapper-timeline = { + description = "Timeline of Snapper Snapshots"; + inherit documentation; + serviceConfig.ExecStart = "${pkgs.snapper}/lib/snapper/systemd-helper --timeline"; + }; + + systemd.timers.snapper-timeline = { + description = "Timeline of Snapper Snapshots"; + inherit documentation; + wantedBy = [ "basic.target" ]; + timerConfig.OnCalendar = cfg.snapshotInterval; + }; + + systemd.services.snapper-cleanup = { + description = "Cleanup of Snapper Snapshots"; + inherit documentation; + serviceConfig.ExecStart = "${pkgs.snapper}/lib/snapper/systemd-helper --cleanup"; + }; + + systemd.timers.snapper-cleanup = { + description = "Cleanup of Snapper Snapshots"; + inherit documentation; + wantedBy = [ "basic.target" ]; + timerConfig.OnBootSec = "10m"; + timerConfig.OnUnitActiveSec = cfg.cleanupInterval; + }; + }); +} + diff --git a/nixos/release.nix b/nixos/release.nix index 467e3bb8cd61..0dbdadf97816 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -303,6 +303,7 @@ in rec { tests.simple = callTest tests/simple.nix {}; tests.slim = callTest tests/slim.nix {}; tests.smokeping = callTest tests/smokeping.nix {}; + tests.snapper = callTest tests/snapper.nix {}; tests.taskserver = callTest tests/taskserver.nix {}; tests.tomcat = callTest tests/tomcat.nix {}; tests.udisks2 = callTest tests/udisks2.nix {}; diff --git a/nixos/tests/snapper.nix b/nixos/tests/snapper.nix new file mode 100644 index 000000000000..74ec22fd3499 --- /dev/null +++ b/nixos/tests/snapper.nix @@ -0,0 +1,43 @@ +import ./make-test.nix ({ ... }: +{ + name = "snapper"; + + machine = { pkgs, lib, ... }: { + boot.initrd.postDeviceCommands = '' + ${pkgs.btrfs-progs}/bin/mkfs.btrfs -f -L aux /dev/vdb + ''; + + virtualisation.emptyDiskImages = [ 4096 ]; + + fileSystems = lib.mkVMOverride { + "/home" = { + device = "/dev/disk/by-label/aux"; + fsType = "btrfs"; + }; + }; + services.snapper.configs.home.subvolume = "/home"; + services.snapper.filters = "/nix"; + }; + + testScript = '' + $machine->succeed("btrfs subvolume create /home/.snapshots"); + + $machine->succeed("snapper -c home list"); + + $machine->succeed("snapper -c home create --description empty"); + + $machine->succeed("echo test > /home/file"); + $machine->succeed("snapper -c home create --description file"); + + $machine->succeed("snapper -c home status 1..2"); + + $machine->succeed("snapper -c home undochange 1..2"); + $machine->fail("ls /home/file"); + + $machine->succeed("snapper -c home delete 2"); + + $machine->succeed("systemctl --wait start snapper-timeline.service"); + + $machine->succeed("systemctl --wait start snapper-cleanup.service"); + ''; +}) From e621a6a5f855196c3221d77322b9db83e9f4f8c0 Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Sun, 16 Jul 2017 11:14:04 +0200 Subject: [PATCH 59/82] opkg: 0.3.4 -> 0.3.5 --- pkgs/tools/package-management/opkg/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/package-management/opkg/default.nix b/pkgs/tools/package-management/opkg/default.nix index 3b636ab0e29b..e1e57a84b555 100644 --- a/pkgs/tools/package-management/opkg/default.nix +++ b/pkgs/tools/package-management/opkg/default.nix @@ -2,11 +2,11 @@ , autoreconfHook }: stdenv.mkDerivation rec { - version = "0.3.4"; + version = "0.3.5"; name = "opkg-${version}"; src = fetchurl { url = "http://downloads.yoctoproject.org/releases/opkg/opkg-${version}.tar.gz"; - sha256 = "1glkxjhsaaji172phd1gv8g0k0fs09pij6k01cl9namnac5r02vm"; + sha256 = "0ciz6h6sx9hnz463alpkcqwqnq8jk382ifc6z89j29hix8fw4jvk"; }; nativeBuildInputs = [ pkgconfig autoreconfHook ]; From f31773b8522cb4b7966b21d526cac86ef3bc1bce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sun, 16 Jul 2017 11:10:10 +0100 Subject: [PATCH 60/82] tarsnapper: 0.2.1 -> 0.4 - project is not a python library -> move out of pythonPackages. - also enable tests --- .../python-modules/tarsnapper-path.patch | 20 --------------- pkgs/tools/backup/tarsnapper/default.nix | 25 +++++++++++++++++++ .../backup/tarsnapper/remove-argparse.patch | 10 ++++++++ pkgs/top-level/all-packages.nix | 2 ++ pkgs/top-level/python-packages.nix | 20 --------------- 5 files changed, 37 insertions(+), 40 deletions(-) delete mode 100644 pkgs/development/python-modules/tarsnapper-path.patch create mode 100644 pkgs/tools/backup/tarsnapper/default.nix create mode 100644 pkgs/tools/backup/tarsnapper/remove-argparse.patch diff --git a/pkgs/development/python-modules/tarsnapper-path.patch b/pkgs/development/python-modules/tarsnapper-path.patch deleted file mode 100644 index 337ad49f9715..000000000000 --- a/pkgs/development/python-modules/tarsnapper-path.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/src/tarsnapper/script.py b/src/tarsnapper/script.py -index 737ac8d..52cc775 100644 ---- a/src/tarsnapper/script.py -+++ b/src/tarsnapper/script.py -@@ -48,7 +48,7 @@ class TarsnapBackend(object): - """ - ``arguments`` is a single list of strings. - """ -- call_with = ['tarsnap'] -+ call_with = ['@NIXTARSNAPPATH@'] - for option in self.options: - key = option[0] - pre = "-" if len(key) == 1 else "--" -@@ -499,4 +499,4 @@ def run(): - - - if __name__ == '__main__': -- run() -\ No newline at end of file -+ run() diff --git a/pkgs/tools/backup/tarsnapper/default.nix b/pkgs/tools/backup/tarsnapper/default.nix new file mode 100644 index 000000000000..54d85343e2da --- /dev/null +++ b/pkgs/tools/backup/tarsnapper/default.nix @@ -0,0 +1,25 @@ +{ python3Packages, fetchFromGitHub , tarsnap }: + +python3Packages.buildPythonApplication rec { + name = "tarsnapper-${version}"; + version = "0.4"; + + src = fetchFromGitHub { + owner = "miracle2k"; + repo = "tarsnapper"; + rev = version; + sha256 = "03db49188f4v1946c8mqqj30ah10x68hbg3a58js0syai32v12pm"; + }; + + buildInputs = with python3Packages; [ nose pytest ]; + + checkPhase = '' + py.test . + ''; + + propagatedBuildInputs = with python3Packages; [ pyyaml dateutil pexpect ]; + + patches = [ ./remove-argparse.patch ]; + + makeWrapperArgs = ["--prefix PATH : ${tarsnap}/bin"]; +} diff --git a/pkgs/tools/backup/tarsnapper/remove-argparse.patch b/pkgs/tools/backup/tarsnapper/remove-argparse.patch new file mode 100644 index 000000000000..5fd36b14a133 --- /dev/null +++ b/pkgs/tools/backup/tarsnapper/remove-argparse.patch @@ -0,0 +1,10 @@ +--- tarsnapper-0.4-src.org/setup.py 1980-01-02 00:00:00.000000000 +0000 ++++ tarsnapper-0.4-src/setup.py 2017-07-16 10:54:36.596499451 +0100 +@@ -45,6 +45,6 @@ + url='http://github.com/miracle2k/tarsnapper', + license='BSD', + packages=['tarsnapper'], +- install_requires = ['argparse>=1.1', 'pyyaml>=3.09', 'python-dateutil>=2.4.0', 'pexpect>=3.1'], ++ install_requires = ['pyyaml>=3.09', 'python-dateutil>=2.4.0', 'pexpect>=3.1'], + **kw + ) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8118bd9d98b7..95ff1dc58fc1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4370,6 +4370,8 @@ with pkgs; tarsnap = callPackage ../tools/backup/tarsnap { }; + tarsnapper = callPackage ../tools/backup/tarsnapper { }; + tcpcrypt = callPackage ../tools/security/tcpcrypt { }; tcptraceroute = callPackage ../tools/networking/tcptraceroute { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 4b6d1bf82e38..d79ba6af0e18 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -23664,26 +23664,6 @@ in { }; }; - tarsnapper = buildPythonPackage rec { - name = "tarsnapper-0.2.1"; - disabled = isPy3k; - - src = pkgs.fetchgit { - url = https://github.com/miracle2k/tarsnapper.git; - rev = "620439bca68892f2ffaba1079a34b18496cc6596"; - sha256 = "1n2k2r9x11r1ph9jcjhlk44hsghfnl1pl3aakbx121qc5dg7b0yn"; - }; - - propagatedBuildInputs = with self; [ argparse pyyaml ]; - - patches = [ ../development/python-modules/tarsnapper-path.patch ]; - - preConfigure = '' - substituteInPlace src/tarsnapper/script.py \ - --replace '@NIXTARSNAPPATH@' '${pkgs.tarsnap}/bin/tarsnap' - ''; - }; - taskcoach = buildPythonPackage rec { name = "TaskCoach-1.3.22"; disabled = isPy3k; From b57bf746a190eef648e62da1828273acc12f0d0c Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Sun, 16 Jul 2017 12:42:45 +0200 Subject: [PATCH 61/82] ocaml-top: 1.1.3 -> 1.1.4 ocamlPackages.ocp-build: 1.99.18-beta -> 1.99.19-beta --- pkgs/development/tools/ocaml/ocaml-top/default.nix | 14 +++++++------- pkgs/development/tools/ocaml/ocp-build/default.nix | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/pkgs/development/tools/ocaml/ocaml-top/default.nix b/pkgs/development/tools/ocaml/ocaml-top/default.nix index e194a77fbe81..e9331d078cf3 100644 --- a/pkgs/development/tools/ocaml/ocaml-top/default.nix +++ b/pkgs/development/tools/ocaml/ocaml-top/default.nix @@ -1,15 +1,15 @@ { stdenv, fetchzip, ncurses , ocamlPackages -, opam }: +, jbuilder }: stdenv.mkDerivation { - name = "ocaml-top-1.1.3"; + name = "ocaml-top-1.1.4"; src = fetchzip { - url = https://github.com/OCamlPro/ocaml-top/archive/1.1.3.tar.gz; - sha256 = "0islyinv7lwhg8hkg4xn30wwz1nv50rj0wpsis8jpimw6jdsnax3"; + url = https://github.com/OCamlPro/ocaml-top/archive/1.1.4.tar.gz; + sha256 = "1lmzjmnzsg8xdz0q5nm95zclihi9z80kzsalapg0s9wq0id8qm4j"; }; - buildInputs = [ ncurses opam ] + buildInputs = [ ncurses jbuilder ] ++ (with ocamlPackages; [ ocaml ocpBuild findlib lablgtk ocp-index ]); configurePhase = '' @@ -17,9 +17,9 @@ stdenv.mkDerivation { ocp-build -init ''; - buildPhase = "ocp-build ocaml-top"; + buildPhase = "jbuilder build"; - installPhase = "opam-installer --prefix=$out"; + inherit (jbuilder) installPhase; meta = { homepage = http://www.typerex.org/ocaml-top.html; diff --git a/pkgs/development/tools/ocaml/ocp-build/default.nix b/pkgs/development/tools/ocaml/ocp-build/default.nix index 931e6989aa10..2a9a634d0a4a 100644 --- a/pkgs/development/tools/ocaml/ocp-build/default.nix +++ b/pkgs/development/tools/ocaml/ocp-build/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, ocaml, findlib, ncurses, buildOcaml }: let - version = "1.99.18-beta"; + version = "1.99.19-beta"; in buildOcaml { @@ -11,7 +11,7 @@ buildOcaml { owner = "OCamlPro"; repo = "ocp-build"; rev = version; - sha256 = "14vzam8p1d2c5qxljrhsfppd8a3j9lxx8kzxlplwclkr2laar0ss"; + sha256 = "162k5l0cxyqanxlml5v8mqapdq5qbqc9m4b8wdjq7mf523b3h2zj"; }; buildInputs = [ ocaml ]; From 4d30116c9efdd2a08dc06b229e768c33225bb368 Mon Sep 17 00:00:00 2001 From: Silvan Mosberger Date: Sun, 16 Jul 2017 13:41:35 +0200 Subject: [PATCH 62/82] bashSnippets: init at 1.12.0 (#27408) --- .../misc/bashSnippets/default.nix | 49 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 51 insertions(+) create mode 100644 pkgs/applications/misc/bashSnippets/default.nix diff --git a/pkgs/applications/misc/bashSnippets/default.nix b/pkgs/applications/misc/bashSnippets/default.nix new file mode 100644 index 000000000000..542450080fea --- /dev/null +++ b/pkgs/applications/misc/bashSnippets/default.nix @@ -0,0 +1,49 @@ +{ stdenv, lib, fetchFromGitHub, makeWrapper +, curl, netcat, mpv, python, bind, iproute, bc, gitMinimal }: +let + version = "1.12.0"; + deps = lib.makeBinPath [ + curl + mpv + python + bind.dnsutils + iproute + bc + gitMinimal + ]; +in +stdenv.mkDerivation { + name = "bashSnippets-${version}"; + + src = fetchFromGitHub { + owner = "alexanderepstein"; + repo = "Bash-Snippets"; + rev = "v${version}"; + sha256 = "0kx2a8z3jbmmardw9z8fpghbw5mrbz4knb3wdihq35iarcbrddrg"; + }; + + buildInputs = [ makeWrapper ]; + + patchPhase = '' + patchShebangs install.sh + substituteInPlace install.sh --replace /usr/local "$out" + ''; + + dontBuild = true; + + installPhase = '' + mkdir -p "$out"/bin "$out"/man/man1 + ./install.sh all + for file in "$out"/bin/*; do + wrapProgram "$file" --prefix PATH : "${deps}" + done + ''; + + meta = with lib; { + description = "A collection of small bash scripts for heavy terminal users"; + homepage = https://github.com/alexanderepstein/Bash-Snippets; + license = licenses.mit; + maintainers = with maintainers; [ infinisil ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8118bd9d98b7..9ed13a1739f9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13399,6 +13399,8 @@ with pkgs; libgpod = pkgs.libgpod.override { monoSupport = true; }; }; + bashSnippets = callPackage ../applications/misc/bashSnippets { }; + batik = callPackage ../applications/graphics/batik { }; batti = callPackage ../applications/misc/batti { }; From 96b4ed637b25bd3d4a3d64872b186f22dc210fca Mon Sep 17 00:00:00 2001 From: Eric Litak Date: Sun, 16 Jul 2017 05:08:48 -0700 Subject: [PATCH 63/82] factorio: 0.15.26 -> 0.15.30 (#27421) --- pkgs/games/factorio/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/games/factorio/default.nix b/pkgs/games/factorio/default.nix index 1d52cf845d91..5c24c3ec8076 100644 --- a/pkgs/games/factorio/default.nix +++ b/pkgs/games/factorio/default.nix @@ -10,7 +10,7 @@ assert releaseType == "alpha" || releaseType == "headless" || releaseType == "de with stdenv.lib; let - version = if releaseType != "demo" then "0.15.26" else "0.15.25"; + version = if releaseType != "demo" then "0.15.30" else "0.15.25"; arch = if stdenv.system == "x86_64-linux" then { inUrl = "linux64"; @@ -26,8 +26,8 @@ let url = "https://www.factorio.com/get-download/${version}/${releaseType}/${arch.inUrl}"; name = "factorio_${releaseType}_${arch.inTar}-${version}.tar.xz"; x64 = { - headless = fetchurl { inherit name url; sha256 = "1nblfff1m5wgp177l508y94n61lga3palhzw4frp2vd98sdp7gqk"; }; - alpha = authenticatedFetch { inherit name url; sha256 = "0g7k58h15q4n9wxf96rx72w340xpdbj8k1faaxixrfrfx8bnmsls"; }; + headless = fetchurl { inherit name url; sha256 = "0nmr73i9acnqgphfmsps7f8jlw0f2gyal9l8pldlp4rk0cjgvszy"; }; + alpha = authenticatedFetch { inherit name url; sha256 = "1ydh44na2lbvdv4anrblym7d6wxwapfbwap40n3722llrsad0zsz"; }; demo = fetchurl { inherit name url; sha256 = "1qz6g8mf221ic663zk92l6rs77ggfydaw2d8g2s7wy0j9097qbsl"; }; }; i386 = { From 00335098a5cde0b221db83e555019a251d3d40f9 Mon Sep 17 00:00:00 2001 From: Eric Litak Date: Fri, 24 Jun 2016 13:41:12 +0000 Subject: [PATCH 64/82] oraclejdk8: armv7l support --- .../compilers/oraclejdk/jdk-linux-base.nix | 55 +++++++++++++------ .../compilers/oraclejdk/jdk8cpu-linux.nix | 1 + .../compilers/oraclejdk/jdk8psu-linux.nix | 1 + pkgs/top-level/all-packages.nix | 7 ++- 4 files changed, 43 insertions(+), 21 deletions(-) diff --git a/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix b/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix index 196544a64761..08fd724f7733 100644 --- a/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix +++ b/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix @@ -3,6 +3,7 @@ , downloadUrl , sha256_i686 , sha256_x86_64 +, sha256_armv7l , jceName , jceDownloadUrl , sha256JCE @@ -34,10 +35,13 @@ , setJavaClassPath }: -assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"; +assert stdenv.system == "i686-linux" + || stdenv.system == "x86_64-linux" + || stdenv.system == "armv7l-linux"; assert swingSupport -> xorg != null; let + abortArch = abort "jdk requires i686-linux, x86_64-linux, or armv7l-linux"; /** * The JRE libraries are in directories that depend on the CPU. @@ -47,8 +51,10 @@ let "i386" else if stdenv.system == "x86_64-linux" then "amd64" + else if stdenv.system == "armv7l-linux" then + "arm" else - abort "jdk requires i686-linux or x86_64 linux"; + abortArch; jce = if installjce then @@ -59,6 +65,14 @@ let } else ""; + + rSubPaths = [ + "lib/${architecture}/jli" + "lib/${architecture}/server" + "lib/${architecture}/xawt" + "lib/${architecture}" + ]; + in let result = stdenv.mkDerivation rec { @@ -78,8 +92,14 @@ let result = stdenv.mkDerivation rec { url = downloadUrl; sha256 = sha256_x86_64; } + else if stdenv.system == "armv7l-linux" then + requireFile { + name = "jdk-${productVersion}u${patchVersion}-linux-arm32-vfp-hflt.tar.gz"; + url = downloadUrl; + sha256 = sha256_armv7l; + } else - abort "jdk requires i686-linux or x86_64 linux"; + abortArch; nativeBuildInputs = [ file ] ++ stdenv.lib.optional installjce unzip; @@ -134,18 +154,6 @@ let result = stdenv.mkDerivation rec { cp -v UnlimitedJCEPolicy*/*.jar $jrePath/lib/security fi - rpath=$rpath''${rpath:+:}$jrePath/lib/${architecture}/jli - rpath=$rpath''${rpath:+:}$jrePath/lib/${architecture}/server - rpath=$rpath''${rpath:+:}$jrePath/lib/${architecture}/xawt - rpath=$rpath''${rpath:+:}$jrePath/lib/${architecture} - - # set all the dynamic linkers - find $out -type f -perm -0100 \ - -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "$rpath" {} \; - - find $out -name "*.so" -exec patchelf --set-rpath "$rpath" {} \; - if test -z "$pluginSupport"; then rm -f $out/bin/javaws if test -n "$installjdk"; then @@ -163,11 +171,22 @@ let result = stdenv.mkDerivation rec { cat <> $out/nix-support/setup-hook if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi EOF + ''; + + postFixup = '' + rpath+="''${rpath:+:}${stdenv.lib.concatStringsSep ":" (map (a: "$jrePath/${a}") rSubPaths)}" + + # set all the dynamic linkers + find $out -type f -perm -0100 \ + -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "$rpath" {} \; + + find $out -name "*.so" -exec patchelf --set-rpath "$rpath" {} \; # Oracle Java Mission Control needs to know where libgtk-x11 and related is - if test -n "$installjdk"; then + if test -n "$installjdk" -a -x $out/bin/jmc; then wrapProgram "$out/bin/jmc" \ - --suffix-each LD_LIBRARY_PATH ':' "${rpath}" + --suffix-each LD_LIBRARY_PATH ':' "$rpath" fi ''; @@ -192,7 +211,7 @@ let result = stdenv.mkDerivation rec { meta = with stdenv.lib; { license = licenses.unfree; - platforms = [ "i686-linux" "x86_64-linux" ]; # some inherit jre.meta.platforms + platforms = [ "i686-linux" "x86_64-linux" "armv7l-linux" ]; # some inherit jre.meta.platforms }; }; in result diff --git a/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix b/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix index 8e93f76ff185..1c761d586035 100644 --- a/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix +++ b/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix @@ -4,6 +4,7 @@ import ./jdk-linux-base.nix { downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html; sha256_i686 = "0m3i1n1im1nlwb06wlsdajv19cd3zhrjkw8zbyjfznydn6qs4s80"; sha256_x86_64 = "0dhj623ya01glcl3iir9ajifcrf6awhvpk936x9cxfj8zfyibck2"; + sha256_armv7l = "0ja97nqn4x0ji16c7r6i9nnnj3745br7qlbj97jg1s8m2wk7f9jd"; jceName = "jce_policy-8.zip"; jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html; sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk"; diff --git a/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix b/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix index 8e93f76ff185..1c761d586035 100644 --- a/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix +++ b/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix @@ -4,6 +4,7 @@ import ./jdk-linux-base.nix { downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html; sha256_i686 = "0m3i1n1im1nlwb06wlsdajv19cd3zhrjkw8zbyjfznydn6qs4s80"; sha256_x86_64 = "0dhj623ya01glcl3iir9ajifcrf6awhvpk936x9cxfj8zfyibck2"; + sha256_armv7l = "0ja97nqn4x0ji16c7r6i9nnnj3745br7qlbj97jg1s8m2wk7f9jd"; jceName = "jce_policy-8.zip"; jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html; sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8118bd9d98b7..8d0f32a44936 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5619,8 +5619,8 @@ with pkgs; (lib.addMetaAttrs { outputsToInstall = [ "jre" ]; } (openjdk7.jre // { outputs = [ "jre" ]; })); - jdk8 = openjdk8 // { outputs = [ "out" ]; }; - jre8 = lib.setName "openjre-${lib.getVersion pkgs.openjdk8.jre}" + jdk8 = if stdenv.isArm then oraclejdk8 else openjdk8 // { outputs = [ "out" ]; }; + jre8 = if stdenv.isArm then oraclejre8 else lib.setName "openjre-${lib.getVersion pkgs.openjdk8.jre}" (lib.addMetaAttrs { outputsToInstall = [ "jre" ]; } (openjdk8.jre // { outputs = [ "jre" ]; })); jre8_headless = @@ -5653,7 +5653,8 @@ with pkgs; supportsJDK = system == "i686-linux" || - system == "x86_64-linux"; + system == "x86_64-linux" || + system == "armv7l-linux"; jdkdistro = oraclejdk8distro; From 9953a798fba84a558a3dd9c5b013c95698108e1f Mon Sep 17 00:00:00 2001 From: Eric Litak Date: Sun, 16 Jul 2017 06:09:57 -0700 Subject: [PATCH 65/82] factorio: authenticatedFetch now handles 404 properly --- pkgs/games/factorio/fetch.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/games/factorio/fetch.sh b/pkgs/games/factorio/fetch.sh index 30d9c9fdefe0..312dc9b6d61e 100644 --- a/pkgs/games/factorio/fetch.sh +++ b/pkgs/games/factorio/fetch.sh @@ -33,7 +33,7 @@ $curl --data-urlencode csrf_token="$csrf" \ if grep -q 'Location: https://' headers; then # Now download. We need --insecure for this, but the sha256 should cover us. - $curl --insecure --location $url > $out + $curl --insecure --location --fail $url > $out || { echo "Login succeeded, but subsequent fetch failed."; exit 1; } set +x else set +x From 9ce8aadf5a6ff34452fef81774b3bae2ccbaa2fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Urban=20=C5=A0kudnik?= Date: Sun, 16 Jul 2017 13:46:43 +0200 Subject: [PATCH 66/82] jetbrains.idea-ultimate: 2017.1.4 -> 2017.1.5 --- pkgs/applications/editors/jetbrains/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix index 99a1837f9f22..4dfdbf6f2d63 100644 --- a/pkgs/applications/editors/jetbrains/default.nix +++ b/pkgs/applications/editors/jetbrains/default.nix @@ -304,12 +304,12 @@ in idea-ultimate = buildIdea rec { name = "idea-ultimate-${version}"; - version = "2017.1.4"; + version = "2017.1.5"; 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}-no-jdk.tar.gz"; - sha256 = "0byrsbsscpzb0syamzpavny879src5dlclnissa7173rh8hgkna4"; + sha256 = "0gjj2g9fcrbbbp3v4clg0kj48qdw0gqcn9im4h8p3z2zscpg16ag"; }; wmClass = "jetbrains-idea"; update-channel = "IDEA_Release"; From 141706567ca148cf2d5bab484b20a78877a5bee7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benno=20F=C3=BCnfst=C3=BCck?= Date: Sun, 16 Jul 2017 16:41:58 +0200 Subject: [PATCH 67/82] jetbrains.idea-community: 2017.1.4 -> 2017.1.5 --- pkgs/applications/editors/jetbrains/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix index 4dfdbf6f2d63..6939475bf5ee 100644 --- a/pkgs/applications/editors/jetbrains/default.nix +++ b/pkgs/applications/editors/jetbrains/default.nix @@ -265,12 +265,12 @@ in idea-community = buildIdea rec { name = "idea-community-${version}"; - version = "2017.1.4"; + version = "2017.1.5"; /* updated by script */ 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 = "1w1knq969dl8rxlkhr9mw8cr2vszn384acwhspimrd3zs9825r45"; + sha256 = "830c662c517e8d0131dc2df150d6f75adb3d8becaf9de96393730b0f4ae6ccf0"; /* updated by script */ }; wmClass = "jetbrains-idea-ce"; update-channel = "IDEA_Release"; From 37daf755d9e3dbfd71c0dd692e95f07df98385fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benno=20F=C3=BCnfst=C3=BCck?= Date: Sun, 16 Jul 2017 16:42:32 +0200 Subject: [PATCH 68/82] jetbrains.pycharm-{community,professional}: 2017.1.4 -> 2017.1.5 --- pkgs/applications/editors/jetbrains/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix index 6939475bf5ee..cb17462ab427 100644 --- a/pkgs/applications/editors/jetbrains/default.nix +++ b/pkgs/applications/editors/jetbrains/default.nix @@ -343,12 +343,12 @@ in pycharm-community = buildPycharm rec { name = "pycharm-community-${version}"; - version = "2017.1.4"; /* updated by script */ + version = "2017.1.5"; /* updated by script */ description = "PyCharm Community Edition"; license = stdenv.lib.licenses.asl20; src = fetchurl { url = "https://download.jetbrains.com/python/${name}.tar.gz"; - sha256 = "1e69ab29215a9c8c4626de6727df433ae0d9f6ed46eba2a6f48ffa52c2b04256"; /* updated by script */ + sha256 = "1a0bbf0d881527e08aad7a5adaa3ad44e8754c3eb2c3a8ed5ab113491549679b"; /* updated by script */ }; wmClass = "jetbrains-pycharm-ce"; update-channel = "PyCharm_Release"; @@ -356,12 +356,12 @@ in pycharm-professional = buildPycharm rec { name = "pycharm-professional-${version}"; - version = "2017.1.4"; /* updated by script */ + version = "2017.1.5"; /* updated by script */ description = "PyCharm Professional Edition"; license = stdenv.lib.licenses.unfree; src = fetchurl { url = "https://download.jetbrains.com/python/${name}.tar.gz"; - sha256 = "bbae5602b9cf6d26ccce9e1bf8b388d79c27cf89673d1a56f248bf0a50e518ed"; /* updated by script */ + sha256 = "52519dfd0e913b5ccb8767155cd4d1fd413967d5010e8474cdc9a1fa688016ce"; /* updated by script */ }; wmClass = "jetbrains-pycharm"; update-channel = "PyCharm_Release"; From 0c78b20194b5f2a7a82323a8fb7f25970fd46ffb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benno=20F=C3=BCnfst=C3=BCck?= Date: Sun, 16 Jul 2017 16:43:08 +0200 Subject: [PATCH 69/82] jetbrains.ruby-mine: 2017.1.4 -> 2017.1.5 --- pkgs/applications/editors/jetbrains/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix index cb17462ab427..8a80b516a70f 100644 --- a/pkgs/applications/editors/jetbrains/default.nix +++ b/pkgs/applications/editors/jetbrains/default.nix @@ -382,12 +382,12 @@ in ruby-mine = buildRubyMine rec { name = "ruby-mine-${version}"; - version = "2017.1.4"; + version = "2017.1.5"; /* updated by script */ description = "The Most Intelligent Ruby and Rails IDE"; license = stdenv.lib.licenses.unfree; src = fetchurl { url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz"; - sha256 = "06jk0anlnc4gr240i51kam47shdjgda6zg3hglk5w3bpvbyix68z"; + sha256 = "198eb3d7914529ce3a6857e038167e194fb838c4b94242048ae45e8413458d66"; /* updated by script */ }; wmClass = "jetbrains-rubymine"; update-channel = "rm2017.1"; From e6fdfbb8ddba6a0a860d7250e2ebf56e41581361 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benno=20F=C3=BCnfst=C3=BCck?= Date: Sun, 16 Jul 2017 16:43:31 +0200 Subject: [PATCH 70/82] jetbrains.rider: 171.4456.575 -> 171.4456.1432 --- pkgs/applications/editors/jetbrains/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix index 8a80b516a70f..9bd002137c49 100644 --- a/pkgs/applications/editors/jetbrains/default.nix +++ b/pkgs/applications/editors/jetbrains/default.nix @@ -369,15 +369,15 @@ in rider = buildRider rec { name = "rider-${version}"; - version = "171.4456.575"; /* updated by script */ + version = "171.4456.1432"; /* updated by script */ description = "A cross-platform .NET IDE based on the IntelliJ platform and ReSharper"; license = stdenv.lib.licenses.unfree; src = fetchurl { - url = "https://download.jetbrains.com/resharper/riderRS-${version}.tar.gz"; - sha256 = "9b7f46e9c800a091f2cdbe9fda08041729e2abc0ce57252731da659b2424707b"; /* updated by script */ + url = "https://download.jetbrains.com/resharper/Rider-RC-${version}.tar.gz"; + sha256 = "37bad69cdfcc4f297b2500a7bb673af7ef8f1fd45baa4eb2fa388d2c4bcb41ee"; /* updated by script */ }; wmClass = "jetbrains-rider"; - update-channel = "rider1.0EAP"; + update-channel = "rider_2017_1_eap"; }; ruby-mine = buildRubyMine rec { From 5d29744f4dc2c8d62fc5a99f896aa96ea440874d Mon Sep 17 00:00:00 2001 From: Roman Volosatovs Date: Sun, 16 Jul 2017 18:53:14 +0200 Subject: [PATCH 71/82] mopidy-iris: 3.0.3 -> 3.0.5 --- pkgs/applications/audio/mopidy-iris/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/mopidy-iris/default.nix b/pkgs/applications/audio/mopidy-iris/default.nix index d2ba955f9fb7..a39c63277631 100644 --- a/pkgs/applications/audio/mopidy-iris/default.nix +++ b/pkgs/applications/audio/mopidy-iris/default.nix @@ -2,12 +2,12 @@ pythonPackages.buildPythonApplication rec { name = "mopidy-iris-${version}"; - version = "3.0.3"; + version = "3.0.5"; src = pythonPackages.fetchPypi { inherit version; pname = "Mopidy-Iris"; - sha256 = "1j8zrkvgs2f6jcqf1sn79afiirk5plfrkychlzcwqrxix293ngjr"; + sha256 = "0rabpzmiis13z4qz3vqlsfc9xjkwracafckahnq2cq97qawyq9y9"; }; propagatedBuildInputs = [ From b6188438607bbb817d17db31b061870379a8faf6 Mon Sep 17 00:00:00 2001 From: aszlig Date: Sun, 16 Jul 2017 18:57:38 +0200 Subject: [PATCH 72/82] nixos/taskserver: Fix manual PKI management The helper tool had a very early check whether the automatically created CA key/cert are available and thus it would abort if the key was unavailable even though we don't need or even want to have the CA key. Unfortunately our NixOS test didn't catch this, because it was just switching from a configuration with an automatically created CA to a manual configuration without deleting the generated keys and certs. This is done now in the tests and it's also fixed in the helper tool. Reported-by: @jpotier Signed-off-by: aszlig --- nixos/modules/services/misc/taskserver/helper-tool.py | 2 ++ nixos/tests/taskserver.nix | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/nixos/modules/services/misc/taskserver/helper-tool.py b/nixos/modules/services/misc/taskserver/helper-tool.py index b97bc1df74f7..22a3d8d5311b 100644 --- a/nixos/modules/services/misc/taskserver/helper-tool.py +++ b/nixos/modules/services/misc/taskserver/helper-tool.py @@ -448,6 +448,8 @@ def cli(ctx): """ Manage Taskserver users and certificates """ + if not IS_AUTO_CONFIG: + return for path in (CA_KEY, CA_CERT, CRL_FILE): if not os.path.exists(path): msg = "CA setup not done or incomplete, missing file {}." diff --git a/nixos/tests/taskserver.nix b/nixos/tests/taskserver.nix index cdccb11d8887..75be97a507d0 100644 --- a/nixos/tests/taskserver.nix +++ b/nixos/tests/taskserver.nix @@ -246,6 +246,10 @@ in { }; subtest "check manual configuration", sub { + # Remove the keys from automatic CA creation, to make sure the new + # generation doesn't use keys from before. + $server->succeed('rm -rf ${cfg.dataDir}/keys/* >&2'); + $server->succeed('${switchToNewServer} >&2'); $server->waitForUnit("taskserver.service"); $server->waitForOpenPort(${portStr}); From c226ee619aa0dd573a0045f6b0b5437d662433b4 Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Sun, 16 Jul 2017 22:30:34 +0100 Subject: [PATCH 73/82] tt-rss: 16.3 -> 17.4 --- pkgs/servers/tt-rss/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/tt-rss/default.nix b/pkgs/servers/tt-rss/default.nix index d42656cf0f6b..2cc0cac8a60a 100644 --- a/pkgs/servers/tt-rss/default.nix +++ b/pkgs/servers/tt-rss/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { name = "tt-rss-${version}"; - version = "16.3"; + version = "17.4"; src = fetchgit { - url = "https://tt-rss.org/gitlab/fox/tt-rss.git"; + url = "https://git.tt-rss.org/git/tt-rss.git"; rev = "refs/tags/${version}"; - sha256 = "1584lcq6kcy9f8ik5djb9apck9hxvfpl54sn6yhl3pdfrfdj3nw5"; + sha256 = "07ng21n4pva56cxnxkzd6vzs381zn67psqpm51ym5wnl644jqh08"; }; buildPhases = ["unpackPhase" "installPhase"]; From 870375e19d1ec3ad69de7eb1c73c6c80cc214108 Mon Sep 17 00:00:00 2001 From: volth Date: Mon, 17 Jul 2017 00:38:10 +0000 Subject: [PATCH 74/82] all-hardware.nix: add VMware support. (#27430) NixOS does not boot in VMware guest without these modules --- nixos/modules/profiles/all-hardware.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nixos/modules/profiles/all-hardware.nix b/nixos/modules/profiles/all-hardware.nix index 530b2fbffd1c..6e6ae98e19fc 100644 --- a/nixos/modules/profiles/all-hardware.nix +++ b/nixos/modules/profiles/all-hardware.nix @@ -41,6 +41,9 @@ # Virtio (QEMU, KVM etc.) support. "virtio_net" "virtio_pci" "virtio_blk" "virtio_scsi" "virtio_balloon" "virtio_console" + + # VMware support. + "mptspi" "vmw_balloon" "vmwgfx" "vmw_vmci" "vmw_vsock_vmci_transport" "vmxnet3" "vsock" # Hyper-V support. "hv_storvsc" From e4eea75fa79aa6f32e8e200fa318ca9d54a86d8c Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 11 Jul 2017 04:48:43 +0200 Subject: [PATCH 75/82] zfs: 0.6.5.10 -> 0.6.5.11 --- pkgs/os-specific/linux/spl/default.nix | 4 ++-- pkgs/os-specific/linux/zfs/default.nix | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/os-specific/linux/spl/default.nix b/pkgs/os-specific/linux/spl/default.nix index 26cc8ea7c711..2f9f971194a7 100644 --- a/pkgs/os-specific/linux/spl/default.nix +++ b/pkgs/os-specific/linux/spl/default.nix @@ -62,8 +62,8 @@ in assert buildKernel -> kernel != null; { splStable = common { - version = "0.6.5.10"; - sha256 = "1zdxggpdz9j0lpcqfnkvf4iym7mp2k246sg1s4frqaw1pwwcw9vi"; + version = "0.6.5.11"; + sha256 = "192val8035pj2rryi3fwb134avzirhv5ifaj5021vh8bbjx75pd5"; }; splUnstable = common { version = "0.7.0-rc4"; diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix index 50f4e6f2b410..dd9bc713bdc5 100644 --- a/pkgs/os-specific/linux/zfs/default.nix +++ b/pkgs/os-specific/linux/zfs/default.nix @@ -123,12 +123,12 @@ in # to be adapted zfsStable = common { # comment/uncomment if breaking kernel versions are known - incompatibleKernelVersion = null; + incompatibleKernelVersion = "4.12"; - version = "0.6.5.10"; + version = "0.6.5.11"; # this package should point to the latest release. - sha256 = "04gn5fj22z17zq2nazxwl3j9dr33l79clha6ipxvdz241bhjqrk3"; + sha256 = "1wqz43cjr21m3f52ahcikl2798pbzj5sfy16zqxwiqpv7iy09kr3"; extraPatches = [ (fetchpatch { url = "https://github.com/Mic92/zfs/compare/zfs-0.6.5.8...nixos-zfs-0.6.5.8.patch"; From 7f0994c33d125c481b8efb52df51fe5f97dff597 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Fri, 14 Jul 2017 00:48:36 +0200 Subject: [PATCH 76/82] zfsUnstable: 0.7.0-rc4 -> 0.7.0-rc5 --- pkgs/os-specific/linux/spl/default.nix | 4 ++-- pkgs/os-specific/linux/zfs/default.nix | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/os-specific/linux/spl/default.nix b/pkgs/os-specific/linux/spl/default.nix index 2f9f971194a7..941bd8a86710 100644 --- a/pkgs/os-specific/linux/spl/default.nix +++ b/pkgs/os-specific/linux/spl/default.nix @@ -66,7 +66,7 @@ in sha256 = "192val8035pj2rryi3fwb134avzirhv5ifaj5021vh8bbjx75pd5"; }; splUnstable = common { - version = "0.7.0-rc4"; - sha256 = "13r5qwrdnaabqfy9fvizvdj4n4cvfv6zy4jh0vijzjvbjd4an9g1"; + version = "0.7.0-rc5"; + sha256 = "17y25g02c9swi3n90lhjvazcnsr69nh50dz3b8g1c08zlz9n2akp"; }; } diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix index dd9bc713bdc5..414f2ba444a2 100644 --- a/pkgs/os-specific/linux/zfs/default.nix +++ b/pkgs/os-specific/linux/zfs/default.nix @@ -141,10 +141,10 @@ in # comment/uncomment if breaking kernel versions are known incompatibleKernelVersion = "4.12"; - version = "0.7.0-rc4"; + version = "0.7.0-rc5"; # this package should point to a version / git revision compatible with the latest kernel release - sha256 = "16jiq2h7m2ljg5xv7m5lqmsszzclkhvj1iq1wa9w740la4vl22kf"; + sha256 = "1k0fl6lbi5winri58v26k7gngd560hbj0247rnwcbc6j01ixsr5n"; extraPatches = [ (fetchpatch { url = "https://github.com/Mic92/zfs/compare/zfs-0.7.0-rc3...nixos-zfs-0.7.0-rc3.patch"; From 77a0b04f911a105534a8f6329b2c62474eaff89c Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Fri, 14 Jul 2017 01:29:17 +0200 Subject: [PATCH 77/82] darktable: 2.2.4 -> 2.2.5 --- pkgs/applications/graphics/darktable/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix index 68ab287f1a65..8c1db9c039e7 100644 --- a/pkgs/applications/graphics/darktable/default.nix +++ b/pkgs/applications/graphics/darktable/default.nix @@ -11,12 +11,12 @@ assert stdenv ? glibc; stdenv.mkDerivation rec { - version = "2.2.4"; + version = "2.2.5"; name = "darktable-${version}"; src = fetchurl { url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz"; - sha256 = "1n7rddkxwcifc3kcdlnar9w562xv4h78fqkkn27jihqzp3b4am5x"; + sha256 = "10gjzd4irxhladh4jyss9kgp627k8vgx2divipsb33pp6cms80z3"; }; buildInputs = From c2e9f45df2387c4b809793c77639ec209b53efb9 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Fri, 14 Jul 2017 01:29:33 +0200 Subject: [PATCH 78/82] exiv2: 0.25 -> 0.26 --- pkgs/development/libraries/exiv2/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/exiv2/default.nix b/pkgs/development/libraries/exiv2/default.nix index a11be14df109..a1a07b43197f 100644 --- a/pkgs/development/libraries/exiv2/default.nix +++ b/pkgs/development/libraries/exiv2/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, fetchpatch, zlib, expat, gettext }: stdenv.mkDerivation rec { - name = "exiv2-0.25"; + name = "exiv2-0.26"; src = fetchurl { - url = "http://www.exiv2.org/${name}.tar.gz"; - sha256 = "197g6vgcpyf9p2cwn5p5hb1r714xsk1v4p96f5pv1z8mi9vzq2y8"; + url = "http://www.exiv2.org/builds/${name}-trunk.tar.gz"; + sha256 = "1yza317qxd8yshvqnay164imm0ks7cvij8y8j86p1gqi1153qpn7"; }; postPatch = "patchShebangs ./src/svn_version.sh"; From 3d505a1acd66f22d644919b87e95b91752aef41b Mon Sep 17 00:00:00 2001 From: Yann Hodique Date: Sun, 16 Jul 2017 20:16:01 -0700 Subject: [PATCH 79/82] lftp: 4.7.7 -> 4.8.0 --- pkgs/tools/networking/lftp/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/lftp/default.nix b/pkgs/tools/networking/lftp/default.nix index ae62195342f6..67181d8aec36 100644 --- a/pkgs/tools/networking/lftp/default.nix +++ b/pkgs/tools/networking/lftp/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { name = "lftp-${version}"; - version = "4.7.7"; + version = "4.8.0"; src = fetchurl { urls = [ @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { "ftp://ftp.st.ryukoku.ac.jp/pub/network/ftp/lftp/${name}.tar.bz2" "http://lftp.yar.ru/ftp/old/${name}.tar.bz2" ]; - sha256 = "104jvzmvbmblfg8n8ffrnrrg8za5l25n53lbkawwy5x3m4h1yi7y"; + sha256 = "0z2432zxzg808swi72yak9kia976qrjj030grk0v4p54mcib3s34"; }; nativeBuildInputs = [ pkgconfig ]; From c0cf19608faf447d4b78f77ff36a770462b19a22 Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Fri, 16 Jun 2017 15:52:46 +0200 Subject: [PATCH 80/82] aspellWithDicts: create derivation with aspell and selected dictionaries Currently, `aspell` checks the active profiles for dictionaries. While this may be convenient, it does not work with `nix-shell` and it doesn't allow any isolation. This commit adds the possibility to use composition by creating a derivation with `symlinkJoin` that contains all the chosen dictionaries, and another derivation that wraps the executables linking to the dictionaries. Nix example: my_aspell = aspellWithDicts(ps: with ps; [ en nl ]) `nix-shell` example: nix-shell -p 'aspellWithDicts(ps: with ps; [ en nl ])' --- .../libraries/aspell/aspell-with-dicts.nix | 35 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 37 insertions(+) create mode 100644 pkgs/development/libraries/aspell/aspell-with-dicts.nix diff --git a/pkgs/development/libraries/aspell/aspell-with-dicts.nix b/pkgs/development/libraries/aspell/aspell-with-dicts.nix new file mode 100644 index 000000000000..eb96070f4fd7 --- /dev/null +++ b/pkgs/development/libraries/aspell/aspell-with-dicts.nix @@ -0,0 +1,35 @@ +# Create a derivation that contains aspell and selected dictionaries. +# Composition is done using `pkgs.buildEnv`. + +{ aspell +, aspellDicts +, makeWrapper +, symlinkJoin +, runCommand +}: + +f: + +let + # Dictionaries we want + dicts = f aspellDicts; + + # A tree containing the dictionaries + dictEnv = symlinkJoin { + name = "aspell-dicts"; + paths = dicts; + }; + +in runCommand "aspell-env" { + buildInputs = [ makeWrapper ]; +} '' + # Construct wrappers in /bin + mkdir -p $out/bin + pushd "${aspell}/bin" + for prg in *; do + if [ -f "$prg" ]; then + makeWrapper "${aspell}/bin/$prg" "$out/bin/$prg" --set ASPELL_CONF "data-dir ${dictEnv}/lib/aspell" + fi + done + popd +'' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3d09b8893b43..149f99504a74 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7393,6 +7393,8 @@ with pkgs; aspellDicts = recurseIntoAttrs (callPackages ../development/libraries/aspell/dictionaries.nix {}); + aspellWithDicts = callPackage ../development/libraries/aspell/aspell-with-dicts.nix { }; + attica = callPackage ../development/libraries/attica { }; attr = callPackage ../development/libraries/attr { }; From d2aa638ee2b6f9771cf63f90dbc04a3eb3ecc384 Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Mon, 17 Jul 2017 10:34:57 +0200 Subject: [PATCH 81/82] update-python-libraries script: don't forget to break when we actually find an update --- maintainers/scripts/update-python-libraries | 1 + 1 file changed, 1 insertion(+) diff --git a/maintainers/scripts/update-python-libraries b/maintainers/scripts/update-python-libraries index d06dee150994..7c73510c353a 100755 --- a/maintainers/scripts/update-python-libraries +++ b/maintainers/scripts/update-python-libraries @@ -91,6 +91,7 @@ def _get_latest_version_pypi(package, extension): if release['filename'].endswith(extension): # TODO: In case of wheel we need to do further checks! sha256 = release['digests']['sha256'] + break else: sha256 = None return version, sha256 From 8669fb1f96cfd68ed68d9d76ff1f0237d4d96748 Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Fri, 14 Jul 2017 11:47:15 +0100 Subject: [PATCH 82/82] tinc service: BindToAddress and ListenAddress are different options, they should not be mistaken --- nixos/doc/manual/release-notes/rl-1709.xml | 10 ++++++++++ nixos/modules/services/networking/tinc.nix | 13 +++++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/nixos/doc/manual/release-notes/rl-1709.xml b/nixos/doc/manual/release-notes/rl-1709.xml index 3ae2d260c992..72dfd60bedd9 100644 --- a/nixos/doc/manual/release-notes/rl-1709.xml +++ b/nixos/doc/manual/release-notes/rl-1709.xml @@ -120,6 +120,16 @@ rmdir /var/lib/ipfs/.ipfs also serve as a SSH agent if enableSSHSupport is set. + + + The services.tinc.networks.<name>.listenAddress + option had a misleading name that did not correspond to its behavior. It + now correctly defines the ip to listen for incoming connections on. To + keep the previous behaviour, use + services.tinc.networks.<name>.bindToAddress + instead. Refer to the description of the options for more details. + +
Other notable improvements: diff --git a/nixos/modules/services/networking/tinc.nix b/nixos/modules/services/networking/tinc.nix index 79a0aa953feb..7376d2d24a0b 100644 --- a/nixos/modules/services/networking/tinc.nix +++ b/nixos/modules/services/networking/tinc.nix @@ -79,7 +79,15 @@ in default = null; type = types.nullOr types.str; description = '' - The ip adress to bind to. + The ip address to listen on for incoming connections. + ''; + }; + + bindToAddress = mkOption { + default = null; + type = types.nullOr types.str; + description = '' + The ip address to bind to (both listen on and send packets from). ''; }; @@ -131,7 +139,8 @@ in Name = ${if data.name == null then "$HOST" else data.name} DeviceType = ${data.interfaceType} ${optionalString (data.ed25519PrivateKeyFile != null) "Ed25519PrivateKeyFile = ${data.ed25519PrivateKeyFile}"} - ${optionalString (data.listenAddress != null) "BindToAddress = ${data.listenAddress}"} + ${optionalString (data.listenAddress != null) "ListenAddress = ${data.listenAddress}"} + ${optionalString (data.bindToAddress != null) "BindToAddress = ${data.bindToAddress}"} Device = /dev/net/tun Interface = tinc.${network} ${data.extraConfig}