summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Palimaka <kensington@gentoo.org>2021-02-24 18:27:46 +1100
committerMichael Palimaka <kensington@gentoo.org>2021-02-24 18:27:46 +1100
commitf566b1cba2ec40f051cb6743e76ab5be0d3351bb (patch)
treee199ff7faae3b734bcdad289cb791974ab2189c5 /app-admin/keepass
parentdev-db/mariadb-connector-odbc: fix docdir to ${PF} instead of ${P} (diff)
downloadgentoo-f566b1cba2ec40f051cb6743e76ab5be0d3351bb.tar.gz
gentoo-f566b1cba2ec40f051cb6743e76ab5be0d3351bb.tar.bz2
gentoo-f566b1cba2ec40f051cb6743e76ab5be0d3351bb.zip
app-admin/keepass: version bump 2.47
Closes: https://bugs.gentoo.org/771915 Package-Manager: Portage-3.0.13, Repoman-3.0.2 Signed-off-by: Michael Palimaka <kensington@gentoo.org>
Diffstat (limited to 'app-admin/keepass')
-rw-r--r--app-admin/keepass/Manifest1
-rw-r--r--app-admin/keepass/keepass-2.47.ebuild117
2 files changed, 118 insertions, 0 deletions
diff --git a/app-admin/keepass/Manifest b/app-admin/keepass/Manifest
index c6e75569a9cf..c67335930b70 100644
--- a/app-admin/keepass/Manifest
+++ b/app-admin/keepass/Manifest
@@ -1 +1,2 @@
DIST KeePass-2.46-Source.zip 5054069 BLAKE2B 81567ab4589e53ae5cc1b75fa42cc61d9d0f390edfa8f8d860dd118a95185a8d2ca417b30b29e2b544b1d4eeeb0069fab2f0be7900fd4d7fb87d41c417b99876 SHA512 ca045cb7363092f948d72243991fe398836b13183cc2685477d7ce5dd629213b5803b4216134c7ba6451726b79ca43d1e93a1934c9cbff46293fa916b9348219
+DIST KeePass-2.47-Source.zip 5100005 BLAKE2B 9a71706efbb734244a0de6e1ba705ebaeb550368a77b1e74eaae47ec5a9c7dd12139740d7502dd5ad40e6b90e179f037ca5eae1650c2659a0a64260a93cd595f SHA512 df0f4dc9702198b4d31e78ac4fa1e85746dc7618529ab5ceaae1f6e1cc68a9a574f7892caff99e767f583fe102d87f0bfaf579f375eb227bf6f28fce6253a8f1
diff --git a/app-admin/keepass/keepass-2.47.ebuild b/app-admin/keepass/keepass-2.47.ebuild
new file mode 100644
index 000000000000..af7035cf7b4b
--- /dev/null
+++ b/app-admin/keepass/keepass-2.47.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit desktop eutils xdg-utils
+
+MY_PN="KeePass"
+DESCRIPTION="A free, open source, light-weight and easy-to-use password manager"
+HOMEPAGE="https://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.36-xsl-path-detection.patch" )
+
+# bug #687052
+# file generated by mono --aot where *FLAGS don't make sense
+QA_PREBUILT="usr/lib64/keepass/KeePass.exe.so"
+
+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
+
+ # Switch into build dir so the mono prepration script works correctly
+ pushd Build || die
+ source PrepMonoDev.sh || die
+ popd || die
+}
+
+src_compile() {
+ export MONO_REGISTRY_PATH=/dev/null # bug 659808
+
+ # 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;\nStartupWMClass=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" || die
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+
+ 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() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+}