efl: use vanilla pkg-config

Use vanilla pkg-config to build EFL applications.

The EFL library has a set of pkg-config files (*.pc) which uses
private requirements. The default pkg-config setup on nixpkgs is
patched to disable resolving those requirements. See
http://bugs.freedesktop.org/show_bug.cgi?id=4738 for reference.

As a consequence each package depending on efl has to explicitly set
the search path in order to be able to find the corresponding header
files.

By using vanilla pkg-config this is not necessary (and this is the
expected behaviour for pkg-config), allowing simpler nix expressions.
This commit is contained in:
romildo 2017-08-22 15:54:56 -03:00
parent d1cbd546e0
commit 7ffee4de3c
4 changed files with 12 additions and 55 deletions

View File

@ -1,6 +1,6 @@
{ stdenv, fetchurl, pkgconfig, efl, xcbutilkeysyms, libXrandr, libXdmcp,
libxcb, libffi, pam, alsaLib, luajit, bzip2, libpthreadstubs, gdbm, libcap,
mesa_glu, xkeyboard_config }:
mesa_glu, xkeyboard_config, pcre }:
stdenv.mkDerivation rec {
name = "enlightenment-${version}";
@ -11,22 +11,14 @@ stdenv.mkDerivation rec {
sha256 = "0w5f3707hyfc20i6xqh4jlr5p2yhy1z794061mjsz2rp4w00qmpb";
};
nativeBuildInputs = [ pkgconfig ];
nativeBuildInputs = [ (pkgconfig.override { vanilla = true; }) ];
buildInputs = [
efl libXdmcp libxcb xcbutilkeysyms libXrandr libffi pam alsaLib
luajit bzip2 libpthreadstubs gdbm
luajit bzip2 libpthreadstubs gdbm pcre
] ++
stdenv.lib.optionals stdenv.isLinux [ libcap ];
NIX_CFLAGS_COMPILE = [
"-I${efl}/include/ecore-imf-1"
"-I${efl}/include/emile-1"
"-I${efl}/include/eo-1"
"-I${efl}/include/ethumb-1"
"-I${efl}/include/ethumb-client-1"
];
preConfigure = ''
export USER_SESSION_DIR=$prefix/lib/systemd/user

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, efl, curl, makeWrapper }:
{ stdenv, fetchurl, pkgconfig, efl, pcre, curl, makeWrapper }:
stdenv.mkDerivation rec {
name = "ephoto-${version}";
@ -9,21 +9,9 @@ stdenv.mkDerivation rec {
sha256 = "09kraa5zz45728h2dw1ssh23b87j01bkfzf977m48y1r507sy3vb";
};
nativeBuildInputs = [ pkgconfig makeWrapper ];
nativeBuildInputs = [ (pkgconfig.override { vanilla = true; }) makeWrapper ];
buildInputs = [ efl curl ];
NIX_CFLAGS_COMPILE = [
"-I${efl}/include/ecore-con-1"
"-I${efl}/include/ecore-evas-1"
"-I${efl}/include/ecore-imf-1"
"-I${efl}/include/ecore-input-1"
"-I${efl}/include/eet-1"
"-I${efl}/include/eldbus-1"
"-I${efl}/include/emile-1"
"-I${efl}/include/ethumb-1"
"-I${efl}/include/ethumb-client-1"
];
buildInputs = [ efl pcre curl ];
postInstall = ''
wrapProgram $out/bin/ephoto --prefix LD_LIBRARY_PATH : ${curl.out}/lib

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, efl, gst_all_1, curl, wrapGAppsHook }:
{ stdenv, fetchurl, pkgconfig, efl, gst_all_1, pcre, curl, wrapGAppsHook }:
stdenv.mkDerivation rec {
name = "rage-${version}";
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [
pkgconfig
(pkgconfig.override { vanilla = true; })
wrapGAppsHook
];
@ -21,24 +21,10 @@ stdenv.mkDerivation rec {
gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-bad
gst_all_1.gst-libav
pcre
curl
];
NIX_CFLAGS_COMPILE = [
"-I${efl}/include/ecore-con-1"
"-I${efl}/include/ecore-evas-1"
"-I${efl}/include/ecore-file-1"
"-I${efl}/include/ecore-imf-1"
"-I${efl}/include/ecore-input-1"
"-I${efl}/include/eet-1"
"-I${efl}/include/efreet-1"
"-I${efl}/include/eldbus-1"
"-I${efl}/include/emile-1"
"-I${efl}/include/eo-1"
"-I${efl}/include/ethumb-1"
"-I${efl}/include/ethumb-client-1"
];
postInstall = ''
wrapProgram $out/bin/rage --prefix LD_LIBRARY_PATH : ${curl.out}/lib
'';

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, efl, curl, makeWrapper }:
{ stdenv, fetchurl, pkgconfig, efl, pcre, curl, makeWrapper }:
stdenv.mkDerivation rec {
name = "terminology-${version}";
@ -9,18 +9,9 @@ stdenv.mkDerivation rec {
sha256 = "13rl1k22yf8qrpzdm5nh6ij641fibadr2ww1r7rnz7mbhzj3d4gb";
};
nativeBuildInputs = [ pkgconfig makeWrapper ];
nativeBuildInputs = [ (pkgconfig.override { vanilla = true; }) makeWrapper ];
buildInputs = [ efl curl ];
NIX_CFLAGS_COMPILE = [
"-I${efl}/include/ecore-con-1"
"-I${efl}/include/eldbus-1"
"-I${efl}/include/elocation-1"
"-I${efl}/include/emile-1"
"-I${efl}/include/eo-1"
"-I${efl}/include/ethumb-1"
];
buildInputs = [ efl pcre curl ];
postInstall = ''
for f in $out/bin/*; do