X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/4bdf4182fe080c3409f6ef9b410146b67cfa2595..53ed3e4bbda8ccc7f4d8c20564c6ff3ac2e0a726:/gnu/packages/calendar.scm diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm index 104d61148a..d473900ac5 100644 --- a/gnu/packages/calendar.scm +++ b/gnu/packages/calendar.scm @@ -2,12 +2,14 @@ ;;; Copyright © 2015 David Thompson ;;; Copyright © 2015, 2016, 2017 Leo Famulari ;;; Copyright © 2016 Kei Kebreau -;;; Copyright © 2016, 2017 Efraim Flashner +;;; Copyright © 2016, 2017, 2020 Efraim Flashner ;;; Copyright © 2016 Troy Sankey -;;; Copyright © 2016 Stefan Reichoer +;;; Copyright © 2016, 2021 Stefan Reichoer ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2020 Marius Bakke +;;; Copyright © 2020 Tanguy Le Carrour +;;; Copyright © 2020 Peng Mei Yu ;;; ;;; This file is part of GNU Guix. ;;; @@ -36,6 +38,7 @@ #:use-module (gnu packages base) #:use-module (gnu packages check) #:use-module (gnu packages dav) + #:use-module (gnu packages docbook) #:use-module (gnu packages freedesktop) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) @@ -45,6 +48,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages qt) #:use-module (gnu packages sphinx) #:use-module (gnu packages sqlite) #:use-module (gnu packages time) @@ -63,7 +67,7 @@ (origin (method git-fetch) (uri (git-reference - (url "https://github.com/HowardHinnant/date.git") + (url "https://github.com/HowardHinnant/date") (commit "9a0ee2542848ab8625984fc8cdbfb9b5414c0082"))) (file-name (git-file-name name version)) (sha256 @@ -110,7 +114,7 @@ the library for handling time zones and leap seconds.") (define-public libical (package (name "libical") - (version "3.0.7") + (version "3.0.8") (source (origin (method url-fetch) (uri (string-append @@ -118,31 +122,24 @@ the library for handling time zones and leap seconds.") version "/libical-" version ".tar.gz")) (sha256 (base32 - "1z33wzaazbd7drl6qbh1750whd78xl2cg0gjnxyya9m83vgndgha")) - (patches - ;; Add a patch slated for 3.0.8 which preserves backwards- - ;; compatibility in the icalattach_new_from_data() function, - ;; which accidentally changed in 3.0.7 and could break some uses. - ;; https://gitlab.gnome.org/GNOME/evolution-data-server/issues/185 - ;; http://lists.infradead.org/pipermail/libical-devel/2020-January/000907.html - (list (origin - (method url-fetch) - (uri (string-append - "https://github.com/libical/libical/commit/" - "ae394010c889e4c185160da5e81527849f9de350.patch")) - (file-name "libical-3.0.7-preserve-icalattach-api.patch") - (sha256 - (base32 - "0v8qcxn8a6sh78grzxd61j9478928dx38l5mf8mkdrbxv47vmvvp"))))))) + "0vr8s7hn8204lyc4ys5bs3j5qss4lmc9ffly2m1a59avyz5cmzh9")))) (build-system cmake-build-system) (arguments '(#:tests? #f ; test suite appears broken + #:parallel-build? #f ;may cause GIR generation failure #:configure-flags '("-DSHARED_ONLY=true" ;; required by evolution-data-server "-DGOBJECT_INTROSPECTION=true" "-DICAL_GLIB_VAPI=true") #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-docbook-reference + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "doc/reference/libical-glib/libical-glib-docs.sgml.in" + (("http://www.oasis-open.org/docbook/xml/4.3/") + (string-append (assoc-ref inputs "docbook-xml") + "/xml/dtd/docbook/"))) + #t)) (add-before 'configure 'patch-paths (lambda* (#:key inputs #:allow-other-keys) ;; TODO: libical 3.1.0 supports using TZDIR instead of a hard-coded @@ -157,8 +154,9 @@ the library for handling time zones and leap seconds.") (("\\\"/usr/share/lib/zoneinfo\\\"") ""))) #t))))) (native-inputs - `(("gobject-introspection" ,gobject-introspection) - ("gtk-doc" ,gtk-doc) + `(("docbook-xml" ,docbook-xml-4.3) + ("gobject-introspection" ,gobject-introspection) + ("gtk-doc" ,gtk-doc/stable) ("perl" ,perl) ("pkg-config" ,pkg-config) ("vala" ,vala))) @@ -180,26 +178,17 @@ data units.") (define-public khal (package (name "khal") - (version "0.10.1") + (version "0.10.2") (source (origin - (method url-fetch) - (uri (pypi-uri "khal" version)) - (sha256 - (base32 - "1r8bkgjwkh7i8ygvsv51h1cnax50sb183vafg66x5snxf3dgjl6l")) - (patches - (list - (origin - (method url-fetch) - ;; This patch fixes an issue with python-urwid-2.1.0 - (uri "https://github.com/pimutils/khal/commit/2c5990c2de2015b251ba23617faa40ee11b8c22a.patch") - (file-name "khal-compat-urwid-2.1.0.patch") - (sha256 - (base32 - "11nd8hkjz68imwqqn0p54zmb53z2pfxmzchaviy7jc1ky5s9l663"))))))) + (method url-fetch) + (uri (pypi-uri "khal" version)) + (sha256 + (base32 + "11qhrga44knlnp88py9p547d4nr5kn041d2nszwa3dqw7mf22ks9")))) (build-system python-build-system) (arguments - `(#:phases (modify-phases %standard-phases + `(#:tests? #f ; The test suite is unreliable. See + #:phases (modify-phases %standard-phases ;; Building the manpage requires khal to be installed. (add-after 'install 'manpage (lambda* (#:key inputs outputs #:allow-other-keys) @@ -209,22 +198,9 @@ data units.") (install-file "doc/build/man/khal.1" (string-append (assoc-ref outputs "out") "/share/man/man1")) - #t)) - (replace 'check - (lambda* (#:key inputs #:allow-other-keys) - ;; The tests require us to choose a timezone. - (setenv "TZ" - (string-append (assoc-ref inputs "tzdata") - "/share/zoneinfo/Zulu")) - (invoke "py.test" "tests")))))) + #t))))) (native-inputs - `(("python-pytest" ,python-pytest) - ("python-pytest-cov" ,python-pytest-cov) - ("python-setuptools-scm" ,python-setuptools-scm) - ;; Required for tests - ("python-freezegun" ,python-freezegun) - ("tzdata" ,tzdata-for-tests) - ("vdirsyncer" ,vdirsyncer) + `(("python-setuptools-scm" ,python-setuptools-scm) ;; Required to build manpage ("python-sphinxcontrib-newsfeed" ,python-sphinxcontrib-newsfeed) ("python-sphinx" ,python-sphinx))) @@ -235,6 +211,11 @@ data units.") ("python-icalendar" ,python-icalendar) ("python-tzlocal" ,python-tzlocal) ("python-urwid" ,python-urwid) + ("python-pytz" ,python-pytz) + ("python-setproctitle" ,python-setproctitle) + ("python-atomicwrites" ,python-atomicwrites) + ("python-click" ,python-click) + ("python-click-log" ,python-click-log) ("python-pyxdg" ,python-pyxdg))) (synopsis "Console calendar program") (description "Khal is a standards based console calendar program, @@ -245,7 +226,7 @@ able to synchronize with CalDAV servers through vdirsyncer.") (define-public remind (package (name "remind") - (version "3.1.17") + (version "3.3.5") (source (origin (method url-fetch) @@ -256,7 +237,7 @@ able to synchronize with CalDAV servers through vdirsyncer.") ".") ".tar.gz")) (sha256 - (base32 "0lgyc2j69aqqk4knywr8inz4fsnni0zq54dgqh7p4s6kzybc2mf9")))) + (base32 "1hbfsq6444abkiws28xqy0k9cwzgzfi1hwfmd1rgm4yydgc1gvb1")))) (build-system gnu-build-system) (arguments '(#:tests? #f)) ; no "check" target @@ -290,3 +271,101 @@ of day, written in C, and including bindings for C++, pascal, perl, php, python, and ruby. It includes two illustrative command-line programs, @code{hcal} and @code{hdate}, and some snippets and scripts written in the binding languages.") (license license:gpl3+))) + +(define-public confclerk + (package + (name "confclerk") + (version "0.6.4") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.toastfreeware.priv.at/tarballs/" + "confclerk/confclerk-" version ".tar.gz")) + (sha256 + (base32 + "10rhg44px4nvbkd3p341cmp2ds43jn8r4rvgladda9v8zmsgr2b3")))) + (build-system gnu-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + ;; Install directory is currently hard-coded. + (substitute* "src/app/app.pro" + (("PREFIX = /usr/bin") + (string-append "PREFIX =" out "/bin"))) + (invoke "qmake")))) + (add-after 'install 'install-docs + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share"))) + (install-file "data/confclerk.1" + (string-append share "/man/man1")) + (install-file "data/confclerk.desktop" + (string-append share "/applications")) + (install-file "data/confclerk.svg" + (string-append share "/icons/hicolor/scalable/apps")) + #t)))) + #:tests? #f)) ; no tests + (native-inputs + `(("perl" ,perl))) ; pod2man + (inputs + `(("qtbase" ,qtbase))) + (home-page "https://www.toastfreeware.priv.at/confclerk") + (synopsis "Offline conference schedule application") + (description + "ConfClerk is an application written in Qt, which makes conference schedules +available offline. It displays the conference schedule from various views, +support searches on various items (speaker, speech topic, location, etc.) and +enables you to select favorite events and create your own schedule. + +At the moment ConfClerk is able to import schedules in XML format created by +the PentaBarf conference management system (or frab) used by e.g. FOSDEM, +DebConf, FrOSCon, Grazer LinuxTage, and the CCC congresses. + +ConfClerk is targeted at mobile devices but works on any system running Qt.") + (license (list license:gpl2+ + license:lgpl3)))) ; or cc-by3.0 for src/icons/* + +(define-public ccal + (package + (name "ccal") + (version "2.5.3") + (source (origin + (method url-fetch) + (uri (string-append "http://ccal.chinesebay.com/ccal/ccal-" + version ".tar.gz")) + (sha256 + (base32 + "15nza1d1lvk3dp0wcl53wsd32yhbgyzznha092mh5kh5z74vsk1x")))) + (build-system gnu-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* "Makefile" + (("/usr/local/bin") + (string-append out "/bin")) + (("/usr/local/man") + (string-append out "/share/man")))) + #t)) + (add-after 'install 'install-manuals + (lambda _ + (invoke "make" "install-man")))) + ;; no tests + #:tests? #f)) + (home-page "http://ccal.chinesebay.com/ccal/ccal.htm") + (synopsis "Command line program for Chinese calendar") + (description "@command{ccal} is a command line program which writes a +Gregorian calendar together with Chinese calendar to standard output. Its +usage is similar to the @command{cal} program. In addition to console output, +it can also generate Encapsulated Postscript and HTML table outputs for use in +do-it-yourself calendars and web pages. It supports both simplified and +traditional Chinese characters.") + ;; Both licenses are in use in various source files. Note that + ;; COPYING.LESSER specifies LGPL 3.0, but all source files say + ;; 'Lesser GPL version 2 or later'. + (license (list license:gpl2+ license:lgpl2.1+))))