From 04870d4c45c1ef35fbc5b562091ccb64f37e34af Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Fri, 6 Jan 2012 20:03:04 -0500 Subject: [PATCH] gnomeos: Pull in more of X, we're on cairo now --- gnomeos/3.4/fontconfig-autogen.patch | 26 ++ gnomeos/3.4/freetype-autogen.patch | 298 ++++++++++++++++++++++ gnomeos/3.4/manifest.json | 92 ++++++- gnomeos/3.4/xorg-libXxf86vm-autogen.patch | 26 ++ 4 files changed, 440 insertions(+), 2 deletions(-) create mode 100644 gnomeos/3.4/fontconfig-autogen.patch create mode 100644 gnomeos/3.4/freetype-autogen.patch create mode 100644 gnomeos/3.4/xorg-libXxf86vm-autogen.patch diff --git a/gnomeos/3.4/fontconfig-autogen.patch b/gnomeos/3.4/fontconfig-autogen.patch new file mode 100644 index 00000000..f9d0f2bd --- /dev/null +++ b/gnomeos/3.4/fontconfig-autogen.patch @@ -0,0 +1,26 @@ +From 3582884f5b6246c06d60bd4abd986713b4c4c05d Mon Sep 17 00:00:00 2001 +From: Colin Walters +Date: Fri, 6 Jan 2012 19:42:12 -0500 +Subject: [PATCH] autogen.sh: Honor NOCONFIGURE environment variable + +http://people.gnome.org/~walters/docs/build-api.txt +--- + autogen.sh | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/autogen.sh b/autogen.sh +index 820c457..f534bdd 100755 +--- a/autogen.sh ++++ b/autogen.sh +@@ -114,7 +114,7 @@ echo Running $AUTOCONF + $AUTOCONF + cd $ORIGDIR + +-if test -z "$AUTOGEN_SUBDIR_MODE"; then ++if test -z "$AUTOGEN_SUBDIR_MODE" && test -z "$NOCONFIGURE"; then + echo Running $srcdir/configure --enable-maintainer-mode "$@" + $srcdir/configure --enable-maintainer-mode "$@" + +-- +1.7.6.4 + diff --git a/gnomeos/3.4/freetype-autogen.patch b/gnomeos/3.4/freetype-autogen.patch new file mode 100644 index 00000000..41252509 --- /dev/null +++ b/gnomeos/3.4/freetype-autogen.patch @@ -0,0 +1,298 @@ +From 7bb9f72d9fa34cd0c9fd2101d8170693d46c66dd Mon Sep 17 00:00:00 2001 +From: Colin Walters +Date: Fri, 6 Jan 2012 18:41:56 -0500 +Subject: [PATCH] build: Ensure autogen.sh is run if building from git + +The GNOME Build API prefers 'configure' over 'autogen.sh' if it +exists, but in this build system 'configure' isn't usable until +'autogen.sh' is run. Work around this by making the stub +configure be 'configure.stub', and rename it once autogen.sh +is complete. +--- + autogen.sh | 1 + + configure | 125 -------------------------------------------------------- + configure.stub | 125 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 126 insertions(+), 125 deletions(-) + mode change 100644 => 100755 autogen.sh + delete mode 100755 configure + create mode 100755 configure.stub + +diff --git a/autogen.sh b/autogen.sh +old mode 100644 +new mode 100755 +index 9f2fb6a..57c9586 +--- a/autogen.sh ++++ b/autogen.sh +@@ -161,6 +161,7 @@ chmod +x install-sh + + cd ../.. + ++mv configure.stub configure + chmod +x ./configure + + # EOF +diff --git a/configure b/configure +deleted file mode 100755 +index b397556..0000000 +--- a/configure ++++ /dev/null +@@ -1,125 +0,0 @@ +-#!/bin/sh +-# +-# Copyright 2002, 2003, 2004, 2005, 2006, 2008, 2009, 2010 by +-# David Turner, Robert Wilhelm, and Werner Lemberg. +-# +-# This file is part of the FreeType project, and may only be used, modified, +-# and distributed under the terms of the FreeType project license, +-# LICENSE.TXT. By continuing to use, modify, or distribute this file you +-# indicate that you have read the license and understand and accept it +-# fully. +-# +-# +-# Call the `configure' script located in `builds/unix'. +-# +- +-rm -f config.mk builds/unix/unix-def.mk builds/unix/unix-cc.mk +- +-if test "x$GNUMAKE" = x; then +- GNUMAKE=make +-fi +- +-if test -z "`$GNUMAKE -v 2>/dev/null | grep GNU`"; then +- if test -z "`$GNUMAKE -v 2>/dev/null | grep makepp`"; then +- echo "GNU make (>= 3.80) or makepp (>= 1.19) is required to build FreeType2." >&2 +- echo "Please try" >&2 +- echo " \`GNUMAKE= $0'." >&2 +- echo "or >&2" +- echo " \`GNUMAKE=\"makepp --norc-substitution\" $0'." >&2 +- exit 1 +- fi +-fi +- +-# Get `dirname' functionality. This is taken and adapted from autoconf's +-# m4sh.m4 (_AS_EXPR_PREPARE, AS_DIRNAME_EXPR, and AS_DIRNAME_SED). +- +-if expr a : '\(a\)' >/dev/null 2>&1; then +- ft_expr=expr +-else +- ft_expr=false +-fi +- +-ft2_dir=`(dirname "$0") 2>/dev/null || +- $ft_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ +- X"$0" : 'X\(//\)[^/]' \| \ +- X"$0" : 'X\(//\)$' \| \ +- X"$0" : 'X\(/\)' \| \ +- . : '\(.\)' 2>/dev/null || +- echo X"$0" | +- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ +- s//\1/ +- q +- } +- /^X\(\/\/\)[^/].*/{ +- s//\1/ +- q +- } +- /^X\(\/\/\)$/{ +- s//\1/ +- q +- } +- /^X\(\/\).*/{ +- s//\1/ +- q +- } +- s/.*/./; q'` +- +-abs_curr_dir=`pwd` +-abs_ft2_dir=`cd "$ft2_dir" && pwd` +- +-# `--srcdir=' option can override abs_ft2_dir +- +-if test $# -gt 0; then +- for x in "$@"; do +- case x"$x" in +- x--srcdir=*) +- abs_ft2_dir=`echo $x | sed 's/^--srcdir=//'` ;; +- esac +- done +-fi +- +-# build a dummy Makefile if we are not building in the source tree; +-# we use inodes to avoid issues with symbolic links +-inode_src=`ls -id $abs_ft2_dir | awk '{print $1}'` +-inode_dst=`ls -id $abs_curr_dir | awk '{print $1}'` +- +-if test $inode_src -ne $inode_dst; then +- if test ! -d reference; then +- mkdir reference +- fi +- if test ! -r $abs_curr_dir/modules.cfg; then +- echo "Copying \`modules.cfg'" +- cp $abs_ft2_dir/modules.cfg $abs_curr_dir +- fi +- echo "Generating \`Makefile'" +- echo "TOP_DIR := $abs_ft2_dir" > Makefile +- echo "OBJ_DIR := $abs_curr_dir" >> Makefile +- echo "OBJ_BUILD := \$(OBJ_DIR)" >> Makefile +- echo "DOC_DIR := \$(OBJ_DIR)/reference" >> Makefile +- echo "FT_LIBTOOL_DIR := \$(OBJ_DIR)" >> Makefile +- echo "ifndef FT2DEMOS" >> Makefile +- echo " include \$(TOP_DIR)/Makefile" >> Makefile +- echo "else" >> Makefile +- echo " TOP_DIR_2 := \$(TOP_DIR)/../ft2demos" >> Makefile +- echo " PROJECT := freetype" >> Makefile +- echo " CONFIG_MK := \$(OBJ_DIR)/config.mk" >> Makefile +- echo " include \$(TOP_DIR_2)/Makefile" >> Makefile +- echo "endif" >> Makefile +-fi +- +-# call make +- +-CFG= +-# work around zsh bug which doesn't like `${1+"$@"}' +-case $# in +-0) ;; +-*) for x in "$@"; do +- case x"$x" in +- x--srcdir=* ) CFG="$CFG '$x'/builds/unix" ;; +- *) CFG="$CFG '$x'" ;; +- esac +- done ;; +-esac +-CFG=$CFG $GNUMAKE setup unix +- +-# eof +diff --git a/configure.stub b/configure.stub +new file mode 100755 +index 0000000..b397556 +--- /dev/null ++++ b/configure.stub +@@ -0,0 +1,125 @@ ++#!/bin/sh ++# ++# Copyright 2002, 2003, 2004, 2005, 2006, 2008, 2009, 2010 by ++# David Turner, Robert Wilhelm, and Werner Lemberg. ++# ++# This file is part of the FreeType project, and may only be used, modified, ++# and distributed under the terms of the FreeType project license, ++# LICENSE.TXT. By continuing to use, modify, or distribute this file you ++# indicate that you have read the license and understand and accept it ++# fully. ++# ++# ++# Call the `configure' script located in `builds/unix'. ++# ++ ++rm -f config.mk builds/unix/unix-def.mk builds/unix/unix-cc.mk ++ ++if test "x$GNUMAKE" = x; then ++ GNUMAKE=make ++fi ++ ++if test -z "`$GNUMAKE -v 2>/dev/null | grep GNU`"; then ++ if test -z "`$GNUMAKE -v 2>/dev/null | grep makepp`"; then ++ echo "GNU make (>= 3.80) or makepp (>= 1.19) is required to build FreeType2." >&2 ++ echo "Please try" >&2 ++ echo " \`GNUMAKE= $0'." >&2 ++ echo "or >&2" ++ echo " \`GNUMAKE=\"makepp --norc-substitution\" $0'." >&2 ++ exit 1 ++ fi ++fi ++ ++# Get `dirname' functionality. This is taken and adapted from autoconf's ++# m4sh.m4 (_AS_EXPR_PREPARE, AS_DIRNAME_EXPR, and AS_DIRNAME_SED). ++ ++if expr a : '\(a\)' >/dev/null 2>&1; then ++ ft_expr=expr ++else ++ ft_expr=false ++fi ++ ++ft2_dir=`(dirname "$0") 2>/dev/null || ++ $ft_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ++ X"$0" : 'X\(//\)[^/]' \| \ ++ X"$0" : 'X\(//\)$' \| \ ++ X"$0" : 'X\(/\)' \| \ ++ . : '\(.\)' 2>/dev/null || ++ echo X"$0" | ++ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)[^/].*/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\/\)$/{ ++ s//\1/ ++ q ++ } ++ /^X\(\/\).*/{ ++ s//\1/ ++ q ++ } ++ s/.*/./; q'` ++ ++abs_curr_dir=`pwd` ++abs_ft2_dir=`cd "$ft2_dir" && pwd` ++ ++# `--srcdir=' option can override abs_ft2_dir ++ ++if test $# -gt 0; then ++ for x in "$@"; do ++ case x"$x" in ++ x--srcdir=*) ++ abs_ft2_dir=`echo $x | sed 's/^--srcdir=//'` ;; ++ esac ++ done ++fi ++ ++# build a dummy Makefile if we are not building in the source tree; ++# we use inodes to avoid issues with symbolic links ++inode_src=`ls -id $abs_ft2_dir | awk '{print $1}'` ++inode_dst=`ls -id $abs_curr_dir | awk '{print $1}'` ++ ++if test $inode_src -ne $inode_dst; then ++ if test ! -d reference; then ++ mkdir reference ++ fi ++ if test ! -r $abs_curr_dir/modules.cfg; then ++ echo "Copying \`modules.cfg'" ++ cp $abs_ft2_dir/modules.cfg $abs_curr_dir ++ fi ++ echo "Generating \`Makefile'" ++ echo "TOP_DIR := $abs_ft2_dir" > Makefile ++ echo "OBJ_DIR := $abs_curr_dir" >> Makefile ++ echo "OBJ_BUILD := \$(OBJ_DIR)" >> Makefile ++ echo "DOC_DIR := \$(OBJ_DIR)/reference" >> Makefile ++ echo "FT_LIBTOOL_DIR := \$(OBJ_DIR)" >> Makefile ++ echo "ifndef FT2DEMOS" >> Makefile ++ echo " include \$(TOP_DIR)/Makefile" >> Makefile ++ echo "else" >> Makefile ++ echo " TOP_DIR_2 := \$(TOP_DIR)/../ft2demos" >> Makefile ++ echo " PROJECT := freetype" >> Makefile ++ echo " CONFIG_MK := \$(OBJ_DIR)/config.mk" >> Makefile ++ echo " include \$(TOP_DIR_2)/Makefile" >> Makefile ++ echo "endif" >> Makefile ++fi ++ ++# call make ++ ++CFG= ++# work around zsh bug which doesn't like `${1+"$@"}' ++case $# in ++0) ;; ++*) for x in "$@"; do ++ case x"$x" in ++ x--srcdir=* ) CFG="$CFG '$x'/builds/unix" ;; ++ *) CFG="$CFG '$x'" ;; ++ esac ++ done ;; ++esac ++CFG=$CFG $GNUMAKE setup unix ++ ++# eof +-- +1.7.6.4 + diff --git a/gnomeos/3.4/manifest.json b/gnomeos/3.4/manifest.json index 9d2beaa2..69ef0a60 100644 --- a/gnomeos/3.4/manifest.json +++ b/gnomeos/3.4/manifest.json @@ -22,6 +22,14 @@ {"src": "fd:pixman"}, + {"src": "git:git://git.sv.nongnu.org/freetype/freetype2.git", + "branch": "VER-2-4-8", + "patches": ["freetype-autogen.patch"]}, + + {"src": "fd:fontconfig", + "branch": "2.8.0", + "patches": ["fontconfig-autogen.patch"]}, + {"src": "fd:xorg/util/macros", "component": "devel", "patches": ["xorg-autogen.patch"]}, @@ -144,6 +152,13 @@ "component": "devel", "patches": ["xorg-autogen.patch"]}, + {"src": "fd:xorg/font/util", + "component": "devel", + "patches": ["xorg-autogen.patch"]}, + + {"src": "fd:xorg/lib/libfontenc", + "patches": ["xorg-autogen.patch"]}, + {"src": "fd:xcb/pthread-stubs", "component": "devel", "patches": ["xorg-autogen.patch"]}, @@ -152,10 +167,83 @@ "patches": ["xorg-autogen.patch"]}, {"src": "fd:xorg/lib/libX11", - "component": "devel", "patches": ["xorg-autogen.patch"]}, - {"src": "fd:cairo"}, + {"src": "fd:xorg/lib/libXrender", + "patches": ["xorg-autogen.patch"]}, + + {"src": "fd:xorg/lib/libXfixes", + "patches": ["xorg-autogen.patch"]}, + + {"src": "fd:xorg/lib/libXext", + "patches": ["xorg-autogen.patch"]}, + + {"src": "fd:xorg/lib/libXfont", + "patches": ["xorg-autogen.patch"]}, + + {"src": "fd:xorg/lib/libXft", + "patches": ["xorg-autogen.patch"]}, + + {"src": "fd:xorg/lib/libXi", + "patches": ["xorg-autogen.patch"]}, + + {"src": "fd:xorg/lib/libXinerama", + "patches": ["xorg-autogen.patch"]}, + + {"src": "fd:xorg/lib/libICE", + "patches": ["xorg-autogen.patch"]}, + + {"src": "fd:xorg/lib/libSM", + "patches": ["xorg-autogen.patch"]}, + + {"src": "fd:xorg/lib/libXt", + "patches": ["xorg-autogen.patch"]}, + + {"src": "fd:xorg/lib/libXmu", + "patches": ["xorg-autogen.patch"]}, + + {"src": "fd:xorg/lib/libXpm", + "patches": ["xorg-autogen.patch"]}, + + {"src": "fd:xorg/lib/libXrandr", + "patches": ["xorg-autogen.patch"]}, + + {"src": "fd:xorg/lib/libXrender", + "patches": ["xorg-autogen.patch"]}, + + {"src": "fd:xorg/lib/libXRes", + "patches": ["xorg-autogen.patch"]}, + + {"src": "fd:xorg/lib/libXtst", + "patches": ["xorg-autogen.patch"]}, + + {"src": "fd:xorg/lib/libXv", + "patches": ["xorg-autogen.patch"]}, + + {"src": "fd:xorg/lib/libXvMC", + "patches": ["xorg-autogen.patch"]}, + + {"src": "fd:xorg/lib/libXxf86dga", + "patches": ["xorg-autogen.patch"]}, + + {"src": "fd:xorg/lib/libXxf86vm", + "patches": ["xorg-libXxf86vm-autogen.patch"]}, + + {"src": "fd:xorg/lib/libxkbfile", + "patches": ["xorg-autogen.patch"]}, + + {"src": "fd:xorg/lib/libxkbui", + "patches": ["xorg-autogen.patch"]}, + + {"src": "fd:xorg/lib/libFS", + "patches": ["xorg-autogen.patch"]}, + + {"src": "git:git://libpng.git.sourceforge.net/gitroot/libpng/libpng", + "branch": "v1.5.7"}, + + {"src": "fd:cairo", + "branch": "1.10.2", + "config-opts": ["--disable-cairo-script-interpreter"]}, {"src": "gnome:gobject-introspection"} ] diff --git a/gnomeos/3.4/xorg-libXxf86vm-autogen.patch b/gnomeos/3.4/xorg-libXxf86vm-autogen.patch new file mode 100644 index 00000000..b9727739 --- /dev/null +++ b/gnomeos/3.4/xorg-libXxf86vm-autogen.patch @@ -0,0 +1,26 @@ +From ea03f018ad4a9278d27bc84404ff1259b3690eba Mon Sep 17 00:00:00 2001 +From: Colin Walters +Date: Fri, 6 Jan 2012 16:56:26 -0500 +Subject: [PATCH] autogen.sh: Honor NOCONFIGURE environment variable + +http://people.gnome.org/~walters/docs/build-api.txt +--- + autogen.sh | 4 +++- + 1 files changed, 3 insertions(+), 1 deletions(-) + +diff --git a/autogen.sh b/autogen.sh +index e81f989..2641722 100755 +--- a/autogen.sh ++++ b/autogen.sh +@@ -9,5 +9,7 @@ cd $srcdir + autoreconf -v --install || exit 1 + cd $ORIGDIR || exit $? + +-$srcdir/configure --enable-maintainer-mode "$@" ++if test -z "$NOCONFIGURE"; then ++ $srcdir/configure --enable-maintainer-mode "$@" ++fi + +-- +1.7.6.4 +