aboutsummaryrefslogtreecommitdiffstats
path: root/Mk/Uses/linux.mk
diff options
context:
space:
mode:
authortijl <tijl@FreeBSD.org>2016-09-06 03:23:42 +0800
committertijl <tijl@FreeBSD.org>2016-09-06 03:23:42 +0800
commit6255104baacfdd2c23e07550f90d2f9a7020ca87 (patch)
tree516db145d6cf5fd4d2666f811272aad577272ac5 /Mk/Uses/linux.mk
parent016de2316ed16336a58b66dafd7f332614a041ac (diff)
downloadfreebsd-ports-gnome-6255104baacfdd2c23e07550f90d2f9a7020ca87.tar.gz
freebsd-ports-gnome-6255104baacfdd2c23e07550f90d2f9a7020ca87.tar.zst
freebsd-ports-gnome-6255104baacfdd2c23e07550f90d2f9a7020ca87.zip
- Replace Mk/bsd.linux-apps.mk and Mk/bsd.linux-rpm.mk with
Mk/Uses/linux.mk. - Replace USE_LINUX=yes with USES+=linux and USE_LINUX=(.*) with USES+=linux:\1 in all ports. - Replace USE_LINUX_APPS with USE_LINUX in all ports. - Use INSTALL_SCRIPT instead of INSTALL_PROGRAM to install scripts in some ports. - When USE_LINUX_RPM is defined, simplify the way DISTFILES and EXTRACT_ONLY are defined. - Remove BRANDELF_DIRS and BRANDELF_FILES handling. In the very rare cases that it is still necessary ports can run ${BRANDELF} from post-patch. - Remove AUTOMATIC_PLIST handling. Only one port used it. - Fix Linux MASTER_SITES. - Replace OVERRIDE_LINUX_BASE_PORT and OVERRIDE_LINUX_NONBASE_PORTS with default versions framework. - bsd.port.mk: - Move Linux related bits to Uses/linux.mk, except USE_LINUX_PREFIX. - Put USE_LINUX_PREFIX handling after USES processing. - Define DOCSDIR, DATADIR, etc. after handling USE_LINUX_PREFIX so it can give these variables a different default value. - When a package needs to run Linux ldconfig check before installation if Linux support is enabled. - emulators/linux_base-*: - Use USES=linux and remove duplication. - Remove files/lp. FreeBSD or CUPS lp(1) should work. - Remove files/yp.conf. No longer seems to be used. - Remove pkg-deinstall and move pkg-install into pkg-plist. - Update pkg-descr and pkg-message. - Fix handling of ldconfig cache in pkg-plist. - devel/fb-adb: Use a Linux shell to run a Linux script but patch the script to use FreeBSD mkdir so mkdir -p $path creates $path and not /compat/linux/$path. PR: 211645 Exp-run by: antoine Approved by: portmgr (antoine)
Diffstat (limited to 'Mk/Uses/linux.mk')
-rw-r--r--Mk/Uses/linux.mk277
1 files changed, 277 insertions, 0 deletions
diff --git a/Mk/Uses/linux.mk b/Mk/Uses/linux.mk
new file mode 100644
index 000000000000..90f081b6b0fe
--- /dev/null
+++ b/Mk/Uses/linux.mk
@@ -0,0 +1,277 @@
+# $FreeBSD$
+#
+# Ports Linux compatibility framework
+#
+# Feature: linux:args
+# Usage: USES=linux or USES=linux:args
+# Valid args: f10 Depend on Fedora 10 packages (deprecated)
+# c6 Depend on CentOS 6 packages (default)
+# c7 Depend on CentOS 7 packages
+# Additional variables:
+# USE_LINUX List of Linux packages to depend on.
+# USE_LINUX_RPM When defined, additional variables and targets useful to Linux
+# infrastructure ports are made available. Possible values:
+# yes Default LIB_DISTFILES and empty BIN_DISTFILES.
+# nolib Default BIN_DISTFILES and empty LIB_DISTFILES.
+# Additional variables when USE_LINUX_RPM is defined:
+# BIN_DISTFILES List of distfiles to install.
+# LIB_DISTFILES List of distfiles to install both the 32 and 64 bit version of.
+# SRC_DISTFILES List of source distfiles that need to be distributed with
+# binary packages to comply with some licenses.
+#
+# MAINTAINER: emulation@FreeBSD.org
+
+.ifndef _INCLUDE_USES_LINUX_MK
+_INCLUDE_USES_LINUX_MK= yes
+_USES_POST+= linux
+
+.if empty(linux_ARGS)
+linux_ARGS= ${LINUX_DEFAULT:S/_64//}
+.endif
+
+.if ${linux_ARGS} == f10
+LINUX_DIST_VER?= 10
+.elif ${linux_ARGS} == c6
+LINUX_DIST_VER?= 6.8
+.elif ${linux_ARGS} == c7
+LINUX_DIST_VER?= 7.2.1511
+.else
+IGNORE= Invalid Linux distribution: ${linux_ARGS}
+.endif
+
+.if ${linux_ARGS} == f10
+LINUX_ARCH= i386
+DEPRECATED= Fedora 10 is unsupported and vulnerable
+EXPIRATION_DATE= 2016-12-31
+.else
+.if ${LINUX_DEFAULT:M*_64}
+LINUX_ARCH= x86_64
+.if ${ARCH} != amd64 || ${OPSYS} != FreeBSD || ${OSVERSION} < 1002507 \
+ || ( ${OSVERSION} >= 1100000 && ${OSVERSION} < 1100105 )
+IGNORE= Linux ${LINUX_DEFAULT} only supported on FreeBSD/amd64 10.3 or higher
+.endif
+.else
+LINUX_ARCH= i386
+.endif
+.endif
+
+linux_allegro_DEP= linux-${linux_ARGS}-allegro>0:devel/linux-${linux_ARGS}-allegro
+linux_alsa-plugins-oss_DEP= linux-${linux_ARGS}-alsa-plugins-oss>0:audio/linux-${linux_ARGS}-alsa-plugins-oss
+linux_alsa-plugins-pulseaudio_DEP=linux-${linux_ARGS}-alsa-plugins-pulseaudio>0:audio/linux-${linux_ARGS}-alsa-plugins-pulseaudio
+linux_alsalib_DEP= linux-${linux_ARGS}-alsa-lib>0:audio/linux-${linux_ARGS}-alsa-lib
+linux_arts_DEP= linux-${linux_ARGS}-arts>0:audio/linux-${linux_ARGS}-arts
+linux_atk_DEP= linux-${linux_ARGS}-atk>0:accessibility/linux-${linux_ARGS}-atk
+linux_avahi-libs_DEP= linux-${linux_ARGS}-avahi-libs>0:net/linux-${linux_ARGS}-avahi-libs
+linux_base_DEP= linux_base-${linux_ARGS}>0:emulators/linux_base-${linux_ARGS}
+linux_cairo_DEP= linux-${linux_ARGS}-cairo>0:graphics/linux-${linux_ARGS}-cairo
+linux_cups-libs_DEP= linux-${linux_ARGS}-cups-libs>0:print/linux-${linux_ARGS}-cups-libs
+linux_curl_DEP= linux-${linux_ARGS}-curl>0:ftp/linux-${linux_ARGS}-curl
+linux_cyrus-sasl2_DEP= linux-${linux_ARGS}-cyrus-sasl2>0:security/linux-${linux_ARGS}-cyrus-sasl2
+linux_dbusglib_DEP= linux-${linux_ARGS}-dbus-glib>0:devel/linux-${linux_ARGS}-dbus-glib
+linux_dbuslibs_DEP= linux-${linux_ARGS}-dbus-libs>0:devel/linux-${linux_ARGS}-dbus-libs
+linux_devtools_DEP= linux-${linux_ARGS}-devtools>0:devel/linux-${linux_ARGS}-devtools
+linux_dri_DEP= linux-${linux_ARGS}-dri>0:graphics/linux-${linux_ARGS}-dri
+linux_esound_DEP= linux-${linux_ARGS}-esound>0:audio/linux-${linux_ARGS}-esound
+linux_expat_DEP= linux-${linux_ARGS}-expat>0:textproc/linux-${linux_ARGS}-expat
+linux_flac_DEP= linux-${linux_ARGS}-flac>0:audio/linux-${linux_ARGS}-flac
+linux_fontconfig_DEP= linux-${linux_ARGS}-fontconfig>0:x11-fonts/linux-${linux_ARGS}-fontconfig
+.if ${linux_ARGS:Mf10}
+linux_gdkpixbuf2_DEP= linux-${linux_ARGS}-gtk2>0:x11-toolkits/linux-${linux_ARGS}-gtk2
+.else
+linux_gdkpixbuf2_DEP= linux-${linux_ARGS}-gdk-pixbuf2>0:graphics/linux-${linux_ARGS}-gdk-pixbuf2
+.endif
+linux_gnutls_DEP= linux-${linux_ARGS}-gnutls>0:security/linux-${linux_ARGS}-gnutls
+linux_gtk2_DEP= linux-${linux_ARGS}-gtk2>0:x11-toolkits/linux-${linux_ARGS}-gtk2
+linux_hicontheme_DEP= linux-${linux_ARGS}-hicolor-icon-theme>0:x11-themes/linux-${linux_ARGS}-hicolor-icon-theme
+linux_jasper_DEP= linux-${linux_ARGS}-jasper>0:graphics/linux-${linux_ARGS}-jasper
+linux_jpeg_DEP= linux-${linux_ARGS}-jpeg>0:graphics/linux-${linux_ARGS}-jpeg
+linux_libasyncns_DEP= linux-${linux_ARGS}-libasyncns>0:dns/linux-${linux_ARGS}-libasyncns
+linux_libaudiofile_DEP= linux-${linux_ARGS}-libaudiofile>0:audio/linux-${linux_ARGS}-libaudiofile
+linux_libgcrypt_DEP= linux-${linux_ARGS}-libgcrypt>0:security/linux-${linux_ARGS}-libgcrypt
+linux_libgfortran_DEP= linux-${linux_ARGS}-libgfortran>0:devel/linux-${linux_ARGS}-libgfortran
+linux_libglu_DEP= linux-${linux_ARGS}-libGLU>0:graphics/linux-${linux_ARGS}-libGLU
+linux_libgpg-error_DEP= linux-${linux_ARGS}-libgpg-error>0:security/linux-${linux_ARGS}-libgpg-error
+linux_libmng_DEP= linux-${linux_ARGS}-libmng>0:graphics/linux-${linux_ARGS}-libmng
+linux_libogg_DEP= linux-${linux_ARGS}-libogg>0:audio/linux-${linux_ARGS}-libogg
+linux_libpciaccess_DEP= linux-${linux_ARGS}-libpciaccess>0:devel/linux-${linux_ARGS}-libpciaccess
+linux_libsndfile_DEP= linux-${linux_ARGS}-libsndfile>0:audio/linux-${linux_ARGS}-libsndfile
+linux_libssh2_DEP= linux-${linux_ARGS}-libssh2>0:security/linux-${linux_ARGS}-libssh2
+linux_libtasn1_DEP= linux-${linux_ARGS}-libtasn1>0:security/linux-${linux_ARGS}-libtasn1
+linux_libthai_DEP= linux-${linux_ARGS}-libthai>0:devel/linux-${linux_ARGS}-libthai
+linux_libtheora_DEP= linux-${linux_ARGS}-libtheora>0:multimedia/linux-${linux_ARGS}-libtheora
+linux_libv4l_DEP= linux-${linux_ARGS}-libv4l>0:multimedia/linux-${linux_ARGS}-libv4l
+linux_libvorbis_DEP= linux-${linux_ARGS}-libvorbis>0:audio/linux-${linux_ARGS}-libvorbis
+linux_libxml2_DEP= linux-${linux_ARGS}-libxml2>0:textproc/linux-${linux_ARGS}-libxml2
+linux_mikmod_DEP= linux-${linux_ARGS}-mikmod>0:audio/linux-${linux_ARGS}-mikmod
+linux_naslibs_DEP= linux-${linux_ARGS}-nas-libs>0:audio/linux-${linux_ARGS}-nas-libs
+linux_ncurses-base_DEP= linux-${linux_ARGS}-ncurses-base>0:devel/linux-${linux_ARGS}-ncurses-base
+linux_nspr_DEP= linux-${linux_ARGS}-nspr>0:devel/linux-${linux_ARGS}-nspr
+linux_nss_DEP= linux-${linux_ARGS}-nss>0:security/linux-${linux_ARGS}-nss
+linux_openal_DEP= linux-${linux_ARGS}-openal>0:audio/linux-${linux_ARGS}-openal
+linux_openal-soft_DEP= linux-${linux_ARGS}-openal-soft>0:audio/linux-${linux_ARGS}-openal-soft
+linux_openldap_DEP= linux-${linux_ARGS}-openldap>0:net/linux-${linux_ARGS}-openldap
+linux_openmotif_DEP= linux-${linux_ARGS}-openmotif>0:x11-toolkits/linux-${linux_ARGS}-openmotif
+linux_openssl_DEP= linux-${linux_ARGS}-openssl>0:security/linux-${linux_ARGS}-openssl
+linux_openssl-compat_DEP= linux-${linux_ARGS}-openssl-compat>0:security/linux-${linux_ARGS}-openssl-compat
+linux_pango_DEP= linux-${linux_ARGS}-pango>0:x11-toolkits/linux-${linux_ARGS}-pango
+linux_pixman_DEP= linux-${linux_ARGS}-pixman>0:x11/linux-${linux_ARGS}-pixman
+linux_png_DEP= linux-${linux_ARGS}-png>0:graphics/linux-${linux_ARGS}-png
+linux_pulseaudio-libs_DEP= linux-${linux_ARGS}-pulseaudio-libs>0:audio/linux-${linux_ARGS}-pulseaudio-libs
+linux_qt47_DEP= linux-${linux_ARGS}-qt47>0:devel/linux-${linux_ARGS}-qt47
+linux_qt47-webkit_DEP= linux-${linux_ARGS}-qt47-webkit>0:www/linux-${linux_ARGS}-qt47-webkit
+linux_qt47-x11_DEP= linux-${linux_ARGS}-qt47-x11>0:x11-toolkits/linux-${linux_ARGS}-qt47-x11
+linux_scimlibs_DEP= linux-${linux_ARGS}-scim-libs>0:textproc/linux-${linux_ARGS}-scim-libs
+linux_sdl12_DEP= linux-${linux_ARGS}-sdl>0:devel/linux-${linux_ARGS}-sdl12
+linux_sdlimage_DEP= linux-${linux_ARGS}-sdl_image>0:graphics/linux-${linux_ARGS}-sdl_image
+linux_sdlmixer_DEP= linux-${linux_ARGS}-sdl_mixer>0:audio/linux-${linux_ARGS}-sdl_mixer
+.if ${linux_ARGS:Mf10}
+linux_sqlite3_DEP= linux-${linux_ARGS}-sqlite3>0:databases/linux-${linux_ARGS}-sqlite3
+.else
+linux_sqlite3_DEP= linux-${linux_ARGS}-sqlite>0:databases/linux-${linux_ARGS}-sqlite3
+.endif
+linux_tcl85_DEP= linux-${linux_ARGS}-tcl85>0:lang/linux-${linux_ARGS}-tcl85
+linux_tcp_wrappers-libs_DEP= linux-${linux_ARGS}-tcp_wrappers-libs>0:net/linux-${linux_ARGS}-tcp_wrappers-libs
+linux_tiff_DEP= linux-${linux_ARGS}-tiff>0:graphics/linux-${linux_ARGS}-tiff
+linux_tk85_DEP= linux-${linux_ARGS}-tk85>0:x11-toolkits/linux-${linux_ARGS}-tk85
+linux_ucl_DEP= linux-${linux_ARGS}-ucl>0:archivers/linux-${linux_ARGS}-ucl
+linux_xorglibs_DEP= linux-${linux_ARGS}-xorg-libs>0:x11/linux-${linux_ARGS}-xorg-libs
+
+USE_LINUX?= base
+.for i in ${USE_LINUX}
+_i:= ${i:C/\:.*//}
+_i_args:= ${i:C/^[^\:]*(\:|\$)//:S/,/ /g}
+.if ${_i_args:Mpatch}
+PATCH_DEPENDS+= ${linux_${_i}_DEP}
+.endif
+.if ${_i_args:Mbuild}
+BUILD_DEPENDS+= ${linux_${_i}_DEP}
+.endif
+.if ${_i_args:Mrun} || empty(_i_args)
+RUN_DEPENDS+= ${linux_${_i}_DEP}
+.endif
+.endfor
+
+.ifdef USE_LINUX_RPM
+
+DISTVERSIONSUFFIX?= -${RPMVERSION}
+
+.if ${linux_ARGS} == f10
+
+.ifndef MASTER_SITES
+MASTER_SITES= ${MASTER_SITE_FEDORA_LINUX}
+MASTER_SITE_SUBDIR= releases/${LINUX_DIST_VER}/Everything/${LINUX_ARCH}/os/Packages \
+ updates/${LINUX_DIST_VER}/${LINUX_ARCH} \
+ releases/${LINUX_DIST_VER}/Everything/source/SRPMS/:SOURCE \
+ updates/${LINUX_DIST_VER}/SRPMS/:SOURCE
+.endif
+DIST_SUBDIR?= rpm/${LINUX_ARCH}/fedora/${LINUX_DIST_VER}
+
+LINUX_RPM_ARCH?= i386
+
+.elif ${linux_ARGS} == c6
+
+.ifndef MASTER_SITES
+MASTER_SITES= ${MASTER_SITE_CENTOS_LINUX}
+MASTER_SITE_SUBDIR= centos/${LINUX_DIST_VER}/os/${LINUX_ARCH}/Packages \
+ centos/${LINUX_DIST_VER}/updates/${LINUX_ARCH}/Packages \
+ centos/${LINUX_DIST_VER}/os/Source/SPackages/:SOURCE \
+ centos/${LINUX_DIST_VER}/updates/Source/SPackages/:SOURCE
+.endif
+DIST_SUBDIR?= rpm/${LINUX_RPM_ARCH}/centos/${LINUX_DIST_VER}
+
+.if ${LINUX_ARCH} == x86_64
+LINUX_RPM_ARCH?= x86_64
+LINUX_RPM_ARCH32?= i686
+.else
+LINUX_RPM_ARCH?= i686
+.endif
+
+.elif ${linux_ARGS} == c7
+
+.ifndef MASTER_SITES
+MASTER_SITES= ${MASTER_SITE_CENTOS_LINUX}
+.if ${LINUX_ARCH} == x86_64
+MASTER_SITE_SUBDIR= centos/${LINUX_DIST_VER}/os/${LINUX_ARCH}/Packages \
+ centos/${LINUX_DIST_VER}/updates/${LINUX_ARCH}/Packages
+.else
+MASTER_SITE_SUBDIR= altarch/${LINUX_DIST_VER}/os/${LINUX_ARCH}/Packages \
+ altarch/${LINUX_DIST_VER}/updates/${LINUX_ARCH}/Packages
+.endif
+MASTER_SITE_SUBDIR+= centos/${LINUX_DIST_VER}/os/Source/SPackages/:SOURCE \
+ centos/${LINUX_DIST_VER}/updates/Source/SPackages/:SOURCE
+.endif
+DIST_SUBDIR?= rpm/centos/${LINUX_DIST_VER}/${LINUX_ARCH}
+
+.if ${LINUX_ARCH} == x86_64
+LINUX_RPM_ARCH?= x86_64
+LINUX_RPM_ARCH32?= i686
+.else
+LINUX_RPM_ARCH?= i686
+.endif
+
+.endif # ${linux_ARGS} == *
+
+PKGNAMEPREFIX?= linux-${linux_ARGS}-
+EXTRACT_SUFX?= .${LINUX_RPM_ARCH}.rpm
+.ifdef LINUX_RPM_ARCH32
+EXTRACT_SUFX32?= .${LINUX_RPM_ARCH32}.rpm
+.endif
+SRC_SUFX?= .src.rpm
+
+NO_BUILD= yes
+NO_WRKSUBDIR= yes
+USE_LINUX_PREFIX= yes
+
+.endif # USE_LINUX_RPM
+
+.endif # ! _INCLUDE_USES_LINUX_MK
+
+.ifdef _POSTMKINCLUDED && ! _INCLUDE_USES_LINUX_POST_MK
+_INCLUDE_USES_LINUX_POST_MK= yes
+
+.ifdef USE_LINUX_RPM
+
+.if ${USE_LINUX_RPM} == nolib
+BIN_DISTFILES?= ${DISTNAME}${EXTRACT_SUFX}
+.else
+LIB_DISTFILES?= ${DISTNAME}${EXTRACT_SUFX}
+.endif
+.ifdef LINUX_RPM_ARCH32
+DISTFILES?= ${LIB_DISTFILES:S/${EXTRACT_SUFX}/${EXTRACT_SUFX32}/} \
+ ${LIB_DISTFILES} ${BIN_DISTFILES}
+EXTRACT_ONLY?= ${LIB_DISTFILES:S/${EXTRACT_SUFX}/${EXTRACT_SUFX32}/} \
+ ${LIB_DISTFILES} ${BIN_DISTFILES}
+.else
+DISTFILES?= ${LIB_DISTFILES} ${BIN_DISTFILES}
+EXTRACT_ONLY?= ${LIB_DISTFILES} ${BIN_DISTFILES}
+.endif
+.ifdef PACKAGE_BUILDING
+SRC_DISTFILES?= ${LIB_DISTFILES:S/${EXTRACT_SUFX}/${SRC_SUFX}:SOURCE/} \
+ ${BIN_DISTFILES:S/${EXTRACT_SUFX}/${SRC_SUFX}:SOURCE/}
+DISTFILES+= ${SRC_DISTFILES}
+ALWAYS_KEEP_DISTFILES= yes
+.endif
+
+DISTINFO_FILE?= ${MASTERDIR}/distinfo.${LINUX_ARCH}
+
+.ifdef USE_LINUX_RPM_BAD_PERMS
+EXTRACT_DEPENDS+= rpm2archive:archivers/rpm4
+EXTRACT_CMD= rpm2archive
+EXTRACT_BEFORE_ARGS= <
+EXTRACT_AFTER_ARGS= | ${TAR} xf - --no-same-owner --no-same-permissions
+.endif
+
+ONLY_FOR_ARCHS?= i386 amd64
+.if ${linux_ARGS} != f10
+PLIST?= ${PKGDIR}/pkg-plist.${LINUX_ARCH}
+.endif
+
+.if !target(do-install)
+do-install:
+ (cd ${WRKSRC} && ${FIND} * -type d -exec ${MKDIR} "${STAGEDIR}${PREFIX}/{}" \;)
+ (cd ${WRKSRC} && ${FIND} * ! -type d | ${CPIO} -pm ${STAGEDIR}${PREFIX})
+.endif
+
+.endif # USE_LINUX_RPM
+
+.endif # _POSTMKINCLUDED && ! _INCLUDE_USES_LINUX_POST_MK