public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/dotnet:master commit in: dev-dotnet/deveeldb/, dev-dotnet/deveeldb/files/
@ 2016-01-15 13:20 Heather Cynede
  0 siblings, 0 replies; 2+ messages in thread
From: Heather Cynede @ 2016-01-15 13:20 UTC (permalink / raw
  To: gentoo-commits

commit:     b1035b67bc6a27889acb7c294be707e2d9430923
Author:     ArsenShnurkov <Arsen.Shnurkov <AT> gmail <DOT> com>
AuthorDate: Wed Jan  6 04:57:53 2016 +0000
Commit:     Heather Cynede <cynede <AT> gentoo <DOT> org>
CommitDate: Wed Jan  6 04:57:53 2016 +0000
URL:        https://gitweb.gentoo.org/proj/dotnet.git/commit/?id=b1035b67

nuspec upgraded to 2.0 scheme

 ...ild => deveeldb-2.0_pre_alpha_p20160101.ebuild} |  35 ++++----
 dev-dotnet/deveeldb/files/color.png                | Bin 33264 -> 2944 bytes
 .../files/deveeldb-nuget-dependencies.patch        |  90 +++++++++++++++++++++
 dev-dotnet/deveeldb/files/deveeldb.csproj.patch    |  17 ----
 dev-dotnet/deveeldb/files/deveeldb.nuspec          |  27 +++++++
 5 files changed, 136 insertions(+), 33 deletions(-)

diff --git a/dev-dotnet/deveeldb/deveeldb-2.0_pre_alpha_p20160101-r0.ebuild b/dev-dotnet/deveeldb/deveeldb-2.0_pre_alpha_p20160101.ebuild
similarity index 84%
rename from dev-dotnet/deveeldb/deveeldb-2.0_pre_alpha_p20160101-r0.ebuild
rename to dev-dotnet/deveeldb/deveeldb-2.0_pre_alpha_p20160101.ebuild
index 5ad39ff..3db0d51 100644
--- a/dev-dotnet/deveeldb/deveeldb-2.0_pre_alpha_p20160101-r0.ebuild
+++ b/dev-dotnet/deveeldb/deveeldb-2.0_pre_alpha_p20160101.ebuild
@@ -55,7 +55,7 @@ EGIT_COMMIT="7ad0b1563ae111535715dbf6d1f25034887720c5"
 # SRC_URI 	A list of source URIs for the package.
 # Can contain USE-conditional parts, see https://devmanual.gentoo.org/ebuild-writing/variables/index.html#src_uri
 # PF 	Full package name, ${PN}-${PVR}, for example vim-6.3-r1
-SRC_URI="${REPOSITORY_URL}/archive/${EGIT_COMMIT}.zip -> ${PF}.zip
+SRC_URI="${REPOSITORY_URL}/archive/${EGIT_COMMIT}.zip -> ${PN}-${PV}.zip
 	mirror://gentoo/mono.snk.bz2"
 
 NAME=${PN}
@@ -65,24 +65,25 @@ S="${WORKDIR}/${NAME}-${EGIT_COMMIT}"
 #EGIT_BRANCH="mono-attempt-3"
 
 METAFILETOBUILD="src/deveeldb/deveeldb.csproj"
-NUSPEC_FILE_NAME=nuget/deveeldb.nuspec
+NUSPEC_FILE_NAME=deveeldb.nuspec
 
 
-# get_version_component_range is from inherit versionator
-# PR 	Package revision, or r0 if no revision exists.
-NUSPEC_VERSION=$(get_version_component_range 1-3)"${PR//r/.}"
-
-# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-
 #https://raw.githubusercontent.com/ArsenShnurkov/dotnet/deveeldb/dev-dotnet/deveeldb/files/color.png
 EBUILD_REPOSITORY_NAME="ArsenShnurkov/deveeldb"
 EBUILD_BRANCH="deveeldb"
+#https://raw.githubusercontent.com/ArsenShnurkov/dotnet/deveeldb/dev-dotnet/deveeldb/files/color.png
 ICON_URL="https://raw.githubusercontent.com/${EBUILD_REPOSITORY_NAME}/${EBUILD_BRANCH}/${CATEGORY}/${P}/files/color.png"
 
 # rm -rf rm -rf /var/tmp/portage/dev-dotnet/deveeldb-*
 # emerge -v =deveeldb-2.0_pre_alpha_p20160101-r0
 # leafpad /var/tmp/portage/dev-dotnet/deveeldb-2.0_pre_alpha_p20160101-r0/temp/build.log &
 
+# get_version_component_range is from inherit versionator
+# PR 	Package revision, or r0 if no revision exists.
+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-2)"${COMMIT_DATE//p/.}${PR//r/.}"
+
 src_unpack()
 {
 	default
@@ -111,13 +112,15 @@ src_prepare() {
 	# /var/tmp/portage/dev-dotnet/deveeldb-2.0_pre_alpha_p20160101-r0/work/deveeldb-7ad0b1563ae111535715dbf6d1f25034887720c5
 
 	einfo "patching project files"
-	eapply "${FILESDIR}/deveeldb.csproj.patch"
+	eapply "${FILESDIR}/deveeldb-nuget-dependencies.patch"
+	# git diff /var/calculate/remote/distfiles/egit-src/deveeldb.git/src/deveeldb/packages.deveeldb.config
+	# git diff /var/calculate/remote/distfiles/egit-src/deveeldb.git/src/deveeldb/deveeldb.csproj
 	if ! use test ; then
 		einfo "removing unit tests from solution"
 	fi
 
 	einfo "restoring packages (Deveel.Math, DryIoc)"
-	#enuget_restore "${METAFILETOBUILD}"
+	enuget_restore "${METAFILETOBUILD}"
 
 	#enuget_restore "src/nuget-config/packages.config"
 	#<package id="coveralls.net" version="0.5.0" />
@@ -126,8 +129,8 @@ src_prepare() {
 
 	# irony-framework should be packaged before continuing with this ebuild
 
-	#cp "${FILESDIR}/${NUSPEC_FILE_NAME}" "${S}/${NUSPEC_FILE_NAME}" || die
-	#patch_nuspec_file "${S}/${NUSPEC_FILE_NAME}"
+	cp "${FILESDIR}/${NUSPEC_FILE_NAME}" "${S}/${NUSPEC_FILE_NAME}" || die
+	patch_nuspec_file "${S}/${NUSPEC_FILE_NAME}"
 }
 
 src_configure() {
@@ -149,7 +152,7 @@ src_test() {
 src_install() {
 	enupkg "${WORKDIR}/${NAME}.${NUSPEC_VERSION}.nupkg"
 
-	egacinstall "bin/${DIR}/DeveelDB.dll"
+	egacinstall "src/deveeldb/bin/${DIR}/deveeldb.dll"
 
 	install_pc_file
 }
@@ -161,8 +164,8 @@ patch_nuspec_file()
 			DIR="Debug"
 FILES_STRING=`cat <<-EOF || die "${DIR} files at patch_nuspec_file()"
 	<files> <!-- https://docs.nuget.org/create/nuspec-reference -->
-		<file src="bin/${DIR}/DeveelDB.dll" target="lib\net45\" />
-		<file src="bin/${DIR}/DeveelDB.dll.mdb" target="lib\net45\" />
+		<file src="src/deveeldb/bin/${DIR}/deveeldb.dll" target="lib\net45\" />
+		<file src="src/deveeldb/bin/${DIR}/deveeldb.dll.mdb" target="lib\net45\" />
 	</files>
 EOF
 `
@@ -170,7 +173,7 @@ EOF
 		DIR="Release"
 FILES_STRING=`cat <<-EOF || die "${DIR} files at patch_nuspec_file()"
 	<files> <!-- https://docs.nuget.org/create/nuspec-reference -->
-		<file src="bin/${DIR}/DeveelDB.dll" target="lib\net45\" />
+		<file src="src/deveeldb/bin/${DIR}/deveeldb.dll" target="lib\net45\" />
 	</files>
 EOF
 `

diff --git a/dev-dotnet/deveeldb/files/color.png b/dev-dotnet/deveeldb/files/color.png
index 9cfee89..0e608bf 100644
Binary files a/dev-dotnet/deveeldb/files/color.png and b/dev-dotnet/deveeldb/files/color.png differ

diff --git a/dev-dotnet/deveeldb/files/deveeldb-nuget-dependencies.patch b/dev-dotnet/deveeldb/files/deveeldb-nuget-dependencies.patch
new file mode 100644
index 0000000..57a5505
--- /dev/null
+++ b/dev-dotnet/deveeldb/files/deveeldb-nuget-dependencies.patch
@@ -0,0 +1,90 @@
+--- a/src/deveeldb/packages.deveeldb.config
++++ b/src/deveeldb/packages.deveeldb.config
+@@ -17,7 +17,7 @@
+ //
+ -->
+ <packages>
+-  <package id="dmath" version="1.5.64" targetFramework="net35" />
+-  <package id="DryIoc.dll" version="2.0.0" targetFramework="net35" />
+-  <package id="ILRepack.MSBuild.Task" version="1.0.9" targetFramework="net35" />
++  <package id="dmath" version="1.5.66.201512290" targetFramework="net45" />
++  <package id="DryIoc" version="2.1.0.201512110" targetFramework="net45" />
++  <package id="Irony" version="1.0.0.1" targetFramework="net45" />
+ </packages>
+\ No newline at end of file
+--- a/src/deveeldb/deveeldb.csproj
++++ b/src/deveeldb/deveeldb.csproj
+@@ -8,11 +8,13 @@
+     <AppDesignerFolder>Properties</AppDesignerFolder>
+     <RootNamespace>Deveel.Data</RootNamespace>
+     <AssemblyName>deveeldb</AssemblyName>
+-    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
++    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+     <FileAlignment>512</FileAlignment>
+     <TargetFrameworkProfile />
+     <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
+     <RestorePackages>true</RestorePackages>
++    <ProductVersion>8.0.30703</ProductVersion>
++    <SchemaVersion>2.0</SchemaVersion>
+   </PropertyGroup>
+   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+     <DebugSymbols>true</DebugSymbols>
+@@ -63,23 +65,21 @@
+     <WarningLevel>4</WarningLevel>
+   </PropertyGroup>
+   <ItemGroup>
+-    <Reference Include="DryIoc, Version=2.0.0.356, Culture=neutral, processorArchitecture=MSIL">
+-      <HintPath>..\packages\DryIoc.dll.2.0.0\lib\net35\DryIoc.dll</HintPath>
+-      <Private>True</Private>
+-    </Reference>
+-    <Reference Include="Irony, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ca48ace7223ead47, processorArchitecture=MSIL">
+-      <SpecificVersion>False</SpecificVersion>
+-      <HintPath>..\..\lib\irony.net35\Irony.dll</HintPath>
+-    </Reference>
+     <Reference Include="System" />
+     <Reference Include="System.Configuration.Install" />
+     <Reference Include="System.Data" />
+     <Reference Include="System.Transactions" />
+     <Reference Include="System.Xml.Linq" />
+-    <Reference Include="Deveel.Math, Version=1.5.64.0, Culture=neutral, PublicKeyToken=null">
+-      <HintPath>..\packages\dmath.1.5.64\lib\net20\Deveel.Math.pdb\Deveel.Math.dll</HintPath>
+-    </Reference>
+     <Reference Include="System.Xml" />
++    <Reference Include="Deveel.Math">
++      <HintPath>packages\dmath.1.5.66.201512290\lib\net45\Deveel.Math.dll</HintPath>
++    </Reference>
++    <Reference Include="Irony">
++      <HintPath>packages\Irony.1.0.0.1\lib\net45\Irony.dll</HintPath>
++    </Reference>
++    <Reference Include="DryIoc">
++      <HintPath>packages\DryIoc.2.1.0.201512110\lib\net45\DryIoc.dll</HintPath>
++    </Reference>
+   </ItemGroup>
+   <ItemGroup>
+     <Compile Include="Deveel.Data.Caching\Cache.cs" />
+@@ -983,14 +983,6 @@
+     <PreBuildEvent>
+     </PreBuildEvent>
+   </PropertyGroup>
+-  <Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
+-  <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
+-    <PropertyGroup>
+-      <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
+-    </PropertyGroup>
+-    <Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
+-    <Error Condition="!Exists('..\packages\ILRepack.MSBuild.Task.1.0.9\build\ILRepack.MSBuild.Task.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\ILRepack.MSBuild.Task.1.0.9\build\ILRepack.MSBuild.Task.targets'))" />
+-  </Target>
+   <!--
+   <Target Name="AfterBuild">
+    <MakeDir Directories="$(SolutionDir)..\dist\$(PlatformName)"/>
+@@ -1014,10 +1006,6 @@
+    />
+    </Target>
+ -->
+-  <PropertyGroup>
+-    <PostBuildEvent>IF NOT EXIST "$(SolutionDir)..\dist\$(PlatformName)" MKDIR "$(SolutionDir)..\dist\$(PlatformName)"
+-$(SolutionDir)..\util\ilrepack\ILRepack.exe /internalize /targetplatform:v2 /xmldocs /out:"$(SolutionDir)..\dist\$(PlatformName)\$(TargetFileName)" "$(TargetPath)" "$(TargetDir)\irony.dll" "$(TargetDir)\Deveel.Math.dll" "$(TargetDir)\DryIoc.dll"</PostBuildEvent>
+-  </PropertyGroup>
+   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+        Other similar extension points exist, see Microsoft.Common.targets.
+   <Target Name="BeforeBuild">

diff --git a/dev-dotnet/deveeldb/files/deveeldb.csproj.patch b/dev-dotnet/deveeldb/files/deveeldb.csproj.patch
deleted file mode 100644
index c21c4b1..0000000
--- a/dev-dotnet/deveeldb/files/deveeldb.csproj.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- a/src/deveeldb/deveeldb.csproj	2016-01-01 04:52:00.000000000 +0300
-+++ b/src/deveeldb/deveeldb.csproj	2016-01-02 19:02:23.661749782 +0300
-@@ -983,14 +983,6 @@
-     <PreBuildEvent>
-     </PreBuildEvent>
-   </PropertyGroup>
--  <Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
--  <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
--    <PropertyGroup>
--      <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
--    </PropertyGroup>
--    <Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
--    <Error Condition="!Exists('..\packages\ILRepack.MSBuild.Task.1.0.9\build\ILRepack.MSBuild.Task.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\ILRepack.MSBuild.Task.1.0.9\build\ILRepack.MSBuild.Task.targets'))" />
--  </Target>
-   <!--
-   <Target Name="AfterBuild">
-    <MakeDir Directories="$(SolutionDir)..\dist\$(PlatformName)"/>

diff --git a/dev-dotnet/deveeldb/files/deveeldb.nuspec b/dev-dotnet/deveeldb/files/deveeldb.nuspec
new file mode 100644
index 0000000..1f19a71
--- /dev/null
+++ b/dev-dotnet/deveeldb/files/deveeldb.nuspec
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
+	<metadata minClientVersion="2.0"> <!-- NuGet 2.0 was released on 2012-06-19 -->
+		<id>deveeldb</id>
+		<version>$version$</version>
+		<title>DeveelDB Kernel</title>
+		<authors>Antonello Provenzano</authors>
+		<owners>antonello</owners>
+		<licenseUrl>http://www.apache.org/licenses/LICENSE-2.0.txt</licenseUrl>
+		<projectUrl>http://github.com/deveel/deveeldb</projectUrl>
+		<iconUrl>$package_iconUrl$</iconUrl>
+		<requireLicenseAcceptance>false</requireLicenseAcceptance>
+		<description>This is the kernel library of DeveelDB SQL System
+
+		DeveelDB is an embeddable SQL-99 Relational Database Management System oriented to the .NET/Mono frameworks, providing rich functionalities and high performances managing SQL databases within applications.</description>
+		<releaseNotes></releaseNotes>
+		<copyright>(c) 2010-2016 Deveel</copyright>
+		<tags>sql db database data embedded deveel sql-92 sql-99 select query mono</tags>
+		<dependencies>
+			<group targetFramework="net45">
+				<dependency id="dmath" />
+				<dependency id="DryIoc" />
+				<dependency id="Irony" />
+			</group>
+		</dependencies>
+	</metadata>
+</package>


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [gentoo-commits] proj/dotnet:master commit in: dev-dotnet/deveeldb/, dev-dotnet/deveeldb/files/
@ 2016-01-15 13:20 Heather Cynede
  0 siblings, 0 replies; 2+ messages in thread
From: Heather Cynede @ 2016-01-15 13:20 UTC (permalink / raw
  To: gentoo-commits

commit:     692780216a22f0700488b99fa6573949fbe0d08f
Author:     ArsenShnurkov <Arsen.Shnurkov <AT> gmail <DOT> com>
AuthorDate: Sat Jan  2 14:07:16 2016 +0000
Commit:     Heather Cynede <cynede <AT> gentoo <DOT> org>
CommitDate: Tue Jan  5 20:34:42 2016 +0000
URL:        https://gitweb.gentoo.org/proj/dotnet.git/commit/?id=69278021

initial version

 .../deveeldb-2.0_pre_alpha_p20160101-r0.ebuild     | 211 ++++++
 dev-dotnet/deveeldb/files/color.png                | 710 +++++++++++++++++++++
 dev-dotnet/deveeldb/files/deveeldb.csproj.patch    |  17 +
 dev-dotnet/deveeldb/metadata.xml                   |  22 +
 4 files changed, 960 insertions(+)

diff --git a/dev-dotnet/deveeldb/deveeldb-2.0_pre_alpha_p20160101-r0.ebuild b/dev-dotnet/deveeldb/deveeldb-2.0_pre_alpha_p20160101-r0.ebuild
new file mode 100644
index 0000000..5ad39ff
--- /dev/null
+++ b/dev-dotnet/deveeldb/deveeldb-2.0_pre_alpha_p20160101-r0.ebuild
@@ -0,0 +1,211 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+# !!! Unable to do any operations on 'dev-dotnet/DeveelDB-2.0_prealpha-r201601010',
+# !!! since its EAPI is higher than this portage version's. Please upgrade
+# !!! to a portage version that supports EAPI '6'.
+# 2015-11-17, portage-2.2.25 has been committed and it comes with complete EAPI 6 support
+# https://archives.gentoo.org/gentoo-dev/message/73cc181e4949b88abfbd68f8a8ca9254
+
+# to create version number for passing to nuspec file
+inherit versionator
+
+# contain functions for compiling with xbuild
+inherit dotnet
+
+# contain functions for creating .nupkg package
+inherit nupkg
+
+# Package's homepage. Mandatory (except for virtuals).
+# Never refer to a variable name in the string; include only raw text. 
+# (q) https://devmanual.gentoo.org/ebuild-writing/variables/
+HOMEPAGE=http://deveel.github.io/deveeldb/
+
+DESCRIPTION="DeveelDB is a complete SQL database system, primarly developed for .NET/Mono frameworks"
+LICENSE="Apache-2.0"
+LICENSE_URL="http://www.apache.org/licenses/LICENSE-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+# 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
+IUSE="net45 debug developer test +nupkg +gac +pkg-config"
+USE_DOTNET="net45"
+
+COMMON_DEPEND=">=dev-lang/mono-4.0.2.5
+"
+
+RDEPEND="${COMMON_DEPEND}
+"
+
+DEPEND="${COMMON_DEPEND}
+	test? ( dev-dotnet/nunit:2[nupkg] )
+	virtual/pkgconfig
+"
+
+REPOSITORY_URL="https://github.com/ArsenShnurkov/deveeldb"
+EGIT_COMMIT="7ad0b1563ae111535715dbf6d1f25034887720c5"
+
+# SRC_URI 	A list of source URIs for the package.
+# Can contain USE-conditional parts, see https://devmanual.gentoo.org/ebuild-writing/variables/index.html#src_uri
+# PF 	Full package name, ${PN}-${PVR}, for example vim-6.3-r1
+SRC_URI="${REPOSITORY_URL}/archive/${EGIT_COMMIT}.zip -> ${PF}.zip
+	mirror://gentoo/mono.snk.bz2"
+
+NAME=${PN}
+S="${WORKDIR}/${NAME}-${EGIT_COMMIT}"
+
+
+#EGIT_BRANCH="mono-attempt-3"
+
+METAFILETOBUILD="src/deveeldb/deveeldb.csproj"
+NUSPEC_FILE_NAME=nuget/deveeldb.nuspec
+
+
+# get_version_component_range is from inherit versionator
+# PR 	Package revision, or r0 if no revision exists.
+NUSPEC_VERSION=$(get_version_component_range 1-3)"${PR//r/.}"
+
+# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+
+#https://raw.githubusercontent.com/ArsenShnurkov/dotnet/deveeldb/dev-dotnet/deveeldb/files/color.png
+EBUILD_REPOSITORY_NAME="ArsenShnurkov/deveeldb"
+EBUILD_BRANCH="deveeldb"
+ICON_URL="https://raw.githubusercontent.com/${EBUILD_REPOSITORY_NAME}/${EBUILD_BRANCH}/${CATEGORY}/${P}/files/color.png"
+
+# rm -rf rm -rf /var/tmp/portage/dev-dotnet/deveeldb-*
+# emerge -v =deveeldb-2.0_pre_alpha_p20160101-r0
+# leafpad /var/tmp/portage/dev-dotnet/deveeldb-2.0_pre_alpha_p20160101-r0/temp/build.log &
+
+src_unpack()
+{
+	default
+
+	# delete untrusted executables
+	find "${S}" -iname "*.exe" -delete || die
+	# ./util/ilrepack/ILRepack.exe
+	# ./src/.nuget/NuGet.exe
+	find "${S}" -iname "*.dll" -delete || die
+	# ./lib/irony.net35/Irony.dll
+	# ./lib/irony.pcl/Irony.Shared.dll
+	# ./lib/xpathreader/XPathReader.dll
+	# ./lib/iqtoolkit-1.0.0.0/anycpu/IQToolkit.dll
+	# ./lib/iqtoolkit-1.0.0.0/anycpu/IQToolkit.Data.dll
+	# ./lib/antlr3.pcl/Antlr3.Runtime.dll
+
+	# rename folder to disable line
+	# <Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
+	# in .csproj file, see http://bartwullems.blogspot.ru/2012/08/disable-nuget-package-restore.html
+	mv "${S}/src/.nuget" "${S}/src/nuget-config" || die
+	# NuGet.Config NuGet.targets packages.config
+}
+
+src_prepare() {
+	default
+	# /var/tmp/portage/dev-dotnet/deveeldb-2.0_pre_alpha_p20160101-r0/work/deveeldb-7ad0b1563ae111535715dbf6d1f25034887720c5
+
+	einfo "patching project files"
+	eapply "${FILESDIR}/deveeldb.csproj.patch"
+	if ! use test ; then
+		einfo "removing unit tests from solution"
+	fi
+
+	einfo "restoring packages (Deveel.Math, DryIoc)"
+	#enuget_restore "${METAFILETOBUILD}"
+
+	#enuget_restore "src/nuget-config/packages.config"
+	#<package id="coveralls.net" version="0.5.0" />
+	#<package id="ILRepack" version="1.25.0" />
+	#<package id="OpenCover" version="4.6.166" />
+
+	# irony-framework should be packaged before continuing with this ebuild
+
+	#cp "${FILESDIR}/${NUSPEC_FILE_NAME}" "${S}/${NUSPEC_FILE_NAME}" || die
+	#patch_nuspec_file "${S}/${NUSPEC_FILE_NAME}"
+}
+
+src_configure() {
+	:;
+}
+
+src_compile() {
+	exbuild /p:SignAssembly=true "/p:AssemblyOriginatorKeyFile=${WORKDIR}/mono.snk" "${METAFILETOBUILD}"
+
+	# run nuget_pack
+	einfo "setting .nupkg version to ${NUSPEC_VERSION}"
+	enuspec -Prop "version=${NUSPEC_VERSION};package_iconUrl=${ICON_URL}" "${S}/${NUSPEC_FILE_NAME}"
+}
+
+src_test() {
+	default
+}
+
+src_install() {
+	enupkg "${WORKDIR}/${NAME}.${NUSPEC_VERSION}.nupkg"
+
+	egacinstall "bin/${DIR}/DeveelDB.dll"
+
+	install_pc_file
+}
+
+patch_nuspec_file()
+{
+	if use nupkg; then
+		if use debug; then
+			DIR="Debug"
+FILES_STRING=`cat <<-EOF || die "${DIR} files at patch_nuspec_file()"
+	<files> <!-- https://docs.nuget.org/create/nuspec-reference -->
+		<file src="bin/${DIR}/DeveelDB.dll" target="lib\net45\" />
+		<file src="bin/${DIR}/DeveelDB.dll.mdb" target="lib\net45\" />
+	</files>
+EOF
+`
+	else
+		DIR="Release"
+FILES_STRING=`cat <<-EOF || die "${DIR} files at patch_nuspec_file()"
+	<files> <!-- https://docs.nuget.org/create/nuspec-reference -->
+		<file src="bin/${DIR}/DeveelDB.dll" target="lib\net45\" />
+	</files>
+EOF
+`
+		fi
+
+		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}/DeveelDB.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/dev-dotnet/deveeldb/files/color.png b/dev-dotnet/deveeldb/files/color.png
new file mode 100644
index 0000000..9cfee89
--- /dev/null
+++ b/dev-dotnet/deveeldb/files/color.png
@@ -0,0 +1,710 @@
+
+
+<!DOCTYPE html>
+<html lang="en" >
+
+<head>
+	<script>
+window.ts_endpoint_url = "https:\/\/slack.com\/beacon\/timing";
+
+(function(e) {
+	var n=Date.now?Date.now():+new Date,r=e.performance||{},t=[],a={},i=function(e,n){for(var r=0,a=t.length,i=[];a>r;r++)t[r][e]==n&&i.push(t[r]);return i},o=function(e,n){for(var r,a=t.length;a--;)r=t[a],r.entryType!=e||void 0!==n&&r.name!=n||t.splice(a,1)};r.now||(r.now=r.webkitNow||r.mozNow||r.msNow||function(){return(Date.now?Date.now():+new Date)-n}),r.mark||(r.mark=r.webkitMark||function(e){var n={name:e,entryType:"mark",startTime:r.now(),duration:0};t.push(n),a[e]=n}),r.measure||(r.measure=r.webkitMeasure||function(e,n,r){n=a[n].startTime,r=a[r].startTime,t.push({name:e,entryType:"measure",startTime:n,duration:r-n})}),r.getEntriesByType||(r.getEntriesByType=r.webkitGetEntriesByType||function(e){return i("entryType",e)}),r.getEntriesByName||(r.getEntriesByName=r.webkitGetEntriesByName||function(e){return i("name",e)}),r.clearMarks||(r.clearMarks=r.webkitClearMarks||function(e){o("mark",e)}),r.clearMeasures||(r.clearMeasures=r.webkitClearMeasures||function(e){o("measure",e)}),e.p
 erformance=r,"function"==typeof define&&(define.amd||define.ajs)&&define("performance",[],function(){return r}) // eslint-disable-line
+})(window);
+
+</script>
+<script>;(function() {
+
+'use strict';
+
+
+window.TSMark = function(mark_label) {
+	if (!window.performance || !window.performance.mark) return;
+	performance.mark(mark_label);
+};
+window.TSMark('start_load');
+
+
+window.TSMeasureAndBeacon = function(measure_label, start_mark_label) {
+	if (start_mark_label === 'start_nav' && window.performance && window.performance.timing) {
+		window.TSBeacon(measure_label, (new Date()).getTime() - performance.timing.navigationStart);
+		return;
+	}
+	if (!window.performance || !window.performance.mark || !window.performance.measure) return;
+	performance.mark(start_mark_label + '_end');
+	try {
+		performance.measure(measure_label, start_mark_label, start_mark_label + '_end');
+		window.TSBeacon(measure_label, performance.getEntriesByName(measure_label)[0].duration);
+	} catch(e) { return; }
+};
+
+
+window.TSBeacon = function(label, value) {
+	var endpoint_url = window.ts_endpoint_url || 'https://slack.com/beacon/timing';
+	(new Image()).src = endpoint_url + '?data=' + encodeURIComponent(label + ':' + value);
+};
+
+})();
+</script>
+ 
+
+<script>
+window.TSMark('step_load');
+</script>	<noscript><meta http-equiv="refresh" content="0; URL=/?redir=%2Ffiles%2Fantonello%2FF0HJWG3QW%2Fcolor.png&amp;nojsmode=1" /></noscript>
+<script type="text/javascript">
+(function() {
+	var start_time = Date.now();
+	var logs = [];
+	var connecting = true;
+	var ever_connected = false;
+	var log_namespace;
+		
+	var logWorker = function(ob) {
+		var log_str = ob.secs+' start_label:'+ob.start_label+' measure_label:'+ob.measure_label+' description:'+ob.description;
+		
+		if (TS.timing.getLatestMark(ob.start_label)){
+			TS.timing.measure(ob.measure_label, ob.start_label);
+			TS.log(88, log_str);
+			
+			if (ob.do_reset) {
+				window.TSMark(ob.start_label);
+			}
+		} else {
+			TS.maybeWarn(88, 'not timing: '+log_str);
+		}
+	}
+	
+	var log = function(k, description) {
+		var secs = (Date.now()-start_time)/1000;
+
+		logs.push({
+			k: k,
+			d: description,
+			t: secs,
+			c: !!connecting
+		})
+	
+		if (!window.boot_data) return;
+		if (!window.TS) return;
+		if (!TS.timing) return;
+		if (!connecting) return;
+		
+		// lazy assignment
+		log_namespace = log_namespace || (function() {
+			if (boot_data.app == 'client') return 'client';
+			if (boot_data.app == 'space') return 'post';
+			if (boot_data.app == 'api') return 'apisite';
+			if (boot_data.app == 'mobile') return 'mobileweb';
+			if (boot_data.app == 'web' || boot_data.app == 'oauth') return 'web';
+			return 'unknown';
+		})();
+		
+		var modifier = (TS.boot_data.feature_no_rollups) ? '_no_rollups' : '';
+		
+		logWorker({
+			k: k,
+			secs: secs,
+			description: description,
+			start_label: ever_connected ? 'start_reconnect' : 'start_load',
+			measure_label: 'v2_'+log_namespace+modifier+(ever_connected ? '_reconnect__' : '_load__')+k,
+			do_reset: false,
+		});
+	}
+	
+	var setConnecting = function(val) {
+		val = !!val;
+		if (val == connecting) return;
+		
+		if (val) {
+			log('start');
+			if (ever_connected) {
+				// we just started reconnecting, so reset timing
+				window.TSMark('start_reconnect');
+				window.TSMark('step_reconnect');
+				window.TSMark('step_load');
+			}
+		
+			connecting = val;
+			log('start');
+		} else {
+			log('over');
+			ever_connected = true;
+			connecting = val;
+		}
+	}
+	
+	window.TSConnLogger = {
+		log: log,
+		logs: logs,
+		start_time: start_time,
+		setConnecting: setConnecting
+	}
+})();
+
+if(self!==top)window.document.write("\u003Cstyle>body * {display:none !important;}\u003C\/style>\u003Ca href=\"#\" onclick="+
+"\"top.location.href=window.location.href\" style=\"display:block !important;padding:10px\">Go to Slack.com\u003C\/a>");
+</script>
+
+
+<script type="text/javascript">
+window.callSlackAPIUnauthed = function(method, args, callback) {
+	var url = '/api/'+method+'?t='+Date.now();
+	var req = new XMLHttpRequest();
+	
+	req.onreadystatechange = function() {
+		if (req.readyState == 4) {
+			req.onreadystatechange = null;
+			var obj;
+			
+			if (req.status == 200) {
+				if (req.responseText.indexOf('{') == 0) {
+					try {
+						eval('obj = '+req.responseText);
+					} catch (err) {
+						console.warn('unable to do anything with api rsp');
+					}
+				}
+			}
+			
+			obj = obj || {
+				ok: false	
+			}
+			
+			callback(obj.ok, obj, args);
+		}
+	}
+	
+	req.open('POST', url, 1);
+	req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
+
+	var args2 = [];
+	for (i in args) {
+		args2[args2.length] = encodeURIComponent(i)+'='+encodeURIComponent(args[i]);
+	}
+
+	req.send(args2.join('&'));
+}
+</script>
+
+			
+	
+	<script type="text/javascript">
+		(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+		(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+		m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+		})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+		ga('create', "UA-106458-17", 'slack.com');
+		
+		ga('send', 'pageview');
+
+		
+		(function(e,c,b,f,d,g,a){e.SlackBeaconObject=d;
+		e[d]=e[d]||function(){(e[d].q=e[d].q||[]).push([1*new Date(),arguments])};
+		e[d].l=1*new Date();g=c.createElement(b);a=c.getElementsByTagName(b)[0];
+		g.async=1;g.src=f;a.parentNode.insertBefore(g,a)
+		})(window,document,"script","https://slack.global.ssl.fastly.net/dcf8/js/libs/beacon.js","sb");
+		sb('set', 'token', '3307f436963e02d4f9eb85ce5159744c');
+
+				sb('track', 'pageview');
+
+		function track(a){ga('send','event','web',a);sb('track',a);}
+
+	</script>
+
+
+		<script type='text/javascript'>
+		
+		(function(f,b){if(!b.__SV){var a,e,i,g;window.mixpanel=b;b._i=[];b.init=function(a,e,d){function f(b,h){var a=h.split(".");2==a.length&&(b=b[a[0]],h=a[1]);b[h]=function(){b.push([h].concat(Array.prototype.slice.call(arguments,0)))}}var c=b;"undefined"!==typeof d?c=b[d]=[]:d="mixpanel";c.people=c.people||[];c.toString=function(b){var a="mixpanel";"mixpanel"!==d&&(a+="."+d);b||(a+=" (stub)");return a};c.people.toString=function(){return c.toString(1)+".people (stub)"};i="disable track track_pageview track_links track_forms register register_once alias unregister identify name_tag set_config people.set people.set_once people.increment people.append people.track_charge people.clear_charges people.delete_user".split(" ");
+		for(g=0;g<i.length;g++)f(c,i[g]);b._i.push([a,e,d])};b.__SV=1.2;a=f.createElement("script");a.type="text/javascript";a.async=!0;a.src="//cdn.mxpnl.com/libs/mixpanel-2-latest.min.js";e=f.getElementsByTagName("script")[0];e.parentNode.insertBefore(a,e)}})(document,window.mixpanel||[]);
+		
+
+		mixpanel.init("12d52d8633a5b432975592d13ebd3f34");
+
+		
+			function mixpanel_track(){if(window.mixpanel)mixpanel.track.apply(mixpanel, arguments);}
+			function mixpanel_track_forms(){if(window.mixpanel)mixpanel.track_forms.apply(mixpanel, arguments);}
+			function mixpanel_track_links(){if(window.mixpanel)mixpanel.track_links.apply(mixpanel, arguments);}
+		
+	</script>
+	
+			<meta name="referrer" content="no-referrer">
+			<meta name="superfish" content="nofish">
+	<script type="text/javascript">
+
+
+
+var TS_last_log_date = null;
+var TSMakeLogDate = function() {
+	var date = new Date();
+
+	var y = date.getFullYear();
+	var mo = date.getMonth()+1;
+	var d = date.getDate();
+
+	var time = {
+	  h: date.getHours(),
+	  mi: date.getMinutes(),
+	  s: date.getSeconds(),
+	  ms: date.getMilliseconds()
+	};
+
+	Object.keys(time).map(function(moment, index) {
+		if (moment == 'ms') {
+			if (time[moment] < 10) {
+				time[moment] = time[moment]+'00';
+			} else if (time[moment] < 100) {
+				time[moment] = time[moment]+'0';
+			}
+		} else if (time[moment] < 10) {
+			time[moment] = '0' + time[moment];
+		}
+	});
+
+	var str = y + '/' + mo + '/' + d + ' ' + time.h + ':' + time.mi + ':' + time.s + '.' + time.ms;
+	if (TS_last_log_date) {
+		var diff = date-TS_last_log_date;
+		//str+= ' ('+diff+'ms)';
+	}
+	TS_last_log_date = date;
+	return str+' ';
+}
+
+var TSSSB = {
+	env: (function() {
+		var v = {
+			win_ssb_version: null,
+			win_ssb_version_minor: null,
+			mac_ssb_version: null,
+			mac_ssb_version_minor: null,
+			mac_ssb_build: null,
+			lin_ssb_version: null,
+			lin_ssb_version_minor: null
+		}
+		
+		var is_win = (navigator.appVersion.indexOf("Windows") !== -1);
+		var is_lin = (navigator.appVersion.indexOf("Linux") !== -1);
+		var is_mac = !!(navigator.userAgent.match(/(OS X)/g));
+
+		if (navigator.userAgent.match(/(Slack_SSB)/g) || navigator.userAgent.match(/(Slack_WINSSB)/g)) {
+			// Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.55.3 (KHTML, like Gecko) Slack_SSB/0.32
+			var parts = navigator.userAgent.split('/');
+			var version_str = parts[parts.length-1];
+			var version_float = parseFloat(version_str);
+			var versionA = version_str.split('.');
+			var version_minor = (versionA.length == 3) ? parseInt(versionA[2]) : 0;
+	
+			if (navigator.userAgent.match(/(AtomShell)/g)) {
+				// Electron-based app
+				if (is_lin) {
+					v.lin_ssb_version = version_float;
+					v.lin_ssb_version_minor = version_minor;
+				} else {
+					v.win_ssb_version = version_float;
+					v.win_ssb_version_minor = version_minor;
+				}
+			} else {
+				// MacGap-based app
+				v.mac_ssb_version = version_float;
+				v.mac_ssb_version_minor = version_minor;
+				
+				// buildVersion() only available in 2.0 + (and not early builds)
+				// returns a string like "2.0.0 (7447)" and we want the part in parens
+				var app_ver = window.macgap && macgap.app && macgap.app.buildVersion && macgap.app.buildVersion();
+				var matches = String(app_ver).match(/(?:\()(.*)(?:\))/);
+				v.mac_ssb_build = (matches && matches.length == 2) ? parseInt(matches[1] || 0) : 0;
+			}
+		}
+
+		return v;
+	})(),
+	
+	
+
+	call: function() {
+		return false;
+	}
+
+	
+}
+
+</script>	<script type="text/javascript">
+		
+		var was_TS = window.TS;
+		delete window.TS;
+		TSSSB.call('didFinishLoading');
+		if (was_TS) window.TS = was_TS;
+	</script>
+	    <meta charset="utf-8">
+    <title>Slack</title>
+    <meta name="author" content="Slack">
+    <meta name="robots" content="noindex,nofollow">
+
+	
+		
+	
+				
+																
+											
+		
+				<!-- output_css "core" -->
+    <link href="https://slack.global.ssl.fastly.net/fcdf/style/rollup-plastic.css" rel="stylesheet" type="text/css">
+
+		<!-- output_css "before_file_pages" -->
+
+	<!-- output_css "file_pages" -->
+
+	<!-- output_css "regular" -->
+    <link href="https://slack.global.ssl.fastly.net/4104/style/index.css" rel="stylesheet" type="text/css">
+    <link href="https://slack.global.ssl.fastly.net/ca59/style/sticky_nav.css" rel="stylesheet" type="text/css">
+    <link href="https://slack.global.ssl.fastly.net/2d557/style/footer.css" rel="stylesheet" type="text/css">
+    <link href="https://slack.global.ssl.fastly.net/508c4/style/libs/lato-1-compressed.css" rel="stylesheet" type="text/css">
+
+	
+
+	
+	
+	
+
+	<!--[if lt IE 9]>
+	<script src="https://slack.global.ssl.fastly.net/ef0d/js/libs/html5shiv.js"></script>
+	<![endif]-->
+
+	
+<link id="favicon" rel="shortcut icon" href="https://slack.global.ssl.fastly.net/66f9/img/icons/favicon-32.png" sizes="16x16 32x32 48x48" type="image/png" />
+
+<link rel="icon" href="https://slack.global.ssl.fastly.net/0180/img/icons/app-256.png" sizes="256x256" type="image/png" />
+
+<link rel="apple-touch-icon-precomposed" sizes="152x152" href="https://slack.global.ssl.fastly.net/66f9/img/icons/ios-152.png" />
+<link rel="apple-touch-icon-precomposed" sizes="144x144" href="https://slack.global.ssl.fastly.net/66f9/img/icons/ios-144.png" />
+<link rel="apple-touch-icon-precomposed" sizes="120x120" href="https://slack.global.ssl.fastly.net/66f9/img/icons/ios-120.png" />
+<link rel="apple-touch-icon-precomposed" sizes="114x114" href="https://slack.global.ssl.fastly.net/66f9/img/icons/ios-114.png" />
+<link rel="apple-touch-icon-precomposed" sizes="72x72" href="https://slack.global.ssl.fastly.net/0180/img/icons/ios-72.png" />
+<link rel="apple-touch-icon-precomposed" href="https://slack.global.ssl.fastly.net/66f9/img/icons/ios-57.png" />
+
+<meta name="msapplication-TileColor" content="#FFFFFF" />
+<meta name="msapplication-TileImage" content="https://slack.global.ssl.fastly.net/66f9/img/icons/app-144.png" />	<script>
+!function(a,b){function c(a,b){try{if("function"!=typeof a)return a;if(!a.bugsnag){var c=e();a.bugsnag=function(d){if(b&&b.eventHandler&&(u=d),v=c,!y){var e=a.apply(this,arguments);return v=null,e}try{return a.apply(this,arguments)}catch(f){throw l("autoNotify",!0)&&(x.notifyException(f,null,null,"error"),s()),f}finally{v=null}},a.bugsnag.bugsnag=a.bugsnag}return a.bugsnag}catch(d){return a}}function d(){B=!1}function e(){var a=document.currentScript||v;if(!a&&B){var b=document.scripts||document.getElementsByTagName("script");a=b[b.length-1]}return a}function f(a){var b=e();b&&(a.script={src:b.src,content:l("inlineScript",!0)?b.innerHTML:""})}function g(b){var c=l("disableLog"),d=a.console;void 0===d||void 0===d.log||c||d.log("[Bugsnag] "+b)}function h(b,c,d){if(d>=5)return encodeURIComponent(c)+"=[RECURSIVE]";d=d+1||1;try{if(a.Node&&b instanceof a.Node)return encodeURIComponent(c)+"="+encodeURIComponent(r(b));var e=[];for(var f in b)if(b.hasOwnProperty(f)&&null!=f&&null!=b[f]){var 
 g=c?c+"["+f+"]":f,i=b[f];e.push("object"==typeof i?h(i,g,d):encodeURIComponent(g)+"="+encodeURIComponent(i))}return e.join("&")}catch(j){return encodeURIComponent(c)+"="+encodeURIComponent(""+j)}}function i(a,b){if(null==b)return a;a=a||{};for(var c in b)if(b.hasOwnProperty(c))try{a[c]=b[c].constructor===Object?i(a[c],b[c]):b[c]}catch(d){a[c]=b[c]}return a}function j(a,b){a+="?"+h(b)+"&ct=img&cb="+(new Date).getTime();var c=new Image;c.src=a}function k(a){var b={},c=/^data\-([\w\-]+)$/;if(a)for(var d=a.attributes,e=0;e<d.length;e++){var f=d[e];if(c.test(f.nodeName)){var g=f.nodeName.match(c)[1];b[g]=f.value||f.nodeValue}}return b}function l(a,b){C=C||k(J);var c=void 0!==x[a]?x[a]:C[a.toLowerCase()];return"false"===c&&(c=!1),void 0!==c?c:b}function m(a){return a&&a.match(D)?!0:(g("Invalid API key '"+a+"'"),!1)}function n(b,c){var d=l("apiKey");if(m(d)&&A){A-=1;var e=l("releaseStage"),f=l("notifyReleaseStages");if(f){for(var h=!1,k=0;k<f.length;k++)if(e===f[k]){h=!0;break}if(!h)return
 }var n=[b.name,b.message,b.stacktrace].join("|");if(n!==w){w=n,u&&(c=c||{},c["Last Event"]=q(u));var o={notifierVersion:H,apiKey:d,projectRoot:l("projectRoot")||a.location.protocol+"//"+a.location.host,context:l("context")||a.location.pathname,userId:l("userId"),user:l("user"),metaData:i(i({},l("metaData")),c),releaseStage:e,appVersion:l("appVersion"),url:a.location.href,userAgent:navigator.userAgent,language:navigator.language||navigator.userLanguage,severity:b.severity,name:b.name,message:b.message,stacktrace:b.stacktrace,file:b.file,lineNumber:b.lineNumber,columnNumber:b.columnNumber,payloadVersion:"2"},p=x.beforeNotify;if("function"==typeof p){var r=p(o,o.metaData);if(r===!1)return}return 0===o.lineNumber&&/Script error\.?/.test(o.message)?g("Ignoring cross-domain script error. See https://bugsnag.com/docs/notifiers/js/cors"):(j(l("endpoint")||G,o),void 0)}}}function o(){var a,b,c=10,d="[anonymous]";try{throw new Error("")}catch(e){a="<generated>\n",b=p(e)}if(!b){a="<generated-i
 e>\n";var f=[];try{for(var h=arguments.callee.caller.caller;h&&f.length<c;){var i=E.test(h.toString())?RegExp.$1||d:d;f.push(i),h=h.caller}}catch(j){g(j)}b=f.join("\n")}return a+b}function p(a){return a.stack||a.backtrace||a.stacktrace}function q(a){var b={millisecondsAgo:new Date-a.timeStamp,type:a.type,which:a.which,target:r(a.target)};return b}function r(a){if(a){var b=a.attributes;if(b){for(var c="<"+a.nodeName.toLowerCase(),d=0;d<b.length;d++)b[d].value&&"null"!=b[d].value.toString()&&(c+=" "+b[d].name+'="'+b[d].value+'"');return c+">"}return a.nodeName}}function s(){z+=1,a.setTimeout(function(){z-=1})}function t(a,b,c){var d=a[b],e=c(d);a[b]=e}var u,v,w,x={},y=!0,z=0,A=10;x.noConflict=function(){return a.Bugsnag=b,x},x.refresh=function(){A=10},x.notifyException=function(a,b,c,d){b&&"string"!=typeof b&&(c=b,b=void 0),c||(c={}),f(c),n({name:b||a.name,message:a.message||a.description,stacktrace:p(a)||o(),file:a.fileName||a.sourceURL,lineNumber:a.lineNumber||a.line,columnNumber:a.
 columnNumber?a.columnNumber+1:void 0,severity:d||"warning"},c)},x.notify=function(b,c,d,e){n({name:b,message:c,stacktrace:o(),file:a.location.toString(),lineNumber:1,severity:e||"warning"},d)};var B="complete"!==document.readyState;document.addEventListener?(document.addEventListener("DOMContentLoaded",d,!0),a.addEventListener("load",d,!0)):a.attachEvent("onload",d);var C,D=/^[0-9a-f]{32}$/i,E=/function\s*([\w\-$]+)?\s*\(/i,F="https://notify.bugsnag.com/",G=F+"js",H="2.4.7",I=document.getElementsByTagName("script"),J=I[I.length-1];if(a.atob){if(a.ErrorEvent)try{0===new a.ErrorEvent("test").colno&&(y=!1)}catch(K){}}else y=!1;if(l("autoNotify",!0)){t(a,"onerror",function(b){return function(c,d,e,g,h){var i=l("autoNotify",!0),j={};!g&&a.event&&(g=a.event.errorCharacter),f(j),v=null,i&&!z&&n({name:h&&h.name||"window.onerror",message:c,file:d,lineNumber:e,columnNumber:g,stacktrace:h&&p(h)||o(),severity:"error"},j),b&&b(c,d,e,g,h)}});var L=function(a){return function(b,d){if("function"==t
 ypeof b){b=c(b);var e=Array.prototype.slice.call(arguments,2);return a(function(){b.apply(this,e)},d)}return a(b,d)}};t(a,"setTimeout",L),t(a,"setInterval",L),a.requestAnimationFrame&&t(a,"requestAnimationFrame",function(a){return function(b){return a(c(b))}}),a.setImmediate&&t(a,"setImmediate",function(a){return function(){var b=Array.prototype.slice.call(arguments);return b[0]=c(b[0]),a.apply(this,b)}}),"EventTarget Window Node ApplicationCache AudioTrackList ChannelMergerNode CryptoOperation EventSource FileReader HTMLUnknownElement IDBDatabase IDBRequest IDBTransaction KeyOperation MediaController MessagePort ModalWindow Notification SVGElementInstance Screen TextTrack TextTrackCue TextTrackList WebSocket WebSocketWorker Worker XMLHttpRequest XMLHttpRequestEventTarget XMLHttpRequestUpload".replace(/\w+/g,function(b){var d=a[b]&&a[b].prototype;d&&d.hasOwnProperty&&d.hasOwnProperty("addEventListener")&&(t(d,"addEventListener",function(a){return function(b,d,e,f){return d&&d.handle
 Event&&(d.handleEvent=c(d.handleEvent,{eventHandler:!0})),a.call(this,b,c(d,{eventHandler:!0}),e,f)}}),t(d,"removeEventListener",function(a){return function(b,d,e,f){return a.call(this,b,d,e,f),a.call(this,b,c(d),e,f)}}))})}a.Bugsnag=x,"function"==typeof define&&define.amd?define([],function(){return x}):"object"==typeof module&&"object"==typeof module.exports&&(module.exports=x)}(window,window.Bugsnag);
+Bugsnag.apiKey = "2a86b308af5a81d2c9329fedfb4b30c7";
+Bugsnag.appVersion = "2135a8392aaf4f16e439398d9547015990dbd213" + '-' + "1451756251";
+Bugsnag.endpoint = "https://errors-webapp.slack-core.com/js";
+Bugsnag.releaseStage = "prod";
+Bugsnag.autoNotify = false;
+Bugsnag.metaData = {};
+Bugsnag.metaData.team = {id:"T02T6HDFL",name:"deveel",domain:"deveel"};
+Bugsnag.refresh_interval = setInterval(function () { (window.TS && window.TS.client) ? Bugsnag.refresh() : clearInterval(Bugsnag.refresh_interval); }, 15 * 60 * 1000);
+</script>
+</head>
+
+<body class="index">
+
+		  			<script>
+		
+			var w = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);
+			if (w > 1440) document.querySelector('body').classList.add('widescreen');
+		
+		</script>
+	
+  	
+	
+
+	
+							<nav class="top persistent">
+	<a href="https://slack.com/" class="logo"></a>
+		<ul>
+		<li><a  href="https://slack.com/is">Product</a></li>
+		<li><a  href="https://slack.com/pricing">Pricing</a></li>		<li><a  href="https://get.slack.help/hc/en-us">Support</a></li>
+		<li><a  href="http://slackhq.com">Blog</a></li>
+				<li class="create_team">
+			<a href="https://slack.com/create" class="btn_sticky ga_track_signup ">Create a new team</a>
+		</li>
+		<li class="mobile_menu_btn">
+			<a href="#" class="btn_sticky">Menu</a>
+		</li>
+	</ul>
+	</nav>
+<nav class="mobile_menu loading" aria-hidden="true">
+	<a href="https://slack.com/" class="logo"></a>
+	<a href="#" class="close" aria-label="close"><i class="ts_icon ts_icon_times"></i></a>
+		<ul>
+		<li><a  href="https://slack.com/is">Product</a></li>
+		<li><a  href="https://slack.com/pricing">Pricing</a></li>		<li><a  href="https://get.slack.help/hc/en-us">Support</a></li>
+		<li><a  href="http://slackhq.com">Blog</a></li>
+		<li><a href="https://slack.com/signin">Sign in</a></li>
+	</ul>
+	<a href="https://slack.com/create" class="sign_up ga_track_signup ">Create a new team</a>
+	</nav>	
+	<div id="page" >
+
+		<div id="page_contents" class="">
+
+<div class="span_4_of_6 col float_none margin_auto no_right_padding">
+			<p class="alert alert_info"><i class="ts_icon ts_icon_info_circle"></i> You need to sign in to see this page.</p>
+
+		<p id="error_ratelimit" class="alert alert_warning" style="display: none;"><i class="ts_icon ts_icon_warning"></i> <strong>Too many login failures!</strong><br class="hide_on_mobile" /> For your team’s security complete the reCAPTCHA.</p><p id="error_unknown" class="alert alert_error" style="display: none;"><i class="ts_icon ts_icon_warning"></i> Hmmm... something went wrong. Please try again.</p></div>
+
+	<div class="real_content card align_center span_4_of_6 col float_none margin_auto large_bottom_margin right_padding large_bottom_padding">
+	<h1> Sign in to <span class="break_word">deveel.slack.com</span></h1>
+	
+	<div class="col span_4_of_6 float_none margin_auto large_bottom_margin">
+		<form id="signin_form" action="/" method="post" accept-encoding="UTF-8">
+			<input type="hidden" name="signin" value="1" />
+			<input type="hidden" name="redir" value="/files/antonello/F0HJWG3QW/color.png" />
+						<input type="hidden" name="crumb" value="s-1451761161-d34ef19277-☃" />
+
+			<p>Enter your <strong>email address</strong> and <strong>password</strong>.</p>
+
+			<p class=" no_bottom_margin">
+				<input type="email" id="email" name="email" size="40" value="" placeholder="you@domain.com" />
+			</p>
+
+			<p class=" small_bottom_margin">
+				<input type="password" id="password" name="password" size="40" placeholder="password" />
+			</p>
+			
+			
+				
+							
+			<p><button id="signin_btn" type="submit" class="btn btn_large full_width ladda-button" data-style="expand-right" /><span class="ladda-label">Sign in</span></button></p>
+
+			<p><label class="checkbox"><input type="checkbox" name="remember" checked /> Keep me signed in</label></p>
+
+							<p class="small"><a id="forgot-pw" href="/forgot" class="bold">I forgot my password</a></p>
+			
+		</form>
+
+		<div id="signup_prompt" class="signin_msg large_top_margin large_bottom_margin" style="display: none;">
+			<hr class="half_width no_top_margin" />
+			<p class="align_left">You don't have an account set up yet. But you can sign up with your <strong class="email_output"></strong> email address.</p>
+			<p><a id="signup_link" href="/signup?email=" class="btn btn_large btn_info full_width">Create Account</a></p>
+			<p class="small"><a class="restart_link bold">Or use a different email address</a></p>
+		</div>
+
+		<div id="user_disabled" class="signin_msg large_top_margin large_bottom_margin" style="display: none;">
+			<hr class="half_width no_top_margin" />
+			<p>It looks like the account matching <strong class="email_output"></strong> has been disabled. Contact your team administrator.</p>
+			<p><a class="restart_link btn btn_outline full_width normal_wrap">Try a different email address</a></p>
+		</div>
+
+	</div>
+
+	<p class="subtle_silver small">
+			</p>
+</div>
+
+
+	<div class="real_content align_center">
+			<p>If you have an <strong>
+<span class="team_email_domains" data-team-email-domains-formatted="@deveel.com">
+			@deveel.com
+	</span> </strong> email address, you can <a href="/signup/" class="bold">create an account</a>.</p>
+	
+	
+			<p>Trying to create a team? <a href="https://slack.com/" class="bold">Sign up on the home page</a> to get started.</p>
+	</div>
+
+					
+	</div>
+	<div id="overlay"></div>
+</div>
+
+
+	<footer >
+	<section>
+		<div class="grid">
+			<div class="col span_1_of_5">
+				<i class="ts_icon ts_icon_slack_pillow"></i>
+				<small>Made with <i class="ts_icon ts_icon_heart"></i> by Slack</small>
+			</div>
+			<div class="col span_1_of_5 nav_col">
+				<ul>
+					<li><a href="/brand-guidelines">Brand Guidelines</a></li>
+					<li><a href="/jobs">Jobs</a></li>
+					<li><a href="http://slackatwork.com">Slack at Work</a></li>
+					<li><a href="https://get.slack.help/hc/en-us">Support</a></li>
+				</ul>
+			</div>
+			<div class="col span_1_of_5 nav_col">
+				<ul>
+					<li><a href="/privacy-policy">Privacy</a></li>
+					<li><a href="/security">Security</a></li>
+					<li><a href="/terms-of-service">Terms of Service</a></li>
+					<li><a href="/policies">Policies</a></li>
+				</ul>
+			</div>
+			<div class="col span_1_of_5 nav_col">
+				<ul>
+					<li><a href="https://status.slack.com/">Status</a></li>
+					<li><a href="/apps">App Directory</a></li>
+					<li><a href="https://api.slack.com/">API</a></li>
+					<li><a href="/downloads">Downloads</a></li>
+				</ul>
+			</div>
+			<div class="col span_1_of_5 nav_col">
+				<ul>
+					<li><a href="/varietypack">Podcast</a></li>
+					<li><a href="https://slack-shop.myshopify.com">Slack Shop</a></li>
+					<li><a href="/help/contact">Contact Us</a></li>
+					<li><a href="https://twitter.com/SlackHQ">@SlackHQ</a></li>
+				</ul>
+			</div>
+		</div>
+	</section>
+</footer>
+
+
+<script type="text/javascript">
+var cdn_url = "https:\/\/slack.global.ssl.fastly.net";
+var inc_js_setup_data = {
+	emoji_sheets: {
+		apple: 'https://slack.global.ssl.fastly.net/d4bf/img/emoji_2015_2/sheet_apple_64_indexed_256colors.png',
+		google: 'https://slack.global.ssl.fastly.net/d4bf/img/emoji_2015_2/sheet_google_64_indexed_128colors.png',
+		twitter: 'https://slack.global.ssl.fastly.net/d4bf/img/emoji_2015_2/sheet_twitter_64_indexed_128colors.png',
+		emojione: 'https://slack.global.ssl.fastly.net/d4bf/img/emoji_2015_2/sheet_emojione_64_indexed_128colors.png',
+	},
+};
+</script>
+
+		<!-- output_js "core" -->
+<script type="text/javascript" src="https://slack.global.ssl.fastly.net/0fed/js/libs/jquery.js" crossorigin="anonymous"></script>
+
+	<!-- output_js "core_web" -->
+<script type="text/javascript" src="https://slack.global.ssl.fastly.net/33c6/js/rollup-core_web.js" crossorigin="anonymous"></script>
+
+	<!-- output_js "secondary" -->
+
+				<!-- output_js "regular" -->
+<script type="text/javascript" src="https://slack.global.ssl.fastly.net/3ad4/js/sticky_nav.js" crossorigin="anonymous"></script>
+<script type="text/javascript" src="https://slack.global.ssl.fastly.net/78f3/js/libs/warn_capslock.js" crossorigin="anonymous"></script>
+<script type="text/javascript" src="https://slack.global.ssl.fastly.net/99d9/js/libs/spin.js" crossorigin="anonymous"></script>
+<script type="text/javascript" src="https://slack.global.ssl.fastly.net/9aa4/js/libs/ladda.js" crossorigin="anonymous"></script>
+
+		<script type="text/javascript">
+					
+				$('input[name="email"]').val() ? $('input[name="password"]').focus() : $('input[name="email"]').focus();
+			
+						
+			if (navigator.userAgent.match(/windows phone/i)) {
+				$('input[name="password"]').css('font-family', 'sans-serif,arial,verdana,tahoma');
+			}
+		
+
+		
+
+		var $signin_btn = $('#signin_btn');
+		$signin_btn.data('ladda', Ladda.create(document.querySelector('#signin_btn')));
+
+		var no_sso = false;
+		var team_id = 'T02T6HDFL';
+		var email_regex = new RegExp("[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?", 'i');
+
+		// signin form
+		$('#signin_form').on('submit', function(e) {
+
+			var email = $.trim($('#email').val());
+			var password = $.trim($('#password').val());
+
+			// no email or invalid email
+			if (!email || !email_regex.test(email)) {
+				$('#email').focus().closest('p').addClass('error');
+				e.preventDefault();
+			} else {
+
+				// no password
+				if (!password) {
+					$('#password').focus().closest('p').addClass('error');
+					e.preventDefault();
+				} else {
+					$signin_btn.data('ladda').start();
+				}
+
+			}
+
+		});
+
+		// email check
+		$('#email').on('blur', function(e) {
+
+			var email = $.trim($('#email').val());
+
+			// no email or invalid email
+			if (!email || !email_regex.test(email)) return;
+
+			$('.signin_msg').hide();
+
+			$('.email_output').text(email);
+
+			var api_args = {
+				email: email,
+				team: team_id
+			};
+
+			window.callSlackAPIUnauthed('auth.findUser', api_args, function(ok, data, args) {
+
+					if (!ok) {
+
+						if (data.error == 'user_disabled') {
+
+							$('#user_disabled').slideDown(150);
+
+						} else if (data.error == 'ratelimited') {
+
+							$('#error_ratelimit').slideDown(150);
+
+						} else if (data.error == 'user_not_found') {
+
+							return;
+
+						} else {
+
+							$('#error_unknown').slideDown(150);
+
+						}
+
+						return;
+
+					}
+
+					if (data.found) {
+
+						// do nothing: let the form submit
+
+					} else if (data.can_join) {
+
+						// no match found, but email matches whitelisted domain: show create account option
+						$('#signup_prompt').slideDown(150);
+						$('#signup_link').prop('href', '/signup?email='+encodeURIComponent(email)+(no_sso ? '&no_sso=1' : ''));
+
+					}
+
+				}
+
+			);
+
+		});
+
+		// restart flow
+		$('.restart_link').on('click', function() {
+
+			$('.signin_msg').slideUp(150, function() {
+				$('#email').val('').focus();
+				$('.signin_msg').hide();
+			});
+
+		});
+
+		$('.code_problem').on('click', function (e) {
+			e.preventDefault();
+			$('.send_code_block').slideToggle();
+		});
+
+		$('.view_more_email_domains_button').on('click', function() {
+			var $team_email_domains = $('.team_email_domains');
+			$team_email_domains.text($team_email_domains.data('team-email-domains-formatted'));
+		});
+
+		
+	</script>
+
+	<!-- slack-www438 / 2016-01-02 10:59:21 / v2135a8392aaf4f16e439398d9547015990dbd213 -->
+<style>.color_9f69e7:not(.nuc) {color:#9F69E7;}.color_4bbe2e:not(.nuc) {color:#4BBE2E;}.color_e7392d:not(.nuc) {color:#E7392D;}.color_3c989f:not(.nuc) {color:#3C989F;}.color_674b1b:not(.nuc) {color:#674B1B;}.color_e96699:not(.nuc) {color:#E96699;}.color_e0a729:not(.nuc) {color:#E0A729;}.color_684b6c:not(.nuc) {color:#684B6C;}.color_5b89d5:not(.nuc) {color:#5B89D5;}.color_2b6836:not(.nuc) {color:#2B6836;}.color_99a949:not(.nuc) {color:#99A949;}.color_df3dc0:not(.nuc) {color:#DF3DC0;}.color_4cc091:not(.nuc) {color:#4CC091;}.color_9b3b45:not(.nuc) {color:#9B3B45;}.color_d58247:not(.nuc) {color:#D58247;}.color_bb86b7:not(.nuc) {color:#BB86B7;}.color_5a4592:not(.nuc) {color:#5A4592;}.color_db3150:not(.nuc) {color:#DB3150;}.color_235e5b:not(.nuc) {color:#235E5B;}.color_9e3997:not(.nuc) {color:#9E3997;}.color_53b759:not(.nuc) {color:#53B759;}.color_c386df:not(.nuc) {color:#C386DF;}.color_385a86:not(.nuc) {color:#385A86;}.color_a63024:not(.nuc) {color:#A63024;}.color_5870dd:not(.nuc) {color
 :#5870DD;}.color_ea2977:not(.nuc) {color:#EA2977;}.color_50a0cf:not(.nuc) {color:#50A0CF;}.color_d55aef:not(.nuc) {color:#D55AEF;}.color_d1707d:not(.nuc) {color:#D1707D;}.color_43761b:not(.nuc) {color:#43761B;}.color_e06b56:not(.nuc) {color:#E06B56;}.color_8f4a2b:not(.nuc) {color:#8F4A2B;}.color_902d59:not(.nuc) {color:#902D59;}.color_de5f24:not(.nuc) {color:#DE5F24;}.color_a2a5dc:not(.nuc) {color:#A2A5DC;}.color_827327:not(.nuc) {color:#827327;}.color_3c8c69:not(.nuc) {color:#3C8C69;}.color_8d4b84:not(.nuc) {color:#8D4B84;}.color_84b22f:not(.nuc) {color:#84B22F;}.color_4ec0d6:not(.nuc) {color:#4EC0D6;}.color_e23f99:not(.nuc) {color:#E23F99;}.color_e475df:not(.nuc) {color:#E475DF;}.color_619a4f:not(.nuc) {color:#619A4F;}.color_a72f79:not(.nuc) {color:#A72F79;}.color_7d414c:not(.nuc) {color:#7D414C;}.color_aba727:not(.nuc) {color:#ABA727;}.color_965d1b:not(.nuc) {color:#965D1B;}.color_4d5e26:not(.nuc) {color:#4D5E26;}.color_dd8527:not(.nuc) {color:#DD8527;}.color_bd9336:not(.nuc) {co
 lor:#BD9336;}.color_e85d72:not(.nuc) {color:#E85D72;}.color_dc7dbb:not(.nuc) {color:#DC7DBB;}.color_bc3663:not(.nuc) {color:#BC3663;}.color_9d8eee:not(.nuc) {color:#9D8EEE;}.color_8469bc:not(.nuc) {color:#8469BC;}.color_73769d:not(.nuc) {color:#73769D;}.color_b14cbc:not(.nuc) {color:#B14CBC;}</style>
+</body>
+</html>
\ No newline at end of file

diff --git a/dev-dotnet/deveeldb/files/deveeldb.csproj.patch b/dev-dotnet/deveeldb/files/deveeldb.csproj.patch
new file mode 100644
index 0000000..c21c4b1
--- /dev/null
+++ b/dev-dotnet/deveeldb/files/deveeldb.csproj.patch
@@ -0,0 +1,17 @@
+--- a/src/deveeldb/deveeldb.csproj	2016-01-01 04:52:00.000000000 +0300
++++ b/src/deveeldb/deveeldb.csproj	2016-01-02 19:02:23.661749782 +0300
+@@ -983,14 +983,6 @@
+     <PreBuildEvent>
+     </PreBuildEvent>
+   </PropertyGroup>
+-  <Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
+-  <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
+-    <PropertyGroup>
+-      <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
+-    </PropertyGroup>
+-    <Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
+-    <Error Condition="!Exists('..\packages\ILRepack.MSBuild.Task.1.0.9\build\ILRepack.MSBuild.Task.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\ILRepack.MSBuild.Task.1.0.9\build\ILRepack.MSBuild.Task.targets'))" />
+-  </Target>
+   <!--
+   <Target Name="AfterBuild">
+    <MakeDir Directories="$(SolutionDir)..\dist\$(PlatformName)"/>

diff --git a/dev-dotnet/deveeldb/metadata.xml b/dev-dotnet/deveeldb/metadata.xml
new file mode 100644
index 0000000..6ef0262
--- /dev/null
+++ b/dev-dotnet/deveeldb/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/deveel/deveeldb/issues</bugs-to>
+		<remote-id type="github">deveel/deveeldb</remote-id>
+	</upstream>
+	<use>
+		<flag name='pkg-config'>create .pc file(s) for .dll(s) installed to gac</flag>
+	</use>
+	<longdescription lang="en">
+		DeveelDB is a complete SQL database system, primarly developed for .NET/Mono frameworks
+	</longdescription>
+	<longdescription lang="ru">
+                DeveelDB это СУБД для mono и .Net, есть переменные и хранимые процедуры
+        </longdescription>
+</pkgmetadata>


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-01-15 13:20 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-15 13:20 [gentoo-commits] proj/dotnet:master commit in: dev-dotnet/deveeldb/, dev-dotnet/deveeldb/files/ Heather Cynede
  -- strict thread matches above, loose matches on Subject: below --
2016-01-15 13:20 Heather Cynede

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox