diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2015-10-01 14:17:46 +0200 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2015-10-01 14:17:46 +0200 |
commit | b23038dd801fcbfad2980664758d820b29abebae (patch) | |
tree | a743ff1a9428dea20b791e9556a32a077293ad41 /pkgs/desktops/xfce | |
parent | 96e1b7eaf9eaaa3592906a97e0c3cc4a4552769c (diff) | |
parent | 562851a0680c35ecc34e59976e2f8eabe142dca6 (diff) |
Merge remote-tracking branch 'origin/master' into systemd-219
Diffstat (limited to 'pkgs/desktops/xfce')
-rw-r--r-- | pkgs/desktops/xfce/core/thunar-archive-plugin.nix | 25 | ||||
-rw-r--r-- | pkgs/desktops/xfce/core/thunar.nix | 2 | ||||
-rw-r--r-- | pkgs/desktops/xfce/core/thunarx_plugins_directory.patch | 48 | ||||
-rw-r--r-- | pkgs/desktops/xfce/core/xfdesktop.nix | 4 | ||||
-rw-r--r-- | pkgs/desktops/xfce/default.nix | 5 | ||||
-rw-r--r-- | pkgs/desktops/xfce/thunar-plugins/archive/default.nix | 58 | ||||
-rw-r--r-- | pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix | 41 |
7 files changed, 155 insertions, 28 deletions
diff --git a/pkgs/desktops/xfce/core/thunar-archive-plugin.nix b/pkgs/desktops/xfce/core/thunar-archive-plugin.nix deleted file mode 100644 index 62a90578bd304..0000000000000 --- a/pkgs/desktops/xfce/core/thunar-archive-plugin.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, thunar, intltool, exo, gtk, udev, libxfce4ui, libxfce4util, xfconf }: - -stdenv.mkDerivation rec { - name = "thunar-archive-plugin-${version}"; - maj_ver = "0.3"; - version = "${maj_ver}.1"; - - src = fetchurl { - url = "mirror://xfce/src/thunar-plugins/${name}/${maj_ver}/${name}.tar.bz2"; - sha256 = "1sxw09fwyn5sr6ipxk7r8gqjyf41c2v7vkgl0l6mhy5mcb48f27z"; - }; - - buildInputs = [ pkgconfig thunar intltool exo gtk udev libxfce4ui libxfce4util xfconf ]; - enableParallelBuilding = true; - - preFixup = "rm $out/share/icons/hicolor/icon-theme.cache"; - - meta = { - homepage = http://foo-projects.org/~benny/projects/thunar-archive-plugin/; - description = "The Thunar Archive Plugin allows you to create and extract archive files using the file context menus in the Thunar file manager"; - license = stdenv.lib.licenses.gpl2Plus; - platforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.iElectric ]; - }; -} diff --git a/pkgs/desktops/xfce/core/thunar.nix b/pkgs/desktops/xfce/core/thunar.nix index 6e47945445961..1ddab2b075250 100644 --- a/pkgs/desktops/xfce/core/thunar.nix +++ b/pkgs/desktops/xfce/core/thunar.nix @@ -14,6 +14,8 @@ stdenv.mkDerivation rec { }; name = "${p_name}-${ver_maj}.${ver_min}"; + patches = [ ./thunarx_plugins_directory.patch ]; + buildInputs = [ pkgconfig intltool gtk dbus_glib libstartup_notification libnotify libexif pcre udev diff --git a/pkgs/desktops/xfce/core/thunarx_plugins_directory.patch b/pkgs/desktops/xfce/core/thunarx_plugins_directory.patch new file mode 100644 index 0000000000000..e1431d86b147d --- /dev/null +++ b/pkgs/desktops/xfce/core/thunarx_plugins_directory.patch @@ -0,0 +1,48 @@ +diff --git a/thunarx/thunarx-provider-factory.c b/thunarx/thunarx-provider-factory.c +index 31b8835..a3e7f4e 100644 +--- a/thunarx/thunarx-provider-factory.c ++++ b/thunarx/thunarx-provider-factory.c +@@ -141,12 +141,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 023ad2a..6c21997 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/pkgs/desktops/xfce/core/xfdesktop.nix b/pkgs/desktops/xfce/core/xfdesktop.nix index 4402e61a2fb68..e5d04879008e7 100644 --- a/pkgs/desktops/xfce/core/xfdesktop.nix +++ b/pkgs/desktops/xfce/core/xfdesktop.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { p_name = "xfdesktop"; ver_maj = "4.12"; - ver_min = "2"; + ver_min = "3"; src = fetchurl { url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"; - sha256 = "c9788883163b57bac39d12e5f8310c869d176454879defb78b67f8e9f1ad5225"; + sha256 = "a8a8d93744d842ca6ac1f9bd2c8789ee178937bca7e170e5239cbdbef30520ac"; }; name = "${p_name}-${ver_maj}.${ver_min}"; diff --git a/pkgs/desktops/xfce/default.nix b/pkgs/desktops/xfce/default.nix index f2a9f848342c7..5fdab2ab81e69 100644 --- a/pkgs/desktops/xfce/default.nix +++ b/pkgs/desktops/xfce/default.nix @@ -26,7 +26,10 @@ xfce_self = rec { # the lines are very long but it seems better than the even-od libxfcegui4 = callPackage ./core/libxfcegui4.nix { }; thunar = callPackage ./core/thunar.nix { }; thunar_volman = callPackage ./core/thunar-volman.nix { }; # ToDo: probably inside Thunar now - thunar_archive_plugin = callPackage ./core/thunar-archive-plugin.nix { }; + thunar-archive-plugin + = callPackage ./thunar-plugins/archive { }; + thunar-dropbox-plugin + = callPackage ./thunar-plugins/dropbox { }; tumbler = callPackage ./core/tumbler.nix { }; xfce4panel = callPackage ./core/xfce4-panel.nix { }; # ToDo: impure plugins from /run/current-system/sw/lib/xfce4 xfce4session = callPackage ./core/xfce4-session.nix { }; diff --git a/pkgs/desktops/xfce/thunar-plugins/archive/default.nix b/pkgs/desktops/xfce/thunar-plugins/archive/default.nix new file mode 100644 index 0000000000000..78e5f5002cd43 --- /dev/null +++ b/pkgs/desktops/xfce/thunar-plugins/archive/default.nix @@ -0,0 +1,58 @@ +{ stdenv, fetchFromGitHub, pkgconfig, xfce4_dev_tools +, gtk +, thunar +, exo, libxfce4util, libxfce4ui +, xfconf, udev, libnotify +}: + +stdenv.mkDerivation rec { + p_name = "thunar-archive-plugin"; + ver_maj = "0.3"; + ver_min = "1"; + name = "${p_name}-${ver_maj}.${ver_min}"; + + src = fetchFromGitHub { + owner = "xfce-mirror"; + repo = p_name; + rev = "72b23eefc348bee31e06a04f968e430bc7dfa51e"; + sha256 = "0l8715x23qmk0jkywiza3qx0xxmafxi4grp7p82kkc5df5ccs8kx"; + }; + + buildInputs = [ + pkgconfig + xfce4_dev_tools + thunar + exo gtk libxfce4util libxfce4ui + xfconf udev libnotify + ]; + + preConfigure = '' + ./autogen.sh + ''; + + /* + File roller `*.desktop` situation + --------------------------------- + + For some odd reason, in nix os, gnome file-roller's desktop file has the non-standard name + `org.gnome.FileRoller.desktop`. In order to be compatible with this odd context, create + a `*.tap` file of the same name. + + IMPORTANT: Adapt or remove the symbolic link if the situation changes. + */ + preFixup = '' + pushd $out/libexec/thunar-archive-plugin > /dev/null + ln -s ./file-roller.tap org.gnome.FileRoller.tap + popd > /dev/null + rm $out/share/icons/hicolor/icon-theme.cache + ''; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + homepage = http://foo-projects.org/~benny/projects/thunar-archive-plugin/; + description = "Thunar plugin providing file context menus for archives"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix b/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix new file mode 100644 index 0000000000000..cf83386fa261e --- /dev/null +++ b/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchurl, pkgconfig +, gtk +, thunar, python2 +}: + +stdenv.mkDerivation rec { + p_name = "thunar-dropbox-plugin"; + ver_maj = "0.2"; + ver_min = "1"; + name = "${p_name}-${ver_maj}.${ver_min}"; + + src = fetchurl { + url = "http://softwarebakery.com/maato/files/thunar-dropbox/thunar-dropbox-${ver_maj}.${ver_min}.tar.bz2"; + sha256 = "08vhzzzwshyz371yl7fzfylmhvchhv3s5kml3dva4v39jhvrpnkf"; + }; + + buildInputs = [ + pkgconfig + gtk + thunar python2 + ]; + + configurePhase = "python2 waf configure --prefix=$out"; + + buildPhase = "python2 waf"; + + installPhase = '' + python2 waf install + ''; + + preFixup = "rm $out/share/icons/hicolor/icon-theme.cache"; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + homepage = http://softwarebakery.com/maato/thunar-dropbox.html; + description = "A plugin for thunar that adds context-menu items from dropbox"; + license = licenses.gpl3; + platforms = platforms.linux; + }; +} |