aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Bavier <bavier@member.fsf.org>2014-06-30 11:26:08 -0500
committerEric Bavier <bavier@member.fsf.org>2014-06-30 11:26:42 -0500
commitcafc3f5ad76b534662ced753f7f2f07841da6bf4 (patch)
tree9aaf05f696fa25d14f3d680e75ac52028e91a680
parent71639e1f17212e6f3f63a8a9b6f84ee2a4d2018e (diff)
downloadpatches-cafc3f5ad76b534662ced753f7f2f07841da6bf4.tar
patches-cafc3f5ad76b534662ced753f7f2f07841da6bf4.tar.gz
gnu: Add jrnl, python-pycrypto, python-keyring, python-parsedatetime, and python-tzlocal.
* gnu/packages/jrnl.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. * gnu/packages/python.scm (python-pycrypto, python-keyring, python-dateutil-2, python-parsedatetime, python-tzlocal): New variables.
-rw-r--r--gnu-system.am1
-rw-r--r--gnu/packages/jrnl.scm57
-rw-r--r--gnu/packages/python.scm175
3 files changed, 227 insertions, 6 deletions
diff --git a/gnu-system.am b/gnu-system.am
index ec697c556a..793ee4c862 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -127,6 +127,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/inkscape.scm \
gnu/packages/irssi.scm \
gnu/packages/iso-codes.scm \
+ gnu/packages/jrnl.scm \
gnu/packages/kde.scm \
gnu/packages/ld-wrapper.scm \
gnu/packages/less.scm \
diff --git a/gnu/packages/jrnl.scm b/gnu/packages/jrnl.scm
new file mode 100644
index 0000000000..bdd4471c41
--- /dev/null
+++ b/gnu/packages/jrnl.scm
@@ -0,0 +1,57 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Eric Bavier <address@hidden>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages jrnl)
+ #:use-module (guix packages)
+ #:use-module (guix licenses)
+ #:use-module (guix download)
+ #:use-module (guix build-system python)
+ #:use-module (gnu packages python))
+
+(define-public jrnl
+ (package
+ (name "jrnl")
+ (version "1.8.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/maebert/jrnl/archive/"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "019ky09sj5i7frmca0imv4jm46mn3f4lzah2wmiwxh22cisj7ksn"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-setuptools" ,python-setuptools)
+ ("behave" ,behave)))
+ (inputs
+ `(("python" ,python)
+ ("python-keyring" ,python-keyring)
+ ("python-pycrypto" ,python-pycrypto)
+ ("python-pytz" ,python-pytz)
+ ("python-tzlocal" ,python-tzlocal)
+ ("python-six" ,python-six)
+ ("python-dateutil" , python-dateutil-2)
+ ("python-parsedatetime" ,python-parsedatetime)))
+ (home-page "http://maebert.github.io/jrnl/")
+ (synopsis "Personal journal application")
+ (description
+ "Jrnl is a command line journal application that stores your journal in a
+plain text file. Optionally, your journal can be encrypted using 256-bit AES
+encryption.")
+ (license x11)))
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index d88d4d3b3a..5b6faf0b5d 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -22,8 +22,9 @@
(define-module (gnu packages python)
#:use-module ((guix licenses)
- #:select (bsd-3 bsd-style expat psfl x11 x11-style
- gpl2 gpl2+ lgpl2.1+))
+ #:select (asl2.0 bsd-3 bsd-style cc0 expat x11 x11-style
+ gpl2 gpl2+ lgpl2.1+
+ psfl public-domain))
#:use-module ((guix licenses) #:select (zlib)
#:renamer (symbol-prefix-proc 'license:))
#:use-module (gnu packages)
@@ -36,6 +37,8 @@
#:use-module (gnu packages elf)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages sqlite)
+ #:use-module ((gnu packages zip) #:select (unzip))
+ #:use-module (gnu packages multiprecision)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
@@ -381,6 +384,80 @@ Python 3 support.")
(package-with-python2 python-setuptools))
+(define-public python-pycrypto
+ (package
+ (name "python-pycrypto")
+ (version "2.6.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://pypi.python.org/packages/source/p/"
+ "pycrypto/pycrypto-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0g0ayql5b9mkjam8hym6zyg6bv77lbh66rv1fyvgqb17kfc1xkpj"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-setuptools" ,python-setuptools)))
+ (inputs
+ `(("python" ,python)
+ ("gmp" ,gmp)))
+ (arguments
+ `(#:phases
+ (alist-cons-before
+ 'build 'set-build-env
+ ;; pycrypto runs an autoconf configure script behind the scenes
+ (lambda _
+ (setenv "CONFIG_SHELL" (which "bash")))
+ %standard-phases)))
+ (home-page "http://www.pycrypto.org/")
+ (synopsis "Cryptographic modules for Python")
+ (description
+ "Pycrypto is a collection of both secure hash functions (such as SHA256
+and RIPEMD160), and various encryption algorithms (AES, DES, RSA, ElGamal,
+etc.). The package is structured to make adding new modules easy.")
+ (license public-domain)))
+
+(define-public python-keyring
+ (package
+ (name "python-keyring")
+ (version "3.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://pypi.python.org/packages/source/k/"
+ "keyring/keyring-" version ".zip"))
+ (sha256
+ (base32
+ "1vxazfbcwggyfyramh55shkxs08skhpqrkm6lrrjnygnm8c1l2zg"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("unzip" ,unzip)
+ ("python-setuptools" ,python-setuptools)
+ ("python-mock" ,python-mock)))
+ (inputs
+ `(("python-pycrypto" ,python-pycrypto)))
+ (arguments
+ `(#:tests? #f ;TODO: tests require pytest
+ #:phases
+ (alist-replace
+ 'unpack
+ (lambda _
+ (let ((unzip (string-append (assoc-ref %build-inputs "unzip")
+ "/bin/unzip"))
+ (source (assoc-ref %build-inputs "source")))
+ (and (zero? (system* unzip source))
+ (chdir (string-append "keyring-" ,version)))))
+ %standard-phases)))
+ (home-page "http://bitbucket.org/kang/python-keyring-lib")
+ (synopsis "Store and access your passwords safely")
+ (description
+ "The Python keyring lib provides a easy way to access the system keyring
+service from python. It can be used in any application that needs safe
+password storage.")
+ ;; "MIT" and PSF dual license
+ (license x11)))
+
(define-public python-six
(package
(name "python-six")
@@ -406,6 +483,32 @@ Six supports every Python version since 2.5. It is contained in only one
Python file, so it can be easily copied into your project.")
(license x11)))
+(define-public python-dateutil-2
+ (package
+ (name "python-dateutil")
+ (version "2.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://pypi.python.org/packages/source/p/"
+ name "/" name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0s74ad6r789810s10dxgvaf48ni6adac2icrdad34zxygqq6bj7f"))))
+ (build-system python-build-system)
+ (inputs
+ `(("python-setuptools" ,python-setuptools)
+ ("python-six" ,python-six)))
+ (home-page "http://labix.org/python-dateutil")
+ (synopsis "Extensions to the standard datetime module")
+ (description
+ "The dateutil module provides powerful extensions to the standard
+datetime module, available in Python 2.3+.")
+ (license bsd-3)))
+
+(define-public python2-dateutil-2
+ (package-with-python2 python-dateutil-2))
+
(define-public python-dateutil
(package
(name "python-dateutil")
@@ -413,8 +516,8 @@ Python file, so it can be easily copied into your project.")
(source
(origin
(method url-fetch)
- (uri (string-append "http://labix.org/download/python-dateutil/python-dateutil-"
- version ".tar.gz"))
+ (uri (string-append "http://labix.org/download/python-dateutil/"
+ "python-dateutil-" version ".tar.gz"))
(sha256
(base32
"0fqfglhy5khbvsipr3x7m6bcaqljh8xl5cw33vbfxy7qhmywm2n0"))))
@@ -422,8 +525,7 @@ Python file, so it can be easily copied into your project.")
(inputs
`(("python-setuptools" ,python-setuptools)))
(home-page "http://labix.org/python-dateutil")
- (synopsis
- "Extensions to the standard datetime module, available in Python 2.3+")
+ (synopsis "Extensions to the standard datetime module")
(description
"The dateutil module provides powerful extensions to the standard
datetime module, available in Python 2.3+.")
@@ -432,6 +534,67 @@ datetime module, available in Python 2.3+.")
(define-public python2-dateutil
(package-with-python2 python-dateutil))
+(define-public python-parsedatetime
+ (package
+ (name "python-parsedatetime")
+ (version "1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://pypi.python.org/packages/source/p/"
+ "parsedatetime/parsedatetime-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1zcj0pzxvpl4j2ma9awmpkfxldybi2kjaahjjpmgfbg5cxwcjsqv"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-setuptools" ,python-setuptools)))
+ (arguments `(#:tests? #f)) ;no test target
+ (home-page "http://github.com/bear/parsedatetime/")
+ (synopsis
+ "Parse human-readable date/time text")
+ (description
+ "Parse human-readable date/time text")
+ (license asl2.0)))
+
+(define-public python-tzlocal
+ (package
+ (name "python-tzlocal")
+ (version "1.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://pypi.python.org/packages/source/t/"
+ "tzlocal/tzlocal-" version ".zip"))
+ (sha256
+ (base32
+ "1m3y918c3chf41fwg2bx4w42bqsjzn3dyvvcmwwy13c8gj6zssv9"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("unzip" ,unzip)
+ ("python-setuptools" ,python-setuptools)))
+ (inputs `(("python-pytz" ,python-pytz)))
+ (arguments
+ `(#:phases
+ (alist-replace
+ 'unpack
+ (lambda _
+ (let ((unzip (string-append (assoc-ref %build-inputs "unzip")
+ "/bin/unzip"))
+ (source (assoc-ref %build-inputs "source")))
+ (and (zero? (system* unzip source))
+ (chdir (string-append "tzlocal-" ,version)))))
+ %standard-phases)))
+ (home-page "https://github.com/regebro/tzlocal")
+ (synopsis
+ "tzinfo object for the local timezone")
+ (description
+ "Tzlocal returns a tzinfo object with the local timezone information.
+This module attempts to fix a glaring hole in pytz, that there is no way to
+get the local timezone information, unless you know the zoneinfo name, and
+under several distributions that's hard or impossible to figure out.")
+ (license cc0)))
+
(define-public python2-pysqlite
(package