From 2643082af4edab6d76dc1400312105f5735a348e Mon Sep 17 00:00:00 2001 From: "EEva (JPotier)" Date: Wed, 3 Jun 2020 17:09:25 +0300 Subject: hikari: init at 2.0.2 --- .../window-managers/hikari/default.nix | 75 ++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 77 insertions(+) create mode 100644 pkgs/applications/window-managers/hikari/default.nix 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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fe2a3831c164..0c7690bf3efa 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -20205,6 +20205,8 @@ in pulseSupport = config.pulseaudio or false; }; + hikari = callPackage ../applications/window-managers/hikari { }; + i3 = callPackage ../applications/window-managers/i3 { xcb-util-cursor = if stdenv.isDarwin then xcb-util-cursor-HEAD else xcb-util-cursor; }; -- cgit 1.4.1