Added keepass password manager. Updated mono DLLMap to allow mono to run WinForms applications (keepass).
This commit is contained in:
parent
c96c105c5c
commit
e1bd332758
45
pkgs/applications/misc/keepass/default.nix
Normal file
45
pkgs/applications/misc/keepass/default.nix
Normal file
|
@ -0,0 +1,45 @@
|
|||
{ stdenv, fetchurl, unzip, makeDesktopItem, mono }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "keepass-${version}";
|
||||
version = "2.22";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/keepass/KeePass-${version}.zip";
|
||||
sha256 = "0mman7r1jmirfwzix5qww0yn4rrgzcg7546basxjvvfc8flp43j0";
|
||||
};
|
||||
|
||||
sourceRoot = ".";
|
||||
|
||||
phases = [ "unpackPhase" "installPhase" ];
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "keepass";
|
||||
exec = "keepass";
|
||||
comment = "Password manager";
|
||||
desktopName = "Keepass";
|
||||
genericName = "Password manager";
|
||||
categories = "Application;Other;";
|
||||
};
|
||||
|
||||
|
||||
installPhase = ''
|
||||
ensureDir "$out/bin"
|
||||
echo "${mono}/bin/mono $out/KeePass.exe" > $out/bin/keepass
|
||||
chmod +x $out/bin/keepass
|
||||
echo $out
|
||||
cp -r ./* $out/
|
||||
ensureDir "$out/share/applications"
|
||||
cp ${desktopItem}/share/applications/* $out/share/applications
|
||||
'';
|
||||
|
||||
buildInputs = [ unzip ];
|
||||
|
||||
meta = {
|
||||
description = "GUI password manager with strong cryptography";
|
||||
homepage = http://www.keepass.info/;
|
||||
maintainers = with stdenv.lib.maintainers; [amorsillo];
|
||||
platforms = with stdenv.lib.platforms; all;
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
};
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
{stdenv, fetchurl, bison, pkgconfig, glib, gettext, perl, libgdiplus}:
|
||||
{stdenv, fetchurl, bison, pkgconfig, glib, gettext, perl, libgdiplus, libX11}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "mono-2.11.4";
|
||||
|
@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "0wv8pnj02mq012sihx2scx0avyw51b5wb976wn7x86zda0vfcsnr";
|
||||
};
|
||||
|
||||
buildInputs = [bison pkgconfig glib gettext perl libgdiplus];
|
||||
buildInputs = [bison pkgconfig glib gettext perl libgdiplus libX11];
|
||||
propagatedBuildInputs = [glib];
|
||||
|
||||
NIX_LDFLAGS = "-lgcc_s" ;
|
||||
|
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
# In fact I think this line does not help at all to what I
|
||||
# wanted to achieve: have mono to find libgdiplus automatically
|
||||
configureFlags = "--with-libgdiplus=${libgdiplus}/lib/libgdiplus.so";
|
||||
configureFlags = "--x-includes=${libX11}/include --x-libraries=${libX11}/lib --with-libgdiplus=${libgdiplus}/lib/libgdiplus.so";
|
||||
|
||||
# Attempt to fix this error when running "mcs --version":
|
||||
# The file /nix/store/xxx-mono-2.4.2.1/lib/mscorlib.dll is an invalid CIL image
|
||||
|
@ -31,6 +31,17 @@ stdenv.mkDerivation rec {
|
|||
patchShebangs ./
|
||||
";
|
||||
|
||||
#Fix mono DLLMap so it can find libX11 and gdiplus to run winforms apps
|
||||
#Other items in the DLLMap may need to be pointed to their store locations, I don't think this is exhaustive
|
||||
#http://www.mono-project.com/Config_DllMap
|
||||
postBuild = ''
|
||||
find . -name 'config' -type f | while read i; do
|
||||
sed -i "s@libMonoPosixHelper.so@$out/lib/libMonoPosixHelper.so@g" $i
|
||||
sed -i "s@libX11.so.6@${libX11}/lib/libX11.so.6@g" $i
|
||||
sed -i '2 i\<dllmap dll="gdiplus.dll" target="${libgdiplus}/lib/libgdiplus.so" os="!windows"/>' $i
|
||||
done
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = http://mono-project.com/;
|
||||
description = "Cross platform, open source .NET development framework";
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
all = "Nix Committers <nix-commits@lists.science.uu.nl>";
|
||||
amiddelk = "Arie Middelkoop <amiddelk@gmail.com>";
|
||||
andres = "Andres Loeh <ksnixos@andres-loeh.de>";
|
||||
amorsillo = "Andrew Morsillo <andrew.morsillo@gmail.com>";
|
||||
antono = "Antono Vasiljev <self@antono.info>";
|
||||
astsmtl = "Alexander Tsamutali <astsmtl@yandex.ru>";
|
||||
aszlig = "aszlig <aszlig@redmoonstudios.org>";
|
||||
|
|
|
@ -2645,7 +2645,9 @@ let
|
|||
|
||||
mlton = callPackage ../development/compilers/mlton { };
|
||||
|
||||
mono = callPackage ../development/compilers/mono { };
|
||||
mono = callPackage ../development/compilers/mono {
|
||||
inherit (xlibs) libX11;
|
||||
};
|
||||
|
||||
monoDLLFixer = callPackage ../build-support/mono-dll-fixer { };
|
||||
|
||||
|
@ -7161,6 +7163,8 @@ let
|
|||
|
||||
keepassx = callPackage ../applications/misc/keepassx { };
|
||||
|
||||
keepass = callPackage ../applications/misc/keepass { };
|
||||
|
||||
# FIXME: Evince and other GNOME/GTK+ apps (e.g., Viking) provide
|
||||
# `share/icons/hicolor/icon-theme.cache'. Arbitrarily give this one a
|
||||
# higher priority.
|
||||
|
|
Loading…
Reference in a new issue