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, { stdenv, fetchurl, pkgconfig, efl, xcbutilkeysyms, libXrandr, libXdmcp,
libxcb, libffi, pam, alsaLib, luajit, bzip2, libpthreadstubs, gdbm, libcap, libxcb, libffi, pam, alsaLib, luajit, bzip2, libpthreadstubs, gdbm, libcap,
mesa_glu, xkeyboard_config }: mesa_glu, xkeyboard_config, pcre }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "enlightenment-${version}"; name = "enlightenment-${version}";
@ -11,22 +11,14 @@ stdenv.mkDerivation rec {
sha256 = "0w5f3707hyfc20i6xqh4jlr5p2yhy1z794061mjsz2rp4w00qmpb"; sha256 = "0w5f3707hyfc20i6xqh4jlr5p2yhy1z794061mjsz2rp4w00qmpb";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ (pkgconfig.override { vanilla = true; }) ];
buildInputs = [ buildInputs = [
efl libXdmcp libxcb xcbutilkeysyms libXrandr libffi pam alsaLib efl libXdmcp libxcb xcbutilkeysyms libXrandr libffi pam alsaLib
luajit bzip2 libpthreadstubs gdbm luajit bzip2 libpthreadstubs gdbm pcre
] ++ ] ++
stdenv.lib.optionals stdenv.isLinux [ libcap ]; 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 = '' preConfigure = ''
export USER_SESSION_DIR=$prefix/lib/systemd/user 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 { stdenv.mkDerivation rec {
name = "ephoto-${version}"; name = "ephoto-${version}";
@ -9,21 +9,9 @@ stdenv.mkDerivation rec {
sha256 = "09kraa5zz45728h2dw1ssh23b87j01bkfzf977m48y1r507sy3vb"; sha256 = "09kraa5zz45728h2dw1ssh23b87j01bkfzf977m48y1r507sy3vb";
}; };
nativeBuildInputs = [ pkgconfig makeWrapper ]; nativeBuildInputs = [ (pkgconfig.override { vanilla = true; }) makeWrapper ];
buildInputs = [ efl curl ]; buildInputs = [ efl pcre 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"
];
postInstall = '' postInstall = ''
wrapProgram $out/bin/ephoto --prefix LD_LIBRARY_PATH : ${curl.out}/lib 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 { stdenv.mkDerivation rec {
name = "rage-${version}"; name = "rage-${version}";
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
}; };
nativeBuildInputs = [ nativeBuildInputs = [
pkgconfig (pkgconfig.override { vanilla = true; })
wrapGAppsHook wrapGAppsHook
]; ];
@ -21,24 +21,10 @@ stdenv.mkDerivation rec {
gst_all_1.gst-plugins-good gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-bad gst_all_1.gst-plugins-bad
gst_all_1.gst-libav gst_all_1.gst-libav
pcre
curl 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 = '' postInstall = ''
wrapProgram $out/bin/rage --prefix LD_LIBRARY_PATH : ${curl.out}/lib 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 { stdenv.mkDerivation rec {
name = "terminology-${version}"; name = "terminology-${version}";
@ -9,18 +9,9 @@ stdenv.mkDerivation rec {
sha256 = "13rl1k22yf8qrpzdm5nh6ij641fibadr2ww1r7rnz7mbhzj3d4gb"; sha256 = "13rl1k22yf8qrpzdm5nh6ij641fibadr2ww1r7rnz7mbhzj3d4gb";
}; };
nativeBuildInputs = [ pkgconfig makeWrapper ]; nativeBuildInputs = [ (pkgconfig.override { vanilla = true; }) makeWrapper ];
buildInputs = [ efl curl ]; buildInputs = [ efl pcre 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"
];
postInstall = '' postInstall = ''
for f in $out/bin/*; do for f in $out/bin/*; do