diff options
Diffstat (limited to 'nixpkgs/pkgs/desktops/xfce')
72 files changed, 2116 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/desktops/xfce/applications/catfish/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/catfish/default.nix new file mode 100644 index 000000000000..736e89a4f444 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/catfish/default.nix @@ -0,0 +1,66 @@ +{ stdenv, fetchurl, file, which, intltool, gobject-introspection, + findutils, xdg_utils, dconf, gtk3, python3Packages, + wrapGAppsHook +}: + +python3Packages.buildPythonApplication rec { + pname = "catfish"; + version = "1.4.12"; + + src = fetchurl { + url = "https://archive.xfce.org/src/apps/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; + sha256 = "0jhk4x97vip6h7rsw8hbwzfjmz55w6dpcj9v96m54xr15gh31yy3"; + }; + + 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 + ]; + + # 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 stdenv.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 = [ maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/applications/gigolo/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/gigolo/default.nix new file mode 100644 index 000000000000..32486aab981f --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/gigolo/default.nix @@ -0,0 +1,16 @@ +{ mkXfceDerivation, exo, gtk3, gvfs, glib }: + +mkXfceDerivation { + category = "apps"; + pname = "gigolo"; + version = "0.5.0"; + + sha256 = "1lqsxb0d5i8p9vbzx8s4p3rga7va5h1q146xgmsa41j5v40wrlw6"; + + nativeBuildInputs = [ exo ]; + buildInputs = [ gtk3 glib gvfs ]; + + meta = { + description = "A frontend to easily manage connections to remote filesystems"; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/applications/mousepad/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/mousepad/default.nix new file mode 100644 index 000000000000..6f841958c795 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/mousepad/default.nix @@ -0,0 +1,19 @@ +{ mkXfceDerivation, exo, glib, gtk3, gtksourceview3, xfconf }: + +mkXfceDerivation { + category = "apps"; + pname = "mousepad"; + version = "0.4.2"; + + sha256 = "0a35vaq4l0d8vzw7hqpvbgkr3wj1sqr2zvj7bc5z4ikz2cppqj7p"; + + nativeBuildInputs = [ exo ]; + buildInputs = [ glib gtk3 gtksourceview3 xfconf ]; + + # See https://github.com/NixOS/nixpkgs/issues/36468 + NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; + + meta = { + description = "A simple text editor for Xfce"; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/applications/orage/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/orage/default.nix new file mode 100644 index 000000000000..4a48cc83dda4 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/orage/default.nix @@ -0,0 +1,39 @@ +{ lib, fetchpatch, mkXfceDerivation, dbus-glib, gtk2, libical, libnotify, tzdata +, popt, libxfce4ui, xfce4-panel, withPanelPlugin ? true }: + +assert withPanelPlugin -> libxfce4ui != null && xfce4-panel != null; + +let + inherit (lib) optionals; +in + +mkXfceDerivation { + category = "apps"; + pname = "orage"; + version = "4.12.1"; + + sha256 = "04z6y1vfaz1im1zq1zr7cf8pjibjhj9zkyanbp7vn30q520yxa0m"; + buildInputs = [ dbus-glib gtk2 libical libnotify popt ] + ++ optionals withPanelPlugin [ libxfce4ui 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 = "rm -rf libical"; # ensure pkgs.libical is used instead of one included in the orage sources + + patches = [ + # Fix build with libical 3.0 + (fetchpatch { + name = "fix-libical3.patch"; + url = https://git.archlinux.org/svntogit/packages.git/plain/trunk/libical3.patch?h=packages/orage&id=7b1b06c42dda034d538977b9f3550b28e370057f; + sha256 = "1l8s106mcidmbx2p8c2pi8v9ngbv2x3fsgv36j8qk8wyd4qd1jbf"; + }) + ]; + + meta = { + description = "A simple calendar application with reminders"; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/applications/parole/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/parole/default.nix new file mode 100644 index 000000000000..20b899165f09 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/parole/default.nix @@ -0,0 +1,37 @@ +{ 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 = "1.0.4"; + + sha256 = "18j4bmny37crryh4pvxcjjvj99mln6ljq2vy69awxhvrjx9ljv13"; + + 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 = { + description = "Modern simple media player"; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/applications/ristretto/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/ristretto/default.nix new file mode 100644 index 000000000000..8766bd302ab3 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/ristretto/default.nix @@ -0,0 +1,17 @@ +{ mkXfceDerivation, automakeAddFlags, exo, gtk3, glib, libexif +, libxfce4ui, libxfce4util, xfconf }: + +mkXfceDerivation { + category = "apps"; + pname = "ristretto"; + version = "0.10.0"; + + sha256 = "07h7wbq3xh2ac6q4kp2ai1incfn0zfxxngap7hzqx47a5xw2mrm8"; + + nativeBuildInputs = [ exo ]; + buildInputs = [ glib gtk3 libexif libxfce4ui libxfce4util xfconf ]; + + meta = { + description = "A fast and lightweight picture-viewer for the Xfce desktop environment"; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/applications/xfburn/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/xfburn/default.nix new file mode 100644 index 000000000000..08f2bd511a87 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/xfburn/default.nix @@ -0,0 +1,12 @@ +{ mkXfceDerivation, docbook_xsl, exo, gtk3, libburn, libisofs, libxfce4ui, libxslt }: + +mkXfceDerivation { + category = "apps"; + pname = "xfburn"; + version = "0.6.1"; + + sha256 = "0a1ly79x7j5pgr3vbsabb4i0jd5rryaigj9z8iqzr8p9miypx20v"; + + nativeBuildInputs = [ libxslt docbook_xsl ]; + buildInputs = [ exo gtk3 libburn libisofs libxfce4ui ]; +} diff --git a/nixpkgs/pkgs/desktops/xfce/applications/xfce4-dict/configure-gio.patch b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-dict/configure-gio.patch new file mode 100644 index 000000000000..787b63511a23 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-dict/configure-gio.patch @@ -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]) diff --git a/nixpkgs/pkgs/desktops/xfce/applications/xfce4-dict/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-dict/default.nix new file mode 100644 index 000000000000..b2682080216c --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-dict/default.nix @@ -0,0 +1,23 @@ +{ mkXfceDerivation, automakeAddFlags, gtk3, libxfce4ui, libxfce4util, xfce4-panel }: + +mkXfceDerivation { + category = "apps"; + pname = "xfce4-dict"; + version = "0.8.2"; + + sha256 = "1zbb0k0984ny7wy4gbk6ymkh87rbfakpim54yq4r3h5ymslx7iv7"; + + patches = [ ./configure-gio.patch ]; + + nativeBuildInputs = [ automakeAddFlags ]; + + postPatch = '' + automakeAddFlags lib/Makefile.am libdict_la_CFLAGS GIO_CFLAGS + ''; + + buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel ]; + + meta = { + description = "A Dictionary Client for the Xfce desktop environment"; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix new file mode 100644 index 000000000000..a991e8c81807 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix @@ -0,0 +1,16 @@ +{ mkXfceDerivation, glib, exo, gtk3, libnotify, libxfce4ui, libxfce4util +, xfce4-panel, xfconf }: + +mkXfceDerivation { + category = "apps"; + pname = "xfce4-notifyd"; + version = "0.4.4"; + + sha256 = "1lmm9h3ych8dz9jpjkxg91f9ln14xs527nxjxsryks00kmqk4kai"; + + buildInputs = [ exo gtk3 glib libnotify libxfce4ui libxfce4util xfce4-panel xfconf ]; + + meta = { + description = "Simple notification daemon for Xfce"; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix new file mode 100644 index 000000000000..012486baac9b --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix @@ -0,0 +1,15 @@ +{ mkXfceDerivation, exo, gtk3, libsoup, libxfce4ui, libxfce4util, xfce4-panel, glib-networking }: + +mkXfceDerivation { + category = "apps"; + pname = "xfce4-screenshooter"; + version = "1.9.5"; + + sha256 = "1h14sywvk9l06p3z1cpb79911j8w2wqbk03ldknjkia2rfymjk06"; + + buildInputs = [ exo gtk3 libsoup libxfce4ui libxfce4util xfce4-panel glib-networking ]; + + meta = { + description = "Screenshot utility for the Xfce desktop"; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix new file mode 100644 index 000000000000..e3d8b4b87d94 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix @@ -0,0 +1,16 @@ +{ lib, mkXfceDerivation, exo, gtk3, libwnck3, libXmu }: + +mkXfceDerivation { + category = "apps"; + pname = "xfce4-taskmanager"; + version = "1.2.2"; + + sha256 = "03js0pmhrybxa7hrp3gx4rm7j061ansv0bp2dwhnbrdpmzjysysc"; + + nativeBuildInputs = [ exo ]; + buildInputs = [ gtk3 libwnck3 libXmu ]; + + meta = { + description = "Easy to use task manager for Xfce"; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix new file mode 100644 index 000000000000..3b9cd268d55a --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix @@ -0,0 +1,15 @@ +{ mkXfceDerivation, gtk3, libxfce4ui, vte, xfconf, pcre2 }: + +mkXfceDerivation { + category = "apps"; + pname = "xfce4-terminal"; + version = "0.8.8"; + + sha256 = "0sg9vwyvhh7pjp83biv7gvf42423a7ly4dc7q2gn28kp6bds2qcp"; + + buildInputs = [ gtk3 libxfce4ui vte xfconf pcre2 ]; + + meta = { + description = "A modern terminal emulator"; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/applications/xfce4-volumed-pulse/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-volumed-pulse/default.nix new file mode 100644 index 000000000000..413c04a84cc1 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-volumed-pulse/default.nix @@ -0,0 +1,17 @@ +{ lib, mkXfceDerivation, gtk3, libnotify, libpulseaudio, keybinder3, xfconf }: + +mkXfceDerivation { + category = "apps"; + pname = "xfce4-volumed-pulse"; + version = "0.2.3"; + + sha256 = "1rsjng9qmq7vzrx5bfxq76h63y501cfl1mksrxkf1x39by9r628j"; + + buildInputs = [ gtk3 libnotify libpulseaudio keybinder3 xfconf ]; + + meta = with lib; { + description = "A volume keys control daemon for Xfce using pulseaudio"; + license = licenses.gpl3Plus; + maintainers = [ maintainers.abbradar ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/applications/xfce4-volumed/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-volumed/default.nix new file mode 100644 index 000000000000..dafb72582b31 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/xfce4-volumed/default.nix @@ -0,0 +1,46 @@ +{ stdenv, fetchurl, pkgconfig, makeWrapper +, gstreamer, gtk2, gst-plugins-base, libnotify +, keybinder, xfconf +}: + +let + # The usual Gstreamer plugins package has a zillion dependencies + # that we don't need for a simple mixer, so build a minimal package. + gst_plugins_minimal = gst-plugins-base.override { + minimalDeps = true; + }; + +in + +stdenv.mkDerivation rec { + p_name = "xfce4-volumed"; + ver_maj = "0.1"; + ver_min = "13"; + + src = fetchurl { + url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2"; + sha256 = "1aa0a1sbf9yzi7bc78kw044m0xzg1li3y4w9kf20wqv5kfjs7v2c"; + }; + name = "${p_name}-${ver_maj}.${ver_min}"; + + buildInputs = + [ gstreamer gst_plugins_minimal gtk2 + keybinder xfconf libnotify + ]; + + nativeBuildInputs = [ pkgconfig makeWrapper ]; + + postInstall = + '' + wrapProgram "$out/bin/xfce4-volumed" \ + --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH" + ''; + + meta = with stdenv.lib; { + homepage = https://www.xfce.org/projects/xfce4-volumed; # referenced but inactive + description = "A volume keys control daemon for the Xfce desktop environment"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = [ maintainers.abbradar ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/applications/xfdashboard/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/xfdashboard/default.nix new file mode 100644 index 000000000000..a17c29f6723e --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/applications/xfdashboard/default.nix @@ -0,0 +1,44 @@ +{ mkXfceDerivation +, clutter +, libXcomposite +, libXinerama +, libXdamage +, libX11 +, libwnck3 +, libxfce4ui +, libxfce4util +, garcon +, xfconf +, gtk3 +, glib +, dbus-glib +}: + +mkXfceDerivation { + category = "apps"; + pname = "xfdashboard"; + version = "0.7.5"; + rev = "0.7.5"; + + sha256 = "0d0kg90h3li41bs75z3xldljsglkz220pba39c54qznnzb8v8a2i"; + + buildInputs = [ + clutter + dbus-glib + garcon + glib + gtk3 + libX11 + libXcomposite + libXdamage + libXinerama + libwnck3 + libxfce4ui + libxfce4util + xfconf + ]; + + meta = { + description = "Gnome shell like dashboard"; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/art/xfce4-icon-theme.nix b/nixpkgs/pkgs/desktops/xfce/art/xfce4-icon-theme.nix new file mode 100644 index 000000000000..6ac601c6685e --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/art/xfce4-icon-theme.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl, pkgconfig, intltool, gtk2 }: + +stdenv.mkDerivation rec { + p_name = "xfce4-icon-theme"; + ver_maj = "4.4"; + ver_min = "3"; + + src = fetchurl { + url = "mirror://xfce/src/art/${p_name}/${ver_maj}/${name}.tar.bz2"; + sha256 = "1yk6rx3zr9grm4jwpjvqdkl13pisy7qn1wm5cqzmd2kbsn96cy6l"; + }; + name = "${p_name}-${ver_maj}.${ver_min}"; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ intltool gtk2 ]; + + meta = { + homepage = https://www.xfce.org/; + description = "Icons for Xfce"; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.eelco ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/art/xfwm4-themes.nix b/nixpkgs/pkgs/desktops/xfce/art/xfwm4-themes.nix new file mode 100644 index 000000000000..783fbb13c83c --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/art/xfwm4-themes.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + p_name = "xfwm4-themes"; + ver_maj = "4.10"; + ver_min = "0"; + + src = fetchurl { + url = "mirror://xfce/src/art/${p_name}/${ver_maj}/${name}.tar.bz2"; + sha256 = "0xfmdykav4rf6gdxbd6fhmrfrvbdc1yjihz7r7lba0wp1vqda51j"; + }; + name = "${p_name}-${ver_maj}.${ver_min}"; + + meta = with stdenv.lib; { + homepage = https://www.xfce.org/; + description = "Themes for Xfce"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = [ maintainers.volth ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/automakeAddFlags.sh b/nixpkgs/pkgs/desktops/xfce/automakeAddFlags.sh new file mode 100644 index 000000000000..92d5659d05ca --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/automakeAddFlags.sh @@ -0,0 +1,7 @@ +automakeAddFlags() { + local file="$1" + local target="$2" + local source="$3" + + sed "/$target/a\$($source) \\\\" -i $file +} diff --git a/nixpkgs/pkgs/desktops/xfce/core/exo/default.nix b/nixpkgs/pkgs/desktops/xfce/core/exo/default.nix new file mode 100644 index 000000000000..59ab5823314e --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/exo/default.nix @@ -0,0 +1,20 @@ +{ mkXfceDerivation, docbook_xsl, glib, libxslt, perlPackages, gtk3 +, libxfce4ui, libxfce4util }: + +mkXfceDerivation { + category = "xfce"; + pname = "exo"; + version = "0.12.8"; + + sha256 = "013am7q4pwfncf4hk2a3hv7yx2vxgzb5xm8qsi9mxkj29xdhrvs5"; + + nativeBuildInputs = [ libxslt perlPackages.URI docbook_xsl ]; + buildInputs = [ gtk3 glib libxfce4ui libxfce4util ]; + + # Workaround https://bugzilla.xfce.org/show_bug.cgi?id=15825 + NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; + + meta = { + description = "Application library for Xfce"; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/core/garcon/default.nix b/nixpkgs/pkgs/desktops/xfce/core/garcon/default.nix new file mode 100644 index 000000000000..69184f2afa88 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/garcon/default.nix @@ -0,0 +1,15 @@ +{ mkXfceDerivation, gtk3, libxfce4ui, libxfce4util }: + +mkXfceDerivation { + category = "xfce"; + pname = "garcon"; + version = "0.6.4"; + + sha256 = "0pamhp1wffiw638s66nws2mpzmwkhvhb6iwccfy8b0kyr57wipjv"; + + buildInputs = [ gtk3 libxfce4ui libxfce4util ]; + + meta = { + description = "Xfce menu support library"; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/core/libxfce4ui/default.nix b/nixpkgs/pkgs/desktops/xfce/core/libxfce4ui/default.nix new file mode 100644 index 000000000000..79c8ec74b626 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/libxfce4ui/default.nix @@ -0,0 +1,23 @@ +{ lib, mkXfceDerivation, gobject-introspection, gtk2, gtk3, libICE, libSM +, libstartup_notification, libxfce4util, xfconf }: + +mkXfceDerivation { + category = "xfce"; + pname = "libxfce4ui"; + version = "4.14.1"; + + sha256 = "0fnncf30s51qhgixn57z4d021pjjhzgsg2x69w4dy68vff2347qy"; + + nativeBuildInputs = [ gobject-introspection ]; + buildInputs = [ gtk2 gtk3 libstartup_notification xfconf ]; + propagatedBuildInputs = [ libxfce4util libICE libSM ]; + + configureFlags = [ + "--with-vendor-info='NixOS'" + ]; + + meta = with lib; { + description = "Widgets library for Xfce"; + license = licenses.lgpl2Plus; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/core/libxfce4util/default.nix b/nixpkgs/pkgs/desktops/xfce/core/libxfce4util/default.nix new file mode 100644 index 000000000000..4540d2352511 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/libxfce4util/default.nix @@ -0,0 +1,16 @@ +{ lib, mkXfceDerivation, gobject-introspection }: + +mkXfceDerivation { + category = "xfce"; + pname = "libxfce4util"; + version = "4.14.0"; + + sha256 = "0vq16bzmnykiikg4dhiaj0qbyj76nkdd54j6k6n568h3dc9ix6q4"; + + nativeBuildInputs = [ gobject-introspection ]; + + meta = with lib; { + description = "Extension library for Xfce"; + license = licenses.lgpl2Plus; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/core/thunar-volman/default.nix b/nixpkgs/pkgs/desktops/xfce/core/thunar-volman/default.nix new file mode 100644 index 000000000000..fc6db0fcce4f --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/thunar-volman/default.nix @@ -0,0 +1,15 @@ +{ mkXfceDerivation, exo, gtk3, libgudev, libxfce4ui, libxfce4util, xfconf }: + +mkXfceDerivation { + category = "xfce"; + pname = "thunar-volman"; + version = "0.9.5"; + + buildInputs = [ exo gtk3 libgudev libxfce4ui libxfce4util xfconf ]; + + sha256 = "1qrlpn0q5g9psd41l6y80r3bvbg8jaic92m6r400zzwcvivf95z0"; + + meta = { + description = "Thunar extension for automatic management of removable drives and media"; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/core/thunar/default.nix b/nixpkgs/pkgs/desktops/xfce/core/thunar/default.nix new file mode 100644 index 000000000000..11220141d2a0 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/thunar/default.nix @@ -0,0 +1,70 @@ +{ mkXfceDerivation +, lib +, docbook_xsl +, exo +, gdk-pixbuf +, gtk3 +, libgudev +, libnotify +, libX11 +, libxfce4ui +, libxfce4util +, libxslt +, xfconf +, gobject-introspection +, gvfs +, makeWrapper +, symlinkJoin +, thunarPlugins ? [] +}: + +let unwrapped = mkXfceDerivation { + category = "xfce"; + pname = "thunar"; + version = "1.8.9"; + + sha256 = "01w60csbs2nq1bhb8n1bnmjmx48fm0va3qbnq84z0h2dxpr80b1w"; + + nativeBuildInputs = [ + docbook_xsl + gobject-introspection + libxslt + ]; + + buildInputs = [ + exo + gdk-pixbuf + gtk3 + gvfs + libX11 + libgudev + libnotify + libxfce4ui + libxfce4util + 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 = { + description = "Xfce file manager"; + }; +}; + +in if thunarPlugins == [] then unwrapped + else import ./wrapper.nix { + inherit makeWrapper symlinkJoin thunarPlugins lib; + thunar = unwrapped; + } diff --git a/nixpkgs/pkgs/desktops/xfce/core/thunar/thunarx_plugins_directory.patch b/nixpkgs/pkgs/desktops/xfce/core/thunar/thunarx_plugins_directory.patch new file mode 100644 index 000000000000..594a81c829ef --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/thunar/thunarx_plugins_directory.patch @@ -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); + diff --git a/nixpkgs/pkgs/desktops/xfce/core/thunar/wrapper.nix b/nixpkgs/pkgs/desktops/xfce/core/thunar/wrapper.nix new file mode 100644 index 000000000000..cc44e6624571 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/thunar/wrapper.nix @@ -0,0 +1,34 @@ +{ makeWrapper, symlinkJoin, thunar, thunarPlugins, lib }: + +symlinkJoin { + name = "thunar-with-plugins-${thunar.version}"; + + paths = [ thunar ] ++ thunarPlugins; + + buildInputs = [ 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" + + 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: ${concatStrings (intersperse ", " (map (x: x.name) thunarPlugins))})"; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/core/tumbler/default.nix b/nixpkgs/pkgs/desktops/xfce/core/tumbler/default.nix new file mode 100644 index 000000000000..b795007ca7c1 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/tumbler/default.nix @@ -0,0 +1,39 @@ +{ mkXfceDerivation +, ffmpegthumbnailer +, gdk-pixbuf +, glib +, freetype +, libgsf +, poppler +, libjpeg +, gst_all_1 +}: + +# TODO: add libopenraw + +mkXfceDerivation { + category = "xfce"; + pname = "tumbler"; + version = "0.2.7"; + + sha256 = "14ql3fcxyz81qr9s0vcwh6j2ks5fl8jf9scwnkilv5jy0ii9l0ry"; + + 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 = { + description = "A D-Bus thumbnailer service"; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/core/xfce4-appfinder/default.nix b/nixpkgs/pkgs/desktops/xfce/core/xfce4-appfinder/default.nix new file mode 100644 index 000000000000..cbb444c6c764 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/xfce4-appfinder/default.nix @@ -0,0 +1,16 @@ +{ mkXfceDerivation, exo, garcon, gtk3, libxfce4util, libxfce4ui, xfconf }: + +mkXfceDerivation { + category = "xfce"; + pname = "xfce4-appfinder"; + version = "4.14.0"; + + sha256 = "04h7jxfm3wkxnxfy8149dckay7i160vvk4p9lnq6xny22r4x20h8"; + + nativeBuildInputs = [ exo ]; + buildInputs = [ garcon gtk3 libxfce4ui libxfce4util xfconf ]; + + meta = { + description = "Appfinder for the Xfce4 Desktop Environment"; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/core/xfce4-dev-tools/default.nix b/nixpkgs/pkgs/desktops/xfce/core/xfce4-dev-tools/default.nix new file mode 100644 index 000000000000..38fe82ffb011 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/xfce4-dev-tools/default.nix @@ -0,0 +1,32 @@ +{ mkXfceDerivation, autoreconfHook, autoconf, automake +, glib, gtk-doc, intltool, libtool }: + +mkXfceDerivation { + category = "xfce"; + pname = "xfce4-dev-tools"; + version = "4.14.0"; + + sha256 = "10hcj88784faqrk08xb538355cla26vdk9ckx158hqdqv38sb42f"; + + nativeBuildInputs = [ autoreconfHook ]; + + propagatedBuildInputs = [ + autoconf + automake + glib + gtk-doc + intltool + libtool + ]; + + preAutoreconf = '' + substitute configure.ac.in configure.ac \ + --subst-var-by REVISION UNKNOWN + ''; + + setupHook = ./setup-hook.sh; + + meta = { + description = "Autoconf macros and scripts to augment app build systems"; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/core/xfce4-dev-tools/setup-hook.sh b/nixpkgs/pkgs/desktops/xfce/core/xfce4-dev-tools/setup-hook.sh new file mode 100644 index 000000000000..600bf47fd872 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/xfce4-dev-tools/setup-hook.sh @@ -0,0 +1,12 @@ +xdtEnvHook() { + addToSearchPath ACLOCAL_PATH $1/share/xfce4/dev-tools/m4macros +} + +envHooks+=(xdtEnvHook) + +xdtAutogenPhase() { + mkdir -p m4 + NOCONFIGURE=1 xdt-autogen +} + +preConfigurePhases+=(xdtAutogenPhase) diff --git a/nixpkgs/pkgs/desktops/xfce/core/xfce4-panel/default.nix b/nixpkgs/pkgs/desktops/xfce/core/xfce4-panel/default.nix new file mode 100644 index 000000000000..f4d86247c6cd --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/xfce4-panel/default.nix @@ -0,0 +1,29 @@ +{ mkXfceDerivation, tzdata, exo, garcon, gtk2, gtk3, glib, gettext, glib-networking, libxfce4ui, libxfce4util, libwnck3, xfconf, gobject-introspection }: + +mkXfceDerivation { + category = "xfce"; + pname = "xfce4-panel"; + version = "4.14.0"; + + sha256 = "1v3f2xjz9gwa8maqqvv9w2dh1cgy03v89a9ny7nrv0cjsxwwrr15"; + + nativeBuildInputs = [ gobject-introspection ]; + buildInputs = [ exo garcon gtk2 gtk3 glib glib-networking libxfce4ui libxfce4util libwnck3 xfconf ]; + + patches = [ ./xfce4-panel-datadir.patch ]; + patchFlags = [ "-p1" ]; + + postPatch = '' + for f in $(find . -name \*.sh); do + substituteInPlace $f --replace gettext ${gettext}/bin/gettext + done + substituteInPlace plugins/clock/clock.c \ + --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo" + ''; + + configureFlags = [ "--enable-gtk3" ]; + + meta = { + description = "Xfce's panel"; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/core/xfce4-panel/xfce4-panel-datadir.patch b/nixpkgs/pkgs/desktops/xfce/core/xfce4-panel/xfce4-panel-datadir.patch new file mode 100644 index 000000000000..ed9df9ef36f3 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/xfce4-panel/xfce4-panel-datadir.patch @@ -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") + diff --git a/nixpkgs/pkgs/desktops/xfce/core/xfce4-power-manager/default.nix b/nixpkgs/pkgs/desktops/xfce/core/xfce4-power-manager/default.nix new file mode 100644 index 000000000000..fb3f05b36646 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/xfce4-power-manager/default.nix @@ -0,0 +1,23 @@ +{ mkXfceDerivation, automakeAddFlags, exo, gtk3, libnotify +, libxfce4ui, libxfce4util, upower, xfconf }: + +mkXfceDerivation { + category = "xfce"; + pname = "xfce4-power-manager"; + version = "1.6.5"; + + sha256 = "0zazm2cgkz5xj7rvy9gbh4kaay2anfcmawg4gj38pnq3a8zcwwd5"; + + nativeBuildInputs = [ automakeAddFlags exo ]; + buildInputs = [ gtk3 libnotify libxfce4ui libxfce4util upower xfconf ]; + + 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 = { + description = "A power manager for the Xfce Desktop Environment"; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/core/xfce4-session/default.nix b/nixpkgs/pkgs/desktops/xfce/core/xfce4-session/default.nix new file mode 100644 index 000000000000..0ab362aa21d0 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/xfce4-session/default.nix @@ -0,0 +1,22 @@ +{ mkXfceDerivation, polkit, exo, libxfce4util, libxfce4ui, xfconf, iceauth, gtk3, glib, libwnck3, xorg, xfce4-session }: + +mkXfceDerivation { + category = "xfce"; + pname = "xfce4-session"; + version = "4.14.0"; + + sha256 = "0v0xzkdr5rgv6219c1dy96cghgw8bqnb313jccxihfgddf363104"; + + buildInputs = [ exo gtk3 glib libxfce4ui libxfce4util libwnck3 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 = { + description = "Session manager for Xfce"; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/core/xfce4-settings/default.nix b/nixpkgs/pkgs/desktops/xfce/core/xfce4-settings/default.nix new file mode 100644 index 000000000000..74ab96ed1bcd --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/xfce4-settings/default.nix @@ -0,0 +1,40 @@ +{ mkXfceDerivation, automakeAddFlags, exo, garcon, gtk3, glib +, libnotify, libxfce4ui, libxfce4util, libxklavier +, upower, xfconf, xf86inputlibinput }: + +mkXfceDerivation { + category = "xfce"; + pname = "xfce4-settings"; + version = "4.14.0"; + + sha256 = "13gmxd4sfgd6wky7s03bar58w9vl4i6jv2wncd6iajww791y5akn"; + + postPatch = '' + for f in $(find . -name \*.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 = { + description = "Settings manager for Xfce"; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/core/xfconf/default.nix b/nixpkgs/pkgs/desktops/xfce/core/xfconf/default.nix new file mode 100644 index 000000000000..a0923f0fda1b --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/xfconf/default.nix @@ -0,0 +1,15 @@ +{ mkXfceDerivation, libxfce4util }: + +mkXfceDerivation { + category = "xfce"; + pname = "xfconf"; + version = "4.14.1"; + + sha256 = "1mbqc1463xgn7gafbh2fyshshdxin33iwk96y4nw2gl48nhx4sgs"; + + buildInputs = [ libxfce4util ]; + + meta = { + description = "Simple client-server configuration storage and query system for Xfce"; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/core/xfdesktop/default.nix b/nixpkgs/pkgs/desktops/xfce/core/xfdesktop/default.nix new file mode 100644 index 000000000000..afcd0d19dc33 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/xfdesktop/default.nix @@ -0,0 +1,25 @@ +{ mkXfceDerivation, exo, gtk3, libxfce4ui, libxfce4util, libwnck3, xfconf, libnotify, garcon, thunar }: + +mkXfceDerivation { + category = "xfce"; + pname = "xfdesktop"; + version = "4.14.1"; + + sha256 = "006w4xwmpwp34q2qkkixr3xz0vb0kny79pw64yj4304wsb5jr14g"; + + buildInputs = [ + exo + gtk3 + libxfce4ui + libxfce4util + libwnck3 + xfconf + libnotify + garcon + thunar + ]; + + meta = { + description = "Xfce's desktop manager"; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/core/xfwm4/default.nix b/nixpkgs/pkgs/desktops/xfce/core/xfwm4/default.nix new file mode 100644 index 000000000000..2dff3302617c --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/core/xfwm4/default.nix @@ -0,0 +1,30 @@ +{ mkXfceDerivation, exo, librsvg, dbus-glib, epoxy, gtk3, libXdamage +, libstartup_notification, libxfce4ui, libxfce4util, libwnck3 +, libXpresent, xfconf }: + +mkXfceDerivation { + category = "xfce"; + pname = "xfwm4"; + version = "4.14.0"; + + sha256 = "1z5aqij2d8n9wnha88b0qzkvss54jvqs8w1w5m3mzjl4c9mn9n8m"; + + nativeBuildInputs = [ exo librsvg ]; + + buildInputs = [ + dbus-glib + epoxy + gtk3 + libXdamage + libstartup_notification + libxfce4ui + libxfce4util + libwnck3 + libXpresent + xfconf + ]; + + meta = { + description = "Window manager for Xfce"; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/default.nix b/nixpkgs/pkgs/desktops/xfce/default.nix new file mode 100644 index 000000000000..7442ff478f59 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/default.nix @@ -0,0 +1,223 @@ +{ config, lib, pkgs }: + +lib.makeScope pkgs.newScope (self: with self; { + #### NixOS support + + mkXfceDerivation = callPackage ./mkXfceDerivation.nix { }; + + automakeAddFlags = pkgs.makeSetupHook { } ./automakeAddFlags.sh; + + # Samba is a rather heavy dependency + gvfs = pkgs.gvfs.override { samba = null; }; + + #### 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 { }; + + 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-screenshooter = callPackage ./applications/xfce4-screenshooter { + inherit (pkgs.gnome3) libsoup; + }; + + xfdashbooard = callPackage ./applications/xfdashboard {}; + + # TODO: this repo is inactive for many years. Remove? + xfce4-volumed = callPackage ./applications/xfce4-volumed { }; + + xfce4-volumed-pulse = callPackage ./applications/xfce4-volumed-pulse { }; + + xfce4-notifyd = callPackage ./applications/xfce4-notifyd { }; + + xfburn = callPackage ./applications/xfburn { }; + + #### ART + + xfce4-icon-theme = callPackage ./art/xfce4-icon-theme.nix { }; + + xfwm4-themes = callPackage ./art/xfwm4-themes.nix { }; + + #### PANEL PLUGINS + + xfce4-vala-panel-appmenu-plugin = callPackage ./panel-plugins/xfce4-vala-panel-appmenu-plugin { }; + + 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.nix { }; + + xfce4-datetime-plugin = callPackage ./panel-plugins/xfce4-datetime-plugin { }; + + xfce4-dict-plugin = callPackage ./panel-plugins/xfce4-dict-plugin.nix { }; + + xfce4-dockbarx-plugin = callPackage ./panel-plugins/xfce4-dockbarx-plugin.nix { }; + + xfce4-embed-plugin = callPackage ./panel-plugins/xfce4-embed-plugin.nix { }; + + xfce4-eyes-plugin = callPackage ./panel-plugins/xfce4-eyes-plugin.nix { }; + + xfce4-fsguard-plugin = callPackage ./panel-plugins/xfce4-fsguard-plugin.nix { }; + + xfce4-genmon-plugin = callPackage ./panel-plugins/xfce4-genmon-plugin.nix { }; + + xfce4-hardware-monitor-plugin = callPackage ./panel-plugins/xfce4-hardware-monitor-plugin.nix { }; + + xfce4-namebar-plugin = callPackage ./panel-plugins/xfce4-namebar-plugin.nix { }; + + xfce4-netload-plugin = callPackage ./panel-plugins/xfce4-netload-plugin { }; + + xfce4-notes-plugin = callPackage ./panel-plugins/xfce4-notes-plugin.nix { }; + + xfce4-mailwatch-plugin = callPackage ./panel-plugins/xfce4-mailwatch-plugin.nix { }; + + xfce4-mpc-plugin = callPackage ./panel-plugins/xfce4-mpc-plugin.nix { }; + + xfce4-sensors-plugin = callPackage ./panel-plugins/xfce4-sensors-plugin.nix { }; + + xfce4-systemload-plugin = callPackage ./panel-plugins/xfce4-systemload-plugin.nix { }; + + xfce4-timer-plugin = callPackage ./panel-plugins/xfce4-timer-plugin.nix { }; + + 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.nix { }; + + xfce4-whiskermenu-plugin = callPackage ./panel-plugins/xfce4-whiskermenu-plugin { }; + + xfce4-windowck-plugin = callPackage ./panel-plugins/xfce4-windowck-plugin.nix { }; + + xfce4-pulseaudio-plugin = callPackage ./panel-plugins/xfce4-pulseaudio-plugin { }; + +} // lib.optionalAttrs (config.allowAliases or true) { + #### ALIASES - added 2018-01 + + terminal = xfce4-terminal; + thunar-build = thunar-bare; + thunarx-2-dev = thunar-build; + thunar_volman = thunar-volman; + xfce4panel = xfce4-panel; + xfce4session = xfce4-session; + xfce4settings = xfce4-settings; + xfce4_power_manager = xfce4-power-manager; + xfce4_appfinder = xfce4-appfinder; + xfce4_dev_tools = xfce4-dev-tools; + xfce4mixer = xfce4-mixer; + xfce4mixer_pulse = xfce4-mixer-pulse; + xfce4notifyd = xfce4-notifyd; + xfce4taskmanager = xfce4-taskmanager; + xfce4terminal = xfce4-terminal; + xfce4volumed = xfce4-volumed; + xfce4volumed_pulse = xfce4-volumed-pulse; + xfce4icontheme = xfce4-icon-theme; + xfwm4themes = xfwm4-themes; + + xfce4_battery_plugin = xfce4-battery-plugin; + xfce4_clipman_plugin = xfce4-clipman-plugin; + xfce4_cpufreq_plugin = xfce4-cpufreq-plugin; + xfce4_cpugraph_plugin = xfce4-cpugraph-plugin; + xfce4_datetime_plugin = xfce4-datetime-plugin; + xfce4_dict_plugin = xfce4-dict-plugin; + xfce4_dockbarx_plugin = xfce4-dockbarx-plugin; + xfce4_embed_plugin = xfce4-embed-plugin; + xfce4_eyes_plugin = xfce4-eyes-plugin; + xfce4_fsguard_plugin = xfce4-fsguard-plugin; + xfce4_genmon_plugin = xfce4-genmon-plugin; + xfce4_hardware_monitor_plugin = xfce4-hardware-monitor-plugin; + xfce4_namebar_plugin = xfce4-namebar-plugin; + xfce4_netload_plugin = xfce4-netload-plugin; + xfce4_notes_plugin = xfce4-notes-plugin; + xfce4_mailwatch_plugin = xfce4-mailwatch-plugin; + xfce4_mpc_plugin = xfce4-mpc-plugin; + xfce4_sensors_plugin = xfce4-sensors-plugin; + xfce4_systemload_plugin = xfce4-systemload-plugin; + xfce4_timer_plugin = xfce4-timer-plugin; + xfce4_verve_plugin = xfce4-verve-plugin; + xfce4_xkb_plugin = xfce4-xkb-plugin; + xfce4_weather_plugin = xfce4-weather-plugin; + xfce4_whiskermenu_plugin = xfce4-whiskermenu-plugin; + xfce4_windowck_plugin = xfce4-windowck-plugin; + xfce4_pulseaudio_plugin = xfce4-pulseaudio-plugin; + + xfce4-mixer = throw "deprecated 2019-08-18: obsoleted by xfce4-pulseaudio-plugin"; # added 2019-08-18 + gtk-xfce-engine = throw "deprecated 2019-09-17: Xfce 4.14 deprecated gtk-xfce-engine"; # added 2019-09-17 + + # added 2019-11-04 + libxfce4ui_gtk3 = libxfce4ui; + xfce4panel_gtk3 = xfce4-panel; + xfce4_power_manager_gtk3 = xfce4-power-manager; + gtk = pkgs.gtk2; + libxfcegui4 = throw "libxfcegui4 is the deprecated Xfce GUI library. It has been superseded by the libxfce4ui library"; + xinitrc = xfce4-session.xinitrc; + inherit (pkgs.gnome2) libglade; + inherit (pkgs.gnome3) vte gtksourceview; + xfce4-mixer-pulse = xfce4-mixer; + thunar-bare = thunar.override { + thunarPlugins = []; + }; + + # added 2019-11-30 + inherit (pkgs) dconf; +}) diff --git a/nixpkgs/pkgs/desktops/xfce/mkXfceDerivation.nix b/nixpkgs/pkgs/desktops/xfce/mkXfceDerivation.nix new file mode 100644 index 000000000000..b7dc83225696 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/mkXfceDerivation.nix @@ -0,0 +1,40 @@ +{ 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 ]) diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin/default.nix new file mode 100644 index 000000000000..3966e256b160 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin/default.nix @@ -0,0 +1,15 @@ +{ mkXfceDerivation, gtk3, libxfce4ui, libxfce4util, xfce4-panel, xfconf }: + +mkXfceDerivation rec { + category = "panel-plugins"; + pname = "xfce4-battery-plugin"; + version = "1.1.2"; + rev = version; + sha256 = "0329miiclc8da6j0sz495p99hyrf9fjhvpmdl0556fphybz5agc0"; + + buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel xfconf ]; + + meta = { + description = "Battery plugin for Xfce panel"; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix new file mode 100644 index 000000000000..bd1a3b5e5e35 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix @@ -0,0 +1,15 @@ +{ mkXfceDerivation, gtk3, libXtst, libxfce4ui, libxfce4util, xfce4-panel, xfconf, exo }: + +mkXfceDerivation rec { + category = "panel-plugins"; + pname = "xfce4-clipman-plugin"; + version = "1.4.3"; + rev = version; + sha256 = "1xk79xh1zk0x4r1z9m1dakp79pip0zh3naviybvl1dnpwwfc03gq"; + + buildInputs = [ exo gtk3 libXtst libxfce4ui libxfce4util xfce4-panel xfconf ]; + + meta = { + description = "Clipboard manager for Xfce panel"; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix new file mode 100644 index 000000000000..3798edbf89dc --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix @@ -0,0 +1,14 @@ +{ mkXfceDerivation, gtk3, libxfce4ui, libxfce4util, xfce4-panel, xfconf }: + +mkXfceDerivation { + category = "panel-plugins"; + pname = "xfce4-cpufreq-plugin"; + version = "1.2.1"; + sha256 = "1p7c4g3yfc19ksdckxpzq1q35jvplh5g55299cvv0afhdb5l8zhv"; + + buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel xfconf ]; + + meta = { + description = "CPU Freq load plugin for Xfce panel"; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin.nix new file mode 100644 index 000000000000..ef7f7e580206 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl, pkgconfig, intltool, glib, exo, libXtst, xorgproto, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2, hicolor-icon-theme }: + +with stdenv.lib; +stdenv.mkDerivation rec { + p_name = "xfce4-cpugraph-plugin"; + ver_maj = "1.0"; + ver_min = "5"; + + src = fetchurl { + url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2"; + sha256 = "1izl53q95m5xm2fiq7385vb1i9nwgjizxkmgpgh33zdckb40xnl5"; + }; + name = "${p_name}-${ver_maj}.${ver_min}"; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ intltool glib exo libXtst xorgproto libxfce4util libxfce4ui xfce4-panel xfconf gtk2 hicolor-icon-theme ]; + + meta = { + homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}"; + description = "CPU graph show for Xfce panel"; + platforms = platforms.linux; + maintainers = [ maintainers.AndersonTorres ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin/default.nix new file mode 100644 index 000000000000..3cfb010b12da --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin/default.nix @@ -0,0 +1,34 @@ +{ mkXfceDerivation +, stdenv +, intltool +, libxfce4ui +, xfce4-panel +, gtk3 +, gettext +}: + +mkXfceDerivation rec { + category = "panel-plugins"; + pname = "xfce4-datetime-plugin"; + version = "0.8.0"; + + rev = "datetime-${version}"; + + sha256 = "12drh7y70d70r93lpv43fkj5cbyl0vciz4a41nxrknrfbhxrvyah"; + + nativeBuildInputs = [ + gettext + intltool + ]; + + buildInputs = [ + gtk3 + libxfce4ui + xfce4-panel + ]; + + meta = with stdenv.lib; { + description = "Shows the date and time in the panel, and a calendar appears when you left-click on it"; + maintainers = [ maintainers.AndersonTorres ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-dict-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-dict-plugin.nix new file mode 100644 index 000000000000..0b31bac8d54b --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-dict-plugin.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2}: + +with stdenv.lib; +stdenv.mkDerivation rec { + p_name = "xfce4-dict-plugin"; + ver_maj = "0.3"; + ver_min = "0"; + + src = fetchurl { + url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.gz"; + sha256 = "1x0imfnsdfq7fbhka8bc0yjjspkcljc1jafhrwzb08qi9bk2wbar"; + }; + name = "${p_name}-${ver_maj}.${ver_min}"; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel xfconf gtk2 ]; + + meta = { + homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}"; + description = "Dictionary plugin for Xfce panel"; + platforms = platforms.linux; + maintainers = [ maintainers.AndersonTorres ]; + broken = true; # see http://goodies.xfce.org/projects/panel-plugins/xfce4-dict-plugin + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin.nix new file mode 100644 index 000000000000..b33ba7770be3 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin.nix @@ -0,0 +1,40 @@ +{ stdenv, pkgconfig, fetchFromGitHub, python2, bash, vala +, dockbarx, gtk2, xfce, pythonPackages, wafHook }: + +stdenv.mkDerivation rec { + ver = "0.5"; + rev = "a2dcb66"; + name = "xfce4-dockbarx-plugin-${ver}-${rev}"; + + src = fetchFromGitHub { + owner = "TiZ-EX1"; + repo = "xfce4-dockbarx-plugin"; + rev = rev; + sha256 = "1f75iwlshnif60x0qqdqw5ffng2m4f4zp0ijkrbjz83wm73nsxfx"; + }; + + pythonPath = [ dockbarx ]; + + nativeBuildInputs = [ pkgconfig wafHook ]; + buildInputs = [ python2 vala gtk2 pythonPackages.wrapPython ] + ++ (with xfce; [ libxfce4util xfce4-panel xfconf xfce4-dev-tools ]) + ++ 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 python2' ${bash}/bin/bash + ''; + + postFixup = '' + wrapPythonProgramsIn "$out/share/xfce4/panel/plugins" "$out $pythonPath" + ''; + + meta = with stdenv.lib; { + homepage = https://github.com/TiZ-EX1/xfce4-dockbarx-plugin; + description = "A plugins to embed DockbarX into xfce4-panel"; + license = licenses.mit; + platforms = platforms.linux; + maintainers = [ maintainers.volth ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-embed-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-embed-plugin.nix new file mode 100644 index 000000000000..e6d1f6da26b5 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-embed-plugin.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2 }: + +with stdenv.lib; +stdenv.mkDerivation rec { + p_name = "xfce4-embed-plugin"; + ver_maj = "1.6"; + ver_min = "0"; + + src = fetchurl { + url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2"; + sha256 = "0a72kqsjjh45swimqlpyrahdnplp0383v0i4phr4n6g8c1ixyry7"; + }; + name = "${p_name}-${ver_maj}.${ver_min}"; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel xfconf gtk2 ]; + + meta = { + homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}"; + description = "Embed arbitrary app windows on Xfce panel"; + platforms = platforms.linux; + maintainers = [ maintainers.AndersonTorres ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin.nix new file mode 100644 index 000000000000..03e5a2229672 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2}: + +with stdenv.lib; +stdenv.mkDerivation rec { + p_name = "xfce4-eyes-plugin"; + ver_maj = "4.4"; + ver_min = "4"; + + src = fetchurl { + url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2"; + sha256 = "1jh02hylvsvfpxrx0bq6fzgy6vnxf9qakgpbfvr63lfkd1dyh314"; + }; + name = "${p_name}-${ver_maj}.${ver_min}"; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel xfconf gtk2 ]; + + meta = { + homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}"; + description = "Eyes following you!"; + platforms = platforms.linux; + maintainers = [ maintainers.AndersonTorres ]; + broken = true; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin.nix new file mode 100644 index 000000000000..ee663aa71ca8 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2}: + +with stdenv.lib; +stdenv.mkDerivation rec { + p_name = "xfce4-fsguard-plugin"; + ver_maj = "1.0"; + ver_min = "2"; + + src = fetchurl { + url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2"; + sha256 = "1bj021h4q68bc03f32pkyqy4gfd1sz6s21nxdg7j6gdfhs9xbj52"; + }; + name = "${p_name}-${ver_maj}.${ver_min}"; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel xfconf gtk2 ]; + + meta = { + homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}"; + description = "Filesystem monitor"; + platforms = platforms.linux; + maintainers = [ maintainers.AndersonTorres ]; + broken = true; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin.nix new file mode 100644 index 000000000000..193d27af98a3 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2}: + +with stdenv.lib; +stdenv.mkDerivation rec { + p_name = "xfce4-genmon-plugin"; + ver_maj = "3.4"; + ver_min = "0"; + + src = fetchurl { + url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2"; + sha256 = "11q3g6lmgz3d5lyh6614mxkd9cblfdyf9jgki7f26mn895xk79dh"; + }; + name = "${p_name}-${ver_maj}.${ver_min}"; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel xfconf gtk2 ]; + + meta = { + homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}"; + description = "Cyclically spawns a command and captures its output"; + platforms = platforms.linux; + maintainers = [ maintainers.AndersonTorres ]; + broken = true; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-hardware-monitor-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-hardware-monitor-plugin.nix new file mode 100644 index 000000000000..2782decf6c4c --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-hardware-monitor-plugin.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchurl, pkgconfig, intltool, autoreconfHook, gnome2, gtkmm2, + libgtop, libxfce4ui, libxfce4util, xfce4-panel, lm_sensors +}: + +stdenv.mkDerivation rec { + pname = "xfce4-hardware-monitor-plugin"; + version = "1.6.0"; + + src = fetchurl { + url = "https://git.xfce.org/panel-plugins/${pname}/snapshot/${pname}-${version}.tar.bz2"; + sha256 = "0xg5har11fk1wmdymydxlbk1z8aa39j8k0p4gzw2iqslv3n0zf7b"; + }; + + nativeBuildInputs = [ + autoreconfHook + pkgconfig + intltool + ]; + + buildInputs = [ + gtkmm2 + gnome2.libgnomecanvas + gnome2.libgnomecanvasmm + libgtop + libxfce4ui + libxfce4util + xfce4-panel + lm_sensors + ]; + + enableParallelBuilding = true; + + meta = { + homepage = "http://goodies.xfce.org/projects/panel-plugins/${pname}"; + description = "Hardware monitor plugin for the XFCE4 panel"; + license = stdenv.lib.licenses.gpl3; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin.nix new file mode 100644 index 000000000000..e9d2eb590be9 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, + xfconf, gtk2, exo, gnutls, libgcrypt }: + +with stdenv.lib; +stdenv.mkDerivation rec { + p_name = "xfce4-mailwatch-plugin"; + ver_maj = "1.2"; + ver_min = "0"; + + src = fetchurl { + url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2"; + sha256 = "1bfw3smwivr9mzdyq768biqrl4aq94zqi3xjzq6kqnd8561cqjk2"; + }; + name = "${p_name}-${ver_maj}.${ver_min}"; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel + xfconf gtk2 exo gnutls libgcrypt ]; + + meta = { + homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}"; + description = "Mailwatch plugin for Xfce panel"; + platforms = platforms.linux; + maintainers = [ ]; + broken = true; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin.nix new file mode 100644 index 000000000000..b909540144ae --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, + xfconf, gtk2, exo }: + +with stdenv.lib; +stdenv.mkDerivation rec { + p_name = "xfce4-mpc-plugin"; + ver_maj = "0.4"; + ver_min = "5"; + name = "${p_name}-${ver_maj}.${ver_min}"; + + src = fetchurl { + url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2"; + sha256 = "1kvgq1pq7cykqdc3227dq0izad093ppfw3nfsrcp9i8mi6i5f7z7"; + }; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel + xfconf gtk2 exo ]; + + meta = { + homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}"; + description = "MPD plugin for Xfce panel"; + platforms = platforms.linux; + maintainers = [ ]; + broken = true; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin.nix new file mode 100644 index 000000000000..8c6c91e25194 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin.nix @@ -0,0 +1,31 @@ +{ stdenv, pkgconfig, fetchFromGitHub, python2, vala_0_40 +, gtk2, libwnck, libxfce4util, xfce4-panel, wafHook }: + +stdenv.mkDerivation rec { + ver = "0.3.1"; + rev = "07a23b3"; + name = "xfce4-namebar-plugin-${ver}"; + + src = fetchFromGitHub { + owner = "TiZ-EX1"; + repo = "xfce4-namebar-plugin"; + rev = rev; + sha256 = "1sl4qmjywfvv53ch7hyfysjfd91zl38y7gdw2y3k69vkzd3h18ad"; + }; + + nativeBuildInputs = [ pkgconfig wafHook ]; + buildInputs = [ python2 vala_0_40 gtk2 libwnck libxfce4util xfce4-panel ]; + + postPatch = '' + substituteInPlace src/preferences.vala --replace 'Environment.get_system_data_dirs()' "{ \"$out/share\" }" + substituteInPlace src/namebar.vala --replace 'Environment.get_system_data_dirs()' "{ \"$out/share\" }" + ''; + + meta = with stdenv.lib; { + homepage = https://github.com/TiZ-EX1/xfce4-namebar-plugin; + description = "A plugins which integrates titlebar and window controls into the xfce4-panel"; + license = licenses.mit; + platforms = platforms.linux; + maintainers = [ maintainers.volth ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin/default.nix new file mode 100644 index 000000000000..d774649b5369 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin/default.nix @@ -0,0 +1,15 @@ +{ mkXfceDerivation, gtk3, libxfce4ui, libxfce4util, xfce4-panel, xfconf }: + +mkXfceDerivation rec { + category = "panel-plugins"; + pname = "xfce4-netload-plugin"; + version = "1.3.1"; + rev = "version-${version}"; + sha256 = "0nm8advafw4jpc9p1qszyfqa56194sz51z216rdh4c6ilcrrpy1h"; + + buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel xfconf ]; + + meta = { + description = "Battery plugin for Xfce panel"; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin.nix new file mode 100644 index 000000000000..2876c1b1f7d8 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2, libunique }: + +with stdenv.lib; +stdenv.mkDerivation rec { + p_name = "xfce4-notes-plugin"; + ver_maj = "1.7"; + ver_min = "7"; + + src = fetchurl { + url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2"; + sha256 = "05sjbwgch1j93m3r23ksbjnpfk11sf7xjmbb9pm5vl3snc2s3fm7"; + }; + name = "${p_name}-${ver_maj}.${ver_min}"; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel xfconf gtk2 libunique ]; + + meta = { + homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}"; + description = "Sticky notes plugin for Xfce panel"; + platforms = platforms.linux; + maintainers = [ maintainers.AndersonTorres ]; + broken = true; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin/default.nix new file mode 100644 index 000000000000..83778aa8fffd --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin/default.nix @@ -0,0 +1,23 @@ +{ mkXfceDerivation, automakeAddFlags, dbus-glib, dbus, gtk3, libpulseaudio +, libnotify, libxfce4ui, libxfce4util, xfce4-panel, xfconf }: + +mkXfceDerivation { + category = "panel-plugins"; + pname = "xfce4-pulseaudio-plugin"; + version = "0.4.1"; + sha256 = "1c8krpg3l6ki00ldd9hifc4bddysdm0w3x5w43fkr31j0zrscvfp"; + + 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 = [ gtk3 libnotify libpulseaudio libxfce4ui libxfce4util xfce4-panel xfconf ]; + + meta = { + description = "Adjust the audio volume of the PulseAudio sound system"; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin.nix new file mode 100644 index 000000000000..2e7233e6cdb0 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin.nix @@ -0,0 +1,46 @@ +{ stdenv, fetchurl, pkgconfig, intltool, gtk2, libxfce4ui, + libxfce4util, xfce4-panel, libnotify, lm_sensors, hddtemp, netcat-gnu +}: + +stdenv.mkDerivation rec { + name = "${pname}-${ver_maj}.${ver_min}"; + pname = "xfce4-sensors-plugin"; + ver_maj = "1.2"; + ver_min = "6"; + + src = fetchurl { + url = "mirror://xfce/src/panel-plugins/${pname}/${ver_maj}/${name}.tar.bz2"; + sha256 = "1h0vpqxcziml3gwrbvd8xvy1mwh9mf2a68dvxsy03rs5pm1ghpi3"; + }; + + nativeBuildInputs = [ + pkgconfig + intltool + ]; + + buildInputs = [ + gtk2 + libxfce4ui + libxfce4util + xfce4-panel + libnotify + lm_sensors + hddtemp + netcat-gnu + ]; + + enableParallelBuilding = true; + + configureFlags = [ + "--with-pathhddtemp=${hddtemp}/bin/hddtemp" + "--with-pathnetcat=${netcat-gnu}/bin/netcat" + ]; + + meta = { + homepage = "http://goodies.xfce.org/projects/panel-plugins/${pname}"; + description = "A panel plug-in for different sensors using acpi, lm_sensors and hddtemp"; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin.nix new file mode 100644 index 000000000000..5575962ab77e --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, gtk2}: + +with stdenv.lib; +stdenv.mkDerivation rec { + p_name = "xfce4-systemload-plugin"; + ver_maj = "1.1"; + ver_min = "2"; + + src = fetchurl { + url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2"; + sha256 = "0z4as6sxdz93d4jpgv0665dg4sykfvc5068mc689phlfl2rvcsdl"; + }; + name = "${p_name}-${ver_maj}.${ver_min}"; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel gtk2 ]; + + meta = { + homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}"; + description = "System load plugin for Xfce panel"; + platforms = platforms.linux; + maintainers = [ maintainers.AndersonTorres ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin.nix new file mode 100644 index 000000000000..4eddfe8df574 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel +, libxfce4ui, xfconf, gtk2, hicolor-icon-theme }: + +with stdenv.lib; +stdenv.mkDerivation rec { + p_name = "xfce4-timer-plugin"; + ver_maj = "1.6"; + ver_min = "0"; + + src = fetchurl { + url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2"; + sha256 = "0z46gyw3ihcd1jf0m5z1dsc790xv1cpi8mk1dagj3i4v14gx5mrr"; + }; + name = "${p_name}-${ver_maj}.${ver_min}"; + + buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel xfconf + gtk2 hicolor-icon-theme ]; + + nativeBuildInputs = [ pkgconfig ]; + + hardeningDisable = [ "format" ]; + + meta = { + homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}"; + description = "A simple XFCE panel plugin that lets the user run an alarm at a specified time or at the end of a specified countdown period"; + platforms = platforms.linux; + license = licenses.gpl2; + maintainers = [ ]; + broken = true; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/appmenu-gtk-module.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/appmenu-gtk-module.nix new file mode 100644 index 000000000000..39393dd39e9f --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/appmenu-gtk-module.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchFromGitHub, cmake, vala, glib, gtk2, gtk3 }: +stdenv.mkDerivation rec { + pname = "vala-panel-appmenu-xfce"; + version = "0.6.94"; + + src = "${fetchFromGitHub { + owner = "rilian-la-te"; + repo = "vala-panel-appmenu"; + rev = version; + fetchSubmodules = true; + + sha256 = "0xxn3zs60a9nfix8wrdp056wviq281cm1031hznzf1l38lp3wr5p"; + }}/subprojects/appmenu-gtk-module"; + + nativeBuildInputs = [ cmake vala ]; + buildInputs = [ glib gtk2 gtk3 ]; + + configurePhase = '' + cmake . -DGTK3_INCLUDE_GDK= + ''; + installPhase = '' + make DESTDIR=output install + cp -r output/var/empty/* "$out" + ''; + + meta = with stdenv.lib; { + description = "Port of the Unity GTK Module"; + license = licenses.lgpl3; + maintainers = with maintainers; [ jD91mZM2 ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/default.nix new file mode 100644 index 000000000000..43e943f194ac --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/default.nix @@ -0,0 +1,50 @@ +{ stdenv, fetchFromGitHub, substituteAll, callPackage, pkgconfig, cmake, vala, libxml2, + glib, pcre, gtk2, gtk3, xorg, libxkbcommon, epoxy, at-spi2-core, dbus-glib, bamf, + xfce, libwnck3, libdbusmenu, gobject-introspection }: + +stdenv.mkDerivation rec { + pname = "xfce4-vala-panel-appmenu-plugin"; + version = "0.6.94"; + + src = fetchFromGitHub { + owner = "rilian-la-te"; + repo = "vala-panel-appmenu"; + rev = version; + fetchSubmodules = true; + + sha256 = "0xxn3zs60a9nfix8wrdp056wviq281cm1031hznzf1l38lp3wr5p"; + }; + + nativeBuildInputs = [ pkgconfig cmake vala libxml2.bin ]; + buildInputs = [ (callPackage ./appmenu-gtk-module.nix {}) + glib pcre gtk2 gtk3 xorg.libpthreadstubs xorg.libXdmcp libxkbcommon epoxy + at-spi2-core dbus-glib bamf xfce.xfce4panel_gtk3 xfce.libxfce4util xfce.xfconf + libwnck3 libdbusmenu gobject-introspection ]; + + patches = [ + (substituteAll { + src = ./fix-bamf-dependency.patch; + bamf = bamf; + }) + ]; + + cmakeFlags = [ + "-DENABLE_XFCE=ON" + "-DENABLE_BUDGIE=OFF" + "-DENABLE_VALAPANEL=OFF" + "-DENABLE_MATE=OFF" + "-DENABLE_JAYATANA=OFF" + "-DENABLE_APPMENU_GTK_MODULE=OFF" + ]; + + preConfigure = '' + mv cmake/FallbackVersion.cmake.in cmake/FallbackVersion.cmake + ''; + + meta = with stdenv.lib; { + description = "Global Menu applet for XFCE4"; + license = licenses.lgpl3; + maintainers = with maintainers; [ jD91mZM2 ]; + broken = true; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/fix-bamf-dependency.patch b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/fix-bamf-dependency.patch new file mode 100644 index 000000000000..1ed86a67f727 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-vala-panel-appmenu-plugin/fix-bamf-dependency.patch @@ -0,0 +1,12 @@ ++++ source/cmake/FindBAMF.cmake 2018-05-11 17:03:44.385917811 +0200 +@@ -80,9 +80,7 @@ + + find_program(BAMF_DAEMON_EXECUTABLE + bamfdaemon +- HINTS ${CMAKE_INSTALL_FULL_LIBDIR} +- ${CMAKE_INSTALL_FULL_LIBEXECDIR} +- ${BAMF_LIBDIR} ++ HINTS "@bamf@/libexec/bamf/" + PATH_SUFFIXES bamf + ) + diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix new file mode 100644 index 000000000000..288aaddfb982 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix @@ -0,0 +1,18 @@ +{ lib, mkXfceDerivation, gtk3, libxfce4ui, pcre, libxfce4util, xfce4-panel, xfconf }: + +mkXfceDerivation rec { + category = "panel-plugins"; + pname = "xfce4-verve-plugin"; + version = "2.0.0"; + rev = version; + sha256 = "09vpa6m0ah7pgmra094c16vb79xrcwva808g6zpawwrhcwz85lcz"; + + buildInputs = [ gtk3 libxfce4ui pcre libxfce4util xfce4-panel ]; + + hardeningDisable = [ "format" ]; + + meta = { + description = "A command-line plugin"; + maintainers = with lib.maintainers; [ AndersonTorres ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin.nix new file mode 100644 index 000000000000..5ab311ef16f7 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, pkgconfig, intltool, gtk2, libxml2, libsoup, upower, +libxfce4ui, libxfce4util, xfce4-panel, hicolor-icon-theme }: + +stdenv.mkDerivation rec { + name = "${p_name}-${ver_maj}.${ver_min}"; + p_name = "xfce4-weather-plugin"; + ver_maj = "0.8"; + ver_min = "10"; + + src = fetchurl { + url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2"; + sha256 = "1f7ac2zr5s5w6krdpgsq252wxhhmcblia3j783132ilh8k246vgf"; + }; + + nativeBuildInputs = [ pkgconfig intltool ]; + + buildInputs = [ gtk2 libxml2 libsoup upower libxfce4ui libxfce4util + xfce4-panel hicolor-icon-theme ]; + + enableParallelBuilding = true; + + meta = { + homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}"; + description = "Weather plugin for the Xfce desktop environment"; + license = stdenv.lib.licenses.gpl2Plus; + platforms = stdenv.lib.platforms.unix; + maintainers = [ stdenv.lib.maintainers.romildo ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix new file mode 100644 index 000000000000..ef47d37e5efd --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix @@ -0,0 +1,22 @@ +{ mkXfceDerivation, gtk3, glib, cmake, exo, garcon, libxfce4ui, libxfce4util, xfce4-panel, xfconf }: + +mkXfceDerivation rec { + category = "panel-plugins"; + pname = "xfce4-whiskermenu-plugin"; + version = "2.3.3"; + rev = "v${version}"; + sha256 = "0agh0a5srsy6vi6r50ak9rb42r7vcnfv6nfvg4qbqi77yc44yqdb"; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ exo garcon gtk3 glib libxfce4ui libxfce4util xfce4-panel xfconf ]; + + postInstall = '' + substituteInPlace $out/bin/xfce4-popup-whiskermenu \ + --replace $out/bin/xfce4-panel ${xfce4-panel.out}/bin/xfce4-panel + ''; + + meta = { + description = "Alternate application launcher for Xfce"; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin.nix new file mode 100644 index 000000000000..8798851579d8 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchFromGitHub, pkgconfig, intltool, python3, imagemagick, libwnck, gtk2 +, exo, libxfce4ui, libxfce4util, xfce4-panel, xfconf, xfce4-dev-tools }: + +stdenv.mkDerivation rec { + p_name = "xfce4-windowck-plugin"; + version = "0.4.4"; + + src = fetchFromGitHub { + owner = "cedl38"; + repo = "xfce4-windowck-plugin"; + rev = "v${version}"; + sha256 = "0c6a1ibh39dpq9x0dha5lsg0vzmgaf051fgwz0nlky0s94nwzvgv"; + }; + name = "${p_name}-${version}"; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ intltool python3 imagemagick libwnck gtk2 + exo libxfce4ui libxfce4util xfce4-panel xfconf xfce4-dev-tools ]; + + preConfigure = '' + ./autogen.sh + patchShebangs . + ''; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}"; + description = "Set of two plugins which allows you to put the maximized window title and windows buttons on the panel"; + license = licenses.gpl2Plus; + platforms = platforms.unix; + maintainers = [ maintainers.volth ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin/default.nix b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin/default.nix new file mode 100644 index 000000000000..4497a7b0e36a --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin/default.nix @@ -0,0 +1,16 @@ +{ lib, mkXfceDerivation, gtk3, librsvg, libwnck3, libxklavier, garcon, libxfce4ui, libxfce4util, xfce4-panel, xfconf }: + +mkXfceDerivation rec { + category = "panel-plugins"; + pname = "xfce4-xkb-plugin"; + version = "0.8.1"; + rev = version; + sha256 = "1gyky4raynp2ggdnq0g96c6646fjm679fzipcsmf1q0aymr8d5ky"; + + buildInputs = [ garcon gtk3 librsvg libxfce4ui libxfce4util libxklavier libwnck3 xfce4-panel xfconf ]; + + meta = with lib; { + description = "Allows you to setup and use multiple keyboard layouts"; + maintainers = [ maintainers.AndersonTorres ]; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/thunar-plugins/archive/default.nix b/nixpkgs/pkgs/desktops/xfce/thunar-plugins/archive/default.nix new file mode 100644 index 000000000000..e3c72d3b50e2 --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/thunar-plugins/archive/default.nix @@ -0,0 +1,38 @@ +{ stdenv +, mkXfceDerivation +, fetchFromGitHub +, gtk3 +, thunar +, exo +, libxfce4util +, intltool +, gettext +}: + +mkXfceDerivation rec { + category = "thunar-plugins"; + pname = "thunar-archive-plugin"; + version = "0.4.0"; + + sha256 = "1793zicm00fail4iknliwy2b668j239ndxhc9hy6jarvdyp08h38"; + + nativeBuildInputs = [ + intltool + gettext + ]; + + buildInputs = [ + thunar + exo + gtk3 + libxfce4util + ]; + + preConfigure = '' + ./autogen.sh + ''; + + meta = with stdenv.lib; { + description = "Thunar plugin providing file context menus for archives"; + }; +} diff --git a/nixpkgs/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix b/nixpkgs/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix new file mode 100644 index 000000000000..8674c586552c --- /dev/null +++ b/nixpkgs/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix @@ -0,0 +1,40 @@ +{ stdenv +, fetchFromGitHub +, pkgconfig +, gtk3 +, thunar +, cmake +, ninja +}: + +stdenv.mkDerivation rec { + pname = "thunar-dropbox"; + version = "0.3.1"; + + src = fetchFromGitHub { + owner = "Jeinzi"; + repo = "thunar-dropbox"; + rev = version; + sha256 = "1fshjvh542ffa8npfxv3cassgn6jclb2ix9ir997y4k0abzp1fxb"; + }; + + nativeBuildInputs = [ + pkgconfig + cmake + ninja + ]; + + buildInputs = [ + thunar + gtk3 + ]; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + homepage = "https://github.com/Jeinzi/thunar-dropbox"; + description = "A plugin that adds context-menu items for Dropbox to Thunar"; + license = licenses.gpl3; + platforms = platforms.linux; + }; +} |