From dfb26389cee73c601cde8c47d0c36206d8d4b1ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Tue, 15 Oct 2019 21:29:48 -0300 Subject: [PATCH 1/5] enlightenment.efl: 1.22.5 -> 1.23.1 - Update to version 1.23.1 - Switch to meson build system - Add new dependencies: avahi, ibus, check --- pkgs/desktops/enlightenment/efl.nix | 61 +++++++++++++++-------------- 1 file changed, 32 insertions(+), 29 deletions(-) diff --git a/pkgs/desktops/enlightenment/efl.nix b/pkgs/desktops/enlightenment/efl.nix index 5e3763c9a6d..bf6e625a6fa 100644 --- a/pkgs/desktops/enlightenment/efl.nix +++ b/pkgs/desktops/enlightenment/efl.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchurl, pkgconfig, SDL, SDL2, alsaLib, bullet, curl, dbus, +{ stdenv, fetchurl, meson, ninja, pkgconfig, SDL, SDL2, alsaLib, avahi, bullet, check, curl, dbus, doxygen, expat, fontconfig, freetype, fribidi, ghostscript, giflib, - glib, gst_all_1, gtk3, harfbuzz, jbig2dec, libGL, libdrm, libinput, + glib, gst_all_1, gtk3, harfbuzz, ibus, jbig2dec, libGL, libdrm, libinput, libjpeg, libpng, libpulseaudio, libraw, librsvg, libsndfile, libspectre, libtiff, libwebp, libxkbcommon, luajit, lz4, mesa, openjpeg, openssl, poppler, python27Packages, systemd, udev, @@ -9,20 +9,24 @@ stdenv.mkDerivation rec { pname = "efl"; - version = "1.22.5"; + version = "1.23.1"; src = fetchurl { url = "http://download.enlightenment.org/rel/libs/${pname}/${pname}-${version}.tar.xz"; - sha256 = "1cjk56z0whpzcqwg3xdq23kyp1g83xa67m9dlp7ywmb36bn4ca59"; + sha256 = "0q9g4j7k10s1a8rv2ca9v9lydh7ml3zsrqvgncc4qhvdl76208nn"; }; nativeBuildInputs = [ + meson + ninja gtk3 pkgconfig + check ]; buildInputs = [ SDL + avahi fontconfig freetype giflib @@ -31,6 +35,7 @@ stdenv.mkDerivation rec { gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good gst_all_1.gstreamer + ibus libGL libpng libpulseaudio @@ -90,30 +95,25 @@ stdenv.mkDerivation rec { xorg.xcbutilkeysyms ]; - # ac_ct_CXX must be set to random value, because then it skips some magic which does alternative searching for g++ - configureFlags = [ - "--enable-sdl" - "--enable-drm" - "--enable-elput" - "--with-opengl=full" - "--enable-image-loader-jp2k" - "--enable-xinput22" - "--enable-multisense" - "--enable-liblz4" - "--enable-systemd" - "--enable-image-loader-webp" - "--enable-harfbuzz" - "--enable-xine" - "--enable-fb" - "--disable-tslib" - "--with-systemdunitdir=$out/systemd/user" - "ac_ct_CXX=foo" + mesonFlags = [ + "--buildtype=release" + "-D build-tests=false" # disable build tests, which are not working + "-D drm=true" + "-D embedded-lz4=false" + "-D evas-loaders-disabler=json" + "-D fb=true" + "-D opengl=full" + "-D sdl=true" ]; patches = [ ./efl-elua.patch ]; postPatch = '' patchShebangs src/lib/elementary/config_embed + + # fix destination of systemd unit and dbus service + substituteInPlace systemd-services/meson.build --replace "dep.get_pkgconfig_variable('systemduserunitdir')" "'$out/systemd/user'" + substituteInPlace dbus-services/meson.build --replace "dep.get_pkgconfig_variable('session_bus_services_dir')" "'$out/share/dbus-1/services'" ''; # bin/edje_cc creates $HOME/.run, which would break build of reverse dependencies. @@ -122,30 +122,33 @@ stdenv.mkDerivation rec { ''; preConfigure = '' - export LD_LIBRARY_PATH="$(pwd)/src/lib/eina/.libs:$LD_LIBRARY_PATH" + # allow ecore_con to find libcurl.so, which is a runtime dependency (it is dlopened) + export LD_LIBRARY_PATH="${curl.out}/lib:$LD_LIBRARY_PATH" + source "$setupHook" ''; NIX_CFLAGS_COMPILE = [ "-DluaL_reg=luaL_Reg" ]; # needed since luajit-2.1.0-beta3 postInstall = '' + # fix use of $out variable substituteInPlace "$out/share/elua/core/util.lua" --replace '$out' "$out" + + # add all module include dirs to the Cflags field in efl.pc modules=$(for i in "$out/include/"*/; do printf ' -I''${includedir}/'`basename $i`; done) - substituteInPlace "$out/lib/pkgconfig/efl.pc" --replace 'Cflags: -I''${includedir}/efl-1' \ - 'Cflags: -I''${includedir}/eina-1/eina'"$modules" + substituteInPlace "$out/lib/pkgconfig/efl.pc" \ + --replace 'Cflags: -I''${includedir}/efl-1' \ + 'Cflags: -I''${includedir}/eina-1/eina'"$modules" # build icon cache gtk-update-icon-cache "$out"/share/icons/Enlightenment-X ''; - # EFL applications depend on libcurl, although it is linked at - # runtime by hand in code (it is dlopened). postFixup = '' + # EFL applications depend on libcurl, which is linked at runtime by hand in code (it is dlopened) patchelf --add-needed ${curl.out}/lib/libcurl.so $out/lib/libecore_con.so ''; - enableParallelBuilding = true; - meta = { description = "Enlightenment foundation libraries"; homepage = https://enlightenment.org/; From 51cf8605534bfe2b74d32536d4f6918e2826e5aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Sat, 26 Oct 2019 10:20:05 -0300 Subject: [PATCH 2/5] pythonPackage.python-efl: 1.22.0 -> 1.23.0 --- pkgs/development/python-modules/python-efl/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/python-efl/default.nix b/pkgs/development/python-modules/python-efl/default.nix index beb57ac491a..aeb2d57fa8b 100644 --- a/pkgs/development/python-modules/python-efl/default.nix +++ b/pkgs/development/python-modules/python-efl/default.nix @@ -4,11 +4,11 @@ buildPythonPackage rec { pname = "python-efl"; - version = "1.22.0"; + version = "1.23.0"; src = fetchurl { url = "http://download.enlightenment.org/rel/bindings/python/${pname}-${version}.tar.xz"; - sha256 = "1qhy63c3fs2bxkx2np5z14hyxbr12ii030crsjnhpbyw3mic0s63"; + sha256 = "16yn6a1b9167nfmryyi44ma40m20ansfpwgrvqzfvwix7qaz9pib"; }; nativeBuildInputs = [ pkgconfig ]; From ac93f9bd33656911cc6355be01bc2a04588edf08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Sat, 26 Oct 2019 10:22:00 -0300 Subject: [PATCH 3/5] enlightenment.{enlightenment,ephoto,rage,terminology}: use default pkgconfig With efl-1.23.1 built with meson the native pkgconfig is not needed anymore, and building fails with it. --- pkgs/desktops/enlightenment/enlightenment.nix | 2 +- pkgs/desktops/enlightenment/ephoto.nix | 2 +- pkgs/desktops/enlightenment/rage.nix | 2 +- pkgs/desktops/enlightenment/terminology.nix | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/desktops/enlightenment/enlightenment.nix b/pkgs/desktops/enlightenment/enlightenment.nix index 99d1236ea88..0fb249135a2 100644 --- a/pkgs/desktops/enlightenment/enlightenment.nix +++ b/pkgs/desktops/enlightenment/enlightenment.nix @@ -17,10 +17,10 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - (pkgconfig.override { vanilla = true; }) gettext meson ninja + pkgconfig ]; buildInputs = [ diff --git a/pkgs/desktops/enlightenment/ephoto.nix b/pkgs/desktops/enlightenment/ephoto.nix index f1455f68338..3563b9aabc1 100644 --- a/pkgs/desktops/enlightenment/ephoto.nix +++ b/pkgs/desktops/enlightenment/ephoto.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - (pkgconfig.override { vanilla = true; }) + pkgconfig mesa.dev # otherwise pkg-config does not find gbm makeWrapper ]; diff --git a/pkgs/desktops/enlightenment/rage.nix b/pkgs/desktops/enlightenment/rage.nix index 8d99ce6e8e0..f0a9799e5b4 100644 --- a/pkgs/desktops/enlightenment/rage.nix +++ b/pkgs/desktops/enlightenment/rage.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ meson ninja - (pkgconfig.override { vanilla = true; }) + pkgconfig mesa.dev wrapGAppsHook ]; diff --git a/pkgs/desktops/enlightenment/terminology.nix b/pkgs/desktops/enlightenment/terminology.nix index 52f0ff15e23..5c2a4169822 100644 --- a/pkgs/desktops/enlightenment/terminology.nix +++ b/pkgs/desktops/enlightenment/terminology.nix @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ meson ninja - (pkgconfig.override { vanilla = true; }) + pkgconfig makeWrapper ]; From b63e0a5b0bc118546bf7b83e55167294238a576d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Sat, 26 Oct 2019 10:52:09 -0300 Subject: [PATCH 4/5] enlightenment.{econnman,efl,terminology}, pythonPackages.python-efl: add romildo as maintainer --- pkgs/desktops/enlightenment/econnman.nix | 4 ++-- pkgs/desktops/enlightenment/efl.nix | 4 ++-- pkgs/desktops/enlightenment/terminology.nix | 4 ++-- pkgs/development/python-modules/python-efl/default.nix | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/desktops/enlightenment/econnman.nix b/pkgs/desktops/enlightenment/econnman.nix index 93b0cb59650..9aca09a510a 100644 --- a/pkgs/desktops/enlightenment/econnman.nix +++ b/pkgs/desktops/enlightenment/econnman.nix @@ -22,8 +22,8 @@ stdenv.mkDerivation rec { meta = { description = "A user interface for the connman network connection manager"; homepage = https://enlightenment.org/; - maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ftrvxmtrx ]; - platforms = stdenv.lib.platforms.linux; license = stdenv.lib.licenses.lgpl3; + platforms = stdenv.lib.platforms.linux; + maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ftrvxmtrx romildo ]; }; } diff --git a/pkgs/desktops/enlightenment/efl.nix b/pkgs/desktops/enlightenment/efl.nix index bf6e625a6fa..44957f385e6 100644 --- a/pkgs/desktops/enlightenment/efl.nix +++ b/pkgs/desktops/enlightenment/efl.nix @@ -152,8 +152,8 @@ stdenv.mkDerivation rec { meta = { description = "Enlightenment foundation libraries"; homepage = https://enlightenment.org/; - platforms = stdenv.lib.platforms.linux; license = stdenv.lib.licenses.lgpl3; - maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ftrvxmtrx ]; + platforms = stdenv.lib.platforms.linux; + maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ftrvxmtrx romildo ]; }; } diff --git a/pkgs/desktops/enlightenment/terminology.nix b/pkgs/desktops/enlightenment/terminology.nix index 5c2a4169822..672e1b3da73 100644 --- a/pkgs/desktops/enlightenment/terminology.nix +++ b/pkgs/desktops/enlightenment/terminology.nix @@ -25,8 +25,8 @@ stdenv.mkDerivation rec { meta = { description = "Powerful terminal emulator based on EFL"; homepage = https://www.enlightenment.org/about-terminology; - platforms = stdenv.lib.platforms.linux; license = stdenv.lib.licenses.bsd2; - maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ftrvxmtrx ]; + platforms = stdenv.lib.platforms.linux; + maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ftrvxmtrx romildo ]; }; } diff --git a/pkgs/development/python-modules/python-efl/default.nix b/pkgs/development/python-modules/python-efl/default.nix index aeb2d57fa8b..5cf1efc49b7 100644 --- a/pkgs/development/python-modules/python-efl/default.nix +++ b/pkgs/development/python-modules/python-efl/default.nix @@ -32,6 +32,6 @@ buildPythonPackage rec { homepage = https://phab.enlightenment.org/w/projects/python_bindings_for_efl/; platforms = platforms.linux; license = with licenses; [ gpl3 lgpl3 ]; - maintainers = with maintainers; [ matejc tstrobel ftrvxmtrx ]; + maintainers = with maintainers; [ matejc tstrobel ftrvxmtrx romildo ]; }; } From f38c52ae44e38e2a1083d0e2693138a4323fd462 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Mon, 28 Oct 2019 09:57:35 -0300 Subject: [PATCH 5/5] enlightenment.efl: remove dependence on xineLib EFL supports four video back-ends: gstreamer, gstreamer1, libvlc, and xine. After asking in the IRC channel, the author (raster) recommended enabling gstreamer1 and disabling the others. --- pkgs/desktops/enlightenment/efl.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/desktops/enlightenment/efl.nix b/pkgs/desktops/enlightenment/efl.nix index 44957f385e6..153616a3bc8 100644 --- a/pkgs/desktops/enlightenment/efl.nix +++ b/pkgs/desktops/enlightenment/efl.nix @@ -4,7 +4,7 @@ libjpeg, libpng, libpulseaudio, libraw, librsvg, libsndfile, libspectre, libtiff, libwebp, libxkbcommon, luajit, lz4, mesa, openjpeg, openssl, poppler, python27Packages, systemd, udev, - utillinux, writeText, xineLib, xorg, zlib + utillinux, writeText, xorg, zlib }: stdenv.mkDerivation rec { @@ -78,7 +78,6 @@ stdenv.mkDerivation rec { poppler python27Packages.dbus-python utillinux - xineLib xorg.libXScrnSaver xorg.libXcomposite xorg.libXdamage