From b067c371ed2444cc57d0da690c8ddf7333370f03 Mon Sep 17 00:00:00 2001 From: polykernel <81340136+polykernel@users.noreply.github.com> Date: Sat, 7 Aug 2021 14:38:31 -0400 Subject: [PATCH 1/4] fuzzel: use fetchFromGitea instead of fetchgit --- pkgs/applications/misc/fuzzel/default.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/misc/fuzzel/default.nix b/pkgs/applications/misc/fuzzel/default.nix index daf5beb2fa7..3c7a33ce26d 100644 --- a/pkgs/applications/misc/fuzzel/default.nix +++ b/pkgs/applications/misc/fuzzel/default.nix @@ -1,11 +1,14 @@ -{ stdenv, lib, fetchzip, pkg-config, meson, ninja, wayland, pixman, cairo, librsvg, wayland-protocols, wlroots, libxkbcommon, scdoc, git, tllist, fcft}: +{ stdenv, lib, fetchFromGitea, pkg-config, meson, ninja, wayland, pixman, cairo, librsvg, wayland-protocols, wlroots, libxkbcommon, scdoc, git, tllist, fcft}: stdenv.mkDerivation rec { pname = "fuzzel"; version = "1.6.1"; - src = fetchzip { - url = "https://codeberg.org/dnkl/fuzzel/archive/${version}.tar.gz"; + src = fetchFromGitea { + domain = "codeberg.org"; + owner = "dnkl"; + repo = "fuzzel"; + rev = version; sha256 = "sha256-JW5sAlTprSRIdFbmSaUreGtNccERgQMGEW+WCSscYQk="; }; From 187760e07a9f50f29ffc7f6a08f849367d4dbe81 Mon Sep 17 00:00:00 2001 From: polykernel <81340136+polykernel@users.noreply.github.com> Date: Sat, 7 Aug 2021 14:40:56 -0400 Subject: [PATCH 2/4] fuzzel: refactor derivation for long formal argument and list --- pkgs/applications/misc/fuzzel/default.nix | 40 +++++++++++++++++++++-- 1 file changed, 37 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/misc/fuzzel/default.nix b/pkgs/applications/misc/fuzzel/default.nix index 3c7a33ce26d..32030d68240 100644 --- a/pkgs/applications/misc/fuzzel/default.nix +++ b/pkgs/applications/misc/fuzzel/default.nix @@ -1,4 +1,21 @@ -{ stdenv, lib, fetchFromGitea, pkg-config, meson, ninja, wayland, pixman, cairo, librsvg, wayland-protocols, wlroots, libxkbcommon, scdoc, git, tllist, fcft}: +{ stdenv +, lib +, fetchFromGitea +, pkg-config +, meson +, ninja +, wayland +, pixman +, cairo +, librsvg +, wayland-protocols +, wlroots +, libxkbcommon +, scdoc +, git +, tllist +, fcft +}: stdenv.mkDerivation rec { pname = "fuzzel"; @@ -12,8 +29,25 @@ stdenv.mkDerivation rec { sha256 = "sha256-JW5sAlTprSRIdFbmSaUreGtNccERgQMGEW+WCSscYQk="; }; - nativeBuildInputs = [ pkg-config meson ninja scdoc git ]; - buildInputs = [ wayland pixman cairo librsvg wayland-protocols wlroots libxkbcommon tllist fcft ]; + nativeBuildInputs = [ + pkg-config + meson + ninja + scdoc + git + ]; + + buildInputs = [ + wayland + pixman + cairo + librsvg + wayland-protocols + wlroots + libxkbcommon + tllist + fcft + ]; meta = with lib; { description = "Wayland-native application launcher, similar to rofi’s drun mode"; From 1531e34bdfd607b7e2f7d990cd5be8c3d2461a3f Mon Sep 17 00:00:00 2001 From: polykernel <81340136+polykernel@users.noreply.github.com> Date: Sat, 7 Aug 2021 14:50:59 -0400 Subject: [PATCH 3/4] fuzzel: refactor dependencies * Remove unnecessary dependencies, and add wayland-scanner for gluing wayland protocol XML files. * Added optional flags for cairo, png and svg support respectively and specify build type. --- pkgs/applications/misc/fuzzel/default.nix | 32 +++++++++++++++++------ 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/misc/fuzzel/default.nix b/pkgs/applications/misc/fuzzel/default.nix index 32030d68240..666fdf35d6b 100644 --- a/pkgs/applications/misc/fuzzel/default.nix +++ b/pkgs/applications/misc/fuzzel/default.nix @@ -4,19 +4,28 @@ , pkg-config , meson , ninja +, wayland-scanner , wayland , pixman -, cairo -, librsvg , wayland-protocols -, wlroots , libxkbcommon , scdoc -, git , tllist , fcft +, enableCairo ? true +, enablePNG ? true +, enableSVG ? true +# Optional dependencies +, cairo +, librsvg +, libpng }: +let + # Courtesy of sternenseemann and FRidh, commit c9a7fdfcfb420be8e0179214d0d91a34f5974c54 + mesonFeatureFlag = opt: b: "-D${opt}=${if b then "enabled" else "disabled"}"; +in + stdenv.mkDerivation rec { pname = "fuzzel"; version = "1.6.1"; @@ -31,22 +40,29 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config + wayland-scanner meson ninja scdoc - git ]; buildInputs = [ wayland pixman - cairo - librsvg wayland-protocols - wlroots libxkbcommon tllist fcft + ] ++ lib.optional enableCairo cairo + ++ lib.optional enablePNG libpng + ++ lib.optional enableSVG librsvg; + + mesonBuildType = "release"; + + mesonFlags = [ + (mesonFeatureFlag "enable-cairo" enableCairo) + (mesonFeatureFlag "enable-png" enablePNG) + (mesonFeatureFlag "enable-svg" enableSVG) ]; meta = with lib; { From 609eb35c3264fed87474af4b1034f1347d8f57e7 Mon Sep 17 00:00:00 2001 From: polykernel <81340136+polykernel@users.noreply.github.com> Date: Sat, 7 Aug 2021 15:22:07 -0400 Subject: [PATCH 4/4] fuzzel: add polykernel to maintainers list --- pkgs/applications/misc/fuzzel/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/misc/fuzzel/default.nix b/pkgs/applications/misc/fuzzel/default.nix index 666fdf35d6b..e43304c5bc1 100644 --- a/pkgs/applications/misc/fuzzel/default.nix +++ b/pkgs/applications/misc/fuzzel/default.nix @@ -69,7 +69,7 @@ stdenv.mkDerivation rec { description = "Wayland-native application launcher, similar to rofi’s drun mode"; homepage = "https://codeberg.org/dnkl/fuzzel"; license = licenses.mit; - maintainers = with maintainers; [ fionera ]; + maintainers = with maintainers; [ fionera polykernel ]; platforms = with platforms; linux; changelog = "https://codeberg.org/dnkl/fuzzel/releases/tag/${version}"; };