From 67fc40aa12df86acf08f438a5e1cb7eba465ee7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Mon, 24 Jan 2022 18:56:13 +0100 Subject: [PATCH 01/34] gnutls: 3.7.2 -> 3.7.3 Includes a low-severity security fix. https://lists.gnupg.org/pipermail/gnutls-help/2022-January/004736.html --- pkgs/development/libraries/gnutls/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/gnutls/default.nix b/pkgs/development/libraries/gnutls/default.nix index f56052953033..d8d8baf4e227 100644 --- a/pkgs/development/libraries/gnutls/default.nix +++ b/pkgs/development/libraries/gnutls/default.nix @@ -21,11 +21,11 @@ in stdenv.mkDerivation rec { pname = "gnutls"; - version = "3.7.2"; + version = "3.7.3"; src = fetchurl { url = "mirror://gnupg/gnutls/v${lib.versions.majorMinor version}/gnutls-${version}.tar.xz"; - sha256 = "646e6c5a9a185faa4cea796d378a1ba8e1148dbb197ca6605f95986a25af2752"; + sha256 = "16n4yvw3792gcdxkikjmhddr6cbs4wlk027zfxlhmchsqcxw8ngw"; }; outputs = [ "bin" "dev" "out" "man" "devdoc" ]; From a10d11b59f33f355cb3324994f49160e812d1b42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Mon, 24 Jan 2022 20:18:39 +0100 Subject: [PATCH 02/34] gnutls: fix IDN support - recent versions only accept libidn2 (not libidn) - it's for free, as it's a runtime dependency of glibc anyway --- pkgs/development/libraries/gnutls/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/gnutls/default.nix b/pkgs/development/libraries/gnutls/default.nix index d8d8baf4e227..627e5f46f728 100644 --- a/pkgs/development/libraries/gnutls/default.nix +++ b/pkgs/development/libraries/gnutls/default.nix @@ -1,5 +1,5 @@ { config, lib, stdenv, fetchurl, zlib, lzo, libtasn1, nettle, pkg-config, lzip -, perl, gmp, autoconf, automake, libidn, libiconv +, perl, gmp, autoconf, automake, libidn2, libiconv , unbound, dns-root-data, gettext, util-linux , cxxBindings ? !stdenv.hostPlatform.isStatic # tries to link libstdc++.so , guileBindings ? config.gnutls.guile or false, guile @@ -71,7 +71,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - buildInputs = [ lzo lzip libtasn1 libidn zlib gmp libunistring unbound gettext libiconv ] + buildInputs = [ lzo lzip libtasn1 libidn2 zlib gmp libunistring unbound gettext libiconv ] ++ lib.optional (withP11-kit) p11-kit ++ lib.optional (isDarwin && withSecurity) Security ++ lib.optional (tpmSupport && stdenv.isLinux) trousers From fd8f6de4b8415fe4dcea3a9cbb9ab9eebd37b53a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 27 Jan 2022 10:10:23 +0100 Subject: [PATCH 03/34] linux-pam: make it use SUID wrapped version of unix_ckpwd --- pkgs/os-specific/linux/pam/default.nix | 2 ++ pkgs/os-specific/linux/pam/suid-wrapper-path.patch | 6 ++++++ 2 files changed, 8 insertions(+) create mode 100644 pkgs/os-specific/linux/pam/suid-wrapper-path.patch diff --git a/pkgs/os-specific/linux/pam/default.nix b/pkgs/os-specific/linux/pam/default.nix index 33ab4f784fcb..65bf01aa4cfc 100644 --- a/pkgs/os-specific/linux/pam/default.nix +++ b/pkgs/os-specific/linux/pam/default.nix @@ -12,6 +12,8 @@ stdenv.mkDerivation rec { sha256 = "sha256-IB1AcwsRNbGzzeoJ8sKKxjTXMYHM0Bcs7d7jZJxXkvw="; }; + patches = [ ./suid-wrapper-path.patch ]; + outputs = [ "out" "doc" "man" /* "modules" */ ]; depsBuildBuild = [ buildPackages.stdenv.cc ]; diff --git a/pkgs/os-specific/linux/pam/suid-wrapper-path.patch b/pkgs/os-specific/linux/pam/suid-wrapper-path.patch new file mode 100644 index 000000000000..71533c51a190 --- /dev/null +++ b/pkgs/os-specific/linux/pam/suid-wrapper-path.patch @@ -0,0 +1,6 @@ +It needs the SUID version during runtime, and that can't be in /nix/store/** +--- a/modules/pam_unix/Makefile.in ++++ b/modules/pam_unix/Makefile.in +@@ -651 +651 @@ +- -DCHKPWD_HELPER=\"$(sbindir)/unix_chkpwd\" \ ++ -DCHKPWD_HELPER=\"/run/wrappers/bin/unix_chkpwd\" \ From d7a004f4b5a3882c97f3b1e2d2a9f8971d5f70b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Tue, 25 Jan 2022 10:28:06 +0100 Subject: [PATCH 04/34] Merge #156541: util-linux: 2.37.2 -> 2.37.3 (into staging) Two CVEs get fixed, no other changes: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.37/v2.37.3-ReleaseNotes (cherry picked from commit b04e17c5d647e5ce5e67fb3e2fe0ad7e9865f9b4) --- pkgs/os-specific/linux/util-linux/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix index afdf335e1b40..8485565e0a88 100644 --- a/pkgs/os-specific/linux/util-linux/default.nix +++ b/pkgs/os-specific/linux/util-linux/default.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { pname = "util-linux"; - version = "2.37.2"; + version = "2.37.3"; src = fetchurl { url = "mirror://kernel/linux/utils/util-linux/v${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-agdkwarn+2B++KbdLA9sR9Xl/SeqCIIKuq2ewU4o6dk="; + sha256 = "sha256-WQxZLljNa/OFGctGevBc5qGrGAQOPjQY8kvPsvVfl3Y="; }; patches = [ From 76b70d0c4676ed1ccccd173727ac7c8203141442 Mon Sep 17 00:00:00 2001 From: Sandro Date: Thu, 13 Jan 2022 13:41:09 +0100 Subject: [PATCH 05/34] Merge #154825: python3Packages.{pillow,imageio}: security updates (cherry picked from commit d6374a376b78fc0fecdcacb5ee8616981d503a0c) --- .../development/python-modules/imageio/default.nix | 14 ++++++++++++-- pkgs/development/python-modules/pillow/default.nix | 4 ++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/imageio/default.nix b/pkgs/development/python-modules/imageio/default.nix index 0a97a27d17f8..5727b52755a6 100644 --- a/pkgs/development/python-modules/imageio/default.nix +++ b/pkgs/development/python-modules/imageio/default.nix @@ -2,6 +2,7 @@ , buildPythonPackage , isPy27 , fetchPypi +, fetchpatch , imageio-ffmpeg , numpy , pillow @@ -12,14 +13,23 @@ buildPythonPackage rec { pname = "imageio"; - version = "2.13.2"; + version = "2.13.5"; disabled = isPy27; src = fetchPypi { - sha256 = "5b7a55d07de88a2fd70f18a1608ca05ba2b55596a942fb2c390240201009a6c3"; + sha256 = "0gc41aiz2i0napk1y00v9bgb4m7dd21sz3lghfm6w6s0ivjjpv67"; inherit pname version; }; + patches = [ + # already present in master, remove on next bump + (fetchpatch { + name = "pillow-9-gif-rgba.patch"; + url = "https://github.com/imageio/imageio/commit/836b7a9b077a96de8adab5b67ea53b1292048275.patch"; + sha256 = "0rlyppa4w16n6qn5hr4wrg8xiy7ifs8c5dhmq8a9yncypx87glpv"; + }) + ]; + propagatedBuildInputs = [ imageio-ffmpeg numpy diff --git a/pkgs/development/python-modules/pillow/default.nix b/pkgs/development/python-modules/pillow/default.nix index e0f29d366e10..57b085a54051 100644 --- a/pkgs/development/python-modules/pillow/default.nix +++ b/pkgs/development/python-modules/pillow/default.nix @@ -5,13 +5,13 @@ import ./generic.nix (rec { pname = "Pillow"; - version = "8.4.0"; + version = "9.0.0"; disabled = !isPy3k; src = fetchPypi { inherit pname version; - sha256 = "b8e2f83c56e141920c39464b852de3719dfbfb6e3c99a2d8da0edf4fb33176ed"; + sha256 = "0gjry0yqryd2678sm47jhdnbghzxn5wk8pgyaqwr4qi7x5ijjvpf"; }; meta = with lib; { From 96b2dec03367f34e2041c0b4702364aaf486ee0d Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Thu, 20 Jan 2022 13:36:53 +0100 Subject: [PATCH 06/34] Merge #154984: glibc: 2.33-62 -> 2.33-71 (cherry picked from commit ae543ed85540627600ffecdeca215d4115193ce6) --- .../libraries/glibc/2.33-master.patch.gz | Bin 69704 -> 78002 bytes pkgs/development/libraries/glibc/common.nix | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/glibc/2.33-master.patch.gz b/pkgs/development/libraries/glibc/2.33-master.patch.gz index aecf1550feffdb6cce55dad4088b4f6f0fe6dbae..fd78d3a5e8a86a00658b8049fb2ec5bf76a09e0f 100644 GIT binary patch delta 8877 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 delta 513 zcmV+c0{;E7;RMK_1c0;wRt|rSU0rK~Fcf|6zsOT*p%c>ut*|#&*w_X|yO+I`Sj|@G zx}qzC{rcUH7%k4$x7x(3`M}(pdvXq*qQ5V;LJBESF+us)KT%6k!-_wHn4e-nDs|dAwVn5mdx|A6j+(U?PEo@QdrfxQsp# z;ae^UGfE-=k105hlk$5H0nd00z9UNjz-qo)#ev#vrY&Ir_}7g-l%T=*VHrQ+RNJJl zE2M-MWh8t9-^&Y-DkvR?>b$qaY(LWp`T-gHeS%Qcx3qfAKSL=pY~QGF6?2-pJv Dl!F9n diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index 1bc5bf08ee46..7cf5f8c536bc 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -44,7 +44,7 @@ let version = "2.33"; - patchSuffix = "-62"; + patchSuffix = "-71"; sha256 = "sha256-LiVWAA4QXb1X8Layoy/yzxc73k8Nhd/8z9i35RoGd/8="; in @@ -63,7 +63,7 @@ stdenv.mkDerivation ({ [ /* No tarballs for stable upstream branch, only https://sourceware.org/git/glibc.git and using git would complicate bootstrapping. $ git fetch --all -p && git checkout origin/release/2.33/master && git describe - glibc-2.33-62-gc493f6a0e4 + glibc-2.33-71-gac148bdd88 $ git show --minimal --reverse glibc-2.33.. | gzip -9n --rsyncable - > 2.33-master.patch.gz To compare the archive contents zdiff can be used. From 7305e48b971d239a5ef0343b965c53a3daf1e1b6 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Tue, 25 Jan 2022 13:09:54 +0100 Subject: [PATCH 07/34] Merge #156684: glibc: 2.33-71 -> 2.33-78 (security) (cherry picked from commit ab6773a9b35898b5a001a97aebbd1008c418efe9) --- .../libraries/glibc/2.33-master.patch.gz | Bin 78002 -> 85746 bytes pkgs/development/libraries/glibc/common.nix | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/glibc/2.33-master.patch.gz b/pkgs/development/libraries/glibc/2.33-master.patch.gz index fd78d3a5e8a86a00658b8049fb2ec5bf76a09e0f..13ef601408c569d3a4c8d4148e0bfe5eada587cb 100644 GIT binary patch delta 8071 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 delta 266 zcmV+l0rmd!odvSt1c0;wwJ(2lT}ukWFc4jPi|i}}djeg!(3OX1A5O=$>WATzOER2qNhRNuN~M9xIIzwjqMZPI z&I#4jb9+A~{h%5ebXfs2)nsVhkaWdd1%9%isDvDWaT{Hz_z(Ts^!|S0!Yr4=EE?jq zc=SO}K`x{;sr8ade9^F!zn*5grK$10ef7c_!c}iMW*Mi-09VE=W$EktRi*qvrp{A- z(i2zeK8|DVof+yg)ep!NO}=z|x+WyJa+b>DmYty}8apWHURed{)7Zs$pT{vjZFhl0 Qb~!+P0hYwCj2}z{01X>~Hvj+t diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index 7cf5f8c536bc..d633a202025d 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -44,7 +44,7 @@ let version = "2.33"; - patchSuffix = "-71"; + patchSuffix = "-78"; sha256 = "sha256-LiVWAA4QXb1X8Layoy/yzxc73k8Nhd/8z9i35RoGd/8="; in From 512ba72a55113d67815fb1525089c5959b3a3a98 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Fri, 28 Jan 2022 22:33:54 +0100 Subject: [PATCH 08/34] Merge #157114: glibc: 2.33-78 -> 2.33-108 (cherry picked from commit 3ecbb12aa1e83061613a10593b3741bf6e4a29a9) --- .../libraries/glibc/2.33-master.patch.gz | Bin 85746 -> 147266 bytes pkgs/development/libraries/glibc/common.nix | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/glibc/2.33-master.patch.gz b/pkgs/development/libraries/glibc/2.33-master.patch.gz index 13ef601408c569d3a4c8d4148e0bfe5eada587cb..49ffd4a7441cb59744eedbdda9cee072d931d868 100644 GIT binary patch delta 64776 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%0AfZm- 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
  • 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�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 SrA46WgXr?>g1Xnhf&3rmMHcq} delta 2772 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 2.33-master.patch.gz To compare the archive contents zdiff can be used. From 4d54ec489cc62bc6b6ae9c625afae4e1f294cc30 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Thu, 27 Jan 2022 23:28:01 +0100 Subject: [PATCH 09/34] mesa: 21.3.4 -> 21.3.5 --- pkgs/development/libraries/mesa/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index 69f43d31da71..b91e140345de 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -33,7 +33,7 @@ with lib; let # Release calendar: https://www.mesa3d.org/release-calendar.html # Release frequency: https://www.mesa3d.org/releasing.html#schedule - version = "21.3.4"; + version = "21.3.5"; branch = versions.major version; self = stdenv.mkDerivation { @@ -47,7 +47,7 @@ self = stdenv.mkDerivation { "ftp://ftp.freedesktop.org/pub/mesa/${version}/mesa-${version}.tar.xz" "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz" ]; - sha256 = "0zd6skf9qcwlk1k1ljgwijwlyz5si3pgi0h97gd6kkivm7a4y43p"; + sha256 = "0k2ary16ixsrp65m2n5djpr51nbwdgzpv81pfrnqbvk44jfjlfyr"; }; # TODO: From 542e72a5bcc774a8ead9ba4f9d18a1437e57113a Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 30 Jan 2022 02:49:05 +0100 Subject: [PATCH 10/34] python3.pkgs.cffsubr: init at 0.2.9.post1 --- .../python-modules/cffsubr/default.nix | 32 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 34 insertions(+) create mode 100644 pkgs/development/python-modules/cffsubr/default.nix diff --git a/pkgs/development/python-modules/cffsubr/default.nix b/pkgs/development/python-modules/cffsubr/default.nix new file mode 100644 index 000000000000..9f87ed0dce04 --- /dev/null +++ b/pkgs/development/python-modules/cffsubr/default.nix @@ -0,0 +1,32 @@ +{ lib +, buildPythonPackage +, fetchPypi +, fonttools +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "cffsubr"; + version = "0.2.9.post1"; + + format = "pyproject"; + + src = fetchPypi { + inherit pname version; + sha256 = "azFBLc9JyPqEZkvahn4u3cVbb+b6aW/yU8TxOp/y/Fw="; + }; + + propagatedBuildInputs = [ + fonttools + ]; + + checkInputs = [ + pytestCheckHook + ]; + + meta = with lib; { + description = "Standalone CFF subroutinizer based on AFDKO tx"; + homepage = "https://github.com/adobe-type-tools/cffsubr"; + license = licenses.asl20; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ca29dee206fb..4a800e41219a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1517,6 +1517,8 @@ in { cffi = callPackage ../development/python-modules/cffi { }; + cffsubr = callPackage ../development/python-modules/cffsubr { }; + cfgv = callPackage ../development/python-modules/cfgv { }; cfn-flip = callPackage ../development/python-modules/cfn-flip { }; From db139f1cc90df166d1239e4abab6eece266a386d Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 30 Jan 2022 03:09:34 +0100 Subject: [PATCH 11/34] python3.pkgs.statmake: init at 0.4.1 --- .../python-modules/statmake/default.nix | 57 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 59 insertions(+) create mode 100644 pkgs/development/python-modules/statmake/default.nix diff --git a/pkgs/development/python-modules/statmake/default.nix b/pkgs/development/python-modules/statmake/default.nix new file mode 100644 index 000000000000..3cbedf8bf8c5 --- /dev/null +++ b/pkgs/development/python-modules/statmake/default.nix @@ -0,0 +1,57 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, poetry-core +, attrs +, cattrs +, fonttools +, fs +, pytestCheckHook +, ufo2ft +, ufoLib2 +}: + +buildPythonPackage rec { + pname = "statmake"; + version = "0.4.1"; + + format = "pyproject"; + + src = fetchFromGitHub { + owner = "daltonmaag"; + repo = "statmake"; + rev = "v${version}"; + sha256 = "OXhoQAD4LEh80iRUZE2z8sCtWJDv/bSo0bwHbOOPVE0="; + }; + + nativeBuildInputs = [ + poetry-core + ]; + + propagatedBuildInputs = [ + attrs + cattrs + fonttools + # required by fonttools[ufo] + fs + ]; + + checkInputs = [ + pytestCheckHook + ufo2ft + ufoLib2 + ]; + + postPatch = '' + # https://github.com/daltonmaag/statmake/pull/41 + substituteInPlace pyproject.toml \ + --replace 'requires = ["poetry>=1.0.0"]' 'requires = ["poetry-core"]' \ + --replace 'build-backend = "poetry.masonry.api"' 'build-backend = "poetry.core.masonry.api"' + ''; + + meta = with lib; { + description = "Applies STAT information from a Stylespace to a variable font"; + homepage = "https://github.com/daltonmaag/statmake"; + license = licenses.mit; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 4a800e41219a..d074f4cb40a9 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9408,6 +9408,8 @@ in { statistics = callPackage ../development/python-modules/statistics { }; + statmake = callPackage ../development/python-modules/statmake { }; + statsd = callPackage ../development/python-modules/statsd { }; statsmodels = callPackage ../development/python-modules/statsmodels { }; From cca027df7ec56308175abef1e179baa7e6580788 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 30 Jan 2022 03:28:43 +0100 Subject: [PATCH 12/34] python3.pkgs.compreffor: init at 0.5.1.post1 --- .../python-modules/compreffor/default.nix | 44 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 46 insertions(+) create mode 100644 pkgs/development/python-modules/compreffor/default.nix diff --git a/pkgs/development/python-modules/compreffor/default.nix b/pkgs/development/python-modules/compreffor/default.nix new file mode 100644 index 000000000000..0d9bfe4fc59b --- /dev/null +++ b/pkgs/development/python-modules/compreffor/default.nix @@ -0,0 +1,44 @@ +{ lib +, buildPythonPackage +, fetchPypi +, setuptools-scm +, fonttools +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "compreffor"; + version = "0.5.1.post1"; + + format = "pyproject"; + + src = fetchPypi { + inherit pname version; + sha256 = "Zqia+yP4Dp5VNGeMwv+j04aNm9oVmZ2juehbfEzDfOQ="; + }; + + nativeBuildInputs = [ + setuptools-scm + ]; + + propagatedBuildInputs = [ + fonttools + ]; + + checkInputs = [ + pytestCheckHook + ]; + + # Tests cannot seem to open the cpython module. + doCheck = false; + + pythonImportsCheck = [ + "compreffor" + ]; + + meta = with lib; { + description = "CFF table subroutinizer for FontTools"; + homepage = "https://github.com/googlefonts/compreffor"; + license = licenses.asl20; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d074f4cb40a9..ff1c96b16f40 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1773,6 +1773,8 @@ in { compiledb = callPackage ../development/python-modules/compiledb { }; + compreffor = callPackage ../development/python-modules/compreffor { }; + concurrent-log-handler = callPackage ../development/python-modules/concurrent-log-handler { }; conda = callPackage ../development/python-modules/conda { }; From 5a8870cd44d7a80d7894ba6222c754a455dd9c6d Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 30 Jan 2022 03:43:02 +0100 Subject: [PATCH 13/34] =?UTF-8?q?python3.pkgs.fonttools:=204.26.2=20?= =?UTF-8?q?=E2=86=92=204.29.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://github.com/fonttools/fonttools/blob/4.29.0/NEWS.rst --- pkgs/development/python-modules/fonttools/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/fonttools/default.nix b/pkgs/development/python-modules/fonttools/default.nix index ec3acfc775d0..50f5e87a29f4 100644 --- a/pkgs/development/python-modules/fonttools/default.nix +++ b/pkgs/development/python-modules/fonttools/default.nix @@ -17,7 +17,7 @@ buildPythonPackage rec { pname = "fonttools"; - version = "4.26.2"; + version = "4.29.0"; # Bump to 3.7 when https://github.com/fonttools/fonttools/pull/2417 is merged disabled = pythonOlder "3.6"; @@ -26,7 +26,7 @@ buildPythonPackage rec { owner = pname; repo = pname; rev = version; - sha256 = "1zp9idjkn4bn1a4pn8x64vi8j1ijdsd4qvgf1f70dfwqvw6ak1i6"; + sha256 = "LnkpTEpZbbRAyqGPJXdfpHjh4t7n6LkjZGLhirVNl7E="; }; # all dependencies are optional, but From 14ca8af9823c4b665ff9d2fa386c039b885dadb0 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 30 Jan 2022 04:03:04 +0100 Subject: [PATCH 14/34] python3.pkgs.ufo2ft: init at 2.25.2 --- .../python-modules/ufo2ft/default.nix | 65 +++++++++ .../ufo2ft/fonttools-cu2qu.patch | 126 ++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 3 files changed, 193 insertions(+) create mode 100644 pkgs/development/python-modules/ufo2ft/default.nix create mode 100644 pkgs/development/python-modules/ufo2ft/fonttools-cu2qu.patch diff --git a/pkgs/development/python-modules/ufo2ft/default.nix b/pkgs/development/python-modules/ufo2ft/default.nix new file mode 100644 index 000000000000..a73d3f47c595 --- /dev/null +++ b/pkgs/development/python-modules/ufo2ft/default.nix @@ -0,0 +1,65 @@ +{ lib +, buildPythonPackage +, fetchPypi +, setuptools-scm +, fonttools +, defcon +, compreffor +, booleanoperations +, cffsubr +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "ufo2ft"; + version = "2.25.2"; + + format = "setuptools"; + + src = fetchPypi { + inherit pname version; + sha256 = "ooWIHvyMtrht4WcGPiacY8dfjPSb5uitHnTRTKvf2AA="; + }; + + patches = [ + # Use cu2qu from fonttools. + # https://github.com/googlefonts/ufo2ft/pull/461 + ./fonttools-cu2qu.patch + ]; + + nativeBuildInputs = [ + setuptools-scm + ]; + + propagatedBuildInputs = [ + fonttools + defcon + compreffor + booleanoperations + cffsubr + ]; + + checkInputs = [ + pytestCheckHook + ]; + + pytestFlagsArray = [ + # Do not depend on skia. + "--deselect=tests/integration_test.py::IntegrationTest::test_removeOverlaps_CFF_pathops" + "--deselect=tests/integration_test.py::IntegrationTest::test_removeOverlaps_pathops" + "--deselect=tests/preProcessor_test.py::TTFPreProcessorTest::test_custom_filters_as_argument" + "--deselect=tests/preProcessor_test.py::TTFInterpolatablePreProcessorTest::test_custom_filters_as_argument" + ]; + + postPatch = '' + # Does not seem to find 0.2.9.post1 for some reason. + substituteInPlace setup.py \ + --replace '"cffsubr>=0.2.8"' '"cffsubr"' + ''; + + meta = with lib; { + description = "Bridge from UFOs to FontTools objects"; + homepage = "https://github.com/googlefonts/ufo2ft"; + license = licenses.mit; + }; +} diff --git a/pkgs/development/python-modules/ufo2ft/fonttools-cu2qu.patch b/pkgs/development/python-modules/ufo2ft/fonttools-cu2qu.patch new file mode 100644 index 000000000000..892cd4abeb30 --- /dev/null +++ b/pkgs/development/python-modules/ufo2ft/fonttools-cu2qu.patch @@ -0,0 +1,126 @@ +From 0b3631e91c93d56460929f40850f7d8a39a71bde Mon Sep 17 00:00:00 2001 +From: Simon Cozens +Date: Thu, 11 Feb 2021 09:43:41 +0000 +Subject: [PATCH 1/2] Rename cu2qu to fontTools.cu2qu + +--- + Lib/ufo2ft/filters/cubicToQuadratic.py | 4 ++-- + Lib/ufo2ft/preProcessor.py | 4 ++-- + requirements.txt | 1 - + setup.py | 1 - + tests/outlineCompiler_test.py | 2 +- + tests/preProcessor_test.py | 2 +- + 6 files changed, 6 insertions(+), 8 deletions(-) + +diff --git a/Lib/ufo2ft/filters/cubicToQuadratic.py b/Lib/ufo2ft/filters/cubicToQuadratic.py +index 87d81b1f..4b77144f 100644 +--- a/Lib/ufo2ft/filters/cubicToQuadratic.py ++++ b/Lib/ufo2ft/filters/cubicToQuadratic.py +@@ -1,7 +1,7 @@ + import logging + +-from cu2qu.pens import Cu2QuPointPen +-from cu2qu.ufo import CURVE_TYPE_LIB_KEY, DEFAULT_MAX_ERR ++from fontTools.pens.cu2quPen import Cu2QuPointPen ++from fontTools.cu2qu.ufo import CURVE_TYPE_LIB_KEY, DEFAULT_MAX_ERR + + from ufo2ft.filters import BaseFilter + from ufo2ft.fontInfoData import getAttrWithFallback +diff --git a/Lib/ufo2ft/preProcessor.py b/Lib/ufo2ft/preProcessor.py +index 05ac47dc..c796df2e 100644 +--- a/Lib/ufo2ft/preProcessor.py ++++ b/Lib/ufo2ft/preProcessor.py +@@ -217,7 +217,7 @@ def __init__( + layerNames=None, + skipExportGlyphs=None, + ): +- from cu2qu.ufo import DEFAULT_MAX_ERR ++ from fontTools.cu2qu.ufo import DEFAULT_MAX_ERR + + self.ufos = ufos + self.inplace = inplace +@@ -249,7 +249,7 @@ def __init__( + self.postFilters.append(post) + + def process(self): +- from cu2qu.ufo import fonts_to_quadratic ++ from fontTools.cu2qu.ufo import fonts_to_quadratic + + # first apply all custom pre-filters + for funcs, ufo, glyphSet in zip(self.preFilters, self.ufos, self.glyphSets): +diff --git a/setup.py b/setup.py +index 175429af..eef39ee1 100644 +--- a/setup.py ++++ b/setup.py +@@ -30,7 +30,6 @@ + tests_require=["pytest>=2.8"], + install_requires=[ + "fonttools[ufo]>=4.28.5", +- "cu2qu>=1.6.7", + "cffsubr>=0.2.8", + "booleanOperations>=0.9.0", + ], +diff --git a/tests/outlineCompiler_test.py b/tests/outlineCompiler_test.py +index 74319184..e7b15a23 100644 +--- a/tests/outlineCompiler_test.py ++++ b/tests/outlineCompiler_test.py +@@ -2,7 +2,7 @@ + import os + + import pytest +-from cu2qu.ufo import font_to_quadratic ++from fontTools.cu2qu.ufo import font_to_quadratic + from fontTools.ttLib import TTFont + from fontTools.ttLib.tables._g_l_y_f import USE_MY_METRICS + +diff --git a/tests/preProcessor_test.py b/tests/preProcessor_test.py +index 64196f92..87b23946 100644 +--- a/tests/preProcessor_test.py ++++ b/tests/preProcessor_test.py +@@ -2,7 +2,7 @@ + import os + + import pytest +-from cu2qu.ufo import CURVE_TYPE_LIB_KEY ++from fontTools.cu2qu.ufo import CURVE_TYPE_LIB_KEY + from fontTools import designspaceLib + + import ufo2ft + +From 27c5af88ec2c3314618ecbf65104050a53508bb0 Mon Sep 17 00:00:00 2001 +From: Simon Cozens +Date: Thu, 11 Feb 2021 09:49:28 +0000 +Subject: [PATCH 2/2] Sort the imports + +--- + Lib/ufo2ft/filters/cubicToQuadratic.py | 2 +- + tests/preProcessor_test.py | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Lib/ufo2ft/filters/cubicToQuadratic.py b/Lib/ufo2ft/filters/cubicToQuadratic.py +index 4b77144f..5f28ea42 100644 +--- a/Lib/ufo2ft/filters/cubicToQuadratic.py ++++ b/Lib/ufo2ft/filters/cubicToQuadratic.py +@@ -1,7 +1,7 @@ + import logging + +-from fontTools.pens.cu2quPen import Cu2QuPointPen + from fontTools.cu2qu.ufo import CURVE_TYPE_LIB_KEY, DEFAULT_MAX_ERR ++from fontTools.pens.cu2quPen import Cu2QuPointPen + + from ufo2ft.filters import BaseFilter + from ufo2ft.fontInfoData import getAttrWithFallback +diff --git a/tests/preProcessor_test.py b/tests/preProcessor_test.py +index 87b23946..76ee495a 100644 +--- a/tests/preProcessor_test.py ++++ b/tests/preProcessor_test.py +@@ -2,8 +2,8 @@ + import os + + import pytest +-from fontTools.cu2qu.ufo import CURVE_TYPE_LIB_KEY + from fontTools import designspaceLib ++from fontTools.cu2qu.ufo import CURVE_TYPE_LIB_KEY + + import ufo2ft + from ufo2ft.constants import ( diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ff1c96b16f40..d642307dc1ce 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -10063,6 +10063,8 @@ in { inherit (pkgs.xorg) libX11 libXext; }; + ufo2ft = callPackage ../development/python-modules/ufo2ft { }; + ufonormalizer = callPackage ../development/python-modules/ufonormalizer { }; ufoprocessor = callPackage ../development/python-modules/ufoprocessor { }; From b69ab6a916c17bf8d5fc3ee399e5682eb12c854d Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 30 Jan 2022 04:11:50 +0100 Subject: [PATCH 15/34] python3.pkgs.ufoLib2: init at 0.13.0 --- .../python-modules/ufoLib2/default.nix | 37 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 39 insertions(+) create mode 100644 pkgs/development/python-modules/ufoLib2/default.nix diff --git a/pkgs/development/python-modules/ufoLib2/default.nix b/pkgs/development/python-modules/ufoLib2/default.nix new file mode 100644 index 000000000000..0d21f2b56f79 --- /dev/null +++ b/pkgs/development/python-modules/ufoLib2/default.nix @@ -0,0 +1,37 @@ +{ lib +, buildPythonPackage +, fetchPypi +, attrs +, fonttools +, pytestCheckHook +, fs +}: + +buildPythonPackage rec { + pname = "ufoLib2"; + version = "0.13.0"; + + format = "pyproject"; + + src = fetchPypi { + inherit pname version; + sha256 = "xJfvyNE+30BgNirX8u1xhKcD8pM3owRAVC4WX+qFqEM="; + }; + + propagatedBuildInputs = [ + attrs + fonttools + # required by fonttools[ufo] + fs + ]; + + checkInputs = [ + pytestCheckHook + ]; + + meta = with lib; { + description = "Library to deal with UFO font sources"; + homepage = "https://github.com/fonttools/ufoLib2"; + license = licenses.mit; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d642307dc1ce..d9e08825d1bd 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -10065,6 +10065,8 @@ in { ufo2ft = callPackage ../development/python-modules/ufo2ft { }; + ufoLib2 = callPackage ../development/python-modules/ufoLib2 { }; + ufonormalizer = callPackage ../development/python-modules/ufonormalizer { }; ufoprocessor = callPackage ../development/python-modules/ufoprocessor { }; From bd0b5d68375d4ce8a8cbbaf32041647702b96055 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 30 Jan 2022 01:21:50 +0000 Subject: [PATCH 16/34] =?UTF-8?q?cantarell-fonts:=200.301=20=E2=86=92=200.?= =?UTF-8?q?303.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fonts are now using variable sizing. https://gitlab.gnome.org/GNOME/cantarell-fonts/-/tags/v0.302 https://gitlab.gnome.org/GNOME/cantarell-fonts/-/tags/v0.303 --- pkgs/data/fonts/cantarell-fonts/default.nix | 31 +++++++++++++++++---- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/pkgs/data/fonts/cantarell-fonts/default.nix b/pkgs/data/fonts/cantarell-fonts/default.nix index 011e88dc1d2e..49b4e6354ca4 100644 --- a/pkgs/data/fonts/cantarell-fonts/default.nix +++ b/pkgs/data/fonts/cantarell-fonts/default.nix @@ -1,15 +1,36 @@ -{ lib, stdenv, fetchurl, meson, ninja, gettext, appstream-glib, gnome }: +{ stdenv +, lib +, fetchurl +, meson +, ninja +, python3 +, gettext +, appstream-glib +, gnome +}: stdenv.mkDerivation rec { pname = "cantarell-fonts"; - version = "0.301"; + version = "0.303.1"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "3d35db0ac03f9e6b0d5a53577591b714238985f4cfc31a0aa17f26cd74675e83"; + sha256 = "+UY6BlnGPlfjgf3XU88ZKSJTlcW0kTWYlCR2GDBTBBE="; }; - nativeBuildInputs = [ meson ninja gettext appstream-glib ]; + nativeBuildInputs = [ + meson + ninja + python3 + python3.pkgs.psautohint + python3.pkgs.cffsubr + python3.pkgs.statmake + python3.pkgs.ufo2ft + python3.pkgs.setuptools + python3.pkgs.ufoLib2 + gettext + appstream-glib + ]; # ad-hoc fix for https://github.com/NixOS/nixpkgs/issues/50855 # until we fix gettext's envHook @@ -19,7 +40,7 @@ stdenv.mkDerivation rec { outputHashAlgo = "sha256"; outputHashMode = "recursive"; - outputHash = "1sczskw2kv3qy39i9mzw2lkl94a90bjgv5ln9acy5kh4gb2zmy7z"; + outputHash = "XeqHVdTQ7PTzxkjwfzS/BTR7+k/M69sfUKdRXGOTmZE="; passthru = { updateScript = gnome.updateScript { From 816ff22e1b2bb7be63d93123df86d8ec545758e2 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 30 Jan 2022 01:22:03 +0000 Subject: [PATCH 17/34] =?UTF-8?q?folks:=200.15.3=20=E2=86=92=200.15.4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://ftp.gnome.org/pub/GNOME/sources/folks/0.15/folks-0.15.4.news --- pkgs/development/libraries/folks/default.nix | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/pkgs/development/libraries/folks/default.nix b/pkgs/development/libraries/folks/default.nix index 45d3f128c01c..965016e1c740 100644 --- a/pkgs/development/libraries/folks/default.nix +++ b/pkgs/development/libraries/folks/default.nix @@ -1,7 +1,6 @@ { stdenv , lib , fetchurl -, fetchpatch , pkg-config , meson , ninja @@ -36,24 +35,15 @@ stdenv.mkDerivation rec { pname = "folks"; - version = "0.15.3"; + version = "0.15.4"; outputs = [ "out" "dev" "devdoc" ]; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "Idc3+vCT9L4GVHPucMogiFuaLDaFlB26JMIjn9PFRKU="; + sha256 = "5xCZr8noj61OdXrhNLw/1j4SuQGtYrDtVTavt5Ekr18="; }; - patches = [ - # Fix build with evolution-data-server ≥ 3.41 - # https://gitlab.gnome.org/GNOME/folks/-/merge_requests/52 - (fetchpatch { - url = "https://gitlab.gnome.org/GNOME/folks/-/commit/62d588b0c609de17df5b4d1ebfbc67c456267efc.patch"; - sha256 = "TDL/5kvVwHnvDMuKDdPLQmpmE1FTZhY+7HG8NxKqt5w="; - }) - ]; - nativeBuildInputs = [ gettext gobject-introspection From c1556aac5188f77f8e19db1ad48b98c892ede938 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 30 Jan 2022 01:22:23 +0000 Subject: [PATCH 18/34] =?UTF-8?q?gitg:=203.32.1=20=E2=86=92=2041?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://ftp.gnome.org/pub/GNOME/sources/gitg/41/gitg-41.news --- pkgs/desktops/gnome/misc/gitg/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/desktops/gnome/misc/gitg/default.nix b/pkgs/desktops/gnome/misc/gitg/default.nix index 8f73bdaeb7da..e29464556ec0 100644 --- a/pkgs/desktops/gnome/misc/gitg/default.nix +++ b/pkgs/desktops/gnome/misc/gitg/default.nix @@ -12,11 +12,11 @@ , bash , gobject-introspection , libsoup -, gtksourceview +, gtksourceview4 , gsettings-desktop-schemas , adwaita-icon-theme , gnome -, gtkspell3 +, gspell , shared-mime-info , libgee , libgit2-glib @@ -29,11 +29,11 @@ stdenv.mkDerivation rec { pname = "gitg"; - version = "3.32.1"; + version = "41"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "0npg4kqpwl992fgjd2cn3fh84aiwpdp9kd8z7rw2xaj2iazsm914"; + sha256 = "f7Ybn7EPuqVI0j1wZbq9cq1j5iHeVYQMBlzm45hsRik="; }; nativeBuildInputs = [ @@ -52,8 +52,8 @@ stdenv.mkDerivation rec { glib gsettings-desktop-schemas gtk3 - gtksourceview - gtkspell3 + gtksourceview4 + gspell json-glib libdazzle libgee From 1a11eb1eb336562e0f76a3705f2997264f3a7c27 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 30 Jan 2022 01:22:34 +0000 Subject: [PATCH 19/34] =?UTF-8?q?gnome.gdm:=2041.0=20=E2=86=92=2041.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove nvidiaWayland NixOS option since it was severely out of date. https://ftp.gnome.org/pub/GNOME/sources/gdm/41/gdm-41.3.news --- .../services/x11/display-managers/gdm.nix | 26 ++----------------- pkgs/desktops/gnome/core/gdm/default.nix | 4 +-- 2 files changed, 4 insertions(+), 26 deletions(-) diff --git a/nixos/modules/services/x11/display-managers/gdm.nix b/nixos/modules/services/x11/display-managers/gdm.nix index 6f0d645725e9..f9d4d3d68364 100644 --- a/nixos/modules/services/x11/display-managers/gdm.nix +++ b/nixos/modules/services/x11/display-managers/gdm.nix @@ -53,6 +53,8 @@ in "autoLogin" "user" ]) + + (mkRemovedOptionModule [ "services" "xserver" "displayManager" "gdm" "nvidiaWayland" ] "We defer to GDM whether Wayland should be enabled.") ]; meta = { @@ -83,17 +85,6 @@ in default = true; description = '' Allow GDM to run on Wayland instead of Xserver. - Note to enable Wayland with Nvidia the - must not be disabled. - ''; - }; - - nvidiaWayland = mkOption { - type = types.bool; - default = true; - description = '' - Whether to allow wayland to be used with the proprietary - NVidia graphics driver. ''; }; @@ -230,19 +221,6 @@ in services.dbus.packages = [ gdm ]; - # We duplicate upstream's udev rules manually to make wayland with nvidia configurable - services.udev.extraRules = '' - # disable Wayland on Cirrus chipsets - ATTR{vendor}=="0x1013", ATTR{device}=="0x00b8", ATTR{subsystem_vendor}=="0x1af4", ATTR{subsystem_device}=="0x1100", RUN+="${gdm}/libexec/gdm-runtime-config set daemon WaylandEnable false" - # disable Wayland on Hi1710 chipsets - ATTR{vendor}=="0x19e5", ATTR{device}=="0x1711", RUN+="${gdm}/libexec/gdm-runtime-config set daemon WaylandEnable false" - ${optionalString (!cfg.gdm.nvidiaWayland) '' - DRIVER=="nvidia", RUN+="${gdm}/libexec/gdm-runtime-config set daemon WaylandEnable false" - ''} - # disable Wayland when modesetting is disabled - IMPORT{cmdline}="nomodeset", RUN+="${gdm}/libexec/gdm-runtime-config set daemon WaylandEnable false" - ''; - systemd.user.services.dbus.wantedBy = [ "default.target" ]; programs.dconf.profiles.gdm = diff --git a/pkgs/desktops/gnome/core/gdm/default.nix b/pkgs/desktops/gnome/core/gdm/default.nix index 392ea61688a6..6b51d11adfed 100644 --- a/pkgs/desktops/gnome/core/gdm/default.nix +++ b/pkgs/desktops/gnome/core/gdm/default.nix @@ -43,13 +43,13 @@ in stdenv.mkDerivation rec { pname = "gdm"; - version = "41.0"; + version = "41.3"; outputs = [ "out" "dev" ]; src = fetchurl { url = "mirror://gnome/sources/gdm/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "VzjEKTqfWoDUpungb00N8+nzE8p7Yb+02K+rqYPiANw="; + sha256 = "uwtlCnzqkPCaMyhPvQKXUxVAfvwY6BQAmFLRvK00N9Q="; }; mesonFlags = [ From 6396b5dbc2c6d9c9d0486221c87ab3d89fa62d48 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 30 Jan 2022 01:22:53 +0000 Subject: [PATCH 20/34] =?UTF-8?q?gnome.gnome-desktop:=2041.2=20=E2=86=92?= =?UTF-8?q?=2041.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://ftp.gnome.org/pub/GNOME/sources/gnome-desktop/41/gnome-desktop-41.3.news --- pkgs/desktops/gnome/core/gnome-desktop/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome/core/gnome-desktop/default.nix b/pkgs/desktops/gnome/core/gnome-desktop/default.nix index 860af8bee13a..302d201f234f 100644 --- a/pkgs/desktops/gnome/core/gnome-desktop/default.nix +++ b/pkgs/desktops/gnome/core/gnome-desktop/default.nix @@ -26,13 +26,13 @@ stdenv.mkDerivation rec { pname = "gnome-desktop"; - version = "41.2"; + version = "41.3"; outputs = [ "out" "dev" "devdoc" ]; src = fetchurl { url = "mirror://gnome/sources/gnome-desktop/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-NDKe79rK0jMqatuuU4yNpuUiNcd3WpCLfDIECgdT7Go="; + sha256 = "sha256-jNHKq5MRgowEUkaMalBnqbxEY4NbI6FL5E6P2bAwAcY="; }; patches = [ From 161cd51dc434626cf8a0e24fb142275bf55323a8 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 30 Jan 2022 01:23:14 +0000 Subject: [PATCH 21/34] =?UTF-8?q?gnome.gnome-session:=2040.1.1=20=E2=86=92?= =?UTF-8?q?=2041.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://ftp.gnome.org/pub/GNOME/sources/gnome-session/40/gnome-session-40.8.news https://ftp.gnome.org/pub/GNOME/sources/gnome-session/41/gnome-session-41.3.news - Patch no longer relies on grep (https://gitlab.gnome.org/GNOME/gnome-session/commit/db1a97c2ffa091a37087cad15c759554e6fbb4ad). - Also format the expression. --- .../desktops/gnome/core/gnome-session/ctl.nix | 4 +- .../gnome/core/gnome-session/default.nix | 98 ++++++++++++++----- .../gnome/core/gnome-session/fix-paths.patch | 15 +-- 3 files changed, 79 insertions(+), 38 deletions(-) diff --git a/pkgs/desktops/gnome/core/gnome-session/ctl.nix b/pkgs/desktops/gnome/core/gnome-session/ctl.nix index 6a274e35bf56..7ee9e156e5bb 100644 --- a/pkgs/desktops/gnome/core/gnome-session/ctl.nix +++ b/pkgs/desktops/gnome/core/gnome-session/ctl.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation rec { pname = "gnome-session-ctl"; - version = "40.0"; + version = "41.3"; src = fetchFromGitHub { owner = "nix-community"; repo = pname; rev = version; - hash = "sha256-gvBmLx8Qoj1vPsOwaZsd9+pTDvU5D7uUts7ZT1pXwNo="; + hash = "sha256-aC0tkTf2lgCRlcbFj1FEOVBm3YUuP+8Yz98W3ZjUydg="; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/gnome/core/gnome-session/default.nix b/pkgs/desktops/gnome/core/gnome-session/default.nix index 3ba6958fad0e..3c6903b2b01b 100644 --- a/pkgs/desktops/gnome/core/gnome-session/default.nix +++ b/pkgs/desktops/gnome/core/gnome-session/default.nix @@ -1,16 +1,42 @@ -{ fetchurl, lib, stdenv, substituteAll, meson, ninja, pkg-config, gnome, glib, gtk3, gsettings-desktop-schemas -, gnome-desktop, dbus, json-glib, libICE, xmlto, docbook_xsl, docbook_xml_dtd_412, python3 -, libxslt, gettext, makeWrapper, systemd, xorg, libepoxy, gnugrep, bash, gnome-session-ctl }: +{ fetchurl +, lib +, stdenv +, substituteAll +, meson +, ninja +, pkg-config +, gnome +, glib +, gtk3 +, gsettings-desktop-schemas +, gnome-desktop +, dbus +, json-glib +, libICE +, xmlto +, docbook_xsl +, docbook_xml_dtd_412 +, python3 +, libxslt +, gettext +, makeWrapper +, systemd +, xorg +, libepoxy +, bash +, gnome-session-ctl +}: stdenv.mkDerivation rec { pname = "gnome-session"; - version = "40.1.1"; + # Also bump ./ctl.nix when bumping major version. + version = "41.3"; - outputs = ["out" "sessions"]; + outputs = [ "out" "sessions" ]; src = fetchurl { url = "mirror://gnome/sources/gnome-session/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "10nzyhmgkrzk6i70kj7690na0hmsv6qy5bmr10akxq9jxqlphy4w"; + sha256 = "7koikFP1ImJAVIiWCTNbiFKHz2e73g3J/YgrAeybWzk="; }; patches = [ @@ -18,22 +44,41 @@ stdenv.mkDerivation rec { src = ./fix-paths.patch; gsettings = "${glib.bin}/bin/gsettings"; dbusLaunch = "${dbus.lib}/bin/dbus-launch"; - grep = "${gnugrep}/bin/grep"; bash = "${bash}/bin/bash"; }) ]; - mesonFlags = [ "-Dsystemd=true" "-Dsystemd_session=default" ]; - nativeBuildInputs = [ - meson ninja pkg-config gettext makeWrapper - xmlto libxslt docbook_xsl docbook_xml_dtd_412 python3 + meson + ninja + pkg-config + gettext + makeWrapper + xmlto + libxslt + docbook_xsl + docbook_xml_dtd_412 + python3 dbus # for DTD ]; buildInputs = [ - glib gtk3 libICE gnome-desktop json-glib xorg.xtrans gnome.adwaita-icon-theme - gnome.gnome-settings-daemon gsettings-desktop-schemas systemd libepoxy + glib + gtk3 + libICE + gnome-desktop + json-glib + xorg.xtrans + gnome.adwaita-icon-theme + gnome.gnome-settings-daemon + gsettings-desktop-schemas + systemd + libepoxy + ]; + + mesonFlags = [ + "-Dsystemd=true" + "-Dsystemd_session=default" ]; postPatch = '' @@ -49,17 +94,6 @@ stdenv.mkDerivation rec { {} + ''; - # `bin/gnome-session` will reset the environment when run in wayland, we - # therefor wrap `libexec/gnome-session-binary` instead which is the actual - # binary needing wrapping - preFixup = '' - wrapProgram "$out/libexec/gnome-session-binary" \ - --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ - --suffix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH" \ - --suffix XDG_DATA_DIRS : "${gnome.gnome-shell}/share"\ - --suffix XDG_CONFIG_DIRS : "${gnome.gnome-settings-daemon}/etc/xdg" - ''; - # We move the GNOME sessions to another output since gnome-session is a dependency of # GDM itself. If we do not hide them, it will show broken GNOME sessions when GDM is # enabled without proper GNOME installation. @@ -72,12 +106,26 @@ stdenv.mkDerivation rec { rm -rf $out/libexec/gnome-session-ctl ''; + # `bin/gnome-session` will reset the environment when run in wayland, we + # therefor wrap `libexec/gnome-session-binary` instead which is the actual + # binary needing wrapping + preFixup = '' + wrapProgram "$out/libexec/gnome-session-binary" \ + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ + --suffix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH" \ + --suffix XDG_DATA_DIRS : "${gnome.gnome-shell}/share"\ + --suffix XDG_CONFIG_DIRS : "${gnome.gnome-settings-daemon}/etc/xdg" + ''; + passthru = { updateScript = gnome.updateScript { packageName = "gnome-session"; attrPath = "gnome.gnome-session"; }; - providedSessions = [ "gnome" "gnome-xorg" ]; + providedSessions = [ + "gnome" + "gnome-xorg" + ]; }; meta = with lib; { diff --git a/pkgs/desktops/gnome/core/gnome-session/fix-paths.patch b/pkgs/desktops/gnome/core/gnome-session/fix-paths.patch index 320b3024deee..38805c645b95 100644 --- a/pkgs/desktops/gnome/core/gnome-session/fix-paths.patch +++ b/pkgs/desktops/gnome/core/gnome-session/fix-paths.patch @@ -1,17 +1,10 @@ diff --git a/gnome-session/gnome-session.in b/gnome-session/gnome-session.in -index ddd1a591..46a3488b 100755 +index b4b1f8fa..99d52cba 100755 --- a/gnome-session/gnome-session.in +++ b/gnome-session/gnome-session.in -@@ -3,17 +3,19 @@ - if [ "x$XDG_SESSION_TYPE" = "xwayland" ] && +@@ -4,13 +4,15 @@ if [ "x$XDG_SESSION_TYPE" = "xwayland" ] && [ "x$XDG_SESSION_CLASS" != "xgreeter" ] && - [ -n "$SHELL" ] && -- grep -q "$SHELL" /etc/shells && -- ! (echo "$SHELL" | grep -q "false") && -- ! (echo "$SHELL" | grep -q "nologin"); then -+ @grep@ -q "$SHELL" /etc/shells && -+ ! (echo "$SHELL" | @grep@ -q "false") && -+ ! (echo "$SHELL" | @grep@ -q "nologin"); then + [ -n "$SHELL" ]; then if [ "$1" != '-l' ]; then - exec bash -c "exec -l '$SHELL' -c '$0 -l $*'" + # Make sure the shell actually sets up the environment. @@ -28,7 +21,7 @@ index ddd1a591..46a3488b 100755 REGION=${REGION%\'} diff --git a/gnome-session/main.c b/gnome-session/main.c -index 84edfbe5..e5285489 100644 +index a460a849..9d07898f 100644 --- a/gnome-session/main.c +++ b/gnome-session/main.c @@ -215,7 +215,7 @@ require_dbus_session (int argc, From 75df38ecdafee94280ddd7e1a9099097402ebe6e Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 30 Jan 2022 01:23:37 +0000 Subject: [PATCH 22/34] =?UTF-8?q?gnome.mutter:=2041.2=20=E2=86=92=2041.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://ftp.gnome.org/pub/GNOME/sources/mutter/41/mutter-41.3.news --- pkgs/desktops/gnome/core/mutter/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome/core/mutter/default.nix b/pkgs/desktops/gnome/core/mutter/default.nix index 17145ccadfe4..d9dd6efa1487 100644 --- a/pkgs/desktops/gnome/core/mutter/default.nix +++ b/pkgs/desktops/gnome/core/mutter/default.nix @@ -46,13 +46,13 @@ let self = stdenv.mkDerivation rec { pname = "mutter"; - version = "41.2"; + version = "41.3"; outputs = [ "out" "dev" "man" ]; src = fetchurl { url = "mirror://gnome/sources/mutter/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "AN+oEvHEhtdKK3P0IEWuEYL5JGx3lNZ9dLXlQ+pwBhc="; + sha256 = "cZxdEGDrYFwbpkO0hvtXsaPHGX59+DvWwzZvxLaEd+U="; }; patches = [ From 345a5e4bea9195234e676a00c0833c5f0285f6c1 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 30 Jan 2022 01:23:16 +0000 Subject: [PATCH 23/34] =?UTF-8?q?gnome.gnome-shell:=2041.2=20=E2=86=92=204?= =?UTF-8?q?1.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://ftp.gnome.org/pub/GNOME/sources/gnome-shell/41/gnome-shell-41.3.news --- pkgs/desktops/gnome/core/gnome-shell/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome/core/gnome-shell/default.nix b/pkgs/desktops/gnome/core/gnome-shell/default.nix index 5de52723d007..dc3aaea930e0 100644 --- a/pkgs/desktops/gnome/core/gnome-shell/default.nix +++ b/pkgs/desktops/gnome/core/gnome-shell/default.nix @@ -66,13 +66,13 @@ let in stdenv.mkDerivation rec { pname = "gnome-shell"; - version = "41.2"; + version = "41.3"; outputs = [ "out" "devdoc" ]; src = fetchurl { url = "mirror://gnome/sources/gnome-shell/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "OEZR6wUTk9ur4AbRrQV78p1c1z67h7x3n/Xhwx6AqCc="; + sha256 = "Hj36KgvklFQYK0rOd/EdENP1uYjvD8tzK3MTVzlJ3tE="; }; patches = [ From 28080c85154edd0fd174b4df39d31c2d928128a4 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 30 Jan 2022 01:24:28 +0000 Subject: [PATCH 24/34] =?UTF-8?q?gnumeric:=201.12.50=20=E2=86=92=201.12.51?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit http://www.gnumeric.org/announcements/1.12/gnumeric-1.12.51.html --- pkgs/applications/office/gnumeric/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/office/gnumeric/default.nix b/pkgs/applications/office/gnumeric/default.nix index 5ab9be9fa75a..13b0c84cfaa5 100644 --- a/pkgs/applications/office/gnumeric/default.nix +++ b/pkgs/applications/office/gnumeric/default.nix @@ -7,11 +7,11 @@ let inherit (python3Packages) python pygobject3; in stdenv.mkDerivation rec { pname = "gnumeric"; - version = "1.12.50"; + version = "1.12.51"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "dYgZuhvWmDgp+efG1xp/ogzXWjZSonHluwA9XYvMFLg="; + sha256 = "oA5sbk7N2tq9mwrhgBPXsFk3/cuPmq1ac7lZI8eusd0="; }; configureFlags = [ "--disable-component" ]; From 54d20aaa4502d5e44c7a4fdf8c971dd47eae86fe Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 30 Jan 2022 02:36:36 +0100 Subject: [PATCH 25/34] tracker-miners: correct version policy --- pkgs/development/libraries/tracker-miners/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/development/libraries/tracker-miners/default.nix b/pkgs/development/libraries/tracker-miners/default.nix index e3c74bd2fe45..10307c35f0c5 100644 --- a/pkgs/development/libraries/tracker-miners/default.nix +++ b/pkgs/development/libraries/tracker-miners/default.nix @@ -127,7 +127,6 @@ stdenv.mkDerivation rec { passthru = { updateScript = gnome.updateScript { packageName = pname; - versionPolicy = "none"; }; }; From 3c3f6e51ca4947b69a4842c90b52a67c09b3a006 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 30 Jan 2022 02:36:41 +0100 Subject: [PATCH 26/34] tracker: correct version policy --- pkgs/development/libraries/tracker/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/development/libraries/tracker/default.nix b/pkgs/development/libraries/tracker/default.nix index 727634a9fd5d..d2a953839982 100644 --- a/pkgs/development/libraries/tracker/default.nix +++ b/pkgs/development/libraries/tracker/default.nix @@ -132,7 +132,6 @@ stdenv.mkDerivation rec { passthru = { updateScript = gnome.updateScript { packageName = pname; - versionPolicy = "none"; }; }; From a9d9ceb86c6e3f7ba6f6ead06d11718c22faf5a7 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sun, 30 Jan 2022 14:28:15 +0100 Subject: [PATCH 27/34] python3.pkgs.afdko: Fix build with latest fonttools --- pkgs/development/python-modules/afdko/default.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/afdko/default.nix b/pkgs/development/python-modules/afdko/default.nix index abe6bad71d9a..66f12ffd54b0 100644 --- a/pkgs/development/python-modules/afdko/default.nix +++ b/pkgs/development/python-modules/afdko/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, buildPythonPackage, fetchPypi, pythonOlder +{ lib, stdenv, buildPythonPackage, fetchPypi, fetchpatch, pythonOlder , fonttools, defcon, lxml, fs, unicodedata2, zopfli, brotlipy, fontpens , brotli, fontmath, mutatormath, booleanoperations , ufoprocessor, ufonormalizer, psautohint, tqdm @@ -37,8 +37,15 @@ buildPythonPackage rec { patches = [ # Don't try to install cmake and ninja using pip ./no-pypi-build-tools.patch + # Use antlr4 runtime from nixpkgs and link it dynamically ./use-dynamic-system-antlr4-runtime.patch + + # Fix compatibility with latest fonttools. + (fetchpatch { + url = "https://github.com/adobe-type-tools/afdko/commit/120752c50a562e4f6c12ff4be1e3bd96ed664e82.patch"; + sha256 = "RDGIpNAuCmK+zqZOeOK7ddCjr9BuqPpcnbnxdtoE48M="; + }) ]; # setup.py will always (re-)execute cmake in buildPhase From 73fa816bc721d8ec9b1453b0442a13ff41179f10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Mon, 31 Jan 2022 14:45:26 +0100 Subject: [PATCH 28/34] python39Packages.cffsubr: fix version number --- pkgs/development/python-modules/cffsubr/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/development/python-modules/cffsubr/default.nix b/pkgs/development/python-modules/cffsubr/default.nix index 9f87ed0dce04..b833304a326c 100644 --- a/pkgs/development/python-modules/cffsubr/default.nix +++ b/pkgs/development/python-modules/cffsubr/default.nix @@ -3,6 +3,7 @@ , fetchPypi , fonttools , pytestCheckHook +, setuptools-scm }: buildPythonPackage rec { @@ -16,6 +17,10 @@ buildPythonPackage rec { sha256 = "azFBLc9JyPqEZkvahn4u3cVbb+b6aW/yU8TxOp/y/Fw="; }; + nativeBuildInputs = [ + setuptools-scm + ]; + propagatedBuildInputs = [ fonttools ]; From 764a467e55eedf16d88e009e2710bc9b53dae098 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Mon, 31 Jan 2022 13:29:08 +0100 Subject: [PATCH 29/34] python39Packages.cffsubr: add pythonImportsCheck, maintainer --- pkgs/development/python-modules/cffsubr/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/python-modules/cffsubr/default.nix b/pkgs/development/python-modules/cffsubr/default.nix index b833304a326c..0c7e6849b3f1 100644 --- a/pkgs/development/python-modules/cffsubr/default.nix +++ b/pkgs/development/python-modules/cffsubr/default.nix @@ -29,9 +29,12 @@ buildPythonPackage rec { pytestCheckHook ]; + pythonImportsCheck = [ "cffsubr" ]; + meta = with lib; { description = "Standalone CFF subroutinizer based on AFDKO tx"; homepage = "https://github.com/adobe-type-tools/cffsubr"; license = licenses.asl20; + maintainers = with maintainers; [ jtojnar ]; }; } From 9f2d73a5af9d696208a85b0f36ffaf3c7bec9408 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Mon, 31 Jan 2022 13:29:21 +0100 Subject: [PATCH 30/34] python39Packages.compreffor: add maintainer --- pkgs/development/python-modules/compreffor/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/python-modules/compreffor/default.nix b/pkgs/development/python-modules/compreffor/default.nix index 0d9bfe4fc59b..942773902583 100644 --- a/pkgs/development/python-modules/compreffor/default.nix +++ b/pkgs/development/python-modules/compreffor/default.nix @@ -40,5 +40,6 @@ buildPythonPackage rec { description = "CFF table subroutinizer for FontTools"; homepage = "https://github.com/googlefonts/compreffor"; license = licenses.asl20; + maintainers = with maintainers; [ jtojnar ]; }; } From d120f576060a48538375268cc21996d052109271 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Mon, 31 Jan 2022 14:28:26 +0100 Subject: [PATCH 31/34] python39Packages.statmake: add maintainers --- pkgs/development/python-modules/statmake/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/python-modules/statmake/default.nix b/pkgs/development/python-modules/statmake/default.nix index 3cbedf8bf8c5..7de42d5bc945 100644 --- a/pkgs/development/python-modules/statmake/default.nix +++ b/pkgs/development/python-modules/statmake/default.nix @@ -53,5 +53,6 @@ buildPythonPackage rec { description = "Applies STAT information from a Stylespace to a variable font"; homepage = "https://github.com/daltonmaag/statmake"; license = licenses.mit; + maintainers = with maintainers; [ jtojnar ]; }; } From d9c1a9710731efa0e510e9413aff803d9a711f3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Mon, 31 Jan 2022 14:29:40 +0100 Subject: [PATCH 32/34] python39Packages.ufo2ft: add pythonImportsCheck, maintainers, remove no longer required postPatch --- pkgs/development/python-modules/ufo2ft/default.nix | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/ufo2ft/default.nix b/pkgs/development/python-modules/ufo2ft/default.nix index a73d3f47c595..a3458b2f332f 100644 --- a/pkgs/development/python-modules/ufo2ft/default.nix +++ b/pkgs/development/python-modules/ufo2ft/default.nix @@ -51,15 +51,12 @@ buildPythonPackage rec { "--deselect=tests/preProcessor_test.py::TTFInterpolatablePreProcessorTest::test_custom_filters_as_argument" ]; - postPatch = '' - # Does not seem to find 0.2.9.post1 for some reason. - substituteInPlace setup.py \ - --replace '"cffsubr>=0.2.8"' '"cffsubr"' - ''; + pythonImportsCheck = [ "ufo2ft" ]; meta = with lib; { description = "Bridge from UFOs to FontTools objects"; homepage = "https://github.com/googlefonts/ufo2ft"; license = licenses.mit; + maintainers = with maintainers; [ jtojnar ]; }; } From 667edc48e2dc2856e65e9b469562394140aa0c3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Mon, 31 Jan 2022 13:29:57 +0100 Subject: [PATCH 33/34] python39Packages.ufoLib2: add pythonImportsCheck, add maintainer --- pkgs/development/python-modules/ufoLib2/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/development/python-modules/ufoLib2/default.nix b/pkgs/development/python-modules/ufoLib2/default.nix index 0d21f2b56f79..6697e0b705f1 100644 --- a/pkgs/development/python-modules/ufoLib2/default.nix +++ b/pkgs/development/python-modules/ufoLib2/default.nix @@ -29,9 +29,12 @@ buildPythonPackage rec { pytestCheckHook ]; +pythonImportsCheck = [ "ufoLib2" ]; + meta = with lib; { description = "Library to deal with UFO font sources"; homepage = "https://github.com/fonttools/ufoLib2"; license = licenses.mit; + maintainers = with maintainers; [ jtojnar ]; }; } From e00317be13ec9230444564ec2e7eb45a3f6d3005 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Tue, 1 Feb 2022 19:17:16 +0100 Subject: [PATCH 34/34] nixos/nvidia: remove obsolete GDM on Wayland assertion GDM enables Wayland on supported platforms automatically (see ${gnome.gdm}/lib/udev/rules.d/61-gdm.rules), so we removed the `gdm.nvidiaWayland` option. You will still need `hardware.nvidia.modesetting.enable = true;` with `nvidia` driver, though. --- nixos/modules/hardware/video/nvidia.nix | 5 ----- 1 file changed, 5 deletions(-) diff --git a/nixos/modules/hardware/video/nvidia.nix b/nixos/modules/hardware/video/nvidia.nix index ff4225dc29ad..c0ba60e49a73 100644 --- a/nixos/modules/hardware/video/nvidia.nix +++ b/nixos/modules/hardware/video/nvidia.nix @@ -178,11 +178,6 @@ in igpuBusId = if pCfg.intelBusId != "" then pCfg.intelBusId else pCfg.amdgpuBusId; in mkIf enabled { assertions = [ - { - assertion = with config.services.xserver.displayManager; (gdm.enable && gdm.nvidiaWayland) -> cfg.modesetting.enable; - message = "You cannot use wayland with GDM without modesetting enabled for NVIDIA drivers, set `hardware.nvidia.modesetting.enable = true`"; - } - { assertion = primeEnabled -> pCfg.intelBusId == "" || pCfg.amdgpuBusId == ""; message = ''