freebsd-ports/devel/linux_devtools/Makefile
Alexander Leidinger 23b3bc4b0d 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
2005-06-17 22:59:29 +00:00

111 lines
2.7 KiB
Makefile

# New ports collection makefile for: linux_devtools
# Date created: Jul 9, 1999
# Whom: marcel@FreeBSD.org
#
# $FreeBSD$
#
PORTNAME= linux_devtools
PORTVERSION= 8.0
PORTREVISION= 4
CATEGORIES= devel emulators linux
MASTER_SITES= ${MASTER_SITE_REDHAT_LINUX}
MASTER_SITE_SUBDIR= ${PORTVERSION}/${LANG}/os/${ARCH}/RedHat/RPMS
DISTFILES= glibc-devel-2.2.93-5.i386.rpm \
compat-libstdc++-devel-7.3-2.96.110.i386.rpm \
libstdc++-devel-3.2-7.i386.rpm \
make-3.79.1-14.i386.rpm \
binutils-2.13.90.0.2-2.i386.rpm \
cpp-3.2-7.i386.rpm \
gcc-3.2-7.i386.rpm \
gcc-c++-3.2-7.i386.rpm \
gcc-g77-3.2-7.i386.rpm \
gdb-5.2.1-4.i386.rpm \
rpm-build-4.1-1.06.i386.rpm \
rpm-devel-4.1-1.06.i386.rpm \
glibc-kernheaders-2.4-7.20.i386.rpm
EXTRACT_ONLY=
PATCH_SITES= ${MASTER_SITE_REDHAT_LINUX}
PATCH_SITE_SUBDIR= updates/${PORTVERSION}/${LANG}/os/${ARCH}
PATCHFILES= ${UPDATES}
MAINTAINER= freebsd-emulation@FreeBSD.org
COMMENT= Packages needed for doing development in Linux mode
BUILD_DEPENDS= rpm:${PORTSDIR}/archivers/rpm
USE_LINUX= 8
USE_LINUX_PREFIX= yes
ONLY_FOR_ARCHS= i386 amd64
CONFLICTS= linux_devtools-*
DIST_SUBDIR= rpm/${ARCH}/${PORTVERSION}
NO_BUILD= yes
PLIST= ${WRKDIR}/pkg-plist
# Let's avoid hardcoding 'en' as the language.
LANG= en
.include <bsd.port.pre.mk>
UPDATES= XFree86-devel-4.2.1-23.i386.rpm
DBPATH= /var/lib/rpm
RPM= LC_ALL=C rpm
RPMFLAGS= --root ${PREFIX} --dbpath ${DBPATH} --nodeps \
--replacepkgs --ignoreos
RPMDIR= ${DISTDIR}/${DIST_SUBDIR}
REMOVE_DIRS= dev tmp var/tmp
REMOVE_FILES=
.if (${ARCH} == "amd64")
ARCH= i386
RPMFLAGS+= --ignorearch
.endif
do-patch:
@${DO_NADA}
pre-install:
${RM} -rf ${WRKSRC}/tmp
${MKDIR} ${WRKSRC}/tmp
.for ii in ${DISTFILES} ${PATCHFILES}
cd ${WRKSRC}/tmp; rpm2cpio < ${DISTDIR}/${DIST_SUBDIR}/${ii} | \
${CPIO} -id
.endfor
cd ${WRKSRC}/tmp; ${FIND} * -type f -o -type l > ${PLIST}; \
${FIND} -d * -type d | \
${GREP} -vwE "(bin$$|X11R6/include$$|lib$$|man$$|src$$)" | \
${SED} -e 's:^:@dirrm :' >> ${PLIST}
.for dir in lib/gcc-lib src X11R6/bin X11R6/include X11R6/lib X11R6/man X11R6
${ECHO_CMD} "@unexec rmdir %D/usr/${dir} >/dev/null 2>&1 || true" >> ${PLIST}
.endfor
${RM} -rf ${WRKSRC}/tmp
do-install:
@${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
@${MKDIR} ${PREFIX}/tmp
@${MKDIR} ${PREFIX}/var/tmp
#
# Install all packages.
@for R in ${DISTFILES}; do \
${ECHO_MSG} $$R; \
${RPM} -U ${RPMFLAGS} ${RPMDIR}/$$R; \
done
#
# Install updates
@for R in ${PATCHFILES}; do \
${ECHO_MSG} $$R; \
${RPM} -U ${RPMFLAGS} ${RPMDIR}/$$R; \
done
#
# Finish
@for D in ${REMOVE_DIRS}; do \
${RM} -rf ${PREFIX}/$$D; \
done
@for F in ${REMOVE_FILES}; do \
${RM} ${PREFIX}/$$F; \
done
.include <bsd.port.post.mk>