uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead

https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948
this can do it nicely.

Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
Anton Arapov 2021-04-03 12:58:10 +02:00 committed by Alan Daniels
commit 56de2bcd43
30691 changed files with 3076956 additions and 0 deletions

View file

@ -0,0 +1,67 @@
{ lib, fetchurl, file, which, intltool, gobject-introspection,
findutils, xdg-utils, dconf, gtk3, python3Packages, xfconf,
wrapGAppsHook
}:
python3Packages.buildPythonApplication rec {
pname = "catfish";
version = "4.16.3";
src = fetchurl {
url = "https://archive.xfce.org/src/apps/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "sha256-6amaYtEJgTkVCN1D88v6LVCmm9a30e7vfTC6TGc9z9o=";
};
nativeBuildInputs = [
python3Packages.distutils_extra
file
which
intltool
gobject-introspection # for setup hook populating GI_TYPELIB_PATH
wrapGAppsHook
];
buildInputs = [
gtk3
dconf
python3Packages.pyxdg
python3Packages.ptyprocess
python3Packages.pycairo
gobject-introspection # Temporary fix, see https://github.com/NixOS/nixpkgs/issues/56943
];
propagatedBuildInputs = [
python3Packages.dbus-python
python3Packages.pygobject3
python3Packages.pexpect
xdg-utils
findutils
xfconf
];
# Explicitly set the prefix dir in "setup.py" because setuptools is
# not using "$out" as the prefix when installing catfish data. In
# particular the variable "__catfish_data_directory__" in
# "catfishconfig.py" is being set to a subdirectory in the python
# path in the store.
postPatch = ''
sed -i "/^ if self.root/i\\ self.prefix = \"$out\"" setup.py
'';
# Disable check because there is no test in the source distribution
doCheck = false;
meta = with lib; {
homepage = "https://docs.xfce.org/apps/catfish/start";
description = "Handy file search tool";
longDescription = ''
Catfish is a handy file searching tool. The interface is
intentionally lightweight and simple, using only GTK 3.
You can configure it to your needs by using several command line
options.
'';
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,18 @@
{ lib, mkXfceDerivation, gtk3, glib }:
mkXfceDerivation {
category = "apps";
pname = "gigolo";
version = "0.5.2";
odd-unstable = false;
sha256 = "sha256-8UDb4H3zxRKx2y+MRsozQoR3es0fs5ooR/5wBIE11bY=";
buildInputs = [ gtk3 glib ];
meta = with lib; {
description = "A frontend to easily manage connections to remote filesystems";
license = with licenses; [ gpl2Only ];
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,22 @@
{ lib, mkXfceDerivation, gobject-introspection, gtk3, gtksourceview4, gspell }:
mkXfceDerivation {
category = "apps";
pname = "mousepad";
version = "0.5.9";
odd-unstable = false;
sha256 = "sha256-xuSv2H1+/NNUAm+D8f+f5fPVR97iJ5vIDzPa3S0HLM0=";
nativeBuildInputs = [ gobject-introspection ];
buildInputs = [ gtk3 gtksourceview4 gspell ];
# Use the GSettings keyfile backend rather than DConf
configureFlags = [ "--enable-keyfile-settings" ];
meta = with lib; {
description = "Simple text editor for Xfce";
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,48 @@
{ lib
, mkXfceDerivation
, dbus-glib
, gtk3
, libical
, libnotify
, libxfce4ui
, popt
, tzdata
, xfce4-panel
, withPanelPlugin ? true
}:
mkXfceDerivation {
category = "apps";
pname = "orage";
version = "4.16.0";
odd-unstable = false;
sha256 = "sha256-Q2vTjfhbhG7TrkGeU5oVBB+UvrV5QFtl372wgHU4cxw=";
buildInputs = [
dbus-glib
gtk3
libical
libnotify
libxfce4ui
popt
]
++ lib.optionals withPanelPlugin [
xfce4-panel
];
postPatch = ''
substituteInPlace src/parameters.c --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
substituteInPlace src/tz_zoneinfo_read.c --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
substituteInPlace tz_convert/tz_convert.c --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
'';
postConfigure = ''
# ensure pkgs.libical is used instead of one included in the orage sources
rm -rf libical
'';
meta = with lib; {
description = "Simple calendar application for Xfce";
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,38 @@
{ lib, mkXfceDerivation, dbus, dbus-glib
, gst_all_1, gtk3, libnotify, libxfce4ui, libxfce4util
, taglib, xfconf }:
# Doesn't seem to find H.264 codec even though built with gst-plugins-bad.
mkXfceDerivation {
category = "apps";
pname = "parole";
version = "4.16.0";
sha256 = "sha256-9Rvhc8asFEb/+OU6uhuHKPl7w5mWBfzGP5ia0tiyDB4=";
postPatch = ''
substituteInPlace src/plugins/mpris2/Makefile.am \
--replace GST_BASE_CFLAGS GST_VIDEO_CFLAGS
'';
buildInputs = with gst_all_1; [
dbus
dbus-glib
gst-plugins-bad
gst-plugins-base
gst-plugins-good
gst-plugins-ugly
gtk3
libnotify
libxfce4ui
libxfce4util
taglib
xfconf
];
meta = with lib; {
description = "Modern simple media player";
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,19 @@
{ lib, mkXfceDerivation, gtk3, glib, libexif
, libxfce4ui, libxfce4util, xfconf }:
mkXfceDerivation {
category = "apps";
pname = "ristretto";
version = "0.12.2";
sha256 = "sha256-OIt92DpDAZpy/fAOauGnzsufUi+y3Ag7KblZ5EUGuyQ=";
buildInputs = [ glib gtk3 libexif libxfce4ui libxfce4util xfconf ];
NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
meta = with lib; {
description = "A fast and lightweight picture-viewer for the Xfce desktop environment";
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,17 @@
{ lib, mkXfceDerivation, docbook_xsl, exo, gtk3, libburn, libisofs, libxfce4ui, libxslt }:
mkXfceDerivation {
category = "apps";
pname = "xfburn";
version = "0.6.2";
sha256 = "sha256-AUonNhMs2HBF1WBLdZNYmASTOxYt6A6WDKNtvZaGXQk=";
nativeBuildInputs = [ libxslt docbook_xsl ];
buildInputs = [ exo gtk3 libburn libisofs libxfce4ui ];
meta = with lib; {
description = "Disc burner and project creator for Xfce";
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,11 @@
diff -urNZ a/configure.ac.in b/configure.ac.in
--- a/configure.ac.in 2017-12-16 19:46:13.784914017 +0000
+++ b/configure.ac.in 2017-12-16 19:46:38.612477052 +0000
@@ -53,6 +53,7 @@
dnl ***********************************
dnl *** Check for required packages ***
dnl ***********************************
+XDT_CHECK_PACKAGE([GIO], [gio-unix-2.0], [2.32.0])
XDT_CHECK_PACKAGE([GTHREAD], [gthread-2.0], [2.24.0])
XDT_CHECK_PACKAGE([GTK], [gtk+-3.0], [3.20.0])
XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-2], [4.12.0])

View file

@ -0,0 +1,24 @@
{ lib, mkXfceDerivation, automakeAddFlags, gtk3, libxfce4ui, libxfce4util, xfce4-panel }:
mkXfceDerivation {
category = "apps";
pname = "xfce4-dict";
version = "0.8.4";
sha256 = "sha256-UEkHB+i6hkTTjX62GCnr4uiCdZANuffSx2Nb2DF/pT4=";
patches = [ ./configure-gio.patch ];
nativeBuildInputs = [ automakeAddFlags ];
postPatch = ''
automakeAddFlags lib/Makefile.am libdict_la_CFLAGS GIO_CFLAGS
'';
buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel ];
meta = with lib; {
description = "A Dictionary Client for the Xfce desktop environment";
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,21 @@
{ lib, mkXfceDerivation, glib, gtk3, libnotify, libxfce4ui, libxfce4util
, xfce4-panel, xfconf }:
mkXfceDerivation {
category = "apps";
pname = "xfce4-notifyd";
version = "0.6.3";
sha256 = "sha256-JcHxqKLl4F4FQv7lE64gWUorCvl5g5mSD+jEmj1ORfY=";
buildInputs = [ gtk3 glib libnotify libxfce4ui libxfce4util xfce4-panel xfconf ];
configureFlags = [
"--enable-dbus-start-daemon"
];
meta = with lib; {
description = "Simple notification daemon for Xfce";
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,30 @@
{ mkXfceDerivation, lib, python3, intltool, gettext,
gtk3, libxfce4ui, libxfce4util, pango, harfbuzz, gdk-pixbuf, atk }:
let
pythonEnv = python3.withPackages(ps: [ ps.pygobject3 ]);
makeTypelibPath = lib.makeSearchPathOutput "lib/girepository-1.0" "lib/girepository-1.0";
in mkXfceDerivation {
category = "apps";
pname = "xfce4-panel-profiles";
version = "1.0.13";
sha256 = "sha256-B3Q5d3KBN5m8wY82CIbIugJC8nNS+OcgKchn+TGrDhc=";
nativeBuildInputs = [ intltool gettext ];
propagatedBuildInputs = [ pythonEnv ];
configurePhase = ''
./configure --prefix=$out
'';
postFixup = ''
wrapProgram $out/bin/xfce4-panel-profiles \
--set GI_TYPELIB_PATH ${makeTypelibPath [ gtk3 libxfce4ui libxfce4util pango harfbuzz gdk-pixbuf atk ]}
'';
meta = with lib; {
description = "Simple application to manage Xfce panel layouts";
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,49 @@
{ mkXfceDerivation
, dbus-glib
, garcon
, glib
, gtk3
, libX11
, libXScrnSaver
, libXrandr
, libwnck
, libxfce4ui
, libxklavier
, pam
, systemd
, xfconf
, lib
}:
mkXfceDerivation {
category = "apps";
pname = "xfce4-screensaver";
version = "4.16.0";
sha256 = "1vblqhhzhv85yd5bz1xg14yli82ys5qrjdcabg3l53glbk61n99p";
buildInputs = [
dbus-glib
garcon
glib
gtk3
libX11
libXScrnSaver
libXrandr
libwnck
libxfce4ui
libxklavier
pam
systemd
xfconf
];
configureFlags = [ "--without-console-kit" ];
makeFlags = [ "DBUS_SESSION_SERVICE_DIR=$(out)/etc" ];
meta = {
description = "Screensaver for Xfce";
maintainers = with lib.maintainers; [ symphorien ];
};
}

View file

@ -0,0 +1,17 @@
{ lib, mkXfceDerivation, exo, gtk3, libsoup, libxfce4ui, libxfce4util, xfce4-panel, glib-networking }:
mkXfceDerivation {
category = "apps";
pname = "xfce4-screenshooter";
version = "1.9.10";
odd-unstable = false;
sha256 = "sha256-i3QdQij58JYv3fWdESUeTV0IW3A8RVGNtmuxUc6FUMg=";
buildInputs = [ exo gtk3 libsoup libxfce4ui libxfce4util xfce4-panel glib-networking ];
meta = with lib; {
description = "Screenshot utility for the Xfce desktop";
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,17 @@
{ lib, mkXfceDerivation, exo, gtk3, libwnck, libXmu }:
mkXfceDerivation {
category = "apps";
pname = "xfce4-taskmanager";
version = "1.4.2";
sha256 = "sha256-jcICXPtG/7t0U0xqgvU52mjiA8wsyw7JQ0OmNjwA89A=";
nativeBuildInputs = [ exo ];
buildInputs = [ gtk3 libwnck libXmu ];
meta = with lib; {
description = "Easy to use task manager for Xfce";
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,20 @@
{ lib, mkXfceDerivation, gtk3, libxfce4ui, vte, xfconf, pcre2, libxslt, docbook_xml_dtd_45, docbook_xsl, nixosTests }:
mkXfceDerivation {
category = "apps";
pname = "xfce4-terminal";
version = "1.0.4";
sha256 = "sha256-eCb6KB9fFPuYzNLUm/yYrh+0D60ISzasnv/myStImEI=";
nativeBuildInputs = [ libxslt docbook_xml_dtd_45 docbook_xsl ];
buildInputs = [ gtk3 libxfce4ui vte xfconf pcre2 ];
passthru.tests.test = nixosTests.terminal-emulators.xfce4-terminal;
meta = with lib; {
description = "A modern terminal emulator";
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,17 @@
{ lib, mkXfceDerivation, gtk3, libnotify, libpulseaudio, keybinder3, xfconf }:
mkXfceDerivation {
category = "apps";
pname = "xfce4-volumed-pulse";
version = "0.2.3";
sha256 = "sha256-EgmTk19p9OBmz3rWQB0LoPhhoDm4u1V6/vvgitOzUuc=";
buildInputs = [ gtk3 libnotify libpulseaudio keybinder3 xfconf ];
meta = with lib; {
description = "A volume keys control daemon for Xfce using pulseaudio";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ abbradar ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,47 @@
{ lib
, mkXfceDerivation
, clutter
, libXcomposite
, libXinerama
, libXdamage
, libX11
, libwnck
, libxfce4ui
, libxfce4util
, garcon
, xfconf
, gtk3
, glib
, dbus-glib
}:
mkXfceDerivation {
category = "apps";
pname = "xfdashboard";
version = "0.9.5";
rev-prefix = "";
odd-unstable = false;
sha256 = "sha256-nb1zY78MUjEOJF59MYIOY1rxo3JFmzH9yTJVUGsOwOA=";
buildInputs = [
clutter
dbus-glib
garcon
glib
gtk3
libX11
libXcomposite
libXdamage
libXinerama
libwnck
libxfce4ui
libxfce4util
xfconf
];
meta = with lib; {
description = "Gnome shell like dashboard";
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,40 @@
{ lib, stdenv, fetchurl, pkg-config, intltool, gtk3, gnome-icon-theme, tango-icon-theme, hicolor-icon-theme, xfce }:
let
category = "art";
in
stdenv.mkDerivation rec {
pname = "xfce4-icon-theme";
version = "4.4.3";
src = fetchurl {
url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "sha256-1HhmktVrilY/ZqXyYPHxOt4R6Gx4y8slqfml/EfPZvo=";
};
nativeBuildInputs = [
pkg-config
intltool
gtk3
];
buildInputs = [
gnome-icon-theme
tango-icon-theme
hicolor-icon-theme
# missing parent icon theme Industrial
];
dontDropIconThemeCache = true;
passthru.updateScript = xfce.archiveUpdater { inherit category pname version; };
meta = with lib; {
homepage = "https://www.xfce.org/";
description = "Icons for Xfce";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ eelco ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,25 @@
{ lib, stdenv, fetchurl, xfce }:
let
category = "art";
in
stdenv.mkDerivation rec {
pname = "xfwm4-themes";
version = "4.10.0";
src = fetchurl {
url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "sha256-MhTV8A6XA7XoyefDKH1gbe3scoXOtNXbMy6TraZv1XU=";
};
passthru.updateScript = xfce.archiveUpdater { inherit category pname version; };
meta = with lib; {
homepage = "https://www.xfce.org/";
description = "Themes for Xfce";
license = licenses.gpl3Only;
platforms = platforms.linux;
maintainers = with maintainers; [ volth ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,7 @@
automakeAddFlags() {
local file="$1"
local target="$2"
local source="$3"
sed "/$target/a\$($source) \\\\" -i $file
}

View file

@ -0,0 +1,32 @@
{ lib, mkXfceDerivation, docbook_xsl, glib, libxslt, gtk3
, libxfce4ui, libxfce4util, perl }:
mkXfceDerivation {
category = "xfce";
pname = "exo";
version = "4.16.3";
sha256 = "sha256-PG3GWpZ04sX4HrgAy2Sqcb+vdhiNk7C3YP7KpwgHj+g=";
nativeBuildInputs = [
libxslt
docbook_xsl
];
buildInputs = [
gtk3
glib
libxfce4ui
libxfce4util
(perl.withPackages(ps: with ps; [ URI ])) # for $out/lib/xfce4/exo/exo-compose-mail
];
# Workaround https://bugzilla.xfce.org/show_bug.cgi?id=15825
NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
meta = with lib; {
description = "Application library for Xfce";
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,19 @@
{ lib, mkXfceDerivation, gobject-introspection, gtk3, libxfce4ui, libxfce4util }:
mkXfceDerivation {
category = "xfce";
pname = "garcon";
version = "4.16.1";
sha256 = "sha256-KimO6w82lkUBSzJbBMI3W8w1eXPARE1oVyJEUk6olow=";
nativeBuildInputs = [ gobject-introspection ];
buildInputs = [ gtk3 libxfce4ui libxfce4util ];
meta = with lib; {
description = "Xfce menu support library";
license = with licenses; [ lgpl2Only fdl11Only ];
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,24 @@
{ lib, mkXfceDerivation, gobject-introspection, vala, gtk3, libICE, libSM
, libstartup_notification, libgtop, libepoxy, libxfce4util, xfconf }:
mkXfceDerivation {
category = "xfce";
pname = "libxfce4ui";
version = "4.16.1";
sha256 = "sha256-5mwyC3YA1LvdVSvaHN7CXDJh+IXjmdHGLKzhpjtUZkw=";
nativeBuildInputs = [ gobject-introspection vala ];
buildInputs = [ gtk3 libstartup_notification libgtop libepoxy xfconf ];
propagatedBuildInputs = [ libxfce4util libICE libSM ];
configureFlags = [
"--with-vendor-info='NixOS'"
];
meta = with lib; {
description = "Widgets library for Xfce";
license = with licenses; [ lgpl2Plus lgpl21Plus ];
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,17 @@
{ lib, mkXfceDerivation, gobject-introspection, vala }:
mkXfceDerivation {
category = "xfce";
pname = "libxfce4util";
version = "4.16.0";
sha256 = "sha256-q2vH4k1OiergjITOaA9+m92C3Q/sbPoKVrAFxG60Gtw=";
nativeBuildInputs = [ gobject-introspection vala ];
meta = with lib; {
description = "Extension library for Xfce";
license = licenses.lgpl2Plus;
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,18 @@
{ lib, mkXfceDerivation, exo, gtk3, libgudev, libxfce4ui, libxfce4util, xfconf }:
mkXfceDerivation {
category = "xfce";
pname = "thunar-volman";
version = "4.16.0";
buildInputs = [ exo gtk3 libgudev libxfce4ui libxfce4util xfconf ];
sha256 = "sha256-A9APQ5FLshb+MXQErCExegax6hqbHnlfI2hgtnWfVgA=";
odd-unstable = false;
meta = with lib; {
description = "Thunar extension for automatic management of removable drives and media";
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,71 @@
{ mkXfceDerivation
, lib
, docbook_xsl
, exo
, gdk-pixbuf
, gtk3
, libgudev
, libnotify
, libX11
, libxfce4ui
, libxfce4util
, libxslt
, pcre
, xfconf
, gobject-introspection
, makeWrapper
, symlinkJoin
, thunarPlugins ? []
}:
let unwrapped = mkXfceDerivation {
category = "xfce";
pname = "thunar";
version = "4.16.11";
sha256 = "sha256-xan0HuHYLVArx3dGzzxsCjQ8eWsXNk0LtZGAejA2iGI=";
nativeBuildInputs = [
docbook_xsl
gobject-introspection
libxslt
];
buildInputs = [
exo
gdk-pixbuf
gtk3
libX11
libgudev
libnotify
libxfce4ui
libxfce4util
pcre
xfconf
];
patches = [
./thunarx_plugins_directory.patch
];
# the desktop file … is in an insecure location»
# which pops up when invoking desktop files that are
# symlinks to the /nix/store
#
# this error was added by this commit:
# https://github.com/xfce-mirror/thunar/commit/1ec8ff89ec5a3314fcd6a57f1475654ddecc9875
postPatch = ''
sed -i -e 's|thunar_dialogs_show_insecure_program (parent, _(".*"), file, exec)|1|' thunar/thunar-file.c
'';
meta = with lib; {
description = "Xfce file manager";
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
};
in if thunarPlugins == [] then unwrapped
else import ./wrapper.nix {
inherit makeWrapper symlinkJoin thunarPlugins lib;
thunar = unwrapped;
}

View file

@ -0,0 +1,48 @@
diff --git a/thunarx/thunarx-provider-factory.c b/thunarx/thunarx-provider-factory.c
index 94b11545..1f66c982 100644
--- a/thunarx/thunarx-provider-factory.c
+++ b/thunarx/thunarx-provider-factory.c
@@ -150,12 +150,19 @@ static GList*
thunarx_provider_factory_load_modules (ThunarxProviderFactory *factory)
{
ThunarxProviderModule *module;
+ const gchar *thunar_dir;
const gchar *name;
GList *modules = NULL;
GList *lp;
GDir *dp;
- dp = g_dir_open (THUNARX_DIRECTORY, 0, NULL);
+ thunar_dir = g_getenv("THUNARX_MODULE_DIR");
+ if (NULL == thunar_dir)
+ {
+ thunar_dir = THUNARX_DIRECTORY;
+ }
+
+ dp = g_dir_open (thunar_dir, 0, NULL);
if (G_LIKELY (dp != NULL))
{
/* determine the types for all existing plugins */
diff --git a/thunarx/thunarx-provider-module.c b/thunarx/thunarx-provider-module.c
index 023ad2ae..b1d1be8f 100644
--- a/thunarx/thunarx-provider-module.c
+++ b/thunarx/thunarx-provider-module.c
@@ -174,10 +174,17 @@ static gboolean
thunarx_provider_module_load (GTypeModule *type_module)
{
ThunarxProviderModule *module = THUNARX_PROVIDER_MODULE (type_module);
+ const gchar *thunar_dir;
gchar *path;
+ thunar_dir = g_getenv("THUNARX_MODULE_DIR");
+ if (NULL == thunar_dir)
+ {
+ thunar_dir = THUNARX_DIRECTORY;
+ }
+
/* load the module using the runtime link editor */
- path = g_build_filename (THUNARX_DIRECTORY, type_module->name, NULL);
+ path = g_build_filename (thunar_dir, type_module->name, NULL);
module->library = g_module_open (path, G_MODULE_BIND_LAZY | G_MODULE_BIND_LOCAL);
g_free (path);

View file

@ -0,0 +1,41 @@
{ lib, makeWrapper, symlinkJoin, thunar, thunarPlugins }:
symlinkJoin {
name = "thunar-with-plugins-${thunar.version}";
paths = [ thunar ] ++ thunarPlugins;
nativeBuildInputs = [ makeWrapper ];
postBuild = ''
wrapProgram "$out/bin/thunar" \
--set "THUNARX_MODULE_DIR" "$out/lib/thunarx-3"
wrapProgram "$out/bin/thunar-settings" \
--set "THUNARX_MODULE_DIR" "$out/lib/thunarx-3"
# NOTE: we need to remove the folder symlink itself and create
# a new folder before trying to substitute any file below.
rm -f "$out/lib/systemd/user"
mkdir -p "$out/lib/systemd/user"
# point to wrapped binary in all service files
for file in "lib/systemd/user/thunar.service" \
"share/dbus-1/services/org.xfce.FileManager.service" \
"share/dbus-1/services/org.xfce.Thunar.FileManager1.service" \
"share/dbus-1/services/org.xfce.Thunar.service"
do
rm -f "$out/$file"
substitute "${thunar}/$file" "$out/$file" \
--replace "${thunar}" "$out"
done
'';
meta = with lib; {
inherit (thunar.meta) homepage license platforms maintainers;
description = thunar.meta.description + optionalString
(0 != length thunarPlugins)
" (with plugins: ${concatStringsSep ", " (map (x: x.name) thunarPlugins)})";
};
}

View file

@ -0,0 +1,40 @@
{ lib
, mkXfceDerivation
, ffmpegthumbnailer
, gdk-pixbuf
, glib
, freetype
, libgsf
, poppler
, gst_all_1
}:
# TODO: add libopenraw
mkXfceDerivation {
category = "xfce";
pname = "tumbler";
version = "4.16.0";
sha256 = "sha256-JLcmYjStF9obDoRHsxnZ1e9HPTeJUVKjnn5Ip1BBmPw=";
buildInputs = [
ffmpegthumbnailer
freetype
gdk-pixbuf
glib
gst_all_1.gst-plugins-base
libgsf
poppler # technically the glib binding
];
# WrapGAppsHook won't touch this binary automatically, so we wrap manually.
postFixup = ''
wrapProgram $out/lib/tumbler-1/tumblerd "''${gappsWrapperArgs[@]}"
'';
meta = with lib; {
description = "A D-Bus thumbnailer service";
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,17 @@
{ lib, mkXfceDerivation, exo, garcon, gtk3, libxfce4util, libxfce4ui, xfconf }:
mkXfceDerivation {
category = "xfce";
pname = "xfce4-appfinder";
version = "4.16.1";
sha256 = "sha256-Xr8iiCDQYmxiLR2+TeuJggV1dLM/U4b7u7kpvFWT+uQ=";
nativeBuildInputs = [ exo ];
buildInputs = [ garcon gtk3 libxfce4ui libxfce4util xfconf ];
meta = with lib; {
description = "Appfinder for the Xfce4 Desktop Environment";
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,42 @@
{ lib
, mkXfceDerivation
, autoreconfHook
, libxslt
, docbook_xsl
, autoconf
, automake
, glib
, gtk-doc
, intltool
, libtool
}:
mkXfceDerivation {
category = "xfce";
pname = "xfce4-dev-tools";
version = "4.16.0";
sha256 = "sha256-5r9dJfCgXosXoOAtNg1kaPWgFEAmyw/pWTtdG+K1h3A=";
nativeBuildInputs = [
autoreconfHook
libxslt
docbook_xsl
];
propagatedBuildInputs = [
autoconf
automake
glib
gtk-doc
intltool
libtool
];
setupHook = ./setup-hook.sh;
meta = with lib; {
description = "Autoconf macros and scripts to augment app build systems";
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,12 @@
xdtEnvHook() {
addToSearchPath ACLOCAL_PATH $1/share/aclocal
}
envHooks+=(xdtEnvHook)
xdtAutogenPhase() {
mkdir -p m4
NOCONFIGURE=1 xdt-autogen
}
preConfigurePhases+=(xdtAutogenPhase)

View file

@ -0,0 +1,59 @@
{ lib
, mkXfceDerivation
, exo
, garcon
, glib
, gobject-introspection
, gtk3
, libdbusmenu-gtk3
, libwnck
, libxfce4ui
, libxfce4util
, tzdata
, vala
, xfconf
}:
mkXfceDerivation {
category = "xfce";
pname = "xfce4-panel";
version = "4.16.4";
sha256 = "sha256-DlGcec5oUPDMzVztADw9fROmBIIO7isZ8gZEMGeDVcA=";
nativeBuildInputs = [
gobject-introspection
vala
];
buildInputs = [
exo
garcon
libdbusmenu-gtk3
libxfce4ui
libwnck
xfconf
tzdata
];
propagatedBuildInputs = [
glib
gtk3
libxfce4util
];
patches = [ ./xfce4-panel-datadir.patch ];
postPatch = ''
substituteInPlace plugins/clock/clock.c \
--replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
'';
# Workaround https://bugzilla.xfce.org/show_bug.cgi?id=15825
NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
meta = with lib; {
description = "Panel for the Xfce desktop environment";
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,24 @@
diff --git a/panel/panel-module-factory.c b/panel/panel-module-factory.c
index 529fe85..8c792b7 100644
--- a/panel/panel-module-factory.c
+++ b/panel/panel-module-factory.c
@@ -39,6 +39,7 @@
#include <panel/panel-module.h>
#include <panel/panel-module-factory.h>
+#define DATADIR "/run/current-system/sw/share/xfce4"
#define PANEL_PLUGINS_DATA_DIR (DATADIR G_DIR_SEPARATOR_S "panel" G_DIR_SEPARATOR_S "plugins")
#define PANEL_PLUGINS_DATA_DIR_OLD (DATADIR G_DIR_SEPARATOR_S "panel-plugins")
diff --git a/panel/panel-module.c b/panel/panel-module.c
index ba39320..519440b 100644
--- a/panel/panel-module.c
+++ b/panel/panel-module.c
@@ -35,6 +35,7 @@
#include <panel/panel-plugin-external-wrapper.h>
#include <panel/panel-plugin-external-46.h>
+#define LIBDIR "/run/current-system/sw/lib/xfce4"
#define PANEL_PLUGINS_LIB_DIR (LIBDIR G_DIR_SEPARATOR_S "panel" G_DIR_SEPARATOR_S "plugins")
#define PANEL_PLUGINS_LIB_DIR_OLD (LIBDIR G_DIR_SEPARATOR_S "panel-plugins")

View file

@ -0,0 +1,24 @@
{ lib, mkXfceDerivation, automakeAddFlags, exo, gtk3, libnotify
, libxfce4ui, libxfce4util, upower, xfconf, xfce4-panel }:
mkXfceDerivation {
category = "xfce";
pname = "xfce4-power-manager";
version = "4.16.0";
sha256 = "sha256-Qk++1db+agiU99p+QW8/WNnNqFVejV/BcnmgvfoB3OU=";
nativeBuildInputs = [ automakeAddFlags exo ];
buildInputs = [ gtk3 libnotify libxfce4ui libxfce4util upower xfconf xfce4-panel ];
postPatch = ''
substituteInPlace configure.ac.in --replace gio-2.0 gio-unix-2.0
automakeAddFlags src/Makefile.am xfce4_power_manager_CFLAGS GIO_CFLAGS
automakeAddFlags settings/Makefile.am xfce4_power_manager_settings_CFLAGS GIO_CFLAGS
'';
meta = with lib; {
description = "A power manager for the Xfce Desktop Environment";
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,23 @@
{ lib, mkXfceDerivation, polkit, exo, libxfce4util, libxfce4ui, xfconf, iceauth, gtk3, glib, libwnck, xfce4-session }:
mkXfceDerivation {
category = "xfce";
pname = "xfce4-session";
version = "4.16.0";
sha256 = "sha256-LIRAQ1YAkAHwIzC5NYV/0iFLkAP5V96wuTIrYTGbGy0=";
buildInputs = [ exo gtk3 glib libxfce4ui libxfce4util libwnck xfconf polkit iceauth ];
configureFlags = [ "--with-xsession-prefix=${placeholder "out"}" ];
# See https://github.com/NixOS/nixpkgs/issues/36468
NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
passthru.xinitrc = "${xfce4-session}/etc/xdg/xfce4/xinitrc";
meta = with lib; {
description = "Session manager for Xfce";
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,41 @@
{ lib, mkXfceDerivation, exo, garcon, gtk3, glib
, libnotify, libxfce4ui, libxfce4util, libxklavier
, upower, xfconf, xf86inputlibinput }:
mkXfceDerivation {
category = "xfce";
pname = "xfce4-settings";
version = "4.16.2";
sha256 = "sha256-DkybMfkgsC8fJuhOWLzKO5f2Y8YtqzUXMH/npTv21yY=";
postPatch = ''
for f in xfsettingsd/pointers.c dialogs/mouse-settings/main.c; do
substituteInPlace $f --replace \"libinput-properties.h\" '<xorg/libinput-properties.h>'
done
'';
buildInputs = [
exo
garcon
glib
gtk3
libnotify
libxfce4ui
libxfce4util
libxklavier
upower
xf86inputlibinput
xfconf
];
configureFlags = [
"--enable-pluggable-dialogs"
"--enable-sound-settings"
];
meta = with lib; {
description = "Settings manager for Xfce";
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,18 @@
{ lib, mkXfceDerivation, libxfce4util, gobject-introspection, vala }:
mkXfceDerivation {
category = "xfce";
pname = "xfconf";
version = "4.16.0";
sha256 = "sha256-w8wnHFj1KBX6lCnGbVLgWPEo2ul4SwfemUYVHioTlwE=";
nativeBuildInputs = [ gobject-introspection vala ];
buildInputs = [ libxfce4util ];
meta = with lib; {
description = "Simple client-server configuration storage and query system for Xfce";
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,26 @@
{ lib, mkXfceDerivation, exo, gtk3, libxfce4ui, libxfce4util, libwnck, xfconf, libnotify, garcon, thunar }:
mkXfceDerivation {
category = "xfce";
pname = "xfdesktop";
version = "4.16.0";
sha256 = "sha256-w/JNjyAlxZqfVpm8EBt+ieHhUziOtfd//XHzIjJjy/4=";
buildInputs = [
exo
gtk3
libxfce4ui
libxfce4util
libwnck
xfconf
libnotify
garcon
thunar
];
meta = with lib; {
description = "Xfce's desktop manager";
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,31 @@
{ lib, mkXfceDerivation, exo, librsvg, dbus-glib, libepoxy, gtk3, libXdamage
, libstartup_notification, libxfce4ui, libxfce4util, libwnck
, libXpresent, xfconf }:
mkXfceDerivation {
category = "xfce";
pname = "xfwm4";
version = "4.16.1";
sha256 = "sha256-CwRJk+fqu3iC4Vb6fKGOIZZk2hxTqYF3sNvm6WKqHdI=";
nativeBuildInputs = [ exo librsvg ];
buildInputs = [
dbus-glib
libepoxy
gtk3
libXdamage
libstartup_notification
libxfce4ui
libxfce4util
libwnck
libXpresent
xfconf
];
meta = with lib; {
description = "Window manager for Xfce";
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,219 @@
{ config, lib, pkgs }:
lib.makeScope pkgs.newScope (self: with self; {
#### NixOS support
genericUpdater = pkgs.genericUpdater;
archiveUpdater = { category, pname, version }:
pkgs.httpTwoLevelsUpdater {
inherit pname version;
attrPath = "xfce.${pname}";
url = "https://archive.xfce.org/src/${category}/${pname}";
};
mkXfceDerivation = callPackage ./mkXfceDerivation.nix { };
automakeAddFlags = pkgs.makeSetupHook { } ./automakeAddFlags.sh;
#### CORE
exo = callPackage ./core/exo { };
garcon = callPackage ./core/garcon { };
libxfce4ui = callPackage ./core/libxfce4ui { };
libxfce4util = callPackage ./core/libxfce4util { };
thunar = callPackage ./core/thunar {
thunarPlugins = [];
};
thunar-volman = callPackage ./core/thunar-volman { };
thunar-archive-plugin = callPackage ./thunar-plugins/archive { };
thunar-dropbox-plugin = callPackage ./thunar-plugins/dropbox { };
thunar-media-tags-plugin = callPackage ./thunar-plugins/media-tags { };
tumbler = callPackage ./core/tumbler { };
xfce4-panel = callPackage ./core/xfce4-panel { };
xfce4-session = callPackage ./core/xfce4-session { };
xfce4-settings = callPackage ./core/xfce4-settings { };
xfce4-power-manager = callPackage ./core/xfce4-power-manager { };
xfconf = callPackage ./core/xfconf { };
xfdesktop = callPackage ./core/xfdesktop { };
xfwm4 = callPackage ./core/xfwm4 { };
xfce4-appfinder = callPackage ./core/xfce4-appfinder { };
xfce4-dev-tools = callPackage ./core/xfce4-dev-tools {
mkXfceDerivation = mkXfceDerivation.override {
xfce4-dev-tools = null;
};
};
#### APPLICATIONS
catfish = callPackage ./applications/catfish { };
gigolo = callPackage ./applications/gigolo { };
mousepad = callPackage ./applications/mousepad { };
orage = callPackage ./applications/orage { };
parole = callPackage ./applications/parole { };
ristretto = callPackage ./applications/ristretto { };
xfce4-taskmanager = callPackage ./applications/xfce4-taskmanager { };
xfce4-dict = callPackage ./applications/xfce4-dict { };
xfce4-terminal = callPackage ./applications/xfce4-terminal { };
xfce4-screensaver = callPackage ./applications/xfce4-screensaver { };
xfce4-screenshooter = callPackage ./applications/xfce4-screenshooter {
inherit (pkgs.gnome) libsoup;
};
xfdashboard = callPackage ./applications/xfdashboard {};
xfce4-volumed-pulse = callPackage ./applications/xfce4-volumed-pulse { };
xfce4-notifyd = callPackage ./applications/xfce4-notifyd { };
xfburn = callPackage ./applications/xfburn { };
xfce4-panel-profiles = callPackage ./applications/xfce4-panel-profiles { };
#### ART
xfce4-icon-theme = callPackage ./art/xfce4-icon-theme { };
xfwm4-themes = callPackage ./art/xfwm4-themes { };
#### PANEL PLUGINS
xfce4-battery-plugin = callPackage ./panel-plugins/xfce4-battery-plugin { };
xfce4-clipman-plugin = callPackage ./panel-plugins/xfce4-clipman-plugin { };
xfce4-cpufreq-plugin = callPackage ./panel-plugins/xfce4-cpufreq-plugin { };
xfce4-cpugraph-plugin = callPackage ./panel-plugins/xfce4-cpugraph-plugin { };
xfce4-datetime-plugin = callPackage ./panel-plugins/xfce4-datetime-plugin { };
xfce4-dockbarx-plugin = callPackage ./panel-plugins/xfce4-dockbarx-plugin { };
xfce4-embed-plugin = callPackage ./panel-plugins/xfce4-embed-plugin { };
xfce4-eyes-plugin = callPackage ./panel-plugins/xfce4-eyes-plugin { };
xfce4-fsguard-plugin = callPackage ./panel-plugins/xfce4-fsguard-plugin { };
xfce4-genmon-plugin = callPackage ./panel-plugins/xfce4-genmon-plugin { };
xfce4-hardware-monitor-plugin = callPackage ./panel-plugins/xfce4-hardware-monitor-plugin { };
xfce4-i3-workspaces-plugin = callPackage ./panel-plugins/xfce4-i3-workspaces-plugin { };
xfce4-namebar-plugin = callPackage ./panel-plugins/xfce4-namebar-plugin { };
xfce4-netload-plugin = callPackage ./panel-plugins/xfce4-netload-plugin { };
xfce4-notes-plugin = callPackage ./panel-plugins/xfce4-notes-plugin { };
xfce4-mailwatch-plugin = callPackage ./panel-plugins/xfce4-mailwatch-plugin { };
xfce4-mpc-plugin = callPackage ./panel-plugins/xfce4-mpc-plugin { };
xfce4-sensors-plugin = callPackage ./panel-plugins/xfce4-sensors-plugin { };
xfce4-systemload-plugin = callPackage ./panel-plugins/xfce4-systemload-plugin { };
xfce4-timer-plugin = callPackage ./panel-plugins/xfce4-timer-plugin { };
xfce4-verve-plugin = callPackage ./panel-plugins/xfce4-verve-plugin { };
xfce4-xkb-plugin = callPackage ./panel-plugins/xfce4-xkb-plugin { };
xfce4-weather-plugin = callPackage ./panel-plugins/xfce4-weather-plugin { };
xfce4-whiskermenu-plugin = callPackage ./panel-plugins/xfce4-whiskermenu-plugin { };
xfce4-windowck-plugin = callPackage ./panel-plugins/xfce4-windowck-plugin { };
xfce4-pulseaudio-plugin = callPackage ./panel-plugins/xfce4-pulseaudio-plugin { };
} // lib.optionalAttrs config.allowAliases {
#### ALIASES
xinitrc = xfce4-session.xinitrc; # added 2019-11-04
thunar-bare = thunar.override { thunarPlugins = []; }; # added 2019-11-04
}) // lib.optionalAttrs config.allowAliases {
#### Legacy aliases. They need to be outside the scope or they will shadow the attributes from parent scope.
terminal = throw "xfce.terminal has been removed, use xfce.xfce4-terminal instead"; # added 2022-05-24
thunar-build = throw "xfce.thunar-build has been removed, use xfce.thunar-bare instead"; # added 2022-05-24
thunarx-2-dev = throw "xfce.thunarx-2-dev has been removed, use xfce.thunar-bare instead"; # added 2022-05-24
thunar_volman = throw "xfce.thunar_volman has been removed, use xfce.thunar-volman instead"; # added 2022-05-24
xfce4panel = throw "xfce.xfce4panel has been removed, use xfce.xfce4-panel instead"; # added 2022-05-24
xfce4session = throw "xfce.xfce4session has been removed, use xfce.xfce4-session instead"; # added 2022-05-24
xfce4settings = throw "xfce.xfce4settings has been removed, use xfce.xfce4-settings instead"; # added 2022-05-24
xfce4_power_manager = throw "xfce.xfce4_power_manager has been removed, use xfce.xfce4-power-manager instead"; # added 2022-05-24
xfce4_appfinder = throw "xfce.xfce4_appfinder has been removed, use xfce.xfce4-appfinder instead"; # added 2022-05-24
xfce4_dev_tools = throw "xfce.xfce4_dev_tools has been removed, use xfce.xfce4-dev-tools instead"; # added 2022-05-24
xfce4notifyd = throw "xfce.xfce4notifyd has been removed, use xfce.xfce4-notifyd instead"; # added 2022-05-24
xfce4taskmanager = throw "xfce.xfce4taskmanager has been removed, use xfce.xfce4-taskmanager instead"; # added 2022-05-24
xfce4terminal = throw "xfce.xfce4terminal has been removed, use xfce.xfce4-terminal instead"; # added 2022-05-24
xfce4volumed_pulse = throw "xfce.xfce4volumed_pulse has been removed, use xfce.xfce4-volumed-pulse instead"; # added 2022-05-24
xfce4icontheme = throw "xfce.xfce4icontheme has been removed, use xfce.xfce4-icon-theme instead"; # added 2022-05-24
xfwm4themes = throw "xfce.xfwm4themes has been removed, use xfce.xfwm4-themes instead"; # added 2022-05-24
xfce4_battery_plugin = throw "xfce.xfce4_battery_plugin has been removed, use xfce.xfce4-battery-plugin instead"; # added 2022-05-24
xfce4_clipman_plugin = throw "xfce.xfce4_clipman_plugin has been removed, use xfce.xfce4-clipman-plugin instead"; # added 2022-05-24
xfce4_cpufreq_plugin = throw "xfce.xfce4_cpufreq_plugin has been removed, use xfce.xfce4-cpufreq-plugin instead"; # added 2022-05-24
xfce4_cpugraph_plugin = throw "xfce.xfce4_cpugraph_plugin has been removed, use xfce.xfce4-cpugraph-plugin instead"; # added 2022-05-24
xfce4_datetime_plugin = throw "xfce.xfce4_datetime_plugin has been removed, use xfce.xfce4-datetime-plugin instead"; # added 2022-05-24
xfce4_dockbarx_plugin = throw "xfce.xfce4_dockbarx_plugin has been removed, use xfce.xfce4-dockbarx-plugin instead"; # added 2022-05-24
xfce4_embed_plugin = throw "xfce.xfce4_embed_plugin has been removed, use xfce.xfce4-embed-plugin instead"; # added 2022-05-24
xfce4_eyes_plugin = throw "xfce.xfce4_eyes_plugin has been removed, use xfce.xfce4-eyes-plugin instead"; # added 2022-05-24
xfce4_fsguard_plugin = throw "xfce.xfce4_fsguard_plugin has been removed, use xfce.xfce4-fsguard-plugin instead"; # added 2022-05-24
xfce4_genmon_plugin = throw "xfce.xfce4_genmon_plugin has been removed, use xfce.xfce4-genmon-plugin instead"; # added 2022-05-24
xfce4_hardware_monitor_plugin = throw "xfce.xfce4_hardware_monitor_plugin has been removed, use xfce.xfce4-hardware-monitor-plugin instead"; # added 2022-05-24
xfce4_namebar_plugin = throw "xfce.xfce4_namebar_plugin has been removed, use xfce.xfce4-namebar-plugin instead"; # added 2022-05-24
xfce4_netload_plugin = throw "xfce.xfce4_netload_plugin has been removed, use xfce.xfce4-netload-plugin instead"; # added 2022-05-24
xfce4_notes_plugin = throw "xfce.xfce4_notes_plugin has been removed, use xfce.xfce4-notes-plugin instead"; # added 2022-05-24
xfce4_mailwatch_plugin = throw "xfce.xfce4_mailwatch_plugin has been removed, use xfce.xfce4-mailwatch-plugin instead"; # added 2022-05-24
xfce4_mpc_plugin = throw "xfce.xfce4_mpc_plugin has been removed, use xfce.xfce4-mpc-plugin instead"; # added 2022-05-24
xfce4_sensors_plugin = throw "xfce.xfce4_sensors_plugin has been removed, use xfce.xfce4-sensors-plugin instead"; # added 2022-05-24
xfce4_systemload_plugin = throw "xfce.xfce4_systemload_plugin has been removed, use xfce.xfce4-systemload-plugin instead"; # added 2022-05-24
xfce4_timer_plugin = throw "xfce.xfce4_timer_plugin has been removed, use xfce.xfce4-timer-plugin instead"; # added 2022-05-24
xfce4_verve_plugin = throw "xfce.xfce4_verve_plugin has been removed, use xfce.xfce4-verve-plugin instead"; # added 2022-05-24
xfce4_xkb_plugin = throw "xfce.xfce4_xkb_plugin has been removed, use xfce.xfce4-xkb-plugin instead"; # added 2022-05-24
xfce4_weather_plugin = throw "xfce.xfce4_weather_plugin has been removed, use xfce.xfce4-weather-plugin instead"; # added 2022-05-24
xfce4_whiskermenu_plugin = throw "xfce.xfce4_whiskermenu_plugin has been removed, use xfce.xfce4-whiskermenu-plugin instead"; # added 2022-05-24
xfce4_windowck_plugin = throw "xfce.xfce4_windowck_plugin has been removed, use xfce.xfce4-windowck-plugin instead"; # added 2022-05-24
xfce4_pulseaudio_plugin = throw "xfce.xfce4_pulseaudio_plugin has been removed, use xfce.xfce4-pulseaudio-plugin instead"; # added 2022-05-24
libxfce4ui_gtk3 = throw "xfce.libxfce4ui_gtk3 has been removed, use xfce.libxfce4ui instead"; # added 2022-05-24
xfce4panel_gtk3 = throw "xfce.xfce4panel_gtk3 has been removed, use xfce.xfce4-panel instead"; # added 2022-05-24
xfce4_power_manager_gtk3 = throw "xfce.xfce4_power_manager_gtk3 has been removed, use xfce.xfce4-power-manager instead"; # added 2022-05-24
gtk = throw "xfce.gtk has been removed, use gtk2 instead"; # added 2022-05-24
gtksourceview = throw "xfce.gtksourceview has been removed, use gtksourceview instead"; # added 2022-05-24
dconf = throw "xfce.dconf has been removed, use dconf instead"; # added 2022-05-24
vte = throw "xfce.vte has been removed, use vte instead"; # added 2022-05-24
}

View file

@ -0,0 +1,59 @@
{ lib, stdenv, fetchFromGitLab, pkg-config, xfce4-dev-tools, hicolor-icon-theme, xfce, wrapGAppsHook, gitUpdater }:
{ category
, pname
, version
, attrPath ? "xfce.${pname}"
, rev-prefix ? "${pname}-"
, rev ? "${rev-prefix}${version}"
, sha256
, odd-unstable ? true
, patchlevel-unstable ? true
, ...
} @ args:
let
inherit (builtins) filter getAttr head isList;
inherit (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 = rec {
inherit pname version;
nativeBuildInputs = [ pkg-config xfce4-dev-tools wrapGAppsHook ];
buildInputs = [ hicolor-icon-theme ];
configureFlags = [ "--enable-maintainer-mode" ];
src = fetchFromGitLab {
domain = "gitlab.xfce.org";
owner = category;
repo = pname;
inherit rev sha256;
};
enableParallelBuilding = true;
outputs = [ "out" "dev" ];
pos = builtins.unsafeGetAttrPos "pname" args;
passthru.updateScript = gitUpdater {
inherit pname version attrPath rev-prefix odd-unstable patchlevel-unstable;
};
meta = with lib; {
homepage = "https://gitlab.xfce.org/${category}/${pname}";
license = licenses.gpl2Plus; # some libraries are under LGPLv2+
platforms = platforms.linux;
};
};
publicArgs = removeAttrs args [ "category" "pname" "sha256" ];
in
stdenv.mkDerivation (recursiveUpdate template publicArgs // concatAttrLists [ template args ])
# TODO [ AndersonTorres ]: verify if it allows using hash attribute as an option to sha256

View file

@ -0,0 +1,17 @@
{ lib, mkXfceDerivation, gtk3, libxfce4ui, libxfce4util, xfce4-panel, xfconf }:
mkXfceDerivation {
category = "panel-plugins";
pname = "xfce4-battery-plugin";
version = "1.1.4";
rev-prefix = "xfce4-battery-plugin-";
odd-unstable = false;
sha256 = "sha256-LwwlyWhtVM+OHR9KtE4DPyU5V/dMOjcgSjsI3o7qfk8=";
buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel xfconf ];
meta = with lib; {
description = "Battery plugin for Xfce panel";
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,15 @@
{ lib, mkXfceDerivation, libXtst, libxfce4ui, xfce4-panel, xfconf }:
mkXfceDerivation {
category = "panel-plugins";
pname = "xfce4-clipman-plugin";
version = "1.6.2";
sha256 = "sha256-RpFVJSq/DxyA5ne1h+Nr3xfL+DTzg1cTqIDVOPC/pF4=";
buildInputs = [ libXtst libxfce4ui xfce4-panel xfconf ];
meta = with lib; {
description = "Clipboard manager for Xfce panel";
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,15 @@
{ lib, mkXfceDerivation, gtk3, libxfce4ui, libxfce4util, xfce4-panel, xfconf }:
mkXfceDerivation {
category = "panel-plugins";
pname = "xfce4-cpufreq-plugin";
version = "1.2.7";
sha256 = "sha256-M+BehEYcHZlnuYwBlI7F0aPxPGwExTL5I9Jf6W5ugOY=";
buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel xfconf ];
meta = with lib; {
description = "CPU Freq load plugin for Xfce panel";
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,57 @@
{ lib
, stdenv
, fetchurl
, pkg-config
, intltool
, glib
, exo
, libXtst
, xorgproto
, libxfce4util
, xfce4-panel
, libxfce4ui
, xfconf
, gtk3
, hicolor-icon-theme
, xfce
}:
let
category = "panel-plugins";
in stdenv.mkDerivation rec {
pname = "xfce4-cpugraph-plugin";
version = "1.2.6";
src = fetchurl {
url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "sha256-dzJG9XwYJKhUaNQRnBeusHFw7R66zo+kBsf7z1tHr5k=";
};
nativeBuildInputs = [
pkg-config
intltool
];
buildInputs = [
glib
exo
libXtst
xorgproto
libxfce4util
libxfce4ui
xfce4-panel
xfconf
gtk3
hicolor-icon-theme
];
passthru.updateScript = xfce.archiveUpdater { inherit category pname version; };
meta = with lib; {
homepage = "https://docs.xfce.org/panel-plugins/xfce4-cpugraph-plugin";
description = "CPU graph show for Xfce panel";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,31 @@
{ mkXfceDerivation
, lib
, intltool
, libxfce4ui
, xfce4-panel
, gettext
}:
mkXfceDerivation {
category = "panel-plugins";
pname = "xfce4-datetime-plugin";
version = "0.8.1";
rev-prefix = "xfce4-datetime-plugin-";
sha256 = "sha256-qmZit7cCGnVTzdzPTiAiruBWlMLWzZEXJtFqAesaARo=";
nativeBuildInputs = [
gettext
intltool
];
buildInputs = [
libxfce4ui
xfce4-panel
];
meta = with lib; {
description = "Shows the date and time in the panel, and a calendar appears when you left-click on it";
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,69 @@
{ lib
, stdenv
, fetchFromGitHub
, bash
, dockbarx
, gobject-introspection
, keybinder3
, pkg-config
, python3Packages
, vala
, wafHook
, wrapGAppsHook
, xfce
}:
stdenv.mkDerivation rec {
pname = "xfce4-dockbarx-plugin";
version = "${ver}-${rev}";
ver = "0.6";
rev = "5213876151f1836f044e9902a22d1e682144c1e0";
src = fetchFromGitHub {
owner = "xuzhen";
repo = "xfce4-dockbarx-plugin";
rev = rev;
sha256 = "sha256-VqtGcBRjvpCO9prVHOv6Gt1rAZtcAgkQkVCoR6ykC2k=";
};
pythonPath = [
dockbarx
python3Packages.pygobject3
];
nativeBuildInputs = [
gobject-introspection
pkg-config
python3Packages.wrapPython
vala
wafHook
wrapGAppsHook
];
buildInputs = [
keybinder3
python3Packages.python
xfce.xfce4-panel
xfce.xfconf
]
++ pythonPath;
postPatch = ''
substituteInPlace wscript --replace /usr/share/ "\''${PREFIX}/share/"
substituteInPlace src/dockbarx.vala --replace /usr/share/ $out/share/
substituteInPlace src/dockbarx.vala --replace '/usr/bin/env python3' ${bash}/bin/bash
'';
postFixup = ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
wrapPythonProgramsIn "$out/share/xfce4/panel/plugins" "$out $pythonPath"
'';
meta = with lib; {
homepage = "https://github.com/xuzhen/xfce4-dockbarx-plugin";
description = "Plugins to embed DockbarX into xfce4-panel";
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,46 @@
{ lib
, stdenv
, fetchurl
, pkg-config
, intltool
, libxfce4util
, xfce4-panel
, libxfce4ui
, gtk2
, xfce
}:
let
category = "panel-plugins";
in stdenv.mkDerivation rec {
pname = "xfce4-embed-plugin";
version = "1.6.0";
src = fetchurl {
url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "sha256-x2ffY2DoGUsyvCSCPdAAl17boMr+Ulwj14VAKTWe4ig=";
};
nativeBuildInputs = [
pkg-config
intltool
];
buildInputs = [
libxfce4util
libxfce4ui
xfce4-panel
gtk2
];
passthru.updateScript = xfce.archiveUpdater { inherit category pname version; };
meta = with lib;{
homepage = "https://docs.xfce.org/panel-plugins/xfce4-embed-plugin";
description = "Embed arbitrary app windows on Xfce panel";
license = licenses.gpl2Plus;
platforms = platforms.linux;
broken = true; # unmaintained plugin; no longer compatible with xfce 4.16
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,47 @@
{ lib
, stdenv
, fetchurl
, pkg-config
, intltool
, libxfce4util
, xfce4-panel
, libxfce4ui
, xfconf
, gtk3
, xfce
}:
let
category = "panel-plugins";
in stdenv.mkDerivation rec {
pname = "xfce4-eyes-plugin";
version = "4.6.0";
src = fetchurl {
url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "sha256-rQ/wXYi6OTt8iSL4Iz7dM/wKTosAC2HeH486EMWuUyQ=";
};
nativeBuildInputs = [
pkg-config
intltool
];
buildInputs = [
libxfce4util
libxfce4ui
xfce4-panel
xfconf
gtk3
];
passthru.updateScript = xfce.archiveUpdater { inherit category pname version; };
meta = with lib; {
homepage = "https://docs.xfce.org/panel-plugins/xfce4-eyes-plugin";
description = "Rolling eyes (following mouse pointer) plugin for the Xfce panel";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,47 @@
{ lib
, stdenv
, fetchurl
, pkg-config
, intltool
, libxfce4util
, xfce4-panel
, libxfce4ui
, xfconf
, gtk3
, xfce
}:
let
category = "panel-plugins";
in stdenv.mkDerivation rec {
pname = "xfce4-fsguard-plugin";
version = "1.1.2";
src = fetchurl {
url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "sha256-Z9jmohmnEXxZaTrbxZw5puujHj8YpUmRie9O8otVQQU=";
};
nativeBuildInputs = [
pkg-config
intltool
];
buildInputs = [
libxfce4util
libxfce4ui
xfce4-panel
xfconf
gtk3
];
passthru.updateScript = xfce.archiveUpdater { inherit category pname version; };
meta = with lib; {
homepage = "https://docs.xfce.org/panel-plugins/xfce4-fsguard-plugin";
description = "Filesystem usage monitor plugin for the Xfce panel";
license = licenses.bsd2;
platforms = platforms.linux;
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,45 @@
{ lib
, stdenv
, fetchurl
, pkg-config
, intltool
, libxfce4util
, xfce4-panel
, libxfce4ui
, gtk3
, xfce
}:
let
category = "panel-plugins";
in stdenv.mkDerivation rec {
pname = "xfce4-genmon-plugin";
version = "4.1.1";
src = fetchurl {
url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "sha256-shGf0P8Z+ik7l+yXsN6OJBeZ4IuGIYUVFnxWi9m1ATU=";
};
nativeBuildInputs = [
pkg-config
intltool
];
buildInputs = [
libxfce4util
libxfce4ui
xfce4-panel
gtk3
];
passthru.updateScript = xfce.archiveUpdater { inherit category pname version; };
meta = with lib; {
homepage = "https://docs.xfce.org/panel-plugins/xfce4-genmon-plugin";
description = "Generic monitor plugin for the Xfce panel";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,41 @@
{ lib, stdenv, fetchurl, pkg-config, intltool, autoreconfHook, gnome2, gtkmm2,
libgtop, libxfce4ui, libxfce4util, xfce4-panel, lm_sensors, xfce
}:
stdenv.mkDerivation rec {
pname = "xfce4-hardware-monitor-plugin";
version = "1.6.0";
src = fetchurl {
url = "https://git.xfce.org/archive/${pname}/snapshot/${pname}-${version}.tar.gz";
sha256 = "sha256-aLpNY+qUhmobGb8OkbjtJxQMDO9xSlvurVjNLgOpZ4Y=";
};
nativeBuildInputs = [
autoreconfHook
pkg-config
intltool
];
buildInputs = [
gtkmm2
gnome2.libgnomecanvas
gnome2.libgnomecanvasmm
libgtop
libxfce4ui
libxfce4util
xfce4-panel
lm_sensors
];
enableParallelBuilding = true;
meta = with lib; {
homepage = "https://goodies.xfce.org/projects/panel-plugins/xfce4-hardware-monitor-plugin";
description = "Hardware monitor plugin for the XFCE4 panel";
license = licenses.gpl3Only;
platforms = platforms.unix;
broken = true; # unmaintained plugin; no longer compatible with xfce 4.16
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,46 @@
{ lib, stdenv, fetchFromGitHub, pkg-config, intltool, gtk3
, libxfce4ui, libxfce4util, xfconf, xfce4-dev-tools, xfce4-panel
, i3ipc-glib
}:
stdenv.mkDerivation rec {
pname = "xfce4-i3-workspaces-plugin";
version = "1.4.0";
src = fetchFromGitHub {
owner = "denesb";
repo = "xfce4-i3-workspaces-plugin";
rev = version;
sha256 = "sha256-+tjxMr0UbE3BLdxBwNr2mZqKSQOOtw69FmN4rk4loyA=";
};
nativeBuildInputs = [
pkg-config
intltool
];
buildInputs = [
gtk3
xfconf
libxfce4ui
libxfce4util
xfce4-dev-tools
xfce4-panel
i3ipc-glib
];
preConfigure = ''
./autogen.sh
patchShebangs .
'';
enableParallelBuilding = true;
meta = with lib; {
homepage = "https://github.com/denesb/xfce4-i3-workspaces-plugin";
description = "Workspace switcher plugin for xfce4-panel which can be used for the i3 window manager";
license = licenses.gpl3Plus;
platforms = platforms.unix;
maintainers = with maintainers; [ berbiche ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,39 @@
{ lib, stdenv, fetchurl, pkg-config, intltool, xfce4-panel, libxfce4ui,
exo, gnutls, libgcrypt, xfce }:
let
category = "panel-plugins";
in
stdenv.mkDerivation rec {
pname = "xfce4-mailwatch-plugin";
version = "1.3.0";
src = fetchurl {
url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "sha256-IPkevv0ogLJ/Qh93MRWzdA9n3iv2D+rOOEG/0aCcvi4=";
};
nativeBuildInputs = [
intltool
pkg-config
];
buildInputs = [
libxfce4ui
xfce4-panel
exo
gnutls
libgcrypt
];
passthru.updateScript = xfce.archiveUpdater { inherit category pname version; };
meta = with lib; {
homepage = "https://docs.xfce.org/panel-plugins/xfce4-mailwatch-plugin";
description = "Mail watcher plugin for Xfce panel";
license = licenses.gpl2Only;
platforms = platforms.linux;
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,39 @@
{ lib, stdenv, fetchurl, pkg-config, intltool, libxfce4util, xfce4-panel,
libxfce4ui, gtk3, exo, xfce }:
let
category = "panel-plugins";
in
stdenv.mkDerivation rec {
pname = "xfce4-mpc-plugin";
version = "0.5.2";
src = fetchurl {
url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "sha256-7v54t7a5UxKzpSgUt/Yy3JKXDBs+lTXeYWMVdJv2d2A=";
};
nativeBuildInputs = [
pkg-config
intltool
];
buildInputs = [
libxfce4util
libxfce4ui
xfce4-panel
gtk3
exo
];
passthru.updateScript = xfce.archiveUpdater { inherit category pname version; };
meta = with lib; {
homepage = "https://docs.xfce.org/panel-plugins/xfce4-mpc-plugin";
description = "MPD plugin for Xfce panel";
platforms = platforms.linux;
license = licenses.bsd2;
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,45 @@
{ lib, stdenv, pkg-config, fetchFromGitHub, python3, vala
, gtk3, libwnck, libxfce4util, xfce4-panel, wafHook, xfce
, gitUpdater
}:
stdenv.mkDerivation rec {
pname = "xfce4-namebar-plugin";
version = "1.0.0";
src = fetchFromGitHub {
owner = "HugLifeTiZ";
repo = pname;
rev = "v${version}";
sha256 = "sha256-aKrJzf9rwCyXAJsRIXdBzmJBASuXD5I5kZrp+atx4FA=";
};
nativeBuildInputs = [ pkg-config vala wafHook python3 ];
buildInputs = [ gtk3 libwnck libxfce4util xfce4-panel ];
postPatch = ''
substituteInPlace src/namebar.vala --replace 'var dirs = Environment.get_system_data_dirs()' "string[] dirs = { \"$out/share\" }"
substituteInPlace src/preferences.vala --replace 'var dir_strings = Environment.get_system_data_dirs()' "string[] dir_strings = { \"$out/share\" }"
'';
passthru.updateScript = gitUpdater {
inherit pname version;
attrPath = "xfce.${pname}";
rev-prefix = "v";
};
meta = with lib; {
homepage = "https://github.com/HugLifeTiZ/xfce4-namebar-plugin";
description = "Plugin which integrates titlebar and window controls into the xfce4-panel";
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ volth ] ++ teams.xfce.members;
# Does not build with vala 0.48 or later
# libxfce4panel-2.0.vapi:92.3-92.41: error: overriding method `Xfce.PanelPlugin.remote_event' is incompatible
# with base method `bool Xfce.PanelPluginProvider.remote_event (string, GLib.Value, uint)': too few parameters.
# public virtual signal bool remote_event (string name, GLib.Value value);
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Upstream has no activity since 20 May 2020
broken = true;
};
}

View file

@ -0,0 +1,17 @@
{ lib, mkXfceDerivation, gtk3, libxfce4ui, libxfce4util, xfce4-panel, xfconf }:
mkXfceDerivation {
category = "panel-plugins";
pname = "xfce4-netload-plugin";
version = "1.4.0";
rev-prefix = "xfce4-netload-plugin-";
odd-unstable = false;
sha256 = "sha256-HasaMymMCPidYkaAUK4gvD+Ka7NJdFOTeq43gJ1G3jo=";
buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel xfconf ];
meta = with lib; {
description = "Internet load speed plugin for Xfce4 panel";
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,43 @@
{ lib
, stdenv
, fetchurl
, pkg-config
, intltool
, xfce4-panel
, libxfce4ui
, xfconf
, xfce
}:
let
category = "panel-plugins";
in stdenv.mkDerivation rec {
pname = "xfce4-notes-plugin";
version = "1.9.0";
src = fetchurl {
url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "sha256-E/kJyUi2Oflt5kz3k+t0yxd5WJIB05M+/yFO6PNasIg=";
};
nativeBuildInputs = [
pkg-config
intltool
];
buildInputs = [
libxfce4ui
xfce4-panel
xfconf
];
passthru.updateScript = xfce.archiveUpdater { inherit category pname version; };
meta = with lib; {
homepage = "https://docs.xfce.org/panel-plugins/xfce4-notes-plugin";
description = "Sticky notes plugin for Xfce panel";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,51 @@
{ lib
, mkXfceDerivation
, automakeAddFlags
, dbus-glib
, dbus
, exo
, gtk3
, libpulseaudio
, libnotify
, libxfce4ui
, libxfce4util
, xfce4-panel
, xfconf
, keybinder3
, glib
}:
mkXfceDerivation {
category = "panel-plugins";
pname = "xfce4-pulseaudio-plugin";
version = "0.4.3";
sha256 = "sha256-+E1pyDP140xUbYPZXhdiEjdU0t8Un+IjV7Ek+hAX3OU=";
nativeBuildInputs = [
automakeAddFlags
];
NIX_CFLAGS_COMPILE = "-I${dbus-glib.dev}/include/dbus-1.0 -I${dbus.dev}/include/dbus-1.0";
postPatch = ''
substituteInPlace configure.ac.in --replace gio-2.0 gio-unix-2.0
'';
buildInputs = [
exo
glib
gtk3
keybinder3
libnotify
libpulseaudio
libxfce4ui
libxfce4util
xfce4-panel
xfconf
];
meta = with lib; {
description = "Adjust the audio volume of the PulseAudio sound system";
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,50 @@
{ lib, stdenv, fetchurl, pkg-config, intltool, gtk3, libxfce4ui,
libxfce4util, xfce4-panel, libnotify, lm_sensors, hddtemp, netcat-gnu, xfce
}:
let
category = "panel-plugins";
in
stdenv.mkDerivation rec {
pname = "xfce4-sensors-plugin";
version = "1.4.3";
src = fetchurl {
url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "sha256-FxwCNfcMZfD/7lh+lg2dp5soSFXfIhMCOerCYnLsBsk=";
};
nativeBuildInputs = [
pkg-config
intltool
];
buildInputs = [
gtk3
libxfce4ui
libxfce4util
xfce4-panel
libnotify
lm_sensors
hddtemp
netcat-gnu
];
enableParallelBuilding = true;
configureFlags = [
"--with-pathhddtemp=${hddtemp}/bin/hddtemp"
"--with-pathnetcat=${netcat-gnu}/bin/netcat"
];
passthru.updateScript = xfce.archiveUpdater { inherit category pname version; };
meta = with lib; {
homepage = "https://docs.xfce.org/panel-plugins/xfce4-sensors-plugin";
description = "A panel plug-in for different sensors using acpi, lm_sensors and hddtemp";
license = licenses.gpl2Plus;
platforms = platforms.unix;
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,43 @@
{ lib
, stdenv
, fetchurl
, pkg-config
, intltool
, xfce4-panel
, libxfce4ui
, xfconf
, xfce
}:
let
category = "panel-plugins";
in stdenv.mkDerivation rec {
pname = "xfce4-systemload-plugin";
version = "1.3.1";
src = fetchurl {
url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "sha256-VtEAeAHVLXwrWhO7VHRfbX8G/aKLSc6TYUVjMGiBdlI=";
};
nativeBuildInputs = [
pkg-config
intltool
];
buildInputs = [
libxfce4ui
xfce4-panel
xfconf
];
passthru.updateScript = xfce.archiveUpdater { inherit category pname version; };
meta = with lib; {
homepage = "https://docs.xfce.org/panel-plugins/xfce4-systemload-plugin";
description = "System load plugin for Xfce panel";
license = licenses.bsd2;
platforms = platforms.linux;
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,40 @@
{ lib, stdenv, fetchurl, pkg-config, intltool, libxfce4util, xfce4-panel, libxfce4ui, gtk3, hicolor-icon-theme, xfce }:
let
category = "panel-plugins";
in
stdenv.mkDerivation rec {
pname = "xfce4-timer-plugin";
version = "1.7.1";
src = fetchurl {
url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "sha256-S1LSkRsZSelFlxvmUzFV7mupnHcHjqx/1DsPKuyoJOM=";
};
nativeBuildInputs = [
pkg-config
intltool
];
buildInputs = [
libxfce4util
libxfce4ui
xfce4-panel
gtk3
hicolor-icon-theme
];
hardeningDisable = [ "format" ];
passthru.updateScript = xfce.archiveUpdater { inherit category pname version; };
meta = with lib; {
homepage = "https://docs.xfce.org/panel-plugins/xfce4-timer-plugin";
description = "Simple countdown and alarm plugin for the Xfce panel";
platforms = platforms.linux;
license = licenses.gpl2Plus;
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,25 @@
{ lib
, mkXfceDerivation
, gtk3
, libxfce4ui
, pcre
, libxfce4util
, xfce4-panel
}:
mkXfceDerivation {
category = "panel-plugins";
pname = "xfce4-verve-plugin";
version = "2.0.1";
rev-prefix = "";
sha256 = "sha256-YwUOSTZMoHsWWmi/ajQv/fX8a0IJoc3re3laVEmnX/M=";
buildInputs = [ gtk3 libxfce4ui pcre libxfce4util xfce4-panel ];
hardeningDisable = [ "format" ];
meta = with lib; {
description = "A command-line plugin";
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,43 @@
{ lib, stdenv, fetchurl, pkg-config, intltool, libxml2, libsoup, upower,
libxfce4ui, xfce4-panel, xfconf, hicolor-icon-theme, xfce }:
let
category = "panel-plugins";
in
stdenv.mkDerivation rec {
pname = "xfce4-weather-plugin";
version = "0.11.0";
src = fetchurl {
url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "sha256-4yQuqVHVG8D97R0CpPH2Yr7Bah+xDIVfcb2mVBoRU/w=";
};
nativeBuildInputs = [
pkg-config
intltool
];
buildInputs = [
libxml2
libsoup
upower
libxfce4ui
xfce4-panel
xfconf
hicolor-icon-theme
];
enableParallelBuilding = true;
passthru.updateScript = xfce.archiveUpdater { inherit category pname version; };
meta = with lib; {
homepage = "https://docs.xfce.org/panel-plugins/xfce4-weather-plugin";
description = "Weather plugin for the Xfce desktop environment";
license = licenses.gpl2Plus;
platforms = platforms.unix;
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,29 @@
{ lib, mkXfceDerivation, gettext, gtk3, glib, cmake, exo, garcon, libxfce4ui, libxfce4util, xfce4-panel, xfconf }:
mkXfceDerivation {
category = "panel-plugins";
pname = "xfce4-whiskermenu-plugin";
version = "2.7.1";
rev-prefix = "v";
odd-unstable = false;
sha256 = "sha256-aN8PwH5YIbjiyS5tTcU2AU4LAYC2tBStDxhCXi/dvkQ=";
nativeBuildInputs = [ cmake ];
buildInputs = [ gettext exo garcon gtk3 glib libxfce4ui libxfce4util xfce4-panel xfconf ];
postPatch = ''
substituteInPlace panel-plugin/xfce4-popup-whiskermenu.in \
--replace gettext ${gettext}/bin/gettext
'';
postInstall = ''
substituteInPlace $out/bin/xfce4-popup-whiskermenu \
--replace $out/bin/xfce4-panel ${xfce4-panel.out}/bin/xfce4-panel
'';
meta = with lib; {
description = "Alternate application launcher for Xfce";
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,49 @@
{ lib, stdenv, fetchFromGitHub, pkg-config, intltool, python3, imagemagick, libwnck, libxfce4ui, xfce4-panel, xfconf, xfce4-dev-tools, xfce, gitUpdater }:
stdenv.mkDerivation rec {
pname = "xfce4-windowck-plugin";
version = "0.4.10";
src = fetchFromGitHub {
owner = "invidian";
repo = pname;
rev = "v${version}";
sha256 = "sha256-luCQzqWX3Jl2MlBa3vi1q7z1XOhpFxE8PUxscoIyBlA=";
};
nativeBuildInputs = [
pkg-config
intltool
];
buildInputs = [
python3
imagemagick
libwnck
libxfce4ui
xfce4-panel
xfconf
xfce4-dev-tools
];
preConfigure = ''
./autogen.sh
patchShebangs .
'';
enableParallelBuilding = true;
passthru.updateScript = gitUpdater {
inherit pname version;
attrPath = "xfce.${pname}";
rev-prefix = "v";
};
meta = with lib; {
homepage = "https://goodies.xfce.org/projects/panel-plugins/xfce4-windowck-plugin";
description = "Xfce plugins which allows to put the maximized window title and buttons on the panel";
license = licenses.gpl2Plus;
platforms = platforms.unix;
maintainers = with maintainers; [ volth ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,37 @@
{ lib
, mkXfceDerivation
, gtk3
, librsvg
, libwnck
, libxklavier
, garcon
, libxfce4ui
, libxfce4util
, xfce4-panel
, xfconf
}:
mkXfceDerivation {
category = "panel-plugins";
pname = "xfce4-xkb-plugin";
version = "0.8.2";
rev-prefix = "";
sha256 = "sha256-xmCoNMxykeaThYEJo6BcbraFo9CruFZL6YPjovzb6hg=";
buildInputs = [
garcon
gtk3
librsvg
libxfce4ui
libxfce4util
libxklavier
libwnck
xfce4-panel
xfconf
];
meta = with lib; {
description = "Allows you to setup and use multiple keyboard layouts";
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,38 @@
{ lib
, mkXfceDerivation
, gtk3
, thunar
, exo
, libxfce4util
, intltool
, gettext
}:
mkXfceDerivation {
category = "thunar-plugins";
pname = "thunar-archive-plugin";
version = "0.4.0";
sha256 = "sha256-aEAErm87K2k8TAz2ZtMQEhmzhOeR2hkJjcoBUFn8I50=";
nativeBuildInputs = [
intltool
gettext
];
buildInputs = [
thunar
exo
gtk3
libxfce4util
];
preConfigure = ''
./autogen.sh
'';
meta = with lib; {
description = "Thunar plugin providing file context menus for archives";
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,46 @@
{ lib, stdenv
, fetchFromGitHub
, pkg-config
, gtk3
, thunar
, cmake
, ninja
, xfce
, gitUpdater
}:
stdenv.mkDerivation rec {
pname = "thunar-dropbox";
version = "0.3.1";
src = fetchFromGitHub {
owner = "Jeinzi";
repo = "thunar-dropbox";
rev = version;
sha256 = "sha256-q7tw/1JgEn9SyjH1KBZl0tintWJjd3ctUs4JUuCWULs=";
};
nativeBuildInputs = [
pkg-config
cmake
ninja
];
buildInputs = [
thunar
gtk3
];
passthru.updateScript = gitUpdater {
inherit pname version;
attrPath = "xfce.thunar-dropbox-plugin";
};
meta = with lib; {
homepage = "https://github.com/Jeinzi/thunar-dropbox";
description = "A plugin that adds context-menu items for Dropbox to Thunar";
license = licenses.gpl3Only;
platforms = platforms.linux;
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

View file

@ -0,0 +1,37 @@
{ lib
, mkXfceDerivation
, gtk3
, thunar
, exo
, libxfce4util
, intltool
, gettext
, taglib
}:
mkXfceDerivation {
category = "thunar-plugins";
pname = "thunar-media-tags-plugin";
version = "0.3.0";
odd-unstable = false;
sha256 = "sha256-jtgcHH5U5GOvzDVUwPEreMtTdk5DT6sXvFPDbzbF684=";
nativeBuildInputs = [
intltool
gettext
];
buildInputs = [
thunar
exo
gtk3
libxfce4util
taglib
];
meta = with lib; {
description = "Thunar plugin providing tagging and renaming features for media files";
maintainers = with maintainers; [ ncfavier ] ++ teams.xfce.members;
};
}