stumpwm: 22.11 -> 24.11

Moved outside lisp-modules to a separate package, so as to re-use its
Makefile-based build-system and make a step in the direction of leaving just
development libraries in lisp-modules.

+57 -42
+3 -2
nixos/modules/services/x11/window-managers/stumpwm.nix
··· 14 14 { 15 15 options = { 16 16 services.xserver.windowManager.stumpwm.enable = mkEnableOption "stumpwm"; 17 + services.xserver.windowManager.stumpwm.package = mkPackageOption pkgs "stumpwm" { }; 17 18 }; 18 19 19 20 config = mkIf cfg.enable { 20 21 services.xserver.windowManager.session = singleton { 21 22 name = "stumpwm"; 22 23 start = '' 23 - ${pkgs.sbclPackages.stumpwm}/bin/stumpwm & 24 + ${cfg.package}/bin/stumpwm & 24 25 waitPID=$! 25 26 ''; 26 27 }; 27 - environment.systemPackages = [ pkgs.sbclPackages.stumpwm ]; 28 + environment.systemPackages = [ cfg.package ]; 28 29 }; 29 30 }
+41
pkgs/applications/window-managers/stumpwm/default.nix
··· 1 + { 2 + stdenv, 3 + lib, 4 + fetchFromGitHub, 5 + autoreconfHook, 6 + sbcl, 7 + texinfo, 8 + }: 9 + 10 + stdenv.mkDerivation (finalAttrs: { 11 + pname = "stumpwm"; 12 + version = "24.11"; 13 + 14 + src = fetchFromGitHub { 15 + owner = "stumpwm"; 16 + repo = "stumpwm"; 17 + rev = "${finalAttrs.version}"; 18 + hash = "sha256-Ba2HcAmNcZvnqU0jpLTxsBe8L+4aHbO/oM4Bp/IYEC0="; 19 + }; 20 + 21 + nativeBuildInputs = [ 22 + autoreconfHook 23 + sbcl 24 + texinfo 25 + ]; 26 + 27 + doCheck = true; 28 + 29 + postConfigure = '' 30 + export ASDF_OUTPUT_TRANSLATIONS=$(pwd):$(pwd) 31 + ''; 32 + 33 + meta = { 34 + description = "Tiling, keyboard driven window manager"; 35 + homepage = "https://stumpwm.github.io/"; 36 + license = lib.licenses.gpl2Plus; 37 + mainProgram = "stumpwm"; 38 + maintainers = lib.teams.lisp.members; 39 + platforms = lib.platforms.unix; 40 + }; 41 + })
+6 -38
pkgs/development/lisp-modules/packages.nix
··· 190 190 lispLibs = super.mathkit.lispLibs ++ [ super.sb-cga ]; 191 191 }; 192 192 193 - stumpwm = super.stumpwm.overrideLispAttrs (o: rec { 194 - version = "22.11"; 195 - src = pkgs.fetchFromGitHub { 196 - owner = "stumpwm"; 197 - repo = "stumpwm"; 198 - rev = version; 199 - hash = "sha256-zXj17ucgyFhv7P0qEr4cYSVRPGrL1KEIofXWN2trr/M="; 193 + stumpwm = super.stumpwm.overrideAttrs { 194 + inherit (pkgs.stumpwm) src version; 195 + meta = { 196 + inherit (pkgs.stumpwm.meta) description license homepage; 200 197 }; 201 - buildScript = pkgs.writeText "build-stumpwm.lisp" '' 202 - (load "${super.stumpwm.asdfFasl}/asdf.${super.stumpwm.faslExt}") 203 - 204 - (asdf:load-system 'stumpwm) 205 - 206 - ;; Prevents package conflict error 207 - (when (uiop:version<= "3.1.5" (asdf:asdf-version)) 208 - (uiop:symbol-call '#:asdf '#:register-immutable-system :stumpwm) 209 - (dolist (system-name (uiop:symbol-call '#:asdf 210 - '#:system-depends-on 211 - (asdf:find-system :stumpwm))) 212 - (uiop:symbol-call '#:asdf '#:register-immutable-system system-name))) 213 - 214 - ;; Prevents "cannot create /homeless-shelter" error 215 - (asdf:disable-output-translations) 216 - 217 - (sb-ext:save-lisp-and-die 218 - "stumpwm" 219 - :executable t 220 - :purify t 221 - #+sb-core-compression :compression 222 - #+sb-core-compression t 223 - :toplevel #'stumpwm:stumpwm) 224 - ''; 225 - installPhase = '' 226 - mkdir -p $out/bin 227 - cp -v stumpwm $out/bin 228 - ''; 229 - }); 230 - 231 - stumpwm-unwrapped = super.stumpwm; 198 + }; 232 199 233 200 clfswm = super.clfswm.overrideAttrs (o: rec { 234 201 buildScript = pkgs.writeText "build-clfswm.lisp" '' ··· 471 438 } // optionalAttrs pkgs.config.allowAliases { 472 439 cl-glib_dot_gio = throw "cl-glib_dot_gio was replaced by cl-gio"; 473 440 cl-gtk4_dot_webkit2 = throw "cl-gtk4_dot_webkit2 was replaced by cl-gtk4_dot_webkit"; 441 + stumpwm-unwrapped = throw "stumpwm-unwrapped is now just stumpwm"; 474 442 }); 475 443 476 444 in packages
+7 -2
pkgs/top-level/all-packages.nix
··· 15323 15323 15324 15324 inherit (ocaml-ng.ocamlPackages) stog; 15325 15325 15326 - stumpwm = sbclPackages.stumpwm; 15326 + stumpwm = callPackage ../applications/window-managers/stumpwm { 15327 + stdenv = stdenvNoCC; 15328 + sbcl = sbcl.withPackages (ps: with ps; [ 15329 + alexandria cl-ppcre clx fiasco 15330 + ]); 15331 + }; 15327 15332 15328 - stumpwm-unwrapped = sbclPackages.stumpwm-unwrapped; 15333 + stumpwm-unwrapped = sbclPackages.stumpwm; 15329 15334 15330 15335 sublime3Packages = recurseIntoAttrs (callPackage ../applications/editors/sublime/3/packages.nix { }); 15331 15336