diff options
author | jlam <jlam> | 2007-07-29 05:18:36 +0000 |
---|---|---|
committer | jlam <jlam> | 2007-07-29 05:18:36 +0000 |
commit | c79d13574d40ad8e282bd93bd622e8a195903691 (patch) | |
tree | 45cad36d8470a568b9136017b2dd79c9efcc65bc /mk/emulator/linux.mk | |
parent | a9d6b45cddcb11e05e29eed50a9623fff3d06518 (diff) | |
download | pkgsrc-c79d13574d40ad8e282bd93bd622e8a195903691.tar.gz |
* Add new emulator framework in pkgsrc/mk/emulator that handles all
binary-only packages that require binary "emulation" on the native
operating system. Please see pkgsrc/mk/emulator/README for more
details.
* Teach the plist framework to automatically use any existing
PLIST.${EMUL_PLATFORM} as part of the default PLIST_SRC definition.
* Convert all of the binary-only packages in pkgsrc to use the
emulator framework. Most of them have been tested to install and
deinstall correctly. This involves the following cleanup actions:
* Remove use of custom PLIST code and use PLIST.${EMUL_PLATFORM}
more consistently.
* Simplify packages by using default INSTALL and DEINSTALL scripts
instead of custom INSTALL/DEINSTALL code.
* Remove "SUSE_COMPAT32" and "PKG_OPTIONS.suse" from pkgsrc.
Packages only need to state exactly which emulations they support,
and the framework handles any i386-on-x86_64 or sparc-on-sparc64
uses.
* Remove "USE_NATIVE_LINUX" from pkgsrc. The framework will
automatically detect when the package is installing on Linux.
Specific changes to packages include:
* Bump the PKGREVISIONs for all of the suse100* and suse91* packages
due to changes in the +INSTALL/+DEINSTALL scripts used in all
of the packages.
* Remove pkgsrc/emulators/suse_linux, which is unused by any
packages.
* cad/lc -- remove custom code to create the distinfo file for
all supported platforms; just use "emul-fetch" and "emul-distinfo"
instead.
* lang/Cg-compiler -- install the shared libraries under ${EMULDIR}
instead of ${PREFIX}/lib so that compiled programs will find
the shared libraries.
* mail/thunderbird-bin-nightly -- update to latest binary
distributions for supported platforms.
* multimedia/ns-flash -- update Linux version to 9.0.48 as the
older version is no longer available for interactive fetch.
* security/uvscan -- set LD_LIBRARY_PATH explicitly so that
it's not necessary to install library symlinks into
${EMULDIR}/usr/local/lib.
* www/firefox-bin-flash -- update Linux version to 9.0.48 as the
older version is no longer available for interactive fetch.
Diffstat (limited to 'mk/emulator/linux.mk')
-rw-r--r-- | mk/emulator/linux.mk | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/mk/emulator/linux.mk b/mk/emulator/linux.mk new file mode 100644 index 00000000000..542240e5aa8 --- /dev/null +++ b/mk/emulator/linux.mk @@ -0,0 +1,79 @@ +# $NetBSD: linux.mk,v 1.1 2007/07/29 05:19:43 jlam Exp $ +# +# Linux binary emulation framework +# + +.if ${OPSYS} == "Linux" +EMUL_TYPE.linux?= native +.else +EMUL_TYPE.linux?= suse +.endif +EMUL_MODULES.linux?= # empty + +.if ((${EMUL_ARCH} == "i386") && (${MACHINE_ARCH} == "x86_64")) || \ + ((${EMUL_ARCH} == "sparc") && (${MACHINE_ARCH} == "sparc64")) +_LINUX_BASE= linux32 +EMULSUBDIR= emul/linux32 +.else +_LINUX_BASE= linux +EMULSUBDIR= emul/linux +.endif + +EMULDIR= ${PREFIX}/${EMULSUBDIR} +OPSYS_EMULDIR= ${_OPSYS_EMULDIR.${_LINUX_BASE}} + +# _EMUL_TYPES +# List of recognized Linux types that a user may request. +# +# _EMUL_MODULES +# List of recognized Linux "modules" that packages may request. +# +_EMUL_TYPES= builtin +_EMUL_TYPES+= native +_EMUL_TYPES+= suse + +.if !empty(EMUL_TYPE.linux:Msuse-*) +_EMUL_TYPE?= suse +.endif +_EMUL_TYPE?= ${EMUL_TYPE.linux} + +_EMUL_MODULES= aspell +_EMUL_MODULES+= base +_EMUL_MODULES+= compat +_EMUL_MODULES+= cups +_EMUL_MODULES+= expat +_EMUL_MODULES+= fontconfig +_EMUL_MODULES+= freetype2 +_EMUL_MODULES+= gdk-pixbuf +_EMUL_MODULES+= glx +_EMUL_MODULES+= gtk +_EMUL_MODULES+= gtk2 +_EMUL_MODULES+= jpeg +_EMUL_MODULES+= locale +_EMUL_MODULES+= motif +_EMUL_MODULES+= openssl +_EMUL_MODULES+= png +_EMUL_MODULES+= slang +_EMUL_MODULES+= tiff +_EMUL_MODULES+= vmware +_EMUL_MODULES+= x11 +_EMUL_MODULES+= xml2 + +.if ${_EMUL_TYPE} == "builtin" +EMUL_DISTRO= builtin-linux # managed outside pkgsrc +.elif ${_EMUL_TYPE} == "native" +EMUL_DISTRO= native-linux # native Linux installation +EMULDIR= ${PREFIX} +EMULSUBDIR= # empty +.else +. include "${PKGSRCDIR}/mk/emulator/linux-${_EMUL_TYPE}.mk" +.endif + +.if (${_EMUL_TYPE} == "builtin") || (${_EMUL_TYPE} == "native") +. for _mod_ in ${_EMUL_MODULES} +DEPENDS_native-linux.${_mod_}= # empty +. endfor +.endif + +LDCONFIG_ADD_CMD?= ${EMULDIR}/sbin/ldconfig -r ${EMULDIR} +LDCONFIG_REMOVE_CMD?= ${EMULDIR}/sbin/ldconfig -r ${EMULDIR} |