tech-pkg archive

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

Compat packages



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"



Home | Main Index | Thread Index | Old Index