From d27e67743931d352e5857b605d44657668fa9013 Mon Sep 17 00:00:00 2001 From: stuebinm Date: Tue, 4 Jun 2024 21:14:49 +0200 Subject: all: jump to nixpkgs 24.05 this does a lot of things, most of which are maintenance: - sources update - adjust newly-renamed options - swap some packages that were removed / renamed - update nomsring to newer default ghc - remove the deprecated lib.mdDoc from modules/*.nix - disable the nixpkgs mollysocket module so my own keeps evaluating - bundle the package definition of hikari & wlroots 0.15, which nixpkgs has removed as unmaintained (in fairness, they are unmaintained) --- pkgs/hikari.nix | 66 ++++++++++++++++++++++++++++++++++++++++++++ pkgs/nomsring/nomsring.cabal | 2 +- pkgs/overlay.nix | 17 ++++++++---- 3 files changed, 79 insertions(+), 6 deletions(-) create mode 100644 pkgs/hikari.nix (limited to 'pkgs') diff --git a/pkgs/hikari.nix b/pkgs/hikari.nix new file mode 100644 index 0000000..2adebe9 --- /dev/null +++ b/pkgs/hikari.nix @@ -0,0 +1,66 @@ +{ lib, stdenv, fetchzip +, pkg-config, bmake +, cairo, glib, libevdev, libinput, libxkbcommon, linux-pam, pango, pixman +, libucl, wayland, wayland-protocols, wlroots, mesa +, features ? { + gammacontrol = true; + layershell = true; + screencopy = true; + xwayland = true; + } +}: + +stdenv.mkDerivation rec { + pname = "hikari"; + version = "2.3.3"; + + src = fetchzip { + url = "https://hikari.acmelabs.space/releases/${pname}-${version}.tar.gz"; + sha256 = "sha256-5Ug0U3ESC5F/gj7bahnLYkeY/weSCj0QASwdFuWwdMI="; + }; + + nativeBuildInputs = [ pkg-config bmake ]; + + buildInputs = [ + cairo + glib + libevdev + libinput + libxkbcommon + linux-pam + pango + pixman + libucl + mesa # for libEGL + wayland + wayland-protocols + wlroots + ]; + + patches = [ ./patches/hikari-gtk4.patch ]; + + enableParallelBuilding = true; + + makeFlags = with lib; [ "PREFIX=$(out)" "DEBUG=YES" ] + ++ optional stdenv.isLinux "WITH_POSIX_C_SOURCE=YES" + ++ mapAttrsToList (feat: enabled: + optionalString enabled "WITH_${toUpper feat}=YES" + ) features; + + postPatch = '' + # 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. + substituteInPlace Makefile --replace '4555' '555' + + sed -i 's@@@' src/*.c + ''; + + meta = with lib; { + description = "package definition kept around since it was removed in nixpkgs"; + homepage = "https://hikari.acmelabs.space"; + license = licenses.bsd2; + platforms = platforms.linux ++ platforms.freebsd; + maintainers = with maintainers; [ jpotier ]; + }; +} diff --git a/pkgs/nomsring/nomsring.cabal b/pkgs/nomsring/nomsring.cabal index 0ee04a3..fca40c5 100644 --- a/pkgs/nomsring/nomsring.cabal +++ b/pkgs/nomsring/nomsring.cabal @@ -13,7 +13,7 @@ common warnings executable nomsring import: warnings main-is: Main.hs - build-depends: base ^>=4.17.2.1 + build-depends: base ^>=4.18 , cgi ^>=3001.5 , data-clist ^>= 0.2 default-language: GHC2021 diff --git a/pkgs/overlay.nix b/pkgs/overlay.nix index 53e8022..5379bbf 100644 --- a/pkgs/overlay.nix +++ b/pkgs/overlay.nix @@ -34,11 +34,6 @@ in galmon-core = self.callPackage ./galmon.nix {}; galmon-full = self.callPackage ./galmon.nix { buildAll = true; }; - hikari = super.hikari.overrideAttrs (old: { - makeFlags = old.makeFlags ++ [ "DEBUG=YES" ]; - patches = [ ./patches/hikari-gtk4.patch ]; - }); - akkoma-fe = super.akkoma-frontends.akkoma-fe.overrideAttrs (old: { patches = [ ./patches/akkoma-fe-toki-pona.patch ]; }); @@ -209,6 +204,18 @@ in [ "PREFIX=$(out)" "WITH_POSIX_C_SOURCE=YES" "WITH_GAMMACONTROL=YES" "WITH_LAYERSHELL=YES" "WITH_SCREENCOPY=YES" ]; })).override { wlroots = unstable.wlroots_0_16; stdenv = self.clangStdenv; }; + hikari = self.callPackage ./hikari.nix { wlroots = self.wlroots_0_15; }; + + wlroots_0_15 = (self.wlroots_0_16.overrideAttrs rec { + version = "0.15.1"; + src = self.fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + owner = "wlroots"; + repo = "wlroots"; + rev = version; + hash = "sha256-MFR38UuB/wW7J9ODDUOfgTzKLse0SSMIRYTpEaEdRwM="; + }; + }); travelynx = self.callPackage ./travelynx.nix {}; -- cgit v1.2.3