1 { lib, stdenv, fetchFromGitLab, pkg-config, xfce4-dev-tools, hicolor-icon-theme, xfce, wrapGAppsHook3, gitUpdater }:
6 , attrPath ? "xfce.${pname}"
7 , rev-prefix ? "${pname}-"
8 , rev ? "${rev-prefix}${version}"
11 , patchlevel-unstable ? true
18 inherit (builtins) filter getAttr head isList;
19 inherit (lib) attrNames concatLists recursiveUpdate zipAttrsWithNames;
21 filterAttrNames = f: attrs:
22 filter (n: f (getAttr n attrs)) (attrNames attrs);
24 concatAttrLists = attrsets:
25 zipAttrsWithNames (filterAttrNames isList (head attrsets)) (_: concatLists) attrsets;
28 nativeBuildInputs = [ pkg-config xfce4-dev-tools wrapGAppsHook3 ];
29 buildInputs = [ hicolor-icon-theme ];
30 configureFlags = [ "--enable-maintainer-mode" ];
32 src = fetchFromGitLab {
33 domain = "gitlab.xfce.org";
39 enableParallelBuilding = true;
40 outputs = [ "out" "dev" ];
42 pos = builtins.unsafeGetAttrPos "pname" args;
45 updateScript = gitUpdater {
46 inherit rev-prefix odd-unstable patchlevel-unstable;
51 homepage = "https://gitlab.xfce.org/${category}/${pname}";
52 license = licenses.gpl2Plus; # some libraries are under LGPLv2+
53 platforms = platforms.linux;
57 publicArgs = removeAttrs args [ "category" "sha256" ];
60 stdenv.mkDerivation (publicArgs // template // concatAttrLists [ template args ])
61 # TODO [ AndersonTorres ]: verify if it allows using hash attribute as an option to sha256