diff --git a/pkgs/desktops/kde-4.7/default.nix b/pkgs/desktops/kde-4.7/default.nix
index 05f9d56ba023..0bf9cafd1c46 100644
--- a/pkgs/desktops/kde-4.7/default.nix
+++ b/pkgs/desktops/kde-4.7/default.nix
@@ -1,4 +1,4 @@
-{ callPackage, recurseIntoAttrs, runCommand, stdenv, fetchurl, qt47, system_config_printer } @ args:
+{ callPackage, recurseIntoAttrs, runCommand, stdenv, fetchurl, qt47, system_config_printer, boost } @ args:
let
@@ -106,11 +106,20 @@ recurseIntoAttrs rec {
/*
kdeedu = callPackage ./edu { };
- kdegraphics = callPackage ./graphics { };
kdenetwork = callPackage ./network { };
kdeplasma_addons = callPackage ./plasma-addons { };
*/
+ kdeedu = combinePkgs "kdeedu" {
+ klettres = callPackage ./edu/klettres.nix { };
+ kmplot = callPackage ./edu/kmplot.nix { };
+ kstars = callPackage ./edu/kstars.nix { };
+ rocs = callPackage ./edu/rocs.nix {
+ boost = args.boost.override {enableExceptions = true;};
+ };
+ step = callPackage ./edu/step.nix { };
+ };
+
kdegraphics = combinePkgs "kdegraphics" {
gwenview = callPackage ./graphics/gwenview.nix { };
kamera = callPackage ./graphics/kamera.nix { };
diff --git a/pkgs/desktops/kde-4.7/edu/default.nix b/pkgs/desktops/kde-4.7/edu/default.nix
deleted file mode 100644
index f9132de8739a..000000000000
--- a/pkgs/desktops/kde-4.7/edu/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ kde, cmake, qt4, perl, libxml2, libxslt, openbabel, boost, readline, gmm, gsl
-, xplanet, libspectre, pkgconfig, libqalculate, python
-, kdelibs, automoc4, eigen, attica}:
-
-kde.package {
-
-#TODO:
-#* Boost.Python (1.31 or higher) - fails to find
-# * libcfitsio0 (3.09 or higher)
-# * libindi (0.6.1 or higher)
-# * R
-# * OCaml
-# * LibFacile
-# * Avogadro (1.0 or higher)
-# * libgps
-
- buildInputs = [ cmake qt4 perl libxml2 libxslt openbabel boost readline gmm
- gsl xplanet kdelibs automoc4 eigen attica libspectre pkgconfig
- libqalculate python ];
-
- preConfigure = ''
- export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${python}/include/${python.libPrefix}"
- export NIX_LDFLAGS="$NIX_LDFLAGS -l${python.libPrefix} -lboost_python"
- '';
- cmakeFlags = '' -DBOOST_PYTHON_INCLUDES="${boost}/include" -DBOOST_PYTHON_LIBS="boost_python" -DKIG_ENABLE_PYTHON_SCRIPTING=1'';
-
- meta = {
- description = "KDE educational software";
- license = "GPL";
- kde.name = "kdeedu";
- };
-}
diff --git a/pkgs/desktops/kde-4.7/edu/klettres.nix b/pkgs/desktops/kde-4.7/edu/klettres.nix
new file mode 100644
index 000000000000..80863eae5001
--- /dev/null
+++ b/pkgs/desktops/kde-4.7/edu/klettres.nix
@@ -0,0 +1,12 @@
+{ kde, cmake, kdelibs, qt4, automoc4, phonon }:
+
+kde.package {
+ buildInputs = [ cmake kdelibs qt4 automoc4 phonon ];
+
+ meta = {
+ description = "A KDE alphabet tutorial";
+ kde = {
+ name = "klettres";
+ };
+ };
+}
diff --git a/pkgs/desktops/kde-4.7/edu/kmplot.nix b/pkgs/desktops/kde-4.7/edu/kmplot.nix
new file mode 100644
index 000000000000..b7f6bc3e79d9
--- /dev/null
+++ b/pkgs/desktops/kde-4.7/edu/kmplot.nix
@@ -0,0 +1,12 @@
+{ kde, cmake, kdelibs, qt4, automoc4, phonon }:
+
+kde.package {
+ buildInputs = [ cmake kdelibs qt4 automoc4 phonon ];
+
+ meta = {
+ description = "A KDE mathematical function plotter";
+ kde = {
+ name = "kmplot";
+ };
+ };
+}
diff --git a/pkgs/desktops/kde-4.7/edu/kstars.nix b/pkgs/desktops/kde-4.7/edu/kstars.nix
new file mode 100644
index 000000000000..ce6f6795056a
--- /dev/null
+++ b/pkgs/desktops/kde-4.7/edu/kstars.nix
@@ -0,0 +1,12 @@
+{ kde, cmake, kdelibs, qt4, automoc4, phonon, eigen, xplanet, indilib }:
+
+kde.package {
+ buildInputs = [ cmake kdelibs qt4 automoc4 phonon eigen xplanet indilib ];
+
+ meta = {
+ description = "A KDE graphical desktop planetarium";
+ kde = {
+ name = "kstars";
+ };
+ };
+}
diff --git a/pkgs/desktops/kde-4.7/edu/rocs.nix b/pkgs/desktops/kde-4.7/edu/rocs.nix
new file mode 100644
index 000000000000..dd31dddb9032
--- /dev/null
+++ b/pkgs/desktops/kde-4.7/edu/rocs.nix
@@ -0,0 +1,14 @@
+{ kde, cmake, kdelibs, qt4, automoc4, phonon, boost, perl }:
+
+kde.package {
+ buildInputs = [ cmake kdelibs qt4 automoc4 phonon boost perl ];
+
+ NIX_CFLAGS_COMPILE = "-fexceptions";
+
+ meta = {
+ description = "A KDE graph theory viewer";
+ kde = {
+ name = "rocs";
+ };
+ };
+}
diff --git a/pkgs/desktops/kde-4.7/edu/step.nix b/pkgs/desktops/kde-4.7/edu/step.nix
new file mode 100644
index 000000000000..50fca449bc49
--- /dev/null
+++ b/pkgs/desktops/kde-4.7/edu/step.nix
@@ -0,0 +1,12 @@
+{ kde, cmake, kdelibs, qt4, automoc4, phonon, gsl, libqalculate, eigen }:
+
+kde.package {
+ buildInputs = [ cmake kdelibs qt4 automoc4 phonon gsl libqalculate eigen ];
+
+ meta = {
+ description = "A KDE interactive physical simulator";
+ kde = {
+ name = "step";
+ };
+ };
+}
diff --git a/pkgs/development/libraries/boost/default.nix b/pkgs/development/libraries/boost/default.nix
index 12aa1ba0fee1..4b0c4d3f1409 100644
--- a/pkgs/development/libraries/boost/default.nix
+++ b/pkgs/development/libraries/boost/default.nix
@@ -6,6 +6,7 @@
, enableShared ? true
, enableStatic ? false
, enablePIC ? false
+, enableExceptions ? false
}:
let
@@ -28,8 +29,14 @@ let
(enableShared && enableStatic)) then
"tagged" else "system";
- cflags = if (enablePIC) then "cflags=-fPIC cxxflags=-fPIC linkflags=-fPIC" else "";
-
+ cflags = if (enablePIC && enableExceptions) then
+ "cflags=-fPIC -fexceptions cxxflags=-fPIC linkflags=-fPIC"
+ else if (enablePIC) then
+ "cflags=-fPIC cxxflags=-fPIC linkflags=-fPIC"
+ else if (enableExceptions) then
+ "cflags=-fexceptions"
+ else
+ "";
in
stdenv.mkDerivation {
diff --git a/pkgs/development/libraries/indilib/default.nix b/pkgs/development/libraries/indilib/default.nix
index 0dbab1a7ac40..9fc5ac665e8b 100644
--- a/pkgs/development/libraries/indilib/default.nix
+++ b/pkgs/development/libraries/indilib/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, cfitsio, libusb, zlib }:
+{ stdenv, fetchurl, cmake, cfitsio, libusb, zlib, boost }:
stdenv.mkDerivation {
- name = "indilib-0.5";
+ name = "indilib-0.8";
src = fetchurl {
- url = mirror://sf/indi/indilib-0.5.tar.gz;
- sha256 = "02km37m3d2l8c9wnab24zm2k6a3l8h2fali74jhm4z3khwr277ad";
+ url = mirror://sf/indi/libindi_0.8.tar.gz;
+ sha256 = "d5ed14a5de6fd6e5db15463ada96c2b15b53e84a1ffe199b76f70128493f2a65";
};
- propagatedBuildInputs = [ cfitsio libusb zlib ];
+ propagatedBuildInputs = [ cmake cfitsio libusb zlib boost ];
meta = {
homepage = http://indi.sf.net;