mingw-cross-env-list
[Top][All Lists]
Advanced

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

Re: [Mingw-cross-env-list] MXE packages as APT


From: Nagaev Boris
Subject: Re: [Mingw-cross-env-list] MXE packages as APT
Date: Sun, 15 Feb 2015 20:57:11 +0000

On Wed, Feb 11, 2015 at 9:16 AM, Volker Grabsch <address@hidden> wrote:
> Nagaev Boris schrieb:
>> I propose building all MXE packages to .deb packages and distributing
>> them as public APT repository. I want this: `apt-get install
>> mxe-qt-i686-pc-mingw32-static`
>
> It is a recurring request for us to distribute binary packages, and
> indeed there are several Windows cross-compiling packages for DEB as
> well as RPM, although these are not MXE packages, but written by other
> people/teams.
>
> Related to that, there are also recurring requests for being able to
> uninstall MXE packages - more specifically, to uninstall old versions
> of MXE packages.  This is a tightly related topic.
>
>> One of advantages is using in CI. Installing .deb package is much
>> easier and faster than compiling MXE and a package in CI. Moreover,
>> Travis CI provides caching proxy for APT.
>
> Travis CI is an interesting use case I haven't thought of.  Does it
> only cache APT repositories, or would it also cache, say, a bunch
> of *.tar.xz downloads?
>
>> Has anybody tried this approach?
>
> I don't think so.  These are recurring requests, but nobody has yet
> taken the time to push that forward.  As of now, we don't even have
> coherent concept for discussion.  That is, we may risk that people
> spend their limited time running into different directions.
>
> I believe it is time to push this forward.  Although I can't
> contribute much "manpower", I can at least try to provide a concept.
> I will write that down in a separate email.  Stay tuned. :-)
>

I have done part of work.

1. https://github.com/starius/mxedeb Build DEB packages from MXE
packages. Main purpose of Lua script is sorting packages in build
order and to save list of files created while installation of a
package. Then this data and installed files are converted into Debian
packages. I think, this is sufficient for RPM packages as well.

2. Public APT created at http://mxedeb.redjohn.tk/repos/
Currently I limit builder with *only 10 packages* per target. When
this version is reviewed and discussed, I'll build all packages.

Package name is mxe<mxe-version>-<target>-package
MXE versions: MXE stable is "2.23", MXE master is "trunk".
Targets are like variable MXE_TARGETS: i686-pc-mingw32 etc.
Underscores ("_") in target name are replaced with hyphens ("-"),
because Debian package names must not include underscores. So x86_64
becomes x86-64.

Packages can depend only on each other, no external dependencies. So
this APT can be used by any Debian distribution which satisfies MXE's
requirements.

Files corresponding to different MXE targets and MXE versions are
installed into isolated directories:
/usr/lib/mxe/2.23_i686-pc-mingw32,
/usr/lib/mxe/2.23_x86_64-w64-mingw32 and so on.

How to use this APT:

# wget -O - http://mxedeb.redjohn.tk/repos/apt/conf/mxeapt.gpg | apt-key add -
# wget -O /etc/apt/sources.list.d/mxeapt.list
http://mxedeb.redjohn.tk/repos/apt/conf/mxeapt.list
# apt-get update
# apt-get install mxe2.23-i686-pc-mingw32-zlib

Package is installed to /usr/lib/mxe/2.23_i686-pc-mingw32/usr/i686-pc-mingw32

Best regards,
Boris Nagaev



reply via email to

[Prev in Thread] Current Thread [Next in Thread]