diff options
author | Matthew Thode <prometheanfire@gentoo.org> | 2016-12-17 19:03:43 -0600 |
---|---|---|
committer | Matthew Thode <prometheanfire@gentoo.org> | 2016-12-17 19:03:43 -0600 |
commit | 9b4f8812a4491a03698aedd0a2e00da1d0f8f697 (patch) | |
tree | cad6eafa935bb36fc40ca0e884d5d698317f1bde /app-admin | |
parent | sys-devel/gcc: amd64 stable wrt bug #595560 (diff) | |
download | gentoo-9b4f8812a4491a03698aedd0a2e00da1d0f8f697.tar.gz gentoo-9b4f8812a4491a03698aedd0a2e00da1d0f8f697.tar.bz2 gentoo-9b4f8812a4491a03698aedd0a2e00da1d0f8f697.zip |
app-admin/keepass: fixing bug 592130
Package-Manager: portage-2.3.0
Diffstat (limited to 'app-admin')
-rw-r--r-- | app-admin/keepass/keepass-2.34-r1.ebuild | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/app-admin/keepass/keepass-2.34-r1.ebuild b/app-admin/keepass/keepass-2.34-r1.ebuild new file mode 100644 index 000000000000..b790b54c4dac --- /dev/null +++ b/app-admin/keepass/keepass-2.34-r1.ebuild @@ -0,0 +1,116 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit eutils fdo-mime gnome2-utils mono-env 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-2.10.5" +RDEPEND="${COMMON_DEPEND} + dev-dotnet/libgdiplus[cairo]" +DEPEND="${COMMON_DEPEND} + app-arch/unzip" + +S=${WORKDIR} + +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 +} + +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/ + 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 realllllly sucks + sed -i 's/mono/mono --verify-all/g' "${D}/usr/bin/keepass" +} + +pkg_preinst() { + gnome2_icon_savelist +} + +pkg_postinst() { + gnome2_icon_cache_update + fdo-mime_mime_database_update + fdo-mime_desktop_database_update + + if ! has_version x11-misc/xdotool ; then + elog "Optional dependencies:" + elog " x11-misc/xdotool (enables autotype)" + fi + + elog "Some systems may experience issues with copy and paste operations." + elog "If you encounter this, please install x11-misc/xsel." +} + +pkg_postrm() { + gnome2_icon_cache_update + fdo-mime_mime_database_update + fdo-mime_desktop_database_update +} |