commit:     8e7c529c0919d9011d11883ce03b28eb27b2198e
Author:     ArsenShnurkov <Arsen.Shnurkov <AT> gmail <DOT> com>
AuthorDate: Wed Jul 27 04:50:52 2016 +0000
Commit:     Heather Cynede <cynede <AT> gentoo <DOT> org>
CommitDate: Wed Jul 27 04:50:52 2016 +0000
URL:        https://gitweb.gentoo.org/proj/dotnet.git/commit/?id=8e7c529c

gac and nupkg installation added

 .../libgit2sharp/files/nuspec-file-list.patch      | 13 +++++
 dev-dotnet/libgit2sharp/libgit2sharp-0.22.ebuild   | 61 ++++++++++++++++++++--
 2 files changed, 70 insertions(+), 4 deletions(-)

diff --git a/dev-dotnet/libgit2sharp/files/nuspec-file-list.patch 
b/dev-dotnet/libgit2sharp/files/nuspec-file-list.patch
new file mode 100644
index 0000000..8623a2b
--- /dev/null
+++ b/dev-dotnet/libgit2sharp/files/nuspec-file-list.patch
@@ -0,0 +1,13 @@
+--- a/nuget.package/LibGit2Sharp.nuspec        2016-03-04 19:26:33.000000000 
+0300
++++ b/nuget.package.new/LibGit2Sharp.nuspec    2016-07-27 07:25:06.091068466 
+0300
+@@ -14,9 +14,6 @@
+     <tags>libgit2 git wrapper bindings API dvcs vcs</tags>
+   </metadata>
+   <files>
+-    <file src="..\README.md" target="App_Readme\LibGit2Sharp.README.md" />
+-    <file src="..\LICENSE.md" target="App_Readme\LibGit2Sharp.LICENSE.md" />
+-    <file src="..\CHANGES.md" target="App_Readme\LibGit2Sharp.CHANGES.md" />
+-    <file src="bin\$configuration$\$id$.pdb" target="lib\net40" />
++    <file src="LibGit2Sharp/bin/$configuration$/$id$.dll" target="lib/net40" 
/>
+   </files>
+ </package>

diff --git a/dev-dotnet/libgit2sharp/libgit2sharp-0.22.ebuild 
b/dev-dotnet/libgit2sharp/libgit2sharp-0.22.ebuild
index f2c69b7..8e9c5e9 100644
--- a/dev-dotnet/libgit2sharp/libgit2sharp-0.22.ebuild
+++ b/dev-dotnet/libgit2sharp/libgit2sharp-0.22.ebuild
@@ -5,7 +5,8 @@
 EAPI=6
 
 USE_DOTNET="net45"
-IUSE="${USE_DOTNET}"
+EBUILD_FRAMEWORK="4.5"
+IUSE="${USE_DOTNET} +gac +nupkg"
 
 inherit nuget nupkg
 
@@ -15,7 +16,8 @@ DESCRIPTION="A C# PInvoke wrapper library for LibGit2 C 
library"
 
 EGIT_COMMIT="8daef23223e1374141bf496e4b310ded9ae4639e"
 HOMEPAGE="https://github.com/libgit2/libgit2sharp";
-SRC_URI="${HOMEPAGE}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+SRC_URI="${HOMEPAGE}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz
+       mirror://gentoo/mono.snk.bz2"
 #RESTRICT="mirror"
 
 S="${WORKDIR}/${PN}-${EGIT_COMMIT}"
@@ -32,6 +34,12 @@ DEPEND="${CDEPEND}
 "
 RDEPEND="${CDEPEND}"
 
+prefix=${PREFIX}/usr
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib/mono/${EBUILD_FRAMEWORK}
+
+NUSPEC_FILE="nuget.package/LibGit2Sharp.nuspec"
+
 src_unpack() {
        default
        # remove rogue binaries
@@ -44,8 +52,19 @@ src_prepare() {
        eapply "${FILESDIR}/csproj-remove-nuget-targets-check.patch"
        eapply "${FILESDIR}/packages-config-remove-xunit.patch"
        eapply "${FILESDIR}/remove-NativeBinaries-package-dependency.patch"
+       eapply "${FILESDIR}/nuspec-file-list.patch"
        echo "/usr/lib64/libgit2.so" >"LibGit2Sharp/libgit2_filename.txt" || die
        enuget_restore "LibGit2Sharp.sln"
+       sed -i 's=\$id\$=LibGit2Sharp=g' "${NUSPEC_FILE}" || die
+       sed -i "s=\\\$version\\\$=$(get_version_component_range 1-2)=g" 
"${NUSPEC_FILE}" || die
+       sed -i 's=\$author\$=nulltoken=g' "${NUSPEC_FILE}" || die
+       sed -i "s=\\\$description\\\$=${DESCRIPTION}=g" "${NUSPEC_FILE}" || die
+       if use debug; then
+               DIR="Debug"
+       else
+               DIR="Release"
+       fi
+       sed -i "s=\\\$configuration\\\$=${DIR}=g" "${NUSPEC_FILE}" || die
        default
 }
 
@@ -54,6 +73,40 @@ src_compile() {
        sed -i "s#<OutputPath>.*</OutputPath>#<OutputPath>.</OutputPath>#g" 
"Lib/CustomBuildTasks/CustomBuildTasks.csproj" || die
        exbuild "Lib/CustomBuildTasks/CustomBuildTasks.csproj"
 
-       # main compileation
-       exbuild "LibGit2Sharp.sln"
+       # main compilation
+       exbuild_strong "LibGit2Sharp.sln"
+
+       enuspec "${NUSPEC_FILE}"
+}
+
+src_install() {
+       insinto "${libdir}"
+       if use debug; then
+               DIR="Debug"
+       else
+               DIR="Release"
+       fi
+       doins "LibGit2Sharp/bin/${DIR}/LibGit2Sharp.dll"
+
+       enupkg "${WORKDIR}/LibGit2Sharp.0.22.nupkg"
+}
+
+pkg_postinst() {
+       if use gac; then
+               einfo "adding to GAC"
+               gacutil -i "${libdir}/LibGit2Sharp.dll" || die
+       fi
+
+       # cd "${WORKDIR}
+       # nuget push -source "Local NuGet packages" LibGit2Sharp.0.22.nupkg
+}
+
+pkg_postrm() {
+       if use gac; then
+               einfo "removing from GAC"
+               gacutil -u LibGit2Sharp
+               # don't die, it there is no such assembly in GAC
+       fi
+
+       # yes | nuget delete -source "Local NuGet packages" LibGit2Sharp 0.22
 }

Reply via email to