From f4208fe9f91ece19e4ecfe040400bb245d26c408 Mon Sep 17 00:00:00 2001 From: Edmund Wu Date: Wed, 8 Apr 2020 17:04:57 -0400 Subject: [PATCH 01/15] nixos/plymouth: use upstream defaults https://gitlab.freedesktop.org/plymouth/plymouth/-/issues/101 https://gitlab.freedesktop.org/plymouth/plymouth/-/blob/75204a2517658c01bd1d39f2dff845512c9cab12/src/plymouthd.defaults --- nixos/modules/system/boot/plymouth.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/system/boot/plymouth.nix b/nixos/modules/system/boot/plymouth.nix index ef916899944..f16ff26a672 100644 --- a/nixos/modules/system/boot/plymouth.nix +++ b/nixos/modules/system/boot/plymouth.nix @@ -24,6 +24,7 @@ let configFile = pkgs.writeText "plymouthd.conf" '' [Daemon] ShowDelay=0 + DeviceTimeout=8 Theme=${cfg.theme} ${cfg.extraConfig} ''; From dd8805658ec27ef62e1b0a31ce0fb16f59f9df6d Mon Sep 17 00:00:00 2001 From: WORLDofPEACE Date: Sun, 21 Feb 2021 16:03:54 -0500 Subject: [PATCH 02/15] plymouth: 0.9.4 -> 2020-12-07 * default to bgrt * don't use KillMode=none https://gitlab.freedesktop.org/plymouth/plymouth/-/issues/123 * multiple outputs * fix spinfinity logo file --- pkgs/os-specific/linux/plymouth/default.nix | 111 ++++++++++++++------ 1 file changed, 79 insertions(+), 32 deletions(-) diff --git a/pkgs/os-specific/linux/plymouth/default.nix b/pkgs/os-specific/linux/plymouth/default.nix index c167b202c8d..8cb2a00987e 100644 --- a/pkgs/os-specific/linux/plymouth/default.nix +++ b/pkgs/os-specific/linux/plymouth/default.nix @@ -1,64 +1,111 @@ -{ stdenv, fetchurl, autoreconfHook, pkg-config, libxslt, docbook_xsl -, gtk3, udev, systemd, lib +{ lib +, stdenv +, fetchpatch +, fetchFromGitLab +, pkg-config +, autoreconfHook +, libxslt +, docbook-xsl-nons +, gettext +, gtk3 +, systemd +, pango +, cairo +, libdrm }: stdenv.mkDerivation rec { - pname = "plymouth"; - version = "0.9.4"; + pname = "plymouth-unstable"; + version = "2020-12-07"; - src = fetchurl { - url = "https://www.freedesktop.org/software/plymouth/releases/${pname}-${version}.tar.xz"; - sha256 = "0l8kg7b2vfxgz9gnrn0v2w4jvysj2cirp0nxads5sy05397pl6aa"; + outputs = [ + "out" + "dev" + ]; + + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + owner = "plymouth"; + repo = "plymouth"; + rev = "c4ced2a2d70edea7fbb95274aa1d01d95928df1b"; + sha256 = "7CPuKMA0fTt8DBsaA4Td74kHT/O7PW8N3awP04nUnOI="; }; nativeBuildInputs = [ - autoreconfHook pkg-config libxslt docbook_xsl + autoreconfHook + docbook-xsl-nons + gettext + libxslt + pkg-config ]; buildInputs = [ - gtk3 udev systemd + cairo + gtk3 + libdrm + pango + systemd + ]; + + patches = [ + # KillMode=none is deprecated + # https://gitlab.freedesktop.org/plymouth/plymouth/-/issues/123 + (fetchpatch { + url = "https://gitlab.freedesktop.org/plymouth/plymouth/-/commit/b406b0895a95949db2adfedaeda451f36f2b51c3.patch"; + sha256 = "/UBImNuFO0G/oxlttjGIXon8YXMXlc9XU8uVuR9QuxY="; + }) ]; postPatch = '' sed -i \ - -e "s#\$(\$PKG_CONFIG --variable=systemdsystemunitdir systemd)#$out/etc/systemd/system#g" \ -e "s#plymouthplugindir=.*#plymouthplugindir=/etc/plymouth/plugins/#" \ -e "s#plymouththemedir=.*#plymouththemedir=/etc/plymouth/themes#" \ -e "s#plymouthpolicydir=.*#plymouthpolicydir=/etc/plymouth/#" \ + -e "s#plymouthconfdir=.*#plymouthconfdir=/etc/plymouth/#" \ configure.ac ''; + configurePlatforms = [ "host" ]; + configureFlags = [ - "--sysconfdir=/etc" - "--with-systemdunitdir=${placeholder "out"}/etc/systemd/system" - "--localstatedir=/var" - "--with-logo=/etc/plymouth/logo.png" - "--with-background-color=0x000000" - "--with-background-start-color-stop=0x000000" - "--with-background-end-color-stop=0x000000" - "--with-release-file=/etc/os-release" - "--without-system-root-install" - "--without-rhgb-compat-link" - "--enable-tracing" - "--enable-systemd-integration" - "--enable-pango" - "--enable-gdm-transition" + "--enable-documentation" + "--enable-drm" "--enable-gtk" + "--enable-pango" + "--enable-systemd-integration" + "--enable-tracing" + "--localstatedir=/var" + "--sysconfdir=/etc" + "--with-background-color=0x000000" + "--with-background-end-color-stop=0x000000" + "--with-background-start-color-stop=0x000000" + "--with-logo=/etc/plymouth/logo.png" + "--with-release-file=/etc/os-release" + "--with-runtimedir=/run" + "--with-systemdunitdir=${placeholder "out"}/etc/systemd/system" + "--without-rhgb-compat-link" + "--without-system-root-install" "ac_cv_path_SYSTEMD_ASK_PASSWORD_AGENT=${lib.getBin systemd}/bin/systemd-tty-ask-password-agent" ]; - configurePlatforms = [ "host" ]; - installFlags = [ - "plymouthd_defaultsdir=$(out)/share/plymouth" - "plymouthd_confdir=$(out)/etc/plymouth" + "localstatedir=\${TMPDIR}" + "plymouthd_confdir=${placeholder "out"}/etc/plymouth" + "plymouthd_defaultsdir=${placeholder "out"}/share/plymouth" + "sysconfdir=${placeholder "out"}/etc" ]; + postInstall = '' + # Makes a symlink to /usr/share/pixmaps/system-logo-white.png + # We'll handle it in the nixos module. + rm $out/share/plymouth/themes/spinfinity/header-image.png + ''; + meta = with lib; { - homepage = "http://www.freedesktop.org/wiki/Software/Plymouth"; - description = "A graphical boot animation"; - license = licenses.gpl2; - maintainers = [ maintainers.goibhniu ]; + homepage = "https://www.freedesktop.org/wiki/Software/Plymouth/"; + description = "Boot splash and boot logger"; + license = licenses.gpl2Plus; + maintainers = [ maintainers.goibhniu teams.gnome.members ]; platforms = platforms.linux; }; } From 726dd9804ef249d8d20832e37b9e52caf340c534 Mon Sep 17 00:00:00 2001 From: WORLDofPEACE Date: Mon, 22 Feb 2021 07:35:00 -0500 Subject: [PATCH 03/15] nixos/plymouth: exit on missing theme Much better to provide a helpful message than to get an obscure sed message. --- nixos/modules/system/boot/plymouth.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/nixos/modules/system/boot/plymouth.nix b/nixos/modules/system/boot/plymouth.nix index f16ff26a672..554e8bf375d 100644 --- a/nixos/modules/system/boot/plymouth.nix +++ b/nixos/modules/system/boot/plymouth.nix @@ -118,6 +118,12 @@ in copy_bin_and_libs ${pkgs.plymouth}/bin/plymouthd copy_bin_and_libs ${pkgs.plymouth}/bin/plymouth + # Check if the actual requested theme is here + if [[ ! -d ${themesEnv}/share/plymouth/themes/${cfg.theme} ]]; then + echo "The requested theme: ${cfg.theme} is not provided by any of the packages in boot.plymouth.themePackages" + exit 1 + fi + moduleName="$(sed -n 's,ModuleName *= *,,p' ${themesEnv}/share/plymouth/themes/${cfg.theme}/${cfg.theme}.plymouth)" mkdir -p $out/lib/plymouth/renderers From 6bd4f9a3c5f4c814f3d0eac5f89deacc97fbb360 Mon Sep 17 00:00:00 2001 From: WORLDofPEACE Date: Mon, 22 Feb 2021 07:40:00 -0500 Subject: [PATCH 04/15] nixos/plymouth: use bgrt theme The BGRT theme is probably a close as to "FlickerFree" we can get without https://github.com/NixOS/nixpkgs/pull/74842. It's more agnostic than the Breeze theme. We also install all of themes provided by the packages, as it's possible that one theme needs the ImageDir of another, and they're small files anyways. Lastly, how plymouth handles logo and header files is a total mess, so hopefully when they have an actual release we won't need to do all this symlinking. --- nixos/modules/system/boot/plymouth.nix | 57 +++++++++++++++++++------- 1 file changed, 43 insertions(+), 14 deletions(-) diff --git a/nixos/modules/system/boot/plymouth.nix b/nixos/modules/system/boot/plymouth.nix index 554e8bf375d..35af20030cd 100644 --- a/nixos/modules/system/boot/plymouth.nix +++ b/nixos/modules/system/boot/plymouth.nix @@ -4,8 +4,7 @@ with lib; let - inherit (pkgs) plymouth; - inherit (pkgs) nixos-icons; + inherit (pkgs) plymouth nixos-icons; cfg = config.boot.plymouth; @@ -16,9 +15,31 @@ let osVersion = config.system.nixos.release; }; + plymouthLogos = pkgs.runCommand "plymouth-logos" { inherit (cfg) logo; } '' + mkdir -p $out + + # For themes that are compiled with PLYMOUTH_LOGO_FILE + mkdir -p $out/etc/plymouth + ln -s $logo $out/etc/plymouth/logo.png + + # Logo for bgrt theme + # Note this is technically an abuse of watermark for the bgrt theme + # See: https://gitlab.freedesktop.org/plymouth/plymouth/-/issues/95#note_813768 + mkdir -p $out/share/plymouth/themes/spinner + ln -s $logo $out/share/plymouth/themes/spinner/watermark.png + + # Logo for spinfinity theme + # See: https://gitlab.freedesktop.org/plymouth/plymouth/-/issues/106 + mkdir -p $out/share/plymouth/themes/spinfinity + ln -s $logo $out/share/plymouth/themes/spinfinity/header-image.png + ''; + themesEnv = pkgs.buildEnv { name = "plymouth-themes"; - paths = [ plymouth ] ++ cfg.themePackages; + paths = [ + plymouth + plymouthLogos + ] ++ cfg.themePackages; }; configFile = pkgs.writeText "plymouthd.conf" '' @@ -48,7 +69,7 @@ in }; themePackages = mkOption { - default = [ nixosBreezePlymouth ]; + default = lib.optional (cfg.theme == "breeze") nixosBreezePlymouth; type = types.listOf types.package; description = '' Extra theme packages for plymouth. @@ -56,7 +77,7 @@ in }; theme = mkOption { - default = "breeze"; + default = "bgrt"; type = types.str; description = '' Splash screen theme. @@ -111,12 +132,12 @@ in systemd.services.plymouth-poweroff.wantedBy = [ "poweroff.target" ]; systemd.services.plymouth-reboot.wantedBy = [ "reboot.target" ]; systemd.services.plymouth-read-write.wantedBy = [ "sysinit.target" ]; - systemd.services.systemd-ask-password-plymouth.wantedBy = ["multi-user.target"]; - systemd.paths.systemd-ask-password-plymouth.wantedBy = ["multi-user.target"]; + systemd.services.systemd-ask-password-plymouth.wantedBy = [ "multi-user.target" ]; + systemd.paths.systemd-ask-password-plymouth.wantedBy = [ "multi-user.target" ]; boot.initrd.extraUtilsCommands = '' - copy_bin_and_libs ${pkgs.plymouth}/bin/plymouthd - copy_bin_and_libs ${pkgs.plymouth}/bin/plymouth + copy_bin_and_libs ${plymouth}/bin/plymouth + copy_bin_and_libs ${plymouth}/bin/plymouthd # Check if the actual requested theme is here if [[ ! -d ${themesEnv}/share/plymouth/themes/${cfg.theme} ]]; then @@ -134,21 +155,29 @@ in mkdir -p $out/share/plymouth/themes cp ${plymouth}/share/plymouth/plymouthd.defaults $out/share/plymouth - # copy themes into working directory for patching + # Copy themes into working directory for patching mkdir themes - # use -L to copy the directories proper, not the symlinks to them - cp -r -L ${themesEnv}/share/plymouth/themes/{text,details,${cfg.theme}} themes - # patch out any attempted references to the theme or plymouth's themes directory + # Use -L to copy the directories proper, not the symlinks to them. + # Copy all themes because they're not large assets, and bgrt depends on the ImageDir of + # the spinner theme. + cp -r -L ${themesEnv}/share/plymouth/themes/* themes + + # Patch out any attempted references to the theme or plymouth's themes directory chmod -R +w themes find themes -type f | while read file do sed -i "s,/nix/.*/share/plymouth/themes,$out/share/plymouth/themes,g" $file done + # Install themes cp -r themes/* $out/share/plymouth/themes - cp ${cfg.logo} $out/share/plymouth/logo.png + # Install logo + mkdir -p $out/etc/plymouth + cp -r -L ${themesEnv}/etc/plymouth $out + + # Setup font mkdir -p $out/share/fonts cp ${cfg.font} $out/share/fonts mkdir -p $out/etc/fonts From 9e84dc00b00748abdad66812c2464fac189bad44 Mon Sep 17 00:00:00 2001 From: WORLDofPEACE Date: Thu, 25 Feb 2021 13:50:04 -0500 Subject: [PATCH 05/15] nixos/plymouth: use white nixos logo This looks cohesive with the spinner in the bgrt theme. --- nixos/modules/system/boot/plymouth.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nixos/modules/system/boot/plymouth.nix b/nixos/modules/system/boot/plymouth.nix index 35af20030cd..2a545e55251 100644 --- a/nixos/modules/system/boot/plymouth.nix +++ b/nixos/modules/system/boot/plymouth.nix @@ -86,7 +86,8 @@ in logo = mkOption { type = types.path; - default = "${nixos-icons}/share/icons/hicolor/128x128/apps/nix-snowflake.png"; + # Dimensions are 48x48 to match GDM logo + default = "${nixos-icons}/share/icons/hicolor/48x48/apps/nix-snowflake-white.png"; defaultText = ''pkgs.fetchurl { url = "https://nixos.org/logo/nixos-hires.png"; sha256 = "1ivzgd7iz0i06y36p8m5w48fd8pjqwxhdaavc0pxs7w1g7mcy5si"; From 548cba4ab5495404d7451f2c5be34f5aff9be560 Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Wed, 3 Mar 2021 23:25:18 -0300 Subject: [PATCH 06/15] icewm: cleanup --- .../window-managers/icewm/default.nix | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/window-managers/icewm/default.nix b/pkgs/applications/window-managers/icewm/default.nix index 571c13e9461..8f1a920296a 100644 --- a/pkgs/applications/window-managers/icewm/default.nix +++ b/pkgs/applications/window-managers/icewm/default.nix @@ -1,8 +1,8 @@ -{ lib, stdenv +{ lib +, stdenv , fetchFromGitHub , cmake , pkg-config -, perl , asciidoc , expat , fontconfig @@ -34,21 +34,26 @@ , libxcb , mkfontdir , pcre +, perl }: stdenv.mkDerivation rec { pname = "icewm"; - version = "2.1.2"; + version = "2.2.0"; src = fetchFromGitHub { owner = "bbidulock"; repo = pname; rev = version; - sha256 = "sha256-n9mLD1WrHsO9W1rxopFQENxQEHp/sxuixV3PxLp2vOY="; + hash = "sha256-STM8t311lf0xIqs2Onmwg48xgE7V9VZrUfJrUzYRxL4="; }; - nativeBuildInputs = [ cmake pkg-config perl asciidoc ]; - + nativeBuildInputs = [ + asciidoc + cmake + perl + pkg-config + ]; buildInputs = [ expat fontconfig @@ -90,6 +95,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { + homepage = "https://www.ice-wm.org/"; description = "A simple, lightweight X window manager"; longDescription = '' IceWM is a window manager for the X Window System. The goal of IceWM is @@ -104,8 +110,7 @@ stdenv.mkDerivation rec { includes an optional external background wallpaper manager with transparency support, a simple session manager and a system tray. ''; - homepage = "https://www.ice-wm.org/"; - license = licenses.lgpl2; + license = licenses.lgpl2Only; maintainers = [ maintainers.AndersonTorres ]; platforms = platforms.linux; }; From 5f935b5625b9d5decaf2018830c6c43b9d1045c2 Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Wed, 3 Mar 2021 15:47:24 -0300 Subject: [PATCH 07/15] librep: cleanup --- pkgs/development/libraries/librep/default.nix | 50 ++++++++++++------- 1 file changed, 31 insertions(+), 19 deletions(-) diff --git a/pkgs/development/libraries/librep/default.nix b/pkgs/development/libraries/librep/default.nix index 74c45f00adc..cd007c5fe57 100644 --- a/pkgs/development/libraries/librep/default.nix +++ b/pkgs/development/libraries/librep/default.nix @@ -1,37 +1,49 @@ -{ lib, stdenv, fetchurl -, pkg-config, autoreconfHook -, readline, texinfo -, gdbm, gmp, libffi }: - -with lib; +{ lib +, stdenv +, fetchurl +, autoreconfHook +, gdbm +, gmp +, libffi +, pkg-config +, readline +, texinfo +}: stdenv.mkDerivation rec { pname = "librep"; version = "0.92.7"; - sourceName = "librep_${version}"; src = fetchurl { - url = "https://download.tuxfamily.org/librep/${sourceName}.tar.xz"; + url = "https://download.tuxfamily.org/${pname}/${pname}_${version}.tar.xz"; sha256 = "1bmcjl1x1rdh514q9z3hzyjmjmwwwkziipjpjsl301bwmiwrd8a8"; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ readline texinfo ]; - propagatedBuildInputs = [ gdbm gmp libffi ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + texinfo + ]; + buildInputs = [ + gdbm + gmp + libffi + readline + ]; setupHook = ./setup-hook.sh; - meta = { + meta = with lib;{ + homepage = "http://sawfish.tuxfamily.org/"; description = "Fast, lightweight, and versatile Lisp environment"; longDescription = '' - librep is a Lisp system for UNIX, comprising an - interpreter, a byte-code compiler, and a virtual - machine. It can serve as an application extension language - but is also suitable for standalone scripts. - ''; - homepage = "http://sawfish.wikia.com"; - license = licenses.gpl2; + librep is a Lisp system for UNIX, comprising an interpreter, a byte-code + compiler, and a virtual machine. It can serve as an application extension + language but is also suitable for standalone scripts. + ''; + license = licenses.gpl2Plus; maintainers = [ maintainers.AndersonTorres ]; + platforms = platforms.unix; }; } # TODO: investigate fetchFromGithub From d8acd4dabe6e82c8d782dd3f58994e746baeb800 Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Wed, 3 Mar 2021 15:47:49 -0300 Subject: [PATCH 08/15] rep-gtk: cleanup --- .../development/libraries/rep-gtk/default.nix | 32 ++++++++++++------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/pkgs/development/libraries/rep-gtk/default.nix b/pkgs/development/libraries/rep-gtk/default.nix index 618c91421b6..433da05d088 100644 --- a/pkgs/development/libraries/rep-gtk/default.nix +++ b/pkgs/development/libraries/rep-gtk/default.nix @@ -1,30 +1,40 @@ -{ lib, stdenv, fetchurl, pkg-config, autoreconfHook, librep, gtk2 }: +{ lib +, stdenv +, fetchurl +, autoreconfHook +, gtk2 +, librep +, pkg-config +}: -with lib; stdenv.mkDerivation rec { - pname = "rep-gtk"; version = "0.90.8.3"; - sourceName = "rep-gtk_${version}"; src = fetchurl { - url = "https://download.tuxfamily.org/librep/rep-gtk/${sourceName}.tar.xz"; + url = "https://download.tuxfamily.org/librep/${pname}/${pname}_${version}.tar.xz"; sha256 = "0hgkkywm8zczir3lqr727bn7ybgg71x9cwj1av8fykkr8pdpard9"; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ ]; - propagatedBuildInputs = [ librep gtk2 ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + gtk2 + librep + ]; patchPhase = '' sed -e 's|installdir=$(repexecdir)|installdir=$(libdir)/rep|g' -i Makefile.in ''; - meta = { + meta = with lib; { + homepage = "http://sawfish.tuxfamily.org"; description = "GTK bindings for librep"; - homepage = "http://sawfish.wikia.com"; - license = licenses.gpl2; + license = licenses.gpl2Plus; maintainers = [ maintainers.AndersonTorres ]; + platforms = platforms.unix; }; } # TODO: investigate fetchFromGithub From 1a5a29b0165303f0f57a5d0b251743a426bab1d0 Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Tue, 2 Mar 2021 22:00:28 -0300 Subject: [PATCH 09/15] sawfish: cleanup A cleanup and reformatting. --- .../window-managers/sawfish/default.nix | 76 +++++++++++++------ 1 file changed, 51 insertions(+), 25 deletions(-) diff --git a/pkgs/applications/window-managers/sawfish/default.nix b/pkgs/applications/window-managers/sawfish/default.nix index 7615c6c4bd8..cb76f0c465c 100644 --- a/pkgs/applications/window-managers/sawfish/default.nix +++ b/pkgs/applications/window-managers/sawfish/default.nix @@ -1,20 +1,23 @@ -{ lib, stdenv +{ lib +, stdenv , fetchurl -, pkg-config -, which , autoreconfHook -, rep-gtk -, pango , gdk-pixbuf-xlib -, imlib , gettext -, texinfo +, gtk2 +, imlib +, libICE +, libSM , libXinerama , libXrandr , libXtst -, libICE -, libSM +, librep , makeWrapper +, pango +, pkg-config +, rep-gtk +, texinfo +, which }: stdenv.mkDerivation rec { @@ -26,20 +29,42 @@ stdenv.mkDerivation rec { sha256 = "18p8srqqj9vjffg13qhspfz2gr1h4vfs10qzlv89g76r289iam31"; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ which - rep-gtk pango gdk-pixbuf-xlib imlib gettext texinfo - libXinerama libXrandr libXtst libICE libSM - makeWrapper ]; + nativeBuildInputs = [ + autoreconfHook + gettext + librep + makeWrapper + pkg-config + texinfo + which + ]; + buildInputs = [ + gdk-pixbuf-xlib + gtk2 + imlib + libICE + libSM + libXinerama + libXrandr + libXtst + librep + pango + rep-gtk + ]; - patchPhase = '' + postPatch = '' sed -e 's|REP_DL_LOAD_PATH=|REP_DL_LOAD_PATH=$(REP_DL_LOAD_PATH):|g' -i Makedefs.in sed -e 's|$(repexecdir)|$(libdir)/rep|g' -i src/Makefile.in ''; + strictDeps = true; + postInstall = '' - for i in $out/lib/sawfish/sawfish-menu $out/bin/sawfish-about \ - $out/bin/sawfish-client $out/bin/sawfish-config $out/bin/sawfish; do + for i in $out/lib/sawfish/sawfish-menu \ + $out/bin/sawfish-about \ + $out/bin/sawfish-client \ + $out/bin/sawfish-config \ + $out/bin/sawfish; do wrapProgram $i \ --prefix REP_DL_LOAD_PATH : "$out/lib/rep" \ --set REP_LOAD_PATH "$out/share/sawfish/lisp" @@ -47,16 +72,17 @@ stdenv.mkDerivation rec { ''; meta = with lib; { + homepage = "http://sawfish.tuxfamily.org/"; description = "An extensible, Lisp-based window manager"; longDescription = '' - Sawfish is an extensible window manager using a Lisp-based scripting language. - Its policy is very minimal compared to most window managers. Its aim is simply - to manage windows in the most flexible and attractive manner possible. - All high-level WM functions are implemented in Lisp for future extensibility - or redefinition. + Sawfish is an extensible window manager using a Lisp-based scripting + language. Its policy is very minimal compared to most window managers. Its + aim is simply to manage windows in the most flexible and attractive manner + possible. All high-level WM functions are implemented in Lisp for future + extensibility or redefinition. ''; - homepage = "https://sawfish.fandom.com/wiki/Main_Page"; - license = licenses.gpl2; - maintainers = [ maintainers.AndersonTorres ]; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ AndersonTorres ]; + platforms = platforms.unix; }; } From 03f27fd63bcb16e5d01e6a574c57dac434a571bf Mon Sep 17 00:00:00 2001 From: TredwellGit Date: Thu, 4 Mar 2021 19:48:12 +0000 Subject: [PATCH 10/15] electron_9: 9.4.3 -> 9.4.4 https://github.com/electron/electron/releases/tag/v9.4.4 --- pkgs/development/tools/electron/default.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/development/tools/electron/default.nix b/pkgs/development/tools/electron/default.nix index 6ea866eb8f5..fedc8c3a0e0 100644 --- a/pkgs/development/tools/electron/default.nix +++ b/pkgs/development/tools/electron/default.nix @@ -76,13 +76,13 @@ rec { headers = "18frb1z5qkyff5z1w44mf4iz9aw9j4lq0h9yxgfnp33zf7sl9qb5"; }; - electron_9 = mkElectron "9.4.3" { - x86_64-linux = "7744ec8af6512e569d600d7fd8e9105d3ca5ac7b6f54390dd553edbd7816289f"; - x86_64-darwin = "68c67a32f149618d629eb4a8a8044b98dc6ceedc16d46ff20782fcccad72fc44"; - i686-linux = "904955ee8365b95439fb4643844ac868b59525ed230a76c8e0395c0aa5719813"; - armv7l-linux = "5cfb3ae97a75d33d4b102d75944610dd56a566ee98186a030eb5bdbbd3d76323"; - aarch64-linux = "8afa647e4b5b1e290d5d852c7420e82916ba740e3e5576599076dc139cd1d556"; - headers = "0712160j1yvl9fmj2vm9lznkwnmji1hjzyicb4vis52lbrwx820l"; + electron_9 = mkElectron "9.4.4" { + x86_64-linux = "781d6ca834d415c71078e1c2c198faba926d6fce19e31448bbf4450869135450"; + x86_64-darwin = "f41c0bf874ddbba00c3d6989d07f74155a236e2d5a3eaf3d1d19ef8d3eb2256c"; + i686-linux = "40e37f8f908a81c9fac1073fe22309cd6df2d68e685f83274c6d2f0959004187"; + armv7l-linux = "2dfe3e21d30526688cc3d3215d06dfddca597a2cb62ff0c9d0d5f33d3e464a33"; + aarch64-linux = "f1145e9a1feb5f2955e5f5565962423ac3c52ffe45ccc3b96c6ca485fa35bf27"; + headers = "0yx8mkrm15ha977hzh7g2sc5fab9sdvlk1bk3yxignhxrqqbw885"; }; electron_10 = mkElectron "10.4.0" { From 9683f30151a92cfce2d06e14b743dfe0bdd2a260 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 4 Mar 2021 20:52:25 +0100 Subject: [PATCH 11/15] python3Packages.faadelays: init at 0.0.6 --- .../python-modules/faadelays/default.nix | 30 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 32 insertions(+) create mode 100644 pkgs/development/python-modules/faadelays/default.nix diff --git a/pkgs/development/python-modules/faadelays/default.nix b/pkgs/development/python-modules/faadelays/default.nix new file mode 100644 index 00000000000..3175aabcae8 --- /dev/null +++ b/pkgs/development/python-modules/faadelays/default.nix @@ -0,0 +1,30 @@ +{ lib +, aiohttp +, buildPythonPackage +, fetchPypi +, pythonOlder +}: + +buildPythonPackage rec { + pname = "faadelays"; + version = "0.0.6"; + disabled = pythonOlder "3.6"; + + src = fetchPypi { + inherit pname version; + sha256 = "02z8p0n9d6n4l6v1m969009gxwmy5v14z108r4f3swd6yrk0h2xd"; + }; + + propagatedBuildInputs = [ aiohttp ]; + + # Project has no tests + doCheck = false; + pythonImportsCheck = [ "faadelays" ]; + + meta = with lib; { + description = "Python package to retrieve FAA airport status"; + homepage = "https://github.com/ntilley905/faadelays"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 16c06ad170b..5d872f7d587 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2173,6 +2173,8 @@ in { Fabric = callPackage ../development/python-modules/Fabric { }; + faadelays = callPackage ../development/python-modules/faadelays { }; + fabulous = callPackage ../development/python-modules/fabulous { }; facebook-sdk = callPackage ../development/python-modules/facebook-sdk { }; From 8f88e1358b3be1e894a1cecc97125af2bcf28d4c Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 4 Mar 2021 21:02:14 +0100 Subject: [PATCH 12/15] python3Packages.pymazda: init at 0.0.9 --- .../python-modules/pymazda/default.nix | 31 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 33 insertions(+) create mode 100644 pkgs/development/python-modules/pymazda/default.nix diff --git a/pkgs/development/python-modules/pymazda/default.nix b/pkgs/development/python-modules/pymazda/default.nix new file mode 100644 index 00000000000..145b405922d --- /dev/null +++ b/pkgs/development/python-modules/pymazda/default.nix @@ -0,0 +1,31 @@ +{ lib +, aiohttp +, buildPythonPackage +, fetchPypi +, pycryptodome +, pythonOlder +}: + +buildPythonPackage rec { + pname = "pymazda"; + version = "0.0.9"; + disabled = pythonOlder "3.6"; + + src = fetchPypi { + inherit pname version; + sha256 = "15kygabjlxmy3g5kj48ixqdwaz8qrfzxj8ii27cidsp2fq8ph165"; + }; + + propagatedBuildInputs = [ aiohttp pycryptodome ]; + + # Project has no tests + doCheck = false; + pythonImportsCheck = [ "pymazda" ]; + + meta = with lib; { + description = "Python client for interacting with the MyMazda API"; + homepage = "https://github.com/bdr99/pymazda"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 16c06ad170b..7948be744f8 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5718,6 +5718,8 @@ in { pymavlink = callPackage ../development/python-modules/pymavlink { }; + pymazda = callPackage ../development/python-modules/pymazda { }; + pymbolic = callPackage ../development/python-modules/pymbolic { }; pymc3 = callPackage ../development/python-modules/pymc3 { }; From 407e5f00f530d95855a2e03c17d30886542c0d03 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Thu, 4 Mar 2021 21:15:41 +0100 Subject: [PATCH 13/15] python3Packages.python-smarttub: init at 0.0.19 --- .../python-smarttub/default.nix | 47 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 49 insertions(+) create mode 100644 pkgs/development/python-modules/python-smarttub/default.nix diff --git a/pkgs/development/python-modules/python-smarttub/default.nix b/pkgs/development/python-modules/python-smarttub/default.nix new file mode 100644 index 00000000000..3e5889b9356 --- /dev/null +++ b/pkgs/development/python-modules/python-smarttub/default.nix @@ -0,0 +1,47 @@ +{ lib +, aiohttp +, aresponses +, buildPythonPackage +, fetchFromGitHub +, inflection +, pyjwt +, pytest-asyncio +, pytestCheckHook +, python-dateutil +, pythonOlder +}: + +buildPythonPackage rec { + pname = "python-smarttub"; + version = "0.0.19"; + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "mdz"; + repo = pname; + rev = "v${version}"; + sha256 = "01i4pvgvpl7inwhy53c6b34pi5zvfiv2scn507j8jdg5cjs04g80"; + }; + + propagatedBuildInputs = [ + aiohttp + inflection + pyjwt + python-dateutil + ]; + + checkInputs = [ + aresponses + pytest-asyncio + pytestCheckHook + ]; + + pythonImportsCheck = [ "smarttub" ]; + + meta = with lib; { + description = "Python API for SmartTub enabled hot tubs"; + homepage = "https://github.com/mdz/python-smarttub"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 16c06ad170b..877f2141a82 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6519,6 +6519,8 @@ in { python-slugify = callPackage ../development/python-modules/python-slugify { }; + python-smarttub = callPackage ../development/python-modules/python-smarttub { }; + python-snap7 = callPackage ../development/python-modules/python-snap7 { inherit (pkgs) snap7; }; From a8fde9c824ad085adb779736df542d67f256b875 Mon Sep 17 00:00:00 2001 From: TredwellGit Date: Thu, 4 Mar 2021 20:42:16 +0000 Subject: [PATCH 14/15] electron_12: init at 12.0.0 https://github.com/electron/electron/releases/tag/v12.0.0 --- pkgs/development/tools/electron/default.nix | 12 +++++++++++- pkgs/development/tools/electron/generic.nix | 2 ++ pkgs/top-level/all-packages.nix | 2 +- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/electron/default.nix b/pkgs/development/tools/electron/default.nix index 6ea866eb8f5..9f214cc1ce6 100644 --- a/pkgs/development/tools/electron/default.nix +++ b/pkgs/development/tools/electron/default.nix @@ -14,6 +14,7 @@ , mesa , libxkbcommon , libappindicator-gtk3 +, libxshmfence }@args: let @@ -21,7 +22,7 @@ let in rec { - electron = electron_11; + electron = electron_12; electron_3 = mkElectron "3.1.13" { x86_64-linux = "1psmbplz6jhnnf6hmfhxbmmhn4n1dpnhzbc12pxn645xhfpk9ark"; @@ -102,4 +103,13 @@ rec { aarch64-linux = "fad31c6fba7aba54db19a2aaedb03b514c51dd58bf301afab5265126833feb15"; headers = "123g3dgsb4vp8w1bm4apbp973ppzx4i4y35lhhmqjbp51jhrm9f0"; }; + + electron_12 = mkElectron "12.0.0" { + x86_64-linux = "d132a80e08500e783e36a25cb72bc2555ec388798326c22348e3d9ff57fa91f1"; + x86_64-darwin = "18546dec0ecc63d1a679762e00bc85fbb820e08f7ca205924681379bb0a7afc2"; + i686-linux = "79651836e857f8c860c6ad053346f7e2cf38351160845687b199faba113b9483"; + armv7l-linux = "e98eb2df69f240806e283018d4e0349a45b4cb5b6635d1e1c11d869e50cc60cb"; + aarch64-linux = "ea26777ffea5e788bb708814c8707e8ac3529146e7738729aa8bd49d0d74bcd1"; + headers = "0h7mkz7wmcf0jq8gmq21ag2ax5ivy2wlz0ykw7rv2r4l5686xdjr"; + }; } diff --git a/pkgs/development/tools/electron/generic.nix b/pkgs/development/tools/electron/generic.nix index e29064e673a..c60ab738aa4 100644 --- a/pkgs/development/tools/electron/generic.nix +++ b/pkgs/development/tools/electron/generic.nix @@ -14,6 +14,7 @@ , mesa , libxkbcommon , libappindicator-gtk3 +, libxshmfence }: version: hashes: @@ -60,6 +61,7 @@ let [ libuuid at-spi2-atk at-spi2-core libappindicator-gtk3 ] ++ optionals (! versionOlder version "9.0.0") [ libdrm mesa ] ++ optionals (! versionOlder version "11.0.0") [ libxkbcommon ] + ++ optionals (! versionOlder version "12.0.0") [ libxshmfence ] ); linux = { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 45802dd9f4e..a8342ed3170 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11850,7 +11850,7 @@ in aws-adfs = with python3Packages; toPythonApplication aws-adfs; inherit (callPackages ../development/tools/electron { }) - electron electron_3 electron_4 electron_5 electron_6 electron_7 electron_8 electron_9 electron_10 electron_11; + electron electron_3 electron_4 electron_5 electron_6 electron_7 electron_8 electron_9 electron_10 electron_11 electron_12; autobuild = callPackage ../development/tools/misc/autobuild { }; From a7722c1c3deb0b0a5c094dcb7755f45583f5fb8a Mon Sep 17 00:00:00 2001 From: zseri Date: Thu, 4 Mar 2021 23:30:33 +0100 Subject: [PATCH 15/15] zstxtns-utils: init at 0.0.3 --- pkgs/tools/text/zstxtns-utils/default.nix | 41 +++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 43 insertions(+) create mode 100644 pkgs/tools/text/zstxtns-utils/default.nix diff --git a/pkgs/tools/text/zstxtns-utils/default.nix b/pkgs/tools/text/zstxtns-utils/default.nix new file mode 100644 index 00000000000..839a5493374 --- /dev/null +++ b/pkgs/tools/text/zstxtns-utils/default.nix @@ -0,0 +1,41 @@ +{ bash +, coreutils +, fetchurl +, gnugrep +, lib +, makeWrapper +, moreutils +, stdenv +}: + +stdenv.mkDerivation rec { + pname = "zstxtns-utils"; + version = "0.0.3"; + + src = fetchurl { + url = "https://ytrizja.de/distfiles/zstxtns-utils-${version}.tar.gz"; + sha256 = "I/Gm7vHUr29NClYWQ1kwu8HrNZpdLXfE/nutTNoqcdU="; + }; + + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ bash coreutils gnugrep moreutils ]; + + installPhase = '' + runHook preInstall + install -D -t $out/bin zstxtns-merge zstxtns-unmerge + runHook postInstall + ''; + + postInstall = '' + wrapProgram $out/bin/zstxtns-merge --prefix PATH ":" "${lib.makeBinPath [coreutils gnugrep moreutils]}" + wrapProgram $out/bin/zstxtns-unmerge --prefix PATH ":" "${lib.makeBinPath [coreutils gnugrep]}" + ''; + + meta = with lib; { + description = "utilities to deal with text based name service databases"; + homepage = "https://ytrizja.de/"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ zseri ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 38b650d8f8a..97a0e998a24 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9393,6 +9393,8 @@ in zs-apc-spdu-ctl = callPackage ../tools/networking/zs-apc-spdu-ctl { }; + zstxtns-utils = callPackage ../tools/text/zstxtns-utils { }; + zsh-autoenv = callPackage ../tools/misc/zsh-autoenv { }; zsh-autopair = callPackage ../shells/zsh/zsh-autopair { };