[gnome-sdk-images] Switch to an xdg-app-builder based build



commit 5ae0b62cb2125b3bc166161c00da1256b00db475
Author: Alexander Larsson <alexl redhat com>
Date:   Mon Feb 8 10:34:30 2016 +0100

    Switch to an xdg-app-builder based build

 .gitignore                                         |   37 +-
 .gitmodules                                        |    3 -
 Makefile                                           |   40 +-
 bin                                                |    1 -
 buildhome                                          |    1 -
 cairo-waf-use-python-config-as-shell-script.patch  |   11 +
 diff-base.sh                                       |    6 -
 freedesktop-sdk-images                             |    1 -
 metadata.platform                                  |   10 +-
 metadata.sdk                                       |   16 +-
 mozjs-perl-fix.patch                               |   13 +
 org.gnome.Sdk.json                                 |  669 ++++++++++++++++++++
 pycairo-1.10.0-pickle-python3.patch                |   11 +
 specs/abattis-cantarell-fonts.spec                 |   50 --
 specs/adwaita-icon-theme.spec                      |   88 ---
 specs/at-spi2-atk.spec                             |   80 ---
 specs/at-spi2-core.spec                            |   83 ---
 specs/atk.spec                                     |   67 --
 specs/clutter-gtk.spec                             |   73 ---
 specs/clutter.spec                                 |   93 ---
 specs/cogl.spec                                    |  106 ---
 specs/dbus-glib.spec                               |   74 ---
 specs/dconf.spec                                   |   86 ---
 specs/enchant.spec                                 |   60 --
 specs/gcab.spec                                    |   76 ---
 specs/gdk-pixbuf2.spec                             |  121 ----
 specs/gjs.spec                                     |   80 ---
 specs/glib-networking.spec                         |   60 --
 specs/glib2.spec                                   |  125 ----
 specs/gnome-common.spec                            |   42 --
 specs/gnome-debug.spec                             |   36 -
 specs/gnome-platform.spec                          |   88 ---
 specs/gnome-sdk.spec                               |   68 --
 specs/gnome-themes-standard.spec                   |   88 ---
 specs/gobject-introspection.spec                   |   74 ---
 specs/gsettings-desktop-schemas.spec               |   75 ---
 specs/gstreamer-inspect-rpm-format.patch           |  374 -----------
 specs/gstreamer1-plugins-bad.spec                  |  215 -------
 specs/gstreamer1-plugins-base.spec                 |  342 ----------
 specs/gstreamer1-plugins-good.spec                 |  137 ----
 specs/gstreamer1.attr                              |    2 -
 specs/gstreamer1.prov                              |   44 --
 specs/gtk2.spec                                    |  218 -------
 specs/gtk3.spec                                    |  266 --------
 specs/gtkrc                                        |    5 -
 specs/gvfs-remote-monitor-remove-warning.patch     |   13 -
 specs/gvfs.spec                                    |  120 ----
 specs/hyphen.spec                                  |   80 ---
 specs/im-cedilla.conf                              |    6 -
 specs/libcroco.spec                                |   59 --
 specs/libdatrie.spec                               |   67 --
 specs/libnotify.spec                               |   75 ---
 specs/librsvg2.spec                                |  106 ---
 specs/libsecret.spec                               |   74 ---
 specs/libsoup.spec                                 |   80 ---
 specs/libthai.spec                                 |   61 --
 specs/mozjs-build-fixes.patch                      |   38 --
 specs/mozjs24.spec                                 |   76 ---
 specs/pango.spec                                   |  130 ----
 specs/pygobject3.spec                              |   79 ---
 specs/python-gstreamer1.spec                       |   45 --
 specs/python3-cairo.spec                           |   69 --
 specs/rpm-macros                                   |   39 --
 specs/vala.spec                                    |  145 -----
 ...e-Only-show-the-cursor-on-motion-if-moved.patch |   39 --
 specs/vte.spec                                     |   89 ---
 specs/webkit-glib-gmutexlocker.patch               |  307 ---------
 specs/webkitgtk4.spec                              |  147 -----
 specs/yelp-tools.spec                              |   48 --
 specs/yelp-xsl.spec                                |   54 --
 specs/zenity.spec                                  |   49 --
 waf-configure                                      |   11 +
 webkitgtk-cmake-buildapi.patch                     |   26 +
 webkitgtk-configure                                |   53 ++
 74 files changed, 807 insertions(+), 5593 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index a505ad3..29e5c9d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,37 +1,4 @@
-gnome-sdk-helper
-rpm-dependencies.P
-packages/SOURCES/*.zip
-packages/SOURCES/*.tgz
-packages/SOURCES/*.tar.gz
-packages/SOURCES/*.tar.xz
-packages/SOURCES/*.tar.bz2
-freedesktop-sdk-base
-build
+.xdg-app-builder
+sdk
 repo
-packages/BUILD/
-packages/BUILD_XXXXX/
-packages/RPMS/
-packages/SRPMS/
-packages/rpmdb/
-packages/BUILDROOT/
-packages/gnome-platform/
-packages/.*
-gnome-sdk.tar.xz
-gnome-sdk-rpmdb.tar.xz
-gnome-platform.tar.xz
-gnome-platform-rpmdb.tar.xz
-gnome-sdk.tar.gz
-gnome-sdk-rpmdb.tar.gz
-gnome-debug-src.tar.gz
-gnome-debug.tar.gz
-gnome-platform.tar.gz
-gnome-platform-rpmdb.tar.gz
-gnome-platform-packages
-freedesktop-platform-packages
-freedesktop-platform-rpmdb.tar.gz
-freedesktop-platform.tar.gz
-freedesktop-sdk-rpmdb.tar.gz
-freedesktop-sdk.tar.gz
-freedesktop-debug-src.tar.gz
-freedesktop-debug.tar.gz
 *~
diff --git a/.gitmodules b/.gitmodules
index b1c494e..e69de29 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +0,0 @@
-[submodule "freedesktop-sdk-images"]
-       path = freedesktop-sdk-images
-       url = git://anongit.freedesktop.org/xdg-app/freedesktop-sdk-images
diff --git a/Makefile b/Makefile
index fa04260..40c0040 100644
--- a/Makefile
+++ b/Makefile
@@ -1,36 +1,6 @@
-NAME=gnome
-ID=org.gnome
-VERSION=3.18
-ARCH=x86_64
-IMAGEDIR=freedesktop-sdk-base/images/$(ARCH)
-BASE_HASH=4f89712a14cf936d2afa6e8abae4a02738196c14
-
-EXTRA_NAME=
-DELTAS=
-GPG_KEY=
-GPG_HOME=
-
-BASE_SPECS=$(wildcard freedesktop-sdk-images/specs/*.spec)
-BASE_SPECS_BASENAME=$(notdir $(BASE_SPECS))
-GNOME_SPECS=$(wildcard specs/*.spec)
-GNOME_SPECS_BASENAME=$(notdir $(GNOME_SPECS))
-
-# ALL_SPECS is all of GNOME_SPECS and the ones from BASE_SPECS that are not overridden by GNOME_SPECS
-ALL_SPECS = $(addprefix freedesktop-sdk-images/specs/,$(filter-out 
$(GNOME_SPECS_BASENAME),$(BASE_SPECS_BASENAME))) $(GNOME_SPECS)
-
-all: $(NAME)-$(VERSION)-platform.tar.gz $(NAME)-$(VERSION)-sdk.tar.gz
-
-debug: $(NAME)-$(VERSION)-debug.tar.gz
-
-include freedesktop-sdk-images/Makefile.inc
--include rpm-dependencies.P
-
-$(SDK_BASE_IMAGE) $(PLATFORM_BASE_IMAGE) images:
-       if test ! -d freedesktop-sdk-base; then \
-               git clone git://anongit.freedesktop.org/xdg-app/freedesktop-sdk-base;\
-       fi
-       (cd  freedesktop-sdk-base && \
-        git fetch origin && \
-        git checkout $(BASE_HASH) && \
-        make)
+all: repo org.gnome.Sdk.json
+       rm -rf sdk
+       xdg-app-builder --ccache --require-changes --repo=repo --subject="build of org.freedesktop.Sdk, 
`date`" ${EXPORT_ARGS} sdk org.gnome.Sdk.json
 
+repo:
+       ostree  init --mode=archive-z2 --repo=repo
diff --git a/cairo-waf-use-python-config-as-shell-script.patch 
b/cairo-waf-use-python-config-as-shell-script.patch
new file mode 100644
index 0000000..b8cd856
--- /dev/null
+++ b/cairo-waf-use-python-config-as-shell-script.patch
@@ -0,0 +1,11 @@
+--- .waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/waflib/Tools/python.py.orig   2014-05-12 12:36:46.776004776 
+0200
++++ .waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/waflib/Tools/python.py        2014-05-12 12:36:53.994995779 
+0200
+@@ -169,7 +169,7 @@
+               conf.find_program('python-config-%s'%num,var='PYTHON_CONFIG',mandatory=False)
+       includes=[]
+       if conf.env.PYTHON_CONFIG:
+-              for incstr in 
conf.cmd_and_log(conf.env.PYTHON+[conf.env.PYTHON_CONFIG,'--includes']).strip().split():
++              for incstr in conf.cmd_and_log([conf.env.PYTHON_CONFIG,'--includes']).strip().split():
+                       if(incstr.startswith('-I')or incstr.startswith('/I')):
+                               incstr=incstr[2:]
+                       if incstr not in includes:
diff --git a/metadata.platform b/metadata.platform
index ef163cb..38416db 100644
--- a/metadata.platform
+++ b/metadata.platform
@@ -1,7 +1,7 @@
 [Runtime]
-name=org.gnome.Platform/x86_64/3.16
-runtime=org.gnome.Platform/x86_64/3.16
-sdk=org.gnome.Sdk/x86_64/3.16
+name=org.gnome.Platform
+runtime=org.gnome.Platform/x86_64/master
+sdk=org.gnome.Sdk/x86_64/master
 
 [Extension org.freedesktop.Platform.GL]
 version=1.2
@@ -11,10 +11,6 @@ directory=lib/GL
 version=1.2
 directory=share/zoneinfo
 
-[Extension org.gnome.Platform.Locale]
-directory=share/runtime/locale
-subdirectories=true
-
 [Environment]
 GI_TYPELIB_PATH=/app/lib/girepository-1.0
 GST_PLUGIN_PATH=/app/lib/gstreamer-1.0
diff --git a/metadata.sdk b/metadata.sdk
index 864d8c1..aa3c17e 100644
--- a/metadata.sdk
+++ b/metadata.sdk
@@ -1,7 +1,7 @@
 [Runtime]
-name=org.gnome.Sdk/x86_64/3.16
-runtime=org.gnome.Platform/x86_64/3.16
-sdk=org.gnome.Sdk/x86_64/3.16
+name=org.gnome.Sdk
+runtime=org.gnome.Platform/x86_64/master
+sdk=org.gnome.Sdk/x86_64/master
 
 [Extension org.freedesktop.Platform.GL]
 version=1.2
@@ -11,16 +11,6 @@ directory=lib/GL
 version=1.2
 directory=share/zoneinfo
 
-[Extension org.gnome.Sdk.Locale]
-directory=share/runtime/locale
-subdirectories=true
-
-[Extension org.gnome.Debug]
-directory=lib/debug
-
-[Extension org.gnome.DebugSrc]
-directory=src/debug
-
 [Environment]
 GI_TYPELIB_PATH=/app/lib/girepository-1.0
 GST_PLUGIN_PATH=/app/lib/gstreamer-1.0
diff --git a/mozjs-perl-fix.patch b/mozjs-perl-fix.patch
new file mode 100644
index 0000000..8218b69
--- /dev/null
+++ b/mozjs-perl-fix.patch
@@ -0,0 +1,13 @@
+Index: a/js/src/config/milestone.pl
+===================================================================
+--- a/js/src/config/milestone.pl
++++ b/js/src/config/milestone.pl
+@@ -55,7 +55,7 @@ $MILESTONE_FILE  = "$TOPSRCDIR/config/mi
+ #
+ my $milestone = Moz::Milestone::getOfficialMilestone($MILESTONE_FILE);
+ 
+-if (defined(@TEMPLATE_FILE)) {
++if (@TEMPLATE_FILE) {
+   my $TFILE;
+ 
+   foreach $TFILE (@TEMPLATE_FILE) {
diff --git a/org.gnome.Sdk.json b/org.gnome.Sdk.json
new file mode 100644
index 0000000..05982f0
--- /dev/null
+++ b/org.gnome.Sdk.json
@@ -0,0 +1,669 @@
+{
+    "build-runtime": true,
+    "id": "org.gnome.Sdk",
+    "id-platform": "org.gnome.Platform",
+    "branch": "master",
+    "runtime": "org.freedesktop.Platform",
+    "sdk": "org.freedesktop.Sdk",
+    "initial-debug": "org.freedesktop.Debug",
+    "runtime-version": "master",
+    "writable-sdk": true,
+    "sdk-extensions": ["org.freedesktop.Sdk.Debug"],
+    "platform-extensions": [],
+    "metadata": "metadata.sdk",
+    "metadata-platform": "metadata.platform",
+    "cleanup": [ "/cache",
+                 "/man",
+                 "/share/man",
+                 "/share/gtk-doc",
+                 "/share/devhelp",
+                 "/lib/systemd",
+                 "*.la", "*.a"],
+    "cleanup-commands": [ "touch -d @0 /usr/share/fonts",
+                          "touch -d @0 /usr/share/fonts/*"
+                          "fc-cache -fs"
+                        ],
+    "cleanup-platform": [ "/include",
+                          "/share/aclocal",
+                          "/share/pkgconfig",
+                          "/lib/pkgconfig",
+                          "/share/vala"
+                        ],
+    "build-options" : {
+        "cflags": "-O2 -g",
+        "cxxflags": "-O2 -g",
+        "env": {
+            "V": "1"
+        }
+    },
+    "modules": [
+        {
+            "name": "gnome-common",
+            "cleanup-platform": [ "*" ],
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://git.gnome.org/gnome-common"
+                }
+            ]
+        },
+        {
+            /* TODO: Replace with real gtk-doc */
+            "name": "gtk-doc-stub",
+            "sources": [
+                 {
+                     "type": "git",
+                     "url": "git://git.gnome.org/gtk-doc-stub"
+                 }
+            ]
+        },
+        {
+            "name": "yelp-xsl",
+            "cleanup-platform": [ "*" ],
+            "config-opts": ["--disable-doc"],
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://git.gnome.org/yelp-xsl"
+                }
+            ]
+        },
+        {
+            "name": "yelp-tools",
+            "cleanup-platform": [ "*" ],
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://git.gnome.org/yelp-tools"
+                }
+            ]
+        },
+        {
+            "name": "cantarell-fonts",
+            "config-opts": [ "--disable-source-rebuild"],
+            "post-install": [
+                "ln -s /usr/share/fontconfig/conf.avail/31-cantarell.conf 
/etc/fonts/conf.d/31-cantarell.conf"
+            ],
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://git.gnome.org/cantarell-fonts"
+                }
+            ]
+        },
+        {
+            "name": "glib",
+            "config-opts": [ "--with-pcre=system" ],
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://git.gnome.org/glib"
+                }
+            ]
+        },
+        {
+            "name": "gobject-introspection",
+            "config-opts": ["--disable-static"],
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://git.gnome.org/gobject-introspection"
+                }
+            ]
+        },
+        {
+            "name": "glib-networking",
+            "config-opts": ["--disable-static", "--with-libproxy"],
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://git.gnome.org/glib-networking"
+                }
+            ]
+        },
+        {
+            "name": "vala-bootstrap",
+            "cleanup": [ "/bin/*-0.16",
+                         "/lib/*-0.16*",
+                         "/lib/pkgconfig/*",
+                         "/include/vala-0.16",
+                         "/share/vala-0.16" ],
+            "cleanup-platform": [ "*" ],
+            "config-opts": [ "--disable-build-from-vala",
+                             "--disable-vapigen" ],
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://git.gnome.org/vala-bootstrap"
+                }
+            ]
+        },
+        {
+            "name": "vala",
+            "cleanup-platform": [ "*" ],
+            "config-opts": [ "--enable-vapigen", "--enable-unversioned" ],
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://git.gnome.org/vala"
+                }
+            ]
+        },
+        {
+            "name": "dconf",
+            "config-opts": ["--disable-static", "--disable-man"],
+            "cleanup": [ "/libexec/dconf-service", "/share/dbus-1/services/*" ],
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://git.gnome.org/dconf"
+                }
+            ]
+        },
+        {
+            "name": "libsoup",
+            "config-opts": ["--disable-static"],
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://git.gnome.org/libsoup"
+                }
+            ]
+        },
+        {
+            "name": "gsettings-desktop-schemas",
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://git.gnome.org/gsettings-desktop-schemas"
+                }
+            ]
+        },
+        {
+            "name": "dbus-glib",
+            "config-opts": [ "--disable-static", "--disable-gtk-doc" ],
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://anongit.freedesktop.org/git/dbus/dbus-glib"
+                }
+            ]
+        },
+        {
+            "name": "json-glib",
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://git.gnome.org/json-glib"
+                }
+            ]
+        },
+        {
+            "name": "libdatrie",
+            "config-opts": ["--disable-static"],
+            "sources": [
+                {
+                    "type": "archive",
+                    "url": "http://linux.thai.net/pub/thailinux/software/libthai/libdatrie-0.2.9.tar.xz";,
+                    "sha256": "d980713e7ad8e19cf3b54ee0173782b94332af8e7e4e936dde01d2cd72e1da1d"
+                }
+            ]
+        },
+        {
+            "name": "libthai",
+            "config-opts": ["--disable-static"],
+            "sources": [
+                {
+                    "type": "archive",
+                    "url": "http://linux.thai.net/pub/thailinux/software/libthai/libthai-0.1.22.tar.xz";,
+                    "sha256": "bdb291dcc3a6784e86b1b342ec75005e9ab487f8c1decc7c3e7d18d1bbc9b7b7"
+                }
+            ]
+        },
+        {
+            "name": "pango",
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://git.gnome.org/pango"
+                }
+            ]
+        },
+        {
+            "name": "atk",
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://git.gnome.org/atk"
+                }
+            ]
+        },
+        {
+            "name": "at-spi2-core",
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://git.gnome.org/at-spi2-core"
+                }
+            ]
+        },
+        {
+            "name": "at-spi2-atk",
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://git.gnome.org/at-spi2-atk"
+                }
+            ]
+        },
+        {
+            "name": "gdk-pixbuf",
+            "config-opts": ["--disable-static",
+                            "--disable-gtk-doc",
+                            "--without-x11",
+                            "--without-libjasper",
+                            "--with-included-loaders=png,jpeg" ],
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://git.gnome.org/gdk-pixbuf"
+                }
+            ]
+        },
+        {
+            "name": "libcroco",
+            "config-opts": ["--disable-static"],
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://git.gnome.org/libcroco"
+                }
+            ]
+        },
+        {
+            "name": "librsvg",
+            "config-opts": ["--disable-static"],
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://git.gnome.org/librsvg"
+                }
+            ]
+        },
+        {
+            "name": "gtk2",
+            "config-opts": ["--disable-gtk-doc",
+                            "--disable-man",
+                            "--with-xinput=xfree"],
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://git.gnome.org/gtk+",
+                    "branch": "gtk-2-24"
+                }
+            ]
+        },
+        {
+            "name": "gtk3",
+            "config-opts": [ "--enable-xkb",
+                             "--enable-xinerama",
+                             "--enable-xrandr",
+                             "--enable-xfixes",
+                             "--enable-xcomposite",
+                             "--enable-xdamage",
+                             "--enable-x11-backend",
+                             "--enable-wayland-backend" ],
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://git.gnome.org/gtk+"
+                }
+            ]
+        },
+        {
+            "name": "adwaita-icon-theme",
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://git.gnome.org/adwaita-icon-theme"
+                }
+            ]
+        },
+        {
+            "name": "gstreamer",
+            "config-opts": ["--disable-gtk-doc", "--enable-debug", "--disable-examples" ],
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://anongit.freedesktop.org/gstreamer/gstreamer"
+                }
+            ]
+        },
+        {
+            "name": "gstreamer-plugins-base",
+            "config-opts": ["--disable-gtk-doc", "--enable-experimental", "--enable-orc" ],
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://anongit.freedesktop.org/gstreamer/gst-plugins-base"
+                }
+            ]
+        },
+        {
+            "name": "cogl",
+            "config-opts": [  "--enable-cairo=yes",
+                              "--enable-cogl-pango=yes",
+                              "--enable-gdk-pixbuf=yes",
+                              "--enable-glx=yes",
+                              "--disable-gtk-doc",
+                              "--enable-introspection=yes",
+                              "--enable-kms-egl-platform",
+                              "--enable-wayland-egl-platform",
+                              "--enable-wayland-egl-server",
+                              "--enable-xlib-egl-platform",
+                              "--enable-cogl-gst" ],
+            "sources": [
+                {
+                    "type": "git",
+                    "branch": "cogl-1.22",
+                    "url": "git://git.gnome.org/cogl"
+                }
+            ]
+        },
+        {
+            "name": "clutter",
+            "config-opts": ["--enable-gdk-backend",
+                            "--enable-xinput",
+                            "--enable-evdev-input" ],
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://git.gnome.org/clutter"
+                }
+            ]
+        },
+        {
+            "name": "clutter-gst",
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://git.gnome.org/clutter-gst"
+                }
+            ]
+        },
+        {
+            "name": "clutter-gtk",
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://git.gnome.org/clutter-gtk"
+                }
+            ]
+        },
+        {
+            "name": "gstreamer-plugins-good",
+            "config-opts": ["--disable-gtk-doc", "--enable-experimental", "--enable-orc" ,
+                            "--disable-monoscope",
+                            "--disable-aalib",
+                            "--enable-cairo",
+                            "--disable-libcaca",
+                            "--disable-jack",
+                            "--with-default-visualizer=autoaudiosink" ],
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://anongit.freedesktop.org/gstreamer/gst-plugins-good"
+                }
+            ]
+        },
+        {
+            "name": "gstreamer-plugins-bad",
+            "config-opts": ["--disable-gtk-doc", "--enable-experimental", "--enable-orc" ],
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://anongit.freedesktop.org/gstreamer/gst-plugins-bad"
+                }
+            ]
+        },
+        {
+            "name": "libcanberra",
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://git.0pointer.net/libcanberra.git"
+                }
+            ]
+        },
+        {
+            "name": "libsecret",
+            "config-opts": ["--disable-static", "--disable-gtk-doc", "--disable-manpages"],
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://git.gnome.org/libsecret"
+                }
+            ]
+        },
+        {
+            "name": "libnotify",
+            "config-opts": ["--disable-static"],
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://git.gnome.org/libnotify"
+                }
+            ]
+        },
+        {
+            "name": "gvfs",
+            "cleanup": [ "/libexec/*", "/share/dbus-1/services/*", "/share/gvfs/mounts" ],
+            "config-opts": [ "--disable-hal", "--disable-gdu", "--disable-gcr", "--disable-obexftp",
+                             "--disable-avahi", "--disable-documentation" ],
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://git.gnome.org/gvfs"
+                }
+            ]
+        },
+        {
+            "name": "enchant",
+            "config-opts": ["--disable-static"],
+            "sources": [
+                {
+                    "type": "archive",
+                    "url": "http://www.abisource.com/downloads/enchant/1.6.0/enchant-1.6.0.tar.gz";,
+                    "sha256": "2fac9e7be7e9424b2c5570d8affe568db39f7572c10ed48d4e13cddf03f7097f"
+                }
+            ]
+        },
+        {
+            "name": "hyphen",
+            "config-opts": ["--disable-static"],
+            "sources": [
+                {
+                    "type": "archive",
+                    "url": "http://downloads.sourceforge.net/hunspell/hyphen-2.8.8.tar.gz";,
+                    "sha256": "304636d4eccd81a14b6914d07b84c79ebb815288c76fe027b9ebff6ff24d5705"
+                }
+            ]
+        },
+        {
+            "name": "gcab",
+            "config-opts": ["--disable-static", "--enable-fast-install"],
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://git.gnome.org/gcab"
+                }
+            ]
+        },
+        {
+            "name": "gnome-themes-standard",
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://git.gnome.org/gnome-themes-standard"
+                }
+            ]
+        },
+        {
+            "name": "mozjs24",
+            "config-opts": [  "--disable-static",
+                              "--with-system-nspr",
+                              "--enable-threadsafe",
+                              "--enable-readline",
+                              "--enable-xterm-updates"],
+            "subdir": "js/src",
+            "sources": [
+                {
+                    "type": "archive",
+                    "url": "http://ftp.mozilla.org/pub/mozilla.org/js/mozjs-24.2.0.tar.bz2";,
+                    "sha256": "e62f3f331ddd90df1e238c09d61a505c516fe9fd8c5c95336611d191d18437d8"
+                },
+                {
+                    "type": "patch",
+                    "path": "mozjs-perl-fix.patch"
+                }
+            ]
+        },
+        {
+            "name": "gjs",
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://git.gnome.org/gjs"
+                }
+            ]
+        },
+        {
+            "name": "vte",
+            "build-options" : {
+                "cflags": "-O2 -g  -fPIE -DPIE",
+                "cxxflags": "-O2 -g  -fPIE -DPIE",
+                "env": {
+                    "LDFLAGS": "-Wl,-z,relro -Wl,-z,now -pie -lssp"
+                }
+            },
+            "config-opts": ["--disable-gtk-doc",
+                            "--disable-gnome-pty-helper",
+                            "--disable-static",
+                            "--with-gtk=3.0",
+                            "--enable-introspection",
+                            "--without-pcre2"],
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://git.gnome.org/vte"
+                }
+            ]
+        },
+        {
+            "name": "webkitgtk4",
+            "build-options" : {
+                "cflags": "-O2 -g1",
+                "cxxflags": "-O2 -g1"
+            },
+            "sources": [
+                {
+                    "type": "archive",
+                    "url": "http://www.webkitgtk.org/releases/webkitgtk-2.11.4.tar.xz";,
+                    "sha256": "47631d5d66967ebda2683c065706d5d91d4d886fc11f382eecd39451c71dfe3c"
+                },
+                {
+                    "type": "patch",
+                    "path": "webkitgtk-cmake-buildapi.patch"
+                }
+                {
+                    "type": "file",
+                    "path": "webkitgtk-configure",
+                    "dest-filename": "configure"
+                }
+            ]
+        },
+        {
+            "name": "zenity",
+            "cleanup": [ "/share/help" ],
+            "config-opts": ["--disable-webkitgtk" ],
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://git.gnome.org/zenity"
+                }
+            ]
+        },
+        {
+            "name": "pycairo",
+            "build-options" : {
+                "env": {
+                    "PYTHON": "/usr/bin/python3"
+                }
+            },
+            "sources": [
+                {
+                    "type": "archive",
+                    "url": "http://cairographics.org/releases/pycairo-1.10.0.tar.bz2";,
+                    "sha256": "9aa4078e7eb5be583aeabbe8d87172797717f95e8c4338f0d4a17b683a7253be"
+                },
+                {
+                    "type": "shell",
+                    "commands": [ "python3 ./waf --version" ]
+                },
+                {
+                    "type": "patch",
+                    "strip-components": 0,
+                    "path": "cairo-waf-use-python-config-as-shell-script.patch"
+                },
+                {
+                    "type": "file",
+                    "path": "pycairo-1.10.0-pickle-python3.patch"
+                },
+                {
+                    "type": "file",
+                    "path": "waf-configure",
+                    "dest-filename": "configure"
+                }
+            ]
+        },
+        {
+            "name": "pygobject",
+            "build-options" : {
+                "env": {
+                    "PYTHON": "/usr/bin/python3"
+                }
+            },
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://git.gnome.org/pygobject"
+                }
+            ]
+        },
+        {
+            "name": "python-gstreamer",
+            "build-options" : {
+                "env": {
+                    "PYTHON": "/usr/bin/python3"
+                }
+            },
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://anongit.freedesktop.org/gstreamer/gst-python"
+                }
+            ]
+        },
+        {
+            "name": "gcr",
+            "cleanup": [ "/share/GConf" ],
+            "cleanup-platform": [ "/libexec", "/bin", "/share/applications", "/share/dbus-1/services" ],
+            "sources": [
+                {
+                    "type": "git",
+                    "url": "git://git.gnome.org/gcr"
+                }
+            ]
+        }
+    ]
+}
diff --git a/pycairo-1.10.0-pickle-python3.patch b/pycairo-1.10.0-pickle-python3.patch
new file mode 100644
index 0000000..3da1c5f
--- /dev/null
+++ b/pycairo-1.10.0-pickle-python3.patch
@@ -0,0 +1,11 @@
+diff -up waflib/Build.py.orig pycairo-1.10.0/.waf3-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6/waflib/Build.py
+--- waflib/Build.py.orig       2015-11-03 19:40:47.691969757 +0100
++++ waflib/Build.py    2015-11-03 19:41:07.888153441 +0100
+@@ -151,6 +151,7 @@ class BuildContext(Context.Context):
+                               f.close()
+               self.init_dirs()
+       def store(self):
++              return
+               data={}
+               for x in SAVED_ATTRS:
+                       data[x]=getattr(self,x)
diff --git a/waf-configure b/waf-configure
new file mode 100755
index 0000000..2325112
--- /dev/null
+++ b/waf-configure
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+python3 ./waf configure "$@"
+
+cat <<EOF > Makefile
+all:
+       python3 ./waf build
+
+install:
+       python3 ./waf install
+EOF
diff --git a/webkitgtk-cmake-buildapi.patch b/webkitgtk-cmake-buildapi.patch
new file mode 100644
index 0000000..ae7873e
--- /dev/null
+++ b/webkitgtk-cmake-buildapi.patch
@@ -0,0 +1,26 @@
+From d979d6bfe8f53bded7fbb65047de8059672c790f Mon Sep 17 00:00:00 2001
+From: Debarshi Ray <debarshir gnome org>
+Date: Fri, 21 Nov 2014 11:12:07 +0100
+Subject: [PATCH] build: Add a "configure" script implementing the GNOME Build
+ API
+
+See https://github.com/cgwalters/build-api
+---
+ Source/cmake/FindGStreamer.cmake |  2 ++
+ configure                        | 58 ++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 60 insertions(+)
+ create mode 100755 configure
+
+diff --git a/Source/cmake/FindGStreamer.cmake b/Source/cmake/FindGStreamer.cmake
+index acd1243..6a66a56 100644
+--- a/Source/cmake/FindGStreamer.cmake
++++ b/Source/cmake/FindGStreamer.cmake
+@@ -103,6 +103,8 @@ foreach (_component ${GStreamer_FIND_COMPONENTS})
+     list(APPEND _GSTREAMER_REQUIRED_VARS ${_UPPER_NAME}_INCLUDE_DIRS ${_UPPER_NAME}_LIBRARIES)
+ endforeach ()
+ 
++list(APPEND GSTREAMER_INCLUDE_DIRS ${prefix}/lib/gstreamer-1.0/include/)
++
+ include(FindPackageHandleStandardArgs)
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS(GStreamer REQUIRED_VARS _GSTREAMER_REQUIRED_VARS
+                                             VERSION_VAR   GSTREAMER_VERSION)
diff --git a/webkitgtk-configure b/webkitgtk-configure
new file mode 100755
index 0000000..a70fe85
--- /dev/null
+++ b/webkitgtk-configure
@@ -0,0 +1,53 @@
+#!/bin/bash
+# configure script adapter for cmake
+# Copyright 2010, 2011, 2013 Colin Walters <walters verbum org>
+# Copyright 2014 Debarshi Ray <debarshir gnome org>
+# Licensed under the new-BSD license (http://www.opensource.org/licenses/bsd-license.php)
+
+prefix=/usr
+
+# Little helper function for reading args from the commandline.
+# it automatically handles -a b and -a=b variants, and returns 1 if
+# we need to shift $3.
+read_arg() {
+    # $1 = arg name
+    # $2 = arg value
+    # $3 = arg parameter
+    local rematch='^[^=]*=(.*)$'
+    if [[ $2 =~ $rematch ]]; then
+        read "$1" <<< "${BASH_REMATCH[1]}"
+    else
+        read "$1" <<< "$3"
+        # There is no way to shift our callers args, so
+        # return 1 to indicate they should do it instead.
+        return 1
+    fi
+}
+
+while (($# > 0)); do
+    case "${1%%=*}" in
+       --prefix) read_arg prefix "$@" || shift;;
+       *) echo "Ignoring unknown option '$1'";;
+    esac
+    shift
+done
+
+srcdir=$(dirname $0)
+
+exec cmake \
+     -DPORT=GTK \
+     -DCMAKE_BUILD_TYPE=Release \
+     -DCMAKE_C_FLAGS_RELEASE:STRING="-DNDEBUG" \
+     -DCMAKE_CXX_FLAGS_RELEASE:STRING="-DNDEBUG" \
+     -DENABLE_ACCELERATED_2D_CANVAS=OFF \
+     -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \
+     -DLIB_INSTALL_DIR:PATH=${prefix}/lib \
+     -DSYSCONF_INSTALL_DIR:PATH=%{prefix}/etc \
+     -DSHARE_INSTALL_PREFIX:PATH=%{prefix}/share \
+     -DINCLUDE_INSTALL_DIR:PATH=%{prefix}/include \
+     -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
+     -DBUILD_SHARED_LIBS:BOOL=ON \
+     -DENABLE_GTKDOC=OFF \
+     -DENABLE_VIDEO=ON \
+     -DENABLE_WEB_AUDIO=ON \
+     ${srcdir}


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]