[texworks] Call for Help: Mac builds

Stefan Löffler st.loeffler at gmail.com
Fri Feb 25 15:56:25 CET 2011


On 2011-02-11 19:10, Charlie Sharpsteen wrote:
> Sorry I'm late to the party, I was browsing Joseph Wright's blog this
> morn' and found my way to this thread.

Welcome aboard :).

> 1.  A CMake-based build process for compiling TeX Works on OS X
> When I first tried compiling TeX Works, I found the paths to many
> things had been hardcoded in TeXworks.pro.  So, I slapped together a
> quick set of CMake files to build the project.  CMake is pretty good
> at locating system libraries and seems to have great support for
> Qt-based projects since the KDE team switched to using it as their
> primary build system.
> I was working on getting CPack, the package generator included with
> CMake, to build drag-and-drop installers for OS X when I shelved the
> project.  CPack can generate many formats including NSIS installers
> for Windows and .deb or .rpm packages for Linux.
> So, if "changing the build system" is a route this project is willing
> to go, at least for OS X, I am willing to blow the dust off of my
> CMake scripts and get them running again.

As far as I am concerned, all that really matters is producing a working
build. To that end, use whatever build system you like. I probably won't
commit custom scripts to the main repository straight away, but then
again I have my own bunch of scripts for producing Ubuntu and Windows
So, for the time being, the "official" system in svn will probably
remain as it is, mainly because qmake is supported by Qt and also does a
fine job with compiling. As for the contents of TeXworks.pro (where
where the libraries are hard-coded), that is all specific to Jonathan's
setup and is bound to change. See for example
where the docs state that for custom Windows builds, a whole part of the
file simply has to be replaced.

> 2. Experience building the TeXworks dependencies on OS X
> I make regular contributions to the Homebrew package manager:
>     http://mxcl.github.com/homebrew
> Which currently contains formula for all the dependencies required to
> build TeXworks.  One caveat with Homebrew is that it is biased towards
> OS X 10.5.x -- 10.6.x and the i386 and x86_64 architectures.  The nice
> thing about Homebrew is that it is git-based so it is easy to create
> and distribute a customized version of the package manager that builds
> things in a given way.  I am willing to try setting up a branch that
> will provide Universal Binary builds of the TeXworks dependencies,  I
> can't promise any support for OS X 10.4.x though as I do not have a
> machine running 10.4.x to test with.

Wow, that sounds awesome. AFAIKT, this looks pretty similar to "MinGW
cross compiling environment" (http://mingw-cross-env.nongnu.org/) which
I'm using for the Windows builds and which works beautifully.

> 3. A machine that can run virtualized instances of OS X
> I have OS X 10.5.8 and 10.6.6 set up to run inside of VirtualBox on my
> mac.  This allows me to rewind those systems to a "virgen" state in a
> couple of seconds which is very useful for testing.  If other
> developers have come up with steps to produce a working build, I am
> willing to donate some time making sure the results can be reproduced
> on a clean system.

Thanks for the offer. I think this will be very useful for testing.

> I can't do all three of those things at once, but if some of those
> resources sound interesting let me know and I will be happy to make
> them available to the community.

Thanks a lot for the offer. I pick... number 2, the homebrew approach
:). This would be really great, as it would enable people to install all
dependencies and Tw itself with a few simple commands. In the end, we
should still package the built binary and ship that, so not all people
need to download and build all dependencies (especially Qt takes a
while), but it's great for providing the builds (and possibly also
regular testing builds in the future - after all, it would all boil down
to a simple script with just a few commands to make and publish the
latest version of Tw).


More information about the texworks mailing list