commit: ef662c29f1f69a26728b371c245e55e13d45c1d3
Author: Jonathan Vasquez <fearedbliss <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 13 04:08:19 2017 +0000
Commit: Jonathan Vasquez <fearedbliss <AT> gentoo <DOT> org>
CommitDate: Fri Jan 13 04:08:19 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ef662c29
app-admin/keepass: including new PrepMonoEnv script and fixing header
Package-Manager: Portage-2.3.3, Repoman-2.3.1
.../files/keepass-2.35-new-monoprep-script.sh | 59 +++++++++++++++++
app-admin/keepass/keepass-2.34-r1.ebuild | 2 +-
app-admin/keepass/keepass-2.34.ebuild | 2 +-
...epass-2.34-r1.ebuild => keepass-2.35-r1.ebuild} | 73 ++++++++++++----------
app-admin/keepass/metadata.xml | 1 +
5 files changed, 101 insertions(+), 36 deletions(-)
diff --git a/app-admin/keepass/files/keepass-2.35-new-monoprep-script.sh
b/app-admin/keepass/files/keepass-2.35-new-monoprep-script.sh
new file mode 100644
index 00000000..c6fc41f
--- /dev/null
+++ b/app-admin/keepass/files/keepass-2.35-new-monoprep-script.sh
@@ -0,0 +1,59 @@
+#!/bin/sh
+
+buildDir="$(pwd)"
+keePassRootDir="${buildDir}/.."
+
+copyKeePassIcons()
+{
+ cd "${buildDir}"
+ cp -f ../Ext/Icons_04_CB/Finals2/plockb.ico ../KeePass/KeePass.ico
+ cp -f ../Ext/Icons_04_CB/Finals2/plockb.ico
../KeePass/Resources/Images/KeePass.ico
+}
+
+sanitizeKeePassProjectFiles()
+{
+ cd "${keePassRootDir}/KeePass"
+
+ local keePassProjectFile="KeePass.csproj"
+ local keePassProjectSolution="KeePass.sln"
+
+ sed -i
's!<SignAssembly>true</SignAssembly>!<SignAssembly>false</SignAssembly>!g'
"${keePassProjectFile}"
+ sed -i 's! ToolsVersion="3.5"!!g' "${keePassProjectFile}"
+ sed -i '/sgen\.exe/d' "${keePassProjectFile}"
+
+ # Update solution .NET format to 11 (This targets Mono 4 rather than 3.5)
+ cd "${keePassRootDir}"
+ sed -i 's!Format Version 10.00!Format Version 11.00!g'
"${keePassProjectSolution}"
+
+ cd "${buildDir}"
+}
+
+sanitizeKeePassLibProjectFile()
+{
+ cd "${keePassRootDir}/KeePassLib"
+
+ local keePassProjectLibFile="KeePassLib.csproj"
+ sed -i
's!<SignAssembly>true</SignAssembly>!<SignAssembly>false</SignAssembly>!g'
"${keePassProjectLibFile}"
+ sed -i 's! ToolsVersion="3.5"!!g' "${keePassProjectLibFile}"
+
+ cd "${buildDir}"
+}
+
+
+sanitizeTrlUtilProjectFile()
+{
+ cd "${keePassRootDir}/Translation/TrlUtil"
+
+ local trlUtilProjectFile="TrlUtil.csproj"
+ sed -i 's! ToolsVersion="3.5"!!g' "${trlUtilProjectFile}"
+
+ cd "${buildDir}"
+}
+
+# Start
+copyKeePassIcons
+
+# Remove ToolsVersion 3.5 References so that newer Mono compilers can be used
+sanitizeKeePassProjectFiles
+sanitizeKeePassLibProjectFile
+sanitizeTrlUtilProjectFile
diff --git a/app-admin/keepass/keepass-2.34-r1.ebuild
b/app-admin/keepass/keepass-2.34-r1.ebuild
index b790b54..9145063 100644
--- a/app-admin/keepass/keepass-2.34-r1.ebuild
+++ b/app-admin/keepass/keepass-2.34-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
diff --git a/app-admin/keepass/keepass-2.34.ebuild
b/app-admin/keepass/keepass-2.34.ebuild
index 3bc899e..93eb09f 100644
--- a/app-admin/keepass/keepass-2.34.ebuild
+++ b/app-admin/keepass/keepass-2.34.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
diff --git a/app-admin/keepass/keepass-2.34-r1.ebuild
b/app-admin/keepass/keepass-2.35-r1.ebuild
similarity index 57%
copy from app-admin/keepass/keepass-2.34-r1.ebuild
copy to app-admin/keepass/keepass-2.35-r1.ebuild
index b790b54..3fbf36b 100644
--- a/app-admin/keepass/keepass-2.34-r1.ebuild
+++ b/app-admin/keepass/keepass-2.35-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
-EAPI=5
+EAPI=6
-inherit eutils fdo-mime gnome2-utils mono-env multilib
+inherit eutils fdo-mime gnome2-utils multilib
MY_PN="KeePass"
DESCRIPTION="A free, open source, light-weight and easy-to-use password
manager"
@@ -16,31 +16,32 @@ SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="aot"
-COMMON_DEPEND=">=dev-lang/mono-2.10.5"
-RDEPEND="${COMMON_DEPEND}
- dev-dotnet/libgdiplus[cairo]"
+COMMON_DEPEND="dev-lang/mono"
DEPEND="${COMMON_DEPEND}
- app-arch/unzip"
+ app-arch/unzip"
+RDEPEND="${COMMON_DEPEND}
+ dev-dotnet/libgdiplus[cairo]"
-S=${WORKDIR}
+S="${WORKDIR}"
+PATCHES=( "${FILESDIR}/${PN}-2.20-xsl-path-detection.patch" )
src_prepare() {
- # Force text mode for >grep-2.21 (bug #574480)
- epatch "${FILESDIR}/${PN}-2.31-force-text-grep.patch"
-
- # Remove Windows-specific things
- pushd Build > /dev/null || die
- . PrepMonoDev.sh || die
- popd > /dev/null || die
-
# KeePass looks for some XSL files in the same folder as the executable,
- # we prefer to have it in /usr/share/KeePass
- epatch "${FILESDIR}/${PN}-2.20-xsl-path-detection.patch"
- # bug # 558094
- if has_version ">=dev-lang/mono-4" ; then
- sed -i -e 's! ToolsVersion="3.5"!!g'
Translation/TrlUtil/TrlUtil.csproj || die
- sed -i -e 's/Format Version 10.00/Format Version 11.00/'
KeePass.sln || die
- fi
+ # we prefer to have it in /usr/share/KeePass. Apply patch using base
function.
+ # This XSL file will not be upstreamed since the KeePass creator said
that
+ # including this patch would break the Portable USB version of KeePass
+ # (which keeps/looks for xsl files in its own folder)
+ default
+
+ # New Mono Prep Script until keepass 2.36+ comes out.
+ # This script has been upstreamed, still waiting for final confirmation.
+ local
newMonoPrepScript="${FILESDIR}/keepass-2.35-new-monoprep-script.sh"
+
+ # Switch into build dir so the mono prepration script works correctly
+ cd Build || die
+ cp -f "${newMonoPrepScript}" PrepMonoDev.sh
+ source PrepMonoDev.sh || die
+ cd ../ || die
}
src_compile() {
@@ -49,22 +50,24 @@ src_compile() {
# Run Ahead Of Time compiler on the binary
if use aot; then
- cp Ext/KeePass.exe.config Build/KeePass/Release/
+ cp Ext/KeePass.exe.config Build/KeePass/Release/ || die
mono --aot -O=all Build/KeePass/Release/KeePass.exe || die
fi
}
src_install() {
# Wrapper script to launch mono
- make_wrapper ${PN} "mono /usr/$(get_libdir)/${PN}/KeePass.exe"
+ make_wrapper "${PN}" "mono /usr/$(get_libdir)/${PN}/KeePass.exe"
# Some XSL files
- insinto /usr/share/${PN}/XSL
+ insinto "/usr/share/${PN}/XSL"
doins Ext/XSL/*
- insinto /usr/$(get_libdir)/${PN}/
- exeinto /usr/$(get_libdir)/${PN}/
+ insinto "/usr/$(get_libdir)/${PN}/"
+ exeinto "/usr/$(get_libdir)/${PN}/"
+
doins Ext/KeePass.exe.config
+
# Default configuration, simply says to use user-specific configuration
doins Ext/KeePass.config.xml
@@ -81,13 +84,13 @@ src_install() {
newicon -s 256 -t gnome -c mimetypes Ext/Icons_04_CB/Finals/plockb.png
"application-x-${PN}2.png"
# Create a desktop entry and associate it with the KeePass mime type
- make_desktop_entry ${PN} ${MY_PN} ${PN} "System;Security"
"MimeType=application/x-keepass2;"
+ make_desktop_entry "${PN}" "${MY_PN}" "${PN}" "System;Security"
"MimeType=application/x-keepass2;"
# MIME descriptor for .kdbx files
insinto /usr/share/mime/packages/
doins "${FILESDIR}/${PN}.xml"
- # sed, because patching this realllllly sucks
+ # sed, because patching this really sucks
sed -i 's/mono/mono --verify-all/g' "${D}/usr/bin/keepass"
}
@@ -96,13 +99,11 @@ pkg_preinst() {
}
pkg_postinst() {
- gnome2_icon_cache_update
- fdo-mime_mime_database_update
- fdo-mime_desktop_database_update
+ _update_caches
if ! has_version x11-misc/xdotool ; then
elog "Optional dependencies:"
- elog " x11-misc/xdotool (enables autotype)"
+ elog " x11-misc/xdotool (enables autotype/autofill)"
fi
elog "Some systems may experience issues with copy and paste
operations."
@@ -110,6 +111,10 @@ pkg_postinst() {
}
pkg_postrm() {
+ _update_caches
+}
+
+_update_caches() {
gnome2_icon_cache_update
fdo-mime_mime_database_update
fdo-mime_desktop_database_update
diff --git a/app-admin/keepass/metadata.xml b/app-admin/keepass/metadata.xml
index 9a5a02b..ca860b2 100644
--- a/app-admin/keepass/metadata.xml
+++ b/app-admin/keepass/metadata.xml
@@ -11,6 +11,7 @@
</maintainer>
<maintainer type="person">
<email>[email protected]</email>
+ <name>Jonathan Vasquez</name>
<description>Proxy maintainer. CC him on bugs.</description>
</maintainer>
<maintainer type="project">