tech-pkg archive

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

Re: Compat packages



Le 2019-06-14 14:55, coypu%sdf.org@localhost a écrit :
Hi tech-pkg,

I assume we've discussed wanting to do this in some variation in the past,
and people have their opinions all set up.

For the purpose of building wine32 as a package on 64bit machines, we will
(unquestionably) need 32bit packages. So I have a first working draft.

Please list your wishlists and desires of this feature. I can try to fulfil
all the requests. I'd like to do it so it doesn't block wine (we have a
GSoC project for it).

At current, I could make a separate compat package that has the following
structure:

compat-libxml2/Makefile:
ORIGINAL_PACKAGE=	../../textproc/libxml2
.include "../../mk/bsd.compatlib.mk"


And have it spit out a package that looks like:
/usr/pkg/lib/32/cmake/libxml2/libxml2-config.cmake
/usr/pkg/lib/32/libxml2.la
/usr/pkg/lib/32/libxml2.a
/usr/pkg/lib/32/libxml2.so.2.9.9
/usr/pkg/lib/32/pkgconfig/libxml-2.0.pc
/usr/pkg/lib/32/xml2Conf.sh

The working, functional draft is the following:

ORIGINAL_PACKAGE=	../../textproc/libxml2

ABI?=		32
ORIGINAL_PKGNAME!=	make -V PKGNAME -C ${ORIGINAL_PACKAGE}
PKGNAME=		compat${ABI}_${ORIGINAL_PKGNAME}

# XXX make a definition for netbsd archs.
LIBABISUFFIX?=		/32
CONFIGURE_ARGS+=	--libdir=${PREFIX}/lib${LIBABISUFFIX}
CFLAGS+=		-m32

remove-non-libraries:
	echo "Removing non-compat library package content"
	find ${DESTDIR}${PREFIX} -path ${DESTDIR}${PREFIX}/lib${LIBABISUFFIX}
-prune -o -type f -exec ${RM} {} +

post-install: remove-non-libraries

GENERATE_PLIST=	${SED} -n '/^lib/ s;lib;lib${LIBABISUFFIX};p'
${ORIGINAL_PACKAGE}/PLIST;

.include "${ORIGINAL_PACKAGE}/Makefile"

Hi maya,

Thanks for this important work. When I tested build of wine on amd64, I implemented options.mk to disable as many dependency as possible. It was:
.  include "../../mk/curses.buildlink3.mk"
.  include "../../print/cups-base/buildlink3.mk"
.  include "../../sysutil/dbus/buildlink3.mk"
.  include "../../fonts/fontconfig/buildlink3.mk"
.  include "../../graphics/freetype2/buildlink3.mk"
.  include "../../devel/libgphoto2/buildlink3.mk"
.  include "../../security/gnutls/buildlink3.mk"
.  include "../../audio/gsm/buildlink3.mk"
.  include "../../multimedia/gstreamer1/buildlink3.mk"
.  include "../../mk/jpeg.buildlink3.mk"
.  include "../../graphics/lcms2/buildlink3.mk"
.  include "../../audio/mpg123/buildlink3.mk"
.  include "../../mk/krb5.buildlink3.mk"
.  include "../../databases/openldap-client/buildlink3.mk"
.  include "../../audio/openal/buildlink3.mk"
.  include "../../audio/openal-soft/buildlink3.mk"
.  include "../../graphics/png/buildlink3.mk"
.  include "../../audio/pulseaudio/buildlink3.mk"
.  include "../../graphics/sane-backends/buildlink3.mk"
.  include "../../graphics/tiff/buildlink3.mk"
.  include "../../devel/SDL2/buildlink3.mk"
.  include "../../graphics/libv4l/buildlink3.mk"
.  include "../../textproc/libxml2/buildlink3.mk"
.  include "../../textproc/libxslt/buildlink3.mk"

Fred


Home | Main Index | Thread Index | Old Index