* [gentoo-commits] proj/dotnet:master commit in: dev-dotnet/conemu-control-winforms/, eclass/, ...
@ 2016-09-19 13:16 Mikhail Pukhlikov
0 siblings, 0 replies; only message in thread
From: Mikhail Pukhlikov @ 2016-09-19 13:16 UTC (permalink / raw
To: gentoo-commits
commit: 91dd57dca99c01b951b87d22e23e13e32a5f084f
Author: ArsenShnurkov <Arsen.Shnurkov <AT> gmail <DOT> com>
AuthorDate: Sat Sep 10 18:35:39 2016 +0000
Commit: Mikhail Pukhlikov <cynede <AT> gentoo <DOT> org>
CommitDate: Sat Sep 10 18:35:39 2016 +0000
URL: https://gitweb.gentoo.org/proj/dotnet.git/commit/?id=91dd57dc
dependency of GitExtensions
...onemu-control-winforms-1.0.0_p2016051802.ebuild | 50 ++++++++++++++++++++++
.../files/add-release-configuration.patch | 45 +++++++++++++++++++
dev-dotnet/conemu-control-winforms/metadata.xml | 21 +++++++++
eclass/gac.eclass | 32 ++++++++++++++
4 files changed, 148 insertions(+)
diff --git a/dev-dotnet/conemu-control-winforms/conemu-control-winforms-1.0.0_p2016051802.ebuild b/dev-dotnet/conemu-control-winforms/conemu-control-winforms-1.0.0_p2016051802.ebuild
new file mode 100644
index 0000000..8b27e98
--- /dev/null
+++ b/dev-dotnet/conemu-control-winforms/conemu-control-winforms-1.0.0_p2016051802.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+USE_DOTNET="net45"
+inherit gac dotnet
+IUSE+=" +net45 +pkg-config debug"
+
+KEYWORDS="~amd64 ~x86"
+
+DESCRIPTION="console emulator control, embeds a console view in a Windows Forms window"
+HOMEPAGE="http://conemu.github.io/"
+SRC_URI="http://download.mono-project.com/sources/mono/mono-4.6.0.150.tar.bz2"
+RESTRICT="mirror"
+
+NAME="conemu-inside"
+HOMEPAGE="https://github.com/Maximus5/${NAME}"
+
+EGIT_COMMIT="b4800195f09b86eca14c4b96141a78136ee1d872"
+SRC_URI="${HOMEPAGE}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${NAME}-${EGIT_COMMIT}"
+
+LICENSE="BSD" # https://github.com/Maximus5/ConEmu/blob/master/Release/ConEmu/License.txt
+SLOT="0"
+
+src_prepare() {
+ eapply "${FILESDIR}/add-release-configuration.patch"
+ eapply_user
+}
+
+src_compile() {
+ if use debug; then
+ CONFIGURATION=Debug
+ else
+ CONFIGURATION=Release
+ fi
+ exbuild_raw /p:SignAssembly=true /p:AssemblyOriginatorKeyFile="${S}/ConEmuWinForms/Snk.Snk" /p:VersionNumber=1.0.0.2016051802 /p:Configuration=${CONFIGURATION} ConEmuWinForms/ConEmuWinForms.csproj
+}
+
+src_install() {
+ if use debug; then
+ DIR=Debug
+ else
+ DIR=Release
+ fi
+ egacinstall "${S}/ConEmuWinForms/bin/${DIR}/ConEmu.WinForms.dll"
+ einstall_pc_file "${PN}" "${NAME}.dll"
+}
diff --git a/dev-dotnet/conemu-control-winforms/files/add-release-configuration.patch b/dev-dotnet/conemu-control-winforms/files/add-release-configuration.patch
new file mode 100644
index 0000000..f46aee0
--- /dev/null
+++ b/dev-dotnet/conemu-control-winforms/files/add-release-configuration.patch
@@ -0,0 +1,45 @@
+diff -ur a/ConEmuWinForms/ConEmuWinForms.csproj b/ConEmuWinForms/ConEmuWinForms.csproj
+--- a/ConEmuWinForms/ConEmuWinForms.csproj 2016-05-18 03:51:11.000000000 +0300
++++ b/ConEmuWinForms/ConEmuWinForms.csproj 2016-09-10 21:08:35.859758408 +0300
+@@ -9,7 +9,6 @@
+ <RootNamespace>ConEmu.WinForms</RootNamespace>
+ <AssemblyName>ConEmu.WinForms</AssemblyName>
+ <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+- <TargetFrameworkProfile>Client</TargetFrameworkProfile>
+ <NuGetPackageImportStamp>
+ </NuGetPackageImportStamp>
+ </PropertyGroup>
+@@ -17,7 +16,19 @@
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+- <OutputPath>bin\</OutputPath>
++ <OutputPath>bin\Debug</OutputPath>
++ <DefineConstants>DEBUG;TRACE</DefineConstants>
++ <ErrorReport>prompt</ErrorReport>
++ <WarningLevel>4</WarningLevel>
++ <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
++ <NoWarn>1696;1591</NoWarn>
++ <DocumentationFile>bin\ConEmu.WinForms.Xml</DocumentationFile>
++ </PropertyGroup>
++ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
++ <DebugSymbols>true</DebugSymbols>
++ <DebugType>pdbonly</DebugType>
++ <Optimize>true</Optimize>
++ <OutputPath>bin\Release</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+@@ -88,11 +99,4 @@
+ </EmbeddedResource>
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+- <Import Project="..\packages\ConEmu.Core.16.4.3.1\build\ConEmu.Core.Targets" Condition="Exists('..\packages\ConEmu.Core.16.4.3.1\build\ConEmu.Core.Targets')" />
+- <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
+- <PropertyGroup>
+- <ErrorText>This project references NuGet package(s) that are missing on this computer. Use 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('..\packages\ConEmu.Core.16.4.3.1\build\ConEmu.Core.Targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\ConEmu.Core.16.4.3.1\build\ConEmu.Core.Targets'))" />
+- </Target>
+ </Project>
+\ No newline at end of file
diff --git a/dev-dotnet/conemu-control-winforms/metadata.xml b/dev-dotnet/conemu-control-winforms/metadata.xml
new file mode 100644
index 0000000..438a44a
--- /dev/null
+++ b/dev-dotnet/conemu-control-winforms/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>dotnet@gentoo.org</email>
+ <description>Gentoo Dotnet Project</description>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/gentoo/dotnet/issues</bugs-to>
+ <remote-id type="github">Maximus5/conemu-inside</remote-id>
+ </upstream>
+ <use>
+ <flag name='pkg-config'>create .pc file(s) for .dll(s) installed to gac</flag>
+ </use>
+ <longdescription lang="en">
+ This is a console emulator control that embeds a fully functional console view in a Windows Forms window.
+ It is capable of running any console application with full interactivity and advanced console functions.
+ Applications will detect it as an actual console and will not fall back
+ to the output redirection mode with reduced interactivity or formatting.
+ </longdescription>
+</pkgmetadata>
diff --git a/eclass/gac.eclass b/eclass/gac.eclass
index c5b7e85..1523301 100644
--- a/eclass/gac.eclass
+++ b/eclass/gac.eclass
@@ -59,3 +59,35 @@ egacdel() {
# don't die
fi
}
+
+# @FUNCTION: einstall_pc_file
+# @DESCRIPTION: installs .pc file
+# The file format contains predefined metadata keywords and freeform variables (like ${prefix} and ${exec_prefix})
+# $1 = ${PN}
+# $2 = myassembly.dll
+einstall_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@:$1:" \
+ -e "s:@DESCRIPTION@:${DESCRIPTION}:" \
+ -e "s:@VERSION@:${PV}:" \
+ -e 's*@LIBS@*-r:${libdir}'"/mono/$1/$2"'*' \
+ <<-EOF >"${D}/usr/$(get_libdir)/pkgconfig/$1.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 "$1"
+ PKG_CONFIG_PATH="${D}/usr/$(get_libdir)/pkgconfig/" pkg-config --exists "$1" || die ".pc file failed to validate."
+ eend $?
+ fi
+}
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2016-09-19 13:16 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-19 13:16 [gentoo-commits] proj/dotnet:master commit in: dev-dotnet/conemu-control-winforms/, eclass/, Mikhail Pukhlikov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox