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.
