svn commit: r511702 - head/audio/linux-c7-alsa-plugins-oss
Tijl Coosemans
tijl at FreeBSD.org
Mon Sep 9 20:36:11 UTC 2019
Author: tijl
Date: Mon Sep 9 20:36:10 2019
New Revision: 511702
URL: https://svnweb.freebsd.org/changeset/ports/511702
Log:
- Make the port safe to build as root. [1]
Given an absolute /path Linux programs first try to access
/compat/linux/path before trying /path. That means mkdir -p ${STAGEDIR}
will always create /compat/linux${STAGEDIR} when run as root and echo >
/dev/null will create /compat/linux/dev/null as a regular file. Fix this
by running configure with FreeBSD /bin/sh and build/install using FreeBSD
gmake. PATH is set to /compat/linux/usr/bin and MKDIR_P to /bin/mkdir -p
so all commands except mkdir are still Linux programs.
- Add USES=libtool:build because libtoolize is needed. [2]
- Add USES=pkgconfig.
- Remove -DFREEBSD_OSS_BUFSZ_P2 because it breaks some games. [3]
- Replace -nostdinc -isystem ... with --sysroot=${LINUXBASE}. [3]
- Include bsd.port.options.mk to get ARCH. [3]
PR: 240043
Reported by: VVD <vvd at unislabs.com> [1]
Reported by: Giacomo Olgeni <olgeni at olgeni.com> [2]
Reported by: Alex S <iwtcex at gmail.com> [3]
Modified:
head/audio/linux-c7-alsa-plugins-oss/Makefile
Modified: head/audio/linux-c7-alsa-plugins-oss/Makefile
==============================================================================
--- head/audio/linux-c7-alsa-plugins-oss/Makefile Mon Sep 9 20:34:54 2019 (r511701)
+++ head/audio/linux-c7-alsa-plugins-oss/Makefile Mon Sep 9 20:36:10 2019 (r511702)
@@ -4,7 +4,7 @@
PORTNAME= alsa-plugins
PORTVERSION= 1.1.6
DISTVERSIONSUFFIX= -1.el7
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= audio linux
MASTER_SITES= CENTOS_LINUX
MASTER_SITE_SUBDIR= centos/${LINUX_DIST_VER}/os/Source/SPackages/ \
@@ -19,10 +19,9 @@ COMMENT= OSS plugin for ALSA (Linux CentOS ${LINUX_DIS
LICENSE= LGPL21+
-USES= autoreconf:build linux:c7
+USES= autoreconf:build gmake libtool:build linux:c7 pkgconfig
USE_LDCONFIG= yes
-USE_LINUX= alsalib:build,run alsa-lib-devel:build devtools:build \
- make:build
+USE_LINUX= alsalib:build,run alsa-lib-devel:build devtools:build
USE_LINUX_PREFIX=yes
RPM_PATCHES= alsa-plugins-1.1.6-post.patch \
@@ -31,13 +30,8 @@ CONFIG_ARGS= --disable-static --disable-mix --disable-
--disable-arcamav --disable-jack --disable-pulseaudio \
--disable-samplerate --disable-libav --disable-a52 \
--disable-lavrate --disable-speexdsp --with-speex=no
-CFLAGS+= -DFREEBSD_OSS -DFREEBSD_OSS_USE_IO_PTR -DFREEBSD_OSS_BUFSZ_P2
-CFLAGS_amd64= -nostdinc -isystem \
- ${LINUXBASE}/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include \
- -isystem /usr/include
-CFLAGS_i386= -nostdinc -isystem \
- ${LINUXBASE}/usr/lib/gcc/i686-redhat-linux/4.8.5/include \
- -isystem /usr/include
+CPPFLAGS+= -DFREEBSD_OSS -DFREEBSD_OSS_USE_IO_PTR
+CFLAGS+= --sysroot=${LINUXBASE}
COMPAT32_CFLAGS_amd64= -m32
LIBDIR_amd64= /usr/lib64
LIBDIR_i386= /usr/lib
@@ -48,6 +42,8 @@ CONFLICTS= linux-c6-${PORTNAME}${PKGNAMESUFFIX}-[0-9]*
DESCR= ${.CURDIR}/../${PORTNAME}/pkg-descr
PLIST= ${PKGDIR}/pkg-plist.${ARCH}
+.include <bsd.port.options.mk>
+
post-extract:
.if !empty(COMPAT32_CFLAGS_${ARCH})
@${MKDIR} ${WRKDIR}/32
@@ -58,6 +54,8 @@ post-extract:
${PORTNAME}-${PORTVERSION}.tar.bz2 ${EXTRACT_AFTER_ARGS})
do-patch:
+ @${REINPLACE_CMD} 's/mkdir -p/$$(MKDIR_P)/' \
+ ${WRKDIR}/alsa-plugins-1.1.6-post.patch
.for p in ${RPM_PATCHES}
.if !empty(COMPAT32_CFLAGS_${ARCH})
@${PATCH} -d ${WRKSRC32} --forward --quiet -E -p1 < ${WRKDIR}/${p}
@@ -74,28 +72,38 @@ do-patch:
do-configure:
.if !empty(COMPAT32_CFLAGS_${ARCH})
@(cd ${WRKSRC32} && ${AUTORECONF} -f -i && ${SETENV} \
+ PATH=${LINUXBASE}/usr/bin ./configure CPPFLAGS="${CPPFLAGS}" \
+ CFLAGS="${CFLAGS} ${COMPAT32_CFLAGS_${ARCH}}" \
+ LDFLAGS="${LDFLAGS}" MAKE="${LOCALBASE}/bin/gmake" \
+ MKDIR_P="${MKDIR}" PKG_CONFIG="${LOCALBASE}/bin/pkgconf" \
PKG_CONFIG_PATH=${LINUXBASE}/usr/lib/pkgconfig \
- ${LINUXBASE}/bin/sh ./configure \
- CFLAGS="${CFLAGS} ${COMPAT32_CFLAGS_${ARCH}}" ${CONFIG_ARGS})
+ ${CONFIG_ARGS})
.endif
@(cd ${WRKSRC} && ${AUTORECONF} -f -i && ${SETENV} \
+ PATH=${LINUXBASE}/usr/bin ./configure CPPFLAGS="${CPPFLAGS}" \
+ CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" \
+ MAKE="${LOCALBASE}/bin/gmake" MKDIR_P="${MKDIR}" \
+ PKG_CONFIG="${LOCALBASE}/bin/pkgconf" \
PKG_CONFIG_PATH=${LINUXBASE}${LIBDIR_${ARCH}}/pkgconfig \
- ${LINUXBASE}/bin/sh ./configure --libdir ${LIBDIR_${ARCH}} \
- CFLAGS="${CFLAGS}" ${CONFIG_ARGS})
+ --libdir ${LIBDIR_${ARCH}} ${CONFIG_ARGS})
do-build:
.if !empty(COMPAT32_CFLAGS_${ARCH})
- @(cd ${WRKSRC32} && ${LINUXBASE}/usr/bin/make)
+ @(cd ${WRKSRC32} && ${SETENV} PATH=${LINUXBASE}/usr/bin \
+ ${LOCALBASE}/bin/gmake)
.endif
- @(cd ${WRKSRC} && ${LINUXBASE}/usr/bin/make)
+ @(cd ${WRKSRC} && ${SETENV} PATH=${LINUXBASE}/usr/bin \
+ ${LOCALBASE}/bin/gmake)
do-install:
.if !empty(COMPAT32_CFLAGS_${ARCH})
- @(cd ${WRKSRC32} && ${LINUXBASE}/usr/bin/make install-strip \
+ @(cd ${WRKSRC32} && ${SETENV} PATH=${LINUXBASE}/usr/bin \
+ ${LOCALBASE}/bin/gmake install-strip \
DESTDIR=${STAGEDIR}${LINUXBASE})
${RM} -r ${STAGEDIR}${LINUXBASE}/usr/lib/alsa-lib/*.la
.endif
- @(cd ${WRKSRC} && ${LINUXBASE}/usr/bin/make install-strip \
+ @(cd ${WRKSRC} && ${SETENV} PATH=${LINUXBASE}/usr/bin \
+ ${LOCALBASE}/bin/gmake install-strip \
DESTDIR=${STAGEDIR}${LINUXBASE})
${RM} -r ${STAGEDIR}${LINUXBASE}${LIBDIR_${ARCH}}/alsa-lib/*.la
${RM} -r ${STAGEDIR}${LINUXBASE}/etc ${STAGEDIR}${LINUXBASE}/usr/share
More information about the svn-ports-all
mailing list