From da437144fa4f446e91b5f7f78b55faa4d12de58a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Wed, 6 Mar 2013 18:14:18 +0100 Subject: [PATCH] webkit(_gtk2): clean, unify and enable parallel building This should make webkit_gtk2 build. --- pkgs/development/libraries/webkit/default.nix | 47 +++++++++------- pkgs/development/libraries/webkit/gtk2.nix | 55 ++++++++++++------- .../libraries/webkit/src-for-gtk2.nix | 11 ++-- pkgs/top-level/all-packages.nix | 34 +++++------- 4 files changed, 82 insertions(+), 65 deletions(-) diff --git a/pkgs/development/libraries/webkit/default.nix b/pkgs/development/libraries/webkit/default.nix index 47bdcabd5146..ef4d259cb029 100644 --- a/pkgs/development/libraries/webkit/default.nix +++ b/pkgs/development/libraries/webkit/default.nix @@ -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 diff --git a/pkgs/development/libraries/webkit/gtk2.nix b/pkgs/development/libraries/webkit/gtk2.nix index 0b836cd08f00..c2e3b9b06dd6 100644 --- a/pkgs/development/libraries/webkit/gtk2.nix +++ b/pkgs/development/libraries/webkit/gtk2.nix @@ -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; }; } diff --git a/pkgs/development/libraries/webkit/src-for-gtk2.nix b/pkgs/development/libraries/webkit/src-for-gtk2.nix index 5f5149fedfe6..65bcd4350960 100644 --- a/pkgs/development/libraries/webkit/src-for-gtk2.nix +++ b/pkgs/development/libraries/webkit/src-for-gtk2.nix @@ -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"; } + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6a76452fbf72..2731a19b4190 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -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 =