aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-dotnet/npgsql/Manifest2
-rw-r--r--dev-dotnet/npgsql/files/npgsql.nuspec18
-rw-r--r--dev-dotnet/npgsql/files/postgresql-header.pngbin0 -> 46960 bytes
-rw-r--r--dev-dotnet/npgsql/metadata.xml22
-rw-r--r--dev-dotnet/npgsql/npgsql-3.0.5_p20160101.ebuild157
-rw-r--r--licenses/npgsql7
6 files changed, 206 insertions, 0 deletions
diff --git a/dev-dotnet/npgsql/Manifest b/dev-dotnet/npgsql/Manifest
new file mode 100644
index 0000000..b5ee324
--- /dev/null
+++ b/dev-dotnet/npgsql/Manifest
@@ -0,0 +1,2 @@
+DIST mono.snk.bz2 785 SHA256 0cc2ca58f90773eafa8460dfb8ff4ac6238b68106eb1631348a800091a6ff3de SHA512 de64da7a9e4fa53e5a5abaee00aae05ce3560c72ad8251fd79e2ff9ffa7fb2d5e7c1a4bdb2dbc2eeeeac6450aaad8c40649ff4675ddf95365ef8604a93333224 WHIRLPOOL 05882dd5cc9e2b99b78dc882fed49547dc6b6c133616574987322623e3bd734dc74435b69a6c864f928eb087df7a1ab42910adc47a7d0e70d54178e6b319f628
+DIST npgsql-3.0.5_p20160101.zip 3772851 SHA256 0e5d8663ae5b59df6a4b881d2aa35e67bf88e3393c5de69877e939b8eeae8bf6 SHA512 47c1e24c52cd9aed9cb2533c16ec963cd54f9082afe3ea71a19f060347fe09af1900d5501d875fa4e85d164d76c077669b72bd4e5aa67d81981eb4a0f415294d WHIRLPOOL 2237aec184422fd7ba923bbe670535b6e338fb7931d404278302aa01be26dfa55a3fd7dfbe259a5e5574c571779a01f87ea9645eb3c96c523ef8e5f666b9242c
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
--- /dev/null
+++ b/dev-dotnet/npgsql/files/postgresql-header.png
Binary files 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>cynede@gentoo.org</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.