Merge pull request #606 from fignuts/master
Add keepass password manager and update mono DLLMap.
This commit is contained in:
commit
ed51d54610
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 {
|
stdenv.mkDerivation rec {
|
||||||
name = "mono-2.11.4";
|
name = "mono-2.11.4";
|
||||||
@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "0wv8pnj02mq012sihx2scx0avyw51b5wb976wn7x86zda0vfcsnr";
|
sha256 = "0wv8pnj02mq012sihx2scx0avyw51b5wb976wn7x86zda0vfcsnr";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [bison pkgconfig glib gettext perl libgdiplus];
|
buildInputs = [bison pkgconfig glib gettext perl libgdiplus libX11];
|
||||||
propagatedBuildInputs = [glib];
|
propagatedBuildInputs = [glib];
|
||||||
|
|
||||||
NIX_LDFLAGS = "-lgcc_s" ;
|
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
|
# In fact I think this line does not help at all to what I
|
||||||
# wanted to achieve: have mono to find libgdiplus automatically
|
# 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":
|
# 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
|
# 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 ./
|
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 = {
|
meta = {
|
||||||
homepage = http://mono-project.com/;
|
homepage = http://mono-project.com/;
|
||||||
description = "Cross platform, open source .NET development framework";
|
description = "Cross platform, open source .NET development framework";
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
all = "Nix Committers <nix-commits@lists.science.uu.nl>";
|
all = "Nix Committers <nix-commits@lists.science.uu.nl>";
|
||||||
amiddelk = "Arie Middelkoop <amiddelk@gmail.com>";
|
amiddelk = "Arie Middelkoop <amiddelk@gmail.com>";
|
||||||
andres = "Andres Loeh <ksnixos@andres-loeh.de>";
|
andres = "Andres Loeh <ksnixos@andres-loeh.de>";
|
||||||
|
amorsillo = "Andrew Morsillo <andrew.morsillo@gmail.com>";
|
||||||
antono = "Antono Vasiljev <self@antono.info>";
|
antono = "Antono Vasiljev <self@antono.info>";
|
||||||
astsmtl = "Alexander Tsamutali <astsmtl@yandex.ru>";
|
astsmtl = "Alexander Tsamutali <astsmtl@yandex.ru>";
|
||||||
aszlig = "aszlig <aszlig@redmoonstudios.org>";
|
aszlig = "aszlig <aszlig@redmoonstudios.org>";
|
||||||
|
@ -2650,7 +2650,9 @@ let
|
|||||||
|
|
||||||
mlton = callPackage ../development/compilers/mlton { };
|
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 { };
|
monoDLLFixer = callPackage ../build-support/mono-dll-fixer { };
|
||||||
|
|
||||||
@ -7191,6 +7193,8 @@ let
|
|||||||
|
|
||||||
keepassx = callPackage ../applications/misc/keepassx { };
|
keepassx = callPackage ../applications/misc/keepassx { };
|
||||||
|
|
||||||
|
keepass = callPackage ../applications/misc/keepass { };
|
||||||
|
|
||||||
# FIXME: Evince and other GNOME/GTK+ apps (e.g., Viking) provide
|
# FIXME: Evince and other GNOME/GTK+ apps (e.g., Viking) provide
|
||||||
# `share/icons/hicolor/icon-theme.cache'. Arbitrarily give this one a
|
# `share/icons/hicolor/icon-theme.cache'. Arbitrarily give this one a
|
||||||
# higher priority.
|
# higher priority.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user