nixpkgs/pkgs/desktops/xfce/mkXfceDerivation.nix
worldofpeace ac70cd728c xfce4-14: move to xfce and have only one version of xfce
All code that was at xfce4-14 has been moved to xfce/*.
Old expressions that aren't rewritten might be abandoned or broken.

Additonally I've ported the xfce4-14 thunar expression to support
thunarPlugins. We can now support this interface in the Xfce module
again, although I'm not sure if we have any plugins packaged that support
latest thunar.
2019-11-19 18:47:02 -05:00

41 lines
1.2 KiB
Nix

{ stdenv, fetchgit, pkgconfig, xfce4-dev-tools, hicolor-icon-theme, wrapGAppsHook }:
{ category, pname, version, rev ? "${pname}-${version}", sha256, ... } @ args:
let
inherit (builtins) filter getAttr head isList;
inherit (stdenv.lib) attrNames concatLists recursiveUpdate zipAttrsWithNames;
filterAttrNames = f: attrs:
filter (n: f (getAttr n attrs)) (attrNames attrs);
concatAttrLists = attrsets:
zipAttrsWithNames (filterAttrNames isList (head attrsets)) (_: concatLists) attrsets;
template = {
name = "${pname}-${version}";
nativeBuildInputs = [ pkgconfig xfce4-dev-tools wrapGAppsHook ];
buildInputs = [ hicolor-icon-theme ];
configureFlags = [ "--enable-maintainer-mode" ];
src = fetchgit {
url = "git://git.xfce.org/${category}/${pname}";
inherit rev sha256;
};
enableParallelBuilding = true;
outputs = [ "out" "dev" ];
meta = with stdenv.lib; {
homepage = "https://git.xfce.org/${category}/${pname}/about";
license = licenses.gpl2; # some libraries are under LGPLv2+
platforms = platforms.linux;
};
};
publicArgs = removeAttrs args [ "category" "pname" "sha256" ];
in
stdenv.mkDerivation (recursiveUpdate template publicArgs // concatAttrLists [ template args ])