aboutsummaryrefslogtreecommitdiff
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2018 Ludovic Courtès <ludo@gnu.org>
;;;
;;; 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 gcal)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix build-system gnu)
  #:use-module (guix licenses))

(define-public gcal
  (package
    (name "gcal")
    (version "4.1")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnu/gcal/gcal-"
                                 version ".tar.xz"))
             (sha256
              (base32
               "1av11zkfirbixn05hyq4xvilin0ncddfjqzc4zd9pviyp506rdci"))
             (modules '((guix build utils)))
             (snippet
              '(begin
                 ;; Adjust the bundled gnulib to work with glibc 2.28.  See e.g.
                 ;; "m4-gnulib-libio.patch".  This is a phase rather than patch
                 ;; or snippet to work around <https://bugs.gnu.org/32347>.
                 (substitute* (find-files "lib" "\\.c$")
                   (("#if defined _IO_ftrylockfile")
                    "#if defined _IO_EOF_SEEN"))
                 (substitute* "lib/stdio-impl.h"
                   (("^/\\* BSD stdio derived implementations")
                    (string-append "#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN\n"
                                   "# define _IO_IN_BACKUP 0x100\n"
                                   "#endif\n\n"
                                   "/* BSD stdio derived implementations")))
                 #t))))
    (build-system gnu-build-system)
    (home-page "https://www.gnu.org/software/gcal/")
    (synopsis "Calculating and printing a wide variety of calendars")
    (description
     "Gcal is a program to calculate and print calendars on the
command-line.  Calendars can be printed in 1-month, 3-month or whole-year
views.  In addition, eternal holiday lists can be generated for many
countries, which can be complemented by user-made lists of fixed dates to
make an agenda.  Gcal can also calculate astronomical data, such as the
phases of the moon, and supports alternative calendar formats: Julian,
Gregorian, Islamic, Chinese and more.")
    (license gpl3+)))
d>Ludovic Courtès * config-daemon.ac: Replace "ci.guix.info" with "ci.guix.gnu.org". * doc/guix.texi (SUBSTITUTE-SERVER): Likewise. * etc/substitutes/ci.guix.gnu.org.pub: New file. * Makefile.am (dist_pkgdata_DATA): Add it. * guix/scripts/build.scm (%default-log-urls): Update. * guix/scripts/substitute.scm (%default-substitute-urls): Likewise. * guix/store.scm (%default-substitute-urls): Likewise. * guix/self.scm (miscellaneous-files): Add "ci.guix.gnu.org". 2019-04-30Revert "maint: 'release' clears gettext-induced changes in doc/."Ludovic Courtès This reverts commit 24963c13075b07db0c4e6005df9cde3bb51b2e32. This change had become unnecessary since 9ca5ff882e2ac4eaab02eb0fde545bd784af478b. 2019-04-30build: 'assert-no-store-file-names' no longer depends on ChangeLog.Ludovic Courtès This reverts commit dfd248648f59af374bf2c74403f0e561464f6afe, which effectively disabled 'ChangeLog' generation. * Makefile.am (dist-hook): Depend on 'gen-ChangeLog', not '$(distdir)/ChangeLog'. (gen-ChangeLog): Remove dependency. Use "ChangeLog.tmp" as the temporary file name. (assert-no-store-file-names): Remove dependency. Exclude ChangeLog*. 2019-04-29guix package: Add 'guix search' alias.Ludovic Courtès * guix/scripts/search.scm: New file. * Makefile.am (MODULES): Add it. * po/guix/POTFILES.in: Add it. * tests/guix-package-aliases.sh: Add test. * doc/guix.texi (Invoking guix package): Document it and use it in a couple of examples. 2019-04-29guix package: Add 'install', 'remove', and 'upgrade' aliases.Ludovic Courtès * guix/scripts/install.scm, guix/scripts/remove.scm, guix/scripts/upgrade.scm, tests/guix-package-aliases.sh: New files. * Makefile.am (MODULES, SH_TESTS): Add them. * po/guix/POTFILES.in: Add them. * guix/scripts/package.scm (guix-package): Split with... (guix-package*): ... this. New procedure. * doc/guix.texi (Invoking guix package): Document them. (Binary Installation, Application Setup, Package Management) (Packages with Multiple Outputs, Package Modules) (X.509 Certificates, Installing Debugging Files): Use 'guix install' in simple examples. * etc/completion/bash/guix (_guix_complete): Handle "install", "remove", and "upgrade". 2019-04-27self: Rebuild translated manuals.Julien Lepiller * guix/self.scm (info-manual): Run po4a and related commands to generate translated texi files before building translated manuals. * guix/build/po.scm: New file. * Makefile.am (MODULES_NOT_COMPILED): Add it. 2019-04-27maint: Pass '--image-size=30G' to 'guix system vm-image'.Ludovic Courtès * Makefile.am (GUIX_SYSTEM_VM_IMAGE_FLAGS): New variable. (release): Use it. 2019-04-19maint: Build all the 'guix' packages in parallel.Ludovic Courtès Until now, the 'guix' package shipped in binary tarballs and system images would be built sequentially for each system type, one at a time. Now all of them can potentially be built in parallel. * Makefile.am (system_flags): New function. (release): Run "guix build guix" before "make binary-tarballs" and before "guix system disk-image" to build all the 'guix' packages in parallel. 2019-04-19maint: 'release' clears gettext-induced changes in doc/.Ludovic Courtès * Makefile.am (release): Run "git checkout ." in doc/ 2019-04-11Add (guix build-system linux-module).Danny Milosavljevic * guix/build/linux-module-build-system.scm: New file. * guix/build-system/linux-module.scm: New file. * doc/guix.texi (Build Systems): Document it. * Makefile.am (MODULES): Add them. 2019-04-10Add (guix store roots).Ludovic Courtès * guix/store/roots.scm, tests/store-roots.scm: New files. * Makefile.am (STORE_MODULES): Add guix/store/roots.scm. (SCM_TESTS): Add tests/store-roots.scm. 2019-04-10Add (guix colors).Ludovic Courtès * guix/colors.scm: New file. * Makefile.am (MODULES): Add it. * guix/ui.scm (color-table, color, colorize-string): Remove. * guix/status.scm (isatty?*, color-output? color-rules): Remove. 2019-04-03gnu: Add example system configuration for asus-c201.Timothy Sample * gnu/system/examples/asus-c201.tmpl: New file. * Makefile.am (EXAMPLES): Add it. Signed-off-by: Ludovic Courtès <ludo@gnu.org> 2019-04-03gnu: Add linux-libre-arm-veyron.Vagrant Cascadian * gnu/packages/linux (linux-libre-arm-veyron): New variable. (kernel-config-veyron): function to find veyron config. * gnu/packages/aux-files/linux-libre/5.0-arm-veyron.conf: New file. * Makefile.am (AUX_FILES): Adjust accordingly. Signed-off-by: Ludovic Courtès <ludo@gnu.org> 2019-03-23build: Add rakudo-build-system.Efraim Flashner * guix/build-system/rakudo.scm, guix/build/rakudo-build-system.scm: New files. * Makefile.am (MODULES): Add them. * doc/guix.texi (Build System): Document it. 2019-03-18import: Add Launchpad updater.Arun Isaac * guix/import/launchpad.scm: New file. * Makefile.am (MODULES): Register it. * doc/guix.texi (Invoking guix refresh): Mention the Launchpad updater. 2019-03-18Correct name and email address for ng0.ng0 * .mailmap, Makefile.am, doc/guix.de.texi, doc/guix.fr.texi, doc/guix.texi, etc/completion/fish/guix.fish, gnu/packages/accessibility.scm, gnu/packages/admin.scm, gnu/packages/audio.scm, gnu/packages/autotools.scm, gnu/packages/cdrom.scm, gnu/packages/check.scm, gnu/packages/cinnamon.scm, gnu/packages/compression.scm, gnu/packages/crypto.scm, gnu/packages/databases.scm, gnu/packages/django.scm, gnu/packages/dns.scm, gnu/packages/elixir.scm, gnu/packages/emacs-xyz.scm, gnu/packages/emacs.scm, gnu/packages/enlightenment.scm, gnu/packages/erlang.scm, gnu/packages/fonts.scm, gnu/packages/fontutils.scm, gnu/packages/forth.scm, gnu/packages/fvwm.scm, gnu/packages/games.scm, gnu/packages/gl.scm, gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm, gnu/packages/gnuzilla.scm, gnu/packages/gtk.scm, gnu/packages/guile-wm.scm,gnu/packages/guile-xyz.scm, gnu/packages/haskell-check.scm, gnu/packages/haskell-crypto.scm, gnu/packages/haskell.scm, gnu/packages/image-viewers.scm, gnu/packages/image.scm, gnu/packages/irc.scm, gnu/packages/language.scm, gnu/packages/libcanberra.scm, gnu/packages/linux.scm, gnu/packages/lisp.scm, gnu/packages/lolcode.scm, gnu/packages/lxde.scm, gnu/packages/lxqt.scm, gnu/packages/mail.scm, gnu/packages/markup.scm, gnu/packages/mate.scm, gnu/packages/maths.scm, gnu/packages/mc.scm, gnu/packages/messaging.scm, gnu/packages/music.scm, gnu/packages/ncurses.scm, gnu/packages/networking.scm, gnu/packages/nickle.scm, gnu/packages/openbox.scm, gnu/packages/pdf.scm, gnu/packages/perl-check.scm, gnu/packages/perl.scm, gnu/packages/python-compression.scm, gnu/packages/python-crypto.scm, gnu/packages/python-web.scm, gnu/packages/python-xyz.scm, gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/ruby.scm, gnu/packages/rust.scm, gnu/packages/scheme.scm, gnu/packages/serialization.scm, gnu/packages/shells.scm, gnu/packages/ssh.scm, gnu/packages/suckless.scm, gnu/packages/tbb.scm, gnu/packages/telephony.scm, gnu/packages/text-editors.scm, gnu/packages/textutils.scm, gnu/packages/time.scm, gnu/packages/tls.scm, gnu/packages/tor.scm, gnu/packages/version-control.scm, gnu/packages/video.scm, gnu/packages/vim.scm, gnu/packages/web.scm, gnu/packages/wm.scm, gnu/packages/xdisorg.scm, gnu/packages/xfce.scm, gnu/packages/xml.scm, gnu/packages/xorg.scm, gnu/services/certbot.scm, gnu/services/desktop.scm, gnu/services/version-control.scm, gnu/services/web.scm, guix/import/hackage.scm, guix/licenses.scm: Correct name and email address for ng0. Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr> 2019-03-13maint: Change Guix System file names from guixsd-*.Ludovic Courtès * Makefile.am (GUIXSD_SUPPORTED_SYSTEMS): Rename to... (GUIX_SYSTEM_SUPPORTED_SYSTEMS): ... this. (GUIXSD_VM_SYSTEMS): Rename to... (GUIX_SYSTEM_VM_SYSTEMS): ... this. (GUIXSD_IMAGE_BASE): Rename to... (GUIX_SYSTEM_IMAGE_BASE): ... this. Change "guixsd-" to "guix-system-". (GUIXSD_VM_IMAGE_BASE): Rename to... (GUIX_SYSTEM_VM_IMAGE_BASE): ... this. Change "guixsd-" to "guix-system-". (release): Adjust accordingly. * doc/guix.texi (USB Stick and DVD Installation) (Installing Guix in a VM, Invoking guix system) (Running Guix in a VM): Adjust file names accordingly. 2019-03-07Add (gnu build accounts).Ludovic Courtès * gnu/build/accounts.scm, tests/accounts.scm: New files. * Makefile.am (SCM_TESTS): Add tests/accounts.scm. * gnu/local.mk (GNU_SYSTEM_MODULES): Add build/accounts.scm. 2019-03-06gnu: linux-libre: Update to 5.0.Mark H Weaver * gnu/packages/linux.scm (%linux-libre-version): Update to 5.0. (%linux-libre-hash): Update hash. (%linux-libre-4.20-patches): Rename to ... (%linux-libre-5.0-patches): ... this. (linux-libre, linux-libre-arm-generic, linux-libre-arm-omap2plus): Use %linux-libre-5.0-patches instead of %linux-libre-4.20-patches. * gnu/packages/aux-files/linux-libre/4.20-arm.conf, gnu/packages/aux-files/linux-libre/4.20-arm64.conf, gnu/packages/aux-files/linux-libre/4.20-i686.conf, gnu/packages/aux-files/linux-libre/4.20-x86_64.conf: Delete files. * gnu/packages/aux-files/linux-libre/5.0-arm.conf, gnu/packages/aux-files/linux-libre/5.0-arm64.conf, gnu/packages/aux-files/linux-libre/5.0-i686.conf, gnu/packages/aux-files/linux-libre/5.0-x86_64.conf: New files. * Makefile.am (AUX_FILES): Adjust accordingly. 2019-03-01gnu: rust: Factor out "cargo-utils" from "cargo-build-system".Ivan Petkov * guix/build/cargo-utils.scm: New file. * Makefile.am (MODULES): Add it. * guix/build-system/cargo.scm (%cargo-utils-modules): New variable. (%cargo-build-system-modules): Use it. * guix/build/cargo-build-system.scm (file-sha256, generate-checksums): Move from here... * guix/build/cargo-utils.scm: ...to here. * gnu/packages/rust.scm (rust-1.19.0)[arguments]<#:imported-modules>: Use %cargo-utils-modules. <#:phases>[patch-cargo-checksums]: Use (guix build cargo-utils). * gnu/packages/gnuzilla.scm (icecat): [arguments]<#:imported-modules>: Use %cargo-utils-modules. <#phases>[patch-cargo-checksums]: import (guix build cargo-utils). Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org> 2019-02-21Add missing aux-file in Makefile.Jonathan Brielmaier Fixes installation of ungoogled-chromium on foreign distros. This is a followup to commit f1e9de4d3aefae420db633a56ba9cd93f7750df3. * Makefile.am (AUX_FILES): Add missing gnu/packages/aux-files/chromium/master-preferences.json entry. Signed-off-by: Leo Famulari <leo@famulari.name> 2019-02-07build: clean-go: Do not warn about *.go files in "test-tmp".Eric Bavier * Makefile.am (clean-go): Ignore "test-tmp" directory. 2019-01-10Add (guix deprecation).Ludovic Courtès * guix/deprecation.scm: New file. * Makefile.am (MODULES): Add it. * po/guix/POTFILES.in: Add it. 2019-01-07Remove (guix build pull).Ludovic Courtès This module had been unused since commit 5f93d97005897c2d859f0be1bdff34c88467ec61 (Oct. 2017). * guix/build/pull.scm: Delete. * Makefile.am (MODULES): Remove. 2019-01-01gnu: linux-libre: Update to 4.20, while retaining 4.19 LTS.Mark H Weaver * gnu/packages/linux.scm (%linux-libre-version): Update to 4.20. (%linux-libre-hash): Update hash. (%linux-libre-4.20-patches): New variable. (linux-libre): Use %linux-libre-4.20-patches. (%linux-libre-4.19-version, %linux-libre-4.19-hash) (%linux-libre-4.19-patches, linux-libre-4.19): New variables. (linux-libre-arm-generic, linux-libre-arm-omap2plus): Use %linux-libre-4.20-patches. (linux-libre-arm-generic-4.19, linux-libre-arm-omap2plus-4.19): New variables. * gnu/packages/aux-files/linux-libre/4.20-arm.conf, gnu/packages/aux-files/linux-libre/4.20-arm64.conf, gnu/packages/aux-files/linux-libre/4.20-i686.conf, gnu/packages/aux-files/linux-libre/4.20-x86_64.conf: New files. * Makefile.am (AUX_FILES): Add them. 2018-12-18build: Add dune-build-system.Julien Lepiller * guix/build/dune-build-system.scm, guix/build-system/dune.scm: New files. * Makefile.am (MODULES): Add them. * doc/guix.texi (Build Systems): Document dune-build-system. * guix/build-system/ocaml.scm (lower, default-findlib, default-ocaml): Export them. (package-with-explicit-ocaml): Also transform packages built with dune-build-system. 2018-12-09guix: Add support for channel dependencies.Ricardo Wurmus * guix/channels.scm (<channel-metadata>): New record. (read-channel-metadata, channel-instance-dependencies): New procedures. (latest-channel-instances): Include channel dependencies; add optional argument PREVIOUS-CHANNELS. (channel-instance-derivations): Build derivation for additional channels and add it as dependency to the channel instance derivation. * doc/guix.texi (Channels): Add subsection "Declaring Channel Dependencies". * tests/channels.scm: New file. * Makefile.am (SCM_TESTS): Add it. 2018-12-04Remove most references to hydra.gnu.org.Ludovic Courtès * Makefile.am (assert-binaries-available): Don't mention hydra.gnu.org in comment. * build-aux/check-available-binaries.scm: Likewise. * build-aux/check-final-inputs-self-contained.scm: Likewise. * doc/guix.texi (SUBSTITUTE-SERVER): New variable. Use it throughout instead of "mirror.hydra.gnu.org". * doc/contributing.texi (Submitting Patches): Likewise. * gnu/services/base.scm (hydra-key-authorization) (guix-activation): Remove mentions of "hydra.gnu.org" in comments and messages. * gnu/system/install.scm (%installation-services): Likewise. * guix/scripts/size.scm (guix-size): Likewise. 2018-12-04etc: Add "ci.guix.info.pub" public key file.Ludovic Courtès * etc/substitutes/ci.guix.info.pub: New file. * Makefile.am (dist_pkgdata_DATA): Add it. * guix/self.scm (miscellaneous-files): Add "share/guix/ci.guix.info.pub". 2018-12-02Make Guile-JSON a required dependency.Eric Bavier * README (Requirements): Remove "optional" verbiage. * doc/guix.texi (Requirements): Move Guile-JSON from optional to required. * configure.ac (HAVE_GUILE_JSON): Remove Automake conditional. (have_guile_json): Error if not "yes". * Makefile.am (MODULE, SCM_TESTS)[HAVE_GUILE_JSON]: Add modules and tests unconditionally. * gnu/packages/package-mangement.scm (guix-minimal)[propagated-inputs]: Leave guile-json input. 2018-11-30guix build: Add '--with-branch' transformation option.Ludovic Courtès * guix/scripts/build.scm (evaluate-git-replacement-specs) (transform-package-source-branch): New procedures. (%transformations, %transformation-options): Add 'with-branch'. (show-transformation-options-help): Likewise. * tests/guix-build-branch.sh: New file. * Makefile.am (SH_TESTS): Add it. * doc/guix.texi (Package Transformation Options): Document it. 2018-11-28nls: Update documentation po and pot with `make dist`.Julien Lepiller * Makefile.am: dist-hook depends on doc-po-update. * po/doc/local.mk (doc-po-update): New target. 2018-11-26Add (guix swh).Ludovic Courtès * guix/swh.scm: New file. * Makefile.am (MODULES): Add it. 2018-11-23build: Binary tarball now populates the "current-guix" profile.Ludovic Courtès * Makefile.am (guix-binary.%.tar.xz): Pass '--profile-name=current-guix'. Remove glibc and glibc-utf8-locales. * doc/guix.texi (Binary Installation): Update accordingly. * etc/guix-install.sh * etc/guix-install.sh (sys_create_store, sys_enable_guix_daemon) (sys_authorize_build_farms): Likewise. * etc/guix-publish.conf.in, etc/guix-publish.service.in, etc/guix-daemon.conf.in, etc/guix-daemon.service.in: Update file names accordingly. 2018-11-23pack: Add '--profile-name'.Ludovic Courtès * guix/scripts/pack.scm (self-contained-tarball): Add #:profile-name and honor it. (squashfs-image, docker-image): Add #:profile-name. (%default-options): Add 'profile-name'. (%options, show-help): Add "--profile-name". (guix-pack): Honor it. * tests/guix-pack-localstatedir.sh: New file. * Makefile.am (SH_TESTS): Add it. * doc/guix.texi (Invoking guix pack): Document "--profile-name". 2018-11-21build: Add missing Clojure modules to the distribution.Ludovic Courtès * Makefile.am (MODULES): Add guix/build-system/clojure.scm and guix/build/clojure-build-system.scm 2018-11-19guix: Add clojure-utils.Alex Vong * guix/build/clojure-utils.scm: New file. * gnu/packages/lisp.scm (clojure)[arguments]: Use it. * Makefile.am (MODULES): Add it. 2018-11-06pack: Add test for '--relocatable'.Ludovic Courtès * tests/guix-pack-relocatable.sh: New file. * Makefile.am (SH_TESTS): Add it. 2018-11-06maint: Move substitute public keys to etc/substitutes.Ludovic Courtès * berlin.guixsd.org.pub, hydra.gnu.org.pub: Move to... * etc/substitutes: ... here. New directory. * Makefile.am (dist_pkgdata_DATA): Adjust accordingly. 2018-10-29Add 'guix processes'.Ludovic Courtès * guix/scripts/processes.scm, tests/processes.scm: New files. * Makefile.am (MODULES): Add the former. (SCM_TESTS): Add the latter. * po/guix/POTFILES.in: Add guix/scripts/processes.scm. * doc/guix.texi (Invoking guix processes): New node. (Invoking guix-daemon): Reference it. 2018-10-23gnu: linux-libre: Update to 4.19.Mark H Weaver * gnu/packages/linux.scm (%linux-libre-version): Update to 4.19. (%linux-libre-hash): Update hash. (%linux-libre-4.18-patches): Rename to ... (%linux-libre-4.19-patches): ... this, and remove a patch that is no longer needed. (linux-libre, linux-libre-arm-generic, linux-libre-arm-omap2plus): Use %linux-libre-4.19-patches instead of %linux-libre-4.18-patches. * gnu/packages/aux-files/linux-libre/4.18-arm.conf, gnu/packages/aux-files/linux-libre/4.18-arm64.conf, gnu/packages/aux-files/linux-libre/4.18-i686.conf, gnu/packages/aux-files/linux-libre/4.18-x86_64.conf: Remove files. * gnu/packages/aux-files/linux-libre/4.19-arm.conf, gnu/packages/aux-files/linux-libre/4.19-arm64.conf, gnu/packages/aux-files/linux-libre/4.19-i686.conf, gnu/packages/aux-files/linux-libre/4.19-x86_64.conf: New files. * Makefile.am (AUX_FILES): Adjust accordingly.