tech-pkg archive

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

Re: compat32-* packages for Wine

On 13.07.2019 01:26, Greg Troxel wrote:
> zerous <> writes:
>> Hi,
>> I have been trying to port Wine to amd64 which also happens to be a
>> GSoC project. In order to do it, I have to crosscompile 32 bit wine on
>> amd64. And as a side-effect of this endeavour, I have had to write
>> certain packages which crosscompile programs for i386 on
>> amd64. However, I am in a dilemma as to where to install such
>> packages. As of right now, I have been ignoring all non-library files
>> and installing libs to ${PREFIX}/usr/pkg/lib/32.  Would they rather be
>> installed to ${PREFIX}/emul/netbsd32/lib? 
> I would like to take a step back and look at the bigger picture of what
> you are doing.  This seems hugely useful, but I'm not sure which way is
> up.
> You are talking about packages "which crosscompile programs for i386 on
> amd64".  I would like to understand how that differs from
> "crosscompiling a program for i386" separately from host architecture,
> and if this is just a specific case of using generic crossbuild
> infrastructure.
> I wonder if the packages that are created are in fact the same as the
> package that would be built on i386, modulo timestamps and other things
> people worry about during reproducible builds.   And if not, why not.
> Given an i386 package and an amd64 system, it seems reasonable to
> install it with a chroot of /emul/netbsd32, perhaps with a separaate
> /emul/netbsd32/var/db/pkg.  I would look at how Linux packages are
> installed on NetBSD, and how their metadata is handled, to see how to do
> this.
> While crosscompiling is good, it may be that it ends up that there are
> packages that have to be built on i386 and are then just installed on an
> amd64 system.
> I wonder if the wine you are building will be a 32-bit wine binary that
> runs under netbsd32 emulation, and how that's different from the wine
> built on i386.  I get it that you will have to make the netbsd32
> emulation do a lot of complicated stuff that probably does not work now.
> But I wonder how much of the 32-bit cross is about making wine work on
> amd64, vs making it easy to build.
> Please don't take this as discouraging or cranky; I'm writing fromm the
> positiof of not really understanding what you are doing, and hoping to
> make the mechanisms that are developed simpler and more
> powerful/useful.  Hence I'm asking a lot of questions, which I realize
> may not now have crisp easy answers.

chroot or doubling ./bootstrap would be very impractical and we need
compat32_* packages that are functional out of the box without any
manual or superuser intervention. There are just a dozen of dependencies
of wine for 32bit mode and the best (only?) reasonable approach is to
build them as separate -m32 packages.

End-user shall just type 'pkgin install wine' and be done.

Attachment: signature.asc
Description: OpenPGP digital signature

Home | Main Index | Thread Index | Old Index