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 to resolve CVE-2016-5119
Gentoo-bug: 585140 Package-Manager: portage-2.3.0_rc1
- Loading branch information
1 parent
9da4337
commit 6e8059e
Showing
2 changed files
with
114 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
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,113 @@ | ||
# 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" | ||
} | ||
|
||
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 | ||
} |