commit: f5e1a3c72585c7c1fc9101509264bc11bd7917b0 Author: Eddy Zavaleta <eddy <AT> mictlanix <DOT> com> AuthorDate: Sun Mar 26 04:34:04 2017 +0000 Commit: Mikhail Pukhlikov <cynede <AT> gentoo <DOT> org> CommitDate: Sun Mar 26 04:34:04 2017 +0000 URL: https://gitweb.gentoo.org/proj/dotnet.git/commit/?id=f5e1a3c7
ebuild dies if FEATURES="-sandbox -usersandbox" are not set dev-dotnet/dotnet-cli/dotnet-cli-1.1.1-r1.ebuild | 194 +++++++++++++++++++++++ 1 file changed, 194 insertions(+) diff --git a/dev-dotnet/dotnet-cli/dotnet-cli-1.1.1-r1.ebuild b/dev-dotnet/dotnet-cli/dotnet-cli-1.1.1-r1.ebuild new file mode 100644 index 0000000..abcb719 --- /dev/null +++ b/dev-dotnet/dotnet-cli/dotnet-cli-1.1.1-r1.ebuild @@ -0,0 +1,194 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +#BASED ON https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=dotnet-cli + +EAPI="6" + +CORE_V1_0=1.0.3 +CLI_V1_0=1.0.0-preview2-003156 +CORECLR_V1_0=1.0.6 +COREFX_V1_0=1.0.4 + +DIST='debian-x64' + +COREFX=corefx-${COREFX_V} + +DESCRIPTION=".NET Core cli utility for building, testing, packaging and running projects" +HOMEPAGE="https://www.microsoft.com/net/core" +LICENSE="MIT" + +IUSE="" +SRC_URI="https://github.com/dotnet/coreclr/archive/v${CORECLR_V1_0}.tar.gz -> coreclr-${CORECLR_V1_0}.tar.gz + https://github.com/dotnet/corefx/archive/v${COREFX_V1_0}.tar.gz -> corefx-${COREFX_V1_0}.tar.gz + https://download.microsoft.com/download/0/3/0/030449F5-F093-44A6-9889-E19B50A59777/sdk/dotnet-dev-${DIST}.${CLI_V1_0}.tar.gz + https://github.com/dotnet/coreclr/archive/v${PV}.tar.gz -> coreclr-${PV}.tar.gz + https://github.com/dotnet/corefx/archive/v${PV}.tar.gz -> corefx-${PV}.tar.gz + https://download.microsoft.com/download/F/D/5/FD52A2F7-65B6-4912-AEDD-4015DF6D8D22/dotnet-${PV}-sdk-${DIST}.tar.gz" + +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + >=sys-devel/llvm-3.7.1-r3[lldb] + >=sys-libs/libunwind-1.1-r1 + >=dev-libs/icu-57.1 + >=dev-util/lttng-ust-2.8.1 + >=dev-libs/openssl-1.0.2h-r2 + >=net-misc/curl-7.49.0 + >=app-crypt/mit-krb5-1.14.2 + >=sys-libs/zlib-1.2.8-r1 " +DEPEND="${RDEPEND} + >=dev-util/cmake-3.3.1-r1 + >=sys-devel/make-4.1-r1 + >=sys-devel/clang-3.7.1-r100 + >=sys-devel/gettext-0.19.7" + +PATCHES=( + "${FILESDIR}/coreclr-${CORECLR_V1_0}-icu57-commit-352df35.patch" + "${FILESDIR}/corefx-${PV}-init-tools-script.patch" + "${FILESDIR}/corefx-${PV}-run-script.patch" +) + +S=${WORKDIR} +CLI_1_0_S="${S}/tools-dotnet" +CORECLR_1_0_S="${S}/coreclr-${CORECLR_V1_0}" +COREFX_1_0_S="${S}/corefx-${COREFX_V1_0}" +CLI_S="${S}/dotnetcli-${PV}" +CORECLR_S="${S}/coreclr-${PV}" +COREFX_S="${S}/corefx-${PV}" + +CORECLR_FILES=( + 'libclrjit.so' + 'libcoreclr.so' + 'libcoreclrtraceptprovider.so' + 'libdbgshim.so' + 'libmscordaccore.so' + 'libmscordbi.so' + 'libsos.so' + 'libsosplugin.so' + 'System.Globalization.Native.so' +) + +COREFX_FILES=( + 'System.IO.Compression.Native.so' + 'System.Native.a' + 'System.Native.so' + 'System.Net.Http.Native.so' + 'System.Net.Security.Native.so' +) + +CRYPTO_V1_0_FILES=( + 'System.Security.Cryptography.Native.so' +) + +CRYPTO_FILES=( + 'System.Security.Cryptography.Native.OpenSsl.so' +) + +pkg_pretend() { + # If FEATURES="-sandbox -usersandbox" are not set dotnet will hang while compiling. + if has sandbox $FEATURES || has usersandbox $FEATURES ; then + die ".NET core command-line (CLI) tools require sandbox and usersandbox to be disabled in FEATURES." + fi +} + +src_unpack() { + unpack "coreclr-${CORECLR_V1_0}.tar.gz" "corefx-${COREFX_V1_0}.tar.gz" "coreclr-${PV}.tar.gz" "corefx-${PV}.tar.gz" + mkdir "${CLI_1_0_S}" "${CLI_S}" || die + cd "${CLI_S}" || die + unpack "dotnet-${PV}-sdk-${DIST}.tar.gz" + cd "${CLI_1_0_S}" || die + unpack "dotnet-dev-${DIST}.${CLI_V1_0}.tar.gz" +} + +src_prepare() { + cp "${FILESDIR}/corefx-${PV}-buildtools.patch" "${COREFX_S}/buildtools.patch" + + for file in "${CORECLR_FILES[@]}"; do + rm "${CLI_S}/shared/Microsoft.NETCore.App/${PV}/${file}" + rm "${CLI_S}/shared/Microsoft.NETCore.App/1.0.4/${file}" + rm "${CLI_1_0_S}/shared/Microsoft.NETCore.App/${CORE_V1_0}/${file}" + done + + for file in "${COREFX_FILES[@]}"; do + rm "${CLI_S}/shared/Microsoft.NETCore.App/${PV}/${file}" + rm "${CLI_S}/shared/Microsoft.NETCore.App/1.0.4/${file}" + rm "${CLI_1_0_S}/shared/Microsoft.NETCore.App/${CORE_V1_0}/${file}" + done + + for file in "${CRYPTO_FILES[@]}"; do + rm "${CLI_S}/shared/Microsoft.NETCore.App/${PV}/${file}" + done + + for file in "${CRYPTO_V1_0_FILES[@]}"; do + rm "${CLI_S}/shared/Microsoft.NETCore.App/1.0.4/${file}" + rm "${CLI_1_0_S}/shared/Microsoft.NETCore.App/${CORE_V1_0}/${file}" + done + + default_src_prepare +} + +src_compile() { + local dest="${CLI_1_0_S}/shared/Microsoft.NETCore.App/${CORE_V1_0}/" + + cd "${COREFX_1_0_S}" || die + ./build.sh native x64 release || die + + for file in "${COREFX_FILES[@]}"; do + cp -pP "${COREFX_1_0_S}/bin/Linux.x64.Release/Native/${file}" "${dest}" || die + done + + for file in "${CRYPTO_V1_0_FILES[@]}"; do + cp -pP "${COREFX_1_0_S}/bin/Linux.x64.Release/Native/${file}" "${dest}" || die + done + + cd "${S}" || die + rm -rf "${COREFX_1_0_S}" || die + + cd "${CORECLR_1_0_S}" || die + ./build.sh x64 release || die + + for file in "${CORECLR_FILES[@]}"; do + cp -pP "${CORECLR_1_0_S}/bin/Product/Linux.x64.Release/${file}" "${dest}" || die + done + + cd "${S}" || die + rm -rf "${CORECLR_1_0_S}" || die + + cd "${COREFX_S}" || die + ./build-native.sh -release || die + + cd "${CORECLR_S}" || die + ./build.sh x64 release || die +} + +src_install() { + local dest="/opt/dotnet_cli" + local ddest="${D}/${dest}" + local ddest_core="${ddest}/shared/Microsoft.NETCore.App" + + dodir "${dest}" + cp -pPR "${CLI_S}"/* "${ddest}" || die + + for file in "${CORECLR_FILES[@]}"; do + cp -pP "${CORECLR_S}/bin/Product/Linux.x64.Release/${file}" "${ddest_core}/${PV}/" || die + cp -pP "${CORECLR_S}/bin/Product/Linux.x64.Release/${file}" "${ddest_core}/1.0.4/" || die + done + + for file in "${COREFX_FILES[@]}"; do + cp -pP "${COREFX_S}/bin/Linux.x64.Release/Native/${file}" "${ddest_core}/${PV}/" || die + cp -pP "${COREFX_S}/bin/Linux.x64.Release/Native/${file}" "${ddest_core}/1.0.4/" || die + done + + for file in "${CRYPTO_FILES[@]}"; do + cp -pP "${COREFX_S}/bin/Linux.x64.Release/Native/${file}" "${ddest_core}/${PV}/" || die + done + + for file in "${CRYPTO_V1_0_FILES[@]}"; do + cp -pP "${COREFX_S}/bin/Linux.x64.Release/Native/${file}" "${ddest_core}/1.0.4/" || die + done + + dosym "../../opt/dotnet_cli/dotnet" "/usr/bin/dotnet" +}
