diff --git a/pkgs/desktops/xfce-4/applications/terminal/default.nix b/pkgs/desktops/xfce-4/applications/terminal.nix similarity index 73% rename from pkgs/desktops/xfce-4/applications/terminal/default.nix rename to pkgs/desktops/xfce-4/applications/terminal.nix index 85f1aa21136..bd198a12af4 100644 --- a/pkgs/desktops/xfce-4/applications/terminal/default.nix +++ b/pkgs/desktops/xfce-4/applications/terminal.nix @@ -1,20 +1,19 @@ { stdenv, fetchurl , pkgconfig, ncurses , intltool, vte -, libexo, libxfce4util +, exo, libxfce4util , gtk }: stdenv.mkDerivation { name = "xfce-terminal-0.4.5"; + src = fetchurl { url = http://archive.xfce.org/src/apps/terminal/0.4/Terminal-0.4.5.tar.bz2; sha256 = "14w8mhmyrq6dd9574zfvq0pymknljckq6qgcv1r6c1r22jydrzcj"; }; - buildInputs = [ pkgconfig intltool libexo gtk vte libxfce4util ncurses ]; - - CPPFLAGS = "-I${libexo}/include/exo-0.3 -I{libxfce4util}/include/xfce4"; + buildInputs = [ pkgconfig intltool exo gtk vte libxfce4util ncurses ]; meta = { homepage = http://www.xfce.org/projects/terminal; diff --git a/pkgs/desktops/xfce-4/core/libexo/default.nix b/pkgs/desktops/xfce-4/core/exo.nix similarity index 63% rename from pkgs/desktops/xfce-4/core/libexo/default.nix rename to pkgs/desktops/xfce-4/core/exo.nix index 837bf5b8ad0..ead11e8e127 100644 --- a/pkgs/desktops/xfce-4/core/libexo/default.nix +++ b/pkgs/desktops/xfce-4/core/exo.nix @@ -6,11 +6,12 @@ , libxfce4util }: -stdenv.mkDerivation { - name = "libexo-0.3.106"; +stdenv.mkDerivation rec { + name = "exo-0.3.107"; + src = fetchurl { - url = http://archive.xfce.org/src/xfce/exo/0.3/exo-0.3.106.tar.bz2; - sha256 = "1n823ipqdz47kxq6fwry3zza3j9ap7gikwm4s8169297xcjqd6qb"; + url = "http://www.xfce.org/archive/xfce/4.6.2/src/${name}.tar.bz2"; + sha256 = "18z2xmdl577r60ln2waai10dd7i384k0bxrmf7gchrxd9c9aq4ha"; }; buildInputs = [ pkgconfig intltool URI glib gtk libxfce4util ]; diff --git a/pkgs/desktops/xfce-4/core/libxfce4util.nix b/pkgs/desktops/xfce-4/core/libxfce4util.nix new file mode 100644 index 00000000000..e6565467e4c --- /dev/null +++ b/pkgs/desktops/xfce-4/core/libxfce4util.nix @@ -0,0 +1,18 @@ +{ stdenv, fetchurl, pkgconfig, glib, intltool }: + +stdenv.mkDerivation rec { + name = "libxfce4util-4.6.2"; + + src = fetchurl { + url = "http://www.xfce.org/archive/xfce-4.6.2/src/${name}.tar.bz2"; + sha256 = "10wcw7r8cjb0farffic037pcjr5bwrjrm8s3jrcb7c0b038pwbmf"; + }; + + buildInputs = [ pkgconfig glib intltool ]; + + meta = { + homepage = http://www.xfce.org/; + description = "Basic utility non-GUI functions for Xfce"; + license = "GPLv2"; + }; +} diff --git a/pkgs/desktops/xfce-4/core/libxfce4util/default.nix b/pkgs/desktops/xfce-4/core/libxfce4util/default.nix deleted file mode 100644 index f47cb44c23d..00000000000 --- a/pkgs/desktops/xfce-4/core/libxfce4util/default.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ stdenv, fetchurl -, pkgconfig -, glib -}: - -stdenv.mkDerivation { - name = "libxfce4util-4.6.1"; - src = fetchurl { - url = http://www.xfce.org/archive/xfce-4.6.1/src/libxfce4util-4.6.1.tar.bz2; - sha256 = "0sy1222s0cq8zy2ankrp1747b6fg5jjahxrddih4gxc97iyxrv6f"; - }; - - buildInputs = [ pkgconfig glib ]; - - meta = { - homepage = http://www.xfce.org/; - description = "Basic utility non-GUI functions for Xfce"; - license = "GPLv2"; - }; -} diff --git a/pkgs/desktops/xfce-4/core/libxfcegui4.nix b/pkgs/desktops/xfce-4/core/libxfcegui4.nix new file mode 100644 index 00000000000..e5944510b40 --- /dev/null +++ b/pkgs/desktops/xfce-4/core/libxfcegui4.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchurl, pkgconfig, intltool, gtk, libxfce4util, xfconf, libglade }: + +stdenv.mkDerivation rec { + name = "libxfcegui4-4.6.4"; + + src = fetchurl { + url = "http://www.xfce.org/archive/xfce-4.6.2/src/${name}.tar.bz2"; + sha1 = "a12c79f8fa14c5d1fc0fca5615a451b7d23f8695"; + }; + + # 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"; + + buildInputs = [ pkgconfig intltool gtk libxfce4util xfconf libglade ]; + + meta = { + homepage = http://www.xfce.org/; + description = "Basic GUI library for Xfce"; + license = "GPLv2"; + }; +} diff --git a/pkgs/desktops/xfce-4/core/xfconf.nix b/pkgs/desktops/xfce-4/core/xfconf.nix new file mode 100644 index 00000000000..b4c14ef043e --- /dev/null +++ b/pkgs/desktops/xfce-4/core/xfconf.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl, pkgconfig, intltool, glib, libxfce4util, dbus_glib }: + +stdenv.mkDerivation rec { + name = "xfconf-4.6.2"; + + src = fetchurl { + url = "http://www.xfce.org/archive/xfce/4.6.2/src/${name}.tar.bz2"; + sha1 = "2b9656a1b7f323d2600ddc929191afb50c8018f8"; + }; + + buildInputs = [ pkgconfig intltool glib libxfce4util ]; + + propagatedBuildInputs = [ dbus_glib ]; + + meta = { + homepage = http://www.xfce.org/; + description = "Simple client-server configuration storage and query system for Xfce"; + license = "GPLv2"; + }; +} diff --git a/pkgs/desktops/xfce-4/core/xfwm4.nix b/pkgs/desktops/xfce-4/core/xfwm4.nix new file mode 100644 index 00000000000..20b33dcf4b4 --- /dev/null +++ b/pkgs/desktops/xfce-4/core/xfwm4.nix @@ -0,0 +1,19 @@ +{ stdenv, fetchurl, pkgconfig, gtk, intltool, libglade, libxfce4util +, libxfcegui4, xfconf, libwnck }: + +stdenv.mkDerivation rec { + name = "xfwm4-4.6.2"; + + src = fetchurl { + url = "http://www.xfce.org/archive/xfce/4.6.2/src/${name}.tar.bz2"; + sha256 = "0a2q2pr5mzp6hsrd0llr90i9wii2qj2054shkpvkain20gp1ja11"; + }; + + buildInputs = [ pkgconfig intltool gtk libglade libxfce4util libxfcegui4 xfconf libwnck ]; + + meta = { + homepage = http://www.xfce.org/; + description = "Window manager for Xfce"; + license = "GPLv2"; + }; +} diff --git a/pkgs/desktops/xfce-4/default.nix b/pkgs/desktops/xfce-4/default.nix index 76aa608677c..23be21de2e4 100644 --- a/pkgs/desktops/xfce-4/default.nix +++ b/pkgs/desktops/xfce-4/default.nix @@ -1,28 +1,35 @@ -pkgs: +{ callPackage, pkgs }: + rec { - inherit (pkgs.gtkLibs) gtk; + inherit (pkgs.gtkLibs) gtk glib; #### CORE - libexo = import ./core/libexo { - inherit (pkgs) stdenv fetchurl pkgconfig; - inherit (pkgs.gnome) intltool; + exo = callPackage ./core/exo.nix { inherit (pkgs.perlPackages) URI; inherit (pkgs.gtkLibs) glib gtk; - inherit libxfce4util; }; - libxfce4util = import ./core/libxfce4util { - inherit (pkgs) stdenv fetchurl pkgconfig; + libxfce4util = callPackage ./core/libxfce4util.nix { inherit (pkgs.gtkLibs) glib; }; + libxfcegui4 = callPackage ./core/libxfcegui4.nix { + inherit (pkgs.gnome) libglade; + }; + + xfconf = callPackage ./core/xfconf.nix { + }; + + xfwm4 = callPackage ./core/xfwm4.nix { + inherit (pkgs.gnome) libglade libwnck; + }; + #### APPLICATIONS - terminal = import ./applications/terminal { - inherit (pkgs) stdenv fetchurl pkgconfig ncurses; - inherit (pkgs.gnome) intltool vte; + + terminal = callPackage ./applications/terminal.nix { + inherit (pkgs.gnome) vte; inherit (pkgs.gtkLibs) gtk; - inherit libexo libxfce4util; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e6aef60783d..cfe4e556722 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6568,7 +6568,10 @@ let }; xfce = xfce4; - xfce4 = recurseIntoAttrs (import ../desktops/xfce-4 pkgs); + + xfce4 = recurseIntoAttrs + (let callPackage = newScope pkgs.xfce4; in + import ../desktops/xfce-4 { inherit callPackage pkgs; }); ### SCIENCE