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.
This commit is contained in:
Eric Bavier 2014-06-30 11:26:08 -05:00
parent 71639e1f17
commit cafc3f5ad7
3 changed files with 227 additions and 6 deletions

View file

@ -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 \

57
gnu/packages/jrnl.scm Normal file
View file

@ -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)))

View file

@ -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 @@ (define-module (gnu packages python)
#: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 @@ (define-public python2-setuptools
(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 @@ (define-public python-six
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 @@ (define-public python-dateutil
(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 @@ (define-public python-dateutil
(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 @@ (define-public python-dateutil
(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