commit:     5d97dae4b533193e345aef36884eff4f30369323
Author:     ArsenShnurkov <Arsen.Shnurkov <AT> gmail <DOT> com>
AuthorDate: Thu Jan 14 14:07:16 2016 +0000
Commit:     Mikhail Pukhlikov <cynede <AT> gentoo <DOT> org>
CommitDate: Sat Aug 13 16:34:01 2016 +0000
URL:        https://gitweb.gentoo.org/proj/dotnet.git/commit/?id=5d97dae4

initial version

 dev-dotnet/npgsql/files/npgsql.nuspec           |  18 +++
 dev-dotnet/npgsql/files/postgresql-header.png   | Bin 0 -> 46960 bytes
 dev-dotnet/npgsql/metadata.xml                  |  22 ++++
 dev-dotnet/npgsql/npgsql-3.0.5_p20160101.ebuild | 157 ++++++++++++++++++++++++
 licenses/npgsql                                 |   7 ++
 5 files changed, 204 insertions(+)

diff --git a/dev-dotnet/npgsql/files/npgsql.nuspec 
b/dev-dotnet/npgsql/files/npgsql.nuspec
new file mode 100644
index 0000000..a7ba6d2
--- /dev/null
+++ b/dev-dotnet/npgsql/files/npgsql.nuspec
@@ -0,0 +1,18 @@
+<?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>npgsql</title>
+    <description>$nuget_description$</description>
+    <authors>The Npgsql Development Team</authors>
+    <language>en-US</language>
+    <projectUrl>$nuget_projectUrl$</projectUrl>
+    <iconUrl>$nuget_iconUrl$</iconUrl>
+    <licenseUrl>$nuget_licenseUrl$</licenseUrl>
+    <tags>postgresql sql</tags>
+    <dependencies>
+      <group targetFramework="net45" />
+    </dependencies>
+  </metadata>
+</package>

diff --git a/dev-dotnet/npgsql/files/postgresql-header.png 
b/dev-dotnet/npgsql/files/postgresql-header.png
new file mode 100644
index 0000000..04b7c28
Binary files /dev/null and b/dev-dotnet/npgsql/files/postgresql-header.png 
differ

diff --git a/dev-dotnet/npgsql/metadata.xml b/dev-dotnet/npgsql/metadata.xml
new file mode 100644
index 0000000..0fb6e95
--- /dev/null
+++ b/dev-dotnet/npgsql/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>[email protected]</email>
+               <name>Heather Cynede</name>
+       </maintainer>
+       <upstream>
+               <bugs-to>https://github.com/npgsql/npgsql/issues</bugs-to>
+               <remote-id type="github">npgsql/npgsql</remote-id>
+       </upstream>
+       <use>
+               <flag name='pkg-config'>create .pc file(s) for .dll(s) 
installed to gac</flag>
+       </use>
+       <longdescription lang="en">Npgsql is an open source ADO.NET Data 
Provider for PostgreSQL,
+it allows programs written in C#, F# and similar to access the PostgreSQL 
database server.
+It is implemented in 100% C# code. Works with PostgreSQL 9.x and 
above.</longdescription>
+       <longdescription lang="ru">Npgsql это ADO.NET DataProvider для СУБД 
PostgreSQL.
+Можно использовать для работы с сервером баз данных на языках C#, F# и других, 
выполняющихся в CLR.
+100% кода библиотека реализовано при помощи управляемого C#. Работает с 
PostgreSQL 9.x и выше.</longdescription>
+</pkgmetadata>

diff --git a/dev-dotnet/npgsql/npgsql-3.0.5_p20160101.ebuild 
b/dev-dotnet/npgsql/npgsql-3.0.5_p20160101.ebuild
new file mode 100644
index 0000000..436ff04
--- /dev/null
+++ b/dev-dotnet/npgsql/npgsql-3.0.5_p20160101.ebuild
@@ -0,0 +1,157 @@
+# 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="npgsql"
+NUSPEC_ID="${NAME}"
+HOMEPAGE="https://github.com/npgsql/${NAME}";
+
+EGIT_COMMIT="25703d852a5fed28dde238e2312c982482ea91e0"
+SRC_URI="${HOMEPAGE}/archive/${EGIT_COMMIT}.zip -> ${P}.zip
+       mirror://gentoo/mono.snk.bz2"
+S="${WORKDIR}/${NAME}-${EGIT_COMMIT}"
+
+SLOT="0"
+
+DESCRIPTION="allows any program developed for .NET framework to access a 
PostgreSQL database"
+LICENSE="npgsql"
+LICENSE_URL="https://github.com/npgsql/npgsql/blob/develop/LICENSE.txt";
+
+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=Npgsql.sln
+
+NUSPEC_FILENAME="npgsql.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=postgresql-header.png
+#ICON_URL=http://www.npgsql.org/css/img/postgresql-header.png
+ICON_URL=$(get_nuget_trusted_icons_location)/${NUSPEC_ID}.${NUSPEC_VERSION}.png
+
+src_unpack() {
+       default
+       # Installing 'NLog 3.2.0.0'.
+       # Installing 'AsyncRewriter 0.6.0'.
+       # Installing 'EntityFramework 5.0.0'.
+       # Installing 'EntityFramework 6.1.3'.
+       # Installing 'NUnit 2.6.4'.
+       enuget_download_rogue_binary "NLog" "3.2.0.0"
+       enuget_download_rogue_binary "AsyncRewriter" "0.6.0"
+       enuget_download_rogue_binary "EntityFramework" "5.0.0"
+       enuget_download_rogue_binary "EntityFramework" "6.1.3"
+       #enuget_download_rogue_binary "NUnit" "2.6.4"
+}
+
+src_prepare() {
+       elog "${S}/${NUSPEC_FILENAME}"
+
+       enuget_restore "${METAFILETOBUILD}"
+
+       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=npgsql/bin/${DIR}/Net45/npgsql.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="npgsql/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}/npgsql.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
+}

diff --git a/licenses/npgsql b/licenses/npgsql
new file mode 100644
index 0000000..0a45364
--- /dev/null
+++ b/licenses/npgsql
@@ -0,0 +1,7 @@
+Copyright (c) 2002-2016, The Npgsql Development Team
+
+Permission to use, copy, modify, and distribute this software and its 
documentation for any purpose, without fee, and without a written agreement is 
hereby granted, provided that the above copyright notice and this paragraph and 
the following two paragraphs appear in all copies.
+
+IN NO EVENT SHALL THE NPGSQL DEVELOPMENT TEAM BE LIABLE TO ANY PARTY FOR 
DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST 
PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF 
THE NPGSQL DEVELOPMENT TEAM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+THE NPGSQL DEVELOPMENT TEAM SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, 
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 
PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND 
THE NPGSQL DEVELOPMENT TEAM HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, 
UPDATES, ENHANCEMENTS, OR MODIFICATIONS.

Reply via email to