1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-08 06:48:28 +00:00
freebsd-ports/Mk/Uses/mono.mk

235 lines
8.3 KiB
Makefile
Raw Normal View History

# $FreeBSD$
#
# mono (c#) support
#
# Feature: mono
# Usage: USES=mono:ARGS
# Valid ARGS: nuget
#
# MAINTAINER= mono@FreeBSD.org
#
# Arguments:
#
# nuget Specifies that the port uses nuget packages.
#
USES=mono: simplify EXTRACT_ONLY, fix nuget-extract [1] - Instead of excluding the specific packages added to DISTFILES (but only for FreeBSD 9+), exclude all files with a '.nupkg' extension. - Move the nuget-extract command to be before post-extract, to allow the port's post-extract command to move packages around audio/libgpod-sharp: add port for mono bindings for libgpod - audio/libgpod: [2] - USE_GNOME: add missing dependency - Remove mono files from pkg-plist (now in audio/libgpod-sharp) - Allow relevant variables to be overridden - Fix MONO options - Patch source to allow building with modern mono - Avoid post-install target for slave ports. devel/monodevelop: update to 4.6.2.7 - Update nuget package Fantomas to 2.4.0 (latest at time of monodevelop's release). - Downgrade nuget package FSharp.Compiler.CodeDom (per paket's specification) - LICENSE: Add license of LGPL21 - LICENSE_FILE: Add license file from source - PORTSCOUT: Avoid checking alpha releases (aka x.y.0.z releases) games/openra: simplify post-extract [3] - USES=mono:nuget allow overridding of NUGET_PACKAGEDIR - Set NUGET_PACKAGEDIR to correct location, fix patching accordingly lang/fsharp: update to 4.6.2.7 ChangeLog: - Fix #639: Problems with F# scripts on Mono - Fix FSharp.Compiler.Tools targets for .NET Core usage - Fix FSharp.Compiler.Tools package dependencies lang/mono: update to 4.6.2.7 Mono 4.6.2 is the 1st service release to the 4.6 series. Changes: - LICENSE: Add license of MIT - LICENSE_FILE: Add license file from source - PORTSCOUT: Avoid checking alpha releases (aka x.y.0.z releases) Bug fixes: - #44708 - "TrustFailure (The authentication or decryption has failed.) ... Invalid certificate received from server." with "Error code: 0x5" or "Error code: 0xffffffff800b010f" when attempting to access HTTPS servers on ports other than 443 - #39832 - SIGSEGV when running roslyn multimedia/banshee: bump port revision. - Update missing port dependencies - Convert to use option helpers - OPTIONS: Add APPLEDEV (missing dependency added) - LICENSE: Add MIT license - LICENSE_FILE: Add license file from source - PORTSCOUT: Skip alpha release (2.9.1) x11-toolkits/gnome-sharp20: fix port dependencies - Add missing dependencies - Convert post-patch to shebangfix - LICENSE: add LGPL21 license - LICENSE_FILE: use license file from source - MKAE_JOBS_UNSAFE: remove, does appear to work x11-toolkits/gtk-sharp20: update to 2.12.42. PR: 214680 [2] PR: 214681 Suggested by: jbeich [1] Submitted by: jbeich [3] Approved by: avilla (maintainer; timeout) [2]
2016-11-27 17:00:08 +00:00
# EXTRACT_ONLY is conditionally overridden to exclude all
# files with a '.nupkg' extension.
#
# Targets:
#
# makenuget This target will output the NUGET_DEPENDS based on the
# port's packages.config file.
#
# makenupkg This target will create nupkg-${NAME} files based on the
# port's downloaded packages in ${NUGET_PACKAGEDIR}
#
# Variables overrideable by the port:
#
# NUGET_PACKAGEDIR The directory in which the port expects the
# nuget packages to be available
# default: ${WRKSRC}/packages
#
# NUGET_LAYOUT The directory layout of ${NUGET_PACKAGEDIR}:
# legacy:
# ${NAME}
# ${NAME}.${VERSION}
# ${NAME.tl}/${VERSION}
# flat:
# ${NAME}
# ${NAME:tl}
# dotnet:
# ${NAME:tl}/${VERSION}
# default: legacy
#
# NUGET_FEEDS A list of nuget feed names
# default: NUGET
#
# ${NAME}_URL: The base URL for the feed ${NAME}
# defaults:
# NUGET_URL=https://www.nuget.org/api/v2/
# ${NAME}_URL=https://dotnet.myget.org/F/${NAME:tl:S/_/-/g}/api/v2/
#
# ${NAME}_FILE: The file containing a list of nuget packages from
# feed ${NAME} in the format:
# ${name}=${version}
# default: ${PKGDIR}/nupkg-${NAME:tl}
#
# ${NAME}_DEPENDS: The list of nuget packages from feed ${NAME} in the
# format:
# ${name}=${version}
# defaults:
# NUGET_DEPENDS=${PAKET_DEPENDS}
#
# PAKET_PACKAGEDIR The directory in which the port expects the
# nuget packages (managed by paket) to be available
#
# PAKET_DEPENDS The list of nuget packages from a nuget feed. The
# version used needs to be resolved (unlike how paket
# works). The format is:
# ${name}=${version}
.if !defined(_INCLUDE_USES_MONO_MK)
_INCLUDE_USES_MONO_MK= yes
.if !empty(mono_ARGS:Nnuget)
IGNORE= USES=mono only supports an optional nuget argument
.endif
# Set the location of the .wapi directory so we write to a location we
# can always assume to be writable.
MONO_SHARED_DIR= ${WRKDIR}
CONFIGURE_ENV+= MONO_SHARED_DIR="${MONO_SHARED_DIR}"
MAKE_ENV+= MONO_SHARED_DIR="${MONO_SHARED_DIR}" TZ=UTC
BUILD_DEPENDS+= mono:lang/mono
RUN_DEPENDS+= mono:lang/mono
# Set the location that webaps served by XSP should use.
XSP_DOCROOT= ${PREFIX}/www/xsp
# gac utilities
GACUTIL=${LOCALBASE}/bin/gacutil /root ${PREFIX}/lib/ /gacdir ${PREFIX}/lib
GACUTIL_INSTALL=${GACUTIL} /i
GACUTIL_INSTALL_PACKAGE=${GACUTIL} /i /package 1.0 /package 2.0
.if ${mono_ARGS:Mnuget}
MAKE_ENV+= NUGET_PACKAGES=${NUGET_PACKAGEDIR}
# TODO: add nuget as a Port, use it for makenupkg
NUGET_EXE?= ${WRKDIR}/nuget.exe
NUGET_LATEST_URL?= https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
_NUGET_PACKAGEDIR= ${WRKDIR}/.nuget/packages
USES=mono: simplify EXTRACT_ONLY, fix nuget-extract [1] - Instead of excluding the specific packages added to DISTFILES (but only for FreeBSD 9+), exclude all files with a '.nupkg' extension. - Move the nuget-extract command to be before post-extract, to allow the port's post-extract command to move packages around audio/libgpod-sharp: add port for mono bindings for libgpod - audio/libgpod: [2] - USE_GNOME: add missing dependency - Remove mono files from pkg-plist (now in audio/libgpod-sharp) - Allow relevant variables to be overridden - Fix MONO options - Patch source to allow building with modern mono - Avoid post-install target for slave ports. devel/monodevelop: update to 4.6.2.7 - Update nuget package Fantomas to 2.4.0 (latest at time of monodevelop's release). - Downgrade nuget package FSharp.Compiler.CodeDom (per paket's specification) - LICENSE: Add license of LGPL21 - LICENSE_FILE: Add license file from source - PORTSCOUT: Avoid checking alpha releases (aka x.y.0.z releases) games/openra: simplify post-extract [3] - USES=mono:nuget allow overridding of NUGET_PACKAGEDIR - Set NUGET_PACKAGEDIR to correct location, fix patching accordingly lang/fsharp: update to 4.6.2.7 ChangeLog: - Fix #639: Problems with F# scripts on Mono - Fix FSharp.Compiler.Tools targets for .NET Core usage - Fix FSharp.Compiler.Tools package dependencies lang/mono: update to 4.6.2.7 Mono 4.6.2 is the 1st service release to the 4.6 series. Changes: - LICENSE: Add license of MIT - LICENSE_FILE: Add license file from source - PORTSCOUT: Avoid checking alpha releases (aka x.y.0.z releases) Bug fixes: - #44708 - "TrustFailure (The authentication or decryption has failed.) ... Invalid certificate received from server." with "Error code: 0x5" or "Error code: 0xffffffff800b010f" when attempting to access HTTPS servers on ports other than 443 - #39832 - SIGSEGV when running roslyn multimedia/banshee: bump port revision. - Update missing port dependencies - Convert to use option helpers - OPTIONS: Add APPLEDEV (missing dependency added) - LICENSE: Add MIT license - LICENSE_FILE: Add license file from source - PORTSCOUT: Skip alpha release (2.9.1) x11-toolkits/gnome-sharp20: fix port dependencies - Add missing dependencies - Convert post-patch to shebangfix - LICENSE: add LGPL21 license - LICENSE_FILE: use license file from source - MKAE_JOBS_UNSAFE: remove, does appear to work x11-toolkits/gtk-sharp20: update to 2.12.42. PR: 214680 [2] PR: 214681 Suggested by: jbeich [1] Submitted by: jbeich [3] Approved by: avilla (maintainer; timeout) [2]
2016-11-27 17:00:08 +00:00
NUGET_PACKAGEDIR?= ${WRKSRC}/packages
NUGET_LAYOUT?= legacy
NUGET_FEEDS?= NUGET
NUGET_URL?= https://api.nuget.org/v3-flatcontainer/
NUGET_VERSION?= v3
PAKET_PACKAGEDIR?=
PAKET_DEPENDS?=
NUGET_DEPENDS?= ${PAKET_DEPENDS}
. for feed in ${NUGET_FEEDS}
${feed}_DEPENDS?=
${feed}_FILE?= ${PKGDIR}/nupkg-${feed:tl}
${feed}_URL?= https://dotnet.myget.org/F/${feed:tl:S/_/-/g}/api/v2/
${feed}_VERSION?= v2
. if exists(${${feed}_FILE})
${feed}_EXTRA!= ${CAT} ${${feed}_FILE}
. else
${feed}_EXTRA=
. endif
MAKENUPKG_ENV+= ${feed:tl}_URL="${${feed}_URL}" ${feed:tl}_VERSION="${${feed}_VERSION}"
. for depend in ${${feed}_DEPENDS} ${${feed}_EXTRA}
. if empty(_NUGET_DEPENDS:M${depend})
id= ${depend:C/=.*$//}
version= ${depend:C/^.*=//}
group= nuget_${depend:C/[.+=-]//g}
nupkg= ${id:tl}.${version}.nupkg
DISTFILES_${group}:= ${nupkg}:${group}
. if ${${feed}_VERSION} == v2
MASTER_SITES_${group}:= ${${feed}_URL}package/${id}/${version}?dummy=/:${group}
. else
MASTER_SITES_${group}:= ${${feed}_URL}${id:tl}/${version}/:${group}
. endif
NUGET_NUPKGS_${group}:= ${nupkg}:${depend}
NUPKGS_${id}:= ${NUPKGS_${id}} ${version}
DISTFILES+= ${DISTFILES_nuget_${depend:S/.//g:S/-//g:S/=//g}}
MASTER_SITES+= ${MASTER_SITES_nuget_${depend:S/.//g:S/-//g:S/=//g}}
NUGET_NUPKGS+= ${NUGET_NUPKGS_nuget_${depend:S/.//g:S/-//g:S/=//g}}
_NUGET_DEPENDS+= ${depend}
. endif
. endfor
. endfor
USES=mono: simplify EXTRACT_ONLY, fix nuget-extract [1] - Instead of excluding the specific packages added to DISTFILES (but only for FreeBSD 9+), exclude all files with a '.nupkg' extension. - Move the nuget-extract command to be before post-extract, to allow the port's post-extract command to move packages around audio/libgpod-sharp: add port for mono bindings for libgpod - audio/libgpod: [2] - USE_GNOME: add missing dependency - Remove mono files from pkg-plist (now in audio/libgpod-sharp) - Allow relevant variables to be overridden - Fix MONO options - Patch source to allow building with modern mono - Avoid post-install target for slave ports. devel/monodevelop: update to 4.6.2.7 - Update nuget package Fantomas to 2.4.0 (latest at time of monodevelop's release). - Downgrade nuget package FSharp.Compiler.CodeDom (per paket's specification) - LICENSE: Add license of LGPL21 - LICENSE_FILE: Add license file from source - PORTSCOUT: Avoid checking alpha releases (aka x.y.0.z releases) games/openra: simplify post-extract [3] - USES=mono:nuget allow overridding of NUGET_PACKAGEDIR - Set NUGET_PACKAGEDIR to correct location, fix patching accordingly lang/fsharp: update to 4.6.2.7 ChangeLog: - Fix #639: Problems with F# scripts on Mono - Fix FSharp.Compiler.Tools targets for .NET Core usage - Fix FSharp.Compiler.Tools package dependencies lang/mono: update to 4.6.2.7 Mono 4.6.2 is the 1st service release to the 4.6 series. Changes: - LICENSE: Add license of MIT - LICENSE_FILE: Add license file from source - PORTSCOUT: Avoid checking alpha releases (aka x.y.0.z releases) Bug fixes: - #44708 - "TrustFailure (The authentication or decryption has failed.) ... Invalid certificate received from server." with "Error code: 0x5" or "Error code: 0xffffffff800b010f" when attempting to access HTTPS servers on ports other than 443 - #39832 - SIGSEGV when running roslyn multimedia/banshee: bump port revision. - Update missing port dependencies - Convert to use option helpers - OPTIONS: Add APPLEDEV (missing dependency added) - LICENSE: Add MIT license - LICENSE_FILE: Add license file from source - PORTSCOUT: Skip alpha release (2.9.1) x11-toolkits/gnome-sharp20: fix port dependencies - Add missing dependencies - Convert post-patch to shebangfix - LICENSE: add LGPL21 license - LICENSE_FILE: use license file from source - MKAE_JOBS_UNSAFE: remove, does appear to work x11-toolkits/gtk-sharp20: update to 2.12.42. PR: 214680 [2] PR: 214681 Suggested by: jbeich [1] Submitted by: jbeich [3] Approved by: avilla (maintainer; timeout) [2]
2016-11-27 17:00:08 +00:00
EXTRACT_ONLY?= ${_DISTFILES:N*.nupkg}
USES=mono: simplify EXTRACT_ONLY, fix nuget-extract [1] - Instead of excluding the specific packages added to DISTFILES (but only for FreeBSD 9+), exclude all files with a '.nupkg' extension. - Move the nuget-extract command to be before post-extract, to allow the port's post-extract command to move packages around audio/libgpod-sharp: add port for mono bindings for libgpod - audio/libgpod: [2] - USE_GNOME: add missing dependency - Remove mono files from pkg-plist (now in audio/libgpod-sharp) - Allow relevant variables to be overridden - Fix MONO options - Patch source to allow building with modern mono - Avoid post-install target for slave ports. devel/monodevelop: update to 4.6.2.7 - Update nuget package Fantomas to 2.4.0 (latest at time of monodevelop's release). - Downgrade nuget package FSharp.Compiler.CodeDom (per paket's specification) - LICENSE: Add license of LGPL21 - LICENSE_FILE: Add license file from source - PORTSCOUT: Avoid checking alpha releases (aka x.y.0.z releases) games/openra: simplify post-extract [3] - USES=mono:nuget allow overridding of NUGET_PACKAGEDIR - Set NUGET_PACKAGEDIR to correct location, fix patching accordingly lang/fsharp: update to 4.6.2.7 ChangeLog: - Fix #639: Problems with F# scripts on Mono - Fix FSharp.Compiler.Tools targets for .NET Core usage - Fix FSharp.Compiler.Tools package dependencies lang/mono: update to 4.6.2.7 Mono 4.6.2 is the 1st service release to the 4.6 series. Changes: - LICENSE: Add license of MIT - LICENSE_FILE: Add license file from source - PORTSCOUT: Avoid checking alpha releases (aka x.y.0.z releases) Bug fixes: - #44708 - "TrustFailure (The authentication or decryption has failed.) ... Invalid certificate received from server." with "Error code: 0x5" or "Error code: 0xffffffff800b010f" when attempting to access HTTPS servers on ports other than 443 - #39832 - SIGSEGV when running roslyn multimedia/banshee: bump port revision. - Update missing port dependencies - Convert to use option helpers - OPTIONS: Add APPLEDEV (missing dependency added) - LICENSE: Add MIT license - LICENSE_FILE: Add license file from source - PORTSCOUT: Skip alpha release (2.9.1) x11-toolkits/gnome-sharp20: fix port dependencies - Add missing dependencies - Convert post-patch to shebangfix - LICENSE: add LGPL21 license - LICENSE_FILE: use license file from source - MKAE_JOBS_UNSAFE: remove, does appear to work x11-toolkits/gtk-sharp20: update to 2.12.42. PR: 214680 [2] PR: 214681 Suggested by: jbeich [1] Submitted by: jbeich [3] Approved by: avilla (maintainer; timeout) [2]
2016-11-27 17:00:08 +00:00
_USES_extract+= 600:nuget-extract
nuget-extract:
@${MKDIR} ${_NUGET_PACKAGEDIR} ${PAKET_PACKAGEDIR}
. for nupkg in ${NUGET_NUPKGS}
@${MKDIR} ${_NUGET_PACKAGEDIR}/${nupkg:tl:C/^.*://:S|=|/|}
@tar -xf ${DISTDIR}/${nupkg:C/:.*$//} -C ${_NUGET_PACKAGEDIR}/${nupkg:tl:C/^.*://:S|=|/|} \
-s/%2B/\+/g -s/%2B/\+/g -s/%2B/\+/g \
--exclude '\[Content_Types\].xml' \
--exclude package/ \
--exclude _rels/
@${MV} ${_NUGET_PACKAGEDIR}/${nupkg:tl:C/^.*://:S|=|/|}/${nupkg:C/^.*://:C/=.*//}.nuspec \
${_NUGET_PACKAGEDIR}/${nupkg:tl:C/^.*://:S|=|/|}/${nupkg:tl:C/^.*://:C/=.*//}.nuspec
@${CP} ${DISTDIR}/${nupkg:C/:.*$//} ${_NUGET_PACKAGEDIR}/${nupkg:tl:C/^.*://:S|=|/|}/${nupkg:tl:C/^.*://:S/=/./}.nupkg
@openssl dgst -sha512 -binary ${DISTDIR}/${nupkg:C/:.*$//} | openssl enc -base64 | ${TR} -d "\n" \
> ${_NUGET_PACKAGEDIR}/${nupkg:tl:C/^.*://:S|=|/|}/${nupkg:tl:C/^.*://:S/=/./}.nupkg.sha512
. if ${NUGET_LAYOUT} == legacy
@${CP} -a ${_NUGET_PACKAGEDIR}/${nupkg:tl:C/^.*://:S|=|/|}/ ${_NUGET_PACKAGEDIR}/${nupkg:C/^.*://:S|=|.|}/
@${CP} -a ${_NUGET_PACKAGEDIR}/${nupkg:tl:C/^.*://:S|=|/|}/ ${_NUGET_PACKAGEDIR}/${nupkg:C/^.*://:C|=.*||}/
. if ${nupkg} != ${nupkg:tl}
@(cd ${_NUGET_PACKAGEDIR}/${nupkg:C/^.*://:C|=.*||}; \
${MV} ${nupkg:tl:C/^.*://:C/=.*//}.nuspec ${nupkg:C/^.*://:C/=.*//}.nuspec; \
${MV} ${nupkg:tl:C/^.*://:S/=/./}.nupkg ${nupkg:C/^.*://:S/=/./}.nupkg; \
${MV} ${nupkg:tl:C/^.*://:S/=/./}.nupkg.sha512 ${nupkg:C/^.*://:S/=/./}.nupkg.sha512)
@(cd ${_NUGET_PACKAGEDIR}/${nupkg:C/^.*://:S|=|.|}; \
${MV} ${nupkg:tl:C/^.*://:C/=.*//}.nuspec ${nupkg:C/^.*://:C/=.*//}.nuspec; \
${MV} ${nupkg:tl:C/^.*://:S/=/./}.nupkg ${nupkg:C/^.*://:S/=/./}.nupkg; \
${MV} ${nupkg:tl:C/^.*://:S/=/./}.nupkg.sha512 ${nupkg:C/^.*://:S/=/./}.nupkg.sha512)
. endif
. elif ${NUGET_LAYOUT} == flat
@${CP} -a ${_NUGET_PACKAGEDIR}/${nupkg:tl:C/^.*://:S|=|/|}/ ${_NUGET_PACKAGEDIR}/${nupkg:tl:C/^.*://:C|=.*||}/
@${RM} -r ${_NUGET_PACKAGEDIR}/${nupkg:tl:C/^.*://:S|=|/|}
. if ${nupkg} != ${nupkg:tl}
@${CP} -a ${_NUGET_PACKAGEDIR}/${nupkg:tl:C/^.*://:C|=.*||}/ ${_NUGET_PACKAGEDIR}/${nupkg:C/^.*://:C|=.*||}/
@(cd ${_NUGET_PACKAGEDIR}/${nupkg:C/^.*://:C|=.*||}; \
${MV} ${nupkg:tl:C/^.*://:C/=.*//}.nuspec ${nupkg:C/^.*://:C/=.*//}.nuspec; \
${MV} ${nupkg:tl:C/^.*://:S/=/./}.nupkg ${nupkg:C/^.*://:S/=/./}.nupkg; \
${MV} ${nupkg:tl:C/^.*://:S/=/./}.nupkg.sha512 ${nupkg:C/^.*://:S/=/./}.nupkg.sha512)
. endif
. endif
. endfor
@${RLN} ${_NUGET_PACKAGEDIR} ${NUGET_PACKAGEDIR}
@${TOUCH} ${WRKDIR}/.nuget-sentinal
_USES_extract+= 601:paket-extract
paket-extract:
. for nupkg in ${PAKET_DEPENDS}
@${RLN} ${_NUGET_PACKAGEDIR}/${nupkg:tl:S|=|/|} ${PAKET_PACKAGEDIR}/${nupkg:C/=.*//}
@(cd ${_NUGET_PACKAGEDIR}/${nupkg:tl:C/^.*://:S|=|/|}; \
${CP} ${nupkg:tl:C/^.*://:C/=.*//}.nuspec ${nupkg:C/^.*://:C/=.*//}.nuspec; \
${CP} ${nupkg:tl:C/^.*://:S/=/./}.nupkg ${nupkg:C/^.*://:S/=/./}.nupkg; \
${CP} ${nupkg:tl:C/^.*://:S/=/./}.nupkg.sha512 ${nupkg:C/^.*://:S/=/./}.nupkg.sha512)
. endfor
.endif
makenuget: patch
@${FIND} ${WRKSRC} -name packages.config | \
Update mono and related ports USES=mono: minor fixes - save a copy of the nuget package in the packages directory - force linking of directories, allowing nuget-extract to be rerun without `make clean` - fix makenuget: nuget requires an equals to identify the version, not a dash devel/monodevelop: update to 6.2.1.3 - update nuget packages: - link older System.Collection.Immutable 1.1.37 to newer 1.3.1 (used by C# and F# respectively) - update external github repositories - allow post-extract target to be run multiple times - change MonoDevelop.Packaging to use a newer version of NuGet.Build.Packaging (the older version is no longer fetchable) - remove patch integrated upstream - moved `nuget restore` patching from post-patch into a patch file (the former broke silently) - ChangeLog: - https://developer.xamarin.com/releases/studio/xamarin.studio_6.2/xamarin.studio_6.2/ irc/smartirc4net: update to 1.1 - add LICENSE lang/fsharp: update to 4.1.18 - add test dependency on libgdiplus - update nuget packages - update test paths for fsharp assemblies - update patches to prevent `nuget restore` from running - ChangeLog: - Set executable bit correctly on output - Integrate visualfsharp - Fix regression on binding redirects for System.Collections.Immutable - Fix regression in Microsoft.Build.FSharp.targets - Fix binding redirects for System.Collections.Immutable - Fix version of library going in %PREFIX/lib/mono/fsharp - Align fsc task and target file - Use install layout that includes mono/fsharp - Fix F# Intereactive on Mono 4.9+ - Update compiler tools - Updates to FSharp.Core nuget package for F# 4.1 - Fix #656: error FS0193: internal error: No access to the given key lang/mono: various fixes - fix linking with lld [1] - double maximum handle size [2] - add option to run acceptance tests - allow for optional bootstrapping of mono via either installed mcs (if available) or via downloaded "monolite" (default) - add python and py-pillow as dependencies for bin/mono-heapviz - add armv6 as a supported architecture (untested) - switch to github for source code: - official tarball does not include tests - patches: - recognise FreeBSD for AOT suffix - change mono-heapviz to use pillow instead of PIL multimedia/banshee: tell portscout to ignore this port - Portscout was not skipping the 2.9.1 version, and upstream appears to be quiet for the last few years. x11-toolkits/gtk-sharp20: update to 2.12.43 - ChangeLog: - fix compilation on mono-4.8.0 (incorrect use of sizeof()) - correctly set owned=true on custom constructors PR: 218885 [1] PR: 200937 [2]
2017-05-13 07:48:27 +00:00
${XARGS} ${SED} -nE 's|.*<package id="([^"]+)" version="([^"]+)"[^/]*/>.*|\1=\2|gp' | \
${SORT} -u | \
${SED} \
-e '1s|^|NUGET_DEPENDS= |' \
-e '2,$$s|^| |g' \
-e '$$!s|$$| \\|g'
makenupkg:
@${RM} ${WRKDIR}/nupkg-*
@for nuspec in `${FIND} ${_NUGET_PACKAGEDIR} -name '*.nuspec'`; do \
name="`${SED} -nE 's|.*<id>(.*)</id>.*|\1|p' $$nuspec`"; \
version="`${SED} -nE 's|.*<version>(.*)</version>.*|\1|p' $$nuspec`"; \
echo $$name=$$version ; \
done | ${SORT} -u | ${SETENV} ${MAKENUPKG_ENV} ${XARGS} -n1 sh -c ' \
for feed in ${NUGET_FEEDS:MNUGET:tl} ${NUGET_FEEDS:NNUGET:tl}; do \
if eval [ "\$${$${feed}_VERSION}" = v2 ]; then \
eval url="\$${$${feed}_URL}package/$${0%%=*}/$${0##*=}"; \
else \
eval url="\$${$${feed}_URL}$${0%%=*}/$${0##*=}/$${0%%=*}.$${0##*=}.nupkg"; \
fi; \
if curl --output /dev/null --silent --head --fail $$url; then\
${ECHO} $$0 >> ${WRKDIR}/nupkg-$$feed; \
found=yes; \
break; \
fi; \
done; \
if [ -z "$$found" ]; then \
echo "$$0: no feed found"; \
exit 1; \
fi'
.endif