Skip to content
This repository was archived by the owner on Apr 12, 2021. It is now read-only.
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs-channels
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: e4d710b1c94b
Choose a base ref
...
head repository: NixOS/nixpkgs-channels
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 7319061eef4f
Choose a head ref
  • 16 commits
  • 8 files changed
  • 7 contributors

Commits on May 9, 2020

  1. Copy the full SHA
    8007a72 View commit details

Commits on May 13, 2020

  1. dockerTools.examples: fix the nginx image

    Nginx now requires directories `/var/log/nginx` and `/var/cache/nginx`
    to be existing.
    
    The objective is to fix the test `nixosTests.docker-tools`.
    nlewo committed May 13, 2020
    Copy the full SHA
    9ac444d View commit details
  2. maintainers/scripts/update.nix: Import lib into scope

    This will make it easier to change it if we want to decouple from pkgs.
    jtojnar committed May 13, 2020
    Copy the full SHA
    8f50956 View commit details
  3. maintainers/scripts/update.nix: derivation is the final station

    It does not make sense to look for derivations within derivations,
    not even when `recurseForDerivations` is true. Nix does not do that either:
    
    https://github.com/NixOS/nix/blob/ebc024df2287085d48ed6194aa756fd70c07f76c/src/libexpr/get-drvs.cc#L346-L355
    jtojnar committed May 13, 2020
    Copy the full SHA
    fab2ee8 View commit details
  4. maintainers/scripts/update.nix: refactor package collector

    The `packagesWith` function expected an attrSet but `packagesWithUpdateScript`
    could be passing it a derivation or a list when the attribute path
    supplied by user through the `--argstr path` argument pointed to one.
    It only worked because derivations are also attrSets and contain their
    outputs as attributes, and did not work for lists at all.
    
    Additionally, the improper handling would cause the `src` attribute
    to be built in some rare cases (`mkYarnPackage` seems to trigger this).
    
    Rewriting the `packagesWith` function to be inductive with a derivation
    as a base case and attrSets and lists as inductive steps is much cleaner
    and also fixes the unnecessary build.
    jtojnar committed May 13, 2020
    Copy the full SHA
    3f3aeb7 View commit details
  5. Copy the full SHA
    96f3c62 View commit details

Commits on May 15, 2020

  1. Copy the full SHA
    9774e87 View commit details
  2. alot: 0.9 → 0.9.1

    Dropped the patch, as it is included in the point release.
    
    Switched the hash representation to regular base32.
    milibopp committed May 15, 2020
    Copy the full SHA
    0682ec4 View commit details
  3. Copy the full SHA
    136aebc View commit details
  4. alot: replace geistesk as maintainer

    As requested by geistesk here:
    NixOS/nixpkgs#87803 (comment)
    milibopp committed May 15, 2020
    Copy the full SHA
    c562954 View commit details
  5. Copy the full SHA
    b0df5a6 View commit details
  6. Copy the full SHA
    a762c0e View commit details
  7. Merge pull request #87346 from r-ryantm/auto-update/python2.7-latexcodec

    python27Packages.latexcodec: 1.0.7 -> 2.0.0
    dotlambda authored May 15, 2020
    Copy the full SHA
    a6a5cba View commit details
  8. lsp-plugins: Fix build

    	/build/source/include/metadata/modules.h:122:1: note: in expansion of macro 'MOD_PLUGIN'
    	  122 | MOD_PLUGIN(slap_delay_mono, plugin_ui)
    	      | ^~~~~~~~~~
    	lv2.cpp:414:43: error: invalid conversion from 'void* (*)(const lsp::_LV2UI_Descriptor*, const char*, const char*, LV2UI_Write_Function, LV2UI_Controller, void**, const LV2_Feature* const*)' {aka 'void* (*)(const lsp::_LV2UI_Descriptor*, const char*, const char*, void (*)(void*, unsigned int, unsigned int, unsigned int, const void*), void*, void**, const LV2_Feature* const*)'} to 'void* (*)(const LV2UI_Descriptor*, const char*, const char*, LV2UI_Write_Function, LV2UI_Controller, void**, const LV2_Feature* const*)' {aka 'void* (*)(const LV2UI_Descriptor*, const char*, const char*, void (*)(void*, unsigned int, unsigned int, unsigned int, const void*), void*, void**, const LV2_Feature* const*)'} [-fpermissive]
    	  414 |                 d->instantiate          = lv2ui_instantiate;    \
    	      |                                           ^~~~~~~~~~~~~~~~~
    	      |                                           |
    	      |                                           void* (*)(const lsp::_LV2UI_Descriptor*, const char*, const char*, LV2UI_Write_Function, LV2UI_Controller, void**, const LV2_Feature* const*) {aka void* (*)(const lsp::_LV2UI_Descriptor*, const char*, const char*, void (*)(void*, unsigned int, unsigned int, unsigned int, const void*), void*, void**, const LV2_Feature* const*)}
    jtojnar committed May 15, 2020
    Copy the full SHA
    7ac7382 View commit details
  9. Merge pull request #87725 from nlewo/fix-dockertools

    dockerTools.examples: fix the nginx image
    nlewo authored May 15, 2020
    Copy the full SHA
    df928fa View commit details
  10. Merge pull request #87803 from aepsil0n/upgrade-alot-0.9.1

    alot: 0.9 → 0.9.1
    teto authored May 15, 2020
    Copy the full SHA
    7319061 View commit details
7 changes: 7 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -55,6 +55,13 @@
# NixOS integration test driver
/nixos/lib/test-driver @tfc

# Updaters
## update.nix
/maintainers/scripts/update.nix @jtojnar
/maintainers/scripts/update.py @jtojnar
## common-updater-scripts
/pkgs/common-updater/scripts/update-source-version @jtojnar

# Python-related code and docs
/maintainers/scripts/update-python-libraries @FRidh
/pkgs/top-level/python-packages.nix @FRidh @jonringer
79 changes: 42 additions & 37 deletions maintainers/scripts/update.nix
Original file line number Diff line number Diff line change
@@ -9,50 +9,55 @@
# TODO: add assert statements

let
pkgs = import ./../../default.nix (if include-overlays then { } else { overlays = []; });

inherit (pkgs) lib;

/* Remove duplicate elements from the list based on some extracted value. O(n^2) complexity.
*/
nubOn = f: list:
if list == [] then
[]
else
let
x = pkgs.lib.head list;
xs = pkgs.lib.filter (p: f x != f p) (pkgs.lib.drop 1 list);
x = lib.head list;
xs = lib.filter (p: f x != f p) (lib.drop 1 list);
in
[x] ++ nubOn f xs;

pkgs = import ./../../default.nix (if include-overlays then { } else { overlays = []; });
packagesWithPath = relativePath: cond: return: pathContent:
let
result = builtins.tryEval pathContent;

packagesWith = cond: return: set:
nubOn (pkg: pkg.updateScript)
(pkgs.lib.flatten
(pkgs.lib.mapAttrsToList
(name: pkg:
let
result = builtins.tryEval (
if pkgs.lib.isDerivation pkg && cond name pkg
then [(return name pkg)]
else if pkg.recurseForDerivations or false || pkg.recurseForRelease or false
then packagesWith cond return pkg
else []
);
in
if result.success then result.value
else []
)
set
)
);
dedupResults = lst: nubOn (pkg: pkg.updateScript) (lib.concatLists lst);
in
if result.success then
let
pathContent = result.value;
in
if lib.isDerivation pathContent then
lib.optional (cond relativePath pathContent) (return relativePath pathContent)
else if lib.isAttrs pathContent then
# If user explicitly points to an attrSet or it is marked for recursion, we recur.
if relativePath == [] || pathContent.recurseForDerivations or false || pathContent.recurseForRelease or false then
dedupResults (lib.mapAttrsToList (name: elem: packagesWithPath (relativePath ++ [name]) cond return elem) pathContent)
else []
else if lib.isList pathContent then
dedupResults (lib.imap0 (i: elem: packagesWithPath (relativePath ++ [i]) cond return elem) pathContent)
else []
else [];

packagesWith = packagesWithPath [];

packagesWithUpdateScriptAndMaintainer = maintainer':
let
maintainer =
if ! builtins.hasAttr maintainer' pkgs.lib.maintainers then
if ! builtins.hasAttr maintainer' lib.maintainers then
builtins.throw "Maintainer with name `${maintainer'} does not exist in `maintainers/maintainer-list.nix`."
else
builtins.getAttr maintainer' pkgs.lib.maintainers;
builtins.getAttr maintainer' lib.maintainers;
in
packagesWith (name: pkg: builtins.hasAttr "updateScript" pkg &&
packagesWith (relativePath: pkg: builtins.hasAttr "updateScript" pkg &&
(if builtins.hasAttr "maintainers" pkg.meta
then (if builtins.isList pkg.meta.maintainers
then builtins.elem maintainer pkg.meta.maintainers
@@ -61,23 +66,23 @@ let
else false
)
)
(name: pkg: pkg)
(relativePath: pkg: pkg)
pkgs;

packagesWithUpdateScript = path:
let
attrSet = pkgs.lib.attrByPath (pkgs.lib.splitString "." path) null pkgs;
pathContent = lib.attrByPath (lib.splitString "." path) null pkgs;
in
if attrSet == null then
if pathContent == null then
builtins.throw "Attribute path `${path}` does not exists."
else
packagesWith (name: pkg: builtins.hasAttr "updateScript" pkg)
(name: pkg: pkg)
attrSet;
packagesWith (relativePath: pkg: builtins.hasAttr "updateScript" pkg)
(relativePath: pkg: pkg)
pathContent;

packageByName = name:
let
package = pkgs.lib.attrByPath (pkgs.lib.splitString "." name) null pkgs;
package = lib.attrByPath (lib.splitString "." name) null pkgs;
in
if package == null then
builtins.throw "Package with an attribute name `${name}` does not exists."
@@ -125,15 +130,15 @@ let

packageData = package: {
name = package.name;
pname = pkgs.lib.getName package;
updateScript = map builtins.toString (pkgs.lib.toList package.updateScript);
pname = lib.getName package;
updateScript = map builtins.toString (lib.toList package.updateScript);
};

packagesJson = pkgs.writeText "packages.json" (builtins.toJSON (map packageData packages));

optionalArgs =
pkgs.lib.optional (max-workers != null) "--max-workers=${max-workers}"
++ pkgs.lib.optional (keep-going == "true") "--keep-going";
lib.optional (max-workers != null) "--max-workers=${max-workers}"
++ lib.optional (keep-going == "true") "--keep-going";

args = [ packagesJson ] ++ optionalArgs;

12 changes: 11 additions & 1 deletion pkgs/applications/audio/lsp-plugins/default.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, pkgconfig, makeWrapper
{ stdenv, fetchFromGitHub, fetchpatch, pkgconfig, makeWrapper
, libsndfile, jack2Full
, libGLU, libGL, lv2, cairo
, ladspaH, php }:
@@ -14,6 +14,16 @@ stdenv.mkDerivation rec {
sha256 = "1wiph3vxhydc6mr9hn2c6crd4cx592l2zv0wrzgmpnlm1lflzpbg";
};

patches = [
# Fix build
# https://github.com/sadko4u/lsp-plugins/issues/104
(fetchpatch {
url = "https://github.com/sadko4u/lsp-plugins/commit/4d901135fb82fa95e668b4d55d05e405f5e620d2.patch";
excludes = [ "TODO.txt" ];
sha256 = "wR2B6XnDXT2BGwmrsL72PH/BM1e9d9JvqHxDtfFDAug=";
})
];

nativeBuildInputs = [ pkgconfig php makeWrapper ];
buildInputs = [ jack2Full libsndfile libGLU libGL lv2 cairo ladspaH ];

Original file line number Diff line number Diff line change
@@ -23,7 +23,7 @@ let
else "");
in stdenv.mkDerivation rec {
pname = "signal-desktop";
version = "1.33.4"; # Please backport all updates to the stable channel.
version = "1.34.0"; # Please backport all updates to the stable channel.
# All releases have a limited lifetime and "expire" 90 days after the release.
# When releases "expire" the application becomes unusable until an update is
# applied. The expiration date for the current release can be extracted with:
@@ -33,7 +33,7 @@ in stdenv.mkDerivation rec {

src = fetchurl {
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
sha256 = "0mcxia2zaflaazfdl1ngpab0dyhwwzbhad7brc6kwhjxydbnmwcd";
sha256 = "175iir85qlign5ns8wk4x4mf7xw8sriq8jyj61n76is79jjk7b3d";
};

nativeBuildInputs = [
6 changes: 6 additions & 0 deletions pkgs/build-support/docker/examples.nix
Original file line number Diff line number Diff line change
@@ -69,6 +69,12 @@ rec {
tag = "latest";
contents = pkgs.nginx;

extraCommands = ''
# nginx still tries to read this directory even if error_log
# directive is specifying another file :/
mkdir -p var/log/nginx
mkdir -p var/cache/nginx
'';
runAsRoot = ''
#!${pkgs.stdenv.shell}
${shadowSetup}
15 changes: 3 additions & 12 deletions pkgs/development/python-modules/alot/default.nix
Original file line number Diff line number Diff line change
@@ -7,7 +7,7 @@

buildPythonPackage rec {
pname = "alot";
version = "0.9";
version = "0.9.1";
outputs = [ "out" ] ++ lib.optional withManpage "man";

disabled = !isPy3k;
@@ -16,18 +16,9 @@ buildPythonPackage rec {
owner = "pazz";
repo = "alot";
rev = version;
sha256 = "sha256-WUwOJcq8JE7YO8sFeZwYikCRhpufO0pL6MKu54ZYsHI=";
sha256 = "0s94m17yph1gq9f2svipb3bbwbw1s4j3zf2xkg5h91006v8286r6";
};

patches = [
# can't compose email if signature is set: https://github.com/pazz/alot/issues/1468
(fetchpatch {
name = "envelope-body.patch";
url = "https://github.com/pazz/alot/commit/28a4296c7f556c251d71d9502681980d46d9fa55.patch";
sha256 = "1iwvmjyz4mh1g08vr85ywhah2xarcqg8dazagygk19icgsn45w06";
})
];

nativeBuildInputs = lib.optional withManpage sphinx;

propagatedBuildInputs = [
@@ -70,6 +61,6 @@ buildPythonPackage rec {
description = "Terminal MUA using notmuch mail";
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = with maintainers; [ geistesk ];
maintainers = with maintainers; [ aepsil0n ];
};
}
12 changes: 9 additions & 3 deletions pkgs/development/python-modules/latexcodec/default.nix
Original file line number Diff line number Diff line change
@@ -1,16 +1,22 @@
{ stdenv, buildPythonPackage, fetchPypi, six }:
{ stdenv, buildPythonPackage, fetchPypi, six, pytest }:

buildPythonPackage rec {
pname = "latexcodec";
version = "1.0.7";
version = "2.0.0";

src = fetchPypi {
inherit pname version;
sha256 = "0wnp3yqcgx0rpy8dz51vh75lbp2qif67da19zi7m3ca98n887hgb";
sha256 = "0pyzhidpnc3q3rh9d5hxhzv99rl5limyyrll7xcyssci92fn8gyd";
};

propagatedBuildInputs = [ six ];

checkInputs = [ pytest ];

checkPhase = ''
pytest
'';

meta = {
homepage = "https://github.com/mcmtroffaes/latexcodec";
description = "Lexer and codec to work with LaTeX code in Python";
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
{ stdenv, buildPythonPackage, fetchPypi
{ stdenv, buildPythonPackage, fetchPypi, isPy3k
, oset, pybtex, pybtex-docutils, sphinx
}:

buildPythonPackage rec {
version = "1.0.0";
pname = "sphinxcontrib-bibtex";

disabled = !isPy3k;

src = fetchPypi {
inherit pname version;
sha256 = "629612b001f86784669d65e662377a482052decfd9a0a17c46860878eef7b9e0";