forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
app-admin/keepass: version bump 2.45
Package-Manager: Portage-2.3.99, Repoman-2.3.22 Signed-off-by: Michael Palimaka <[email protected]>
- Loading branch information
Michael Palimaka
committed
May 11, 2020
1 parent
36cb516
commit 0df0bc8
Showing
2 changed files
with
118 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
DIST KeePass-2.44-Source.zip 5182922 BLAKE2B 092d1b982d748ea1b13f26fe5423a491855cb491c80cae7632429d488f80fd730df5d2f1613bab528d55a3aadcf0cb4f4055a637d2b14b68a468e4baf9ab1837 SHA512 ef2ca69e40c0787b63fc30a2b222dd77fd9f0addf8593511dcd0a47580cc8de5e0900c7d4e6f77c0e5a49d1728286cf1b5856cdc65ef175e4acfdd1ffc54b55e | ||
DIST KeePass-2.45-Source.zip 5011684 BLAKE2B cf7fafb2666f2e0005533e441f1855006aa64aca69b4829fa66117da88f92e6aa65d58b303a099221e796a500bc5abab5c3d0654e6fa53c3fe6f36d3cb18e381 SHA512 3f9b14e57fce047f8d8ae7c289fffd954545c5638fa20392e7864301073452a4353f487832730fb600e1729b1333360c1bce7e66fc8629788e666418a2afbf9a |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,117 @@ | ||
# Copyright 1999-2020 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 | ||
} |