Re: [Gimp-developer] Getting contributors via OpenHatch



Hi,

On Tue, Jun 3, 2014 at 11:34 PM, Ed . <ej_zg hotmail com> wrote:
Hi Jehan,

Could you share your cookbook for setting up cross-compiling to Windows?

Sorry for the very late answer. I wanted to release a new version of
my cross-compilation tool before answering (because my locale copy was
already so much more advanced). Sorry for having let the time slide
that much. :-)

I have basically written a tool to help me cross compiling very easily.
See there: https://pypi.python.org/pypi/crossroad/
This is a python 3 tool, which you can install with:

$ pip3 install crossroad

You will need the following dependencies: 7z or rpm2cpio,
gcc-mingw-w64-i686, g++-mingw-w64-i686, binutils-mingw-w64-i686
(gcc-mingw-w64-x86-64, g++-mingw-w64-i686, and
binutils-mingw-w64-x86-64 respectively for 64-bit Windows).

Once all is installed, below my exact cookbook for compiling GIMP
master, for instance for Windows 64-bit:

$ crossroad w64

Installing various dependencies:
$ crossroad install win_iconv-devel libtiff-devel iso-codes-devel
liblzma-devel zlib-devel libbz2-devel libbz2-1 libexpat-devel
libexpat1 gtk2-devell ibSDL-devel liblcms2-2 liblcms2-devel

Compile babl, GEGL, cairo, all with the same procedure:
Note 1: there are babl/GEGL/cairo packages in the pre-compiler
packages, but the versions are not right for GIMP master. I use babl
and GEGL from git master, and cairo 1.12.16. They work ok for me.
Note 2: you may want to clone these repo just for Windows, rather than
using the ones you use for native Linux compiling, if you plan to
regularly compile for both platforms. Actually you may even want to
have one for Win 32 and one for 64 bit.

$ cd babl (respectively gegl/ and cairo/)
$ crossroad configure
Note: for GEGL, you must currently add --disable-docs option. Our GEGL
doc generation does not handle well cross-build. See Bug 733667 .
$ make -j
$ make -j install

Exiv2 (svn trunk) uses cmake:
$ svn checkout svn://dev.exiv2.org/svn/trunk exiv2-trunk
$ cd exiv2-trunk
$ crossroad cmake .
$ make
$ make install

Then gexiv2 (git master), same as babl/GEGL:
$ cd gexiv2
$ crossroad configure && make && make install

Finally compile GIMP master the same way. Note that I disable python
because it is not in the pre-built packages and I never really needed
it, but that should not be very difficult to cross-compile it the same
way as the rest (Python uses the configure/make/make install triplet
as well).
$ cd gimp
$ crossroad configure --disable-python
$ make
$ make install

To test it, I use a Windows 7 VM. I have a shared directory. I exit
crossroad (ctrl-d), go to the shared dir:
$ cd /my/share/virtualbox/dir/
$ crossroad -s w64

It creates a w64/ link, that I see as a directory in my Windows VM.
Alternatively, I could create a compressed archive to uncompress on
Win:
$ crossroad -c gimp-master.zip w64

And that's it! You have a working GIMP for Windows. I do the whole
process in less than 30 min, build time included. You could even
really easily automatize these in a script.
Note that you can add more dependencies (either by using pre-compiled
package. You can search them with `crossroad search` then install with
`crossroad install`; or compiling them yourself), but I just showed a
basic installation.

Jehan

Cheers,

Ed

-----Original Message----- From: Jehan Pagès
Sent: Tuesday, June 03, 2014 9:41 AM
To: Partha Bagchi
Cc: Gimp-developer

Subject: Re: [Gimp-developer] Getting contributors via OpenHatch

Hi,

On Mon, Jun 2, 2014 at 11:11 PM, Partha Bagchi <partha1b gmail com> wrote:


On Mon, Jun 2, 2014 at 6:40 PM, Jehan Pagès <jehan marmottard gmail com>
wrote:


Hi,

On Mon, Jun 2, 2014 at 6:18 PM, Elle Stone
...

Like some others here, I don't really get it. I never had any problem
with GIMP compilation. GIMP uses the very common tryptic of all GNU
projects (and most Free Software): ./configure && make && make install
It has some dependencies, especially when compiling the git version,
but they all follow the same 3-command method. I just don't get what
is difficult with this.
...
Jehan



Clearly you've never compiled on Windows and/or Mac and hence you make
such
statements.


Well you take some serious assumption here, since I'm one of the rare
GIMP devs who sometimes fixes bugs for Windows! I did once compiled on
Windows, the problem was that it was slow as hell, but the compilation
in itself was using the same 3 commands (once the environment was
set-up, which is usually indeed very annoying on Windows but only done
once). Now I rather cross-compile on Linux for Windows regularly. And
it's fast and easy. Of course it means to understand the logics of
cross-compiling first and that takes some time the first time as well.
But computer science is not magic. Things take time. Developers need
to understand things (and if a developer is not even *willing* to
spare a little time to understand the overall concept of compilation,
seriously I would doubt one's capacity to help our project
efficiently).

Do you have *any* example of other program which does things better
than us as for compilation process? As said, we have the most common
compilation system (the GNU one, in particular using the autotools. I
have several dozen local repositories of various projects in my hard
drive, they nearly all use the same), so that sounds strange to hear
it can be a blocker.

Jehan
_______________________________________________
gimp-developer-list mailing list
List address:    gimp-developer-list gnome org
List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list
List archives:   https://mail.gnome.org/archives/gimp-developer-list


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]