[Sugar-devel] [PATCH] Build Squeak VM 4.0.3 from tarfile

Bert Freudenberg bert at freudenbergs.de
Thu Sep 2 18:10:55 EDT 2010


This is almost the same as my patch from April, which never made it in.
Instead of building from the outdated "olpc" subversion branch, the Squeak VM is build from a release tarball.
It adds a cmake dependency, and gives an error if make is run without running autogen.sh first.
Also adds a "clean" make target to please jhbuild.

Signed-off-by: Bert Freudenberg <bert at freudenbergs.de>
---
 config/modulesets/glucose-external.modules      |   15 +++++++-----
 config/modulesets/patches/squeak-autogen.patch  |   28 +++++++++++++++++++++++
 config/modulesets/patches/squeak-makefile.patch |   11 +++++++++
 config/sysdeps/debian-family.xml                |    1 +
 config/sysdeps/fedora-family.xml                |    1 +
 config/sysdeps/mandrivalinux-2009.1.xml         |    1 +
 6 files changed, 51 insertions(+), 6 deletions(-)
 create mode 100644 config/modulesets/patches/squeak-autogen.patch
 create mode 100644 config/modulesets/patches/squeak-makefile.patch

diff --git a/config/modulesets/glucose-external.modules b/config/modulesets/glucose-external.modules
index d76b1f0..0577963 100644
--- a/config/modulesets/glucose-external.modules
+++ b/config/modulesets/glucose-external.modules
@@ -5,8 +5,8 @@
       href="git://dev.laptop.org/projects/" />
   <repository type="git" name="git.gnome.org"
       href="git://git.gnome.org"/>
-  <repository type="svn" name="squeakvm.org"
-        href="http://squeakvm.org/svn/squeak/branches/" trunk-template="olpc"/>
+  <repository type="tarball" name="squeakvm.org"
+      href="http://squeakvm.org/unix/release/"/>
   <repository type="git" name="git.imendio.com"
       href="git://git.imendio.com/projects/"/>
   <repository type="tarball" name="telepathy"
@@ -61,10 +61,13 @@
       <dep package="abiword"/>
     </dependencies>
   </tarball>
-  <autotools id="squeak">
-    <branch repo="squeakvm.org" module="olpc" checkoutdir="squeak"/>
-    <dependencies>
-    </dependencies>
+  <autotools id="squeak" autogen-template="/bin/sh autogen.sh --prefix=%(prefix)s">
+    <branch module="Squeak-4.0.3.2200-src.tar.gz" version="4.0.3.2200"
+      repo="squeakvm.org"
+      hash="sha256:87cd3f708cb3d330f6d74931fd7488784f45b0f467f14e2dc6fbdc9d3df97189" size="3623094">
+      <patch file="squeak-autogen.patch" strip="0" />
+      <patch file="squeak-makefile.patch" strip="0" />
+    </branch>
   </autotools>
   <autotools id="hulahop">
     <branch module="hulahop/mainline.git" checkoutdir="hulahop"/>
diff --git a/config/modulesets/patches/squeak-autogen.patch b/config/modulesets/patches/squeak-autogen.patch
new file mode 100644
index 0000000..ff9274d
--- /dev/null
+++ b/config/modulesets/patches/squeak-autogen.patch
@@ -0,0 +1,28 @@
+--- /dev/null	2010-09-02 18:58:30.359785873 +0200
++++ autogen.sh	2010-09-02 22:07:35.577316348 +0200
+@@ -0,0 +1,25 @@
++#!/bin/sh
++EXCLUDE="gl FileCopyPlugin SqueakFFIPrims B3DAcceleratorPlugin PseudoTTYPlugin UnixOSProcessPlugin XDisplayControlPlugin"
++
++test -d bld || mkdir bld
++
++OPTIONS=""
++for p in $EXCLUDE ; do
++	OPTIONS="$OPTIONS --without-${p}"
++done
++
++(cd bld && ../unix/cmake/configure $OPTIONS "$@")
++
++cat > Makefile <<__EOF__
++default:
++	make -C bld
++
++install:
++	make -C bld install
++
++check:
++	@echo SKIPPED: No tests defined for Squeak VM
++
++clean:
++	rm -rf bld Makefile
++__EOF__
diff --git a/config/modulesets/patches/squeak-makefile.patch b/config/modulesets/patches/squeak-makefile.patch
new file mode 100644
index 0000000..043dc7d
--- /dev/null
+++ b/config/modulesets/patches/squeak-makefile.patch
@@ -0,0 +1,11 @@
+--- Makefile.orig	2010-09-02 22:11:03.702191222 +0200
++++ Makefile	2010-09-02 22:21:14.580177789 +0200
+@@ -1,7 +1,5 @@
+ all : .force
+-	test -d bld || mkdir bld
+-	(cd bld; ../unix/cmake/configure)
+-	(cd bld; make)
++	@test -d bld || (echo ERROR: run autogen.sh first; exit 1)
+ 
+ install : all
+ 	(cd bld; make install)
diff --git a/config/sysdeps/debian-family.xml b/config/sysdeps/debian-family.xml
index ce11329..9870451 100644
--- a/config/sysdeps/debian-family.xml
+++ b/config/sysdeps/debian-family.xml
@@ -3,6 +3,7 @@
   <package name="automake1.9"/>
   <package name="avahi-daemon"/>
   <package name="avahi-autoipd"/><!-- for ad-hoc network support -->
+  <package name="cmake"/>
   <package name="evince"/>
   <package name="g++"/>
   <package name="gcc"/>
diff --git a/config/sysdeps/fedora-family.xml b/config/sysdeps/fedora-family.xml
index 83ec629..f97efb4 100644
--- a/config/sysdeps/fedora-family.xml
+++ b/config/sysdeps/fedora-family.xml
@@ -7,6 +7,7 @@
   <package name="avahi-tools" source="avahi"/>
   <package name="avahi-autoipd"/><!-- for ad-hoc network support -->
   <package name="boost-devel"/>
+  <package name="cmake"/>
   <package name="csound"/>
   <package name="dbus-devel"/>
   <package name="dbus-glib-devel"/>
diff --git a/config/sysdeps/mandrivalinux-2009.1.xml b/config/sysdeps/mandrivalinux-2009.1.xml
index 0acac46..7fa1131 100644
--- a/config/sysdeps/mandrivalinux-2009.1.xml
+++ b/config/sysdeps/mandrivalinux-2009.1.xml
@@ -9,6 +9,7 @@
   <package name="dbus-devel"/>
   <package name="dbus-glib-devel"/>
   <package name="dbus-python"/>
+  <package name="cmake"/>
   <package name="enchant-devel"/>
   <package name="expat-devel"/>
   <package name="fonts-ttf-dejavu"/>
-- 
1.7.2.2




More information about the Sugar-devel mailing list