From 230ca93c3aa0c3c8b2a18a4e90607727e2690e02 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Thu, 19 Jan 2012 18:32:59 -0500 Subject: [PATCH] gnomeos: Start working on vala chain --- gnomeos/3.4/e-d-s-builddir.patch | 26 +++ .../3.4/gnome-bluetooth-disable-docs.patch | 51 +++++ .../liboauth-tarballs-as-git-autogen.patch | 22 ++ gnomeos/3.4/manifest.json | 79 ++++++- .../3.4/vala-tarballs-as-git-autogen.patch | 21 ++ .../3.4/vala-tarballs-as-git-bootstrap.patch | 192 ++++++++++++++++++ 6 files changed, 386 insertions(+), 5 deletions(-) create mode 100644 gnomeos/3.4/e-d-s-builddir.patch create mode 100644 gnomeos/3.4/gnome-bluetooth-disable-docs.patch create mode 100644 gnomeos/3.4/liboauth-tarballs-as-git-autogen.patch create mode 100644 gnomeos/3.4/vala-tarballs-as-git-autogen.patch create mode 100644 gnomeos/3.4/vala-tarballs-as-git-bootstrap.patch diff --git a/gnomeos/3.4/e-d-s-builddir.patch b/gnomeos/3.4/e-d-s-builddir.patch new file mode 100644 index 00000000..46062888 --- /dev/null +++ b/gnomeos/3.4/e-d-s-builddir.patch @@ -0,0 +1,26 @@ +From f4c1cff02469a4b3c84aa96d0cd47ba56eee8a76 Mon Sep 17 00:00:00 2001 +From: Colin Walters +Date: Thu, 19 Jan 2012 15:33:01 -0500 +Subject: [PATCH] build: Note we don't support srcdir != builddir + +--- + configure.ac | 3 +++ + 1 files changed, 3 insertions(+), 0 deletions(-) + +diff --git a/configure.ac b/configure.ac +index d0b4e00..0a1aa3e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -26,6 +26,9 @@ AC_CONFIG_MACRO_DIR([m4]) + AC_CONFIG_SRCDIR(README) + AC_CONFIG_HEADERS(config.h) + ++dnl http://people.gnome.org/~walters/docs/build-api.txt ++echo \#buildapi-variable-no-builddir >/dev/null ++ + dnl This is for the autoconf tests only - it set's the language we use + AC_LANG(C) + +-- +1.7.6.5 + diff --git a/gnomeos/3.4/gnome-bluetooth-disable-docs.patch b/gnomeos/3.4/gnome-bluetooth-disable-docs.patch new file mode 100644 index 00000000..32f34f57 --- /dev/null +++ b/gnomeos/3.4/gnome-bluetooth-disable-docs.patch @@ -0,0 +1,51 @@ +From 9cd7957d9ba16d341e31e053ced6d932949cbdc0 Mon Sep 17 00:00:00 2001 +From: Colin Walters +Date: Wed, 18 Jan 2012 22:06:58 -0500 +Subject: [PATCH] build: Add --disable-documentation option + +This helps operating system builders. +--- + Makefile.am | 9 +++++++-- + configure.ac | 5 +++++ + 2 files changed, 12 insertions(+), 2 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 9111350..a136218 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -4,9 +4,14 @@ if WITH_MOBLIN + MOBLIN_DIR = moblin + endif + +-SUBDIRS = icons lib applet wizard sendto $(MOBLIN_DIR) docs po help +- ++SUBDIRS = icons lib applet wizard sendto $(MOBLIN_DIR) docs po + DIST_SUBDIRS = $(DEF_SUBDIRS) moblin ++if ENABLE_DOCUMENTATION ++SUBDIRS += help ++else ++DIST_SUBDIRS += help ++endif ++ + EXTRA_DIST = intltool-extract.in intltool-update.in intltool-merge.in ChangeLog.pre-2.27 gtk-doc.make gnome-doc-utils.make + + DISTCHECK_CONFIGURE_FLAGS = --disable-schemas-install \ +diff --git a/configure.ac b/configure.ac +index 9d8a7f2..e43c79d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -182,6 +182,11 @@ GNOME_COMPILE_WARNINGS([maximum]) + GNOME_CXX_WARNINGS + GNOME_MAINTAINER_MODE_DEFINES + ++AC_ARG_ENABLE([documentation], ++ AS_HELP_STRING([--enable-documentation], [enable man pages and HTML]), ++ [], [enable_documentation=yes]) ++AM_CONDITIONAL(ENABLE_DOCUMENTATION, test x$enable_documentation = xyes) ++ + GNOME_DOC_INIT + + AC_OUTPUT(Makefile +-- +1.7.6.5 + diff --git a/gnomeos/3.4/liboauth-tarballs-as-git-autogen.patch b/gnomeos/3.4/liboauth-tarballs-as-git-autogen.patch new file mode 100644 index 00000000..f59c5498 --- /dev/null +++ b/gnomeos/3.4/liboauth-tarballs-as-git-autogen.patch @@ -0,0 +1,22 @@ +From dad1621472d32ae2bf291b4d09a5423225262fb3 Mon Sep 17 00:00:00 2001 +From: Colin Walters +Date: Thu, 19 Jan 2012 11:53:42 -0500 +Subject: [PATCH] autogen.sh: Add developer bootstrap script + +http://people.gnome.org/~walters/docs/build-api.txt +--- + autogen.sh | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) + create mode 100755 autogen.sh + +diff --git a/autogen.sh b/autogen.sh +new file mode 100755 +index 0000000..c187584 +--- /dev/null ++++ b/autogen.sh +@@ -0,0 +1,2 @@ ++#!/bin/sh ++exec autoreconf -vfi +-- +1.7.6.5 + diff --git a/gnomeos/3.4/manifest.json b/gnomeos/3.4/manifest.json index 424d3560..339f3a8e 100644 --- a/gnomeos/3.4/manifest.json +++ b/gnomeos/3.4/manifest.json @@ -13,6 +13,7 @@ "fd-pulse": "git:git://anongit.freedesktop.org/git/pulseaudio/", "fd-p11": "git:git://anongit.freedesktop.org/git/p11-glue/", "fd-gstreamer": "git:git://anongit.freedesktop.org/gstreamer/", + "fd-telepathy": "git:git://anongit.freedesktop.org/telepathy/", "0pointer": "git:git://git.0pointer.de/", "linuxwacom": "git:git://linuxwacom.git.sourceforge.net/gitroot/linuxwacom/", "fedora": "git:git://git.fedorahosted.org/", @@ -554,15 +555,77 @@ "branch": "4e276ff268f3f3e97abb97f8e5a8cf6d8d97d2db", "patches": ["WebKit-autogen.patch"]}, - {"src": "gnome:gnome-online-accounts"}, + {"src": "gnome:librest"}, - {"src": "gnome:gnome-bluetooth"}, + {"src": "gnome:gnome-online-accounts", + "config-opts": ["--disable-documentation"]}, - {"src": "gnome:mutter"}, + {"src": "gnome:gnome-bluetooth", + "patches": ["gnome-bluetooth-disable-docs.patch"], + "config-opts": ["--disable-documentation"]}, + + {"src": "gnome:zenity"}, + + {"src": "gnome:mutter", + "config-opts": ["--enable-compile-warnings=maximum"]}, + + {"src": "cgwalters:spidermonkey-tarballs-as-git", + "config-opts": ["--enable-threadsafe", + "--with-system-nspr"]}, {"src": "gnome:gjs"}, - {"src": "gnome:gnome-shell"}, + {"src": "cgwalters:vala-tarballs-as-git", + "config-opts": ["--disable-build-from-vala", + "--disable-vapigen"], + "rm-configure": true, + "patches": ["vala-tarballs-as-git-autogen.patch", + "vala-tarballs-as-git-bootstrap.patch"]}, + + {"src": "gnome:vala", + "name": "vala-0.14", + "branch": "0.14.1", + "config-opts": ["--enable-vapigen", + "--disable-unversioned"], + "patches": ["vala-0.14-builddir.patch"]}, + + {"src": "gnome:vala", + "name": "vala-0.16", + "branch": "0.15.0", + "config-opts": ["--enable-vapigen"], + "patches": ["vala-builddir.patch"]}, + + {"src": "gnome:libgee", + "branch": "0.6.2.1", + "patches": ["gee-builddir.patch"]}, + + {"src": "fd-telepathy:telepathy-glib", + "branch": "telepathy-glib-0.17.4", + "config-opts": ["--enable-vala-bindings"]}, + + {"src": "gnome:libgweather"}, + + {"src": "cgwalters:liboauth-tarballs-as-git", + "rm-configure": true, + "config-opts": ["--enable-nss"], + "patches": ["liboauth-tarballs-as-git-autogen.patch"]}, + + {"src": "gnome:libgdata"}, + + {"src": "cgwalters:libical-tarballs-as-git"}, + + {"src": "gnome:evolution-data-server", + "patches": ["e-d-s-builddir.patch"], + "config-opts": ["--enable-vala-bindings"]}, + + {"src": "gnome:folks", + "config-opts": ["--enable-eds-backend", + "VALAC=/usr/bin/valac-0.14", + "VAPIGEN=/usr/bin/vapigen-0.14"], + "patches": ["folks-builddir.patch"]}, + + {"src": "gnome:gnome-shell", + "config-opts": ["--enable-compile-warnings=maximum"]}, {"src": "fd:accountsservice"}, @@ -570,7 +633,13 @@ "config-opts": ["--disable-documentation"], "patches": ["gdm-disable-documentation.patch"]}, - {"src": "gnome:gnome-control-center"} + {"src": "gnome:gnome-control-center"}, + {"src": "gnome:dconf"}, + + {"src": "gnome:caribou", + "config-opts": ["--disable-gtk2-module"]}, + + {"src": "gnome:cantarell-fonts"} ] } diff --git a/gnomeos/3.4/vala-tarballs-as-git-autogen.patch b/gnomeos/3.4/vala-tarballs-as-git-autogen.patch new file mode 100644 index 00000000..ac489aed --- /dev/null +++ b/gnomeos/3.4/vala-tarballs-as-git-autogen.patch @@ -0,0 +1,21 @@ +From 0beb1f6637f0abb514cd0606fdf8796d4073afb7 Mon Sep 17 00:00:00 2001 +From: Colin Walters +Date: Thu, 19 Jan 2012 08:40:55 -0500 +Subject: [PATCH] autogen.sh: Bootstrapping script + +--- + autogen.sh | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) + create mode 100755 autogen.sh + +diff --git a/autogen.sh b/autogen.sh +new file mode 100755 +index 0000000..c187584 +--- /dev/null ++++ b/autogen.sh +@@ -0,0 +1,2 @@ ++#!/bin/sh ++exec autoreconf -vfi +-- +1.7.6.5 + diff --git a/gnomeos/3.4/vala-tarballs-as-git-bootstrap.patch b/gnomeos/3.4/vala-tarballs-as-git-bootstrap.patch new file mode 100644 index 00000000..4ad6c267 --- /dev/null +++ b/gnomeos/3.4/vala-tarballs-as-git-bootstrap.patch @@ -0,0 +1,192 @@ +From 96511d01aec1bf4d7d15cc395c8d1fdd518e8ca7 Mon Sep 17 00:00:00 2001 +From: Colin Walters +Date: Thu, 19 Jan 2012 08:39:00 -0500 +Subject: [PATCH] Add --disable-build-from-vala configure flag + +This is useful for operating system bootstrappers when compiling from +a copy of vala with pregenerated .c files. Traditionally one might +rely on timestamps for this, but honestly that's stupid. Timestamps +just aren't reliable normally, and my build process requires that +everything is in git, which doesn't preserve timestamps. +--- + ccode/Makefile.am | 5 ++++- + codegen/Makefile.am | 5 ++++- + compiler/Makefile.am | 5 ++++- + configure.ac | 7 ++++++- + gee/Makefile.am | 13 ++++++++----- + vala/Makefile.am | 5 ++++- + vapigen/Makefile.am | 10 ++++++++-- + 7 files changed, 38 insertions(+), 12 deletions(-) + +diff --git a/ccode/Makefile.am b/ccode/Makefile.am +index c63dd06..0eb0193 100644 +--- a/ccode/Makefile.am ++++ b/ccode/Makefile.am +@@ -67,10 +67,13 @@ libvalaccode_la_VALASOURCES = \ + $(NULL) + + libvalaccode_la_SOURCES = \ +- ccode.vala.stamp \ + $(libvalaccode_la_VALASOURCES:.vala=.c) \ + $(NULL) + ++if ENABLE_BUILD_FROM_VALA ++libvalaccode_la_SOURCES += ccode.vala.stamp ++endif ++ + ccodeincludedir = $(includedir)/vala@PACKAGE_SUFFIX@ + + ccodeinclude_HEADERS = \ +diff --git a/codegen/Makefile.am b/codegen/Makefile.am +index 2535a88..a6c38cc 100644 +--- a/codegen/Makefile.am ++++ b/codegen/Makefile.am +@@ -57,10 +57,13 @@ libvala_la_VALASOURCES = \ + $(NULL) + + libvala@PACKAGE_SUFFIX@_la_SOURCES = \ +- codegen.vala.stamp \ + $(libvala_la_VALASOURCES:.vala=.c) \ + $(NULL) + ++if ENABLE_BUILD_FROM_VALA ++libvala@PACKAGE_SUFFIX@_la_SOURCES += codegen.vala.stamp ++endif ++ + codegenincludedir = $(includedir)/vala@PACKAGE_SUFFIX@ + + codegeninclude_HEADERS = \ +diff --git a/compiler/Makefile.am b/compiler/Makefile.am +index d6e7f81..0f56932 100644 +--- a/compiler/Makefile.am ++++ b/compiler/Makefile.am +@@ -21,10 +21,13 @@ valac_VALASOURCES = \ + $(NULL) + + valac_SOURCES = \ +- valac.vala.stamp \ + $(valac_VALASOURCES:.vala=.c) \ + $(NULL) + ++if ENABLE_BUILD_FROM_VALA ++valac_SOURCES += valac.vala.stamp ++endif ++ + valac.vala.stamp: $(valac_VALASOURCES) + $(VALA_V)$(VALAC) $(COVERAGE_VALAFLAGS) $(VALAFLAGS) -C --vapidir $(srcdir)/../vapi --pkg gobject-2.0 --vapidir $(srcdir)/../gee --pkg gee --vapidir $(srcdir)/../ccode --pkg ccode --vapidir $(srcdir)/../vala --pkg vala --vapidir $(srcdir)/../codegen --pkg codegen --pkg config $^ + @touch $@ +diff --git a/configure.ac b/configure.ac +index fe30ce0..fcde8d0 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -31,7 +31,12 @@ if test "$YACC" = :; then + AC_MSG_ERROR([bison not found but required]) + fi + +-AC_PATH_PROG(VALAC, valac, valac) ++AC_ARG_ENABLE(build-from-vala, AS_HELP_STRING([--disable-build-from-vala], [Never invoke valac]), enable_build_from_vala=$enableval, enable_build_from_vala=yes) ++AM_CONDITIONAL(ENABLE_BUILD_FROM_VALA, test x$enable_build_from_vala = xyes) ++ ++if test x$enable_build_from_vala = xyes; then ++ AC_PATH_PROG(VALAC, valac, valac) ++fi + AC_SUBST(VALAC) + + VALAFLAGS="$VALAFLAGS --disable-version-header" +diff --git a/gee/Makefile.am b/gee/Makefile.am +index ab31565..ea6f493 100644 +--- a/gee/Makefile.am ++++ b/gee/Makefile.am +@@ -4,8 +4,7 @@ AM_CPPFLAGS = \ + $(COVERAGE_CFLAGS) \ + $(GLIB_CFLAGS) \ + $(NULL) +- +-BUILT_SOURCES = gee.vala.stamp ++BUILT_SOURCES = + + noinst_LTLIBRARIES = \ + libgee.la +@@ -22,12 +21,18 @@ libgee_la_VALASOURCES = \ + map.vala \ + set.vala \ + $(NULL) ++EXTRA_DIST = $(libgee_la_VALASOURCES) + + libgee_la_SOURCES = \ +- gee.vala.stamp \ + $(libgee_la_VALASOURCES:.vala=.c) \ + $(NULL) + ++if ENABLE_BUILD_FROM_VALA ++BUILT_SOURCES += gee.vala.stamp ++libgee_la_SOURCES += gee.vala.stamp ++EXTRA_DIST += gee.vapi gee.vala.stamp ++endif ++ + geeincludedir = $(includedir)/vala@PACKAGE_SUFFIX@ + + geeinclude_HEADERS = \ +@@ -43,8 +48,6 @@ libgee_la_LIBADD = \ + $(GLIB_LIBS) \ + $(NULL) + +-EXTRA_DIST = $(libgee_la_VALASOURCES) gee.vapi gee.vala.stamp +- + MAINTAINERCLEANFILES = \ + gee.vapi \ + valagee.h \ +diff --git a/vala/Makefile.am b/vala/Makefile.am +index 936a2cb..6d6f3e5 100644 +--- a/vala/Makefile.am ++++ b/vala/Makefile.am +@@ -164,10 +164,13 @@ libvalacore_la_VALASOURCES = \ + $(NULL) + + libvalacore_la_SOURCES = \ +- vala.vala.stamp \ + $(libvalacore_la_VALASOURCES:.vala=.c) \ + $(NULL) + ++if ENABLE_BUILD_FROM_VALA ++libvalacore_la_SOURCES += vala.vala.stamp ++endif ++ + valaincludedir = $(includedir)/vala@PACKAGE_SUFFIX@ + + valainclude_HEADERS = \ +diff --git a/vapigen/Makefile.am b/vapigen/Makefile.am +index 2f08351..6122aed 100644 +--- a/vapigen/Makefile.am ++++ b/vapigen/Makefile.am +@@ -27,19 +27,25 @@ vapigen_VALASOURCES = \ + $(NULL) + + vapigen_SOURCES = \ +- vapigen.vala.stamp \ + $(vapigen_VALASOURCES:.vala=.c) \ + $(NULL) + ++if ENABLE_BUILD_FROM_VALA ++vapigen_SOURCES += vapigen.vala.stamp ++endif ++ + vapicheck_VALASOURCES = \ + valavapicheck.vala \ + $(NULL) + + vapicheck_SOURCES = \ +- vapicheck.vala.stamp \ + $(vapicheck_VALASOURCES:.vala=.c) \ + $(NULL) + ++if ENABLE_BUILD_FROM_VALA ++vapicheck_SOURCES += vapicheck.vala.stamp ++endif ++ + vapigen.vala.stamp: $(vapigen_VALASOURCES) + $(VALA_V)$(VALAC) $(VALAFLAGS) -C --vapidir $(srcdir)/../vapi --vapidir $(srcdir)/../gee --pkg gee --vapidir $(srcdir)/../ccode --pkg ccode --vapidir $(srcdir)/../vala --pkg vala --vapidir $(srcdir)/../gobject-introspection --pkg gidl --pkg config $^ + @touch $@ +-- +1.7.6.5 +