diff options
author | Alyssa Ross <hi@alyssa.is> | 2022-12-06 19:57:55 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-02-08 13:48:30 +0000 |
commit | bf3aadfdd39aa197e18bade671fab6726349ffa4 (patch) | |
tree | 698567af766ed441d757b57a7b21e68d4a342a2b /nixpkgs/pkgs/applications/window-managers | |
parent | f4afc5a01d9539ce09e47494e679c51f80723d07 (diff) | |
parent | 99665eb45f58d959d2cb9e49ddb960c79d596f33 (diff) | |
download | nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.gz nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.bz2 nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.lz nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.xz nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.zst nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.zip |
Merge commit '99665eb45f58d959d2cb9e49ddb960c79d596f33'
Diffstat (limited to 'nixpkgs/pkgs/applications/window-managers')
56 files changed, 1026 insertions, 415 deletions
diff --git a/nixpkgs/pkgs/applications/window-managers/afterstep/default.nix b/nixpkgs/pkgs/applications/window-managers/afterstep/default.nix index a26f824cd183..4bc757f27212 100644 --- a/nixpkgs/pkgs/applications/window-managers/afterstep/default.nix +++ b/nixpkgs/pkgs/applications/window-managers/afterstep/default.nix @@ -45,7 +45,19 @@ stdenv.mkDerivation rec { # A strange type of bug: dbus is not immediately found by pkg-config preConfigure = '' - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config dbus-1 --cflags)" + # binutils 2.37 fix + # https://github.com/afterstep/afterstep/issues/2 + fixupList=( + "autoconf/Makefile.defines.in" + "libAfterImage/aftershow/Makefile.in" + "libAfterImage/apps/Makefile.in" + "libAfterBase/Makefile.in" + "libAfterImage/Makefile.in" + ) + for toFix in "''${fixupList[@]}"; do + substituteInPlace "$toFix" --replace "clq" "cq" + done + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config dbus-1 --cflags)" ''; # Parallel build fails due to missing dependencies between private libaries: diff --git a/nixpkgs/pkgs/applications/window-managers/awesome/default.nix b/nixpkgs/pkgs/applications/window-managers/awesome/default.nix index 90b559e7d44c..b19f17275ad6 100644 --- a/nixpkgs/pkgs/applications/window-managers/awesome/default.nix +++ b/nixpkgs/pkgs/applications/window-managers/awesome/default.nix @@ -1,4 +1,5 @@ -{ lib, stdenv, fetchFromGitHub, lua, cairo, librsvg, cmake, imagemagick, pkg-config, gdk-pixbuf +{ lib, stdenv, fetchFromGitHub, fetchpatch +, lua, cairo, librsvg, cmake, imagemagick, pkg-config, gdk-pixbuf , xorg, libstartup_notification, libxdg_basedir, libpthreadstubs , xcb-util-cursor, makeWrapper, pango, gobject-introspection , which, dbus, nettools, git, doxygen @@ -27,6 +28,21 @@ stdenv.mkDerivation rec { sha256 = "1i7ajmgbsax4lzpgnmkyv35x8vxqi0j84a14k6zys4blx94m9yjf"; }; + patches = [ + # Pull upstream fix for -fno-common toolchain support: + # https://github.com/awesomeWM/awesome/pull/3065 + (fetchpatch { + name = "fno-common-prerequisite.patch"; + url = "https://github.com/awesomeWM/awesome/commit/c5202a48708585cc33528065af8d1b1d28b1a6e0.patch"; + sha256 = "0sv36xf0ibjcm63gn9k3bl039sqavb2b5i6d65il4bdclkc0n08b"; + }) + (fetchpatch { + name = "fno-common.patch"; + url = "https://github.com/awesomeWM/awesome/commit/d256d9055095f27a33696e0aeda4ee20ed4fb1a0.patch"; + sha256 = "1n3y4wnjra8blss7642jgpxnm9n92zhhjj541bb9i60m4b7bgfzz"; + }) + ]; + nativeBuildInputs = [ cmake doxygen diff --git a/nixpkgs/pkgs/applications/window-managers/berry/default.nix b/nixpkgs/pkgs/applications/window-managers/berry/default.nix index f6ba52013f6f..5c2c7dcb5ce4 100644 --- a/nixpkgs/pkgs/applications/window-managers/berry/default.nix +++ b/nixpkgs/pkgs/applications/window-managers/berry/default.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation rec { pname = "berry"; - version = "0.1.10"; + version = "0.1.11"; src = fetchFromGitHub { owner = "JLErvin"; repo = pname; rev = version; - hash = "sha256-6asph0QXzhmHuYcfrLcQ8RTP4QzX8m6AcCp5ImA++9M="; + hash = "sha256-cs1NVwaANMIteCQuGqPcEWuUbfJulhjmfWnlU8Eb2OM="; }; nativeBuildInputs = [ diff --git a/nixpkgs/pkgs/applications/window-managers/bspwm/default.nix b/nixpkgs/pkgs/applications/window-managers/bspwm/default.nix index e7c0eecbf82e..53807e65a3cb 100644 --- a/nixpkgs/pkgs/applications/window-managers/bspwm/default.nix +++ b/nixpkgs/pkgs/applications/window-managers/bspwm/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "A tiling window manager based on binary space partitioning"; homepage = "https://github.com/baskerville/bspwm"; - maintainers = with maintainers; [ meisternu epitrochoid ]; + maintainers = with maintainers; [ meisternu ]; license = licenses.bsd2; platforms = platforms.linux; }; diff --git a/nixpkgs/pkgs/applications/window-managers/btops/default.nix b/nixpkgs/pkgs/applications/window-managers/btops/default.nix deleted file mode 100644 index a837c435204a..000000000000 --- a/nixpkgs/pkgs/applications/window-managers/btops/default.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ lib, buildGoPackage, fetchFromGitHub }: - -buildGoPackage rec { - pname = "btops"; - version = "0.1.0"; - - goPackagePath = "github.com/cmschuetz/btops"; - - src = fetchFromGitHub { - owner = "cmschuetz"; - repo = "btops"; - rev = version; - sha256 = "sha256-eE28PGfpmmhcyeSy3PICebAs+cHAZXPxT+S/4+9ukcY="; - }; - - goDeps = ./deps.nix; - - meta = with lib; { - description = "bspwm desktop management that supports dymanic appending, removing, and renaming"; - homepage = "https://github.com/cmschuetz/btops"; - maintainers = with maintainers; [ mnacamura ]; - license = licenses.mit; - platforms = platforms.linux; - }; -} diff --git a/nixpkgs/pkgs/applications/window-managers/btops/deps.nix b/nixpkgs/pkgs/applications/window-managers/btops/deps.nix deleted file mode 100644 index a893d40e2107..000000000000 --- a/nixpkgs/pkgs/applications/window-managers/btops/deps.nix +++ /dev/null @@ -1,120 +0,0 @@ -# This file was generated by https://github.com/kamilchm/go2nix v1.2.1 -[ - { - goPackagePath = "github.com/fsnotify/fsnotify"; - fetch = { - type = "git"; - url = "https://github.com/fsnotify/fsnotify"; - rev = "c2828203cd70a50dcccfb2761f8b1f8ceef9a8e9"; - sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g"; - }; - } - { - goPackagePath = "github.com/hashicorp/hcl"; - fetch = { - type = "git"; - url = "https://github.com/hashicorp/hcl"; - rev = "ef8a98b0bbce4a65b5aa4c368430a80ddc533168"; - sha256 = "1qalfsc31fra7hcw2lc3s20aj7al62fq3j5fn5kga3mg99b82nyr"; - }; - } - { - goPackagePath = "github.com/magiconair/properties"; - fetch = { - type = "git"; - url = "https://github.com/magiconair/properties"; - rev = "c2353362d570a7bfa228149c62842019201cfb71"; - sha256 = "1a10362wv8a8qwb818wygn2z48lgzch940hvpv81hv8gc747ajxn"; - }; - } - { - goPackagePath = "github.com/mitchellh/mapstructure"; - fetch = { - type = "git"; - url = "https://github.com/mitchellh/mapstructure"; - rev = "bb74f1db0675b241733089d5a1faa5dd8b0ef57b"; - sha256 = "1aqk9qr46bwgdc5j7n7als61xvssvyjf4qzfsvhacl4izpygqnw7"; - }; - } - { - goPackagePath = "github.com/pelletier/go-toml"; - fetch = { - type = "git"; - url = "https://github.com/pelletier/go-toml"; - rev = "66540cf1fcd2c3aee6f6787dfa32a6ae9a870f12"; - sha256 = "1n8na0yg90gm0rpifmzrby5r385vvd62cdam3ls7ssy02bjvfw15"; - }; - } - { - goPackagePath = "github.com/spf13/afero"; - fetch = { - type = "git"; - url = "https://github.com/spf13/afero"; - rev = "63644898a8da0bc22138abf860edaf5277b6102e"; - sha256 = "13piahaq4vw1y1sklq5scrsflqx0a8hzmdqfz1fy4871kf2gl8qw"; - }; - } - { - goPackagePath = "github.com/spf13/cast"; - fetch = { - type = "git"; - url = "https://github.com/spf13/cast"; - rev = "8965335b8c7107321228e3e3702cab9832751bac"; - sha256 = "177bk7lq40jbgv9p9r80aydpaccfk8ja3a7jjhfwiwk9r1pa4rr2"; - }; - } - { - goPackagePath = "github.com/spf13/jwalterweatherman"; - fetch = { - type = "git"; - url = "https://github.com/spf13/jwalterweatherman"; - rev = "7c0cea34c8ece3fbeb2b27ab9b59511d360fb394"; - sha256 = "132p84i20b9s5r6fs597lsa6648vd415ch7c0d018vm8smzqpd0h"; - }; - } - { - goPackagePath = "github.com/spf13/pflag"; - fetch = { - type = "git"; - url = "https://github.com/spf13/pflag"; - rev = "583c0c0531f06d5278b7d917446061adc344b5cd"; - sha256 = "0nr4mdpfhhk94hq4ymn5b2sxc47b29p1akxd8b0hx4dvdybmipb5"; - }; - } - { - goPackagePath = "github.com/spf13/viper"; - fetch = { - type = "git"; - url = "https://github.com/spf13/viper"; - rev = "15738813a09db5c8e5b60a19d67d3f9bd38da3a4"; - sha256 = "1mjfzg8zvnxckaq6l8gw99i2msrfqn9yr04dc3b7kd5bpxi6zr4v"; - }; - } - { - goPackagePath = "golang.org/x/sys"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/sys"; - rev = "7c87d13f8e835d2fb3a70a2912c811ed0c1d241b"; - sha256 = "03fhkng37rczqwfgah5hd7d373jps3hcfx79dmky2fh62yvpcyn3"; - }; - } - { - goPackagePath = "golang.org/x/text"; - fetch = { - type = "git"; - url = "https://go.googlesource.com/text"; - rev = "5c1cf69b5978e5a34c5f9ba09a83e56acc4b7877"; - sha256 = "03br8p1sb1ffr02l8hyrgcyib7ms0z06wy3v4r1dj2l6q4ghwzfs"; - }; - } - { - goPackagePath = "gopkg.in/yaml.v2"; - fetch = { - type = "git"; - url = "https://gopkg.in/yaml.v2"; - rev = "5420a8b6744d3b0345ab293f6fcba19c978f1183"; - sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1"; - }; - } -] diff --git a/nixpkgs/pkgs/applications/window-managers/cage/default.nix b/nixpkgs/pkgs/applications/window-managers/cage/default.nix index 963f86768832..c1ef0a7fd268 100644 --- a/nixpkgs/pkgs/applications/window-managers/cage/default.nix +++ b/nixpkgs/pkgs/applications/window-managers/cage/default.nix @@ -17,6 +17,10 @@ stdenv.mkDerivation rec { sha256 = "0vm96gxinhy48m3x9p1sfldyd03w3gk6iflb7n9kn06j1vqyswr6"; }; + depsBuildBuild = [ + pkg-config + ]; + nativeBuildInputs = [ meson ninja pkg-config wayland-scanner scdoc makeWrapper ]; buildInputs = [ diff --git a/nixpkgs/pkgs/applications/window-managers/clfswm/default.nix b/nixpkgs/pkgs/applications/window-managers/clfswm/default.nix deleted file mode 100644 index 9984e8788460..000000000000 --- a/nixpkgs/pkgs/applications/window-managers/clfswm/default.nix +++ /dev/null @@ -1,51 +0,0 @@ -{ lib, stdenv, fetchgit, autoconf, sbcl, lispPackages, xdpyinfo, texinfo4 -, makeWrapper }: - -stdenv.mkDerivation { - pname = "clfswm"; - version = "unstable-2016-11-12"; - - src = fetchgit { - url = "https://gitlab.common-lisp.net/clfswm/clfswm.git"; - rev = "3c7721dba6339ebb4f8c8d7ce2341740fa86f837"; - sha256 = "0hynzh3a1zr719cxfb0k4cvh5lskzs616hwn7p942isyvhwzhynd"; - }; - - buildInputs = [ - texinfo4 makeWrapper autoconf - sbcl - lispPackages.clx - lispPackages.cl-ppcre - xdpyinfo - ]; - - patches = [ ./require-clx.patch ]; - - # Stripping destroys the generated SBCL image - dontStrip = true; - - configurePhase = '' - substituteInPlace load.lisp --replace \ - ";; (setf *contrib-dir* \"/usr/local/lib/clfswm/\")" \ - "(setf *contrib-dir* \"$out/lib/clfswm/\")" - ''; - - installPhase = '' - mkdir -pv $out/bin - make DESTDIR=$out install - - # Paths in the compressed image $out/bin/clfswm are not - # recognized by Nix. Add explicit reference here. - mkdir $out/nix-support - echo ${xdpyinfo} ${lispPackages.clx} ${lispPackages.cl-ppcre} > $out/nix-support/depends - ''; - - meta = with lib; { - description = "A(nother) Common Lisp FullScreen Window Manager"; - homepage = "https://common-lisp.net/project/clfswm/"; - license = licenses.gpl3; - maintainers = with maintainers; [ robgssp ]; - platforms = platforms.linux; - broken = true; - }; -} diff --git a/nixpkgs/pkgs/applications/window-managers/clfswm/require-clx.patch b/nixpkgs/pkgs/applications/window-managers/clfswm/require-clx.patch deleted file mode 100644 index ae2234461d25..000000000000 --- a/nixpkgs/pkgs/applications/window-managers/clfswm/require-clx.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/load.lisp b/load.lisp -index c8c4cf0..8c9ca2e 100644 ---- a/load.lisp -+++ b/load.lisp -@@ -111,6 +111,8 @@ from $XDG_CONFIG_HOME/clfswm/clfswmrc") - ;;;------------------ - (load-info "Requiring CLX") - -+(require 'clx) -+ - ;;; Loading clisp dynamic module. This part needs clisp >= 2.50 - ;;#+(AND CLISP (not CLX)) - ;;(when (fboundp 'require) diff --git a/nixpkgs/pkgs/applications/window-managers/cwm/default.nix b/nixpkgs/pkgs/applications/window-managers/cwm/default.nix index 24c595081573..37abe5c154ee 100644 --- a/nixpkgs/pkgs/applications/window-managers/cwm/default.nix +++ b/nixpkgs/pkgs/applications/window-managers/cwm/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { pname = "cwm"; - version = "6.7"; + version = "7.1"; src = fetchFromGitHub { owner = "leahneukirchen"; repo = pname; rev = "v${version}"; - sha256 = "0f9xmki2hx10k8iisfzc7nm1l31zkf1r06pdgn06ar9w9nizrld9"; + sha256 = "sha256-lkjsxGMXOrnu4cUiV/TO7yzd9FzM297MhaFKauqmiHo="; }; nativeBuildInputs = [ pkg-config ]; diff --git a/nixpkgs/pkgs/applications/window-managers/dwl/default.nix b/nixpkgs/pkgs/applications/window-managers/dwl/default.nix index bfc360e81bbd..95170b79326d 100644 --- a/nixpkgs/pkgs/applications/window-managers/dwl/default.nix +++ b/nixpkgs/pkgs/applications/window-managers/dwl/default.nix @@ -21,13 +21,13 @@ in stdenv.mkDerivation rec { pname = "dwl"; - version = "0.2.2"; + version = "0.3.1"; src = fetchFromGitHub { owner = "djpohly"; repo = pname; rev = "v${version}"; - hash = "sha256-T2GqDehBNO8eublqZUmA5WADjnwElzT+bp9Dp1bqSgg="; + hash = "sha256-VHxBjjnzJNmtJxrm3ywJzvt2bNHGk/Cx8TICw6SaoiQ="; }; nativeBuildInputs = [ pkg-config ]; diff --git a/nixpkgs/pkgs/applications/window-managers/e16/default.nix b/nixpkgs/pkgs/applications/window-managers/e16/default.nix index 37a4f7c94361..053b01cb2258 100644 --- a/nixpkgs/pkgs/applications/window-managers/e16/default.nix +++ b/nixpkgs/pkgs/applications/window-managers/e16/default.nix @@ -16,15 +16,16 @@ , libsndfile , pango , perl +, gitUpdater }: stdenv.mkDerivation rec { pname = "e16"; - version = "1.0.24"; + version = "1.0.25"; src = fetchurl { url = "mirror://sourceforge/enlightenment/e16-${version}.tar.xz"; - sha256 = "1anmwfjyynwl0ylkyksa7bnsqzf58l1yccjzp3kbwq6nw1gs7dbv"; + hash = "sha256-rUtDaBa4vvC3gO7QSkFrphWuVOmbtkH+pRujQDaUOek="; }; nativeBuildInputs = [ @@ -52,6 +53,12 @@ stdenv.mkDerivation rec { substituteInPlace scripts/e_gen_menu --replace "/usr/local:" "/run/current-system/sw:/usr/local:" ''; + passthru.updateScript = gitUpdater { + inherit pname version; + url = "https://git.enlightenment.org/e16/e16"; + rev-prefix = "v"; + }; + meta = with lib; { homepage = "https://www.enlightenment.org/e16"; description = "Enlightenment DR16 window manager"; diff --git a/nixpkgs/pkgs/applications/window-managers/eww/Cargo.lock.patch b/nixpkgs/pkgs/applications/window-managers/eww/Cargo.lock.patch new file mode 100644 index 000000000000..50241230bb42 --- /dev/null +++ b/nixpkgs/pkgs/applications/window-managers/eww/Cargo.lock.patch @@ -0,0 +1,13 @@ +diff --git a/Cargo.lock b/Cargo.lock +index 9ae7ab9..c810728 100644 +--- a/Cargo.lock ++++ b/Cargo.lock +@@ -403,7 +403,7 @@ dependencies = [ + + [[package]] + name = "eww" +-version = "0.2.0" ++version = "0.3.0" + dependencies = [ + "anyhow", + "bincode", diff --git a/nixpkgs/pkgs/applications/window-managers/eww/default.nix b/nixpkgs/pkgs/applications/window-managers/eww/default.nix index e593a95a1519..fe914f5a9823 100644 --- a/nixpkgs/pkgs/applications/window-managers/eww/default.nix +++ b/nixpkgs/pkgs/applications/window-managers/eww/default.nix @@ -10,16 +10,18 @@ rustPlatform.buildRustPackage rec { pname = "eww"; - version = "0.2.0"; + version = "0.3.0"; src = fetchFromGitHub { owner = "elkowar"; repo = pname; rev = "v${version}"; - sha256 = "050zc3w1z9f2vg6sz86mdxf345gd3s3jf09gf4y8y1mqkzs86b8x"; + sha256 = "055il2b3k8x6mrrjin6vkajpksc40phcp4j1iq0pi8v3j7zsfk1a"; }; - cargoSha256 = "sha256-LejnTVv9rhL9CVW1fgj2gFv4amHQeziu5uaH2ae8AAw="; + cargoSha256 = "sha256-3hGA730g8E4rwQ9V0wSLUcAEmockXi+spwp50cgf0Mw="; + + cargoPatches = [ ./Cargo.lock.patch ]; nativeBuildInputs = [ pkg-config ]; diff --git a/nixpkgs/pkgs/applications/window-managers/fbpanel/default.nix b/nixpkgs/pkgs/applications/window-managers/fbpanel/default.nix index 1a87f29f67cd..33a313eb8eec 100644 --- a/nixpkgs/pkgs/applications/window-managers/fbpanel/default.nix +++ b/nixpkgs/pkgs/applications/window-managers/fbpanel/default.nix @@ -19,6 +19,10 @@ stdenv.mkDerivation rec { --replace "CFLAGSX =" "CFLAGSX = -I${gdk-pixbuf-xlib.dev}/include/gdk-pixbuf-2.0" ''; + # Workaround build failure on -fno-common toolchains like upstream + # gcc-10. Otherwise build fails as: + # ld: plugin.o:(.bss+0x0): multiple definition of `stam'; panel.o:(.bss+0x20): first defined here + NIX_CFLAGS_COMPILE = "-fcommon"; NIX_LDFLAGS="-lX11"; meta = with lib; { diff --git a/nixpkgs/pkgs/applications/window-managers/fvwm/2.6.nix b/nixpkgs/pkgs/applications/window-managers/fvwm/2.6.nix new file mode 100644 index 000000000000..44dde60ac05d --- /dev/null +++ b/nixpkgs/pkgs/applications/window-managers/fvwm/2.6.nix @@ -0,0 +1,82 @@ +{ lib +, stdenv +, fetchFromGitHub +, autoreconfHook +, cairo +, fontconfig +, freetype +, fribidi +, libXcursor +, libXft +, libXinerama +, libXpm +, libXt +, libpng +, librsvg +, libstroke +, libxslt +, perl +, pkg-config +, python3Packages +, readline +, enableGestures ? false +}: + +stdenv.mkDerivation rec { + pname = "fvwm"; + version = "2.6.9"; + + src = fetchFromGitHub { + owner = "fvwmorg"; + repo = pname; + rev = version; + hash = "sha256-sBVOrrl2WrZ2wWN/r1kDUtR+tPwXgDoSJDaxGeFkXJI="; + }; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + python3Packages.wrapPython + ]; + + buildInputs = [ + cairo + fontconfig + freetype + fribidi + libXcursor + libXft + libXinerama + libXpm + libXt + libpng + librsvg + libxslt + perl + python3Packages.python + readline + ] ++ lib.optional enableGestures libstroke; + + pythonPath = [ + python3Packages.pyxdg + ]; + + configureFlags = [ + "--enable-mandoc" + "--disable-htmldoc" + ]; + + postFixup = '' + wrapPythonPrograms + ''; + + enableParallelBuilding = true; + + meta = with lib; { + homepage = "http://fvwm.org"; + description = "A multiple large virtual desktop window manager"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ edanaher ]; + }; +} diff --git a/nixpkgs/pkgs/applications/window-managers/fvwm/3.nix b/nixpkgs/pkgs/applications/window-managers/fvwm/3.nix new file mode 100644 index 000000000000..e68f93bf836c --- /dev/null +++ b/nixpkgs/pkgs/applications/window-managers/fvwm/3.nix @@ -0,0 +1,99 @@ +{ lib +, stdenv +, fetchFromGitHub +, asciidoctor +, autoreconfHook +, cairo +, fontconfig +, freetype +, fribidi +, imlib +, libSM +, libX11 +, libXcursor +, libXft +, libXi +, libXinerama +, libXpm +, libXrandr +, libXt +, libevent +, libintl +, libpng +, librsvg +, libstroke +, libxslt +, perl +, pkg-config +, python3Packages +, readline +, sharutils +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "fvwm3"; + version = "1.0.4"; + + src = fetchFromGitHub { + owner = "fvwmorg"; + repo = "fvwm3"; + rev = finalAttrs.version; + hash = "sha256-ByMSX4nwXkp+ly39C2+cYy3e9B0vnGcJlyIiS7V6zoI="; + }; + + nativeBuildInputs = [ + autoreconfHook + asciidoctor + pkg-config + python3Packages.wrapPython + ]; + + buildInputs = [ + cairo + fontconfig + freetype + fribidi + imlib + libSM + libX11 + libXcursor + libXft + libXi + libXinerama + libXpm + libXrandr + libXt + libevent + libintl + libpng + librsvg + libstroke + libxslt + perl + python3Packages.python + readline + sharutils + ]; + + pythonPath = [ + python3Packages.pyxdg + ]; + + configureFlags = [ + "--enable-mandoc" + ]; + + postFixup = '' + wrapPythonPrograms + ''; + + enableParallelBuilding = true; + + meta = with lib; { + homepage = "http://fvwm.org"; + description = "A multiple large virtual desktop window manager - Version 3"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ AndersonTorres ]; + inherit (libX11.meta) platforms; + }; +}) diff --git a/nixpkgs/pkgs/applications/window-managers/fvwm/default.nix b/nixpkgs/pkgs/applications/window-managers/fvwm/default.nix deleted file mode 100644 index 07c3573fb2a7..000000000000 --- a/nixpkgs/pkgs/applications/window-managers/fvwm/default.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ autoreconfHook, enableGestures ? false, lib, stdenv, fetchFromGitHub -, pkg-config, cairo, fontconfig, freetype, libXft, libXcursor, libXinerama -, libXpm, libXt, librsvg, libpng, fribidi, perl, libstroke, readline, libxslt }: - -stdenv.mkDerivation rec { - pname = "fvwm"; - version = "2.6.9"; - - src = fetchFromGitHub { - owner = "fvwmorg"; - repo = pname; - rev = version; - sha256 = "14jwckhikc9n4h93m00pzjs7xm2j0dcsyzv3q5vbcnknp6p4w5dh"; - }; - - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ - cairo - fontconfig - freetype - libXft - libXcursor - libXinerama - libXpm - libXt - librsvg - libpng - fribidi - perl - readline - libxslt - ] ++ lib.optional enableGestures libstroke; - - configureFlags = [ "--enable-mandoc" "--disable-htmldoc" ]; - - meta = { - homepage = "http://fvwm.org"; - description = "A multiple large virtual desktop window manager"; - license = lib.licenses.gpl2Plus; - platforms = lib.platforms.linux; - maintainers = with lib.maintainers; [ edanaher ]; - }; -} diff --git a/nixpkgs/pkgs/applications/window-managers/gamescope/default.nix b/nixpkgs/pkgs/applications/window-managers/gamescope/default.nix new file mode 100644 index 000000000000..2d271893b842 --- /dev/null +++ b/nixpkgs/pkgs/applications/window-managers/gamescope/default.nix @@ -0,0 +1,91 @@ +{ stdenv +, fetchFromGitHub +, meson +, pkg-config +, ninja +, xorg +, libdrm +, vulkan-loader +, wayland +, wayland-protocols +, libxkbcommon +, libcap +, SDL2 +, pipewire +, udev +, pixman +, libinput +, libseat +, xwayland +, glslang +, stb +, wlroots +, libliftoff +, lib +, makeBinaryWrapper +}: +let + pname = "gamescope"; + version = "3.11.33-jupiter-3.3-2"; +in +stdenv.mkDerivation { + inherit pname version; + + src = fetchFromGitHub { + owner = "Plagman"; + repo = "gamescope"; + rev = "refs/tags/${version}"; + hash = "sha256-6/gTsQGZDQPCdmXe5EI9QcT/MkdTf6odsI2/+g/W7Qc="; + }; + + patches = [ ./use-pkgconfig.patch ]; + + nativeBuildInputs = [ + meson + pkg-config + ninja + makeBinaryWrapper + ]; + + buildInputs = [ + xorg.libXdamage + xorg.libXcomposite + xorg.libXrender + xorg.libXext + xorg.libXxf86vm + xorg.libXtst + xorg.libXres + xorg.libXi + libdrm + libliftoff + vulkan-loader + glslang + SDL2 + wayland + wayland-protocols + wlroots + xwayland + libseat + libinput + libxkbcommon + udev + pixman + pipewire + libcap + stb + ]; + + # --debug-layers flag expects these in the path + postInstall = '' + wrapProgram "$out/bin/gamescope" \ + --prefix PATH : ${with xorg; lib.makeBinPath [xprop xwininfo]} + ''; + + meta = with lib; { + description = "SteamOS session compositing window manager"; + homepage = "https://github.com/Plagman/gamescope"; + license = licenses.bsd2; + maintainers = with maintainers; [ nrdxp ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/applications/window-managers/gamescope/use-pkgconfig.patch b/nixpkgs/pkgs/applications/window-managers/gamescope/use-pkgconfig.patch new file mode 100644 index 000000000000..29345952433e --- /dev/null +++ b/nixpkgs/pkgs/applications/window-managers/gamescope/use-pkgconfig.patch @@ -0,0 +1,11 @@ +diff --git a/meson.build b/meson.build +index 1311784..77043ac 100644 +--- a/meson.build ++++ b/meson.build +@@ -6,7 +6,6 @@ project( + default_options: [ + 'cpp_std=c++14', + 'warning_level=2', +- 'force_fallback_for=wlroots,libliftoff', + ], + ) diff --git a/nixpkgs/pkgs/applications/window-managers/hackedbox/default.nix b/nixpkgs/pkgs/applications/window-managers/hackedbox/default.nix new file mode 100644 index 000000000000..0f608b83a70a --- /dev/null +++ b/nixpkgs/pkgs/applications/window-managers/hackedbox/default.nix @@ -0,0 +1,61 @@ +{ lib +, stdenv +, fetchFromGitHub +, autoreconfHook +, freetype +, fribidi +, imlib2 +, libX11 +, libXext +, libXft +, libXinerama +, libXpm +, libXrandr +, libXrender +, pkg-config +, xorgproto +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "hackedbox"; + version = "0.8.5.1"; + + src = fetchFromGitHub { + owner = "museoa"; + repo = "hackedbox"; + rev = finalAttrs.version; + hash = "sha256-hxfbEj7UxQ19xhetmdi0iyK6ceLUfUvAAyyTbNivlLQ="; + }; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + + buildInputs = [ + freetype + fribidi + imlib2 + libX11 + libXext + libXft + libXinerama + libXpm + libXrandr + libXrender + xorgproto + ]; + + configureFlags = [ + "--x-includes=${libX11.dev}/include" + "--x-libraries=${libX11.out}/lib" + ]; + + meta = with lib; { + description = "A bastard hacked offspring of Blackbox"; + homepage = "http://github.com/museoa/hackedbox/"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ AndersonTorres ]; + inherit (libX11.meta) platforms; + }; +}) diff --git a/nixpkgs/pkgs/applications/window-managers/herbstluftwm/default.nix b/nixpkgs/pkgs/applications/window-managers/herbstluftwm/default.nix index 2ed6bc303668..b46179599cd3 100644 --- a/nixpkgs/pkgs/applications/window-managers/herbstluftwm/default.nix +++ b/nixpkgs/pkgs/applications/window-managers/herbstluftwm/default.nix @@ -1,14 +1,14 @@ -{ lib, stdenv, fetchurl, cmake, pkg-config, python3, libX11, libXext, libXinerama, libXrandr, libXft, libXrender, freetype, asciidoc +{ lib, stdenv, fetchurl, cmake, pkg-config, python3, libX11, libXext, libXinerama, libXrandr, libXft, libXrender, libXdmcp, libXfixes, freetype, asciidoc , xdotool, xorgserver, xsetroot, xterm, runtimeShell , nixosTests }: stdenv.mkDerivation rec { pname = "herbstluftwm"; - version = "0.9.3"; + version = "0.9.5"; src = fetchurl { url = "https://herbstluftwm.org/tarballs/herbstluftwm-${version}.tar.gz"; - sha256 = "01f1bv9axjhw1l2gwhdwahljssj0h8q7a1bqwbpnwvln0ayv39qb"; + sha256 = "sha256-stRgCQnlvs5a1jgY37MLsZ/SrJ9ShHsaenStQEBxgQU="; }; outputs = [ @@ -37,6 +37,8 @@ stdenv.mkDerivation rec { libXrandr libXft libXrender + libXdmcp + libXfixes freetype ]; @@ -75,7 +77,10 @@ stdenv.mkDerivation rec { pytestFlagsArray = [ "../tests" ]; disabledTests = [ - "test_title_different_letters_are_drawn" + "test_title_different_letters_are_drawn" # font problems + "test_completable_commands" # font problems + "test_autostart" # $PATH problems + "test_wmexec_to_other" # timeouts in sandbox ]; passthru = { diff --git a/nixpkgs/pkgs/applications/window-managers/hyprland/default.nix b/nixpkgs/pkgs/applications/window-managers/hyprland/default.nix new file mode 100644 index 000000000000..50b52a01d604 --- /dev/null +++ b/nixpkgs/pkgs/applications/window-managers/hyprland/default.nix @@ -0,0 +1,79 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +, pkg-config +, libdrm +, libinput +, libxcb +, libxkbcommon +, mesa +, pango +, wayland +, wayland-protocols +, wayland-scanner +, wlroots +, xcbutilwm +}: + +stdenv.mkDerivation rec { + pname = "hyprland"; + version = "0.6.1beta"; + + # When updating Hyprland, the overridden wlroots commit must be bumped to match the commit upstream uses. + src = fetchFromGitHub { + owner = "hyprwm"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-0Msqe2ErAJvnO1zHoB2k6TkDhTYnHRGkvJrfSG12dTU="; + }; + + nativeBuildInputs = [ + cmake + pkg-config + wayland-scanner + ]; + + buildInputs = [ + libdrm + libinput + libxcb + libxkbcommon + mesa + pango + wayland + wayland-protocols + wlroots + xcbutilwm + ]; + + # build with system wlroots + postPatch = '' + sed -Ei 's/"\.\.\/wlroots\/include\/([a-zA-Z0-9./_-]+)"/<\1>/g' src/includes.hpp + ''; + + preConfigure = '' + make protocols + ''; + + postBuild = '' + pushd ../hyprctl + $CXX -std=c++20 -w ./main.cpp -o ./hyprctl + popd + ''; + + installPhase = '' + mkdir -p $out/bin + install -m755 ./Hyprland $out/bin + install -m755 ../hyprctl/hyprctl $out/bin + ''; + + meta = with lib; { + homepage = "https://github.com/vaxerski/Hyprland"; + description = "A dynamic tiling Wayland compositor that doesn't sacrifice on its looks"; + license = licenses.bsd3; + platforms = platforms.linux; + maintainers = with maintainers; [ wozeparrot ]; + mainProgram = "Hyprland"; + }; +} diff --git a/nixpkgs/pkgs/applications/window-managers/i3/blocks-gaps.nix b/nixpkgs/pkgs/applications/window-managers/i3/blocks-gaps.nix index 4acc2fb669c6..deb0c99c313a 100644 --- a/nixpkgs/pkgs/applications/window-managers/i3/blocks-gaps.nix +++ b/nixpkgs/pkgs/applications/window-managers/i3/blocks-gaps.nix @@ -28,17 +28,21 @@ stdenv.mkDerivation rec { buildInputs = optional (contains_any scripts perlscripts) perl; nativeBuildInputs = [ makeWrapper ]; - postFixup = '' + postFixup = optionalString (elem "bandwidth" scripts) '' wrapProgram $out/libexec/i3blocks/bandwidth \ - --prefix PATH : ${makeBinPath (optional (elem "bandwidth" scripts) iproute2)} + --prefix PATH : ${makeBinPath [ iproute2 ]} + '' + optionalString (elem "battery" scripts) '' wrapProgram $out/libexec/i3blocks/battery \ - --prefix PATH : ${makeBinPath (optional (elem "battery" scripts) acpi)} + --prefix PATH : ${makeBinPath [ acpi ]} + '' + optionalString (elem "cpu_usage" scripts) '' wrapProgram $out/libexec/i3blocks/cpu_usage \ - --prefix PATH : ${makeBinPath (optional (elem "cpu_usage" scripts) sysstat)} + --prefix PATH : ${makeBinPath [ sysstat ]} + '' + optionalString (elem "iface" scripts) '' wrapProgram $out/libexec/i3blocks/iface \ - --prefix PATH : ${makeBinPath (optional (elem "iface" scripts) iproute2)} + --prefix PATH : ${makeBinPath [ iproute2 ]} + '' + optionalString (elem "volume" scripts) '' wrapProgram $out/libexec/i3blocks/volume \ - --prefix PATH : ${makeBinPath (optional (elem "volume" scripts) alsa-utils)} + --prefix PATH : ${makeBinPath [ alsa-utils ]} ''; meta = with lib; { diff --git a/nixpkgs/pkgs/applications/window-managers/i3/i3-resurrect.nix b/nixpkgs/pkgs/applications/window-managers/i3/i3-resurrect.nix index a765d2e298ed..a84d97504bbb 100644 --- a/nixpkgs/pkgs/applications/window-managers/i3/i3-resurrect.nix +++ b/nixpkgs/pkgs/applications/window-managers/i3/i3-resurrect.nix @@ -2,11 +2,11 @@ buildPythonApplication rec { pname = "i3-resurrect"; - version = "1.4.3"; + version = "1.4.5"; src = fetchPypi { inherit pname version; - sha256 = "0h181frdwpqfj9agw43qgicdvzv1i7xwky0vs0ksd8h18qxqp4hr"; + sha256 = "sha256-13FKRvEE4vHq5G51G1UyBnfNiWeS9Q/SYCG16E1Sn4c="; }; propagatedBuildInputs = [ click psutil xprop natsort i3ipc xdotool importlib-metadata ]; diff --git a/nixpkgs/pkgs/applications/window-managers/i3/lock-blur.nix b/nixpkgs/pkgs/applications/window-managers/i3/lock-blur.nix index 4018a34b571a..47875ec47c32 100644 --- a/nixpkgs/pkgs/applications/window-managers/i3/lock-blur.nix +++ b/nixpkgs/pkgs/applications/window-managers/i3/lock-blur.nix @@ -1,4 +1,4 @@ -{ i3lock-color, lib, stdenv, fetchFromGitHub }: +{ i3lock-color, lib, stdenv, fetchFromGitHub, fetchpatch }: i3lock-color.overrideAttrs (oldAttrs : rec { pname = "i3lock-blur"; @@ -11,6 +11,16 @@ i3lock-color.overrideAttrs (oldAttrs : rec { sha256 = "sha256-rBQHYVD9rurzTEXrgEnOziOP22D2EePC1+EV9Wi2pa0="; }; + patches = [ + # Pull patch pending upstream inclusion for -fno-common toolchain + # support: https://github.com/karulont/i3lock-blur/pull/22 + (fetchpatch { + name = "fno-common.patch"; + url = "https://github.com/karulont/i3lock-blur/commit/ec8fe0e7f7d78bf445602ed517efd5c324bb32f7.patch"; + sha256 = "sha256-0hXUr+ZEB1tpI3xw80/hGzKyeGuna4CQmEvK6t0VBqU="; + }) + ]; + meta = with lib; { description = "An improved screenlocker based upon XCB and PAM with background blurring filter"; homepage = "https://github.com/karulont/i3lock-blur/"; diff --git a/nixpkgs/pkgs/applications/window-managers/i3/lock.nix b/nixpkgs/pkgs/applications/window-managers/i3/lock.nix index 03506e889d7f..2c0a481676ff 100644 --- a/nixpkgs/pkgs/applications/window-managers/i3/lock.nix +++ b/nixpkgs/pkgs/applications/window-managers/i3/lock.nix @@ -1,26 +1,21 @@ -{ fetchurl, lib, stdenv, which, pkg-config, libxcb, xcbutilkeysyms, xcbutilimage, +{ stdenv, lib, fetchFromGitHub, meson, ninja, pkg-config, libxcb, xcbutilkeysyms, xcbutilimage, xcbutilxrm, pam, libX11, libev, cairo, libxkbcommon, libxkbfile }: stdenv.mkDerivation rec { pname = "i3lock"; - version = "2.13"; + version = "2.14.1"; - src = fetchurl { - url = "https://i3wm.org/i3lock/${pname}-${version}.tar.bz2"; - sha256 = "02szjsaz7rqrdkd0r2nwgwa85c4hwfrcskxw7ryk695kmjcfhzv3"; + src = fetchFromGitHub { + owner = "i3"; + repo = "i3lock"; + rev = version; + sha256 = "sha256-cC908c47fkU6msLqZSxpEbKxO1/PatH81QeuCzBSZGw="; }; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ which libxcb xcbutilkeysyms xcbutilimage xcbutilxrm + nativeBuildInputs = [ meson ninja pkg-config ]; + buildInputs = [ libxcb xcbutilkeysyms xcbutilimage xcbutilxrm pam libX11 libev cairo libxkbcommon libxkbfile ]; - makeFlags = [ "all" ]; - installFlags = [ "PREFIX=\${out}" "SYSCONFDIR=\${out}/etc" ]; - postInstall = '' - mkdir -p $out/share/man/man1 - cp *.1 $out/share/man/man1 - ''; - meta = with lib; { description = "A simple screen locker like slock"; longDescription = '' diff --git a/nixpkgs/pkgs/applications/window-managers/i3/rounded.nix b/nixpkgs/pkgs/applications/window-managers/i3/rounded.nix new file mode 100644 index 000000000000..6ab3c29387f5 --- /dev/null +++ b/nixpkgs/pkgs/applications/window-managers/i3/rounded.nix @@ -0,0 +1,21 @@ +{ fetchFromGitHub, lib, i3 }: + +i3.overrideAttrs (oldAttrs: rec { + pname = "i3-rounded"; + version = "unstable-2021-10-03"; + + src = fetchFromGitHub { + owner = "LinoBigatti"; + repo = "i3-rounded"; + rev = "524c9f7b50f8c540b2ae3480b242c30d8775f98e"; + sha256 = "0y7m1s1y8f9vgkp7byi33js8n4rigiykd71s936i5d4rwlzrxiwm"; + }; + + meta = with lib; { + description = "A fork of i3-gaps that adds rounding to window corners"; + homepage = "https://github.com/LinoBigatti/i3-rounded"; + maintainers = with maintainers; [ marsupialgutz ]; + license = licenses.bsd3; + platforms = platforms.unix; + }; +}) diff --git a/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix b/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix index ed518d8eb2e8..ddc4383fbd73 100644 --- a/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix +++ b/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix @@ -15,16 +15,16 @@ rustPlatform.buildRustPackage rec { pname = "i3status-rust"; - version = "0.21.8"; + version = "0.22.0"; src = fetchFromGitHub { owner = "greshake"; repo = pname; - rev = "v${version}"; - sha256 = "sha256-l0XfitQSmSkivEg8+XcA/+bWdy/wzIpii/Npc4p8kUw="; + rev = "refs/tags/v${version}"; + sha256 = "sha256-9Fp5k14QkV1CwLSL1nUUu6NYIpjfvI9vNJRYNqvyr3M="; }; - cargoSha256 = "sha256-2rJ9ZZHK1acJu6r6EjuoolLJZMdBsbKgN1DNvGM7deA="; + cargoSha256 = "sha256-MzosatZ4yPHAdANqOBPVW2wpjnojLo9B9N9o4DtU0Iw="; nativeBuildInputs = [ pkg-config makeWrapper ]; diff --git a/nixpkgs/pkgs/applications/window-managers/icewm/default.nix b/nixpkgs/pkgs/applications/window-managers/icewm/default.nix index 75cb96f27f4a..da97958fb346 100644 --- a/nixpkgs/pkgs/applications/window-managers/icewm/default.nix +++ b/nixpkgs/pkgs/applications/window-managers/icewm/default.nix @@ -40,13 +40,13 @@ stdenv.mkDerivation rec { pname = "icewm"; - version = "2.9.6"; + version = "2.9.8"; src = fetchFromGitHub { owner = "ice-wm"; repo = pname; rev = version; - hash = "sha256-qC8gEVJ/cmsEbF8jMzv7zyvVcjlbXhgHU3ixe7RLcnA="; + hash = "sha256-SjLXPlwL3tMBD7RCJkL60lqcld/ZXIxgjeNrAn8A6KU="; }; nativeBuildInputs = [ diff --git a/nixpkgs/pkgs/applications/window-managers/jwm/default.nix b/nixpkgs/pkgs/applications/window-managers/jwm/default.nix index 8a9b72265b99..49894bd0daa2 100644 --- a/nixpkgs/pkgs/applications/window-managers/jwm/default.nix +++ b/nixpkgs/pkgs/applications/window-managers/jwm/default.nix @@ -1,41 +1,79 @@ -{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook, gettext -, which, xorg, libX11, libXext, libXinerama, libXpm, libXft, libXau, libXdmcp -, libXmu, libpng, libjpeg, expat, xorgproto, librsvg, freetype, fontconfig }: +{ lib +, stdenv +, fetchFromGitHub +, autoconf +, automake +, expat +, fontconfig +, freetype +, gettext +, libX11 +, libXau +, libXdmcp +, libXext +, libXft +, libXinerama +, libXmu +, libXpm +, libjpeg +, libpng +, librsvg +, pango +, pkg-config +, which +, xorg +, xorgproto +, gitUpdater +}: stdenv.mkDerivation rec { pname = "jwm"; - version = "2.4.1"; + version = "2.4.2"; src = fetchFromGitHub { owner = "joewing"; repo = "jwm"; rev = "v${version}"; - sha256 = "sha256-7CEL2ddlABM7SYjMVUs3pu0O+2cVsz04slsdUIbgZuM="; + sha256 = "sha256-rvuz2Pmon3XBqRMgDwZNrQlWDyLNSK30JPmmQTlN+Rs="; }; - nativeBuildInputs = [ pkg-config gettext which autoreconfHook ]; + nativeBuildInputs = [ + autoconf + automake + gettext + pkg-config + which + ]; buildInputs = [ + expat + fontconfig + freetype libX11 - libXext - libXinerama - libXpm - libXft - xorg.libXrender libXau libXdmcp + libXext + libXft + libXinerama libXmu - libpng + libXpm libjpeg - expat - xorgproto + libpng librsvg - freetype - fontconfig + pango + xorg.libXrender + xorgproto ]; + preConfigure = "NOCONFIGURE=1 ./autogen.sh"; + enableParallelBuilding = true; + passthru.updateScript = gitUpdater { + inherit pname version; + rev-prefix = "v"; + }; + meta = { homepage = "http://joewing.net/projects/jwm/"; description = "Joe's Window Manager is a light-weight X11 window manager"; diff --git a/nixpkgs/pkgs/applications/window-managers/kbdd/default.nix b/nixpkgs/pkgs/applications/window-managers/kbdd/default.nix index 2aade3607451..2fbc37d8e7eb 100644 --- a/nixpkgs/pkgs/applications/window-managers/kbdd/default.nix +++ b/nixpkgs/pkgs/applications/window-managers/kbdd/default.nix @@ -19,6 +19,6 @@ stdenv.mkDerivation { homepage = "https://github.com/qnikst/kbdd"; license = lib.licenses.gpl2Plus; platforms = lib.platforms.linux; - maintainers = [ lib.maintainers.wedens ]; + maintainers = [ ]; }; } diff --git a/nixpkgs/pkgs/applications/window-managers/labwc/default.nix b/nixpkgs/pkgs/applications/window-managers/labwc/default.nix index f58b71ef03ad..ba145b85286f 100644 --- a/nixpkgs/pkgs/applications/window-managers/labwc/default.nix +++ b/nixpkgs/pkgs/applications/window-managers/labwc/default.nix @@ -21,13 +21,13 @@ stdenv.mkDerivation rec { pname = "labwc"; - version = "0.5.0"; + version = "0.5.3"; src = fetchFromGitHub { owner = "labwc"; repo = pname; rev = version; - hash = "sha256-G0EQuXSHftl4JLXKIro+tmhbApwAhlzcjPEL7DP6LHk="; + hash = "sha256-YD2bGxa7uss6KRvOGM0kn8dM+277ubaYeOB7ugRZCcY="; }; nativeBuildInputs = [ diff --git a/nixpkgs/pkgs/applications/window-managers/leftwm/default.nix b/nixpkgs/pkgs/applications/window-managers/leftwm/default.nix index 20f4c33ae60e..c89e140f94e5 100644 --- a/nixpkgs/pkgs/applications/window-managers/leftwm/default.nix +++ b/nixpkgs/pkgs/applications/window-managers/leftwm/default.nix @@ -1,4 +1,4 @@ -{ lib, fetchFromGitHub, rustPlatform, libX11, libXinerama }: +{ stdenv, lib, fetchFromGitHub, rustPlatform, libX11, libXinerama }: let rpathLibs = [ libXinerama libX11 ]; @@ -28,11 +28,12 @@ rustPlatform.buildRustPackage rec { dontPatchELF = true; meta = with lib; { + broken = (stdenv.isLinux && stdenv.isAarch64); description = "A tiling window manager for the adventurer"; homepage = "https://github.com/leftwm/leftwm"; license = licenses.mit; platforms = platforms.linux; - maintainers = with maintainers; [ mschneider ]; + maintainers = with maintainers; [ ]; changelog = "https://github.com/leftwm/leftwm/blob/${version}/CHANGELOG"; }; } diff --git a/nixpkgs/pkgs/applications/window-managers/matchbox/default.nix b/nixpkgs/pkgs/applications/window-managers/matchbox/default.nix index 51bb3010d330..f12ed0ea0a7f 100644 --- a/nixpkgs/pkgs/applications/window-managers/matchbox/default.nix +++ b/nixpkgs/pkgs/applications/window-managers/matchbox/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pkg-config, libmatchbox, libX11, libXext }: +{ lib, stdenv, fetchurl, fetchpatch, pkg-config, libmatchbox, libX11, libXext }: stdenv.mkDerivation rec { pname = "matchbox"; @@ -13,6 +13,15 @@ stdenv.mkDerivation rec { sha256 = "1zyfq438b466ygcz78nvsmnsc5bhg4wcfnpxb43kbkwpyx53m8l1"; }; + patches = [ + # Pull upstream fix for -fno-common tollchains: + (fetchpatch { + name = "fno-common.patch"; + url = "https://git.yoctoproject.org/matchbox-window-manager/patch/?id=844f61069896fe3f549ab425d731c061028f697c"; + sha256 = "1md2s7q094hn4gzg21pfyz8d426y07d5rbx2icas9nvc8jj7bwfc"; + }) + ]; + meta = { description = "X window manager for non-desktop embedded systems"; homepage = "https://www.yoctoproject.org/software-item/matchbox/"; diff --git a/nixpkgs/pkgs/applications/window-managers/oroborus/default.nix b/nixpkgs/pkgs/applications/window-managers/oroborus/default.nix index d24abb68fb7e..fc2517107670 100644 --- a/nixpkgs/pkgs/applications/window-managers/oroborus/default.nix +++ b/nixpkgs/pkgs/applications/window-managers/oroborus/default.nix @@ -1,27 +1,59 @@ -{ lib, stdenv, fetchurl, pkg-config -, freetype, fribidi -, libSM, libICE, libXt, libXaw, libXmu -, libXext, libXft, libXpm, libXrandr -, libXrender, xorgproto, libXinerama }: +{ lib +, stdenv +, fetchurl +, freetype +, fribidi +, libICE +, libSM +, libXaw +, libXext +, libXft +, libXinerama +, libXmu +, libXpm +, libXrandr +, libXrender +, libXt +, pkg-config +, xorgproto +}: -with lib; stdenv.mkDerivation rec { - pname = "oroborus"; version = "2.0.20"; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ freetype fribidi libSM libICE libXt libXaw libXmu libXext - libXft libXpm libXrandr libXrender xorgproto libXinerama ]; - src = fetchurl { url = "mirror://debian/pool/main/o/oroborus/oroborus_${version}.tar.gz"; - sha256 = "12bvk8x8rfnymbfbwmdcrd9g8m1zxbcq7rgvfdkjr0gnpi0aa82j"; + hash = "sha256-UiClQLz2gSxnc/vlg9nqP1T0UsusVb7cqt66jDqae4k=a"; }; - meta = { + nativeBuildInputs = [ pkg-config ]; + + buildInputs = [ + freetype + fribidi + libICE + libSM + libXaw + libXext + libXft + libXinerama + libXmu + libXpm + libXrandr + libXrender + libXt + xorgproto + ]; + + # Workaround build failure on -fno-common toolchains: + # ld: workspaces.o:src/keyboard.h:93: multiple definition of + # `NumLockMask'; client.o:src/keyboard.h:93: first defined here + NIX_CFLAGS_COMPILE = "-fcommon"; + + meta = with lib; { + homepage = "https://web.archive.org/web/20191129172107/https://www.oroborus.org/"; description = "A really minimalistic X window manager"; - homepage = "https://www.oroborus.org/"; license = licenses.gpl2Plus; maintainers = [ maintainers.AndersonTorres ]; platforms = platforms.linux; diff --git a/nixpkgs/pkgs/applications/window-managers/phosh/default.nix b/nixpkgs/pkgs/applications/window-managers/phosh/default.nix index 77a65eef6671..11a5c9b56cad 100644 --- a/nixpkgs/pkgs/applications/window-managers/phosh/default.nix +++ b/nixpkgs/pkgs/applications/window-managers/phosh/default.nix @@ -1,6 +1,7 @@ { lib , stdenv , fetchFromGitLab +, fetchpatch , meson , ninja , pkg-config @@ -31,7 +32,7 @@ stdenv.mkDerivation rec { pname = "phosh"; - version = "0.16.0"; + version = "0.17.0"; src = fetchFromGitLab { domain = "gitlab.gnome.org"; @@ -40,7 +41,7 @@ stdenv.mkDerivation rec { repo = pname; rev = "v${version}"; fetchSubmodules = true; # including gvc and libcall-ui which are designated as subprojects - sha256 = "sha256-nxQYVWUXT1fNgOTRB3iWCLWYI/STk8vtguTbPPNTHdg="; + sha256 = "sha256-o/0NJZo1EPpXguN/tkUc+/9XaVTQWaLGe+2pU0B91Cg="; }; nativeBuildInputs = [ @@ -84,6 +85,19 @@ stdenv.mkDerivation rec { mesonFlags = [ "-Dsystemd=true" "-Dcompositor=${phoc}/bin/phoc" ]; + patches = [ + # build: Adjust to polkit version changes + (fetchpatch { + url = "https://gitlab.gnome.org/World/Phosh/phosh/-/commit/16b46e295b86cbf1beaccf8218cf65ebb4b7a6f1.patch"; + sha256 = "sha256-Db1OEdiI1QBHGEBs1Coi7LTF9bCScdDgxmovpBdIY/g="; + }) + # polkit-auth-agent: Scope cleanup function for PolkitAgentListener + (fetchpatch { + url = "https://gitlab.gnome.org/World/Phosh/phosh/-/commit/b864653df50bfd8f34766fc6b37a3bf32cfbdfa4.patch"; + sha256 = "sha256-YCw3tGk94NAa6PPTmA1lCJVzzi9GC74BmvtTcvuHPh0="; + }) + ]; + postPatch = '' chmod +x build-aux/post_install.py patchShebangs build-aux/post_install.py @@ -113,7 +127,7 @@ stdenv.mkDerivation rec { passthru = { providedSessions = [ - "sm.puri.Phosh" + "sm.puri.Phosh" ]; }; diff --git a/nixpkgs/pkgs/applications/window-managers/qtile/default.nix b/nixpkgs/pkgs/applications/window-managers/qtile/default.nix index d0bec27e215a..93636ae36b01 100644 --- a/nixpkgs/pkgs/applications/window-managers/qtile/default.nix +++ b/nixpkgs/pkgs/applications/window-managers/qtile/default.nix @@ -52,6 +52,7 @@ let setuptools python-dateutil dbus-python + dbus-next mpd2 psutil pyxdg diff --git a/nixpkgs/pkgs/applications/window-managers/shod/default.nix b/nixpkgs/pkgs/applications/window-managers/shod/default.nix new file mode 100644 index 000000000000..f9e6216a86ab --- /dev/null +++ b/nixpkgs/pkgs/applications/window-managers/shod/default.nix @@ -0,0 +1,58 @@ +{ lib +, stdenv +, fetchFromGitHub +, writeText +, fontconfig +, libX11 +, libXft +, libXinerama +, libXpm +, libXrender +, conf ? null +}: + +stdenv.mkDerivation rec { + pname = "shod"; + version = "2.4.0"; + + src = fetchFromGitHub { + owner = "phillbush"; + repo = "shod"; + rev = "v${version}"; + sha256 = "sha256-jrPuI3ADppqaJ2y9GksiJZZd4LtN1P5yjWwlf9VuYDc="; + }; + + buildInputs = [ + fontconfig + libX11 + libXft + libXinerama + libXpm + libXrender + ]; + + postPatch = + let + configFile = + if lib.isDerivation conf || builtins.isPath conf + then conf else writeText "config.h" conf; + in + lib.optionalString (conf != null) "cp ${configFile} config.h"; + + makeFlags = [ "PREFIX=$(out)" ]; + + meta = with lib; { + description = "A mouse-based window manager that can tile windows inside floating containers"; + longDescription = '' + shod is a multi-monitor floating reparenting X11 window manager that + supports tiled and tabbed containers. shod sets no keybindings, reads no + configuration, and works only via mouse with a given key modifier (Alt by + default) and by responding to client messages sent by the shodc utility + (shod's remote controller). + ''; + homepage = "https://github.com/phillbush/shod"; + license = licenses.mit; + maintainers = with maintainers; [ azahi ]; + platforms = platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/applications/window-managers/sommelier/default.nix b/nixpkgs/pkgs/applications/window-managers/sommelier/default.nix new file mode 100644 index 000000000000..0528553b1894 --- /dev/null +++ b/nixpkgs/pkgs/applications/window-managers/sommelier/default.nix @@ -0,0 +1,35 @@ +{ lib, stdenv, fetchzip, meson, ninja, pkg-config, wayland-scanner +, libxkbcommon, mesa, pixman, xorg, wayland, gtest +}: + +stdenv.mkDerivation { + pname = "sommelier"; + version = "104.0"; + + src = fetchzip rec { + url = "https://chromium.googlesource.com/chromiumos/platform2/+archive/${passthru.rev}/vm_tools/sommelier.tar.gz"; + passthru.rev = "af5434fd9903936a534e1316cbd22361e67949ec"; + stripRoot = false; + sha256 = "LungQqHQorHIKpye2SDBLuMHPt45C1cPYcs9o5Hc3cw="; + }; + + nativeBuildInputs = [ meson ninja pkg-config wayland-scanner ]; + buildInputs = [ libxkbcommon mesa pixman wayland xorg.libxcb ]; + + doCheck = true; + checkInputs = [ gtest ]; + + postInstall = '' + rm $out/bin/sommelier_test # why does it install the test binary? o_O + ''; + + passthru.updateScript = ./update.py; + + meta = with lib; { + homepage = "https://chromium.googlesource.com/chromiumos/platform2/+/refs/heads/main/vm_tools/sommelier/"; + description = "Nested Wayland compositor with support for X11 forwarding"; + maintainers = with maintainers; [ qyliss ]; + license = licenses.bsd3; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/applications/window-managers/sommelier/update.py b/nixpkgs/pkgs/applications/window-managers/sommelier/update.py new file mode 100755 index 000000000000..03898c9ccdd8 --- /dev/null +++ b/nixpkgs/pkgs/applications/window-managers/sommelier/update.py @@ -0,0 +1,58 @@ +#! /usr/bin/env nix-shell +#! nix-shell -p common-updater-scripts python3 +#! nix-shell -i python + +import csv +import json +import re +import shlex +import subprocess +from os.path import abspath, dirname, splitext +from urllib.request import urlopen + +# CrOS version numbers look like this: +# [<chrome-major-version>.]<tip-build>.<branch-build>.<branch-branch-build> +# +# As far as I can tell, branches are where internal Google +# modifications are added to turn Chromium OS into Chrome OS, and +# branch branches are used for fixes for specific devices. So for +# Chromium OS they will always be 0. This is a best guess, and is not +# documented. +with urlopen('https://chromiumdash.appspot.com/cros/download_serving_builds_csv?deviceCategory=ChromeOS') as resp: + reader = csv.reader(map(bytes.decode, resp)) + header = reader.__next__() + cr_stable_index = header.index('cr_stable') + cros_stable_index = header.index('cros_stable') + chrome_version = [] + platform_version = [] + + for line in reader: + this_chrome_version = list(map(int, line[cr_stable_index].split('.'))) + this_platform_version = list(map(int, line[cros_stable_index].split('.'))) + chrome_version = max(chrome_version, this_chrome_version) + platform_version = max(platform_version, this_platform_version) + +chrome_major_version = chrome_version[0] +chromeos_tip_build = platform_version[0] +release_branch = f'release-R{chrome_major_version}-{chromeos_tip_build}.B' + +# Determine the git revision. +with urlopen(f'https://chromium.googlesource.com/chromiumos/platform2/+/refs/heads/{release_branch}?format=JSON') as resp: + resp.readline() # Remove )]}' header + rev = json.load(resp)['commit'] + +# Determine the patch version by counting the commits that have been +# added to the release branch since it forked off the chromeos branch. +with urlopen(f'https://chromium.googlesource.com/chromiumos/platform2/+log/refs/heads/main..{rev}/vm_tools/sommelier?format=JSON') as resp: + resp.readline() # Remove )]}' header + branch_commits = json.load(resp)['log'] + version = f'{chrome_major_version}.{len(branch_commits)}' + +# Update the version, git revision, and hash in sommelier's default.nix. +subprocess.run(['update-source-version', 'sommelier', f'--rev={rev}', version]) + +# Find the path to sommelier's default.nix, so Cargo.lock can be written +# into the same directory. +argv = ['nix-instantiate', '--eval', '--json', '-A', 'sommelier.meta.position'] +position = json.loads(subprocess.check_output(argv).decode('utf-8')) +filename = re.match(r'[^:]*', position)[0] diff --git a/nixpkgs/pkgs/applications/window-managers/sway/bg.nix b/nixpkgs/pkgs/applications/window-managers/sway/bg.nix index e98adefa4476..7ef4a7d1f6ad 100644 --- a/nixpkgs/pkgs/applications/window-managers/sway/bg.nix +++ b/nixpkgs/pkgs/applications/window-managers/sway/bg.nix @@ -15,6 +15,7 @@ stdenv.mkDerivation rec { hash = "sha256-Lt/hn/K+CjcmU3Bs5wChiZq0VGNcraH4tSVYsmYnKjc="; }; + strictDeps = true; depsBuildBuild = [ pkg-config ]; nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner ]; buildInputs = [ wayland wayland-protocols cairo gdk-pixbuf ]; diff --git a/nixpkgs/pkgs/applications/window-managers/sway/contrib.nix b/nixpkgs/pkgs/applications/window-managers/sway/contrib.nix index caf34e543b7b..499713f966aa 100644 --- a/nixpkgs/pkgs/applications/window-managers/sway/contrib.nix +++ b/nixpkgs/pkgs/applications/window-managers/sway/contrib.nix @@ -10,6 +10,7 @@ , slurp , grim , jq +, bash , python3Packages }: @@ -27,8 +28,9 @@ grimshot = stdenv.mkDerivation rec { outputs = [ "out" "man" ]; + strictDeps = true; nativeBuildInputs = [ makeWrapper installShellFiles ]; - + buildInputs = [ bash ]; installPhase = '' installManPage contrib/grimshot.1 @@ -60,10 +62,7 @@ grimshot = stdenv.mkDerivation rec { homepage = "https://github.com/swaywm/sway/tree/master/contrib"; license = licenses.mit; platforms = platforms.all; - maintainers = with maintainers; [ - sway-unwrapped.meta.maintainers - evils - ]; + maintainers = sway-unwrapped.meta.maintainers ++ (with maintainers; [ evils ]); }; }; diff --git a/nixpkgs/pkgs/applications/window-managers/sway/default.nix b/nixpkgs/pkgs/applications/window-managers/sway/default.nix index 0503b0c76e5e..3072b3dadd16 100644 --- a/nixpkgs/pkgs/applications/window-managers/sway/default.nix +++ b/nixpkgs/pkgs/applications/window-managers/sway/default.nix @@ -49,6 +49,7 @@ stdenv.mkDerivation rec { ./sway-config-nixos-paths.patch ]; + strictDeps = true; depsBuildBuild = [ pkg-config ]; @@ -90,6 +91,6 @@ stdenv.mkDerivation rec { changelog = "https://github.com/swaywm/sway/releases/tag/${version}"; license = licenses.mit; platforms = platforms.linux; - maintainers = with maintainers; [ primeos synthetica ma27 ]; + maintainers = with maintainers; [ primeos synthetica ]; }; } diff --git a/nixpkgs/pkgs/applications/window-managers/sway/idle.nix b/nixpkgs/pkgs/applications/window-managers/sway/idle.nix index 0928fbcfb4ef..97e3febc7b94 100644 --- a/nixpkgs/pkgs/applications/window-managers/sway/idle.nix +++ b/nixpkgs/pkgs/applications/window-managers/sway/idle.nix @@ -1,6 +1,6 @@ { lib, stdenv, fetchFromGitHub , meson, ninja, pkg-config, scdoc, wayland-scanner -, wayland, wayland-protocols +, wayland, wayland-protocols, runtimeShell , systemdSupport ? stdenv.isLinux, systemd }: @@ -15,12 +15,21 @@ stdenv.mkDerivation rec { sha256 = "06iq12p4438d6bv3jlqsf01wjaxrzlnj1bnicn41kad563aq41xl"; }; + strictDeps = true; nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner ]; buildInputs = [ wayland wayland-protocols ] ++ lib.optionals systemdSupport [ systemd ]; mesonFlags = [ "-Dman-pages=enabled" "-Dlogind=${if systemdSupport then "enabled" else "disabled"}" ]; + # Remove the `%zu` patch for the next release after 1.7.1. + # https://github.com/swaywm/swayidle/commit/e81d40fca7533f73319e76e42fa9694b21cc9e6e + postPatch = '' + substituteInPlace main.c \ + --replace '%lu' '%zu' \ + --replace '"sh"' '"${runtimeShell}"' + ''; + meta = with lib; { description = "Idle management daemon for Wayland"; longDescription = '' diff --git a/nixpkgs/pkgs/applications/window-managers/sway/lock-effects.nix b/nixpkgs/pkgs/applications/window-managers/sway/lock-effects.nix index 25714f1f8a94..6f1f337d23ee 100644 --- a/nixpkgs/pkgs/applications/window-managers/sway/lock-effects.nix +++ b/nixpkgs/pkgs/applications/window-managers/sway/lock-effects.nix @@ -7,6 +7,7 @@ , scdoc , wayland , wayland-protocols +, wayland-scanner , libxkbcommon , cairo , gdk-pixbuf @@ -15,20 +16,21 @@ stdenv.mkDerivation rec { pname = "swaylock-effects"; - version = "1.6-3"; + version = "unstable-2021-10-21"; src = fetchFromGitHub { owner = "mortie"; repo = "swaylock-effects"; - rev = "v${version}"; - sha256 = "sha256-71IX0fC4xCPP6pK63KtvDMb3KoP1rw/Iz3S7BgiLSpg="; + rev = "a8fc557b86e70f2f7a30ca9ff9b3124f89e7f204"; + sha256 = "sha256-GN+cxzC11Dk1nN9wVWIyv+rCrg4yaHnCePRYS1c4JTk="; }; postPatch = '' sed -iE "s/version: '1\.3',/version: '${version}',/" meson.build ''; - nativeBuildInputs = [ meson ninja pkg-config scdoc ]; + strictDeps = true; + nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner]; buildInputs = [ wayland wayland-protocols libxkbcommon cairo gdk-pixbuf pam ]; mesonFlags = [ @@ -45,6 +47,6 @@ stdenv.mkDerivation rec { inherit (src.meta) homepage; license = licenses.mit; platforms = platforms.linux; - maintainers = with maintainers; [ gnxlxnxx ]; + maintainers = with maintainers; [ gnxlxnxx ma27 ]; }; } diff --git a/nixpkgs/pkgs/applications/window-managers/sway/lock-fancy.nix b/nixpkgs/pkgs/applications/window-managers/sway/lock-fancy.nix index 8c2a7e91649a..2eb817b9b1f8 100644 --- a/nixpkgs/pkgs/applications/window-managers/sway/lock-fancy.nix +++ b/nixpkgs/pkgs/applications/window-managers/sway/lock-fancy.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchFromGitHub, coreutils, grim, gawk, jq, swaylock -, imagemagick, getopt, fontconfig, wmctrl, makeWrapper +, imagemagick, getopt, fontconfig, wmctrl, makeWrapper, bash }: let @@ -30,7 +30,9 @@ in stdenv.mkDerivation rec { --replace "/usr/share" "$out/share" ''; + strictDeps = true; nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ bash ]; makeFlags = [ "PREFIX=${placeholder "out"}" ]; @@ -44,6 +46,6 @@ in stdenv.mkDerivation rec { homepage = "https://github.com/Big-B/swaylock-fancy"; license = licenses.mit; platforms = platforms.linux; - maintainers = with maintainers; [ ma27 ]; + maintainers = with maintainers; [ ]; }; } diff --git a/nixpkgs/pkgs/applications/window-managers/sway/lock.nix b/nixpkgs/pkgs/applications/window-managers/sway/lock.nix index b70160b1dbfd..970fdfe371fe 100644 --- a/nixpkgs/pkgs/applications/window-managers/sway/lock.nix +++ b/nixpkgs/pkgs/applications/window-managers/sway/lock.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub +{ lib, stdenv, fetchFromGitHub, fetchpatch , meson, ninja, pkg-config, scdoc, wayland-scanner , wayland, wayland-protocols, libxkbcommon, cairo, gdk-pixbuf, pam }: @@ -14,6 +14,17 @@ stdenv.mkDerivation rec { sha256 = "sha256-VVGgidmSQWKxZNx9Cd6z52apxpxVfmX3Ut/G9kzfDcY="; }; + patches = [ + # remove once when updating to 1.7 + # https://github.com/swaywm/swaylock/pull/235 + (fetchpatch { + url = "https://github.com/swaywm/swaylock/commit/5a1e6ad79aa7d79b32d36cda39400f3e889b8f8f.diff"; + sha256 = "sha256-ZcZVImUzvng7sluC6q2B5UL8sVunLe4PIfc+tyw48RQ="; + }) + ]; + + strictDeps = true; + depsBuildBuild = [ pkg-config ]; nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner ]; buildInputs = [ wayland wayland-protocols libxkbcommon cairo gdk-pixbuf pam ]; diff --git a/nixpkgs/pkgs/applications/window-managers/sway/wrapper.nix b/nixpkgs/pkgs/applications/window-managers/sway/wrapper.nix index c1f531683d70..42384fa06ae2 100644 --- a/nixpkgs/pkgs/applications/window-managers/sway/wrapper.nix +++ b/nixpkgs/pkgs/applications/window-managers/sway/wrapper.nix @@ -37,6 +37,7 @@ in symlinkJoin { paths = (optional withBaseWrapper baseWrapper) ++ [ sway ]; + strictDeps = false; nativeBuildInputs = [ makeWrapper ] ++ (optional withGtkWrapper wrapGAppsHook); diff --git a/nixpkgs/pkgs/applications/window-managers/weston/default.nix b/nixpkgs/pkgs/applications/window-managers/weston/default.nix index 043e2b02a7fb..799c58283d93 100644 --- a/nixpkgs/pkgs/applications/window-managers/weston/default.nix +++ b/nixpkgs/pkgs/applications/window-managers/weston/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, meson, ninja, pkg-config, wayland-scanner, python3 +{ lib, stdenv, fetchurl, fetchpatch, meson, ninja, pkg-config, wayland-scanner, python3 , wayland, libGL, mesa, libxkbcommon, cairo, libxcb , libXcursor, xlibsWrapper, udev, libdrm, mtdev, libjpeg, pam, dbus, libinput, libevdev , colord, lcms2, pipewire ? null @@ -7,16 +7,23 @@ # beware of null defaults, as the parameters *are* supplied by callPackage by default }: -with lib; stdenv.mkDerivation rec { pname = "weston"; - version = "10.0.0"; + version = "10.0.1"; src = fetchurl { - url = "https://wayland.freedesktop.org/releases/${pname}-${version}.tar.xz"; - sha256 = "1bj7wnadr7ssn6xw7k8ki0wpj6np3kjd2pcysfz3h0mr290rc8sw"; + url = "https://gitlab.freedesktop.org/wayland/weston/-/releases/${version}/downloads/weston-${version}.tar.xz"; + sha256 = "05a10gfbadyxkwgsncc5vc343f493csgh10vk0878nl6d98557la"; }; + patches = [ + # Fix race condition in build system + (fetchpatch { + url = "https://gitlab.freedesktop.org/wayland/weston/-/commit/0d3e438d080433ed5d203c876e7de6c7f8a14f98.patch"; + sha256 = "sha256-d9NG1vUIuL4jpXqCo0myz/97JuFYesH+8kJnegQXeMU="; + }) + ]; + nativeBuildInputs = [ meson ninja pkg-config wayland-scanner python3 ]; buildInputs = [ wayland libGL mesa libxkbcommon cairo libxcb libXcursor xlibsWrapper udev libdrm @@ -26,25 +33,25 @@ stdenv.mkDerivation rec { ]; mesonFlags= [ - "-Dbackend-drm-screencast-vaapi=${boolToString (vaapi != null)}" - "-Dbackend-rdp=${boolToString (freerdp != null)}" - "-Dxwayland=${boolToString (xwayland != null)}" # Default is true! + "-Dbackend-drm-screencast-vaapi=${lib.boolToString (vaapi != null)}" + "-Dbackend-rdp=${lib.boolToString (freerdp != null)}" + "-Dxwayland=${lib.boolToString (xwayland != null)}" # Default is true! "-Dremoting=false" # TODO - "-Dpipewire=${boolToString (pipewire != null)}" - "-Dimage-webp=${boolToString (libwebp != null)}" + "-Dpipewire=${lib.boolToString (pipewire != null)}" + "-Dimage-webp=${lib.boolToString (libwebp != null)}" "-Ddemo-clients=false" "-Dsimple-clients=" "-Dtest-junit-xml=false" # TODO: #"--enable-clients" #"--disable-setuid-install" # prevent install target to chown root weston-launch, which fails - ] ++ optionals (xwayland != null) [ + ] ++ lib.optionals (xwayland != null) [ "-Dxwayland-path=${xwayland.out}/bin/Xwayland" ]; passthru.providedSessions = [ "weston" ]; - meta = { + meta = with lib; { description = "A lightweight and functional Wayland compositor"; longDescription = '' Weston is the reference implementation of a Wayland compositor, as well diff --git a/nixpkgs/pkgs/applications/window-managers/wmfs/default.nix b/nixpkgs/pkgs/applications/window-managers/wmfs/default.nix index 83c7d787d882..eaafac71b6c1 100644 --- a/nixpkgs/pkgs/applications/window-managers/wmfs/default.nix +++ b/nixpkgs/pkgs/applications/window-managers/wmfs/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, gnumake, +{ lib, stdenv, fetchFromGitHub, fetchpatch, libX11, libXinerama, libXrandr, libXpm, libXft, imlib2 }: stdenv.mkDerivation { pname = "wmfs"; @@ -12,8 +12,15 @@ stdenv.mkDerivation { rev = "b7b8ff812d28c79cb22a73db2739989996fdc6c2"; }; - nativeBuildInputs = [ - gnumake + patches = [ + # Pull patch pending upstream inclusion to fix build on + # -fno-common toolchain like upstream gcc-10: + # https://github.com/xorg62/wmfs/pull/104 + (fetchpatch { + name = "fno-common.patch"; + url = "https://github.com/xorg62/wmfs/commit/e4ec12618f4689d791892ebb49df9610a25d24d3.patch"; + sha256 = "0qvwry9sikvr85anzha9x4gcx0r2ckwdxqw2in2l6bl9z9d9c0w2"; + }) ]; buildInputs = [ diff --git a/nixpkgs/pkgs/applications/window-managers/wmii-hg/default.nix b/nixpkgs/pkgs/applications/window-managers/wmii-hg/default.nix deleted file mode 100644 index 6759e15ee833..000000000000 --- a/nixpkgs/pkgs/applications/window-managers/wmii-hg/default.nix +++ /dev/null @@ -1,46 +0,0 @@ -{ lib, stdenv, fetchurl, unzip, pkg-config, libixp_hg, txt2tags, dash, python2, which -, libX11 , libXrender, libXext, libXinerama, libXrandr, libXft }: - -stdenv.mkDerivation rec { - rev = "2823"; - version = "hg-2012-12-09"; - pname = "wmii"; - - src = fetchurl { - url = "https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/wmii/source-archive.zip"; - sha256 = "1wmkq14zvmfrmydl8752xz852cy7agrx3qp4fy2cc5asb2r9abaz"; - }; - - # for dlopen-ing - patchPhase = '' - substituteInPlace lib/libstuff/x11/xft.c --replace "libXft.so" "$(pkg-config --variable=libdir xft)/libXft.so.2" - substituteInPlace cmd/wmii.sh.sh --replace "\$(which which)" "${which}/bin/which" - ''; - - configurePhase = '' - for file in $(grep -lr '#!.*sh'); do - sed -i 's|#!.*sh|#!${dash}/bin/dash|' $file - done - - cat <<EOF >> config.mk - PREFIX = $out - LIBIXP = ${libixp_hg}/lib/libixp.a - BINSH = ${dash}/bin/dash - EOF - ''; - - nativeBuildInputs = [ pkg-config unzip ]; - buildInputs = [ libixp_hg txt2tags dash python2 which - libX11 libXrender libXext libXinerama libXrandr libXft ]; - - # For some reason including mercurial in buildInputs did not help - makeFlags = [ "WMII_HGVERSION=hg${rev}" ]; - - meta = { - homepage = "https://suckless.org/"; # https://wmii.suckless.org/ does not exist anymore - description = "A small window manager controlled by a 9P filesystem"; - maintainers = with lib.maintainers; [ kovirobi ]; - license = lib.licenses.mit; - platforms = with lib.platforms; linux; - }; -} diff --git a/nixpkgs/pkgs/applications/window-managers/wmii/default.nix b/nixpkgs/pkgs/applications/window-managers/wmii/default.nix new file mode 100644 index 000000000000..11f669da37a6 --- /dev/null +++ b/nixpkgs/pkgs/applications/window-managers/wmii/default.nix @@ -0,0 +1,72 @@ +{ lib, stdenv +, fetchFromGitHub +, dash +, libX11 +, libXext +, libXft +, libXinerama +, libXrandr +, libXrender +, libixp +, pkg-config +, txt2tags +, unzip +, which +}: + +stdenv.mkDerivation rec { + pname = "wmii"; + version = "unstable-2022-04-04"; + + src = fetchFromGitHub { + owner = "0intro"; + repo = "wmii"; + rev = "ff120c7fee6e1b3a30a4a800074394327fb1da9d"; + hash = "sha256-KEmWnobpT/5TdgT2HGPCpG1duz9Q6Z6PFSEBs2Ce+7g="; + }; + + # for dlopen-ing + postPatch = '' + substituteInPlace lib/libstuff/x11/xft.c --replace "libXft.so" "$(pkg-config --variable=libdir xft)/libXft.so.2" + substituteInPlace cmd/wmii.sh.sh --replace "\$(which which)" "${which}/bin/which" + ''; + + postConfigure = '' + for file in $(grep -lr '#!.*sh'); do + sed -i 's|#!.*sh|#!${dash}/bin/dash|' $file + done + + cat <<EOF >> config.mk + PREFIX = $out + LIBIXP = ${libixp}/lib/libixp.a + BINSH = ${dash}/bin/dash + EOF + ''; + + # Remove optional python2 functionality + postInstall = '' + rm -rf $out/lib/python* $out/etc/wmii-hg/python + ''; + + nativeBuildInputs = [ pkg-config unzip ]; + buildInputs = [ + dash + libX11 + libXext + libXft + libXinerama + libXrandr + libXrender + libixp + txt2tags + which + ]; + + meta = { + homepage = "https://github.com/0intro/wmii"; + description = "A small, scriptable window manager, with a 9P filesystem interface and an acme-like layout"; + maintainers = with lib.maintainers; [ kovirobi ]; + license = lib.licenses.mit; + platforms = with lib.platforms; linux; + }; +} diff --git a/nixpkgs/pkgs/applications/window-managers/xmonad/wrapper.nix b/nixpkgs/pkgs/applications/window-managers/xmonad/wrapper.nix index 409bf73c893f..9167b95ddff8 100644 --- a/nixpkgs/pkgs/applications/window-managers/xmonad/wrapper.nix +++ b/nixpkgs/pkgs/applications/window-managers/xmonad/wrapper.nix @@ -11,7 +11,7 @@ in stdenv.mkDerivation { buildCommand = '' install -D ${xmonadEnv}/share/man/man1/xmonad.1.gz $out/share/man/man1/xmonad.1.gz makeWrapper ${xmonadEnv}/bin/xmonad $out/bin/xmonad \ - --set NIX_GHC "${xmonadEnv}/bin/ghc" \ + --set XMONAD_GHC "${xmonadEnv}/bin/ghc" \ --set XMONAD_XMESSAGE "${xmessage}/bin/xmessage" ''; diff --git a/nixpkgs/pkgs/applications/window-managers/xmonad/xmonadctl.nix b/nixpkgs/pkgs/applications/window-managers/xmonad/xmonadctl.nix new file mode 100644 index 000000000000..da1e414d8416 --- /dev/null +++ b/nixpkgs/pkgs/applications/window-managers/xmonad/xmonadctl.nix @@ -0,0 +1,30 @@ +{ stdenv, lib, fetchFromGitHub, ghcWithPackages, ... }: + +let xmonadctlEnv = ghcWithPackages (self: [ self.xmonad-contrib self.X11 ]); +in stdenv.mkDerivation rec { + pname = "xmonadctl"; + version = "0.17.0"; + + src = fetchFromGitHub { + owner = "xmonad"; + repo = "xmonad-contrib"; + rev = "v${version}"; + sha256 = "142ycg7dammq98drimv6xbih8dla9qindxds9fgkspmrrils3sar"; + }; + + installPhase = '' + runHook preInstall + mkdir -p $out/bin + ${xmonadctlEnv}/bin/ghc -o $out/bin/xmonadctl \ + --make scripts/xmonadctl.hs + runHook postInstall + ''; + + meta = with lib; { + platforms = platforms.unix; + description = "Send commands to a running instance of xmonad"; + homepage = "https://github.com/xmonad/xmonad-contrib"; + license = licenses.bsd3; + maintainers = [ maintainers.ajgrf ]; + }; +} diff --git a/nixpkgs/pkgs/applications/window-managers/yeahwm/default.nix b/nixpkgs/pkgs/applications/window-managers/yeahwm/default.nix index 3cf997c22c29..25a25a06ad9e 100644 --- a/nixpkgs/pkgs/applications/window-managers/yeahwm/default.nix +++ b/nixpkgs/pkgs/applications/window-managers/yeahwm/default.nix @@ -24,6 +24,11 @@ stdenv.mkDerivation rec { prefix="${placeholder "out"}" ) ''; + # Workaround build failure on -fno-common toolchains like upstream + # gcc-10. Otherwise build fails as: + # ld: screen.o:(.bss+0x40): multiple definition of `fg'; client.o:(.bss+0x40): first defined here + NIX_CFLAGS_COMPILE = "-fcommon"; + postInstall = '' gzip -9 --stdout yeahwm.1 > yeahwm.1.gz install -m644 yeahwm.1.gz ${placeholder "out"}/share/man/man1/ |