Xpra-org / xpra

Persistent remote applications for X11; screen sharing for X11, MacOS and MSWindows.
https://xpra.org/
GNU General Public License v2.0
1.98k stars 169 forks source link

migrate osx build to using jhbuild and modulesets #533

Closed totaam closed 9 years ago

totaam commented 10 years ago

Issue migrated from trac ticket # 533

component: packaging | priority: blocker | resolution: fixed | keywords: osx focus

2014-03-14 13:06:01: totaam created the issue

totaam commented 10 years ago

2014-03-14 22:32:46: smo commented


Started work on this here is the first start. Hoping these can be added to svn somewhere.

Still needs work for dependencies however they all seem to build nicely. Only one patch was needed for "nasm" to support make install DESTDIR= or jhbuild complains.

I'm attaching the first files to this ticket.

totaam commented 10 years ago

2014-03-14 22:33:31: smo uploaded file xpra.modules (11.4 KiB)

Xpra Moduleset

totaam commented 10 years ago

2014-03-14 22:33:38: smo uploaded file nasm-makefile-destdir.patch (0.9 KiB)

totaam commented 10 years ago

2014-03-17 19:33:24: smo commented


Added these in r5829

After doing

jhbuild bootstrap
jhbuild build
jhbuild buildone gstreamer
jhbuild buildone gst-plugins-base
jhbuild buildone gst-plugins-good

You should be able to now cd to trunk/osx/jhbuild

Run jhbuild -m ./xpra.modules build meta-osx-xpra-deps

This should build and install everything else necessary to build xpra..

Currently it is missing (py)gtkglext which is the next step to be worked on.

Optional if you want subversion updated and installed you can try this as well

jhbuild -m ./xpra.modules build meta-xpra-subversion

totaam commented 10 years ago

2014-03-21 11:14:27: totaam commented


Very good stuff, what a timesaver overall! I've updated the winswitch osx build page to refer to this moduleset.

For reference here's a link to the [/browser/xpra/trunk/osx/jhbuild jhbuild directory]

[[BR]]

Only found a few minor things that we want to tweak / note:

  • I've bumped the version of Pillow (2.3.1) and lz4 (0.6.1) in r5882
  • we should use https for the download links and/or add checksums for the downloads
  • GTK and pygobject need patching (probably patch the module before building):
    • include this patch to fix some warnings, at least until upstream finally merges it (if ever?)
    • include this patch for fullscreen support (see #496)
  • gstreamer update: we should either get gtk-osx upstream to bump the gstreamer version to the latest 0.10, carry a patch against the moduleset, or duplicate the gstreamer modules - no biggie
  • libpng, libtiff and libjpeg: see #544
  • PyOpenGL should be bumped to 3.1 beta (see #531), using the same download or build arguments as setuptools if needed (in the setup.cfg?), I've just recorded it as I did the upgrade:
    Downloading https://pypi.python.org/packages/source/P/PyOpenGL/PyOpenGL-3.1.0b1.zip#md5=98cf868fac68e57d1712bc8b52bc8a4b
    Processing PyOpenGL-3.1.0b1.zip
    Writing /tmp/easy_install-18IUtE/PyOpenGL-3.1.0b1/setup.cfg
    Running PyOpenGL-3.1.0b1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-18IUtE/PyOpenGL-3.1.0b1/egg-dist-tmp-L7SbV6
    (...)
    Downloading https://pypi.python.org/packages/source/P/PyOpenGL-accelerate/PyOpenGL-accelerate-3.1.0b1.zip#md5=8db7b69ba0553ca5b927fe2ddbf2424e
    Processing PyOpenGL-accelerate-3.1.0b1.zip
    Writing /tmp/easy_install-33_Ewg/PyOpenGL-accelerate-3.1.0b1/setup.cfg
    Running PyOpenGL-accelerate-3.1.0b1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-33_Ewg/PyOpenGL-accelerate-3.1.0b1/egg-dist-tmp-7MQaJK
  • important: I had problems resolving pypi.douban.com from here (today?) and even downloading from my UK servers it was pretty slow too at times (5KB/s at some point), which made building the python bits really tedious. Not sure if there's a better mirror we could/should be using? (easy_install must be using a different download domain, because it didn't have any problems)
  • for sure, we should not be using pypi.douban.com for things like Cython (and probably others too) which have known good upstream download locations
  • easy_install will automagically grab the latest release for us, whereas the moduleset will require updating everytime one of the dependencies is updated. I'm OK with that, it will make the upgrades more obvious (we'll have a commit reference). The old macosx build page has links to most of the dependencies to make it easier to check for new releases, we should probably do the same for the python dependencies, maybe here: [old macosx build page](http: winswitch.org dev macosx-manual.html) has links to most of the dependencies to make it easier to check for new releases, we should probably do the same for the python dependencies, maybe here: [Building](old macosx build page](http:--winswitch.org-dev-macosx-manual.html) has links to most of the dependencies to make it easier to check for new releases, we should probably do the same for the python dependencies, maybe here: [../wiki/Building) or in a new wiki page
  • the ffmpeg build is the winswitch one, it should be the xpra minimal one instead, ideally we could have both in the module somehow (unfortunately, I don't think that jhbuild does "virtual packages" ala portage)
  • nice to have: add gdb (not sure how to handle the chgrp and chmod at the end..)
  • it would be nice not to have to use the --insecure download flag at all to bootstrap the process, but I can't think of an easy way..
  • I seem to have a broken (py)gtkglext (#226) again now... can't wait to see that streamlined!
totaam commented 10 years ago

2014-04-09 00:42:58: smo commented


  • added libpng, libjpeg-turbo, libtiff in r6068
  • added meta module named meta-osx-image-libs for easier building of the 3 libs

I've had mixed results with not using --insecure or -k with curl in the end I ended up having to add the flag to the tarball.py within jhbuild to get by some issues.

totaam commented 10 years ago

2014-04-14 19:28:57: smo commented


  • PyOpenGL and PyOpenGL version bump in r6090 built both no problem still needs testing
totaam commented 10 years ago

2014-04-15 07:07:07: totaam commented


New updates:

For ffmpeg, I am now using a better, more limited configure line (also on win32):

./configure --prefix=${JHBUILD_PREFIX} \
    --cpu=i686 --enable-runtime-cpudetect --enable-pic --enable-memalign-hack \
    --enable-static --enable-shared --enable-gpl \
    --disable-everything \
    --enable-swscale --enable-libx264 --enable-decoder=h264 \
    --enable-libvpx --enable-decoder=vp8 --enable-decoder=vp9 --enable-decoder=hevc \
    --disable-protocol=tcp --disable-protocol=rtp \
    --disable-filter=aformat --disable-filter=crop --disable-filter=setpts \
    --disable-filter=anull --disable-filter=format --disable-filter=trim \
    --disable-filter=atrim --disable-filter=null \
    --disable-programs --disable-avfilter

It took a lot of fiddling and trial and error:

  • --disable-all sounds like what we want... but it doesn't work: nothing gets installed
  • we now get problems with assembler optimizations... maybe we should move to OSX Lion as a build platform and target 64-bit only in the future?
totaam commented 10 years ago

2014-04-15 10:28:07: smo commented


Added patch for gtkglext in r6096

Can use it by doing something like this

git clone git://git.gnome.org/gtkglext
cd gtkglext
curl -O http://xpra.org/svn/Xpra/trunk/osx/jhbuild/xpra-gtkglext.patch
patch -p1 <xpra-gtkglext.patch 
autoreconf -fiv
./configure --prefix=${JHBUILD_PREFIX}
make && make install

This isn't ideal but jhbuild doesn't allow me to apply a patch when pulling source from git only when using tarballs

Next is pygtkglext.

totaam commented 10 years ago

2014-04-15 20:50:59: smo commented


Added

python-macholib
python-modulegraph
python-altgraph 

in r6098

As I was unable to build without these perhaps easy_install pulls these in for us normally?

After compiling and installing these I was able to build and package xpra.

Installing pygtkglext is still quite a hack as the installing portion usually fails and requires you to install them manually into site-packages/

totaam commented 10 years ago

2014-04-18 10:33:45: totaam commented


New ones:

  • ORC 0.4.19 is out and is worth upgrading to as it fixes memory leaks. download link
  • libjpeg-turbo 1.3.1 is out. download link
  • numpy 1.8.1 is out

These are going to keep accumulating until this ticket is closed..

As for the question above: macholib, modulegraph and altgraph are normally pulled in automatically when installing py2app via easy_install.

totaam commented 10 years ago

2014-05-01 21:51:56: smo commented


  • ORC version bump in r6292
  • numpy version bump in r6293
totaam commented 10 years ago

2014-05-09 05:40:21: totaam uploaded file pygtkglext-git.patch (17.7 KiB)

patch for building git version of pygtkglext

totaam commented 10 years ago

2014-05-09 05:45:53: totaam commented


The patch above builds pygtkglext for me using:

PYTHONPATH=$JHBUILD_PREFIX/share/pygobject/2.0/:$PYTHONPATH python2.7 \
    ./setup.py build

We cannot use setup.py for installing (see #226 for details), so we install it with rsync (ugly):

rsync -rpvlgto build/lib.macosx*/gtk/* $JHBUILD_PREFIX/lib/python2.7/site-packages/gtk-2.0/gtk/

Note: be aware of #563#comment:14 when choosing which version to use (git tree vs 1.1 snapshots)

totaam commented 10 years ago

2014-05-09 06:13:10: antoine uploaded file gtkglext-1.2.0.osx-hack.tar.gz (1340.3 KiB)

1.2 snapshot for osx found here: http://lists.gnu.org/archive/html/bug-gnubg/2011-04/msg00006.html

totaam commented 10 years ago

2014-05-14 11:20:09: totaam commented


Newer versions should be updated in the moduleset:

Note to smo: work is going to keep piling on until you close this ticket...

totaam commented 10 years ago

2014-05-15 19:20:19: smo commented


updated versions in r6479

Compiling this whole moduleset to make sure its still working. I will use the patch that I made against gtkglext this time but should I be using this new hack that you attached? Have you tried this?

totaam commented 10 years ago

2014-05-16 05:26:57: totaam commented


The 1.2.0 patched version I posted is a newer version with some osx patches already applied, in particular the gtk>=2.20 compatibility patches. I haven't found any regressions, so I think we should use this rather than patching an older version ourselves.

totaam commented 10 years ago

2014-05-27 09:07:33: totaam commented


New:

totaam commented 10 years ago

2014-06-03 04:36:00: totaam commented


And more updates will continue to accumulate until this ticket is closed..

Today:

totaam commented 10 years ago

2014-06-10 06:15:11: smo commented


PyOpenGL version update in r6691 Python 2.7.7 I also changed the url in .jhbuildrc-custom and recompiled everything with no issues.

I have some modifications that work well for this as well that should be updated in the winswitch osx dev page.

Can we host gtkglext and the patch for pygtkglext somewhere on xpra.org so that I can put those into the moduleset as well?

Was your pygtkglext patch for the tarball?

totaam commented 10 years ago

2014-06-10 06:21:40: totaam commented


Can we host gtkglext and the patch for pygtkglext somewhere on xpra.org so that I can put those into the moduleset as well? [[BR]] Sure, point me to them and I'll upload them. [[BR]] Was your pygtkglext patch for the tarball? [[BR]] Which one?

totaam commented 10 years ago

2014-06-10 08:08:52: smo commented


They were both attachments to this ticket that you posted before however as I see now the pygtkglext patch is for git which won't work with jhbuild.

We can however put the hacked copy of gtkglext in the moduleset and that removes one more thing.

totaam commented 10 years ago

2014-06-10 08:55:52: totaam commented


Done: [http://xpra.org/src/gtkglext-1.2.0.osx-hack.tar.gz]

totaam commented 10 years ago

2014-06-11 07:38:53: smo commented


Added gtkglext-1.2.0.osx-hack.tar.gz in r6720

had to configure with --enable-gtk-doc or make install failed with missing html doc file

totaam commented 10 years ago

2014-06-11 16:26:23: totaam commented


I've had to pull the 0.12.4 OSX build because pygtkglext is now completely broken (not that I could easily have noticed since I don't have GL in my macosx vms...), rebuilding it against the latest gtk+ update does not seem sufficient to make it run, see #593. You can easily get a crash just by trying to import gtkgl:

python -c "from gtk.gtkgl import *"

The error seems to be the one mentioned here Fatal Python error: can't initialize module gtk.gtkgl but I can't see anything wrong, this same source code used to build and run fine...

totaam commented 10 years ago

2014-06-12 05:55:40: totaam commented


I've just reviewed the GTK+ changes since 2.24.16, and we want quite a few of those (many are also relevant to win32 rebuilds discussed in #263#comment:10):

totaam commented 10 years ago

2014-07-15 00:25:50: smo commented


r6897 updates many libraries

I had issues trying to rebuild after this as gst-plugins-ugly links against x264

jhbuild -m ./xpra.modules uninstall gst-plugins-ugly-xpra 
jhbuild -m ./xpra.modules -f buildone gst-plugins-ugly-xpra 

Should be enough to get it building properly again.

totaam commented 10 years ago

2014-07-24 09:47:13: totaam changed priority from minor to critical

totaam commented 10 years ago

2014-07-24 09:47:13: totaam commented


It's taken a while but I think we will soon be able to close this ticket!

Please update as discussed:

  • Python 2.7.8
  • PyOpenGL 3.1 and PyOpenGL_accelerate 3.1: had to do the latter by hand as easy_update failed to build it for some reason (not investigated)
  • Pillow 2.5.1 (and check webp is enabled)
  • ffmpeg 2.3
  • x264 stable latest
  • py2app 0.8.1
  • gdb 7.8 which as Betters Python Scripting
  • gtk+ 2.24.24
  • gdk-pixbuf 2.30.8
  • pango 1.36.5
  • glib 2.40
  • gmp 6.0.0 - important: please specify a build host type to prevent building cpu optimizations which may not be available at runtime
  • setuptools 5.4.1
  • libpng 1.6.12
  • pyobjc 3.0.1 (worth a try - first update in almost 2 years, should be a drop in replacement, more lightweight too)

Finally, you can find three patches which allow us to build (py)gtkglext from git which I have added to svn in r6940 + r6941:

  • gtkglext: xpra-gtkglext.patch and gtkglext-osx-quartztagfix.diff
    git clone git://git.gnome.org/gtkglext
    cd gtkglext
    curl -O "http://xpra.org/trac/browser/xpra/trunk/osx/jhbuild/xpra-gtkglext.patch?rev=6940"
    patch -p1 < xpra-gtkglext.patch
    autoreconf -fiv
    curl -O "http://xpra.org/trac/browser/xpra/trunk/osx/jhbuild/gtkglext-osx-quartztagfix.diff?rev=6940"
    patch -p1 < gtkglext-osx-quartztagfix.patch
    ./configure --prefix=${JHBUILD_PREFIX} --with-gdktarget=quartz
    make && make install
  • pygtkglext: pygtkglext-osx-v4.patch
    git clone git://git.gnome.org/pygtkglext
    cd pygtkglext
    curl -O "http://xpra.org/trac/browser/xpra/trunk/osx/jhbuild/pygtkglext-osx-v4.patch?rev=6940"
    patch -p1 < pygtkglext-osx-v4.patch
    ./autogen.sh --prefix ${JHBUILD_PREFIX}
    make && make install

If needed for the moduleset, we can host the patches in a more canonical location, or even make a patched source archive with the patches already applied.

Note: the pygtkglext patch is not so different from the previous version (which may still work?), and I've seen weird things happen as I rebuilt the libraries. I believe jhbuild leaves some crud behind and we must forcibly remove the build directories before trying to rebuild a library. Something to keep in mind.. since I don't see a way of forcing jhbuild to completely remove a build directory.

It may be worthwhile adding a switch somewhere so we can get debug builds for all those libraries. Not sure exactly how to add -g to the CFLAGS however.

Once that's all done and tested, please re-assign to me so I can close this.

totaam commented 10 years ago

2014-07-25 02:40:31: totaam commented


Dammit, looks like we're not the first ones to hit this "invalid drawable" bug (recorded in #563#no4 - which is closed, so moving here):

But for gtkgl on osx, the best I found is this (which has a dead link in it - it should point here instead: GtkGLExt OS X Quartz hack patch):

I think I see it just by running gl_check which should help in testing a fix.

Running the examples in gtkglext works without major problems, but the examples in pygtkglext show the invalid drawable problem. For the record, we can also build pygtkglext-1.1.0 with the patch above, ignoring the changes to autogen.sh and then using:

CFLAGS="-I/usr/X11/include" ./configure --prefix=${JHBUILD_PREFIX}

But the bug remains..

We can also build gtkglext with debug enabled:

    --enable-debug=[no/minimum/yes]
totaam commented 10 years ago

2014-07-25 06:56:59: totaam changed priority from critical to blocker

totaam commented 10 years ago

2014-07-25 06:56:59: totaam commented


Edited comment:25 with instructions I have tested repeatedly from scratch, this seem to fix the "invalid drawable" bug from #563#no4, now tracked in #593#comment:4 (at least it works on my 10.5 and 10.6 test machines so far)

Let's try to close this ticket whilst things work OK! (so raising to blocker)

If jhbuild doesn't allow us to apply the quartztagfix patch after the autoreconf step, we can just generate our own archive from git and stick it in svn.

totaam commented 10 years ago

2014-08-06 05:19:12: totaam uploaded file gtkglext-8c13cc4-20110529.tar.bz2 (4017.1 KiB)

gtkglext git snapshot

totaam commented 10 years ago

2014-08-06 05:19:47: totaam uploaded file pygtkglext-896582f-20100112.tar.bz2 (469.3 KiB)

pygtkglext git snaptshot

totaam commented 10 years ago

2014-08-07 20:07:38: smo commented


I've updated most of the stuff from comment:25

I've had to make a copy of the modulesets-stable to our source control so that I can modify them to update a few modules. We can contribute this upstream when we are satisfied everything is working.

r7184 brings in all the necessary changes to our moduleset r7186 updates many libraries to current versions

I still have to build gtkglext and pygtkglext by hand but the instructions work nicely along with the patches. We may have to make source tarballs for these to apply the patches.

I've tried to find a nicer way to fix autoconf for gtkglext so we don't have to do the second patch but didn't figure it out yet.

I've tested building all of these on an mac mini running osx 10.6.8 64bit hence all the build switches I commited for 32bit builds

I am now in the process of building this all again on a mac mini running 10.5.8 32bit but I assume it will work even easier than the other machine.

So again we are very close to closing this ticket but still some work needs to be done.

This is what my .jhbuildrc-custom looks like at the moment on the 32bit machine

module_autogenargs['cairo'] = '--enable-ft=no'
setup_sdk(target="10.5", sdk_version="10.5", architectures=["i386"])
os.environ["CC"] = "/usr/bin/gcc-4.2"
os.environ["DYLD_LIBRARY_PATH"] = ""
build_policy = "updated-deps"
modules = [ "python",
"meta-gtk-osx-bootstrap", "meta-gtk-osx-core",
"libcroco", "librsvg",
"meta-gtk-osx-python", "meta-gtk-osx-themes",
"gtk-quartz-engine",
"gtk-mac-integration-python" ]

#skip iconv and add some switches to turn off stuff that was breaking
skip.append("libiconv")
append_autogenargs('gstreamer', '--enable-introspection=no')
append_autogenargs('gst-plugins-base', '--enable-introspection=no')
append_autogenargs('gst-plugins-good', '--enable-introspection=no --disable-deinterlace')

#change moduleset
moduleset="http://xpra.org/svn/Xpra/trunk/osx/jhbuild/modulesets-stable/gtk-osx.modules"
totaam commented 10 years ago

2014-08-07 20:59:03: smo commented


More problems it doesn't use bootstrap.modules from that location it only uses it from local ~/Source/jhbuild/modulesets/bootstrap.modules

Which is troublesome as we need to update gtk-doc so that we can build new glib if memory serves right I will also need another package to build new gtk-doc

I checked bootstrap.modules against the one locally and the only change was the change I made so its safe to use this one to edit for now.

Unfortunatly I need to just copy over the one that exists with ours to do this not ideal

cd ~/Source/jhbuild/modulesets && curl -O http://xpra.org/svn/Xpra/trunk/osx/jhbuild/modulesets-stable/bootstrap.modules

Then run jhbuild bootstrap

totaam commented 10 years ago

2014-08-07 21:33:48: smo commented


Ran into another problem

gtk-doc requires itstool but itstool requires python

configure: error: itstool not found
*** Error during phase configure of gtk-doc: ########## Error running ./configure --prefix /Users/blank/gtk/inst --libdir '/Users/blank/gtk/inst/lib' --disable-scrollkeeper --with-xml-catalog=$JHBUILD_PREFIX/etc/xml/catalog   *** [16/19]
jhbuild buildone python
jhbuild buildone libxml2
jhbuild buildone itstool
jhbuild bootstrap

lets me get past this point but I guess python, libxml2 and itstool need to move to bootstrap? Or build gtk-doc without itstool?

After this I get

*** success *** [19/19]

That is enough to move on to the next steps

totaam commented 10 years ago

2014-08-09 05:40:51: totaam commented


Please see also:

  • missing AppKit from #627#comment:4
  • r7317 (ffmpeg 2.3.3 version update)
  • r7324 (yasm 1.3.0 version update)
  • r7327 (webp 0.4.1 update - same update needed for win32 builds)
  • please ensure that all modules have md5sums, since not all urls are https
totaam commented 10 years ago

2014-08-19 18:17:10: smo commented


I'll add the md5sums to the missing packages. Looks like we still need a patch for GTK for dual monitor support I found that out today.

As for (py)gtkglext I really think we should probably just make snapshots of the repos and host our own .tar.bz2 for those 2 so we can use them with jhbuild.

What would be a good place to stick these?

totaam commented 10 years ago

2014-08-20 17:26:20: totaam commented


totaam commented 10 years ago

2014-08-21 06:19:12: smo commented


I found a way to have jhbuild pull our patch and run it after autoreconf however I can't seem to build from the gtkglext git snapshot in comment:33

I always end up with a build failure like this

i686-apple-darwin9-gcc-4.2.1: .libs/gdkglversion.o: No such file or directory
i686-apple-darwin9-gcc-4.2.1: .libs/gdkglinit.o: No such file or directory
i686-apple-darwin9-gcc-4.2.1: .libs/gdkglquery.o: No such file or directory
i686-apple-darwin9-gcc-4.2.1: .libs/gdkglconfig.o: No such file or directory
i686-apple-darwin9-gcc-4.2.1: .libs/gdkglcontext.o: No such file or directory
i686-apple-darwin9-gcc-4.2.1: .libs/gdkgldrawable.o: No such file or directory
i686-apple-darwin9-gcc-4.2.1: .libs/gdkglpixmap.o: No such file or directory
i686-apple-darwin9-gcc-4.2.1: .libs/gdkglwindow.o: No such file or directory
i686-apple-darwin9-gcc-4.2.1: .libs/gdkglglext.o: No such file or directory
make[4]: *** [libgdkglext-quartz-1.0.la] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1

I followed the instructions from comment:25 just to be sure and it works no problem so i'm thinking maybe that snapshot is bad?

totaam commented 10 years ago

2014-08-21 06:20:51: totaam commented


I doubt the snapshot is bad, but it's possible.

Those errors are about object files, which are meant to be generated during the build, so a bad snapshot shouldn't be causing this unless it messed with the build scripts.

totaam commented 10 years ago

2014-08-27 12:58:18: totaam commented


RELEASE: ORC 0.4.22 released

totaam commented 10 years ago

2014-08-28 15:44:26: totaam commented


[https://pypi.python.org/pypi/Pillow/2.5.3] low priority: only CVE entries for things we don't use.

totaam commented 10 years ago

2014-08-28 22:25:36: smo uploaded file gtkglext-1.2.0.tar.bz2 (460.8 KiB)

gtkglext snapshot from git works for building osx with patches

totaam commented 10 years ago

2014-08-28 22:46:01: smo commented


r7472 adds gtkglext and pygtkglext

The source tarball for gtkglext is one I attached to this ticket so this should probably change.

I made this one by doing this

git clone git://git.gnome.org/gtkglext && cd gtkglext
git archive --prefix=gtkglext-1.2.0/ -o ../gtkglext-1.2.0.tar HEAD
cd .. && bzip2 gtkglext-1.2.0.tar

Seems to build now with that snapshot i'm not sure what the difference is. Feel free to make a new one and just provide me with the url and I will update it.

I will now delete my ~/gtk directory and start this all from scratch hopefully now it will just build everything we need.

totaam commented 10 years ago

2014-08-29 06:49:46: totaam commented


I've uploaded your snapshot in the source dir: [http://xpra.org/src/gtkglext-1.2.0.tar.bz2]

totaam commented 10 years ago

2014-09-14 16:21:27: totaam commented


Note: Cython should be updated to 0.21.x (I have reported fairly big bug, they may well do a point release before too long).

I have created a separate ticket for OSX GTK3: #680.

totaam commented 10 years ago

2014-09-17 02:00:11: smo commented


Many new changes seems to work quite well now. Still needs some polish but pretty happy with it now.

You'll need the .jhbuildrc-custom from r7651 which includes our modulesets from by url.

r7642 adds gtk-doc from bootstrap.modules to our moduleset as we need itstool and libxml2 which requires python to build it now.

r7648 adds a patch for liboil to fix autreconf from breaking found it here https://github.com/GNOME/frogr/tree/master/osx/jhbuild/patches

r7652 Cython 0.21

You need to overwrite ~/Source/jhbuild/modulesets/bootstrap.modules with ours I haven't found any way to use ours instead.

If everything is in place I'm able to do

jhbuild bootstrap
jhbuild build
jhbuild build meta-subversion-xpra

bootstrap has 17 steps and build has 88

I had to modify ~/Source/jhbuild/jhbuild/versioncontrol/tarball.py to add -k to curl as a lot a few https tarballs were failing since the certificates on this old mac are outdated.