Merge pull request #3309 from matejc/e18

e18: enlightenment desktop manager version 18
This commit is contained in:
lethalman 2014-07-18 11:30:39 +02:00
commit c2a4a69a4a
12 changed files with 229 additions and 1 deletions

View File

@ -17,7 +17,7 @@ in
# Note: the order in which desktop manager modules are imported here
# determines the default: later modules (if enabled) are preferred.
# E.g., if KDE is enabled, it supersedes xterm.
imports = [ ./none.nix ./xterm.nix ./xfce.nix ./kde4.nix ./e17.nix ./gnome3.nix ./xbmc.nix ];
imports = [ ./none.nix ./xterm.nix ./xfce.nix ./kde4.nix ./e17.nix ./e18.nix ./gnome3.nix ./xbmc.nix ];
options = {

View File

@ -0,0 +1,40 @@
{ config, pkgs, ... }:
with pkgs.lib;
let
xcfg = config.services.xserver;
cfg = xcfg.desktopManager.e18;
in
{
options = {
services.xserver.desktopManager.e18.enable = mkOption {
default = false;
example = true;
description = "Enable the E18 desktop environment.";
};
};
config = mkIf (xcfg.enable && cfg.enable) {
environment.systemPackages = [
pkgs.e18.efl pkgs.e18.evas pkgs.e18.emotion pkgs.e18.elementary pkgs.e18.enlightenment
pkgs.e18.terminology pkgs.e18.econnman
];
services.xserver.desktopManager.session = [
{ name = "E18";
start = ''
${pkgs.e18.enlightenment}/bin/enlightenment_start
waitPID=$!
'';
}];
};
}

View File

@ -0,0 +1,16 @@
{ callPackage, pkgs }:
rec {
#### CORE EFL
efl = callPackage ./efl.nix { };
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 { };
}

View File

@ -0,0 +1,23 @@
{ stdenv, fetchurl, pkgconfig, e18, 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 e18.efl python27 dbus ];
propagatedBuildInputs = [ python27Packages.pythonefl python27Packages.dbus e18.elementary ];
postInstall = ''
wrapProgram $out/bin/econnman-bin --prefix PYTHONPATH : ${python27Packages.dbus}/lib/python2.7/site-packages:${python27Packages.pythonefl}/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;
};
}

23
pkgs/desktops/e18/efl.nix Normal file
View File

@ -0,0 +1,23 @@
{ stdenv, fetchurl, pkgconfig, openssl, libjpeg, zlib, freetype, fontconfig, fribidi, SDL, mesa, giflib, libpng, libtiff, glib, gst_all_1, pulseaudio, libsndfile, xlibs, wayland, libdrm, libxkbcommon, udev, utillinuxCurses, dbus, bullet, luajit, python27Packages }:
stdenv.mkDerivation rec {
name = "efl-${version}";
version = "1.10.2";
src = fetchurl {
url = "http://download.enlightenment.org/rel/libs/efl/${name}.tar.gz";
sha256 = "0py8x0kv2hgl5v983xb6653fvmvn20im6picpc0hqfyxy09g1b24";
};
buildInputs = [ pkgconfig openssl zlib freetype fontconfig fribidi 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 ];
configureFlags = [ "--with-opengl=full" "--with-tests=none" "--enable-wayland" "--enable-sdl" "--enable-drm" ];
preConfigure = ''
export NIX_CFLAGS_COMPILE="-I${xlibs.libXtst} $NIX_CFLAGS_COMPILE"
export PKG_CONFIG_PATH="${gst_all_1.gst-plugins-base}/lib/pkgconfig/gstreamer-video-0.10.pc:$PKG_CONFIG_PATH"
'';
meta = {
description = "Enlightenment Core libraries";
homepage = http://enlightenment.org/;
maintainers = [ stdenv.lib.maintainers.matejc ];
platforms = stdenv.lib.platforms.linux;
license = stdenv.lib.licenses.lgpl3;
};
}

View File

@ -0,0 +1,20 @@
{ stdenv, fetchurl, pkgconfig, e18 }:
stdenv.mkDerivation rec {
name = "elementary-${version}";
version = "1.10.2";
src = fetchurl {
url = "http://download.enlightenment.org/rel/libs/elementary/${name}.tar.gz";
sha256 = "0y3knvmabl9adc8pd54p7qxpf7gvciixc1rk40hqppwhdgbgpz28";
};
buildInputs = [ pkgconfig e18.efl ];
preConfigure = ''
export NIX_CFLAGS_COMPILE="-I${e18.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;
};
}

View File

@ -0,0 +1,20 @@
{ stdenv, fetchurl, pkgconfig, e18, vlc }:
stdenv.mkDerivation rec {
name = "emotion_generic_players-${version}";
version = "1.10.0";
src = fetchurl {
url = "http://download.enlightenment.org/rel/libs/emotion_generic_players/${name}.tar.gz";
sha256 = "1nwlrk9inrhiv6jpzji10ikcdlhzhz7f2b5qhi2ai8bb6j61ryyc";
};
buildInputs = [ pkgconfig e18.efl vlc ];
preConfigure = ''
export NIX_CFLAGS_COMPILE="-I${e18.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;
};
}

View File

@ -0,0 +1,20 @@
{ stdenv, fetchurl, pkgconfig, e18, xlibs, libffi, pam, alsaLib, luajit }:
stdenv.mkDerivation rec {
name = "enlightenment-${version}";
version = "0.18.8";
src = fetchurl {
url = "http://download.enlightenment.org/rel/apps/enlightenment/${name}.tar.gz";
sha256 = "1fsigbrknkwy909p1gqwxag1bar3p413s4f6fq3qnbsd6gjbvj8l";
};
buildInputs = [ pkgconfig e18.efl e18.elementary xlibs.libxcb xlibs.xcbutilkeysyms xlibs.libXrandr libffi pam alsaLib luajit ];
preConfigure = ''
export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/eo-1 -I${e18.efl}/include/ecore-imf-1 -I${e18.efl}/include/ethumb-client-1 -I${e18.efl}/include/ethumb-1 $NIX_CFLAGS_COMPILE"
'';
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;
};
}

View File

@ -0,0 +1,17 @@
{ stdenv, fetchurl, pkgconfig, e18, zlib }:
stdenv.mkDerivation rec {
name = "evas_generic_loaders-${version}";
version = "1.10.0";
src = fetchurl {
url = "http://download.enlightenment.org/rel/libs/evas_generic_loaders/${name}.tar.gz";
sha256 = "0qx44g7a8pzcgspx8q10zjiwzafis301fhpchd4pskfxhqd4qagm";
};
buildInputs = [ pkgconfig e18.efl zlib ];
meta = {
description = "Extra image decoders";
homepage = http://enlightenment.org/;
maintainers = [ stdenv.lib.maintainers.matejc ];
platforms = stdenv.lib.platforms.linux;
license = stdenv.lib.licenses.gpl2;
};
}

View File

@ -0,0 +1,23 @@
{ stdenv, fetchurl, pkgconfig, e18 }:
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 e18.efl e18.elementary ];
preConfigure = ''
export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/eo-1 $NIX_CFLAGS_COMPILE"
export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/ecore-con-1 $NIX_CFLAGS_COMPILE"
export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/eldbus-1 $NIX_CFLAGS_COMPILE"
export NIX_CFLAGS_COMPILE="-I${e18.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;
};
}

View File

@ -10481,6 +10481,11 @@ let
import ../desktops/e17 { inherit callPackage pkgs; }
);
e18 = recurseIntoAttrs (
let callPackage = newScope pkgs.e18; in
import ../desktops/e18 { inherit callPackage pkgs; }
);
gnome2 = callPackage ../desktops/gnome-2 {
callPackage = pkgs.newScope pkgs.gnome2;
self = pkgs.gnome2;

View File

@ -9511,6 +9511,27 @@ rec {
};
};
pythonefl = buildPythonPackage rec {
name = "python-efl-${version}";
version = "1.10.0";
src = fetchurl {
url = "http://download.enlightenment.org/rel/bindings/python/${name}.tar.gz";
sha256 = "1inv2qalnm9paifdwyh9q3ffxcp9bjj92phvfw1rgkaildvfji5i";
};
preConfigure = ''
export NIX_CFLAGS_COMPILE="-I${pkgs.e18.efl}/include/eo-1 -I${pkgs.e18.efl}/include/eina-1 -I${pkgs.e18.efl}/include/eina-1/eina -I${pkgs.e18.efl}/include/evas-1 -I${dbus}/include/dbus-1.0 -I${pkgs.e18.efl}/include/efl-1 -I${pkgs.e18.efl}/include/eet-1 -I${pkgs.e18.efl}/include/ecore-1 -I${pkgs.e18.efl}/include/ecore-evas-1 -I${pkgs.e18.efl}/include/ecore-file-1 -I${pkgs.e18.efl}/include/ecore-input-1 -I${pkgs.e18.efl}/include/ecore-imf-1 -I${pkgs.e18.efl}/include/ecore-con-1 -I${pkgs.e18.efl}/include/edje-1 -I${pkgs.e18.efl}/include/eldbus-1 -I${pkgs.e18.efl}/include/efreet-1 -I${pkgs.e18.efl}/include/ethumb-client-1 -I${pkgs.e18.efl}/include/ethumb-1 -I${pkgs.e18.efl}/include/ecore-x-1 $NIX_CFLAGS_COMPILE"
'';
buildInputs = [ pkgs.pkgconfig pkgs.e18.efl pkgs.e18.elementary ];
meta = {
description = "Python bindings for EFL and Elementary.";
homepage = http://enlightenment.org/;
maintainers = [ stdenv.lib.maintainers.matejc ];
platforms = stdenv.lib.platforms.linux;
license = stdenv.lib.licenses.gpl3;
};
};
# python2.7 specific packages
} // optionalAttrs isPy27 (
with pythonPackages;