webkit(_gtk2): clean, unify and enable parallel building

This should make webkit_gtk2 build.
This commit is contained in:
Vladimír Čunát 2013-03-06 18:14:18 +01:00
parent 4623d3ff01
commit da437144fa
4 changed files with 82 additions and 65 deletions

View File

@ -1,6 +1,6 @@
args : with args;
let
s = import ./src-for-default.nix; # 1.10 needs newer gtk3, wait for x-updates
s = import ./src-for-default.nix; # 1.8.3 needs newer gtk3, wait for x-updates
version = lib.attrByPath ["version"] s.version args;
in
rec {
@ -9,12 +9,13 @@ rec {
sha256 = s.hash;
};
buildInputs = [gtk gtk2 glib atk cairo curl fontconfig freetype
gettext libjpeg libpng libtiff libxml2 libxslt pango
sqlite icu gperf bison flex autoconf automake libtool
perl intltool pkgconfig libsoup gtkdoc libXt libproxy
enchant python ruby which renderproto libXrender geoclue
kbproto mesa
buildInputs = with xlibs; [
pkgconfig libtool intltool autoconf automake gperf bison flex
gtk3 gtk2 glib atk cairo pango fontconfig freetype libsoup gtkdoc
libjpeg libpng libtiff libxml2 libxslt sqlite icu curl
which libproxy geoclue enchant python ruby perl
mesa libXt libXrender renderproto libXcomposite compositeproto
libXdamage damageproto kbproto
];
propagatedBuildInputs = [
@ -22,19 +23,22 @@ rec {
];
configureFlags = [
"--enable-3D-transforms"
# "--enable-3D-transforms" # no longer recognized
"--enable-web-sockets"
"--enable-web-timing"
# https://bugs.webkit.org/show_bug.cgi?id=55294
"--enable-image-resizer"
"--enable-geolocation"
# Not implemented?
#"--enable-web-audio"
# "--enable-web-audio"
"--enable-mathml"
#"--enable-wml"
# https://bugs.webkit.org/show_bug.cgi?id=45110
#"--enable-indexed-database"
@ -43,27 +47,30 @@ rec {
# "--enable-input-speech"
"--enable-file-writer"
#"--enable-file-writer" # no longer recognized
"--enable-blob"
# https://bugs.webkit.org/show_bug.cgi?id=59430
#"--enable-directory-upload"
# "--enable-directory-upload"
# https://bugs.webkit.org/show_bug.cgi?id=58443
#"--enable-file-system"
# "--enable-file-system"
"--enable-dependency-tracking" # to fix parallel building
];
/* doConfigure should be specified separately */
phaseNames = ["setVars" "doPatch" "fixConfigure" /* "paranoidFixComments" */ "doConfigure" (doPatchShebangs ".")
"doReplaceUsrBin" "doMakeInstall" "doAddPrograms"];
# instead of enableParallelBuilding = true;
makeFlags = "-j$NIX_BUILD_CORES";
setVars = fullDepEntry (''
export NIX_LDFLAGS="$NIX_LDFLAGS -lXt"
'') ["minInit"];
/* doConfigure should be specified separately */
phaseNames = ["doPatch" "fixConfigure" /* "paranoidFixComments" */ "doConfigure" (doPatchShebangs ".")
"doReplaceUsrBin" "doMakeInstall" "doAddPrograms"];
patches = [ ./bison26.patch ]; # http://trac.webkit.org/changeset/124099
patchFlags = "-p2";
#doCheck = true; # tests still have problems
doReplaceUsrBin = fullDepEntry (''
for i in $(find . -name '*.pl') $(find . -name '*.pm'); do
sed -e 's@/usr/bin/gcc@gcc@' -i $i

View File

@ -10,11 +10,13 @@ rec {
sha256 = s.hash;
};
buildInputs = [gtk glib atk cairo curl fontconfig freetype
gettext libjpeg libpng libtiff libxml2 libxslt pango
sqlite icu gperf bison flex autoconf automake libtool
intltool pkgconfig libsoup gtkdoc libXt libproxy
enchant python ruby which renderproto libXrender geoclue perl
buildInputs = with xlibs; [
pkgconfig libtool intltool autoconf automake gperf bison flex
gtk2 glib atk cairo pango fontconfig freetype libsoup gtkdoc
libjpeg libpng libtiff libxml2 libxslt sqlite icu curl
which libproxy geoclue enchant python ruby perl
mesa libXt libXrender renderproto libXcomposite compositeproto
libXdamage damageproto kbproto
];
propagatedBuildInputs = [
@ -22,12 +24,14 @@ rec {
];
configureFlags = [
"--enable-3D-transforms"
"--with-gtk=2.0"
# "--enable-3D-transforms" # no longer recognized
"--enable-web-sockets"
"--enable-web-timing"
# https://bugs.webkit.org/show_bug.cgi?id=55294
# "--enable-image-resizer"
"--enable-image-resizer"
"--enable-geolocation"
@ -37,15 +41,16 @@ rec {
"--enable-mathml"
#"--enable-wml"
# https://bugs.webkit.org/show_bug.cgi?id=45110
# "--enable-indexed-database"
"--enable-xhtmlmp"
# https://bugs.webkit.org/show_bug.cgi?id=45110
#"--enable-indexed-database"
# Doesn't work in release...
#"--enable-xhtmlmp"
# "--enable-input-speech"
"--enable-file-writer"
#"--enable-file-writer" # no longer recognized
"--enable-blob"
# https://bugs.webkit.org/show_bug.cgi?id=59430
@ -53,16 +58,21 @@ rec {
# https://bugs.webkit.org/show_bug.cgi?id=58443
# "--enable-file-system"
"--enable-dependency-tracking" # to fix parallel building
];
# instead of enableParallelBuilding = true;
makeFlags = "-j$NIX_BUILD_CORES";
/* doConfigure should be specified separately */
phaseNames = ["setVars" /* "paranoidFixComments" */ "doConfigure" (doPatchShebangs ".")
phaseNames = ["doPatch" "fixConfigure" /* "paranoidFixComments" */ "doConfigure" (doPatchShebangs ".")
"doReplaceUsrBin" "doMakeInstall" "doAddPrograms"];
setVars = fullDepEntry (''
export NIX_LDFLAGS="$NIX_LDFLAGS -lXt"
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fpermissive"
'') ["minInit"];
patches = [ ./bison26.patch ]; # http://trac.webkit.org/changeset/124099
patchFlags = "-p2";
#doCheck = true; # tests still have problems
doReplaceUsrBin = fullDepEntry (''
for i in $(find . -name '*.pl') $(find . -name '*.pm'); do
@ -81,12 +91,19 @@ rec {
sed -re 's@( |^)//.*@/* & */@' -i $(find . -name '*.c' -o -name '*.h')
'') ["minInit" "doUnpack"];
# See http://archive.linuxfromscratch.org/mail-archives/blfs-dev/2012-April/022893.html
fixConfigure = fullDepEntry (''
sed -i -e 's/=GSTREAMER_0_10_REQUIRED_VERSION/=\$GSTREAMER_0_10_REQUIRED_VERSION/' \
-e 's/=GSTREAMER_0_10_PLUGINS_BASE_REQUIRED_VERSION/=\$GSTREAMER_0_10_PLUGINS_BASE_REQUIRED_VERSION/' \
configure{,.ac}
'') ["minInit" "doUnpack"];
name = s.name;
meta = {
description = "WebKit - a fast and correct HTML renderer";
maintainers = [stdenv.lib.maintainers.raskin];
};
passthru = {
inherit gstreamer gst_plugins_base gst_plugins_good gst_ffmpeg;
inherit gstreamer gst_plugins_base gst_plugins_good gst_ffmpeg libsoup;
};
}

View File

@ -1,9 +1,10 @@
rec {
version="1.4.0";
name="webkit-1.4.0";
hash="123zllzlnkjgw4d2ag73dvrjmkikbapxlz5730ps6y4qm43gxc1y";
url="http://webkitgtk.org/webkit-1.4.0.tar.gz";
advertisedUrl="http://webkitgtk.org/webkit-1.4.0.tar.gz";
version="1.8.1";
name="webkit-1.8.1";
hash="0a1v3v8dp2cl332qr51j4fpl0rwpgxbf29hn3zdim9hcniv6l4ls";
url="http://webkitgtk.org/releases/webkit-1.8.1.tar.xz";
advertisedUrl="http://webkitgtk.org/releases/webkit-1.8.1.tar.xz";
}

View File

@ -5010,33 +5010,25 @@ let
webkit =
builderDefsPackage ../development/libraries/webkit {
inherit gtk2; # for plugins etc. even with gtk3, see Gentoo ebuild
inherit gtk3 glib atk cairo pango fontconfig freetype;
inherit (gnome) gtkdoc libsoup;
inherit atk pango glib gtk2 /*for plugins etc. even with gtk3, see Gentoo ebuild*/;
gtk = gtk3;
inherit freetype fontconfig gettext gperf curl
libjpeg libtiff libxml2 libxslt sqlite
icu cairo intltool automake libtool
pkgconfig autoconf bison libproxy enchant
python ruby which flex geoclue mesa;
inherit gstreamer gst_plugins_base gst_ffmpeg
gst_plugins_good;
inherit (xlibs) libXt renderproto libXrender kbproto;
inherit libpng perl;
inherit pkgconfig libtool intltool autoconf automake gperf bison flex
libjpeg libpng libtiff libxml2 libxslt sqlite icu curl
which libproxy geoclue enchant python ruby perl
mesa xlibs;
inherit gstreamer gst_plugins_base gst_ffmpeg gst_plugins_good;
};
webkit_gtk2 =
builderDefsPackage ../development/libraries/webkit/gtk2.nix {
inherit gtk2 glib atk cairo pango fontconfig freetype;
inherit (gnome) gtkdoc libsoup;
inherit gtk atk pango glib;
inherit freetype fontconfig gettext gperf curl
libjpeg libtiff libxml2 libxslt sqlite
icu cairo intltool automake libtool
pkgconfig autoconf bison libproxy enchant
python ruby which flex geoclue;
inherit gstreamer gst_plugins_base gst_ffmpeg
gst_plugins_good;
inherit (xlibs) libXt renderproto libXrender;
inherit libpng perl;
inherit pkgconfig libtool intltool autoconf automake gperf bison flex
libjpeg libpng libtiff libxml2 libxslt sqlite icu curl
which libproxy geoclue enchant python ruby perl
mesa xlibs;
inherit gstreamer gst_plugins_base gst_ffmpeg gst_plugins_good;
};
webkitSVN =