diff options
author | netchild <netchild@FreeBSD.org> | 2005-06-18 06:59:29 +0800 |
---|---|---|
committer | netchild <netchild@FreeBSD.org> | 2005-06-18 06:59:29 +0800 |
commit | 8d63fa8ce3e1cb7a464d405732fcf971c5848297 (patch) | |
tree | bef012ab5e448ce5c144b7bb40139ba1dfd902a6 /Mk | |
parent | 5f5845bb3ad1db90d601456aaaea7343c4dabfc6 (diff) | |
download | freebsd-ports-gnome-8d63fa8ce3e1cb7a464d405732fcf971c5848297.tar.gz freebsd-ports-gnome-8d63fa8ce3e1cb7a464d405732fcf971c5848297.tar.zst freebsd-ports-gnome-8d63fa8ce3e1cb7a464d405732fcf971c5848297.zip |
Mega-patch to cleanup the ports infrastructure regarding our linux bits:
- USE_LINUX now implies NO_FILTER_SHLIBS=yes. It also doesn't use FreeBSD
tools to strip binaries anymore, so it's not neccesary anymore to override
STRIP and STRIP_CMD.
- USE_LINUX_PREFIX implies NO_MTREE now.
- In the USE_LINUX case, USE_XLIB now depends upon the linux X11 libraries
instead upon the native FreeBSD libraries.
- The variable LINUX_BASE_PORT contains a string which is suitable as an
item in *_DEPENDS, so if a port BATCH_DEPENDS or FETCH_DEPENDS upon the
default (or overriden) linux base, ${LINUX_BASE_PORT} should be used
instead of a hardcoded reference.
- Change all ports to comply to the "new world order".
- The Ports Collection now allows to override the default linux_base port.
Specify e.g. OVERRIDE_LINUX_BASE_PORT=rh-9 in /etc/make.conf to use
${PORTSDIR}/emulators/linux_base-rh-9 (the logic is to use
${PORTSDIR}/emulators/linux_base-${OVERRIDE_LINUX_BASE_PORT}).
- If USE_LINUX or OVERRIDE_LINUX_BASE doesn't point to an existing linux_base
port and if USE_LINUX isn't set to "yes" (case insensitive), the port will
be marked as IGNORE. [1]
- Readd USE_LINUX knobs into several ports and make several uses of a
conditional dependency ("USE_LINUX?=") into an unconditional one
("USE_LINUX=") which where removed/changed by Trevor to allow the use of
alternative linux_base ports. While this is a nice goal, the implementation
resulted in missing dependencies. The OVERRIDE_LINUX_BASE_PORT knob
in this commit is supposed to fix the problem while keeping the feature.
Basicaly this includes a backout of Trevor's commit, to prevent confusion
I mention it here explicitely.
- Use the correct prefix (X11- instead of LOCAL- or LINUX-) for some ports.
Chase dependencies for this.
- Changes to make linux_devtools installable on amd64, remove some stray
device nodes (they don't work on recent OS versions and aren't really
needed).
- Make linux_base-8 PREFIX clean and remove some stray device nodes.
Additionally tell a little bit more about how to setup NIS/YP [2].
- Update the PGSQL dependency in the linux-opengroupware port to a recent
version (the old one isn't available anymore), I don't know if this
works (at least it isn't more broken than before).
- Use PREFIX/usr/share/doc instead of PREFIX/usr/doc in the divx4linux
ports, the former path exists already and gets populated by other
packages too (PREFIX=LINUXPREFIX!).
- Fix some obvious (non-linuxolator) bugs in some linux ports while being
there.
- Bump PORTREVISION where neccesary.
Requested by: portmgr (linimon) [1]
Submittted by: Gerrit Kuehn <gerrit_huehn@gruft.fido.de [2]
Approved by: portmgr (kris, linimon), maintainers (or maintainer timeout)
Tested on: ports cluster (kris)
Reviewed by: silence on emulation@
Superseedes PR: 69997
Maintainer approval from:
chris@chrisburkert.de
cracauer@cons.org
des
girgen
jamie@bishopston.net
mezz
mi
nivit@users.sf.net
pat
simond@irrelevant.org
riggs@rrr.de
Udo.Schweigert@Siemens.com
Diffstat (limited to 'Mk')
-rw-r--r-- | Mk/bsd.port.mk | 54 |
1 files changed, 49 insertions, 5 deletions
diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk index 65f260a3e6f8..c62a5c599376 100644 --- a/Mk/bsd.port.mk +++ b/Mk/bsd.port.mk @@ -280,7 +280,8 @@ FreeBSD_MAINTAINER= portmgr@FreeBSD.org # XMKMF - Set to path of `xmkmf' if not in $PATH # Default: xmkmf -a # USE_X_PREFIX - If set, this port installs in ${X11BASE}. Implies USE_XLIB. -# USE_XLIB - If set, this port uses the X libraries. +# USE_XLIB - If set, this port uses the X libraries. In the USE_LINUX +# case the linux X libraries are referenced. # # USE_FREETYPE - If set, this port uses the freetype print libraries. # USE_GL - If set, this port uses libGL (not needed with XFree86 4.x @@ -353,8 +354,23 @@ FreeBSD_MAINTAINER= portmgr@FreeBSD.org # USE_LINUX - Set to yes to say the port needs emulators/linux_base-8. # Set to value <X>, if the port needs emulators/linux_base-<X>. # If set to "7", a dependency is registered to emulators/linux_base. +# Implies appropriate settings for NO_FILTER_SHLIBS, +# STRIP and STRIP_CMD. # USE_LINUX_PREFIX -# - controls the action of PREFIX (see above). +# - controls the action of PREFIX (see above). Only use this +# if the port is a linux infrastructure port (e.g. contains libs +# or a sound server which supports the FreeBSD native one), +# use the default or the X11 prefix if it's a leaf port +# (e.g. a game or program). +# Implies NO_MTREE=yes. +# OVERRIDE_LINUX_BASE_PORT - This specifies the default linux base to use, for valid values +# have a look at the description of USE_LINUX. This is an user-only +# variable. Don't use it in any port, it's meant to be used in +# make.conf. +# +# LINUX_BASE_PORT - This is a read-only variable, it gets set to a value which +# is usable in *_DEPENDS (e.g. BUILD_DEPENDS=${LINUX_BASE_PORT}). +# It honors USE_LINUX=foo and OVERRIDE_LINUX_BASE_PORT. ## # USE_MYSQL - Add MySQL client dependency. # If no version is given (by the maintainer via the port or @@ -1520,15 +1536,39 @@ LIB_DEPENDS+= intl.${USE_GETTEXT}:${PORTSDIR}/devel/gettext .endif .if defined(USE_LINUX) + +# install(1) also does a brandelf on strip, so don't strip with FreeBSD tools. +STRIP= +. if exists(${LINUXBASE}/usr/bin/strip) +STRIP_CMD= ${LINUXBASE}/usr/bin/strip +. else +STRIP_CMD= ${TRUE} +. endif + +NO_FILTER_SHLIBS= yes + +# Allow the user to specify another linux_base version. +. if defined(OVERRIDE_LINUX_BASE_PORT) +. if ${USE_LINUX:L} == yes +USE_LINUX= ${OVERRIDE_LINUX_BASE_PORT} +. endif +. endif + . if exists(${PORTSDIR}/emulators/linux_base-${USE_LINUX}) -RUN_DEPENDS+= ${LINUXBASE}/bin/sh:${PORTSDIR}/emulators/linux_base-${USE_LINUX} +LINUX_BASE_PORT= ${LINUXBASE}/bin/sh:${PORTSDIR}/emulators/linux_base-${USE_LINUX} . else . if ${USE_LINUX} == "7" -RUN_DEPENDS+= ${LINUXBASE}/etc/redhat-release:${PORTSDIR}/emulators/linux_base +LINUX_BASE_PORT= ${LINUXBASE}/etc/redhat-release:${PORTSDIR}/emulators/linux_base . else -RUN_DEPENDS+= ${LINUXBASE}/etc/redhat-release:${PORTSDIR}/emulators/linux_base-8 +. if ${USE_LINUX:L} == "yes" +LINUX_BASE_PORT= ${LINUXBASE}/etc/redhat-release:${PORTSDIR}/emulators/linux_base-8 +. else +IGNORE= There is no emulators/linux_base-${USE_LINUX}, perhaps wrong use of USE_LINUX or OVERRIDE_LINUX_BASE_PORT. +. endif . endif . endif + +RUN_DEPENDS+= ${LINUX_BASE_PORT} .endif .if defined(USE_MOTIF) @@ -1800,7 +1840,11 @@ USE_SUBMAKE= yes .endif .if defined(USE_XLIB) +. if defined(USE_LINUX) +RUN_DEPENDS+= ${LINUXBASE}/usr/X11R6/lib/libXrender.so.1:${PORTSDIR}/x11/linux-XFree86-libs +. else LIB_DEPENDS+= X11.6:${X_LIBRARIES_PORT} +. endif # Add explicit X options to avoid problems with false positives in configure .if defined(GNU_CONFIGURE) CONFIGURE_ARGS+=--x-libraries=${X11BASE}/lib --x-includes=${X11BASE}/include |