xfce4-14: move to xfce and have only one version of xfce
All code that was at xfce4-14 has been moved to xfce/*. Old expressions that aren't rewritten might be abandoned or broken. Additonally I've ported the xfce4-14 thunar expression to support thunarPlugins. We can now support this interface in the Xfce module again, although I'm not sure if we have any plugins packaged that support latest thunar.
This commit is contained in:
@@ -1,27 +0,0 @@
|
||||
{ stdenv, fetchurl, pkgconfig, intltool, URI, glib, gtk, libxfce4ui, libxfce4util
|
||||
, hicolor-icon-theme }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
p_name = "exo";
|
||||
ver_maj = "0.10";
|
||||
ver_min = "7";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
|
||||
sha256 = "521581481128af93e815f9690020998181f947ac9e9c2b232b1f144d76b1b35c";
|
||||
};
|
||||
name = "${p_name}-${ver_maj}.${ver_min}";
|
||||
|
||||
outputs = [ "out" "dev" "devdoc" ];
|
||||
# lib/xfce4/exo-1/exo-compose-mail-1 is a perl script :-/
|
||||
|
||||
nativeBuildInputs = [ pkgconfig intltool ];
|
||||
buildInputs = [ URI glib gtk libxfce4ui libxfce4util hicolor-icon-theme ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = "https://docs.xfce.org/xfce/${p_name}/start";
|
||||
description = "Application library for the Xfce desktop environment";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
diff -urNZ a/garcon-gtk/garcon-gtk-menu.c b/garcon-gtk/garcon-gtk-menu.c
|
||||
--- a/garcon-gtk/garcon-gtk-menu.c 2017-11-16 19:22:33.551926068 +0000
|
||||
+++ b/garcon-gtk/garcon-gtk-menu.c 2017-11-16 19:23:33.055497211 +0000
|
||||
@@ -676,6 +676,9 @@
|
||||
G_CALLBACK (garcon_gtk_menu_deactivate), menu);
|
||||
gtk_widget_show (mi);
|
||||
|
||||
+ /* submenu are child items, too. */
|
||||
+ has_children = TRUE;
|
||||
+
|
||||
if (menu->priv->show_menu_icons)
|
||||
{
|
||||
icon_name = garcon_menu_element_get_icon_name (li->data);
|
||||
Binary files a/.git/index and b/.git/index differ
|
||||
@@ -1,44 +0,0 @@
|
||||
From 222080e6d5fce85eb2a8a5c33df671bd9f21add8 Mon Sep 17 00:00:00 2001
|
||||
From: Yegor Timoshenko <yegortimoshenko@gmail.com>
|
||||
Date: Thu, 14 Dec 2017 22:04:04 +0000
|
||||
Subject: [PATCH] Decrement allocation counter on item unref (#12700)
|
||||
|
||||
---
|
||||
garcon/garcon-menu-item-pool.c | 7 ++++++-
|
||||
garcon/garcon-menu-item.c | 2 ++
|
||||
2 files changed, 8 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/garcon/garcon-menu-item-pool.c b/garcon/garcon-menu-item-pool.c
|
||||
index 2017180..355e520 100644
|
||||
--- a/garcon/garcon-menu-item-pool.c
|
||||
+++ b/garcon/garcon-menu-item-pool.c
|
||||
@@ -191,7 +191,12 @@ garcon_menu_item_pool_filter_exclude (const gchar *desktop_id,
|
||||
g_return_val_if_fail (GARCON_IS_MENU_ITEM (item), FALSE);
|
||||
g_return_val_if_fail (node != NULL, FALSE);
|
||||
|
||||
- return garcon_menu_node_tree_rule_matches (node, item);
|
||||
+ gboolean matches = garcon_menu_node_tree_rule_matches (node, item);
|
||||
+
|
||||
+ if (matches)
|
||||
+ garcon_menu_item_increment_allocated (item);
|
||||
+
|
||||
+ return matches;
|
||||
}
|
||||
|
||||
|
||||
diff --git a/garcon/garcon-menu-item.c b/garcon/garcon-menu-item.c
|
||||
index 66a86bf..d61c88f 100644
|
||||
--- a/garcon/garcon-menu-item.c
|
||||
+++ b/garcon/garcon-menu-item.c
|
||||
@@ -1516,6 +1516,8 @@ garcon_menu_item_unref (GarconMenuItem *item)
|
||||
{
|
||||
g_return_if_fail (GARCON_IS_MENU_ITEM (item));
|
||||
|
||||
+ garcon_menu_item_decrement_allocated (item);
|
||||
+
|
||||
/* Decrement the reference counter */
|
||||
g_object_unref (G_OBJECT (item));
|
||||
}
|
||||
--
|
||||
2.15.1
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
{ stdenv, fetchurl, pkgconfig, intltool, glib, libxfce4util, libxfce4ui, gtk }:
|
||||
let
|
||||
p_name = "garcon";
|
||||
ver_maj = "0.4";
|
||||
ver_min = "0";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "${p_name}-${ver_maj}.${ver_min}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
|
||||
sha256 = "0wm9pjbwq53s3n3nwvsyf0q8lbmhiy2ln3bn5ncihr9vf5cwhzbq";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
patches = [ ./garcon-10967.patch ./garcon-12700.patch ];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [ intltool glib libxfce4util gtk libxfce4ui ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://www.xfce.org/;
|
||||
description = "Xfce menu support library";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -1,31 +0,0 @@
|
||||
{ stdenv, fetchurl, pkgconfig, intltool, gtk2, withGtk3 ? false, gtk3 ? null }:
|
||||
|
||||
assert withGtk3 -> (gtk3 != null);
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
p_name = "gtk-xfce-engine";
|
||||
ver_maj = "3.2";
|
||||
ver_min = "0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
|
||||
sha256 = "1va71f3gpl8gikfkmqsd5ikgp7qj8b64jii2l98g1ylnv8xrqp47";
|
||||
};
|
||||
name = "${p_name}-${ver_maj}.${ver_min}";
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [ intltool gtk2 ] ++ stdenv.lib.optional withGtk3 gtk3;
|
||||
|
||||
# `glib-mkenums' is unhappy that some source files are not valid UTF-8
|
||||
postPatch = ''find . -type f -name '*.[ch]' -exec sed -r -i 's/\xD6/O/g' {} +'';
|
||||
|
||||
configureFlags = stdenv.lib.optional withGtk3 "--enable-gtk3";
|
||||
|
||||
meta = {
|
||||
homepage = https://www.xfce.org/;
|
||||
description = "GTK theme engine for Xfce";
|
||||
license = stdenv.lib.licenses.gpl2Plus;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
maintainers = [ stdenv.lib.maintainers.eelco ];
|
||||
};
|
||||
}
|
||||
@@ -1,41 +0,0 @@
|
||||
{ stdenv, fetchurl, pkgconfig, intltool, xorg, gtk, libxfce4util, xfconf
|
||||
, libglade, libstartup_notification, hicolor-icon-theme
|
||||
, withGtk3 ? false, gtk3
|
||||
}:
|
||||
let
|
||||
p_name = "libxfce4ui";
|
||||
ver_maj = "4.12";
|
||||
ver_min = "1";
|
||||
inherit (stdenv.lib) optional;
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "${p_name}-${ver_maj}.${ver_min}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
|
||||
sha256 = "3d619811bfbe7478bb984c16543d980cadd08586365a7bc25e59e3ca6384ff43";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "devdoc" ];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig intltool ];
|
||||
|
||||
buildInputs =
|
||||
[ gtk libxfce4util xfconf libglade
|
||||
libstartup_notification hicolor-icon-theme
|
||||
] ++ optional withGtk3 gtk3;
|
||||
|
||||
propagatedBuildInputs = [ xorg.libICE xorg.libSM ];
|
||||
|
||||
#TODO: glade?
|
||||
configureFlags = optional withGtk3 "--enable-gtk3";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://www.xfce.org/;
|
||||
description = "Basic GUI library for Xfce";
|
||||
license = licenses.lgpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
{ stdenv, fetchurl, pkgconfig, glib, intltool }:
|
||||
let
|
||||
p_name = "libxfce4util";
|
||||
ver_maj = "4.12";
|
||||
ver_min = "1";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "${p_name}-${ver_maj}.${ver_min}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
|
||||
sha256 = "07c8r3xwx5is298zk77m3r784gmr5y4mh8bbca5zdjqk5vxdwsw7";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "devdoc" ];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [ glib intltool ];
|
||||
|
||||
meta = {
|
||||
homepage = https://www.xfce.org/;
|
||||
description = "Basic utility non-GUI functions for Xfce";
|
||||
license = "bsd";
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
{ stdenv, fetchurl, pkgconfig, intltool, gtk
|
||||
, libxfce4util, xfconf, libglade, libstartup_notification, hicolor-icon-theme }:
|
||||
let
|
||||
p_name = "libxfcegui4";
|
||||
ver_maj = "4.10";
|
||||
ver_min = "0";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "${p_name}-${ver_maj}.${ver_min}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
|
||||
sha256 = "0cs5im0ib0cmr1lhr5765yliqjfyxvk4kwy8h1l8bn3mj6bzk0ib";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "devdoc" ];
|
||||
|
||||
#TODO: gladeui
|
||||
# By default, libxfcegui4 tries to install into libglade's prefix.
|
||||
# Install into our own prefix instead.
|
||||
configureFlags = [
|
||||
"--with-libglade-module-path=$(out)/lib/libglade/2.0"
|
||||
];
|
||||
#NOTE: missing keyboard library support is OK according to the mailing-list
|
||||
|
||||
buildInputs =
|
||||
[ pkgconfig intltool gtk libxfce4util xfconf libglade
|
||||
libstartup_notification hicolor-icon-theme
|
||||
];
|
||||
|
||||
meta = {
|
||||
homepage = https://www.xfce.org/;
|
||||
description = "Basic GUI library for Xfce";
|
||||
license = stdenv.lib.licenses.lgpl2Plus;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
@@ -1,42 +0,0 @@
|
||||
{ stdenv, fetchurl, pkgconfig, intltool
|
||||
, gtk, dbus-glib, libstartup_notification, libnotify, libexif, pcre, udev
|
||||
, exo, libxfce4util, xfconf, xfce4-panel, hicolor-icon-theme, wrapGAppsHook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
p_name = "thunar";
|
||||
ver_maj = "1.6";
|
||||
ver_min = "10";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/Thunar-${ver_maj}.${ver_min}.tar.bz2";
|
||||
sha256 = "7e9d24067268900e5e44d3325e60a1a2b2f8f556ec238ec12574fbea15fdee8a";
|
||||
};
|
||||
|
||||
name = "${p_name}-build-${ver_maj}.${ver_min}";
|
||||
|
||||
patches = [ ./thunarx_plugins_directory.patch ];
|
||||
|
||||
postPatch = ''
|
||||
sed -i -e 's|thunar_dialogs_show_insecure_program (parent, _(".*"), file, exec)|1|' thunar/thunar-file.c
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
|
||||
buildInputs = [
|
||||
intltool
|
||||
gtk dbus-glib libstartup_notification libnotify libexif pcre udev
|
||||
exo libxfce4util xfconf xfce4-panel
|
||||
hicolor-icon-theme
|
||||
];
|
||||
# TODO: optionality?
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = {
|
||||
homepage = http://thunar.xfce.org/;
|
||||
description = "Xfce file manager";
|
||||
license = stdenv.lib.licenses.gpl2Plus;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
maintainers = [ stdenv.lib.maintainers.eelco ];
|
||||
};
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
{ stdenv, fetchurl, pkgconfig, intltool, exo, gtk, libxfce4util, libxfce4ui
|
||||
, xfconf, udev, libgudev, libnotify, hicolor-icon-theme }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
p_name = "thunar-volman";
|
||||
ver_maj = "0.8";
|
||||
ver_min = "1";
|
||||
name = "${p_name}-${ver_maj}.${ver_min}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
|
||||
sha256 = "1gf259n1v3y23n1zlkhyr6r0i8j59rnl1cmxvxj6la9cwdfbn22s";
|
||||
};
|
||||
|
||||
|
||||
buildInputs =
|
||||
[ pkgconfig intltool exo gtk udev libgudev libxfce4ui libxfce4util
|
||||
xfconf libnotify hicolor-icon-theme
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = {
|
||||
homepage = https://goodies.xfce.org/projects/thunar-plugins/thunar-volman;
|
||||
description = "Thunar extension for automatic management of removable drives and media";
|
||||
license = stdenv.lib.licenses.gpl2Plus;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
maintainers = [ stdenv.lib.maintainers.eelco ];
|
||||
};
|
||||
}
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -1,68 +0,0 @@
|
||||
{ stdenv, buildEnv, runCommand, makeWrapper, lndir, thunar-bare
|
||||
, thunarPlugins ? []
|
||||
}:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
let
|
||||
|
||||
build = thunar-bare;
|
||||
|
||||
replaceLnExeListWithWrapped = exeDir: exeNameList: mkWrapArgs: ''
|
||||
exeDir="${exeDir}"
|
||||
oriDir=`realpath -e "$exeDir"`
|
||||
unlink "$exeDir"
|
||||
mkdir -p "$exeDir"
|
||||
lndir "$oriDir" "$exeDir"
|
||||
|
||||
exeList="${concatStrings (intersperse " " (map (x: "${exeDir}/${x}") exeNameList))}"
|
||||
|
||||
for exe in $exeList; do
|
||||
oriExe=`realpath -e "$exe"`
|
||||
rm -f "$exe"
|
||||
makeWrapper "$oriExe" "$exe" ${concatStrings (intersperse " " mkWrapArgs)}
|
||||
done
|
||||
'';
|
||||
|
||||
name = "${build.p_name}-${build.ver_maj}.${build.ver_min}";
|
||||
|
||||
meta = {
|
||||
inherit (build.meta) homepage license platforms;
|
||||
|
||||
description = build.meta.description + optionalString
|
||||
(0 != length thunarPlugins)
|
||||
" (with plugins: ${concatStrings (intersperse ", " (map (x: x.name) thunarPlugins))})";
|
||||
maintainers = build.meta.maintainers /*++ [ jraygauthier ]*/;
|
||||
};
|
||||
|
||||
in
|
||||
|
||||
# TODO: To be replaced with `buildEnv` awaiting missing features.
|
||||
runCommand name {
|
||||
inherit build;
|
||||
inherit meta;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper lndir ];
|
||||
|
||||
dontPatchELF = true;
|
||||
dontStrip = true;
|
||||
|
||||
}
|
||||
(let
|
||||
buildWithPlugins = buildEnv {
|
||||
name = "thunar-bare-with-plugins";
|
||||
paths = [ build ] ++ thunarPlugins;
|
||||
};
|
||||
|
||||
in ''
|
||||
mkdir -p $out
|
||||
pushd ${buildWithPlugins} > /dev/null
|
||||
for d in `find . -maxdepth 1 -name "*" -printf "%f\n" | tail -n+2`; do
|
||||
ln -s "${buildWithPlugins}/$d" "$out/$d"
|
||||
done
|
||||
popd > /dev/null
|
||||
|
||||
${replaceLnExeListWithWrapped "$out/bin" [ "thunar" "thunar-settings" ] [
|
||||
"--set THUNARX_MODULE_DIR \"${buildWithPlugins}/lib/thunarx-2\""
|
||||
]}
|
||||
'')
|
||||
@@ -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;
|
||||
}
|
||||
+5
-5
@@ -1,8 +1,8 @@
|
||||
diff --git a/thunarx/thunarx-provider-factory.c b/thunarx/thunarx-provider-factory.c
|
||||
index 31b8835..a3e7f4e 100644
|
||||
index 94b11545..1f66c982 100644
|
||||
--- a/thunarx/thunarx-provider-factory.c
|
||||
+++ b/thunarx/thunarx-provider-factory.c
|
||||
@@ -141,12 +141,19 @@ static GList*
|
||||
@@ -150,12 +150,19 @@ static GList*
|
||||
thunarx_provider_factory_load_modules (ThunarxProviderFactory *factory)
|
||||
{
|
||||
ThunarxProviderModule *module;
|
||||
@@ -24,7 +24,7 @@ index 31b8835..a3e7f4e 100644
|
||||
{
|
||||
/* determine the types for all existing plugins */
|
||||
diff --git a/thunarx/thunarx-provider-module.c b/thunarx/thunarx-provider-module.c
|
||||
index 023ad2a..6c21997 100644
|
||||
index 023ad2ae..b1d1be8f 100644
|
||||
--- a/thunarx/thunarx-provider-module.c
|
||||
+++ b/thunarx/thunarx-provider-module.c
|
||||
@@ -174,10 +174,17 @@ static gboolean
|
||||
@@ -33,13 +33,13 @@ index 023ad2a..6c21997 100644
|
||||
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);
|
||||
@@ -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))})";
|
||||
};
|
||||
}
|
||||
@@ -1,42 +0,0 @@
|
||||
{ stdenv, fetchurl, pkgconfig, intltool, dbus-glib, gdk-pixbuf, curl, freetype
|
||||
, libgsf, poppler, bzip2 }:
|
||||
let
|
||||
p_name = "tumbler";
|
||||
ver_maj = "0.1";
|
||||
ver_min = "31";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "${p_name}-${ver_maj}.${ver_min}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
|
||||
sha256 = "0wvip28gm2w061hn84zp2q4dv947ihylrppahn4cjspzff935zfh";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "devdoc" ];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [
|
||||
intltool dbus-glib gdk-pixbuf curl freetype
|
||||
poppler libgsf bzip2
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
# Needs gst-tag
|
||||
# "--enable-gstreamer-thumbnailer"
|
||||
|
||||
# Needs libffmpegthumbnailer
|
||||
# "--enable-ffmpeg-thumbnailer"
|
||||
|
||||
"--enable-odf-thumbnailer"
|
||||
"--enable-poppler-thumbnailer"
|
||||
];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://git.xfce.org/xfce/tumbler/;
|
||||
description = "A D-Bus thumbnailer service";
|
||||
platforms = platforms.linux;
|
||||
license = licenses.gpl2;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
{ stdenv, fetchurl, pkgconfig, intltool, glib, gtk, libxfce4util
|
||||
, libxfce4ui, garcon, xfconf }:
|
||||
let
|
||||
p_name = "xfce4-appfinder";
|
||||
ver_maj = "4.12";
|
||||
ver_min = "0";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "${p_name}-${ver_maj}.${ver_min}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
|
||||
sha256 = "0ry5hin8xhgnkmm9vs7jq8blk1cnbyr0s18nm1j6nsm7360abm1a";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
[ pkgconfig intltool glib gtk libxfce4util libxfce4ui garcon xfconf ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://docs.xfce.org/xfce/xfce4-appfinder/;
|
||||
description = "Xfce application finder, a tool to locate and launch programs on your system";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.eelco ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
{ stdenv, fetchurl, pkgconfig, glib, autoconf, automake, libtool, intltool }:
|
||||
let
|
||||
p_name = "xfce4-dev-tools";
|
||||
ver_maj = "4.12";
|
||||
ver_min = "0";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "${p_name}-${ver_maj}.${ver_min}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
|
||||
sha256 = "1jxmyp80pwbfgmqmwpjxs7z5dmm6pyf3qj62z20xy44izraadqz2";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [ glib ];
|
||||
|
||||
# not needed to build it but to use it
|
||||
propagatedBuildInputs = [ autoconf automake libtool intltool ];
|
||||
|
||||
meta = {
|
||||
homepage = http://foo-projects.org/~benny/projects/xfce4-dev-tools/;
|
||||
description = "Tools and M4 macros for Xfce4 developers";
|
||||
license = stdenv.lib.licenses.gpl2Plus;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -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)
|
||||
@@ -1,25 +0,0 @@
|
||||
--- ./scripts/xflock4.orig 2017-08-06 23:05:53.807688995 +0100
|
||||
+++ ./scripts/xflock4 2017-08-06 23:09:06.171789989 +0100
|
||||
@@ -24,12 +24,19 @
|
||||
PATH=/bin:/usr/bin
|
||||
export PATH
|
||||
|
||||
-# Lock by xscreensaver or gnome-screensaver, if a respective daemon is running
|
||||
+# First test for the command set in the session's xfconf channel
|
||||
+LOCK_CMD=$(xfconf-query -c xfce4-session -p /general/LockCommand)
|
||||
+
|
||||
+# Lock by xscreensaver, gnome-screensaver, or light-locker, if a respective daemon is running
|
||||
for lock_cmd in \
|
||||
+ "$LOCK_CMD" \
|
||||
"xscreensaver-command -lock" \
|
||||
- "gnome-screensaver-command --lock"
|
||||
+ "gnome-screensaver-command --lock" \
|
||||
+ "light-locker-command -l"
|
||||
do
|
||||
- $lock_cmd >/dev/null 2>&1 && exit
|
||||
+ if [ ! -z "$lock_cmd" ]; then
|
||||
+ $lock_cmd >/dev/null 2>&1 && exit
|
||||
+ fi
|
||||
done
|
||||
|
||||
# else run another access locking utility, if installed
|
||||
@@ -1,59 +0,0 @@
|
||||
{ stdenv, fetchurl, pkgconfig, intltool, gtk, libxfce4util, libxfce4ui
|
||||
, libxfce4ui_gtk3, libwnck, exo, garcon, xfconf, libstartup_notification
|
||||
, makeWrapper, xfce4-mixer, hicolor-icon-theme, tzdata
|
||||
, withGtk3 ? false, gtk3, gettext, glib-networking
|
||||
}:
|
||||
let
|
||||
inherit (stdenv.lib) optional;
|
||||
p_name = "xfce4-panel";
|
||||
ver_maj = "4.12";
|
||||
ver_min = "2";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "${p_name}-${ver_maj}.${ver_min}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
|
||||
sha256 = "1s8cvsrgmkmmm84g6mghpj2k4777gm22g5lrsf8pdy5qh6xql1a2";
|
||||
};
|
||||
|
||||
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" \
|
||||
--replace "if (!g_file_test (filename, G_FILE_TEST_IS_SYMLINK))" ""
|
||||
'';
|
||||
|
||||
outputs = [ "out" "dev" "devdoc" ];
|
||||
|
||||
buildInputs =
|
||||
[ pkgconfig intltool gtk libxfce4util exo libwnck
|
||||
garcon xfconf libstartup_notification makeWrapper hicolor-icon-theme
|
||||
] ++ xfce4-mixer.gst_plugins
|
||||
++ optional withGtk3 gtk3;
|
||||
|
||||
propagatedBuildInputs = [ (if withGtk3 then libxfce4ui_gtk3 else libxfce4ui) ];
|
||||
|
||||
configureFlags = optional withGtk3 "--enable-gtk3";
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram "$out/bin/xfce4-panel" \
|
||||
--prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH" \
|
||||
--prefix GIO_EXTRA_MODULES : "${glib-networking}/lib/gio/modules"
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://www.xfce.org/projects/xfce4-panel;
|
||||
description = "Xfce panel";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.eelco ];
|
||||
};
|
||||
}
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -1,44 +0,0 @@
|
||||
{ stdenv, lib, fetchurl, pkgconfig, intltool, glib, gtk, dbus-glib, upower, xfconf
|
||||
, libxfce4ui, libxfce4util, libnotify, xfce4-panel, hicolor-icon-theme
|
||||
, withGtk3 ? false, gtk3, libxfce4ui_gtk3, xfce4panel_gtk3 }:
|
||||
let
|
||||
p_name = "xfce4-power-manager";
|
||||
ver_maj = if withGtk3 then "1.6" else "1.4";
|
||||
ver_min = if withGtk3 then "0" else "4";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "${p_name}-${ver_maj}.${ver_min}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
|
||||
sha256 =
|
||||
if withGtk3
|
||||
then "0avzhllpimcn7a6z9aa4jn0zg5ahxr9ks5ldchizycdb0rz1bqxx"
|
||||
else "01rvqy1cif4s8lkidb7hhmsz7d9f2fwcwvc51xycaj3qgsmch3n5";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
[ pkgconfig intltool glib dbus-glib upower xfconf libxfce4util
|
||||
libnotify hicolor-icon-theme
|
||||
] ++
|
||||
(if withGtk3
|
||||
then [ gtk3 libxfce4ui_gtk3 xfce4panel_gtk3 ]
|
||||
else [ gtk libxfce4ui xfce4-panel ]);
|
||||
|
||||
postPatch = lib.optionalString withGtk3 ''
|
||||
substituteInPlace configure --replace gio-2.0 gio-unix-2.0
|
||||
'';
|
||||
|
||||
postConfigure = lib.optionalString withGtk3 ''
|
||||
substituteInPlace src/Makefile --replace "xfce4_power_manager_CFLAGS = " "xfce4_power_manager_CFLAGS = \$(GIO_CFLAGS) "
|
||||
substituteInPlace settings/Makefile --replace "xfce4_power_manager_settings_CFLAGS = " "xfce4_power_manager_settings_CFLAGS = \$(GIO_CFLAGS) "
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://goodies.xfce.org/projects/applications/xfce4-power-manager;
|
||||
description = "A power manager for the Xfce Desktop Environment";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.eelco ];
|
||||
};
|
||||
}
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -1,44 +0,0 @@
|
||||
{ stdenv, fetchurl, pkgconfig, intltool, gtk, polkit
|
||||
, libxfce4util, libxfce4ui, xfce4-panel, libwnck, dbus-glib, xfconf, libglade, xorg
|
||||
, hicolor-icon-theme
|
||||
}:
|
||||
|
||||
let
|
||||
p_name = "xfce4-session";
|
||||
ver_maj = "4.12";
|
||||
ver_min = "1";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "${p_name}-${ver_maj}.${ver_min}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
|
||||
sha256 = "97d7f2a2d0af7f3623b68d1f04091e02913b28f9555dab8b0d26c8a1299d08fd";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix "lock screen" not working for light-locker
|
||||
./xfce4-light-locker.patch
|
||||
];
|
||||
|
||||
buildInputs =
|
||||
[ pkgconfig intltool gtk libxfce4util libxfce4ui libwnck dbus-glib
|
||||
xfconf xfce4-panel libglade xorg.iceauth xorg.libSM
|
||||
polkit hicolor-icon-theme
|
||||
]; #TODO: upower-glib, gconf (assistive?), gnome keyring
|
||||
|
||||
preBuild = ''
|
||||
sed '/^PATH=/d' -i scripts/xflock4
|
||||
sed '/^export PATH$/d' -i scripts/xflock4
|
||||
'';
|
||||
|
||||
configureFlags = [ "--with-xsession-prefix=$(out)" ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://www.xfce.org/projects/xfce4-session;
|
||||
description = "Session manager for Xfce";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.eelco ];
|
||||
};
|
||||
}
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
--- a/xfsettingsd/xsettings.xml 2015-02-28 22:32:02.681796319 +0100
|
||||
+++ b/xfsettingsd/xsettings.xml 2015-02-28 22:32:27.881214735 +0100
|
||||
@@ -7,7 +7,7 @@
|
||||
<channel name="xsettings" version="1.0">
|
||||
<property name="Net" type="empty">
|
||||
<property name="ThemeName" type="empty"/>
|
||||
- <property name="IconThemeName" type="empty"/>
|
||||
+ <property name="IconThemeName" type="string" value="Rodent"/>
|
||||
<property name="DoubleClickTime" type="int" value="400"/>
|
||||
<property name="DoubleClickDistance" type="int" value="5"/>
|
||||
<property name="DndDragThreshold" type="int" value="8"/>
|
||||
@@ -1,54 +0,0 @@
|
||||
{ stdenv, fetchurl, pkgconfig, intltool, exo, gtk, garcon, libxfce4util
|
||||
, libxfce4ui, xfconf, libXi, upower ? null, libnotify ? null
|
||||
, libXcursor ? null, xf86inputlibinput ? null, libxklavier ? null }:
|
||||
|
||||
let
|
||||
p_name = "xfce4-settings";
|
||||
ver_maj = "4.12";
|
||||
ver_min = "1";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "${p_name}-${ver_maj}.${ver_min}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
|
||||
sha256 = "0x35i1cvkqp0hib1knwa58mckdwrfbhaisz4bsx6bbbx385llj7n";
|
||||
};
|
||||
|
||||
patches = [ ./xfce4-settings-default-icon-theme.patch ];
|
||||
|
||||
postPatch = ''
|
||||
for f in $(find . -name \*.c); do
|
||||
substituteInPlace $f --replace \"libinput-properties.h\" '<xorg/libinput-properties.h>'
|
||||
done
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ pkgconfig intltool ];
|
||||
|
||||
buildInputs = [
|
||||
exo
|
||||
gtk
|
||||
garcon
|
||||
libxfce4util
|
||||
libxfce4ui
|
||||
xfconf
|
||||
libXi
|
||||
upower
|
||||
libnotify
|
||||
libXcursor
|
||||
xf86inputlibinput
|
||||
libxklavier
|
||||
];
|
||||
|
||||
configureFlags = [ "--enable-pluggable-dialogs" "--enable-sound-settings" ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://www.xfce.org/projects/xfce4-settings;
|
||||
description = "Settings manager for Xfce";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.eelco ];
|
||||
};
|
||||
}
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
{ stdenv, fetchurl, pkgconfig, intltool, glib, libxfce4util, dbus-glib }:
|
||||
let
|
||||
p_name = "xfconf";
|
||||
ver_maj = "4.12";
|
||||
ver_min = "1";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "${p_name}-${ver_maj}.${ver_min}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
|
||||
sha256 = "0dns190bwb615wy9ma2654sw4vz1d0rcv061zmaalkv9wmj8bx1m";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "devdoc" ];
|
||||
|
||||
#TODO: no perl bingings yet (ExtUtils::Depends, ExtUtils::PkgConfig, Glib)
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [ intltool glib libxfce4util ];
|
||||
propagatedBuildInputs = [ dbus-glib ];
|
||||
|
||||
doCheck = false; # requires dbus daemon
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://docs.xfce.org/xfce/xfconf/start;
|
||||
description = "Simple client-server configuration storage and query system for Xfce";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
{ stdenv, fetchurl, fetchpatch, pkgconfig, intltool, gtk, libxfce4util, libxfce4ui
|
||||
, libwnck, xfconf, libglade, xfce4-panel, thunar, exo, garcon, libnotify
|
||||
, hicolor-icon-theme }:
|
||||
let
|
||||
p_name = "xfdesktop";
|
||||
ver_maj = "4.12";
|
||||
ver_min = "3";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "${p_name}-${ver_maj}.${ver_min}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
|
||||
sha256 = "a8a8d93744d842ca6ac1f9bd2c8789ee178937bca7e170e5239cbdbef30520ac";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
pkgconfig intltool gtk libxfce4util libxfce4ui libwnck xfconf
|
||||
libglade xfce4-panel thunar exo garcon libnotify hicolor-icon-theme
|
||||
];
|
||||
|
||||
patches = [(fetchpatch {
|
||||
url = https://git.xfce.org/xfce/xfdesktop/patch?id=157f5b55cfc3629d595ef38984278de5915aac27;
|
||||
sha256 = "0ki7hnyfpz7bdmsxqnm9qvyk040iyv1fawnhzfbyyzrh4nc5jd3x";
|
||||
})];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://www.xfce.org/projects/xfdesktop;
|
||||
description = "Xfce desktop manager";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.eelco ];
|
||||
};
|
||||
}
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -1,31 +0,0 @@
|
||||
{ stdenv, fetchurl, pkgconfig, gtk, intltool, libglade, libxfce4util
|
||||
, libxfce4ui, xfconf, libwnck, libstartup_notification, xorg }:
|
||||
let
|
||||
p_name = "xfwm4";
|
||||
ver_maj = "4.12";
|
||||
ver_min = "4";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "${p_name}-${ver_maj}.${ver_min}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
|
||||
sha256 = "0dpvdrd5lclkcrzmdpva38gfsgvdf3xkqfknvy96x6k4fn508x7s";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
[ pkgconfig intltool gtk libglade libxfce4util libxfce4ui xfconf
|
||||
libwnck libstartup_notification
|
||||
xorg.libXcomposite xorg.libXfixes xorg.libXdamage
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://www.xfce.org/projects/xfwm4;
|
||||
description = "Window manager for Xfce";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.eelco ];
|
||||
};
|
||||
}
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user