about summary refs log tree commit diff
path: root/pkgs/desktops/e19
diff options
context:
space:
mode:
authorThomas Strobel <ts468@cam.ac.uk>2014-09-15 21:54:02 +0200
committerThomas Strobel <ts468@cam.ac.uk>2014-09-15 23:34:28 +0200
commit1613d6cca6a6d550883dbef10c3c94f6b72b3baf (patch)
tree2dfb328c76aed8a8068bf2a4426918e765e406fb /pkgs/desktops/e19
parentf904ca14a20f6711e61de8720e848197e9e5f786 (diff)
downloadnixlib-1613d6cca6a6d550883dbef10c3c94f6b72b3baf.tar
nixlib-1613d6cca6a6d550883dbef10c3c94f6b72b3baf.tar.gz
nixlib-1613d6cca6a6d550883dbef10c3c94f6b72b3baf.tar.bz2
nixlib-1613d6cca6a6d550883dbef10c3c94f6b72b3baf.tar.lz
nixlib-1613d6cca6a6d550883dbef10c3c94f6b72b3baf.tar.xz
nixlib-1613d6cca6a6d550883dbef10c3c94f6b72b3baf.tar.zst
nixlib-1613d6cca6a6d550883dbef10c3c94f6b72b3baf.zip
Add package: Enlightenment E19!
Wayland desktop shell is not enabled, yet.
Diffstat (limited to 'pkgs/desktops/e19')
-rw-r--r--pkgs/desktops/e19/default.nix26
-rw-r--r--pkgs/desktops/e19/econnman.nix23
-rwxr-xr-xpkgs/desktops/e19/efl-setup-hook.sh8
-rw-r--r--pkgs/desktops/e19/efl.nix33
-rw-r--r--pkgs/desktops/e19/elementary.nix20
-rw-r--r--pkgs/desktops/e19/emotion.nix20
-rw-r--r--pkgs/desktops/e19/enlightenment.nix38
-rw-r--r--pkgs/desktops/e19/evas.nix17
-rw-r--r--pkgs/desktops/e19/terminology.nix23
9 files changed, 208 insertions, 0 deletions
diff --git a/pkgs/desktops/e19/default.nix b/pkgs/desktops/e19/default.nix
new file mode 100644
index 000000000000..5740337a11a1
--- /dev/null
+++ b/pkgs/desktops/e19/default.nix
@@ -0,0 +1,26 @@
+{ callPackage, pkgs }:
+let
+  openjpeg_1 = with pkgs; lib.overrideDerivation openjpeg (oldAttrs: {
+         name = "openjpeg-1.5.1";
+         src = fetchurl {
+           url = "http://openjpeg.googlecode.com/files/openjpeg-1.5.1.tar.gz";
+           sha1 = "1b0b74d1af4c297fd82806a9325bb544caf9bb8b";
+         };
+         #passthru = { incDir = "openjpeg-1.5.1"; };
+     });
+in
+rec {
+  #### CORE EFL
+  efl = callPackage ./efl.nix { openjpeg=openjpeg_1; };
+  evas = callPackage ./evas.nix { };
+  emotion = callPackage ./emotion.nix { };
+  elementary = callPackage ./elementary.nix { };
+
+  #### WINDOW MANAGER
+  enlightenment = callPackage ./enlightenment.nix { };
+
+  #### APPLICATIONS
+  econnman = callPackage ./econnman.nix { };
+  terminology = callPackage ./terminology.nix { };
+
+}
diff --git a/pkgs/desktops/e19/econnman.nix b/pkgs/desktops/e19/econnman.nix
new file mode 100644
index 000000000000..1e42895b4e22
--- /dev/null
+++ b/pkgs/desktops/e19/econnman.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pkgconfig, e19, python27, python27Packages, dbus, makeWrapper }:
+stdenv.mkDerivation rec {
+  name = "econnman-${version}";
+  version = "1.1";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/apps/econnman/${name}.tar.gz";
+    sha256 = "057pwwavlvrrq26bncqnfrf449zzaim0zq717xv86av4n940gwv0";
+  };
+
+  buildInputs = [ makeWrapper pkgconfig e19.efl python27 dbus ];
+  propagatedBuildInputs = [ python27Packages.pythonefl_1_11 python27Packages.dbus e19.elementary ];
+  postInstall = ''
+    wrapProgram $out/bin/econnman-bin --prefix PYTHONPATH : ${python27Packages.dbus}/lib/python2.7/site-packages:${python27Packages.pythonefl_1_11}/lib/python2.7/site-packages
+  '';
+
+  meta = {
+    description = "Econnman is a user interface for the connman network connection manager";
+    homepage = http://enlightenment.org/;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.lgpl3;
+  };
+}
diff --git a/pkgs/desktops/e19/efl-setup-hook.sh b/pkgs/desktops/e19/efl-setup-hook.sh
new file mode 100755
index 000000000000..d98f24b4c04b
--- /dev/null
+++ b/pkgs/desktops/e19/efl-setup-hook.sh
@@ -0,0 +1,8 @@
+addDbusIncludePath () {
+    if test -d "$1/include/dbus-1.0"
+    then
+        export NIX_CFLAGS_COMPILE="${NIX_CFLAGS_COMPILE} -I$1/include/dbus-1.0 -I $1/lib/dbus-1.0/include"
+    fi
+}
+
+envHooks=(${envHooks[@]} addDbusIncludePath)
diff --git a/pkgs/desktops/e19/efl.nix b/pkgs/desktops/e19/efl.nix
new file mode 100644
index 000000000000..2252bc919919
--- /dev/null
+++ b/pkgs/desktops/e19/efl.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, pkgconfig, openssl, libjpeg, zlib, freetype, fontconfig, fribidi, SDL2, SDL, mesa, giflib, libpng, libtiff, glib, gst_all_1, pulseaudio, libsndfile, xlibs, wayland, libdrm, libxkbcommon, udev, utillinuxCurses, dbus, bullet, luajit, python27Packages, openjpeg, doxygen, expat, lua5_2, harfbuzz, jbig2dec, librsvg, dbus_libs, alsaLib, poppler, libraw, libspectre, xineLib, vlc, libwebp, curl }:
+
+
+stdenv.mkDerivation rec {
+  name = "efl-${version}";
+  version = "1.11.2";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/libs/efl/${name}.tar.gz";
+    sha256 = "123jrcifd7i0r9zh8qllqiz3d378fyy7fzkanyki9wbxlz91rk7k";
+  };
+
+  buildInputs = [ pkgconfig openssl zlib freetype fontconfig fribidi SDL2 SDL mesa giflib libpng libtiff glib gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-libav pulseaudio libsndfile xlibs.libXcursor xlibs.printproto xlibs.libX11 libdrm udev utillinuxCurses luajit ];
+
+  propagatedBuildInputs = [ wayland libxkbcommon python27Packages.dbus dbus libjpeg xlibs.libXcomposite xlibs.libXdamage xlibs.libXinerama xlibs.libXp xlibs.libXtst xlibs.libXi xlibs.libXext bullet xlibs.libXScrnSaver ] ++ [ xlibs.libXrender xlibs.libXfixes xlibs.libXrandr xlibs.libxkbfile xlibs.libxcb xlibs.xcbutilkeysyms openjpeg doxygen expat lua5_2 harfbuzz jbig2dec librsvg dbus_libs alsaLib poppler libraw libspectre xineLib vlc libwebp curl ];
+
+  configureFlags = [ "--with-tests=none" "--enable-sdl" "--enable-drm" "--with-opengl=full" "--enable-image-loader-jp2k" "--enable-xinput22" "--enable-multisense" "--enable-systemd" "--enable-image-loader-webp" "--enable-harfbuzz" "--enable-wayland" "--enable-xine" "--enable-fb" "--disable-tslib" "--with-systemdunitdir=$out/systemd/user" ];
+
+  NIX_CFLAGS_COMPILE = [ "-I${xlibs.libXtst}" "-I${dbus_libs}/include/dbus-1.0" "-I${dbus_libs}/lib/dbus-1.0/include" ];
+
+  preConfigure = ''
+    export PKG_CONFIG_PATH="${gst_all_1.gst-plugins-base}/lib/pkgconfig/gstreamer-video-0.10.pc:$PKG_CONFIG_PATH"
+  '';
+
+  setupHook = ./efl-setup-hook.sh;
+
+  meta = {
+    description = "Enlightenment Core libraries";
+    homepage = http://enlightenment.org/;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.lgpl3;
+  };
+}
diff --git a/pkgs/desktops/e19/elementary.nix b/pkgs/desktops/e19/elementary.nix
new file mode 100644
index 000000000000..db335a156202
--- /dev/null
+++ b/pkgs/desktops/e19/elementary.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, e19, libcap, gdbm }:
+stdenv.mkDerivation rec {
+  name = "elementary-${version}";
+  version = "1.11.2";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/libs/elementary/${name}.tar.gz";
+    sha256 = "041hwp81qyq4wsw483g2jh52gcanqg046f91pmd0vzgwcgxyixqq";
+  };
+  buildInputs = [ pkgconfig e19.efl gdbm ] ++ stdenv.lib.optionals stdenv.isLinux [ libcap ];
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="-I${e19.efl}/include/ethumb-1 $NIX_CFLAGS_COMPILE"
+  '';
+  meta = {
+    description = "Widget set/toolkit";
+    homepage = http://enlightenment.org/;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.lgpl2;
+  };
+}
diff --git a/pkgs/desktops/e19/emotion.nix b/pkgs/desktops/e19/emotion.nix
new file mode 100644
index 000000000000..781d884fe3bd
--- /dev/null
+++ b/pkgs/desktops/e19/emotion.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, e19, vlc }:
+stdenv.mkDerivation rec {
+  name = "emotion_generic_players-${version}";
+  version = "1.11.0";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/libs/emotion_generic_players/${name}.tar.gz";
+    sha256 = "0x6aigsqnfn9vcaj1rj6055s0vh811svzhwz5zghksg4lqipjbjx";
+  };
+  buildInputs = [ pkgconfig e19.efl vlc ];
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="-I${e19.efl}/include/eo-1 $NIX_CFLAGS_COMPILE"
+  '';
+  meta = {
+    description = "Extra video decoders";
+    homepage = http://enlightenment.org/;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.bsd2;
+  };
+}
diff --git a/pkgs/desktops/e19/enlightenment.nix b/pkgs/desktops/e19/enlightenment.nix
new file mode 100644
index 000000000000..95c5abdfa58c
--- /dev/null
+++ b/pkgs/desktops/e19/enlightenment.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, pkgconfig, e19, xlibs, libffi, pam, alsaLib, luajit, bzip2, libpthreadstubs, gdbm, libcap, set_freqset_setuid ? false }:
+
+
+
+stdenv.mkDerivation rec {
+  name = "enlightenment-${version}";
+  version = "0.19.0";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/apps/enlightenment/${name}.tar.xz";
+    sha256 = "0d9s8gwma32hj8h000k1bzibr3zj8qajcf14va3w81k87gkilxfp";
+  };
+  buildInputs = [ pkgconfig e19.efl e19.elementary xlibs.libXdmcp xlibs.libxcb xlibs.xcbutilkeysyms xlibs.libXrandr libffi pam alsaLib luajit bzip2 libpthreadstubs gdbm ] ++ stdenv.lib.optionals stdenv.isLinux [ libcap ];
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="-I${e19.efl}/include/eo-1 -I${e19.efl}/include/ecore-imf-1 -I${e19.efl}/include/ethumb-client-1 -I${e19.efl}/include/ethumb-1 $NIX_CFLAGS_COMPILE"
+    export USER_SESSION_DIR=$prefix/lib/systemd/user
+  '';
+
+  # this is a hack and without this cpufreq module is not working:
+  #   when set_freqset_setuid is true and "e19_freqset" is set in setuidPrograms (this is taken care of in e19 NixOS module),
+  #   then this postInstall does the folowing:
+  #   1. moves the "freqset" binary to "e19_freqset",
+  #   2. linkes "e19_freqset" to enlightenment/bin so that,
+  #   3. setuidPrograms detects it and makes appropriate stuff to /var/setuid-wrappers/e19_freqset,
+  #   4. and finaly, linkes /var/setuid-wrappers/e19_freqset to original destination where enlightenment wants it
+  postInstall = if set_freqset_setuid then ''
+    export CPUFREQ_DIRPATH=`readlink -f $out/lib/enlightenment/modules/cpufreq/linux-gnu-*`;
+    mv $CPUFREQ_DIRPATH/freqset $CPUFREQ_DIRPATH/e19_freqset
+    ln -sv $CPUFREQ_DIRPATH/e19_freqset $out/bin/e19_freqset
+    ln -sv /var/setuid-wrappers/e19_freqset $CPUFREQ_DIRPATH/freqset
+  '' else "";
+  meta = {
+    description = "The Compositing Window Manager and Desktop Shell";
+    homepage = http://enlightenment.org/;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.bsd2;
+  };
+}
diff --git a/pkgs/desktops/e19/evas.nix b/pkgs/desktops/e19/evas.nix
new file mode 100644
index 000000000000..98b035f94e40
--- /dev/null
+++ b/pkgs/desktops/e19/evas.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl, pkgconfig, e19, zlib, libspectre, gstreamer, gst_plugins_base, gst_ffmpeg, gst_plugins_good, poppler, librsvg, libraw }:
+stdenv.mkDerivation rec {
+  name = "evas_generic_loaders-${version}";
+  version = "1.11.2";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/libs/evas_generic_loaders/${name}.tar.gz";
+    sha256 = "03p6v7l2fxvldiymqk16pqnbm9llygp6i19qhn3rmrqy1hkjkry6";
+  };
+  buildInputs = [ pkgconfig e19.efl zlib libspectre gstreamer gst_plugins_base gst_ffmpeg gst_plugins_good poppler librsvg libraw ];
+  meta = {
+    description = "Extra image decoders";
+    homepage = http://enlightenment.org/;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/e19/terminology.nix b/pkgs/desktops/e19/terminology.nix
new file mode 100644
index 000000000000..97bf07b298d5
--- /dev/null
+++ b/pkgs/desktops/e19/terminology.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pkgconfig, e19 }:
+stdenv.mkDerivation rec {
+  name = "terminology-${version}";
+  version = "0.6.1";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/apps/terminology/${name}.tar.gz";
+    sha256 = "1wi9njyfs95y4nb9jd30032qqka5cg7k0wacck8s1yqxwg5ng38x";
+  };
+  buildInputs = [ pkgconfig e19.efl e19.elementary ];
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="-I${e19.efl}/include/eo-1 $NIX_CFLAGS_COMPILE"
+    export NIX_CFLAGS_COMPILE="-I${e19.efl}/include/ecore-con-1 $NIX_CFLAGS_COMPILE"
+    export NIX_CFLAGS_COMPILE="-I${e19.efl}/include/eldbus-1 $NIX_CFLAGS_COMPILE"
+    export NIX_CFLAGS_COMPILE="-I${e19.efl}/include/ethumb-1 $NIX_CFLAGS_COMPILE"
+  '';
+  meta = {
+    description = "The best terminal emulator written with the EFL";
+    homepage = http://enlightenment.org/;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.bsd2;
+  };
+}