mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-16 14:29:05 -07:00
app-admin/keepass: including new PrepMonoEnv script and fixing header
Package-Manager: Portage-2.3.3, Repoman-2.3.1
This commit is contained in:
59
app-admin/keepass/files/keepass-2.35-new-monoprep-script.sh
Normal file
59
app-admin/keepass/files/keepass-2.35-new-monoprep-script.sh
Normal file
@@ -0,0 +1,59 @@
|
||||
#!/bin/sh
|
||||
|
||||
buildDir="$(pwd)"
|
||||
keePassRootDir="${buildDir}/.."
|
||||
|
||||
copyKeePassIcons()
|
||||
{
|
||||
cd "${buildDir}"
|
||||
cp -f ../Ext/Icons_04_CB/Finals2/plockb.ico ../KeePass/KeePass.ico
|
||||
cp -f ../Ext/Icons_04_CB/Finals2/plockb.ico ../KeePass/Resources/Images/KeePass.ico
|
||||
}
|
||||
|
||||
sanitizeKeePassProjectFiles()
|
||||
{
|
||||
cd "${keePassRootDir}/KeePass"
|
||||
|
||||
local keePassProjectFile="KeePass.csproj"
|
||||
local keePassProjectSolution="KeePass.sln"
|
||||
|
||||
sed -i 's!<SignAssembly>true</SignAssembly>!<SignAssembly>false</SignAssembly>!g' "${keePassProjectFile}"
|
||||
sed -i 's! ToolsVersion="3.5"!!g' "${keePassProjectFile}"
|
||||
sed -i '/sgen\.exe/d' "${keePassProjectFile}"
|
||||
|
||||
# Update solution .NET format to 11 (This targets Mono 4 rather than 3.5)
|
||||
cd "${keePassRootDir}"
|
||||
sed -i 's!Format Version 10.00!Format Version 11.00!g' "${keePassProjectSolution}"
|
||||
|
||||
cd "${buildDir}"
|
||||
}
|
||||
|
||||
sanitizeKeePassLibProjectFile()
|
||||
{
|
||||
cd "${keePassRootDir}/KeePassLib"
|
||||
|
||||
local keePassProjectLibFile="KeePassLib.csproj"
|
||||
sed -i 's!<SignAssembly>true</SignAssembly>!<SignAssembly>false</SignAssembly>!g' "${keePassProjectLibFile}"
|
||||
sed -i 's! ToolsVersion="3.5"!!g' "${keePassProjectLibFile}"
|
||||
|
||||
cd "${buildDir}"
|
||||
}
|
||||
|
||||
|
||||
sanitizeTrlUtilProjectFile()
|
||||
{
|
||||
cd "${keePassRootDir}/Translation/TrlUtil"
|
||||
|
||||
local trlUtilProjectFile="TrlUtil.csproj"
|
||||
sed -i 's! ToolsVersion="3.5"!!g' "${trlUtilProjectFile}"
|
||||
|
||||
cd "${buildDir}"
|
||||
}
|
||||
|
||||
# Start
|
||||
copyKeePassIcons
|
||||
|
||||
# Remove ToolsVersion 3.5 References so that newer Mono compilers can be used
|
||||
sanitizeKeePassProjectFiles
|
||||
sanitizeKeePassLibProjectFile
|
||||
sanitizeTrlUtilProjectFile
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
|
||||
121
app-admin/keepass/keepass-2.35-r1.ebuild
Normal file
121
app-admin/keepass/keepass-2.35-r1.ebuild
Normal file
@@ -0,0 +1,121 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit eutils fdo-mime gnome2-utils 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"
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
app-arch/unzip"
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
dev-dotnet/libgdiplus[cairo]"
|
||||
|
||||
S="${WORKDIR}"
|
||||
PATCHES=( "${FILESDIR}/${PN}-2.20-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
|
||||
|
||||
# New Mono Prep Script until keepass 2.36+ comes out.
|
||||
# This script has been upstreamed, still waiting for final confirmation.
|
||||
local newMonoPrepScript="${FILESDIR}/keepass-2.35-new-monoprep-script.sh"
|
||||
|
||||
# Switch into build dir so the mono prepration script works correctly
|
||||
cd Build || die
|
||||
cp -f "${newMonoPrepScript}" PrepMonoDev.sh
|
||||
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_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
_update_caches
|
||||
|
||||
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() {
|
||||
_update_caches
|
||||
}
|
||||
|
||||
_update_caches() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_mime_database_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
||||
@@ -11,6 +11,7 @@
|
||||
</maintainer>
|
||||
<maintainer type="person">
|
||||
<email>fearedbliss@gentoo.org</email>
|
||||
<name>Jonathan Vasquez</name>
|
||||
<description>Proxy maintainer. CC him on bugs.</description>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
|
||||
Reference in New Issue
Block a user