summary refs log tree commit diff
path: root/pkgs/desktops/enlightenment/efl.nix
diff options
context:
space:
mode:
authorJosé Romildo Malaquias <malaquias@gmail.com>2019-10-15 21:29:48 -0300
committerJosé Romildo Malaquias <malaquias@gmail.com>2019-10-26 10:43:45 -0300
commitdfb26389cee73c601cde8c47d0c36206d8d4b1ed (patch)
tree46b41b16891b49e331b3422a1aa1a92105738578 /pkgs/desktops/enlightenment/efl.nix
parent95f1a9a03439815682cf99d267e75d70b5f51fa4 (diff)
downloadnixpkgs-dfb26389cee73c601cde8c47d0c36206d8d4b1ed.tar
nixpkgs-dfb26389cee73c601cde8c47d0c36206d8d4b1ed.tar.gz
nixpkgs-dfb26389cee73c601cde8c47d0c36206d8d4b1ed.tar.bz2
nixpkgs-dfb26389cee73c601cde8c47d0c36206d8d4b1ed.tar.lz
nixpkgs-dfb26389cee73c601cde8c47d0c36206d8d4b1ed.tar.xz
nixpkgs-dfb26389cee73c601cde8c47d0c36206d8d4b1ed.tar.zst
nixpkgs-dfb26389cee73c601cde8c47d0c36206d8d4b1ed.zip
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
Diffstat (limited to 'pkgs/desktops/enlightenment/efl.nix')
-rw-r--r--pkgs/desktops/enlightenment/efl.nix61
1 files 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/;