1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-01 01:17:02 +00:00
freebsd-ports/lang/linux-dotnet-sdk/Makefile
David Naylor c444ec3ffe lang/linux-dotnet-(runtime|sdk): add linux implementation of .NET Core
- add LTS versions
 - Dotnet Core 2.1 fails due to issue with linprocfs (PR pending)

.NET Core is a free and open-source managed software framework. It consists of
CoreCLR, a complete runtime implementation of CLR, the virtual machine that
manages the execution of .NET programs. CoreCLR comes with an improved
just-in-time compiler, called RyuJIT. .NET Core also includes CoreFX, which is
a partial fork of FCL. While .NET Core shares a subset of .NET Framework APIs,
it comes with its own API that is not part of .NET Framework. Further,
.NET Core contains CoreRT, the .NET Native runtime optimized to be integrated
into AOT compiled native binaries. A variant of the .NET Core library is used
for UWP. .NET Core's command-line interface offers an execution entry point
for operating systems and provides developer services like compilation and
package management.

.NET Core supports four cross-platform scenarios: ASP.NET Core web apps,
command-line apps, libraries, and Universal Windows Platform apps. It does not
implement Windows Forms or WPF which render the standard GUI for desktop
software on Windows. .NET Core is also modular, meaning that instead of
assemblies, developers work with NuGet packages. Unlike .NET Framework, which
is serviced using Windows Update, .NET Core relies on its package manager to
receive updates.

Differential Revision:	https://reviews.freebsd.org/D13870
2018-06-30 07:40:20 +00:00

63 lines
1.9 KiB
Makefile

# Created by: David Naylor <dbn@FreeBSD.org>
# $FreeBSD$
PORTNAME?= dotnet-sdk
DISTVERSION?= 2.1.201
DISTVERSIONSUFFIX= -linux-x64
CATEGORIES= lang
MASTER_SITES?= https://download.microsoft.com/download/C/7/D/C7DCA2DE-7163-45D1-A05A-5112DAF51445/
PKGNAMEPREFIX= linux-
MAINTAINER= mono@FreeBSD.org
COMMENT= Cross-platform .NET implementation (Software Development Kit)
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
ONLY_FOR_ARCHS= amd64
BUILD_DEPENDS= ${LOCALBASE}/bin/lzma:archivers/lzma \
zip:archivers/zip
RUN_DEPENDS?= linux-dotnet-runtime>=2.0.6:lang/linux-dotnet-runtime
USES= linux:c7 python:build
DATADIR= ${PREFIX}/share/dotnet
DESCR= ${.CURDIR}/../linux-dotnet-runtime/pkg-descr
EXTRACT_AFTER_ARGS= --no-same-owner --no-same-permissions \
--include LICENSE.txt --include sdk ${EXTRACT_EXTRA_ARGS}
EXTRACT_EXTRA_ARGS?= --include additionalDeps --include store
NO_WRKSUBDIR= yes
SLAVEDIR= ${.CURDIR}
DISTINFO_FILE= ${SLAVEDIR}/distinfo
PLIST= ${SLAVEDIR}/pkg-plist
PLIST_SUB= VERSION=${DISTVERSION}
BINFILES?=
SCRIPTFILES?=
do-build:
${LOCALBASE}/bin/lzma d ${WRKSRC}/sdk/${DISTVERSION}/nuGetPackagesArchive.lzma \
${WRKSRC}/sdk/${DISTVERSION}/nuGetPackagesArchive.zip
${PYTHON_CMD} ${FILESDIR}/extract.py \
${WRKSRC}/sdk/${DISTVERSION}/nuGetPackagesArchive.zip \
${WRKSRC}/sdk/NuGetFallbackFolder
${RM} ${WRKSRC}/sdk/${DISTVERSION}/nuGetPackagesArchive.lzma \
${WRKSRC}/sdk/${DISTVERSION}/nuGetPackagesArchive.zip
${TOUCH} ${WRKSRC}/sdk/NuGetFallbackFolder/${DISTVERSION}.dotnetSentinel
do-install:
cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}
.for bin in ${BINFILES}
${RM} ${STAGEDIR}${DATADIR}/${bin}
${INSTALL_PROGRAM} ${WRKSRC}/${bin} ${STAGEDIR}${DATADIR}/${bin}
.endfor
.for bin in ${SCRIPTFILES}
${RM} ${STAGEDIR}${DATADIR}/${bin}
${INSTALL_SCRIPT} ${WRKSRC}/${bin} ${STAGEDIR}${DATADIR}/${bin}
.endfor
${RM} ${STAGEDIR}${DATADIR}/LICENSE.txt
.include <bsd.port.mk>