* [gentoo-commits] proj/dotnet:master commit in: dev-dotnet/newtonsoft-json/
@ 2016-07-16 18:12 Heather Cynede
0 siblings, 0 replies; only message in thread
From: Heather Cynede @ 2016-07-16 18:12 UTC (permalink / raw
To: gentoo-commits
commit: 35712326397d215ea53dd237e988b7ff6030c811
Author: ArsenShnurkov <Arsen.Shnurkov <AT> gmail <DOT> com>
AuthorDate: Sat Jul 16 15:18:00 2016 +0000
Commit: Heather Cynede <cynede <AT> gentoo <DOT> org>
CommitDate: Sat Jul 16 15:18:00 2016 +0000
URL: https://gitweb.gentoo.org/proj/dotnet.git/commit/?id=35712326
dependency of monodevelop 6.*
.../newtonsoft-json/newtonsoft-json-6.0.8.ebuild | 159 +++++++++++++++++++++
1 file changed, 159 insertions(+)
diff --git a/dev-dotnet/newtonsoft-json/newtonsoft-json-6.0.8.ebuild b/dev-dotnet/newtonsoft-json/newtonsoft-json-6.0.8.ebuild
new file mode 100644
index 0000000..da5210b
--- /dev/null
+++ b/dev-dotnet/newtonsoft-json/newtonsoft-json-6.0.8.ebuild
@@ -0,0 +1,159 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+# debug = debug configuration (symbols and defines for debugging)
+# developer = generate symbols information (to view line numbers in stack traces, either in debug or release configuration)
+# test = allow NUnit tests to run
+# nupkg = create .nupkg file from .nuspec
+# gac = install into gac
+# pkg-config = register in pkg-config database
+USE_DOTNET="net45"
+IUSE="${USE_DOTNET} debug developer test +nupkg +gac +pkg-config"
+
+inherit nupkg
+
+NAME="Newtonsoft.Json"
+NUSPEC_ID="${NAME}"
+HOMEPAGE="https://github.com/JamesNK/${NAME}"
+
+EGIT_COMMIT="1497343173a181d678b4c9bbf60250a12f783f1c"
+SRC_URI="${HOMEPAGE}/archive/${EGIT_COMMIT}.zip -> ${P}.zip
+ mirror://gentoo/mono.snk.bz2"
+S="${WORKDIR}/${NAME}-${EGIT_COMMIT}"
+
+SLOT="0"
+
+DESCRIPTION="Json.NET is a popular high-performance JSON framework for .NET"
+LICENSE="MIT"
+LICENSE_URL="https://raw.github.com/JamesNK/Newtonsoft.Json/master/LICENSE.md"
+
+KEYWORDS="~amd64 ~ppc ~x86"
+COMMON_DEPENDENCIES="|| ( >=dev-lang/mono-4.2 <dev-lang/mono-9999 )"
+RDEPEND="${COMMON_DEPENDENCIES}
+"
+DEPEND="${COMMON_DEPENDENCIES}
+ >=dev-dotnet/nunit-2.6.4-r201501110:2[nupkg]
+"
+
+METAFILETOBUILD=Src/Newtonsoft.Json.sln
+
+NUSPEC_FILENAME="Newtonsoft.Json.nuspec"
+COMMIT_DATE_INDEX=$(get_version_component_count ${PV} )
+COMMIT_DATE=$(get_version_component_range $COMMIT_DATE_INDEX ${PV} )
+NUSPEC_VERSION=$(get_version_component_range 1-3)
+
+ICON_FILENAME=nugeticon.png
+ICON_URL=$(get_nuget_trusted_icons_location)/${NUSPEC_ID}.${NUSPEC_VERSION}.png
+
+src_prepare() {
+ elog "${S}/${NUSPEC_FILENAME}"
+
+ # replace 2.6.2 -> 2.6.4 (for NUnit)
+ egrep -lRZ '2\.6\.2' "${S}" | xargs -0 sed -i 's/2\.6\.2/2\.6\.4/g' || die
+
+ enuget_restore "${METAFILETOBUILD}"
+ # Installing 'Autofac 3.5.0'.
+ # Installing 'NUnit 2.6.2'.
+ # Installing 'System.Collections.Immutable 1.1.36'.
+ # Installing 'FSharp.Core 4.0.0'.
+
+ if use gac; then
+ find . -iname "*.csproj" -print0 | xargs -0 \
+ sed -i 's/<DefineConstants>/<DefineConstants>SIGNED;/g' || die
+ #PUBLIC_KEY=`sn -q -p ${SNK_FILENAME} /dev/stdout | hexdump -e '"%02x"'`
+ #find . -iname "AssemblyInfo.cs" -print0 | xargs -0 sed -i "s/PublicKey=[0-9a-fA-F]*/PublicKey=${PUBLIC_KEY}/g" || die
+ find . -iname "AssemblyInfo.cs" -print0 | xargs -0 sed -i "/InternalsVisibleTo/d" || die
+ fi
+
+ cp "${FILESDIR}/${NUSPEC_FILENAME}" "${S}/${NUSPEC_FILENAME}" || die
+ patch_nuspec_file "${S}/${NUSPEC_FILENAME}"
+
+ default
+
+ echo '[assembly: InternalsVisibleTo("Newtonsoft.Json.Tests, PublicKey=002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df")]' >>${S}/Src/Newtonsoft.Json/Properties/AssemblyInfo.cs
+}
+
+src_compile() {
+ exbuild /p:SignAssembly=true "/p:AssemblyOriginatorKeyFile=${WORKDIR}/mono.snk" "${METAFILETOBUILD}"
+
+ NUSPEC_PROPS+="nuget_version=${NUSPEC_VERSION};"
+ NUSPEC_PROPS+="nuget_id=${NUSPEC_ID};"
+ NUSPEC_PROPS+="nuget_projectUrl=${HOMEPAGE};"
+ NUSPEC_PROPS+="nuget_licenseUrl=${LICENSE_URL};"
+ NUSPEC_PROPS+="nuget_description=${DESCRIPTION};"
+ NUSPEC_PROPS+="nuget_iconUrl=file://${ICON_URL}"
+ elog "NUSPEC_PROPS=${NUSPEC_PROPS}"
+ enuspec -Prop "${NUSPEC_PROPS}" "${S}/${NUSPEC_FILENAME}"
+}
+
+src_install() {
+ if use debug; then
+ DIR="Debug"
+ else
+ DIR="Release"
+ fi
+
+ FINAL_DLL=Src/Newtonsoft.Json/bin/${DIR}/Net45/Newtonsoft.Json.dll
+
+ if use gac; then
+ egacinstall "${FINAL_DLL}"
+ fi
+
+ insinto "$(get_nuget_trusted_icons_location)"
+ newins "${FILESDIR}/${ICON_FILENAME}" "${NUSPEC_ID}.${NUSPEC_VERSION}.png"
+
+ enupkg "${WORKDIR}/${NUSPEC_ID}.${NUSPEC_VERSION}.nupkg"
+
+ install_pc_file
+}
+
+patch_nuspec_file()
+{
+ if use nupkg; then
+ if use debug; then
+ DIR="Debug"
+ else
+ DIR="Release"
+ fi
+FILES_STRING=`cat <<-EOF || die "${DIR} files at patch_nuspec_file()"
+ <files> <!-- https://docs.nuget.org/create/nuspec-reference -->
+ <file src="Src/Newtonsoft.Json/bin/${DIR}/Net45/Newtonsoft.Json.*" target="lib\net45\" />
+ </files>
+EOF
+`
+ einfo ${FILES_STRING}
+ replace "</package>" "${FILES_STRING}</package>" -- $1 || die "replace at patch_nuspec_file()"
+ fi
+}
+
+PC_FILE_NAME=${PN}
+
+install_pc_file()
+{
+ if use pkg-config; then
+ dodir /usr/$(get_libdir)/pkgconfig
+ ebegin "Installing ${PC_FILE_NAME}.pc file"
+ sed \
+ -e "s:@LIBDIR@:$(get_libdir):" \
+ -e "s:@PACKAGENAME@:${PC_FILE_NAME}:" \
+ -e "s:@DESCRIPTION@:${DESCRIPTION}:" \
+ -e "s:@VERSION@:${PV}:" \
+ -e 's*@LIBS@*-r:${libdir}'"/mono/${PC_FILE_NAME}/Newtonsoft.Json.dll"'*' \
+ <<\EOF >"${D}/usr/$(get_libdir)/pkgconfig/${PC_FILE_NAME}.pc" || die
+prefix=${pcfiledir}/../..
+exec_prefix=${prefix}
+libdir=${exec_prefix}/@LIBDIR@
+Name: @PACKAGENAME@
+Description: @DESCRIPTION@
+Version: @VERSION@
+Libs: @LIBS@
+EOF
+
+ einfo PKG_CONFIG_PATH="${D}/usr/$(get_libdir)/pkgconfig/" pkg-config --exists "${PC_FILE_NAME}"
+ PKG_CONFIG_PATH="${D}/usr/$(get_libdir)/pkgconfig/" pkg-config --exists "${PC_FILE_NAME}" || die ".pc file failed to validate."
+ eend $?
+ fi
+}
\ No newline at end of file
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2016-07-16 18:13 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-16 18:12 [gentoo-commits] proj/dotnet:master commit in: dev-dotnet/newtonsoft-json/ Heather Cynede
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox