summaryrefslogtreecommitdiff
path: root/app-admin/keepass
diff options
context:
space:
mode:
Diffstat (limited to 'app-admin/keepass')
-rw-r--r--app-admin/keepass/files/keepass-2.35-new-monoprep-script.sh59
-rw-r--r--app-admin/keepass/keepass-2.34-r1.ebuild2
-rw-r--r--app-admin/keepass/keepass-2.34.ebuild2
-rw-r--r--app-admin/keepass/keepass-2.35-r1.ebuild121
-rw-r--r--app-admin/keepass/metadata.xml1
5 files changed, 183 insertions, 2 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 00000000000..c6fc41f839c
--- /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 b790b54c4da..914506310db 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 3bc899e062e..93eb09f4717 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.35-r1.ebuild b/app-admin/keepass/keepass-2.35-r1.ebuild
new file mode 100644
index 00000000000..3fbf36b7ad7
--- /dev/null
+++ b/app-admin/keepass/keepass-2.35-r1.ebuild
@@ -0,0 +1,121 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit eutils fdo-mime gnome2-utils multilib
+
+MY_PN="KeePass"
+DESCRIPTION="A free, open source, light-weight and easy-to-use password manager"
+HOMEPAGE="http://keepass.info/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_PN}-${PV}-Source.zip"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="aot"
+
+COMMON_DEPEND="dev-lang/mono"
+DEPEND="${COMMON_DEPEND}
+ app-arch/unzip"
+RDEPEND="${COMMON_DEPEND}
+ dev-dotnet/libgdiplus[cairo]"
+
+S="${WORKDIR}"
+PATCHES=( "${FILESDIR}/${PN}-2.20-xsl-path-detection.patch" )
+
+src_prepare() {
+ # KeePass looks for some XSL files in the same folder as the executable,
+ # 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() {
+ # Build with Release target
+ xbuild /target:KeePass /property:Configuration=Release || die
+
+ # Run Ahead Of Time compiler on the binary
+ if use aot; then
+ 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"
+
+ # Some XSL files
+ insinto "/usr/share/${PN}/XSL"
+ doins Ext/XSL/*
+
+ 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
+
+ # The actual executable
+ doexe Build/KeePass/Release/KeePass.exe
+
+ # Copy the AOT compilation result
+ if use aot; then
+ doexe Build/KeePass/Release/KeePass.exe.so
+ fi
+
+ # Prepare the icons
+ newicon -s 256 Ext/Icons_04_CB/Finals/plockb.png "${PN}.png"
+ 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;"
+
+ # MIME descriptor for .kdbx files
+ insinto /usr/share/mime/packages/
+ doins "${FILESDIR}/${PN}.xml"
+
+ # sed, because patching this really sucks
+ sed -i 's/mono/mono --verify-all/g' "${D}/usr/bin/keepass"
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ _update_caches
+
+ if ! has_version x11-misc/xdotool ; then
+ elog "Optional dependencies:"
+ elog " x11-misc/xdotool (enables autotype/autofill)"
+ fi
+
+ elog "Some systems may experience issues with copy and paste operations."
+ elog "If you encounter this, please install x11-misc/xsel."
+}
+
+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 9a5a02bfa73..ca860b2b209 100644
--- a/app-admin/keepass/metadata.xml
+++ b/app-admin/keepass/metadata.xml
@@ -11,6 +11,7 @@
</maintainer>
<maintainer type="person">
<email>fearedbliss@gentoo.org</email>
+ <name>Jonathan Vasquez</name>
<description>Proxy maintainer. CC him on bugs.</description>
</maintainer>
<maintainer type="project">