diff options
Diffstat (limited to 'pkgs/applications/window-managers')
-rw-r--r-- | pkgs/applications/window-managers/herbstluftwm/default.nix | 4 | ||||
-rw-r--r-- | pkgs/applications/window-managers/hikari/default.nix | 75 | ||||
-rw-r--r-- | pkgs/applications/window-managers/i3/pystatus.nix | 40 |
3 files changed, 104 insertions, 15 deletions
diff --git a/pkgs/applications/window-managers/herbstluftwm/default.nix b/pkgs/applications/window-managers/herbstluftwm/default.nix index 7dc715e126cd..e547cea3c54c 100644 --- a/pkgs/applications/window-managers/herbstluftwm/default.nix +++ b/pkgs/applications/window-managers/herbstluftwm/default.nix @@ -8,11 +8,11 @@ assert withDoc -> asciidoc != null; stdenv.mkDerivation rec { pname = "herbstluftwm"; - version = "0.8.1"; + version = "0.8.3"; src = fetchurl { url = "https://herbstluftwm.org/tarballs/herbstluftwm-${version}.tar.gz"; - sha256 = "0c1lf82z6a56g8asin91cmqhzk3anw0xwc44b31bpjixadmns57y"; + sha256 = "1qmb4pjf2f6g0dvcg11cw9njwmxblhqzd70ai8qnlgqw1iz3nkm1"; }; outputs = [ diff --git a/pkgs/applications/window-managers/hikari/default.nix b/pkgs/applications/window-managers/hikari/default.nix new file mode 100644 index 000000000000..274c75a3c13c --- /dev/null +++ b/pkgs/applications/window-managers/hikari/default.nix @@ -0,0 +1,75 @@ +{ stdenv, fetchzip, + pkgconfig, bmake, + cairo, glib, libevdev, libinput, libxkbcommon, linux-pam, pango, pixman, + libucl, wayland, wayland-protocols, wlroots, + features ? { + gammacontrol = true; + layershell = true; + screencopy = true; + xwayland = true; + } +}: + +let + pname = "hikari"; + version = "2.0.2"; +in + +stdenv.mkDerivation { + inherit pname version; + + src = fetchzip { + url = "https://hikari.acmelabs.space/releases/${pname}-${version}.tar.gz"; + sha256 = "1a3i01936pw11hrmjmrhzzwpndl1jqjgx376m5m724wd1j9awm68"; + }; + + nativeBuildInputs = [ pkgconfig bmake ]; + + buildInputs = [ + cairo + glib + libevdev + libinput + libxkbcommon + linux-pam + pango + pixman + libucl + wayland + wayland-protocols + wlroots + ]; + + enableParallelBuilding = true; + + # Must replace GNU Make by bmake + buildPhase = with stdenv.lib; concatStringsSep " " ( + [ "bmake" "-j$NIX_BUILD_CORES" "PREFIX=$out" ] + ++ optional stdenv.isLinux "WITH_POSIX_C_SOURCE=YES" + ++ mapAttrsToList (feat: enabled: + optionalString enabled "WITH_${toUpper feat}=YES" + ) features + ); + + # Can't suid in nix store + # Run hikari as root (it will drop privileges as early as possible), or create + # a systemd unit to give it the necessary permissions/capabilities. + patchPhase = '' + substituteInPlace Makefile --replace '4555' '555' + ''; + + installPhase = '' + bmake \ + PREFIX=$out \ + install + runHook postInstall + ''; + + meta = with stdenv.lib; { + description = "Stacking Wayland compositor which is actively developed on FreeBSD but also supports Linux"; + homepage = "https://hikari.acmelabs.space"; + license = licenses.bsd2; + platforms = platforms.linux ++ platforms.freebsd; + maintainers = with maintainers; [ jpotier ]; + }; +} diff --git a/pkgs/applications/window-managers/i3/pystatus.nix b/pkgs/applications/window-managers/i3/pystatus.nix index 29bda8e4e2b0..beefdaf891c6 100644 --- a/pkgs/applications/window-managers/i3/pystatus.nix +++ b/pkgs/applications/window-managers/i3/pystatus.nix @@ -1,31 +1,45 @@ -{ stdenv, fetchFromGitHub, libpulseaudio, python3Packages, extraLibs ? [] }: +{ stdenv +, fetchFromGitHub +, libpulseaudio +, libnotify +, gobject-introspection +, python3Packages +, wrapGAppsHook +, extraLibs ? [] }: python3Packages.buildPythonApplication rec { # i3pystatus moved to rolling release: # https://github.com/enkore/i3pystatus/issues/584 - version = "unstable-2019-06-10"; + version = "unstable-2020-06-12"; pname = "i3pystatus"; - src = fetchFromGitHub - { + src = fetchFromGitHub { owner = "enkore"; repo = "i3pystatus"; - rev = "56ce08d0ff8d5d64950d6b588ebede35a95e0ce2"; - sha256 = "12938860jbcly1xwhd71jvy2dff28pwv9kqh6mab1859148bzmcg"; + rev = "dad5eb0c5c8a2ecd20c37ade4732586c6e53f44b"; + sha256 = "18ygvkl92yr69kxsym57k1mc90asdxpz4b943i61qr0s4fc5n4mq"; }; - propagatedBuildInputs = with python3Packages; [ keyring colour netifaces psutil basiciw ] ++ - [ libpulseaudio ] ++ extraLibs; + buildInputs = [ libpulseaudio libnotify gobject-introspection ]; - libpulseaudioPath = stdenv.lib.makeLibraryPath [ libpulseaudio ]; - ldWrapperSuffix = "--suffix LD_LIBRARY_PATH : \"${libpulseaudioPath}\""; - # LC_TIME != C results in locale.Error: unsupported locale setting - makeWrapperArgs = [ "--set LC_TIME C" ldWrapperSuffix ]; # libpulseaudio.so is loaded manually + propagatedBuildInputs = with python3Packages; [ + keyring colour netifaces psutil basiciw pygobject3 + ] ++ extraLibs; + + makeWrapperArgs = [ + # LC_TIME != C results in locale.Error: unsupported locale setting + "--set" "LC_TIME" "C" + "--suffix" "LD_LIBRARY_PATH" ":" "${stdenv.lib.makeLibraryPath [ libpulseaudio ]}" + ]; + + postPatch = '' + makeWrapperArgs+=(--set GI_TYPELIB_PATH "$GI_TYPELIB_PATH") + ''; postInstall = '' makeWrapper ${python3Packages.python.interpreter} $out/bin/${pname}-python-interpreter \ --prefix PYTHONPATH : "$PYTHONPATH" \ - ${ldWrapperSuffix} + ''${makeWrapperArgs[@]} ''; # no tests in tarball |