e19: rename to enlightenment, drop old one

This commit is contained in:
Nikolay Amiantov 2016-03-12 02:43:40 +03:00
parent 0bf8a1a86d
commit e358d9498c
17 changed files with 62 additions and 89 deletions

View File

@ -98,6 +98,9 @@ with lib;
(mkRenamedOptionModule [ "services" "hostapd" "extraCfg" ] [ "services" "hostapd" "extraConfig" ])
# Enlightenment
(mkRenamedOptionModule [ "services" "xserver" "desktopManager" "e19" "enable" ] [ "services" "xserver" "desktopManager" "enlightenment" "enable" ])
# Options that are obsolete and have no replacement.
(mkRemovedOptionModule [ "boot" "initrd" "luks" "enable" ])
(mkRemovedOptionModule [ "programs" "bash" "enable" ])

View File

@ -19,7 +19,7 @@ in
# E.g., if KDE is enabled, it supersedes xterm.
imports = [
./none.nix ./xterm.nix ./xfce.nix ./kde4.nix ./kde5.nix
./e19.nix ./gnome3.nix ./kodi.nix
./enlightenment.nix ./gnome3.nix ./kodi.nix
];
options = {

View File

@ -4,9 +4,10 @@ with lib;
let
e = pkgs.enlightenment;
xcfg = config.services.xserver;
cfg = xcfg.desktopManager.e19;
e19_enlightenment = pkgs.e19.enlightenment.override { set_freqset_setuid = true; };
cfg = xcfg.desktopManager.enlightenment;
enlightenment = e.enlightenment.override { set_freqset_setuid = true; };
GST_PLUGIN_PATH = lib.makeSearchPath "lib/gstreamer-1.0" [
pkgs.gst_all_1.gst-plugins-base
pkgs.gst_all_1.gst-plugins-good
@ -18,10 +19,10 @@ in
{
options = {
services.xserver.desktopManager.e19.enable = mkOption {
services.xserver.desktopManager.enlightenment.enable = mkOption {
default = false;
example = true;
description = "Enable the E19 desktop environment.";
description = "Enable the Enlightenment desktop environment.";
};
};
@ -29,8 +30,8 @@ in
config = mkIf (xcfg.enable && cfg.enable) {
environment.systemPackages = [
pkgs.e19.efl pkgs.e19.evas pkgs.e19.emotion pkgs.e19.elementary e19_enlightenment
pkgs.e19.terminology pkgs.e19.econnman
e.efl e.evas e.emotion e.elementary enlightenment
e.terminology e.econnman
pkgs.xorg.xauth # used by kdesu
pkgs.gtk # To get GTK+'s themes.
pkgs.tango-icon-theme
@ -42,7 +43,7 @@ in
environment.pathsToLink = [ "/etc/enlightenment" "/etc/xdg" "/share/enlightenment" "/share/elementary" "/share/applications" "/share/locale" "/share/icons" "/share/themes" "/share/mime" "/share/desktop-directories" ];
services.xserver.desktopManager.session = [
{ name = "E19";
{ name = "Enlightenment";
start = ''
# Set GTK_DATA_PREFIX so that GTK+ can find the themes
export GTK_DATA_PREFIX=${config.system.path}
@ -53,17 +54,17 @@ in
export GST_PLUGIN_PATH="${GST_PLUGIN_PATH}"
# make available for D-BUS user services
#export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}:${config.system.path}/share:${pkgs.e19.efl}/share
#export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}:${config.system.path}/share:${e.efl}/share
# Update user dirs as described in http://freedesktop.org/wiki/Software/xdg-user-dirs/
${pkgs.xdg-user-dirs}/bin/xdg-user-dirs-update
${e19_enlightenment}/bin/enlightenment_start
${enlightenment}/bin/enlightenment_start
waitPID=$!
'';
}];
security.setuidPrograms = [ "e19_freqset" ];
security.setuidPrograms = [ "e_freqset" ];
environment.etc = singleton
{ source = "${pkgs.xkeyboard_config}/etc/X11/xkb";
@ -81,7 +82,7 @@ in
{ enable = true;
description = "org.enlightenment.Efreet";
serviceConfig =
{ ExecStart = "${pkgs.e19.efl}/bin/efreetd";
{ ExecStart = "${e.efl}/bin/efreetd";
StandardOutput = "null";
};
};
@ -90,7 +91,7 @@ in
{ enable = true;
description = "org.enlightenment.Ethumb";
serviceConfig =
{ ExecStart = "${pkgs.e19.efl}/bin/ethumbd";
{ ExecStart = "${e.efl}/bin/ethumbd";
StandardOutput = "null";
};
};

View File

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

View File

@ -1,29 +1,16 @@
{ stdenv, fetchurl, pkgconfig, xlibsWrapper, xorg, dbus, imlib2, freetype }:
{ callPackage, pkgs }:
rec {
#### CORE EFL
efl = callPackage ./efl.nix { openjpeg = pkgs.openjpeg_1; };
evas = callPackage ./evas.nix { };
emotion = callPackage ./emotion.nix { };
elementary = callPackage ./elementary.nix { };
let version = "0.16.8.15"; in
stdenv.mkDerivation {
name = "enlightenment-${version}";
#### WINDOW MANAGER
enlightenment = callPackage ./enlightenment.nix { };
src = fetchurl {
url = "mirror://sourceforge/enlightenment/e16-${version}.tar.gz";
sha256 = "0f8hg79mrk6b3fsvynvsrnqh1zgmvnnza0lf7qn4pq2mqyigbhgk";
};
buildInputs = [pkgconfig imlib2 freetype
xorg.libX11 xorg.libXt xorg.libXext xorg.libXrender xorg.libXft ];
meta = {
description = "Desktop shell built on the Enlightenment Foundation Libraries";
longDescription = ''
Enlightenment is a window manager. Enlightenment is a desktop
shell. Enlightenment is the building blocks to create
beautiful applications. Enlightenment, or simply e, is a
group of people trying to make a new generation of software.
'';
homepage = http://enlightenment.org/;
license = "BSD-style";
};
}
#### APPLICATIONS
econnman = callPackage ./econnman.nix { };
terminology = callPackage ./terminology.nix { };
rage = callPackage ./rage.nix { };
}

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, e19, python27, python27Packages, dbus, makeWrapper }:
{ stdenv, fetchurl, pkgconfig, efl, elementary, python27, python27Packages, dbus, makeWrapper }:
stdenv.mkDerivation rec {
name = "econnman-${version}";
version = "1.1";
@ -7,10 +7,10 @@ stdenv.mkDerivation rec {
sha256 = "057pwwavlvrrq26bncqnfrf449zzaim0zq717xv86av4n940gwv0";
};
buildInputs = [ makeWrapper pkgconfig e19.efl python27 dbus ];
propagatedBuildInputs = [ python27Packages.pythonefl_1_16 python27Packages.dbus e19.elementary ];
buildInputs = [ makeWrapper pkgconfig efl python27 dbus ];
propagatedBuildInputs = [ python27Packages.pythonefl python27Packages.dbus elementary ];
postInstall = ''
wrapProgram $out/bin/econnman-bin --prefix PYTHONPATH : ${python27Packages.dbus}/lib/python2.7/site-packages:${python27Packages.pythonefl_1_16}/lib/python2.7/site-packages
wrapProgram $out/bin/econnman-bin --prefix PYTHONPATH : ${python27Packages.dbus}/lib/python2.7/site-packages:${python27Packages.pythonefl}/lib/python2.7/site-packages
'';
meta = {

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, e19, libcap, automake114x, autoconf, libdrm, gdbm }:
{ stdenv, fetchurl, pkgconfig, efl, libcap, automake114x, autoconf, libdrm, gdbm }:
stdenv.mkDerivation rec {
name = "elementary-${version}";
version = "1.16.1";
@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
url = "http://download.enlightenment.org/rel/libs/elementary/${name}.tar.xz";
sha256 = "0q58imh7s35q6cq5hsa6gqj84rkckh8s61iass8zyvcw19j66f3y";
};
buildInputs = [ pkgconfig e19.efl libdrm gdbm automake114x autoconf ] ++ stdenv.lib.optionals stdenv.isLinux [ libcap ];
buildInputs = [ pkgconfig efl libdrm gdbm automake114x autoconf ] ++ stdenv.lib.optionals stdenv.isLinux [ libcap ];
NIX_CFLAGS_COMPILE = [ "-I${libdrm}/include/libdrm" ];
patches = [ ./elementary.patch ];
enableParallelBuilding = true;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, e19, vlc }:
{ stdenv, fetchurl, pkgconfig, efl, vlc }:
stdenv.mkDerivation rec {
name = "emotion_generic_players-${version}";
version = "1.16.0";
@ -6,8 +6,8 @@ stdenv.mkDerivation rec {
url = "http://download.enlightenment.org/rel/libs/emotion_generic_players/${name}.tar.xz";
sha256 = "163ay26c6dx49m1am7vsxxn0gy877zhayxq0yxn9zkbq2srzvjym";
};
buildInputs = [ pkgconfig e19.efl vlc ];
NIX_CFLAGS_COMPILE = [ "-I${e19.efl}/include/eo-1" ];
buildInputs = [ pkgconfig efl vlc ];
NIX_CFLAGS_COMPILE = [ "-I${efl}/include/eo-1" ];
meta = {
description = "Extra video decoders";
homepage = http://enlightenment.org/;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, e19, xorg, libffi, pam, alsaLib, luajit, bzip2, libuuid
{ stdenv, fetchurl, pkgconfig, efl, elementary, xorg, libffi, pam, alsaLib, luajit, bzip2, libuuid
, libpthreadstubs, gdbm, libcap, mesa_glu, xkeyboard_config, set_freqset_setuid ? false }:
stdenv.mkDerivation rec {
@ -8,10 +8,10 @@ stdenv.mkDerivation rec {
url = "http://download.enlightenment.org/rel/apps/enlightenment/${name}.tar.xz";
sha256 = "19z3bwdzwpzwi330l5g5mj7xy6wy8xrc39zivjhm0d1ql3fh649j";
};
buildInputs = [ pkgconfig e19.efl e19.elementary xorg.libXdmcp xorg.libxcb
buildInputs = [ pkgconfig efl elementary xorg.libXdmcp xorg.libxcb
xorg.xcbutilkeysyms xorg.libXrandr libffi pam alsaLib luajit bzip2 libuuid
libpthreadstubs gdbm ] ++ stdenv.lib.optionals stdenv.isLinux [ libcap ];
NIX_CFLAGS_COMPILE = [ "-I${e19.efl}/include/eo-1" "-I${e19.efl}/include/emile-1" "-I${libuuid}/include/uuid" ];
NIX_CFLAGS_COMPILE = [ "-I${efl}/include/eo-1" "-I${efl}/include/emile-1" "-I${libuuid}/include/uuid" ];
preConfigure = ''
export USER_SESSION_DIR=$prefix/lib/systemd/user
@ -19,23 +19,23 @@ stdenv.mkDerivation rec {
--replace "/usr/share/X11/xkb/rules/xorg.lst" "${xkeyboard_config}/share/X11/xkb/rules/base.lst"
substituteInPlace "src/bin/e_import_config_dialog.c" \
--replace "e_prefix_bin_get()" "\"${e19.efl}/bin\""
--replace "e_prefix_bin_get()" "\"${efl}/bin\""
'';
enableParallelBuilding = true;
# 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),
# when set_freqset_setuid is true and "e_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
# 1. moves the "freqset" binary to "e_freqset",
# 2. linkes "e_freqset" to enlightenment/bin so that,
# 3. setuidPrograms detects it and makes appropriate stuff to /var/setuid-wrappers/e_freqset,
# 4. and finaly, linkes /var/setuid-wrappers/e_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
mv $CPUFREQ_DIRPATH/freqset $CPUFREQ_DIRPATH/e_freqset
ln -sv $CPUFREQ_DIRPATH/e_freqset $out/bin/e_freqset
ln -sv /var/setuid-wrappers/e_freqset $CPUFREQ_DIRPATH/freqset
'' else "";
meta = {
description = "The Compositing Window Manager and Desktop Shell";

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, e19, zlib, libspectre, gstreamer, gst_plugins_base, gst_ffmpeg, gst_plugins_good, poppler, librsvg, libraw }:
{ stdenv, fetchurl, pkgconfig, efl, zlib, libspectre, gstreamer, gst_plugins_base, gst_ffmpeg, gst_plugins_good, poppler, librsvg, libraw }:
stdenv.mkDerivation rec {
name = "evas_generic_loaders-${version}";
version = "1.16.0";
@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
url = "http://download.enlightenment.org/rel/libs/evas_generic_loaders/${name}.tar.xz";
sha256 = "1il3i3rii6ddpj7cw2mdqnb0q2wmhwnvs6qi9janna1n5hhrqyfm";
};
buildInputs = [ pkgconfig e19.efl zlib libspectre gstreamer gst_plugins_base gst_ffmpeg gst_plugins_good poppler librsvg libraw ];
buildInputs = [ pkgconfig efl zlib libspectre gstreamer gst_plugins_base gst_ffmpeg gst_plugins_good poppler librsvg libraw ];
meta = {
description = "Extra image decoders";
homepage = http://enlightenment.org/;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, e19, automake, autoconf, libtool, pkgconfig, gst_all_1
{ stdenv, fetchurl, elementary, efl, automake, autoconf, libtool, pkgconfig, gst_all_1
, makeWrapper, lib }:
stdenv.mkDerivation rec {
name = "rage-${version}";
@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
url = "http://download.enlightenment.org/rel/apps/rage/${name}.tar.gz";
sha256 = "10j3n8crk16jzqz2hn5djx6vms5f6x83qyiaphhqx94h9dgv2mgg";
};
buildInputs = [ e19.elementary e19.efl automake autoconf libtool pkgconfig
buildInputs = [ elementary efl automake autoconf libtool pkgconfig
makeWrapper ];
GST_PLUGIN_PATH = lib.makeSearchPath "lib/gstreamer-1.0" [
gst_all_1.gst-plugins-base

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, e19 }:
{ stdenv, fetchurl, pkgconfig, efl, elementary }:
stdenv.mkDerivation rec {
name = "terminology-${version}";
version = "0.9.1";
@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
url = "http://download.enlightenment.org/rel/apps/terminology/${name}.tar.xz";
sha256 = "1kwv9vkhngdm5v38q93xpcykghnyawhjjcb5bgy0p89gpbk7mvpc";
};
buildInputs = [ pkgconfig e19.efl e19.elementary ];
buildInputs = [ pkgconfig efl elementary ];
meta = {
description = "The best terminal emulator written with the EFL";
homepage = http://enlightenment.org/;

View File

@ -14907,10 +14907,8 @@ let
clearlooks-phenix = callPackage ../misc/themes/gtk3/clearlooks-phenix { };
enlightenment = callPackage ../desktops/enlightenment { };
e19 = recurseIntoAttrs (callPackage ../desktops/e19 {
callPackage = newScope pkgs.e19;
enlightenment = recurseIntoAttrs (callPackage ../desktops/enlightenment {
callPackage = newScope pkgs.enlightenment;
});
gnome2 = callPackage ../desktops/gnome-2 {

View File

@ -24047,7 +24047,7 @@ in modules // {
};
};
pythonefl_1_16 = buildPythonPackage rec {
pythonefl = buildPythonPackage rec {
name = "python-efl-${version}";
version = "1.16.0";
src = pkgs.fetchurl {
@ -24061,7 +24061,7 @@ in modules // {
preBuild = "${python}/bin/${python.executable} setup.py build_ext";
installPhase= "${python}/bin/${python.executable} setup.py install --prefix=$out";
buildInputs = with self; [ pkgs.pkgconfig pkgs.e19.efl pkgs.e19.elementary ];
buildInputs = with self; [ pkgs.pkgconfig pkgs.enlightenment.efl pkgs.enlightenment.elementary ];
doCheck = false;
meta = {