diff options
author | 2016-01-07 12:24:51 +0300 | |
---|---|---|
committer | 2016-01-07 12:24:51 +0300 | |
commit | a54e1710c21e4d6f1126b96a5ce99cbe304c7f2b (patch) | |
tree | b959b279ee70e2cd3031a7ea409f904c1fb5177a | |
parent | Merge pull request #161 from ArsenShnurkov/monodevelop-5.10.2.49 (diff) | |
download | dotnet-a54e1710c21e4d6f1126b96a5ce99cbe304c7f2b.tar.gz dotnet-a54e1710c21e4d6f1126b96a5ce99cbe304c7f2b.tar.bz2 dotnet-a54e1710c21e4d6f1126b96a5ce99cbe304c7f2b.zip |
some fixes for icon displaying and repoman
-rw-r--r-- | dev-dotnet/deveel-math/deveel-math-1.5.66-r201512290.ebuild | 2 | ||||
-rw-r--r-- | dev-dotnet/deveeldb/deveeldb-2.0_pre_alpha_p20160101.ebuild | 2 | ||||
-rw-r--r-- | dev-dotnet/dryioc/dryioc-2.1.0-r201512110.ebuild | 2 | ||||
-rw-r--r-- | dev-dotnet/newtonsoft-json/Manifest | 3 | ||||
-rw-r--r-- | dev-dotnet/newtonsoft-json/files/Newtonsoft.Json.nuspec | 45 | ||||
-rw-r--r-- | dev-dotnet/newtonsoft-json/files/nugeticon.png | bin | 0 -> 913 bytes | |||
-rw-r--r-- | dev-dotnet/newtonsoft-json/files/removing-tests.patch | 33 | ||||
-rw-r--r-- | dev-dotnet/newtonsoft-json/metadata.xml | 22 | ||||
-rw-r--r-- | dev-dotnet/newtonsoft-json/newtonsoft-json-7.0.1_p20150831.ebuild | 158 | ||||
-rw-r--r-- | dev-dotnet/newtonsoft-json/newtonsoft-json-8.0.1_p20151229.ebuild | 158 | ||||
-rw-r--r-- | dev-dotnet/newtonsoftjson/newtonsoftjson-7.0.1-r20150831.ebuild | 90 | ||||
-rw-r--r-- | dev-util/monodevelop/files/local-nuget-icons.patch | 15 | ||||
-rw-r--r-- | dev-util/monodevelop/monodevelop-5.9.5.9-r1.ebuild | 7 | ||||
-rw-r--r-- | eclass/nupkg.eclass | 69 |
14 files changed, 468 insertions, 138 deletions
diff --git a/dev-dotnet/deveel-math/deveel-math-1.5.66-r201512290.ebuild b/dev-dotnet/deveel-math/deveel-math-1.5.66-r201512290.ebuild index a98f5c9..a8d2cb6 100644 --- a/dev-dotnet/deveel-math/deveel-math-1.5.66-r201512290.ebuild +++ b/dev-dotnet/deveel-math/deveel-math-1.5.66-r201512290.ebuild @@ -71,7 +71,7 @@ ICON_URL="https://raw.githubusercontent.com/ArsenShnurkov/dotnet/deveel-math/dev src_unpack() { default - rm ${S}/src/.nuget/NuGet.exe || die + rm "${S}/src/.nuget/NuGet.exe" || die } src_prepare() { diff --git a/dev-dotnet/deveeldb/deveeldb-2.0_pre_alpha_p20160101.ebuild b/dev-dotnet/deveeldb/deveeldb-2.0_pre_alpha_p20160101.ebuild index 1889100..c7c3fcb 100644 --- a/dev-dotnet/deveeldb/deveeldb-2.0_pre_alpha_p20160101.ebuild +++ b/dev-dotnet/deveeldb/deveeldb-2.0_pre_alpha_p20160101.ebuild @@ -64,13 +64,11 @@ SRC_URI="${REPOSITORY_URL}/archive/${EGIT_COMMIT}.zip -> ${PN}-${PV}.zip NAME=${PN} S="${WORKDIR}/${NAME}-${EGIT_COMMIT}" - #EGIT_BRANCH="mono-attempt-3" METAFILETOBUILD="src/deveeldb/deveeldb.csproj" NUSPEC_FILE_NAME=deveeldb.nuspec - #https://raw.githubusercontent.com/ArsenShnurkov/dotnet/deveeldb/dev-dotnet/deveeldb/files/color.png EBUILD_REPOSITORY_NAME="ArsenShnurkov/dotnet" EBUILD_BRANCH="deveeldb" diff --git a/dev-dotnet/dryioc/dryioc-2.1.0-r201512110.ebuild b/dev-dotnet/dryioc/dryioc-2.1.0-r201512110.ebuild index 890e430..000c688 100644 --- a/dev-dotnet/dryioc/dryioc-2.1.0-r201512110.ebuild +++ b/dev-dotnet/dryioc/dryioc-2.1.0-r201512110.ebuild @@ -68,7 +68,7 @@ S=${WORKDIR}/dadhi-dryioc-${EHG_REVISION:0:12} src_unpack() { default - rm ${S}/.nuget/NuGet.exe || die + rm "${S}/.nuget/NuGet.exe" || die } src_prepare() { diff --git a/dev-dotnet/newtonsoft-json/Manifest b/dev-dotnet/newtonsoft-json/Manifest new file mode 100644 index 0000000..930b9a5 --- /dev/null +++ b/dev-dotnet/newtonsoft-json/Manifest @@ -0,0 +1,3 @@ +DIST mono.snk.bz2 785 SHA256 0cc2ca58f90773eafa8460dfb8ff4ac6238b68106eb1631348a800091a6ff3de SHA512 de64da7a9e4fa53e5a5abaee00aae05ce3560c72ad8251fd79e2ff9ffa7fb2d5e7c1a4bdb2dbc2eeeeac6450aaad8c40649ff4675ddf95365ef8604a93333224 WHIRLPOOL 05882dd5cc9e2b99b78dc882fed49547dc6b6c133616574987322623e3bd734dc74435b69a6c864f928eb087df7a1ab42910adc47a7d0e70d54178e6b319f628 +DIST newtonsoft-json-7.0.1_p20150831.zip 4830050 SHA256 3b18c78fb25b41d0fb4e5801a864b25bdf543d76d332b0eaa8976d4f04d3366c SHA512 a9c7f7271b1b76b36aaade6e61f8d9b923ec545d0a503578035ab413d06174de646ff049eae12aa2bde9fe76b0bf06ab9ac65671de094a359c9850230de467f7 WHIRLPOOL 856efb359e35d8da3a74d3a9deca7e6d1bf9ff25202068ce89ba029f0c8a238c4ba4ea83d50fda18e6c514fe6fdfe913f364e000e00f047658cfe947d66f3d5c +DIST newtonsoft-json-8.0.1_p20151229.zip 5985137 SHA256 d74a78b03f0c9236ce9014d7bab6d269964f2caf4a500bc15968a60c3196c04d SHA512 1f269dd5ca0801c9452d030507d6477e65a9bfae4120d34f6d2da0f15b8251c09e31c852b7836ee1eca59b86692dc2a51a690cf2ff3e0ace1100eaf0524d716d WHIRLPOOL 65bb19199c5faa05f9811fc4a51c31bb589b109c12d189bee9311114fba0c3dd3e75e888d9cc7be438452ca8851e960af054b6a0e1a41fa9008ae76ad753221a diff --git a/dev-dotnet/newtonsoft-json/files/Newtonsoft.Json.nuspec b/dev-dotnet/newtonsoft-json/files/Newtonsoft.Json.nuspec new file mode 100644 index 0000000..a12cae3 --- /dev/null +++ b/dev-dotnet/newtonsoft-json/files/Newtonsoft.Json.nuspec @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd"> + <metadata> + <id>$nuget_id$</id> + <version>$nuget_version$</version> + <title>Json.NET</title> + <description>$nuget_description$</description> + <authors>James Newton-King</authors> + <language>en-US</language> + <projectUrl>$nuget_projectUrl$</projectUrl> + <iconUrl>$nuget_iconUrl$</iconUrl> + <licenseUrl>$nuget_licenseUrl$</licenseUrl> + <tags>json</tags> + <dependencies> + <group targetFramework="net45" /> + <group targetFramework=".NETPlatform5.0"> + <dependency id="Microsoft.CSharp" version="4.0.0" /> + <dependency id="System.Collections" version="4.0.10" /> + <dependency id="System.Collections.Concurrent" version="4.0.10" /> + <dependency id="System.ComponentModel.TypeConverter" version="4.0.0" /> + <dependency id="System.Diagnostics.Debug" version="4.0.10" /> + <dependency id="System.Diagnostics.Tools" version="4.0.0" /> + <dependency id="System.Dynamic.Runtime" version="4.0.10" /> + <dependency id="System.Globalization" version="4.0.10" /> + <dependency id="System.IO" version="4.0.10" /> + <dependency id="System.Linq" version="4.0.0" /> + <dependency id="System.Linq.Expressions" version="4.0.10" /> + <dependency id="System.ObjectModel" version="4.0.10" /> + <dependency id="System.Reflection" version="4.0.10" /> + <dependency id="System.Reflection.Extensions" version="4.0.0" /> + <dependency id="System.Runtime" version="4.0.20" /> + <dependency id="System.Runtime.Extensions" version="4.0.10" /> + <dependency id="System.Runtime.Numerics" version="4.0.0" /> + <dependency id="System.Runtime.Serialization.Primitives" version="4.0.10" /> + <dependency id="System.Text.Encoding" version="4.0.10" /> + <dependency id="System.Text.Encoding.Extensions" version="4.0.10" /> + <dependency id="System.Text.RegularExpressions" version="4.0.10" /> + <dependency id="System.Threading" version="4.0.10" /> + <dependency id="System.Threading.Tasks" version="4.0.10" /> + <dependency id="System.Xml.ReaderWriter" version="4.0.10" /> + <dependency id="System.Xml.XDocument" version="4.0.10" /> + </group> + </dependencies> + </metadata> +</package> diff --git a/dev-dotnet/newtonsoft-json/files/nugeticon.png b/dev-dotnet/newtonsoft-json/files/nugeticon.png Binary files differnew file mode 100644 index 0000000..1400f38 --- /dev/null +++ b/dev-dotnet/newtonsoft-json/files/nugeticon.png diff --git a/dev-dotnet/newtonsoft-json/files/removing-tests.patch b/dev-dotnet/newtonsoft-json/files/removing-tests.patch new file mode 100644 index 0000000..fcae171 --- /dev/null +++ b/dev-dotnet/newtonsoft-json/files/removing-tests.patch @@ -0,0 +1,33 @@ +--- a/Src/Newtonsoft.Json.sln 2015-08-31 08:43:56.000000000 +0300 ++++ b/Src/Newtonsoft.Json.sln 2015-09-01 18:48:51.000000000 +0300 +@@ -1,14 +1,10 @@ + + Microsoft Visual Studio Solution File, Format Version 12.00 +-# Visual Studio 14 ++# Visual Studio 2012 + VisualStudioVersion = 14.0.23107.0 + MinimumVisualStudioVersion = 10.0.40219.1 + Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Newtonsoft.Json", "Newtonsoft.Json\Newtonsoft.Json.csproj", "{EEEA67F9-9089-481D-A4DC-0966DEC9FD7D}" + EndProject +-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Newtonsoft.Json.Tests", "Newtonsoft.Json.Tests\Newtonsoft.Json.Tests.csproj", "{CCD1B8C4-7349-409C-A090-A9B9A1ABD981}" +-EndProject +-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Newtonsoft.Json.TestConsole", "Newtonsoft.Json.TestConsole\Newtonsoft.Json.TestConsole.csproj", "{3CC9C2DF-CD0A-4096-BF46-B4AFDF0147D2}" +-EndProject + Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU +@@ -19,14 +15,6 @@ + {EEEA67F9-9089-481D-A4DC-0966DEC9FD7D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EEEA67F9-9089-481D-A4DC-0966DEC9FD7D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EEEA67F9-9089-481D-A4DC-0966DEC9FD7D}.Release|Any CPU.Build.0 = Release|Any CPU +- {CCD1B8C4-7349-409C-A090-A9B9A1ABD981}.Debug|Any CPU.ActiveCfg = Debug|Any CPU +- {CCD1B8C4-7349-409C-A090-A9B9A1ABD981}.Debug|Any CPU.Build.0 = Debug|Any CPU +- {CCD1B8C4-7349-409C-A090-A9B9A1ABD981}.Release|Any CPU.ActiveCfg = Release|Any CPU +- {CCD1B8C4-7349-409C-A090-A9B9A1ABD981}.Release|Any CPU.Build.0 = Release|Any CPU +- {3CC9C2DF-CD0A-4096-BF46-B4AFDF0147D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU +- {3CC9C2DF-CD0A-4096-BF46-B4AFDF0147D2}.Debug|Any CPU.Build.0 = Debug|Any CPU +- {3CC9C2DF-CD0A-4096-BF46-B4AFDF0147D2}.Release|Any CPU.ActiveCfg = Release|Any CPU +- {3CC9C2DF-CD0A-4096-BF46-B4AFDF0147D2}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE diff --git a/dev-dotnet/newtonsoft-json/metadata.xml b/dev-dotnet/newtonsoft-json/metadata.xml new file mode 100644 index 0000000..7e75aca --- /dev/null +++ b/dev-dotnet/newtonsoft-json/metadata.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>dotnet</herd> + <maintainer> <!-- https://wiki.gentoo.org/wiki/User:Cynede --> + <email>cynede@gentoo.org</email> + <name>Heather Cynede</name> + </maintainer> + <upstream> + <bugs-to>https://github.com/JamesNK/Newtonsoft.Json/issues</bugs-to> + <remote-id type="github">JamesNK/Newtonsoft.Json</remote-id> + </upstream> + <use> + <flag name='pkg-config'>create .pc file(s) for .dll(s) installed to gac</flag> + </use> + <longdescription lang="en"> + Json.NET is a popular high-performance JSON framework for .NET + </longdescription> + <longdescription lang="ru"> + C# библиотека для парсинга Json-формата + </longdescription> +</pkgmetadata> diff --git a/dev-dotnet/newtonsoft-json/newtonsoft-json-7.0.1_p20150831.ebuild b/dev-dotnet/newtonsoft-json/newtonsoft-json-7.0.1_p20150831.ebuild new file mode 100644 index 0000000..f0b7fc2 --- /dev/null +++ b/dev-dotnet/newtonsoft-json/newtonsoft-json-7.0.1_p20150831.ebuild @@ -0,0 +1,158 @@ +# 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="05710874cd61adabfb635085b1b45cf31882df3d" +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)"${COMMIT_DATE//p/.}${PR//r/}" + +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'. + eapply "${FILESDIR}/removing-tests.patch" + + 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 +} + +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 diff --git a/dev-dotnet/newtonsoft-json/newtonsoft-json-8.0.1_p20151229.ebuild b/dev-dotnet/newtonsoft-json/newtonsoft-json-8.0.1_p20151229.ebuild new file mode 100644 index 0000000..ff73ba5 --- /dev/null +++ b/dev-dotnet/newtonsoft-json/newtonsoft-json-8.0.1_p20151229.ebuild @@ -0,0 +1,158 @@ +# 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="865c08d95d89565b4f6b463b57da8f5324f6ce7c" +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)"${COMMIT_DATE//p/.}${PR//r/}" + +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'. + eapply "${FILESDIR}/removing-tests.patch" + + 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 +} + +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 diff --git a/dev-dotnet/newtonsoftjson/newtonsoftjson-7.0.1-r20150831.ebuild b/dev-dotnet/newtonsoftjson/newtonsoftjson-7.0.1-r20150831.ebuild deleted file mode 100644 index 456fd2e..0000000 --- a/dev-dotnet/newtonsoftjson/newtonsoftjson-7.0.1-r20150831.ebuild +++ /dev/null @@ -1,90 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 -inherit mono-env nuget dotnet - -NAME="Newtonsoft.Json" -HOMEPAGE="https://github.com/JamesNK/${NAME}" - -EGIT_COMMIT="05710874cd61adabfb635085b1b45cf31882df3d" -SRC_URI="${HOMEPAGE}/archive/${EGIT_COMMIT}.zip -> ${PF}.zip" -S="${WORKDIR}/${NAME}-${EGIT_COMMIT}" - -SLOT="0" - -DESCRIPTION="NewtonSoft.JSon library" -LICENSE="MIT" - -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] -" - -USE_DOTNET="net45" -IUSE="${USE_DOTNET} gac nupkg" -# if you remove these flags where will be the error: -# USE Flag 'gac' not in IUSE for dev-dotnet/newtonsoftjson-0.0.0-r20150831 - -METAFILETOBUILD=Src/Newtonsoft.Json.sln - -# https://devmanual.gentoo.org/ebuild-writing/variables/ -# -# PN = Package name, for example vim. -# P = Package name and version (excluding revision, if any), for example vim-6.3. -# FILESDIR = Path to the ebuild's files/ directory, commonly used for small patches and files. Value: "${PORTDIR}/${CATEGORY}/${PN}/files" -# WORKDIR = Path to the ebuild's root build directory. Value: "${PORTAGE_BUILDDIR}/work" -# S = Path to the temporary build directory, used by src_compile and src_install. Default: "${WORKDIR}/${P}". - -NUSPEC_FILENAME="Newtonsoft.Json.nuspec" - -# ${SNK_FILENAME} is used inside exbuild() to sign assemblies -#SNK_FILENAME="${S}/Src/Newtonsoft.Json/Dynamic.snk" - -src_prepare() { - elog "${S}/Build/${NUSPEC_FILENAME}" - sed "s/@Version@/${PV}/g" "${FILESDIR}/${NUSPEC_FILENAME}" >"${S}/Build/${NUSPEC_FILENAME}" || die - - 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'. - epatch "${FILESDIR}/removing-tests.patch" - - 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 -} - -src_compile() { - exbuild "${METAFILETOBUILD}" - enuspec "Build/${NUSPEC_FILENAME}" -} - -src_install() { - DIR="" - 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 - - enupkg "${WORKDIR}/Newtonsoft.Json.${PV}.nupkg" -} diff --git a/dev-util/monodevelop/files/local-nuget-icons.patch b/dev-util/monodevelop/files/local-nuget-icons.patch index 329c57f..793bf8b 100644 --- a/dev-util/monodevelop/files/local-nuget-icons.patch +++ b/dev-util/monodevelop/files/local-nuget-icons.patch @@ -1,18 +1,3 @@ -From c5f730b3ffcecfd15dc291353332a6a3f0bb515a Mon Sep 17 00:00:00 2001 -From: Matt Ward <matt.ward@xamarin.com> -Date: Sat, 2 Jan 2016 15:29:00 +0000 -Subject: [PATCH] [NuGet] Support NuGet packages that use icons from local - files. - -Allows a NuGet package to use an icon, shown in the Add Packages -dialog, taken from the local file system using a file url. -Previously this would fail with an invalid cast exception. ---- - .../MonoDevelop.PackageManagement/ImageLoader.cs | 14 ++++++++++++-- - 1 file changed, 12 insertions(+), 2 deletions(-) - -diff --git a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement/ImageLoader.cs b/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement/ImageLoader.cs -index 07b7b99..98eff92 100644 --- a/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement/ImageLoader.cs +++ b/main/src/addins/MonoDevelop.PackageManagement/MonoDevelop.PackageManagement/ImageLoader.cs @@ -91,8 +91,7 @@ namespace MonoDevelop.PackageManagement diff --git a/dev-util/monodevelop/monodevelop-5.9.5.9-r1.ebuild b/dev-util/monodevelop/monodevelop-5.9.5.9-r1.ebuild index ee1cc62..118e693 100644 --- a/dev-util/monodevelop/monodevelop-5.9.5.9-r1.ebuild +++ b/dev-util/monodevelop/monodevelop-5.9.5.9-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ @@ -86,6 +86,7 @@ src_prepare() { #fix ASP.Net cd "${T}/${P}/main" epatch "${FILESDIR}/5.7-downgrade_to_mvc3.patch" + epatch "${FILESDIR}/local-nuget-icons.patch" # fix for https://github.com/gentoo/dotnet/issues/42 epatch "${FILESDIR}/aspnet-template-references-fix.patch" @@ -104,9 +105,9 @@ src_prepare() { #copy missing binaries mkdir -p "${S}"/external/cecil/Test/libs/nunit-2.5.10/ || die cp -fR "${T}"/NUnit-2.5.10.11092/bin/net-2.0/framework/* "${S}"/external/cecil/Test/libs/nunit-2.5.10/ || die - mv -f "${T}/packages" "${S}" + mv -f "${T}/packages" "${S}" || die - epatch "${FILESDIR}/local-nuget-icons.patch" + default } src_configure() { diff --git a/eclass/nupkg.eclass b/eclass/nupkg.eclass index 0ff0df9..3234c99 100644 --- a/eclass/nupkg.eclass +++ b/eclass/nupkg.eclass @@ -9,6 +9,44 @@ inherit dotnet +# @FUNCTION: get_nuget_trusted_archives_location +# @USAGE: [directory] +# @DESCRIPTION: +# returns base directory for various nuget folders. +get_nuget_trusted_archives_location() { + if [ -d "/var/calculate/remote/distfiles" ]; then + # Control will enter here if the directory exist. + # this is necessary to handle calculate linux profiles feature (for corporate users) + echo /var/calculate/remote/packages/NuGet + else + # this is for all normal gentoo-based distributions + echo /usr/local/nuget/nupkg + fi +} + +# @FUNCTION: get_nuget_trusted_icons_location +# @USAGE: [directory] +# @DESCRIPTION: +# returns base directory for monodevelop addin icons +get_nuget_trusted_icons_location() { + echo $(get_nuget_trusted_archives_location)/icons +} + +# @FUNCTION: get_nuget_trusted_unpacked_location +# @USAGE: [directory] +# @DESCRIPTION: +# returns base directory for package content (system wide installation location) +get_nuget_trusted_unpacked_location() { + if [ -d "/var/calculate/remote/distfiles" ]; then + # Control will enter here if the directory exist. + # this is necessary to handle calculate linux profiles feature (for corporate users) + echo /var/calculate/remote/distfiles/NuGet + else + # this is for all normal gentoo-based distributions + echo /usr/local/nuget/packages + fi +} + # @FUNCTION: enuget_restore # @DESCRIPTION: run nuget restore # accepts path to .sln or .proj or .csproj file to restore as parameter @@ -20,18 +58,6 @@ enuget_restore() { # @DESCRIPTION: downloads a binary package from 3rd untrusted party repository # accepts Id of package as parameter enuget_download_rogue_binary() { - if [ -d "/var/calculate/remote/distfiles" ]; then - NUGET_LOCAL_REPOSITORY_PATH=/var/calculate/remote/packages/NuGet - else - # this is for all normal gentoo-based distributions - NUGET_LOCAL_REPOSITORY_PATH=/usr/local/nuget/nupkg - fi - #einfo "Downloading rogue binary '$1' into '${NUGET_LOCAL_REPOSITORY_PATH}'" - # https://www.nuget.org/api/v2/package/{packageID}/{packageVersion} - - # this will give "* ACCESS DENIED: open_wr: /var/calculate/remote/packages/NuGet" message - # wget -c https://www.nuget.org/api/v2/package/$1/$2 -o "${LOCAL_NUGET_REPOSITORY_PATH}" - einfo "Downloading rogue binary '$1' into '${T}/$1.$2.nupkg'" wget -c https://www.nuget.org/api/v2/package/$1/$2 --directory-prefix="${T}/" --output-document="$1.$2.nupkg" || die # -p ignores directory if it is already exists @@ -42,8 +68,8 @@ enuget_download_rogue_binary() { <add key="repositoryPath" value="${T}" /> </config></configuration> EOF - einfo "Installing rogue binary '$1' into '${S}'" - nuget install "$1" -Version "$2" -OutputDirectory ${S} + einfo "Installing rogue binary '$1' into '${S}/packages'" + nuget install "$1" -Version "$2" -OutputDirectory "${S}/packages" } # @FUNCTION: enuspec @@ -67,16 +93,8 @@ enuspec() { # accepts path to .nupkg file as parameter enupkg() { if use nupkg; then - if [ -d "/var/calculate/remote/distfiles" ]; then - # Control will enter here if the directory exist. - # this is necessary to handle calculate linux profiles feature (for corporate users) - elog "Installing .nupkg into /var/calculate/remote/packages/NuGet" - insinto /var/calculate/remote/packages/NuGet - else - # this is for all normal gentoo-based distributions - elog "Installing .nupkg into /usr/local/nuget/nupkg" - insinto /usr/local/nuget/nupkg - fi + elog "enupkg $@ -> $(get_nuget_trusted_archives_location)" + insinto $(get_nuget_trusted_archives_location) doins "$@" fi } @@ -85,7 +103,7 @@ enupkg() { # @DESCRIPTION Set false to net depend on nuget : ${NUGET_NO_DEPEND:=} -if [[ -n $NUGET_NO_DEPEND ]]; then +if [[ -n ${NUGET_NO_DEPEND} ]]; then DEPEND+=" dev-dotnet/nuget" fi @@ -96,4 +114,3 @@ then else NPV=${PVR} fi - |