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

RFS: the mingw-w64 toolchain


It's been a while, but now that gcc-4.5 is in unstable and I've had the
chance to fix various things, I believe the mingw-w64 toolchain is ready for
an initial upload.

As mentioned previously, the initial aim of these packages is to package
wine-gecko and get wine development started up again. Ultimately though I'd
like to be able to replace the various MinGW and MinGW-w64 packages in Debian
(I've discussed this with Ron in the past); I'll be working on getting the
packages which currently build with mingw32 building with mingw-w64 (which,
despite its name, supports 32- as well as 64-bit Windows targets), and
hopefully get an Alioth project going eventually so I can coordinate with
other people (notably Dmitrijs Ledkovs who's been working on the Ubuntu
mingw-w64 all-in-one packages).

I've uploaded all the packages to mentors.debian.net, along with a wine-gecko
package to make sure the result is correct. The DSCs are:
* http://mentors.debian.net/debian/pool/main/b/binutils-mingw-w64/binutils-mingw-w64_0.1.dsc
* http://mentors.debian.net/debian/pool/main/g/gcc-mingw-w64/gcc-mingw-w64_0.1.dsc
* http://mentors.debian.net/debian/pool/main/m/mingw-w64/mingw-w64_1.0+20101003-1.dsc
* http://mentors.debian.net/debian/pool/main/w/wine-gecko-1.0.0/wine-gecko-1.0.0_1.0.0+dfsg-1.dsc

The mingw-w64 packaging is also available on collab-maint:
* http://git.debian.org/?p=collab-maint/binutils-mingw-w64.git;a=summary
* http://git.debian.org/?p=collab-maint/gcc-mingw-w64.git;a=summary
* http://git.debian.org/?p=collab-maint/mingw-w64.git;a=summary

Uploading these packages would fix these bugs: 602996, 602997, 569914,
594371, 600451, 479861.

The packages are lintian-clean, albeit with a fair amount of overrides which
are documented in the various packages (mainly related to the cross-compiling
nature of the packages, which thus include binaries in "Arch: all" packages
and place files in non-FHS-compliant directories). They currently also
generate a warning from dpkg-source since they specify the "Built-Using"
field. I've built them using an up-to-date unstable pbuilder, and the
resulting wine-gecko package displays Google in Wine's wrapper (and allows
searches etc.).

To build:
* build binutils-mingw-w64 as usual;
* bootstrap gcc-mingw-w64 by linking control to control.bootstrap and
  rules.variant to rules.bootstrap, and building normally;
* build mingw-w64; one of the resulting packages, mingw-w64, will be
  uninstallable for now;
* build the full gcc-mingw-w64 by cleaning the build if necessary and then
  linking control to control.full and rules.variant to rules.full;
* build wine-gecko as usual.

This will produce binutils-mingw-w64, gcc-mingw-w64, mingw-w64-dev, mingw-w64
and wine-gecko-1.0.0 packages. To test wine-gecko you'll need wine 1.2; I can
upload my package to debian.mentors.net if necessary. (An older version is
still on http://www.sk2.org/wine/wine_1.2-0.1.dsc but you'll need to change
the wine control file so the wine package depends on wine-gecko-1.0.0 instead
of wine-gecko.) In order to upload to Debian, it would theoretically be
possible to upload mingw-w64 since it's "Arch: all", then upload the full
gcc-mingw-w64 without bootstrapping. Alternatively, bootstrapping the
toolchain would only require two steps (but with two passages through NEW):
binutils-mingw-w64, gcc-mingw-w64 in bootstrap mode, mingw-w64 as a first
step; then gcc-mingw-w64 in full mode (with an incremented version number)
and wine-gecko-1.0.0.

These packages can certainly be improved (for instance, mingw-w64 should be
updated to a later version of the 1.0 branch at least, and include the DDK
headers), but I'd like to get them as-is (or close enough) into Debian if
possible so that Ove Kaaven can get started on his wine improvements ;-).
I'll work on improving mingw-w64 once that's done. It may be worth waiting
for dpkg-dev to support Built-Using for now though, hopefully that won't take
too long!

Note also that I'm a DM, but I don't expect a DMUA on such involved packages
just yet.

Thank you for your time,


Attachment: signature.asc
Description: PGP signature

Reply to: