aboutsummaryrefslogtreecommitdiff
path: root/lang/linux-dotnet-sdk/Makefile
diff options
context:
space:
mode:
authorDavid Naylor <dbn@FreeBSD.org>2018-06-30 07:40:20 +0000
committerDavid Naylor <dbn@FreeBSD.org>2018-06-30 07:40:20 +0000
commitc444ec3ffea4ad964ce555695f7c8c4555129e6a (patch)
treea0c56e52348225a9d3f6b80fdd8bb476f991e5b7 /lang/linux-dotnet-sdk/Makefile
parent7622ad2de81bae4e4078e3f68dfbefcd31dd75f9 (diff)
downloadports-c444ec3ffea4ad964ce555695f7c8c4555129e6a.tar.gz
ports-c444ec3ffea4ad964ce555695f7c8c4555129e6a.zip
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
Notes
Notes: svn path=/head/; revision=473600
Diffstat (limited to 'lang/linux-dotnet-sdk/Makefile')
-rw-r--r--lang/linux-dotnet-sdk/Makefile62
1 files changed, 62 insertions, 0 deletions
diff --git a/lang/linux-dotnet-sdk/Makefile b/lang/linux-dotnet-sdk/Makefile
new file mode 100644
index 000000000000..23ef05614108
--- /dev/null
+++ b/lang/linux-dotnet-sdk/Makefile
@@ -0,0 +1,62 @@
+# 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>