diff options
Diffstat (limited to 'app-admin/keepass')
-rw-r--r-- | app-admin/keepass/Manifest | 7 | ||||
-rw-r--r-- | app-admin/keepass/files/keepass-2.36-xsl-path-detection.patch | 43 | ||||
-rw-r--r-- | app-admin/keepass/files/keepass.xml | 9 | ||||
-rw-r--r-- | app-admin/keepass/keepass-2.38.ebuild | 111 | ||||
-rw-r--r-- | app-admin/keepass/keepass-2.39.1.ebuild | 111 | ||||
-rw-r--r-- | app-admin/keepass/metadata.xml | 21 |
6 files changed, 302 insertions, 0 deletions
diff --git a/app-admin/keepass/Manifest b/app-admin/keepass/Manifest new file mode 100644 index 000000000000..8bde63ecefd3 --- /dev/null +++ b/app-admin/keepass/Manifest @@ -0,0 +1,7 @@ +AUX keepass-2.36-xsl-path-detection.patch 1446 BLAKE2B 15c9d15b44b0748bc114ff45dadb5824f369a454a1126cb61293d55f86f9f01fb659932729dbc205a522aab32343dd87b74662927d60edc50750af602a959cc9 SHA512 6e1279363bf355be8846c012840271525dcbeccfaa9dc9d1bc4b39068ed58dae4fc421fed4f0fd5d0d2311436d35648f04539fa122066222cb15a66c3383ceae +AUX keepass.xml 275 BLAKE2B 8e64d7e60b0808b9505387caf97c9198d14ead3510c72d3a62cb747a2f09a64f63360f95df12043a97262fde8fd1b6882fe86d07d4ec483cf30788391be8f940 SHA512 a6055604ff4ff9e905012b5f8448540ea3b3fa8527ce1fd247fe4e5329e6861e5e7a01ea5ed907c41c073d81ee02452392ea0b0d61bf1119dadd300911a450fb +DIST KeePass-2.38-Source.zip 5091900 BLAKE2B 22e3f7046984204a3e0c4a1c6d8303661048bc0fee4bcdb7999b521d0ed6e5463d89044d2897cfec0c932349cc80a7b43d4c8dfbceb4f2e88041c642e0c0d231 SHA512 42fa7274874d4858da360a6772eb25adbf3a6dafe375093459d9a25903d8c159360ea722e969fe8b330bccf62ee5d381e131bd0ba075445932d8019eee19bf20 +DIST KeePass-2.39.1-Source.zip 5109228 BLAKE2B 0b1214ac70d3d615e029c89abe63176f31e29a3fb800d84b6102220d2d39ebba848e3100e85e6f3d5cd4965461c68798ba880d5b229e8f8e6a20b0d65c2c632c SHA512 9f2b5f6c86b00932f132f8eea24fc35f08c217ed3feb047afe585592761f5297b76140c3154fb519dc5c9137718227a0bc4b6a45d22d1eb0ac95d08c73a70314 +EBUILD keepass-2.38.ebuild 3037 BLAKE2B 3fe5b971d8336ffdc3f9b520ac3c4530cdee3555c3e20cf7658ddb6fc874b28d1ee5710d76de2282128e83c84f05b5b2435db657e9be278ce4ed7ea107b6829a SHA512 f2f473c7fcde5e11711c3519c72ad78f2853ac6e7c242da2be9aa34e74e8d7962e2416e48a827b5a6d6e9b6f91314b426e662cbdc2e01e9c2d8e9331120f10a7 +EBUILD keepass-2.39.1.ebuild 3044 BLAKE2B 9585f72e1556fd9d033ee8dafb3a6baeca0e1aad2c318367f6dcadb102a0557890e422679529b3f3d61ebdf5120a49eda13553326f5b5a919d6245edeb927e77 SHA512 143239c46dc87d69859beaf7b3ef621d4793c6341871e7c325058529b00c4a1a5da297b42d1e4dc0788eb7e80a2b27d47f02bbdd9758050aab1615f02de8245d +MISC metadata.xml 651 BLAKE2B 058fa70fb6ce35fb52464a84cf506ad117343a1376a40b003c4f55bdf94369136276d8bbb67f30490eb73cba4df6b03d78e8c2a65cf8141dd6cf64654c9b6358 SHA512 6251f546e631decbc7692ab00900d722031ce638f3d878771a2bcfebedba8e1fee9b3e54dfd4c3ae3c711006099fc5a772555ea7cc018d012de164755ba8b52c diff --git a/app-admin/keepass/files/keepass-2.36-xsl-path-detection.patch b/app-admin/keepass/files/keepass-2.36-xsl-path-detection.patch new file mode 100644 index 000000000000..c17b654d3f35 --- /dev/null +++ b/app-admin/keepass/files/keepass-2.36-xsl-path-detection.patch @@ -0,0 +1,43 @@ +KeePass looks for some resources (XSL files) in the executable directory, +however under UNIX system this not a good idea, so we look into the +CommonApplicationData SpecialFolder, which usually maps to "/usr/share/". +So the final search path should be "/usr/share/KeePass/XSL/". + +--- a/KeePass/forms/AboutForm.cs ++++ b/KeePass/Forms/AboutForm.cs +@@ -31,9 +31,11 @@ + using KeePass.Resources;
+ using KeePass.UI;
+ using KeePass.Util;
++using KeePass.Native;
+
+ using KeePassLib;
+ using KeePassLib.Utility;
++using KeePassLib.Native;
+
+ namespace KeePass.Forms
+ {
+@@ -98,8 +100,21 @@ + m_lvComponents.Items.Add(lvi);
+
+ lvi = new ListViewItem(KPRes.XslStylesheetsKdbx);
+- string strPath = WinUtil.GetExecutable();
+- strPath = UrlUtil.GetFileDirectory(strPath, true, false);
++
++ string strPath;
++ if (NativeLib.IsUnix())
++ {
++ strPath = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);
++ strPath = UrlUtil.EnsureTerminatingSeparator(strPath, false);
++ strPath += PwDefs.ShortProductName.ToLower();
++ strPath = UrlUtil.EnsureTerminatingSeparator(strPath, false);
++ }
++ else
++ {
++ strPath = WinUtil.GetExecutable();
++ strPath = UrlUtil.GetFileDirectory(strPath, true, false);
++ }
++
+ strPath += AppDefs.XslFilesDir;
+ strPath = UrlUtil.EnsureTerminatingSeparator(strPath, false);
+ bool bInstalled = File.Exists(strPath + AppDefs.XslFileHtmlFull);
diff --git a/app-admin/keepass/files/keepass.xml b/app-admin/keepass/files/keepass.xml new file mode 100644 index 000000000000..5e3d80dcae7b --- /dev/null +++ b/app-admin/keepass/files/keepass.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'> + <mime-type type="application/x-keepass2"> + <comment>KeePass database</comment> + <glob pattern="*.kdbx"/> + <icon name="keepass" /> + </mime-type> +</mime-info> + diff --git a/app-admin/keepass/keepass-2.38.ebuild b/app-admin/keepass/keepass-2.38.ebuild new file mode 100644 index 000000000000..4b997c59a7eb --- /dev/null +++ b/app-admin/keepass/keepass-2.38.ebuild @@ -0,0 +1,111 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils gnome2-utils 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" ) + +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 + cd Build || die + 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_postinst() { + gnome2_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() { + gnome2_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update +} diff --git a/app-admin/keepass/keepass-2.39.1.ebuild b/app-admin/keepass/keepass-2.39.1.ebuild new file mode 100644 index 000000000000..e1e03bb233e9 --- /dev/null +++ b/app-admin/keepass/keepass-2.39.1.ebuild @@ -0,0 +1,111 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils gnome2-utils 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" ) + +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() { + # 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" || die +} + +pkg_postinst() { + gnome2_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() { + gnome2_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update +} diff --git a/app-admin/keepass/metadata.xml b/app-admin/keepass/metadata.xml new file mode 100644 index 000000000000..edf5dcda279a --- /dev/null +++ b/app-admin/keepass/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="person"> + <email>ale@clearmind.me</email> + </maintainer> + <maintainer type="person"> + <email>kensington@gentoo.org</email> + </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <use> + <flag name="aot">Generate native code at build time, rather than runtime.</flag> + </use> + <upstream> + <remote-id type="sourceforge">keepass</remote-id> + <bugs-to>https://sourceforge.net/p/keepass/bugs/</bugs-to> + </upstream> +</pkgmetadata> |