tech-pkg archive

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

Re: compat32-* packages for Wine



zerous <zerous@nocebo.space> 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.



Home | Main Index | Thread Index | Old Index