summary refs log tree commit diff
path: root/pkgs/applications/misc/keepass
diff options
context:
space:
mode:
authorobadz <dav-github@odav.org>2015-05-22 14:25:02 +0100
committerobadz <dav-github@odav.org>2015-06-06 09:06:22 -0400
commitd4681bf62672083f92545e02e00b8cf040247e8d (patch)
tree24f50b3dfad442cf340db277740ec2e7fe0b7239 /pkgs/applications/misc/keepass
parent4cf3596fdae5982b5c549c52977662ace7bff26a (diff)
downloadnixpkgs-d4681bf62672083f92545e02e00b8cf040247e8d.tar
nixpkgs-d4681bf62672083f92545e02e00b8cf040247e8d.tar.gz
nixpkgs-d4681bf62672083f92545e02e00b8cf040247e8d.tar.bz2
nixpkgs-d4681bf62672083f92545e02e00b8cf040247e8d.tar.lz
nixpkgs-d4681bf62672083f92545e02e00b8cf040247e8d.tar.xz
nixpkgs-d4681bf62672083f92545e02e00b8cf040247e8d.tar.zst
nixpkgs-d4681bf62672083f92545e02e00b8cf040247e8d.zip
Lay down the foundation for packaging the .NET echosystem
- fetchNuGet can fetch binaries from nuget servers
- buildDotnetPackage can build .NET packages using mono/xbuild
  - Places nuget & paket as they would clash with nix
  - Patch project files because F# targets are expected to be found in
    the mono directory (and we know that's not going to happen on nix)
  - Find DLLs that were copied from buildInputs and replace by symlink
    for sharing
  - Export produced DLL via the pkg-config mechanism
  - Create wrappers for produced EXEs
- Repackaged this new infrastructure: keepass, monodevelop
- Newly packaged: ExtCore, UnionArgParser, FSharp.Data, Paket, and a
  bunch more..

This is a combination of 73 commits.
Diffstat (limited to 'pkgs/applications/misc/keepass')
-rw-r--r--pkgs/applications/misc/keepass/default.nix30
-rw-r--r--pkgs/applications/misc/keepass/keepass.patch89
2 files changed, 104 insertions, 15 deletions
diff --git a/pkgs/applications/misc/keepass/default.nix b/pkgs/applications/misc/keepass/default.nix
index d46efc4e5e8..f659e4f6c2d 100644
--- a/pkgs/applications/misc/keepass/default.nix
+++ b/pkgs/applications/misc/keepass/default.nix
@@ -1,17 +1,21 @@
-{ stdenv, fetchurl, unzip, makeDesktopItem, mono }:
+{ stdenv, fetchurl, buildDotnetPackage, makeWrapper, unzip, makeDesktopItem }:
 
-stdenv.mkDerivation rec {
-  name = "keepass-${version}";
+buildDotnetPackage rec {
+  baseName = "keepass";
   version = "2.29";
 
   src = fetchurl {
-    url = "mirror://sourceforge/keepass/KeePass-${version}.zip";
-    sha256 = "16x7m899akpi036c0wlr41w7fz9q0b69yac9q97rqkixb03l4g9d";
+    url = "mirror://sourceforge/keepass/KeePass-${version}-Source.zip";
+    sha256 = "051s0aznyyhbpdbly6h5rs0ax0zvkp45dh93nmq6lwhicswjwn5m";
   };
 
   sourceRoot = ".";
 
-  phases = [ "unpackPhase" "installPhase" ];
+  buildInputs = [ unzip ];
+
+  patches = [ ./keepass.patch ];
+
+  preConfigure = "rm -rvf Build/*";
 
   desktopItem = makeDesktopItem {
     name = "keepass";
@@ -22,23 +26,19 @@ stdenv.mkDerivation rec {
     categories = "Application;Other;";
   };
 
+  outputFiles = [ "Build/KeePass/Release/*" "Build/KeePassLib/Release/*" ];
+  dllFiles = [ "KeePassLib.dll" ];
+  exeFiles = [ "KeePass.exe" ];
 
-  installPhase = ''
-    mkdir -p "$out/bin"
-    echo "${mono}/bin/mono $out/KeePass.exe" > $out/bin/keepass
-    chmod +x $out/bin/keepass
-    echo $out
-    cp -r ./* $out/
+  postInstall = ''
     mkdir -p "$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];
+    maintainers = with stdenv.lib.maintainers; [ amorsillo obadz ];
     platforms = with stdenv.lib.platforms; all;
     license = stdenv.lib.licenses.gpl2;
   };
diff --git a/pkgs/applications/misc/keepass/keepass.patch b/pkgs/applications/misc/keepass/keepass.patch
new file mode 100644
index 00000000000..6ecf0bb074d
--- /dev/null
+++ b/pkgs/applications/misc/keepass/keepass.patch
@@ -0,0 +1,89 @@
+diff -Naur old/KeePass/KeePass.csproj new/KeePass/KeePass.csproj
+--- old/KeePass/KeePass.csproj	2015-04-10 11:00:46.000000000 +0100
++++ new/KeePass/KeePass.csproj	2015-05-27 16:35:52.196177593 +0100
+@@ -1,4 +1,4 @@
+-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">

++<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">

+   <PropertyGroup>

+     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>

+     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>

+@@ -10,7 +10,7 @@
+     <RootNamespace>KeePass</RootNamespace>

+     <AssemblyName>KeePass</AssemblyName>

+     <ApplicationIcon>KeePass.ico</ApplicationIcon>

+-    <SignAssembly>true</SignAssembly>

++    <SignAssembly>false</SignAssembly>

+     <AssemblyOriginatorKeyFile>KeePass.pfx</AssemblyOriginatorKeyFile>

+     <FileUpgradeFlags>

+     </FileUpgradeFlags>

+@@ -1316,6 +1316,5 @@
+   </Target>

+   -->

+   <PropertyGroup>

+-    <PostBuildEvent>"$(FrameworkSDKDir)bin\sgen.exe" /assembly:"$(TargetPath)" /force /nologo /compiler:/keycontainer:VS_KEY_33430356D8D7D1B8 /compiler:/delaysign-</PostBuildEvent>

+   </PropertyGroup>

+-</Project>
+\ No newline at end of file
++</Project>

+diff -Naur old/KeePassLib/KeePassLib.csproj new/KeePassLib/KeePassLib.csproj
+--- old/KeePassLib/KeePassLib.csproj	2014-05-08 15:00:24.000000000 +0100
++++ new/KeePassLib/KeePassLib.csproj	2015-05-27 16:35:52.197177562 +0100
+@@ -1,4 +1,4 @@
+-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">

++<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">

+   <PropertyGroup>

+     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>

+     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>

+@@ -9,7 +9,7 @@
+     <AppDesignerFolder>Properties</AppDesignerFolder>

+     <RootNamespace>KeePassLib</RootNamespace>

+     <AssemblyName>KeePassLib</AssemblyName>

+-    <SignAssembly>true</SignAssembly>

++    <SignAssembly>false</SignAssembly>

+     <AssemblyOriginatorKeyFile>KeePassLib.pfx</AssemblyOriginatorKeyFile>

+     <FileUpgradeFlags>

+     </FileUpgradeFlags>

+diff -Naur old/KeePass.sln new/KeePass.sln
+--- old/KeePass.sln	2009-08-31 19:47:28.000000000 +0100
++++ new/KeePass.sln	2015-05-27 16:35:59.568953518 +0100
+@@ -1,11 +1,9 @@
+-Microsoft Visual Studio Solution File, Format Version 10.00

++Microsoft Visual Studio Solution File, Format Version 12.00

+ # Visual Studio 2008

+ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KeePassLib", "KeePassLib\KeePassLib.csproj", "{53573E4E-33CB-4FDB-8698-C95F5E40E7F3}"

+ EndProject

+ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KeePass", "KeePass\KeePass.csproj", "{10938016-DEE2-4A25-9A5A-8FD3444379CA}"

+ EndProject

+-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KeePassLibSD", "KeePassLibSD\KeePassLibSD.csproj", "{DC15F71A-2117-4DEF-8C10-AA355B5E5979}"

+-EndProject

+ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TrlUtil", "Translation\TrlUtil\TrlUtil.csproj", "{B7E890E7-BF50-4450-9A52-C105BD98651C}"

+ EndProject

+ Global

+@@ -44,18 +42,6 @@
+ 		{10938016-DEE2-4A25-9A5A-8FD3444379CA}.Release|Mixed Platforms.Build.0 = Release|Any CPU

+ 		{10938016-DEE2-4A25-9A5A-8FD3444379CA}.Release|Win32.ActiveCfg = Release|Any CPU

+ 		{10938016-DEE2-4A25-9A5A-8FD3444379CA}.Release|x64.ActiveCfg = Release|Any CPU

+-		{DC15F71A-2117-4DEF-8C10-AA355B5E5979}.Debug|Any CPU.ActiveCfg = Debug|Any CPU

+-		{DC15F71A-2117-4DEF-8C10-AA355B5E5979}.Debug|Any CPU.Build.0 = Debug|Any CPU

+-		{DC15F71A-2117-4DEF-8C10-AA355B5E5979}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU

+-		{DC15F71A-2117-4DEF-8C10-AA355B5E5979}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU

+-		{DC15F71A-2117-4DEF-8C10-AA355B5E5979}.Debug|Win32.ActiveCfg = Debug|Any CPU

+-		{DC15F71A-2117-4DEF-8C10-AA355B5E5979}.Debug|x64.ActiveCfg = Debug|Any CPU

+-		{DC15F71A-2117-4DEF-8C10-AA355B5E5979}.Release|Any CPU.ActiveCfg = Release|Any CPU

+-		{DC15F71A-2117-4DEF-8C10-AA355B5E5979}.Release|Any CPU.Build.0 = Release|Any CPU

+-		{DC15F71A-2117-4DEF-8C10-AA355B5E5979}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU

+-		{DC15F71A-2117-4DEF-8C10-AA355B5E5979}.Release|Mixed Platforms.Build.0 = Release|Any CPU

+-		{DC15F71A-2117-4DEF-8C10-AA355B5E5979}.Release|Win32.ActiveCfg = Release|Any CPU

+-		{DC15F71A-2117-4DEF-8C10-AA355B5E5979}.Release|x64.ActiveCfg = Release|Any CPU

+ 		{B7E890E7-BF50-4450-9A52-C105BD98651C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU

+ 		{B7E890E7-BF50-4450-9A52-C105BD98651C}.Debug|Any CPU.Build.0 = Debug|Any CPU

+ 		{B7E890E7-BF50-4450-9A52-C105BD98651C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU

+diff -Naur old/Translation/TrlUtil/TrlUtil.csproj new/Translation/TrlUtil/TrlUtil.csproj
+--- old/Translation/TrlUtil/TrlUtil.csproj	2013-07-21 10:06:38.000000000 +0100
++++ new/Translation/TrlUtil/TrlUtil.csproj	2015-05-27 16:35:52.197177562 +0100
+@@ -1,4 +1,4 @@
+-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">

++<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">

+   <PropertyGroup>

+     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>

+     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>