diff options
Diffstat (limited to 'pkgs/desktops/xfce/core')
-rw-r--r-- | pkgs/desktops/xfce/core/exo.nix | 16 | ||||
-rw-r--r-- | pkgs/desktops/xfce/core/garcon.nix | 14 | ||||
-rw-r--r-- | pkgs/desktops/xfce/core/gtk-xfce-engine.nix | 17 | ||||
-rw-r--r-- | pkgs/desktops/xfce/core/libxfce4ui.nix | 28 | ||||
-rw-r--r-- | pkgs/desktops/xfce/core/libxfce4util.nix | 14 | ||||
-rw-r--r-- | pkgs/desktops/xfce/core/libxfcegui4.nix | 28 | ||||
-rw-r--r-- | pkgs/desktops/xfce/core/thunar-volman.nix | 27 | ||||
-rw-r--r-- | pkgs/desktops/xfce/core/thunar.nix | 25 | ||||
-rw-r--r-- | pkgs/desktops/xfce/core/tumbler.nix | 14 | ||||
-rw-r--r-- | pkgs/desktops/xfce/core/xfce-utils.nix | 20 | ||||
-rw-r--r-- | pkgs/desktops/xfce/core/xfce4-appfinder.nix | 20 | ||||
-rw-r--r-- | pkgs/desktops/xfce/core/xfce4-panel-datadir.patch | 24 | ||||
-rw-r--r-- | pkgs/desktops/xfce/core/xfce4-panel.nix | 28 | ||||
-rw-r--r-- | pkgs/desktops/xfce/core/xfce4-power-manager.nix | 21 | ||||
-rw-r--r-- | pkgs/desktops/xfce/core/xfce4-session.nix | 26 | ||||
-rw-r--r-- | pkgs/desktops/xfce/core/xfce4-settings.nix | 24 | ||||
-rw-r--r-- | pkgs/desktops/xfce/core/xfconf.nix | 16 | ||||
-rw-r--r-- | pkgs/desktops/xfce/core/xfdesktop.nix | 23 | ||||
-rw-r--r-- | pkgs/desktops/xfce/core/xfwm4.nix | 24 |
19 files changed, 409 insertions, 0 deletions
diff --git a/pkgs/desktops/xfce/core/exo.nix b/pkgs/desktops/xfce/core/exo.nix new file mode 100644 index 000000000000..03a0d5872b54 --- /dev/null +++ b/pkgs/desktops/xfce/core/exo.nix @@ -0,0 +1,16 @@ +{ v, h, stdenv, fetchXfce, pkgconfig, intltool, URI, glib, gtk, libxfce4ui, libxfce4util }: + +stdenv.mkDerivation rec { + name = "exo-${v}"; + src = fetchXfce.core name h; + + buildInputs = [ pkgconfig intltool URI glib gtk libxfce4ui libxfce4util ]; + + preFixup = "rm $out/share/icons/hicolor/icon-theme.cache"; + + meta = { + homepage = http://www.xfce.org/projects/exo; + description = "Application library for the Xfce desktop environment"; + license = "GPLv2+"; + }; +} diff --git a/pkgs/desktops/xfce/core/garcon.nix b/pkgs/desktops/xfce/core/garcon.nix new file mode 100644 index 000000000000..d6480c54cc41 --- /dev/null +++ b/pkgs/desktops/xfce/core/garcon.nix @@ -0,0 +1,14 @@ +{ v, h, stdenv, fetchXfce, pkgconfig, intltool, glib, libxfce4util }: + +stdenv.mkDerivation rec { + name = "garcon-${v}"; + src = fetchXfce.core name h; + + buildInputs = [ pkgconfig intltool glib libxfce4util ]; + + meta = { + homepage = http://www.xfce.org/; + description = "Xfce menu support library"; + license = "GPLv2+"; + }; +} diff --git a/pkgs/desktops/xfce/core/gtk-xfce-engine.nix b/pkgs/desktops/xfce/core/gtk-xfce-engine.nix new file mode 100644 index 000000000000..8bd6bc5bde25 --- /dev/null +++ b/pkgs/desktops/xfce/core/gtk-xfce-engine.nix @@ -0,0 +1,17 @@ +{ stdenv, fetchXfce, pkgconfig, intltool, gtk }: + +stdenv.mkDerivation rec { + name = "gtk-xfce-engine-3.0.1"; + src = fetchXfce.core name "0vd0ly81540f9133abza56mlqqx1swp0j70ll8kf948sva0wy0zb"; + + #TODO: gtk3 + buildInputs = [ pkgconfig intltool gtk ]; + + meta = { + homepage = http://www.xfce.org/; + description = "GTK+ theme engine for Xfce"; + license = "GPLv2+"; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.eelco ]; + }; +} diff --git a/pkgs/desktops/xfce/core/libxfce4ui.nix b/pkgs/desktops/xfce/core/libxfce4ui.nix new file mode 100644 index 000000000000..e9f6fe3a3f90 --- /dev/null +++ b/pkgs/desktops/xfce/core/libxfce4ui.nix @@ -0,0 +1,28 @@ +{ v, h, stdenv, fetchXfce, pkgconfig, intltool, gtk, libxfce4util, xfconf +, libglade, libstartup_notification }: + +stdenv.mkDerivation rec { + name = "libxfce4ui-${v}"; + src = fetchXfce.core name h; + + #TODO: gladeui + # Install into our own prefix instead. + preConfigure = + '' + configureFlags="--with-libglade-module-path=$out/lib/libglade/2.0" + ''; + + buildInputs = + [ pkgconfig intltool gtk libxfce4util xfconf libglade + libstartup_notification + ]; + + enableParallelBuilding = true; + + meta = { + homepage = http://www.xfce.org/projects/libxfce4; +#TODO + description = "Basic GUI library for Xfce"; + license = "LGPLv2+"; + }; +} diff --git a/pkgs/desktops/xfce/core/libxfce4util.nix b/pkgs/desktops/xfce/core/libxfce4util.nix new file mode 100644 index 000000000000..6b16d890a3e0 --- /dev/null +++ b/pkgs/desktops/xfce/core/libxfce4util.nix @@ -0,0 +1,14 @@ +{ v, h, stdenv, fetchXfce, pkgconfig, glib, intltool }: + +stdenv.mkDerivation rec { + name = "libxfce4util-${v}"; + src = fetchXfce.core name h; + + buildInputs = [ pkgconfig glib intltool ]; + + meta = { + homepage = http://www.xfce.org/projects/libxfce4; + description = "Basic utility non-GUI functions for Xfce"; + license = "bsd"; + }; +} diff --git a/pkgs/desktops/xfce/core/libxfcegui4.nix b/pkgs/desktops/xfce/core/libxfcegui4.nix new file mode 100644 index 000000000000..6fcc1c754c86 --- /dev/null +++ b/pkgs/desktops/xfce/core/libxfcegui4.nix @@ -0,0 +1,28 @@ +{ v, h, stdenv, fetchXfce, pkgconfig, intltool, gtk +, libxfce4util, xfconf, libglade, libstartup_notification }: + +stdenv.mkDerivation rec { + name = "libxfcegui4-${v}"; + src = fetchXfce.core name h; + + #TODO: gladeui + # By default, libxfcegui4 tries to install into libglade's prefix. + # Install into our own prefix instead. + preConfigure = + '' + 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 + ]; + preFixup = "rm $out/share/icons/hicolor/icon-theme.cache"; + + meta = { + homepage = http://www.xfce.org/; + description = "Basic GUI library for Xfce"; + license = "LGPLv2+"; + }; +} diff --git a/pkgs/desktops/xfce/core/thunar-volman.nix b/pkgs/desktops/xfce/core/thunar-volman.nix new file mode 100644 index 000000000000..92f4739b540a --- /dev/null +++ b/pkgs/desktops/xfce/core/thunar-volman.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl, pkgconfig, intltool, exo, gtk, libxfce4util, libxfce4ui +, xfconf, udev, libnotify }: + +stdenv.mkDerivation rec { + name = "thunar-volman-0.6.0"; + + src = fetchurl { + url = "http://archive.xfce.org/src/xfce/thunar-volman/0.6/${name}.tar.bz2"; + sha1 = "dcda936948623b342b290a78c294f71c038e832e"; + }; + + buildInputs = + [ pkgconfig intltool exo gtk udev libxfce4ui libxfce4util + xfconf libnotify + ]; + preFixup = "rm $out/share/icons/hicolor/icon-theme.cache"; + + enableParallelBuilding = true; + + meta = { + homepage = http://thunar.xfce.org/; + description = "Thunar extension for automatic management of removable drives and media"; + license = "GPLv2+"; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.eelco ]; + }; +} diff --git a/pkgs/desktops/xfce/core/thunar.nix b/pkgs/desktops/xfce/core/thunar.nix new file mode 100644 index 000000000000..8cd47d787c62 --- /dev/null +++ b/pkgs/desktops/xfce/core/thunar.nix @@ -0,0 +1,25 @@ +{ v, h, stdenv, fetchXfce, pkgconfig, intltool, exo, gtk, libxfce4util +, dbus_glib, libstartup_notification, libnotify, xfconf, xfce4panel, gamin, libexif, pcre }: + +stdenv.mkDerivation rec { + name = "Thunar-${v}"; + src = fetchXfce.core name h; + + buildInputs = + [ pkgconfig intltool exo gtk libxfce4util + dbus_glib libstartup_notification libnotify xfconf xfce4panel gamin libexif pcre + ]; + # TODO: gudev, optionality + + enableParallelBuilding = true; + + preFixup = "rm $out/share/icons/hicolor/icon-theme.cache"; + + meta = { + homepage = http://thunar.xfce.org/; + description = "Xfce file manager"; + license = "GPLv2+"; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.eelco ]; + }; +} diff --git a/pkgs/desktops/xfce/core/tumbler.nix b/pkgs/desktops/xfce/core/tumbler.nix new file mode 100644 index 000000000000..c9bcb9aeb9af --- /dev/null +++ b/pkgs/desktops/xfce/core/tumbler.nix @@ -0,0 +1,14 @@ +{ v, h, stdenv, fetchXfce, pkgconfig, intltool, dbus_glib, gdk_pixbuf }: + +stdenv.mkDerivation rec { + name = "tumbler-${v}"; + src = fetchXfce.core name h; + + buildInputs = [ pkgconfig intltool dbus_glib gdk_pixbuf ]; + + meta = { + homepage = http://git.xfce.org/xfce/tumbler/; + description = "A D-Bus thumbnailer service"; + license = "GPLv2"; + }; +} diff --git a/pkgs/desktops/xfce/core/xfce-utils.nix b/pkgs/desktops/xfce/core/xfce-utils.nix new file mode 100644 index 000000000000..625780adb313 --- /dev/null +++ b/pkgs/desktops/xfce/core/xfce-utils.nix @@ -0,0 +1,20 @@ +{ v, h, stdenv, fetchXfce, pkgconfig, intltool, gtk, libxfce4util, libxfce4ui, dbus_glib }: + +stdenv.mkDerivation rec { + name = "xfce-utils-${v}"; + src = fetchXfce.core name h; + + configureFlags = "--with-xsession-prefix=$(out)/share/xsessions --with-vendor-info=NixOS.org"; + + buildInputs = [ pkgconfig intltool gtk libxfce4util libxfce4ui dbus_glib ]; + + preFixup = "rm $out/share/icons/hicolor/icon-theme.cache"; + + meta = { + homepage = http://www.xfce.org/projects/xfce-utils; + description = "Utilities and scripts for Xfce"; + license = "GPLv2+"; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.eelco ]; + }; +} diff --git a/pkgs/desktops/xfce/core/xfce4-appfinder.nix b/pkgs/desktops/xfce/core/xfce4-appfinder.nix new file mode 100644 index 000000000000..b37cbd95b996 --- /dev/null +++ b/pkgs/desktops/xfce/core/xfce4-appfinder.nix @@ -0,0 +1,20 @@ +{ v, h, stdenv, fetchXfce, pkgconfig, intltool, glib, gtk, libxfce4util +, libxfce4ui, garcon, xfconf }: + +stdenv.mkDerivation rec { + name = "xfce4-appfinder-${v}"; + src = fetchXfce.core name h; + + buildInputs = + [ pkgconfig intltool glib gtk libxfce4util libxfce4ui garcon xfconf ]; + + enableParallelBuilding = true; + + meta = { + homepage = http://docs.xfce.org/xfce/xfce4-appfinder/; + description = "Xfce application finder, a tool to locate and launch programs on your system"; + license = "GPLv2+"; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.eelco ]; + }; +} diff --git a/pkgs/desktops/xfce/core/xfce4-panel-datadir.patch b/pkgs/desktops/xfce/core/xfce4-panel-datadir.patch new file mode 100644 index 000000000000..ed9df9ef36f3 --- /dev/null +++ b/pkgs/desktops/xfce/core/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/pkgs/desktops/xfce/core/xfce4-panel.nix b/pkgs/desktops/xfce/core/xfce4-panel.nix new file mode 100644 index 000000000000..cfce1a57780a --- /dev/null +++ b/pkgs/desktops/xfce/core/xfce4-panel.nix @@ -0,0 +1,28 @@ +{ v, h, stdenv, fetchXfce, pkgconfig, intltool, gtk, libxfce4util, libxfce4ui +, libwnck, exo, garcon, xfconf, libstartup_notification }: + +stdenv.mkDerivation rec { + name = "xfce4-panel-${v}"; + src = fetchXfce.core name h; + + patches = [ ./xfce4-panel-datadir.patch ]; + patchFlags = "-p1"; + + buildInputs = + [ pkgconfig intltool gtk libxfce4util exo libwnck + garcon xfconf libstartup_notification + ]; + propagatedBuildInputs = [ libxfce4ui ]; + + preFixup = "rm $out/share/icons/hicolor/icon-theme.cache"; + + enableParallelBuilding = true; + + meta = { + homepage = http://www.xfce.org/projects/xfce4-panel; + description = "Xfce panel"; + license = "GPLv2+"; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.eelco ]; + }; +} diff --git a/pkgs/desktops/xfce/core/xfce4-power-manager.nix b/pkgs/desktops/xfce/core/xfce4-power-manager.nix new file mode 100644 index 000000000000..3928b43eb0ba --- /dev/null +++ b/pkgs/desktops/xfce/core/xfce4-power-manager.nix @@ -0,0 +1,21 @@ +{ v, h, stdenv, fetchXfce, pkgconfig, intltool, gtk, dbus_glib, xfconf +, libxfce4ui, libxfce4util, libnotify, xfce4panel }: + +stdenv.mkDerivation rec { + name = "xfce4-power-manager-${v}"; + src = fetchXfce.core name h; + + buildInputs = + [ pkgconfig intltool gtk dbus_glib xfconf libxfce4ui libxfce4util + libnotify xfce4panel + ]; + preFixup = "rm $out/share/icons/hicolor/icon-theme.cache"; + + meta = { + homepage = http://goodies.xfce.org/projects/applications/xfce4-power-manager; + description = "A power manager for the Xfce Desktop Environment"; + license = "GPLv2+"; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.eelco ]; + }; +} diff --git a/pkgs/desktops/xfce/core/xfce4-session.nix b/pkgs/desktops/xfce/core/xfce4-session.nix new file mode 100644 index 000000000000..00d3e6d27833 --- /dev/null +++ b/pkgs/desktops/xfce/core/xfce4-session.nix @@ -0,0 +1,26 @@ +{ v, h, stdenv, fetchXfce, pkgconfig, intltool, gtk, libxfce4util, libxfce4ui, xfce4panel +, libwnck, dbus_glib, xfconf, libglade, xorg }: + +#TODO: gnome stuff: gconf (assistive?), keyring + +stdenv.mkDerivation rec { + name = "xfce4-session-${v}"; + src = fetchXfce.core name h; + + buildInputs = + [ pkgconfig intltool gtk libxfce4util libxfce4ui libwnck dbus_glib + xfconf xfce4panel libglade xorg.iceauth + ]; + + configureFlags = [ "--with-xsession-prefix=$$out" ]; + + preFixup = "rm $out/share/icons/hicolor/icon-theme.cache"; + + meta = { + homepage = http://www.xfce.org/projects/xfce4-session; + description = "Session manager for Xfce"; + license = "GPLv2+"; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.eelco ]; + }; +} diff --git a/pkgs/desktops/xfce/core/xfce4-settings.nix b/pkgs/desktops/xfce/core/xfce4-settings.nix new file mode 100644 index 000000000000..c228e90bcaef --- /dev/null +++ b/pkgs/desktops/xfce/core/xfce4-settings.nix @@ -0,0 +1,24 @@ +{ v, h, stdenv, fetchXfce, pkgconfig, intltool, exo, gtk, libxfce4util, libxfce4ui +, libglade, xfconf, xorg, libwnck, libnotify, libxklavier, garcon }: + +#TODO: optional packages +stdenv.mkDerivation rec { + name = "xfce4-settings-${v}"; + src = fetchXfce.core name h; + + buildInputs = + [ pkgconfig intltool exo gtk libxfce4util libxfce4ui libglade + xfconf xorg.libXi xorg.libXcursor libwnck libnotify libxklavier garcon + #gtk libxfce4util libxfcegui4 libwnck dbus_glib + #xfconf libglade xorg.iceauth + ]; + configureFlags = "--enable-pluggable-dialogs --enable-sound-settings"; + + meta = { + homepage = http://www.xfce.org/projects/xfce4-settings; + description = "Settings manager for Xfce"; + license = "GPLv2+"; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.eelco ]; + }; +} diff --git a/pkgs/desktops/xfce/core/xfconf.nix b/pkgs/desktops/xfce/core/xfconf.nix new file mode 100644 index 000000000000..7e7059bf3dc6 --- /dev/null +++ b/pkgs/desktops/xfce/core/xfconf.nix @@ -0,0 +1,16 @@ +{ v, h, stdenv, fetchXfce, pkgconfig, intltool, glib, libxfce4util, dbus_glib }: + +stdenv.mkDerivation rec { + name = "xfconf-${v}"; + src = fetchXfce.core name h; + + #TODO: no perl bingings yet (ExtUtils::Depends, ExtUtils::PkgConfig, Glib) + buildInputs = [ pkgconfig intltool glib libxfce4util ]; + propagatedBuildInputs = [ dbus_glib ]; + + meta = { + homepage = http://www.xfce.org/projects/xfconf; + description = "Simple client-server configuration storage and query system for Xfce"; + license = "GPLv2"; + }; +} diff --git a/pkgs/desktops/xfce/core/xfdesktop.nix b/pkgs/desktops/xfce/core/xfdesktop.nix new file mode 100644 index 000000000000..0a9bdecd738c --- /dev/null +++ b/pkgs/desktops/xfce/core/xfdesktop.nix @@ -0,0 +1,23 @@ +{ v, h, stdenv, fetchXfce, pkgconfig, intltool, gtk, libxfce4util, libxfce4ui +, libwnck, xfconf, libglade, xfce4panel, thunar, exo, garcon, libnotify }: + +stdenv.mkDerivation rec { + name = "xfdesktop-${v}"; + src = fetchXfce.core name h; + + buildInputs = + [ pkgconfig intltool gtk libxfce4util libxfce4ui libwnck xfconf + libglade xfce4panel thunar exo garcon libnotify + ]; + preFixup = "rm $out/share/icons/hicolor/icon-theme.cache"; + + enableParallelBuilding = true; + + meta = { + homepage = http://www.xfce.org/projects/xfdesktop; + description = "Xfce desktop manager"; + license = "GPLv2+"; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.eelco ]; + }; +} diff --git a/pkgs/desktops/xfce/core/xfwm4.nix b/pkgs/desktops/xfce/core/xfwm4.nix new file mode 100644 index 000000000000..e30b83d4e27d --- /dev/null +++ b/pkgs/desktops/xfce/core/xfwm4.nix @@ -0,0 +1,24 @@ +{ v, h, stdenv, fetchXfce, pkgconfig, gtk, intltool, libglade, libxfce4util +, libxfce4ui, xfconf, libwnck, libstartup_notification, xorg }: + +stdenv.mkDerivation rec { + name = "xfwm4-${v}"; + src = fetchXfce.core name h; + + #TODO: kde systray, docs + buildInputs = + [ pkgconfig intltool gtk libglade libxfce4util libxfce4ui xfconf + libwnck libstartup_notification + xorg.libXcomposite xorg.libXfixes xorg.libXdamage + ]; + + enableParallelBuilding = true; + + meta = { + homepage = http://www.xfce.org/projects/xfwm4; + description = "Window manager for Xfce"; + license = "GPLv2+"; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.eelco ]; + }; +} |