From da5401e02203b83a20d016b5d873c7bf54e7e84b Mon Sep 17 00:00:00 2001 From: Anders Kaseorg Date: Thu, 15 Oct 2020 01:56:59 -0700 Subject: [PATCH 01/17] nixos/gdm: Conflict plymouth-quit, but more carefully MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit To avoid extra flickering on boot, we want GDM to tell Plymouth to quit after GDM takes control of the display. That configuration was reverted in #71065 because it caused ‘nixos-rebuild switch’ to bring down the graphical session. The reason was that if multi-user.target wants plymouth-quit.service which conflicts display-manager.service, then when ‘nixos-rebuild switch’ starts multi-user.target, display-manager.service is stopped so plymouth-quit.service can be started. We avoid this problem by removing WantedBy: multi-user.target from plymouth-quit.service. Signed-off-by: Anders Kaseorg --- nixos/modules/services/x11/display-managers/gdm.nix | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/nixos/modules/services/x11/display-managers/gdm.nix b/nixos/modules/services/x11/display-managers/gdm.nix index eae70a57c78..f53a4a49a06 100644 --- a/nixos/modules/services/x11/display-managers/gdm.nix +++ b/nixos/modules/services/x11/display-managers/gdm.nix @@ -183,14 +183,20 @@ in "systemd-udev-settle.service" ]; systemd.services.display-manager.conflicts = [ - "getty@tty${gdm.initialVT}.service" - # TODO: Add "plymouth-quit.service" so GDM can control when plymouth quits. - # Currently this breaks switching configurations while using plymouth. + "getty@tty${gdm.initialVT}.service" + "plymouth-quit.service" ]; systemd.services.display-manager.onFailure = [ "plymouth-quit.service" ]; + # Prevent nixos-rebuild switch from bringing down the graphical + # session. (If multi-user.target wants plymouth-quit.service which + # conflicts display-manager.service, then when nixos-rebuild + # switch starts multi-user.target, display-manager.service is + # stopped so plymouth-quit.service can be started.) + systemd.services.plymouth-quit.wantedBy = lib.mkForce []; + systemd.services.display-manager.serviceConfig = { # Restart = "always"; - already defined in xserver.nix KillMode = "mixed"; From 697b46aa96b9a85d324b4995f326664858062e57 Mon Sep 17 00:00:00 2001 From: sternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org> Date: Mon, 21 Dec 2020 13:17:01 +0100 Subject: [PATCH 02/17] fetchFromGitHub: also use git if deepClone or leaveDotGit is used leaveDotGit is only inherited if it is explicitly set, so fetchgit's default value for leaveDotGit ? deepClone is respected. --- pkgs/build-support/fetchgithub/default.nix | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/pkgs/build-support/fetchgithub/default.nix b/pkgs/build-support/fetchgithub/default.nix index 66671dd0a6a..3f355d10f8a 100644 --- a/pkgs/build-support/fetchgithub/default.nix +++ b/pkgs/build-support/fetchgithub/default.nix @@ -1,17 +1,19 @@ { lib, fetchgit, fetchzip }: { owner, repo, rev, name ? "source" -, fetchSubmodules ? false, private ? false +, fetchSubmodules ? false, leaveDotGit ? null +, deepClone ? false, private ? false , githubBase ? "github.com", varPrefix ? null , ... # For hash agility -}@args: assert private -> !fetchSubmodules; +}@args: let baseUrl = "https://${githubBase}/${owner}/${repo}"; passthruAttrs = removeAttrs args [ "owner" "repo" "rev" "fetchSubmodules" "private" "githubBase" "varPrefix" ]; varBase = "NIX${if varPrefix == null then "" else "_${varPrefix}"}_GITHUB_PRIVATE_"; + useFetchGit = fetchSubmodules || (leaveDotGit == true) || deepClone; # We prefer fetchzip in cases we don't need submodules as the hash # is more stable in that case. - fetcher = if fetchSubmodules then fetchgit else fetchzip; + fetcher = if useFetchGit then fetchgit else fetchzip; privateAttrs = lib.optionalAttrs private { netrcPhase = '' if [ -z "''$${varBase}USERNAME" -o -z "''$${varBase}PASSWORD" ]; then @@ -26,8 +28,14 @@ let ''; netrcImpureEnvVars = [ "${varBase}USERNAME" "${varBase}PASSWORD" ]; }; - fetcherArgs = (if fetchSubmodules - then { inherit rev fetchSubmodules; url = "${baseUrl}.git"; } + fetcherArgs = (if useFetchGit + then { + inherit rev deepClone fetchSubmodules; url = "${baseUrl}.git"; + } // lib.optionalAttrs (leaveDotGit != null) { inherit leaveDotGit; } else ({ url = "${baseUrl}/archive/${rev}.tar.gz"; } // privateAttrs) ) // passthruAttrs // { inherit name; }; -in fetcher fetcherArgs // { meta.homepage = baseUrl; inherit rev; } +in + +assert private -> !useFetchGit; + +fetcher fetcherArgs // { meta.homepage = baseUrl; inherit rev; } From 0096eb9274b430c8cf1a699c68054972c1845291 Mon Sep 17 00:00:00 2001 From: sternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org> Date: Mon, 21 Dec 2020 14:21:11 +0100 Subject: [PATCH 03/17] doc/fetchers: document leaveDotGit, deepClone and fetchSubmodules --- doc/builders/fetchers.chapter.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/builders/fetchers.chapter.md b/doc/builders/fetchers.chapter.md index d4cab056c70..16e4baa966b 100644 --- a/doc/builders/fetchers.chapter.md +++ b/doc/builders/fetchers.chapter.md @@ -31,6 +31,8 @@ Used with Subversion. Expects `url` to a Subversion directory, `rev`, and `sha25 Used with Git. Expects `url` to a Git repo, `rev`, and `sha256`. `rev` in this case can be full the git commit id (SHA1 hash) or a tag name like `refs/tags/v1.0`. +Additionally the following optional arguments can be given: `fetchSubmodules = true` makes `fetchgit` also fetch the submodules of a repository. If `deepClone` is set to true, the entire repository is cloned as opposing to just creating a shallow clone. `deepClone = true` also implies `leaveDotGit = true` which means that the `.git` directory of the clone won't be removed after checkout. + ## `fetchfossil` Used with Fossil. Expects `url` to a Fossil archive, `rev`, and `sha256`. @@ -49,6 +51,8 @@ A number of fetcher functions wrap part of `fetchurl` and `fetchzip`. They are m `fetchFromGitHub` expects four arguments. `owner` is a string corresponding to the GitHub user or organization that controls this repository. `repo` corresponds to the name of the software repository. These are located at the top of every GitHub HTML page as `owner`/`repo`. `rev` corresponds to the Git commit hash or tag (e.g `v1.0`) that will be downloaded from Git. Finally, `sha256` corresponds to the hash of the extracted directory. Again, other hash algorithms are also available but `sha256` is currently preferred. +`fetchFromGitHub` uses `fetchzip` to download the source archive generated by GitHub for the specified revision. If `leaveDotGit`, `deepClone` or `fetchSubmodules` are set to `true`, `fetchFromGitHub` will use `fetchgit` instead. Refer to its section for documentation of these options. + ## `fetchFromGitLab` This is used with GitLab repositories. The arguments expected are very similar to fetchFromGitHub above. From f3828c53c9b11c11d03b7ae1c11dab2a41cc3302 Mon Sep 17 00:00:00 2001 From: Julien Langlois Date: Mon, 15 Feb 2021 15:52:39 -0500 Subject: [PATCH 04/17] nixos/services/kmscon: fix systemd configuration This fixes https://github.com/NixOS/nixpkgs/issues/112616 --- nixos/modules/services/ttys/kmscon.nix | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/nixos/modules/services/ttys/kmscon.nix b/nixos/modules/services/ttys/kmscon.nix index dc37f9bee4b..4fe720bf044 100644 --- a/nixos/modules/services/ttys/kmscon.nix +++ b/nixos/modules/services/ttys/kmscon.nix @@ -82,11 +82,8 @@ in { X-RestartIfChanged=false ''; - systemd.units."autovt@.service".unit = pkgs.runCommand "unit" { preferLocalBuild = true; } - '' - mkdir -p $out - ln -s ${config.systemd.units."kmsconvt@.service".unit}/kmsconvt@.service $out/autovt@.service - ''; + systemd.suppressedSystemUnits = [ "autovt@.service" ]; + systemd.units."kmsconvt@.service".aliases = [ "autovt@.service" ]; systemd.services.systemd-vconsole-setup.enable = false; From 553ad198c2005468a024e554776efd5587999261 Mon Sep 17 00:00:00 2001 From: Alvar Penning Date: Sat, 10 Oct 2020 15:12:12 +0200 Subject: [PATCH 05/17] claws-mail{,-gtk3}: refactor Update Claws Mail to its latest version and perform a major refactoring. Previously, the configurable arguments were neither complete nor named according to the configure.ac file. Likewise, the values did not correspond to the defaults, but rather to a personal preference. This has now been changed to enable the arguments which are enabled in the configure.ac file. Also the variable names have been adjusted. For compatibility the old parameters also exist. Next to the claws-mail package is the "experimental" claws-mail-gtk3 package for the non official gtk3 git branch. This package started as an almost one-to-one copy of the claws-mail derivation which small modifications. This package was of course not updated. This has also been changed so that both packages are built from the same derivative. --- .../mailreaders/claws-mail/default.nix | 220 ++++++++++++------ .../mailreaders/claws-mail/gtk3.nix | 121 ---------- pkgs/top-level/all-packages.nix | 3 +- 3 files changed, 153 insertions(+), 191 deletions(-) delete mode 100644 pkgs/applications/networking/mailreaders/claws-mail/gtk3.nix diff --git a/pkgs/applications/networking/mailreaders/claws-mail/default.nix b/pkgs/applications/networking/mailreaders/claws-mail/default.nix index 7eaefdd91c4..a198c355290 100644 --- a/pkgs/applications/networking/mailreaders/claws-mail/default.nix +++ b/pkgs/applications/networking/mailreaders/claws-mail/default.nix @@ -1,52 +1,98 @@ -{ lib, config, fetchurl, stdenv, wrapGAppsHook, autoreconfHook -, curl, dbus, dbus-glib, enchant, gtk2, gnutls, gnupg, gpgme, gumbo -, libarchive, libcanberra-gtk2, libetpan, libnotify, libsoup, libxml2, networkmanager -, openldap, perl, pkg-config, poppler, python, shared-mime-info -, glib-networking, gsettings-desktop-schemas, libSM, libytnef, libical -# Build options -# TODO: A flag to build the manual. -# TODO: Plugins that complain about their missing dependencies, even when -# provided: -# gdata requires libgdata -# geolocation requires libchamplain -, enableLdap ? false -, enableNetworkManager ? config.networking.networkmanager.enable or false +{ stdenv, lib, fetchgit, wrapGAppsHook, autoreconfHook, bison, flex +, curl, gtk2, gtk3, pkg-config, python2, python3, shared-mime-info +, glib-networking, gsettings-desktop-schemas + +# Use the experimental gtk3 branch. +, useGtk3 ? false + +# Package compatibility: old parameters whose name were not directly derived , enablePgp ? true -, enablePluginArchive ? false -, enablePluginLitehtmlViewer ? false , enablePluginNotificationDialogs ? true , enablePluginNotificationSounds ? true -, enablePluginPdf ? false -, enablePluginPython ? false -, enablePluginRavatar ? false -, enablePluginRssyl ? false -, enablePluginSmime ? false -, enablePluginSpamassassin ? false -, enablePluginSpamReport ? false -, enablePluginVcalendar ? false -, enableSpellcheck ? false +, enablePluginPdf ? true +, enablePluginRavatar ? true +, enableSpellcheck ? true + +# Arguments to include external libraries +, enableLibSM ? true, libSM +, enableGnuTLS ? true, gnutls +, enableEnchant ? enableSpellcheck, enchant +, enableDbus ? true, dbus, dbus-glib +, enableLdap ? true, openldap +, enableNetworkManager ? true, networkmanager +, enableLibetpan ? true, libetpan +, enableValgrind ? true, valgrind +, enableSvg ? true, librsvg + +# Configure claws-mail's plugins +, enablePluginAcpiNotifier ? true +, enablePluginAddressKeeper ? true +, enablePluginArchive ? true, libarchive +, enablePluginAttRemover ? true +, enablePluginAttachWarner ? true +, enablePluginBogofilter ? true +, enablePluginBsfilter ? true +, enablePluginClamd ? true +, enablePluginDillo ? true +, enablePluginFetchInfo ? true +, enablePluginLibravatar ? enablePluginRavatar +, enablePluginLitehtmlViewer ? true, gumbo +, enablePluginMailmbox ? true +, enablePluginManageSieve ? true +, enablePluginNewMail ? true +, enablePluginNotification ? (enablePluginNotificationDialogs || enablePluginNotificationSounds), libcanberra-gtk2, libcanberra-gtk3, libnotify +, enablePluginPdfViewer ? enablePluginPdf, poppler +, enablePluginPerl ? true, perl +, enablePluginPython ? true +, enablePluginPgp ? enablePgp, gnupg, gpgme +, enablePluginRssyl ? true, libxml2 +, enablePluginSmime ? true +, enablePluginSpamassassin ? true +, enablePluginSpamReport ? true +, enablePluginTnefParse ? true, libytnef +, enablePluginVcalendar ? true, libical }: with lib; -stdenv.mkDerivation rec { - pname = "claws-mail"; +let version = "3.17.8"; - src = fetchurl { - url = "https://www.claws-mail.org/download.php?file=releases/claws-mail-${version}.tar.xz"; - sha256 = "sha256-zbeygUmV1vSpw7HwvBRn7Vw88qXg2hcwqqJaisyv3a8="; + # The official release uses gtk2 and contains the version tag. + gtk2src = { + rev = version; + sha256 = "0l4f8q11iyj8pi120lrapgq51k5j64xf0jlczkzbm99rym752ch5"; }; + # The corresponding commit in the gtk3 branch. + gtk3src = { + rev = "3.99.0"; + sha256 = "176h1swh1zx6dqyzfz470x4a1xicnv0zhy8ir47k7p23g6y17i2k"; + }; + + python = if useGtk3 then python3 else python2; + pythonPkgs = if useGtk3 + then + with python.pkgs; [ python wrapPython pygobject3 ] + else + with python.pkgs; [ python wrapPython pygtk pygobject2 ]; +in stdenv.mkDerivation rec { + pname = "claws-mail"; + inherit version; + + src = fetchgit ({ + url = "git://git.claws-mail.org/claws.git"; + } // (if useGtk3 then gtk3src else gtk2src)); + outputs = [ "out" "dev" ]; - patches = [ - ./mime.patch - ]; + patches = [ ./mime.patch ]; preConfigure = '' # autotools check tries to dlopen libpython as a requirement for the python plugin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}${python}/lib + # generate version without .git + [ -e version ] || echo "echo ${version}" > version ''; postPatch = '' @@ -54,51 +100,87 @@ stdenv.mkDerivation rec { --subst-var-by MIMEROOTDIR ${shared-mime-info}/share ''; - nativeBuildInputs = [ autoreconfHook pkg-config wrapGAppsHook python.pkgs.wrapPython ]; - propagatedBuildInputs = with python.pkgs; [ python ] ++ optionals enablePluginPython [ pygtk pygobject2 ]; + nativeBuildInputs = [ autoreconfHook pkg-config bison flex wrapGAppsHook ]; + propagatedBuildInputs = pythonPkgs; buildInputs = - [ curl dbus dbus-glib gtk2 gnutls gsettings-desktop-schemas - libetpan perl glib-networking libSM libytnef - ] - ++ optional enableSpellcheck enchant - ++ optionals (enablePgp || enablePluginSmime) [ gnupg gpgme ] - ++ optional enablePluginArchive libarchive - ++ optional enablePluginNotificationSounds libcanberra-gtk2 - ++ optional enablePluginNotificationDialogs libnotify - ++ optional enablePluginLitehtmlViewer gumbo - ++ optional enablePluginRssyl libxml2 - ++ optional enableNetworkManager networkmanager - ++ optional enableLdap openldap - ++ optional enablePluginPdf poppler - ++ optional enablePluginVcalendar libical; + [ curl gsettings-desktop-schemas glib-networking ] + ++ [(if useGtk3 then gtk3 else gtk2)] + ++ optional enableLibSM libSM + ++ optional enableGnuTLS gnutls + ++ optional enableEnchant enchant + ++ optionals enableDbus [ dbus dbus-glib ] + ++ optional enableLdap openldap + ++ optional enableNetworkManager networkmanager + ++ optional enableLibetpan libetpan + ++ optional enableValgrind valgrind + ++ optional enableSvg librsvg + ++ optional enablePluginArchive libarchive + ++ optional enablePluginLitehtmlViewer gumbo + ++ optionals enablePluginNotification [ libnotify ] ++ [(if useGtk3 then libcanberra-gtk3 else libcanberra-gtk2)] + ++ optional enablePluginPerl perl + ++ optional enablePluginPdfViewer poppler + ++ optional enablePluginRssyl libxml2 + ++ optionals enablePluginPgp [ gnupg gpgme ] + ++ optional enablePluginTnefParse libytnef + ++ optional enablePluginVcalendar libical + ; configureFlags = - optional (!enableLdap) "--disable-ldap" - ++ optional (!enableNetworkManager) "--disable-networkmanager" - ++ optionals (!enablePgp) [ - "--disable-pgpcore-plugin" - "--disable-pgpinline-plugin" - "--disable-pgpmime-plugin" + [ + "--disable-manual" # Missing docbook-tools, e.g., docbook2html + "--disable-compface" # Missing compface library + "--disable-jpilot" # Missing jpilot library + + "--disable-gdata-plugin" # Complains about missing libgdata, even when provided + "--disable-fancy-plugin" # Missing libwebkit-1.0 library ] - ++ optional (!enablePluginArchive) "--disable-archive-plugin" - ++ optional (!enablePluginLitehtmlViewer) "--disable-litehtml_viewer-plugin" - ++ optional (!enablePluginPdf) "--disable-pdf_viewer-plugin" - ++ optional (!enablePluginPython) "--disable-python-plugin" - ++ optional (!enablePluginRavatar) "--disable-libravatar-plugin" - ++ optional (!enablePluginRssyl) "--disable-rssyl-plugin" - ++ optional (!enablePluginSmime) "--disable-smime-plugin" - ++ optional (!enablePluginSpamassassin) "--disable-spamassassin-plugin" - ++ optional (!enablePluginSpamReport) "--disable-spam_report-plugin" - ++ optional (!enablePluginVcalendar) "--disable-vcalendar-plugin" - ++ optional (!enableSpellcheck) "--disable-enchant"; + ++ + (map (e: strings.enableFeature (lists.head e) (lists.last e)) [ + [ enableLibSM "libsm" ] + [ enableGnuTLS "gnutls" ] + [ enableEnchant "enchant" ] + [ enableDbus "dbus" ] + [ enableLdap "ldap" ] + [ enableNetworkManager "networkmanager" ] + [ enableLibetpan "libetpan" ] + [ enableValgrind "valgrind" ] + [ enableSvg "svg" ] + + [ enablePluginAcpiNotifier "acpi_notifier-plugin" ] + [ enablePluginAddressKeeper "address_keeper-plugin" ] + [ enablePluginArchive "archive-plugin" ] + [ enablePluginAttRemover "att_remover-plugin" ] + [ enablePluginAttachWarner "attachwarner-plugin" ] + [ enablePluginBogofilter "bogofilter-plugin" ] + [ enablePluginBsfilter "bsfilter-plugin" ] + [ enablePluginClamd "clamd-plugin" ] + [ enablePluginDillo "dillo-plugin" ] + [ enablePluginFetchInfo "fetchinfo-plugin" ] + [ enablePluginLibravatar "libravatar-plugin" ] + [ enablePluginLitehtmlViewer "litehtml_viewer-plugin" ] + [ enablePluginMailmbox "mailmbox-plugin" ] + [ enablePluginManageSieve "managesieve-plugin" ] + [ enablePluginNewMail "newmail-plugin" ] + [ enablePluginNotification "notification-plugin" ] + [ enablePluginPdfViewer "pdf_viewer-plugin" ] + [ enablePluginPerl "perl-plugin" ] + [ enablePluginPython "python-plugin" ] + [ enablePluginPgp "pgpcore-plugin" ] + [ enablePluginPgp "pgpmime-plugin" ] + [ enablePluginPgp "pgpinline-plugin" ] + [ enablePluginRssyl "rssyl-plugin" ] + [ enablePluginSmime "smime-plugin" ] + [ enablePluginSpamassassin "spamassassin-plugin" ] + [ enablePluginSpamReport "spam_report-plugin" ] + [ enablePluginTnefParse "tnef_parse-plugin" ] + [ enablePluginVcalendar "vcalendar-plugin" ] + ]); enableParallelBuilding = true; - pythonPath = with python.pkgs; [ pygobject2 pygtk ]; - preFixup = '' - buildPythonPath "$out $pythonPath" + buildPythonPath "$out $pythonPkgs" gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "${shared-mime-info}/share" --prefix PYTHONPATH : "$program_PYTHONPATH") ''; @@ -112,6 +194,6 @@ stdenv.mkDerivation rec { homepage = "https://www.claws-mail.org/"; license = licenses.gpl3; platforms = platforms.linux; - maintainers = with maintainers; [ fpletz globin orivej ]; + maintainers = with maintainers; [ fpletz globin orivej oxzi ]; }; } diff --git a/pkgs/applications/networking/mailreaders/claws-mail/gtk3.nix b/pkgs/applications/networking/mailreaders/claws-mail/gtk3.nix deleted file mode 100644 index d5223092446..00000000000 --- a/pkgs/applications/networking/mailreaders/claws-mail/gtk3.nix +++ /dev/null @@ -1,121 +0,0 @@ -{ lib, config, fetchgit, stdenv, wrapGAppsHook, autoreconfHook, bison, flex -, curl, dbus, dbus-glib, enchant, gtk3, gnutls, gnupg, gpgme -, libarchive, libcanberra-gtk3, libetpan, libnotify, libsoup, libxml2, networkmanager -, openldap, perl, pkg-config, poppler, python, shared-mime-info, webkitgtk -, glib-networking, gsettings-desktop-schemas, libSM, libytnef, libical -# Build options -# TODO: A flag to build the manual. -# TODO: Plugins that complain about their missing dependencies, even when -# provided: -# gdata requires libgdata -# geolocation requires libchamplain -, enableLdap ? false -, enableNetworkManager ? config.networking.networkmanager.enable or false -, enablePgp ? true -, enablePluginArchive ? false -, enablePluginFancy ? true -, enablePluginNotificationDialogs ? true -, enablePluginNotificationSounds ? true -, enablePluginPdf ? false -, enablePluginPython ? false -, enablePluginRavatar ? false -, enablePluginRssyl ? false -, enablePluginSmime ? false -, enablePluginSpamassassin ? false -, enablePluginSpamReport ? false -, enablePluginVcalendar ? false -, enableSpellcheck ? false -}: - -with lib; - -stdenv.mkDerivation rec { - pname = "claws-mail-gtk3"; - version = "3.99.0"; - - src = fetchgit { - url = "git://git.claws-mail.org/claws.git"; - rev = version; - sha256 = "176h1swh1zx6dqyzfz470x4a1xicnv0zhy8ir47k7p23g6y17i2k"; - }; - - outputs = [ "out" "dev" ]; - - patches = [ ./mime.patch ]; - - preConfigure = '' - # autotools check tries to dlopen libpython as a requirement for the python plugin - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}${python}/lib - # generate version without .git - [ -e version ] || echo "echo ${version}" > version - ''; - - postPatch = '' - substituteInPlace src/procmime.c \ - --subst-var-by MIMEROOTDIR ${shared-mime-info}/share - ''; - - nativeBuildInputs = [ autoreconfHook bison flex pkg-config wrapGAppsHook python.pkgs.wrapPython ]; - propagatedBuildInputs = with python.pkgs; [ python ] ++ optionals enablePluginPython [ pygtk pygobject2 ]; - - buildInputs = - [ curl dbus dbus-glib gtk3 gnutls gsettings-desktop-schemas - libetpan perl glib-networking libSM libytnef - ] - ++ optional enableSpellcheck enchant - ++ optionals (enablePgp || enablePluginSmime) [ gnupg gpgme ] - ++ optional enablePluginArchive libarchive - ++ optional enablePluginNotificationSounds libcanberra-gtk3 - ++ optional enablePluginNotificationDialogs libnotify - ++ optional enablePluginFancy libsoup - ++ optional enablePluginRssyl libxml2 - ++ optional enableNetworkManager networkmanager - ++ optional enableLdap openldap - ++ optional enablePluginPdf poppler - ++ optional enablePluginFancy webkitgtk - ++ optional enablePluginVcalendar libical; - - configureFlags = - optional (!enableLdap) "--disable-ldap" - ++ optional (!enableNetworkManager) "--disable-networkmanager" - ++ optionals (!enablePgp) [ - "--disable-pgpcore-plugin" - "--disable-pgpinline-plugin" - "--disable-pgpmime-plugin" - ] - ++ optional (!enablePluginArchive) "--disable-archive-plugin" - ++ optional (!enablePluginFancy) "--disable-fancy-plugin" - ++ optional (!enablePluginPdf) "--disable-pdf_viewer-plugin" - ++ optional (!enablePluginPython) "--disable-python-plugin" - ++ optional (!enablePluginRavatar) "--disable-libravatar-plugin" - ++ optional (!enablePluginRssyl) "--disable-rssyl-plugin" - ++ optional (!enablePluginSmime) "--disable-smime-plugin" - ++ optional (!enablePluginSpamassassin) "--disable-spamassassin-plugin" - ++ optional (!enablePluginSpamReport) "--disable-spam_report-plugin" - ++ optional (!enablePluginVcalendar) "--disable-vcalendar-plugin" - ++ optional (!enableSpellcheck) "--disable-enchant"; - - enableParallelBuilding = true; - - pythonPath = with python.pkgs; [ pygobject2 pygtk ]; - - preFixup = '' - buildPythonPath "$out $pythonPath" - gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "${shared-mime-info}/share" --prefix PYTHONPATH : "$program_PYTHONPATH") - ''; - - postInstall = '' - mkdir -p $out/share/applications - cp claws-mail.desktop $out/share/applications - ''; - - NIX_CFLAGS_COMPILE = [ "-Wno-deprecated-declarations" ]; - - meta = { - description = "The user-friendly, lightweight, and fast email client"; - homepage = "https://www.claws-mail.org/"; - license = licenses.gpl3; - platforms = platforms.linux; - maintainers = with maintainers; [ fpletz globin orivej ]; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c8322e5dbdf..c991a3780f0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21527,8 +21527,9 @@ in claws-mail = callPackage ../applications/networking/mailreaders/claws-mail { inherit (xorg) libSM; }; - claws-mail-gtk3 = callPackage ../applications/networking/mailreaders/claws-mail/gtk3.nix { + claws-mail-gtk3 = callPackage ../applications/networking/mailreaders/claws-mail { inherit (xorg) libSM; + useGtk3 = true; }; clfswm = callPackage ../applications/window-managers/clfswm { }; From bf925400978d361e62f9d5210a6e5d620d2be050 Mon Sep 17 00:00:00 2001 From: ajs124 Date: Fri, 19 Feb 2021 01:48:17 +0100 Subject: [PATCH 06/17] claws-mail: refactor feature flags/deps into one list also add myself as maintainer --- .../mailreaders/claws-mail/default.nix | 103 +++++++----------- 1 file changed, 42 insertions(+), 61 deletions(-) diff --git a/pkgs/applications/networking/mailreaders/claws-mail/default.nix b/pkgs/applications/networking/mailreaders/claws-mail/default.nix index a198c355290..3d28300affc 100644 --- a/pkgs/applications/networking/mailreaders/claws-mail/default.nix +++ b/pkgs/applications/networking/mailreaders/claws-mail/default.nix @@ -76,6 +76,44 @@ let with python.pkgs; [ python wrapPython pygobject3 ] else with python.pkgs; [ python wrapPython pygtk pygobject2 ]; + + features = [ + { flags = [ "acpi_notifier-plugin" ]; enabled = enablePluginAcpiNotifier; } + { flags = [ "address_keeper-plugin" ]; enabled = enablePluginAddressKeeper; } + { flags = [ "archive-plugin" ]; enabled = enablePluginArchive; deps = [ libarchive ]; } + { flags = [ "att_remover-plugin" ]; enabled = enablePluginAttRemover; } + { flags = [ "attachwarner-plugin" ]; enabled = enablePluginAttachWarner; } + { flags = [ "bogofilter-plugin" ]; enabled = enablePluginBogofilter; } + { flags = [ "bsfilter-plugin" ]; enabled = enablePluginBsfilter; } + { flags = [ "clamd-plugin" ]; enabled = enablePluginClamd; } + { flags = [ "dbus" ]; enabled = enableDbus; deps = [ dbus dbus-glib ]; } + { flags = [ "dillo-plugin" ]; enabled = enablePluginDillo; } + { flags = [ "enchant" ]; enabled = enableEnchant; deps = [ enchant ]; } + { flags = [ "fetchinfo-plugin" ]; enabled = enablePluginFetchInfo; } + { flags = [ "gnutls" ]; enabled = enableGnuTLS; deps = [ gnutls ]; } + { flags = [ "ldap" ]; enabled = enableLdap; deps = [ openldap ]; } + { flags = [ "libetpan" ]; enabled = enableLibetpan; deps = [ libetpan ]; } + { flags = [ "libravatar-plugin" ]; enabled = enablePluginLibravatar; } + { flags = [ "libsm" ]; enabled = enableLibSM; deps = [ libSM ]; } + { flags = [ "litehtml_viewer-plugin" ]; enabled = enablePluginLitehtmlViewer; deps = [ gumbo ]; } + { flags = [ "mailmbox-plugin" ]; enabled = enablePluginMailmbox; } + { flags = [ "managesieve-plugin" ]; enabled = enablePluginManageSieve; } + { flags = [ "networkmanager" ]; enabled = enableNetworkManager; deps = [ networkmanager ]; } + { flags = [ "newmail-plugin" ]; enabled = enablePluginNewMail; } + { flags = [ "notification-plugin" ]; enabled = enablePluginNotification; deps = [ libnotify ] ++ [(if useGtk3 then libcanberra-gtk3 else libcanberra-gtk2)]; } + { flags = [ "pdf_viewer-plugin" ]; enabled = enablePluginPdfViewer; deps = [ poppler ]; } + { flags = [ "perl-plugin" ]; enabled = enablePluginPerl; deps = [ perl ]; } + { flags = [ "pgpcore-plugin" "pgpinline-plugin" "pgpmime-plugin" ]; enabled = enablePluginPgp; deps = [ gnupg gpgme ]; } + { flags = [ "python-plugin" ]; enabled = enablePluginPython; } + { flags = [ "rssyl-plugin" ]; enabled = enablePluginRssyl; deps = [ libxml2 ]; } + { flags = [ "smime-plugin" ]; enabled = enablePluginSmime; } + { flags = [ "spam_report-plugin" ]; enabled = enablePluginSpamReport; } + { flags = [ "spamassassin-plugin" ]; enabled = enablePluginSpamassassin; } + { flags = [ "svg" ]; enabled = enableSvg; deps = [ librsvg ]; } + { flags = [ "tnef_parse-plugin" ]; enabled = enablePluginTnefParse; deps = [ libytnef ]; } + { flags = [ "valgrind" ]; enabled = enableValgrind; deps = [ valgrind ]; } + { flags = [ "vcalendar-plugin" ]; enabled = enablePluginVcalendar; deps = [ libical ]; } + ]; in stdenv.mkDerivation rec { pname = "claws-mail"; inherit version; @@ -106,24 +144,7 @@ in stdenv.mkDerivation rec { buildInputs = [ curl gsettings-desktop-schemas glib-networking ] ++ [(if useGtk3 then gtk3 else gtk2)] - ++ optional enableLibSM libSM - ++ optional enableGnuTLS gnutls - ++ optional enableEnchant enchant - ++ optionals enableDbus [ dbus dbus-glib ] - ++ optional enableLdap openldap - ++ optional enableNetworkManager networkmanager - ++ optional enableLibetpan libetpan - ++ optional enableValgrind valgrind - ++ optional enableSvg librsvg - ++ optional enablePluginArchive libarchive - ++ optional enablePluginLitehtmlViewer gumbo - ++ optionals enablePluginNotification [ libnotify ] ++ [(if useGtk3 then libcanberra-gtk3 else libcanberra-gtk2)] - ++ optional enablePluginPerl perl - ++ optional enablePluginPdfViewer poppler - ++ optional enablePluginRssyl libxml2 - ++ optionals enablePluginPgp [ gnupg gpgme ] - ++ optional enablePluginTnefParse libytnef - ++ optional enablePluginVcalendar libical + ++ concatMap (f: optionals f.enabled f.deps) (filter (f: f ? deps) features) ; configureFlags = @@ -134,48 +155,8 @@ in stdenv.mkDerivation rec { "--disable-gdata-plugin" # Complains about missing libgdata, even when provided "--disable-fancy-plugin" # Missing libwebkit-1.0 library - ] - ++ - (map (e: strings.enableFeature (lists.head e) (lists.last e)) [ - [ enableLibSM "libsm" ] - [ enableGnuTLS "gnutls" ] - [ enableEnchant "enchant" ] - [ enableDbus "dbus" ] - [ enableLdap "ldap" ] - [ enableNetworkManager "networkmanager" ] - [ enableLibetpan "libetpan" ] - [ enableValgrind "valgrind" ] - [ enableSvg "svg" ] - - [ enablePluginAcpiNotifier "acpi_notifier-plugin" ] - [ enablePluginAddressKeeper "address_keeper-plugin" ] - [ enablePluginArchive "archive-plugin" ] - [ enablePluginAttRemover "att_remover-plugin" ] - [ enablePluginAttachWarner "attachwarner-plugin" ] - [ enablePluginBogofilter "bogofilter-plugin" ] - [ enablePluginBsfilter "bsfilter-plugin" ] - [ enablePluginClamd "clamd-plugin" ] - [ enablePluginDillo "dillo-plugin" ] - [ enablePluginFetchInfo "fetchinfo-plugin" ] - [ enablePluginLibravatar "libravatar-plugin" ] - [ enablePluginLitehtmlViewer "litehtml_viewer-plugin" ] - [ enablePluginMailmbox "mailmbox-plugin" ] - [ enablePluginManageSieve "managesieve-plugin" ] - [ enablePluginNewMail "newmail-plugin" ] - [ enablePluginNotification "notification-plugin" ] - [ enablePluginPdfViewer "pdf_viewer-plugin" ] - [ enablePluginPerl "perl-plugin" ] - [ enablePluginPython "python-plugin" ] - [ enablePluginPgp "pgpcore-plugin" ] - [ enablePluginPgp "pgpmime-plugin" ] - [ enablePluginPgp "pgpinline-plugin" ] - [ enablePluginRssyl "rssyl-plugin" ] - [ enablePluginSmime "smime-plugin" ] - [ enablePluginSpamassassin "spamassassin-plugin" ] - [ enablePluginSpamReport "spam_report-plugin" ] - [ enablePluginTnefParse "tnef_parse-plugin" ] - [ enablePluginVcalendar "vcalendar-plugin" ] - ]); + ] ++ + (map (feature: map (flag: strings.enableFeature feature.enabled flag) feature.flags) features); enableParallelBuilding = true; @@ -194,6 +175,6 @@ in stdenv.mkDerivation rec { homepage = "https://www.claws-mail.org/"; license = licenses.gpl3; platforms = platforms.linux; - maintainers = with maintainers; [ fpletz globin orivej oxzi ]; + maintainers = with maintainers; [ fpletz globin orivej oxzi ajs124 ]; }; } From c2349bf052456733017396696286627fd061a800 Mon Sep 17 00:00:00 2001 From: ajs124 Date: Fri, 19 Feb 2021 17:56:11 +0100 Subject: [PATCH 07/17] claws-mail{,-gtk3}: set version for gtk3 to 3.99.0 --- .../networking/mailreaders/claws-mail/default.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/mailreaders/claws-mail/default.nix b/pkgs/applications/networking/mailreaders/claws-mail/default.nix index 3d28300affc..a9cea58902a 100644 --- a/pkgs/applications/networking/mailreaders/claws-mail/default.nix +++ b/pkgs/applications/networking/mailreaders/claws-mail/default.nix @@ -56,17 +56,15 @@ with lib; let - version = "3.17.8"; + version = if useGtk3 then "3.99.0" else "3.17.8"; # The official release uses gtk2 and contains the version tag. gtk2src = { - rev = version; sha256 = "0l4f8q11iyj8pi120lrapgq51k5j64xf0jlczkzbm99rym752ch5"; }; # The corresponding commit in the gtk3 branch. gtk3src = { - rev = "3.99.0"; sha256 = "176h1swh1zx6dqyzfz470x4a1xicnv0zhy8ir47k7p23g6y17i2k"; }; @@ -119,6 +117,7 @@ in stdenv.mkDerivation rec { inherit version; src = fetchgit ({ + rev = version; url = "git://git.claws-mail.org/claws.git"; } // (if useGtk3 then gtk3src else gtk2src)); From 3323b0ff0d669bb8b8c0551946a3ecb5f834e913 Mon Sep 17 00:00:00 2001 From: David Arnold Date: Wed, 27 Jan 2021 21:52:22 -0500 Subject: [PATCH 08/17] installer: move ./cd-dvd/sd-card* -> ./sd-card/ --- .../installer/{cd-dvd => sd-card}/sd-image-aarch64-new-kernel.nix | 0 nixos/modules/installer/{cd-dvd => sd-card}/sd-image-aarch64.nix | 0 .../{cd-dvd => sd-card}/sd-image-armv7l-multiplatform.nix | 0 .../installer/{cd-dvd => sd-card}/sd-image-raspberrypi.nix | 0 .../installer/{cd-dvd => sd-card}/sd-image-raspberrypi4.nix | 0 nixos/modules/installer/{cd-dvd => sd-card}/sd-image.nix | 0 6 files changed, 0 insertions(+), 0 deletions(-) rename nixos/modules/installer/{cd-dvd => sd-card}/sd-image-aarch64-new-kernel.nix (100%) rename nixos/modules/installer/{cd-dvd => sd-card}/sd-image-aarch64.nix (100%) rename nixos/modules/installer/{cd-dvd => sd-card}/sd-image-armv7l-multiplatform.nix (100%) rename nixos/modules/installer/{cd-dvd => sd-card}/sd-image-raspberrypi.nix (100%) rename nixos/modules/installer/{cd-dvd => sd-card}/sd-image-raspberrypi4.nix (100%) rename nixos/modules/installer/{cd-dvd => sd-card}/sd-image.nix (100%) diff --git a/nixos/modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix b/nixos/modules/installer/sd-card/sd-image-aarch64-new-kernel.nix similarity index 100% rename from nixos/modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix rename to nixos/modules/installer/sd-card/sd-image-aarch64-new-kernel.nix diff --git a/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix b/nixos/modules/installer/sd-card/sd-image-aarch64.nix similarity index 100% rename from nixos/modules/installer/cd-dvd/sd-image-aarch64.nix rename to nixos/modules/installer/sd-card/sd-image-aarch64.nix diff --git a/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix b/nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform.nix similarity index 100% rename from nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix rename to nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform.nix diff --git a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix b/nixos/modules/installer/sd-card/sd-image-raspberrypi.nix similarity index 100% rename from nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix rename to nixos/modules/installer/sd-card/sd-image-raspberrypi.nix diff --git a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix b/nixos/modules/installer/sd-card/sd-image-raspberrypi4.nix similarity index 100% rename from nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix rename to nixos/modules/installer/sd-card/sd-image-raspberrypi4.nix diff --git a/nixos/modules/installer/cd-dvd/sd-image.nix b/nixos/modules/installer/sd-card/sd-image.nix similarity index 100% rename from nixos/modules/installer/cd-dvd/sd-image.nix rename to nixos/modules/installer/sd-card/sd-image.nix From 3c744bf68d0dbfbe18f9b0d5487b843f29ed47c1 Mon Sep 17 00:00:00 2001 From: David Arnold Date: Wed, 27 Jan 2021 22:00:45 -0500 Subject: [PATCH 09/17] installer: split sd-card into installer & base for bespoke image --- .../installer/sd-card/sd-image-aarch64-installer.nix | 6 ++++++ .../sd-card/sd-image-aarch64-new-kernel-installer.nix | 6 ++++++ nixos/modules/installer/sd-card/sd-image-aarch64.nix | 1 - .../sd-card/sd-image-armv7l-multiplatform-installer.nix | 6 ++++++ .../installer/sd-card/sd-image-armv7l-multiplatform.nix | 1 - .../installer/sd-card/sd-image-raspberryp4-installer.nix | 6 ++++++ .../installer/sd-card/sd-image-raspberrypi-installer.nix | 6 ++++++ nixos/modules/installer/sd-card/sd-image-raspberrypi.nix | 1 - 8 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 nixos/modules/installer/sd-card/sd-image-aarch64-installer.nix create mode 100644 nixos/modules/installer/sd-card/sd-image-aarch64-new-kernel-installer.nix create mode 100644 nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform-installer.nix create mode 100644 nixos/modules/installer/sd-card/sd-image-raspberryp4-installer.nix create mode 100644 nixos/modules/installer/sd-card/sd-image-raspberrypi-installer.nix diff --git a/nixos/modules/installer/sd-card/sd-image-aarch64-installer.nix b/nixos/modules/installer/sd-card/sd-image-aarch64-installer.nix new file mode 100644 index 00000000000..b9e8a3ec81f --- /dev/null +++ b/nixos/modules/installer/sd-card/sd-image-aarch64-installer.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ../../profiles/installation-device.nix + ./sd-image-aarch64.nix + ]; +} diff --git a/nixos/modules/installer/sd-card/sd-image-aarch64-new-kernel-installer.nix b/nixos/modules/installer/sd-card/sd-image-aarch64-new-kernel-installer.nix new file mode 100644 index 00000000000..fdb6da31f4c --- /dev/null +++ b/nixos/modules/installer/sd-card/sd-image-aarch64-new-kernel-installer.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ../../profiles/installation-device.nix + ./sd-image-aarch64-new-kernel.nix + ]; +} diff --git a/nixos/modules/installer/sd-card/sd-image-aarch64.nix b/nixos/modules/installer/sd-card/sd-image-aarch64.nix index e4ec2d6240d..ea696cbbc71 100644 --- a/nixos/modules/installer/sd-card/sd-image-aarch64.nix +++ b/nixos/modules/installer/sd-card/sd-image-aarch64.nix @@ -5,7 +5,6 @@ { imports = [ ../../profiles/base.nix - ../../profiles/installation-device.nix ./sd-image.nix ]; diff --git a/nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform-installer.nix b/nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform-installer.nix new file mode 100644 index 00000000000..36b59b1ef93 --- /dev/null +++ b/nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform-installer.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ../../profiles/installation-device.nix + ./sd-image-armv7l-multiplatform.nix + ]; +} diff --git a/nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform.nix b/nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform.nix index d2ba611532e..08f2fbaaaf2 100644 --- a/nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform.nix +++ b/nixos/modules/installer/sd-card/sd-image-armv7l-multiplatform.nix @@ -5,7 +5,6 @@ { imports = [ ../../profiles/base.nix - ../../profiles/installation-device.nix ./sd-image.nix ]; diff --git a/nixos/modules/installer/sd-card/sd-image-raspberryp4-installer.nix b/nixos/modules/installer/sd-card/sd-image-raspberryp4-installer.nix new file mode 100644 index 00000000000..8f2715569be --- /dev/null +++ b/nixos/modules/installer/sd-card/sd-image-raspberryp4-installer.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ../../profiles/installation-device.nix + ./sd-image-raspberrypi4.nix + ]; +} diff --git a/nixos/modules/installer/sd-card/sd-image-raspberrypi-installer.nix b/nixos/modules/installer/sd-card/sd-image-raspberrypi-installer.nix new file mode 100644 index 00000000000..6bfbeb3cfcd --- /dev/null +++ b/nixos/modules/installer/sd-card/sd-image-raspberrypi-installer.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ../../profiles/installation-device.nix + ./sd-image-raspberrypi.nix + ]; +} diff --git a/nixos/modules/installer/sd-card/sd-image-raspberrypi.nix b/nixos/modules/installer/sd-card/sd-image-raspberrypi.nix index 40a01f96177..d16d2d0fa28 100644 --- a/nixos/modules/installer/sd-card/sd-image-raspberrypi.nix +++ b/nixos/modules/installer/sd-card/sd-image-raspberrypi.nix @@ -5,7 +5,6 @@ { imports = [ ../../profiles/base.nix - ../../profiles/installation-device.nix ./sd-image.nix ]; From 481f68f1a58df48003ccfb2a5aac381e209f6324 Mon Sep 17 00:00:00 2001 From: David Arnold Date: Tue, 2 Feb 2021 16:03:20 -0500 Subject: [PATCH 10/17] installer: add back-compat files for sd-card image folder move --- .../modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix | 5 +++++ nixos/modules/installer/cd-dvd/sd-image-aarch64.nix | 5 +++++ .../installer/cd-dvd/sd-image-armv7l-multiplatform.nix | 5 +++++ nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix | 5 +++++ nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix | 5 +++++ nixos/modules/installer/cd-dvd/sd-image.nix | 5 +++++ 6 files changed, 30 insertions(+) create mode 100644 nixos/modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix create mode 100644 nixos/modules/installer/cd-dvd/sd-image-aarch64.nix create mode 100644 nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix create mode 100644 nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix create mode 100644 nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix create mode 100644 nixos/modules/installer/cd-dvd/sd-image.nix diff --git a/nixos/modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix b/nixos/modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix new file mode 100644 index 00000000000..923c775c17a --- /dev/null +++ b/nixos/modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ../sd-card/sd-image-aarch64-new-kernel-installer.nix + ]; +} diff --git a/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix b/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix new file mode 100644 index 00000000000..b2062801021 --- /dev/null +++ b/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ../sd-card/sd-image-aarch64-installer.nix + ]; +} diff --git a/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix b/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix new file mode 100644 index 00000000000..15ddf0ad23b --- /dev/null +++ b/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ../sd-card/sd-image-armv7l-multiplatform-installer.nix + ]; +} diff --git a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix new file mode 100644 index 00000000000..3a67546a50f --- /dev/null +++ b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ../sd-card/sd-image-raspberrypi-installer.nix + ]; +} diff --git a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix new file mode 100644 index 00000000000..e57bc37a45d --- /dev/null +++ b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ../sd-card/sd-image-raspberrypi4-installer.nix + ]; +} diff --git a/nixos/modules/installer/cd-dvd/sd-image.nix b/nixos/modules/installer/cd-dvd/sd-image.nix new file mode 100644 index 00000000000..aca446d097d --- /dev/null +++ b/nixos/modules/installer/cd-dvd/sd-image.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ../sd-card/sd-image.nix + ]; +} From 1009c09b4f6de5b13dcec246b7ef37afca3cf47b Mon Sep 17 00:00:00 2001 From: David Arnold Date: Tue, 2 Feb 2021 16:14:06 -0500 Subject: [PATCH 11/17] installer: amend release with sd-card file move --- nixos/release.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/nixos/release.nix b/nixos/release.nix index 109747945f7..327a259de7f 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -171,23 +171,23 @@ in rec { sd_image = forMatchingSystems [ "armv6l-linux" "armv7l-linux" "aarch64-linux" ] (system: makeSdImage { module = { - armv6l-linux = ./modules/installer/cd-dvd/sd-image-raspberrypi.nix; - armv7l-linux = ./modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix; - aarch64-linux = ./modules/installer/cd-dvd/sd-image-aarch64.nix; + armv6l-linux = ./modules/installer/sd-card/sd-image-raspberrypi-installer.nix; + armv7l-linux = ./modules/installer/sd-card/sd-image-armv7l-multiplatform-installer.nix; + aarch64-linux = ./modules/installer/sd-card/sd-image-aarch64-installer.nix; }.${system}; inherit system; }); sd_image_new_kernel = forMatchingSystems [ "aarch64-linux" ] (system: makeSdImage { module = { - aarch64-linux = ./modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix; + aarch64-linux = ./modules/installer/sd-card/sd-image-aarch64-new-kernel-installer.nix; }.${system}; type = "minimal-new-kernel"; inherit system; }); sd_image_raspberrypi4 = forMatchingSystems [ "aarch64-linux" ] (system: makeSdImage { - module = ./modules/installer/cd-dvd/sd-image-raspberrypi4.nix; + module = ./modules/installer/sd-card/sd-image-raspberrypi4-installer.nix; inherit system; }); From 68afbf9d6385032be9fc368dbfa4ad4ba2cc45e0 Mon Sep 17 00:00:00 2001 From: David Arnold Date: Tue, 2 Feb 2021 17:40:46 -0500 Subject: [PATCH 12/17] installer: add deprecation warning about sd-card file move --- .../installer/cd-dvd/sd-image-aarch64-new-kernel.nix | 9 +++++++++ nixos/modules/installer/cd-dvd/sd-image-aarch64.nix | 9 +++++++++ .../installer/cd-dvd/sd-image-armv7l-multiplatform.nix | 9 +++++++++ nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix | 9 +++++++++ nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix | 9 +++++++++ nixos/modules/installer/cd-dvd/sd-image.nix | 9 +++++++++ 6 files changed, 54 insertions(+) diff --git a/nixos/modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix b/nixos/modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix index 923c775c17a..a669d61571f 100644 --- a/nixos/modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix +++ b/nixos/modules/installer/cd-dvd/sd-image-aarch64-new-kernel.nix @@ -1,5 +1,14 @@ +{ config, ... }: { imports = [ ../sd-card/sd-image-aarch64-new-kernel-installer.nix ]; + config = { + warnings = [ + '' + .../cd-dvd/sd-image-aarch64-new-kernel.nix is deprecated and will eventually be removed. + Please switch to .../sd-card/sd-image-aarch64-new-kernel-installer.nix, instead. + '' + ]; + }; } diff --git a/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix b/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix index b2062801021..76c1509b8f7 100644 --- a/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix +++ b/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix @@ -1,5 +1,14 @@ +{ config, ... }: { imports = [ ../sd-card/sd-image-aarch64-installer.nix ]; + config = { + warnings = [ + '' + .../cd-dvd/sd-image-aarch64.nix is deprecated and will eventually be removed. + Please switch to .../sd-card/sd-image-aarch64-installer.nix, instead. + '' + ]; + }; } diff --git a/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix b/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix index 15ddf0ad23b..6ee0eb9e9b8 100644 --- a/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix +++ b/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix @@ -1,5 +1,14 @@ +{ config, ... }: { imports = [ ../sd-card/sd-image-armv7l-multiplatform-installer.nix ]; + config = { + warnings = [ + '' + .../cd-dvd/sd-image-armv7l-multiplatform.nix is deprecated and will eventually be removed. + Please switch to .../sd-card/sd-image-armv7l-multiplatform-installer.nix, instead. + '' + ]; + }; } diff --git a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix index 3a67546a50f..747440ba9c6 100644 --- a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix +++ b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi.nix @@ -1,5 +1,14 @@ +{ config, ... }: { imports = [ ../sd-card/sd-image-raspberrypi-installer.nix ]; + config = { + warnings = [ + '' + .../cd-dvd/sd-image-raspberrypi.nix is deprecated and will eventually be removed. + Please switch to .../sd-card/sd-image-raspberrypi-installer.nix, instead. + '' + ]; + }; } diff --git a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix index e57bc37a45d..79db1fa29bc 100644 --- a/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix +++ b/nixos/modules/installer/cd-dvd/sd-image-raspberrypi4.nix @@ -1,5 +1,14 @@ +{ config, ... }: { imports = [ ../sd-card/sd-image-raspberrypi4-installer.nix ]; + config = { + warnings = [ + '' + .../cd-dvd/sd-image-raspberrypi4.nix is deprecated and will eventually be removed. + Please switch to .../sd-card/sd-image-raspberrypi4-installer.nix, instead. + '' + ]; + }; } diff --git a/nixos/modules/installer/cd-dvd/sd-image.nix b/nixos/modules/installer/cd-dvd/sd-image.nix index aca446d097d..e2d6dcb3fe3 100644 --- a/nixos/modules/installer/cd-dvd/sd-image.nix +++ b/nixos/modules/installer/cd-dvd/sd-image.nix @@ -1,5 +1,14 @@ +{ config, ... }: { imports = [ ../sd-card/sd-image.nix ]; + config = { + warnings = [ + '' + .../cd-dvd/sd-image.nix is deprecated and will eventually be removed. + Please switch to .../sd-card/sd-image.nix, instead. + '' + ]; + }; } From 862481560c3c9e5c4a7101cfb5b4dfb21c6c01a6 Mon Sep 17 00:00:00 2001 From: Julien Moutinho Date: Sun, 21 Feb 2021 14:53:54 +0100 Subject: [PATCH 13/17] nixos/dnscrypt-proxy2: reallow @sync syscalls --- nixos/modules/services/networking/dnscrypt-proxy2.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/nixos/modules/services/networking/dnscrypt-proxy2.nix b/nixos/modules/services/networking/dnscrypt-proxy2.nix index afc2a6d1c75..72965c267a8 100644 --- a/nixos/modules/services/networking/dnscrypt-proxy2.nix +++ b/nixos/modules/services/networking/dnscrypt-proxy2.nix @@ -113,7 +113,6 @@ in "~@memlock" "~@resources" "~@setuid" - "~@sync" "~@timer" ]; }; From 2f96b9a7b4c083edf79374ceb9d61b5816648276 Mon Sep 17 00:00:00 2001 From: sternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org> Date: Sat, 20 Feb 2021 15:57:09 +0100 Subject: [PATCH 14/17] ocamlPackages.qcheck*: 0.16 -> 0.17 * New exposed function, bug fixes: https://github.com/c-cube/qcheck/blob/0.17/CHANGELOG.md#017 * Fix a too liberal testing range causing an integer overflow in stdint which for some reason only qcheck 0.17 and not 0.16 seems to find --- pkgs/development/ocaml-modules/qcheck/core.nix | 4 ++-- pkgs/development/ocaml-modules/stdint/default.nix | 10 +++++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/pkgs/development/ocaml-modules/qcheck/core.nix b/pkgs/development/ocaml-modules/qcheck/core.nix index 03de70237a4..e1b3503b541 100644 --- a/pkgs/development/ocaml-modules/qcheck/core.nix +++ b/pkgs/development/ocaml-modules/qcheck/core.nix @@ -2,7 +2,7 @@ buildDunePackage rec { pname = "qcheck-core"; - version = "0.16"; + version = "0.17"; useDune2 = true; @@ -12,7 +12,7 @@ buildDunePackage rec { owner = "c-cube"; repo = "qcheck"; rev = version; - sha256 = "1s5dpqj8zvd3wr2w3fp4wb6yc57snjpxzzfv9fb6l9qgigswwjdr"; + sha256 = "0qfyqhfg98spmfci9z6f527a16gwjnx2lrbbgw67p37ys5acrfar"; }; meta = { diff --git a/pkgs/development/ocaml-modules/stdint/default.nix b/pkgs/development/ocaml-modules/stdint/default.nix index c849ffee479..52d97e12998 100644 --- a/pkgs/development/ocaml-modules/stdint/default.nix +++ b/pkgs/development/ocaml-modules/stdint/default.nix @@ -21,14 +21,18 @@ buildDunePackage rec { }) ]; - # disable remaining broken tests, see - # https://github.com/andrenth/ocaml-stdint/issues/59 + # 1. disable remaining broken tests, see + # https://github.com/andrenth/ocaml-stdint/issues/59 + # 2. fix tests to liberal test range + # https://github.com/andrenth/ocaml-stdint/pull/61 postPatch = '' substituteInPlace tests/stdint_test.ml \ --replace 'test "An integer should perform left-shifts correctly"' \ 'skip "An integer should perform left-shifts correctly"' \ --replace 'test "Logical shifts must not sign-extend"' \ - 'skip "Logical shifts must not sign-extend"' + 'skip "Logical shifts must not sign-extend"' \ + --replace 'let pos_int = QCheck.map_same_type abs in_range' \ + 'let pos_int = QCheck.int_range 0 maxi' ''; doCheck = true; From 1ee875ce6840c5e7ea22e2229dcb741bbf4fa00d Mon Sep 17 00:00:00 2001 From: Malte Brandy Date: Sun, 21 Feb 2021 17:43:00 +0100 Subject: [PATCH 15/17] nix-output-monitor: 1.0.1.0 -> 1.0.1.1 --- pkgs/tools/nix/nix-output-monitor/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/nix/nix-output-monitor/default.nix b/pkgs/tools/nix/nix-output-monitor/default.nix index 1aa6117c295..f3b080938eb 100644 --- a/pkgs/tools/nix/nix-output-monitor/default.nix +++ b/pkgs/tools/nix/nix-output-monitor/default.nix @@ -4,12 +4,12 @@ }: mkDerivation { pname = "nix-output-monitor"; - version = "1.0.1.0"; + version = "1.0.1.1"; src = fetchFromGitHub { owner = "maralorn"; repo = "nix-output-monitor"; - sha256 = "10a3sn5isdb9q13yzdclng35jwfaf4lxrkdxwbhwms1k2ll08qk6"; - rev = "1.0.1.0"; + sha256 = "1wi1gsl5q1sy7k6k5wxhwpwzki7rghhbsyzm84hnw6h93w6401ax"; + rev = "v1.0.1.1"; }; isLibrary = true; isExecutable = true; From c2eadf214830b025efc33120351c1f0c167deabe Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Thu, 18 Feb 2021 10:03:30 +0000 Subject: [PATCH 16/17] jwt-cli: 3.3.0 -> 4.0.0 --- pkgs/tools/security/jwt-cli/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/security/jwt-cli/default.nix b/pkgs/tools/security/jwt-cli/default.nix index 6b4639a5307..0b3a94d816b 100644 --- a/pkgs/tools/security/jwt-cli/default.nix +++ b/pkgs/tools/security/jwt-cli/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "jwt-cli"; - version = "3.3.0"; + version = "4.0.0"; src = fetchFromGitHub { owner = "mike-engel"; repo = pname; rev = version; - sha256 = "09zi55ffkhsckvqj84xnxn9bgfkrj9wnzqbh9hfsxzbk4xy7fc2h"; + sha256 = "sha256-82Le0kdt/fnSQwsRRYHy4Jv9rsCPGf5dIWmoZE2cPxY="; }; - cargoSha256 = "1k13pw202fr5mvd0ys39n3dxwcl3sd01j6izfb28k06b6pav3wc8"; + cargoSha256 = "sha256-nk4nrsePiUirVPoOPehCOf5ZoGVj3jy7PnSZENnpcaM="; buildInputs = lib.optional stdenv.isDarwin Security; From a4d916ace393939e42d66cb2b187d33202bec49b Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Sun, 21 Feb 2021 01:36:54 +0000 Subject: [PATCH 17/17] nushell: 0.27.0 -> 0.27.1 --- pkgs/shells/nushell/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/shells/nushell/default.nix b/pkgs/shells/nushell/default.nix index 804fea0102f..5b0ba490bf5 100644 --- a/pkgs/shells/nushell/default.nix +++ b/pkgs/shells/nushell/default.nix @@ -15,16 +15,16 @@ rustPlatform.buildRustPackage rec { pname = "nushell"; - version = "0.27.0"; + version = "0.27.1"; src = fetchFromGitHub { owner = pname; repo = pname; rev = version; - sha256 = "sha256-OesIOL5jn5a3yvOSayMXmZQK9XpYxspOvDvZ6OY5JD4="; + sha256 = "sha256-Ms3ofPU7pd1qOxTJ7jImT2DawTcFLeI7Fi+xihsWhKY="; }; - cargoSha256 = "sha256-YFtpg5IXhWJmBtX79MIBme4SKOoq+13UakvAJnTzJFo="; + cargoSha256 = "sha256-cJ+P/AaptZGOyjIu+66M1/rMYpVPFZGQDPeakUws3CQ="; nativeBuildInputs = [ pkg-config ] ++ lib.optionals (withStableFeatures && stdenv.isLinux) [ python3 ];