mirror of
https://https.git.savannah.gnu.org/git/guix.git/
synced 2025-07-12 18:10:47 +02:00
gnu: Add keepass.
* gnu/packages/password-utils.scm (keepass): New variable. * gnu/packages/dotnet.scm (mono): New variable. Change-Id: Iad340d4ede9dcc4065fd1f74797f952897910094 Signed-off-by: Danny Milosavljevic <dannym@friendly-machines.com>
This commit is contained in:
parent
7222d9d365
commit
e5686f39d3
2 changed files with 122 additions and 0 deletions
|
@ -1905,3 +1905,5 @@ most of the heavy lifting.")
|
||||||
(target ,libx11))))
|
(target ,libx11))))
|
||||||
port))))
|
port))))
|
||||||
(find-files gac "^System[.]Windows[.]Forms[.]dll$")))))))))))
|
(find-files gac "^System[.]Windows[.]Forms[.]dll$")))))))))))
|
||||||
|
|
||||||
|
(define-public mono mono-6.12.0)
|
||||||
|
|
|
@ -87,6 +87,7 @@
|
||||||
#:use-module (gnu packages curl)
|
#:use-module (gnu packages curl)
|
||||||
#:use-module (gnu packages digest)
|
#:use-module (gnu packages digest)
|
||||||
#:use-module (gnu packages docbook)
|
#:use-module (gnu packages docbook)
|
||||||
|
#:use-module (gnu packages dotnet)
|
||||||
#:use-module (gnu packages file)
|
#:use-module (gnu packages file)
|
||||||
#:use-module (gnu packages freedesktop)
|
#:use-module (gnu packages freedesktop)
|
||||||
#:use-module (gnu packages gettext)
|
#:use-module (gnu packages gettext)
|
||||||
|
@ -99,6 +100,7 @@
|
||||||
#:use-module (gnu packages golang-web)
|
#:use-module (gnu packages golang-web)
|
||||||
#:use-module (gnu packages gtk)
|
#:use-module (gnu packages gtk)
|
||||||
#:use-module (gnu packages guile)
|
#:use-module (gnu packages guile)
|
||||||
|
#:use-module (gnu packages image)
|
||||||
#:use-module (gnu packages kerberos)
|
#:use-module (gnu packages kerberos)
|
||||||
#:use-module (gnu packages libffi)
|
#:use-module (gnu packages libffi)
|
||||||
#:use-module (gnu packages libusb)
|
#:use-module (gnu packages libusb)
|
||||||
|
@ -322,6 +324,124 @@ algorithms AES or Twofish.")
|
||||||
;; the combined work falls under the GPLv3.
|
;; the combined work falls under the GPLv3.
|
||||||
(license license:gpl3)))
|
(license license:gpl3)))
|
||||||
|
|
||||||
|
(define-public keepass
|
||||||
|
(package
|
||||||
|
(name "keepass")
|
||||||
|
(version "2.57.1")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri
|
||||||
|
(string-append "mirror://sourceforge/keepass/KeePass%202.x/" version
|
||||||
|
"/KeePass-" version "-Source.zip"))
|
||||||
|
(sha256 (base32 "11i9h0pbvbmz3a6wkp97qhrc8r4l5a2iwxw6vl0zwcp19ka5gdpp"))))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(replace 'unpack
|
||||||
|
(lambda* (#:key source #:allow-other-keys)
|
||||||
|
(mkdir "source")
|
||||||
|
(chdir "source")
|
||||||
|
(invoke "unzip" source)))
|
||||||
|
(replace 'configure
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
;; Make reproducible by setting build number to 0.
|
||||||
|
(substitute* "KeePass/Properties/AssemblyInfo.cs"
|
||||||
|
(("AssemblyVersion[(]\"2.57.1.*\"[)]")
|
||||||
|
"AssemblyVersion(\"2.57.1.0\")"))
|
||||||
|
(substitute* "KeePassLib/Native/NativeMethods.Unix.cs"
|
||||||
|
(("libgcrypt.so.20" all)
|
||||||
|
(string-append (search-input-file inputs (string-append "/lib/" all))))
|
||||||
|
(("libglib-2.0.so.0" all)
|
||||||
|
(string-append (search-input-file inputs (string-append "/lib/" all))))
|
||||||
|
(("libgtk-3.so.0" all)
|
||||||
|
(string-append (search-input-file inputs (string-append "/lib/" all)))))
|
||||||
|
(substitute* "KeePass.sln"
|
||||||
|
(("GlobalSection\\(ExtensibilityGlobals\\).*?EndGlobalSection")
|
||||||
|
"")
|
||||||
|
(("GlobalSection\\(ExtensibilityGlobals\\).*?EndGlobalSection"
|
||||||
|
all)
|
||||||
|
"")
|
||||||
|
(("Format Version 10\\.0")
|
||||||
|
"Format Version 11.00"))
|
||||||
|
(substitute* "KeePass/KeePass.csproj"
|
||||||
|
((" ToolsVersion=\\\"3\\.5\\\"")
|
||||||
|
" ToolsVersion=\"4.0\"")
|
||||||
|
(("<SignAssembly>true</SignAssembly>")
|
||||||
|
"<SignAssembly>false</SignAssembly>")
|
||||||
|
;; XML Serializer AOT compiler doesn't work here.
|
||||||
|
;; mono will just fall back to the runtime compiler.
|
||||||
|
(("[$][(]FrameworkSDKDir[)]bin.sgen[.]exe")
|
||||||
|
"echo")
|
||||||
|
(("<TargetFrameworkVersion>v4\\.8</TargetFrameworkVersion>")
|
||||||
|
"<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>"))
|
||||||
|
(copy-file
|
||||||
|
"Ext/Icons_15_VA/LowResIcons/KeePass_LR.ico"
|
||||||
|
"KeePass/KeePass.ico")
|
||||||
|
(copy-file
|
||||||
|
"Ext/Icons_15_VA/LowResIcons/KeePass_LR.ico"
|
||||||
|
"KeePass/IconsKeePass.ico")
|
||||||
|
(copy-file
|
||||||
|
"Ext/Icons_15_VA/LowResIcons/KeePass_LR_G.ico"
|
||||||
|
"KeePass/IconsKeePass_G.ico")
|
||||||
|
(copy-file
|
||||||
|
"Ext/Icons_15_VA/LowResIcons/KeePass_LR_R.ico"
|
||||||
|
"KeePass/IconsKeePass_R.ico")
|
||||||
|
(copy-file
|
||||||
|
"Ext/Icons_15_VA/LowResIcons/KeePass_LR_Y.ico"
|
||||||
|
"KeePass/IconsKeePass_Y.ico")
|
||||||
|
(substitute* "KeePassLib/KeePassLib.csproj"
|
||||||
|
((" ToolsVersion=\\\"3\\.5\\\"")
|
||||||
|
" ToolsVersion=\"4.0\"")
|
||||||
|
(("<SignAssembly>true</SignAssembly>")
|
||||||
|
"<SignAssembly>false</SignAssembly>"))
|
||||||
|
(substitute* "Translation/TrlUtil/TrlUtil.csproj"
|
||||||
|
((" ToolsVersion=\\\"3\\.5\\\"") " ToolsVersion=\"4.0\""))
|
||||||
|
(copy-file
|
||||||
|
"Ext/Icons_15_VA/LowResIcons/KeePass_LR.ico"
|
||||||
|
"KeePass/Resources/KeePass.ico")))
|
||||||
|
(delete 'patch-source)
|
||||||
|
(replace 'build
|
||||||
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
|
(setenv "MONO_REGISTRY_PATH" "/dev/null")
|
||||||
|
(setenv "LANG" "C")
|
||||||
|
(setenv "LC_ALL" "C")
|
||||||
|
(invoke
|
||||||
|
"xbuild"
|
||||||
|
"/target:KeePass"
|
||||||
|
"/property:Configuration=Release"
|
||||||
|
"/property:CscToolExe=mcs"
|
||||||
|
"/verbosity:diagnostic")))
|
||||||
|
(replace 'install
|
||||||
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
|
(let* ((out (assoc-ref outputs "out"))
|
||||||
|
(script (string-append out "/bin/keepass"))
|
||||||
|
(mono (assoc-ref inputs "mono"))
|
||||||
|
(lib (string-append out "/lib/keepass")))
|
||||||
|
(install-file "KeePass/obj/Release/KeePass.exe" lib)
|
||||||
|
(install-file "Ext/KeePass.config.xml" lib)
|
||||||
|
(mkdir (string-append out "/bin"))
|
||||||
|
(call-with-output-file script
|
||||||
|
(lambda (port)
|
||||||
|
(format port "#!/bin/sh
|
||||||
|
exec ~s/bin/mono ~s/lib/keepass/KeePass.exe \"$@\"
|
||||||
|
"
|
||||||
|
mono out)))
|
||||||
|
(chmod script #o755)
|
||||||
|
(patch-shebang script)))))
|
||||||
|
#:tests? #f)) ;no tests
|
||||||
|
(native-inputs (list unzip icoutils))
|
||||||
|
(inputs (list mono libgdiplus libgcrypt glib gtk+))
|
||||||
|
(home-page "https://keepass.info/")
|
||||||
|
(synopsis
|
||||||
|
"Light-weight and easy-to-use password manager")
|
||||||
|
(description
|
||||||
|
"KeePass is a light-weight and easy-to-use password manager that helps
|
||||||
|
you manage your passwords in a secure way. All passwords are stored
|
||||||
|
in an encrypted database, which is locked with a master key or key file.")
|
||||||
|
(license license:gpl2)))
|
||||||
|
|
||||||
(define-public pwsafe
|
(define-public pwsafe
|
||||||
(package
|
(package
|
||||||
(name "pwsafe")
|
(name "pwsafe")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue