aboutsummaryrefslogtreecommitdiff
path: root/src/hydrilla/pattern_tree.py
blob: e71f8d01710f7cf9e55b177d563162d0ebbed9ff (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
# SPDX-License-Identifier: GPL-3.0-or-later

# Data structure for querying URL patterns.
#
# This file is part of Hydrilla&Haketilo.
#
# Copyright (C) 2021, 2022 Wojtek Kosior
#
# This program 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.
#
# This program 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 this program.  If not, see <https://www.gnu.org/licenses/>.
#
#
# I, Wojtek Kosior, thereby promise not to sue for violation of this
# file's license. Although I request that you do not make use this code
# in a proprietary program, I am not going to enforce this in court.

"""
This module defines data structures for querying data using URL patterns.
"""

# Enable using with Python 3.7.
from __future__ import annotations

import typing as t
import dataclasses as dc

from immutables import Map

from .url_patterns import ParsedPattern, ParsedUrl, parse_url#, catchall_pattern
from .translations import smart_gettext as _


WrapperStoredType = t.TypeVar('WrapperStoredType', bound=t.Hashable)

@dc.dataclass(frozen=True, unsafe_hash=True, order=True)
class StoredTreeItem(t.Generic[WrapperStoredType]):
    """
    In the Pattern Tree, each item is stored together with the pattern used to
    register it.
    """
    item:    WrapperStoredType
    pattern: ParsedPattern


NodeStoredType = t.TypeVar('NodeStoredType')

@dc.dataclass(frozen=True)
class PatternTreeNode(t.Generic[NodeStoredType]):
    """...."""
    SelfType = t.TypeVar('SelfType', bound='PatternTreeNode[NodeStoredType]')

    ChildrenType = Map[str, SelfType]

    children:      'ChildrenType'             = Map()
    literal_match: t.Optional[NodeStoredType] = None

    def is_empty(self) -> bool:
        """...."""
        return len(self.children) == 0 and self.literal_match is None

    def update_literal_match(
            self:           'SelfType',
            new_match_item: t.Optional[NodeStoredType]
    ) -> 'SelfType':
        """...."""
        return dc.replace(self, literal_match=new_match_item)

    def get_child(self: 'SelfType', child_key: str) -> t.Optional['SelfType']:
        """...."""
        return self.children.get(child_key)

    def remove_child(self: 'SelfType', child_key: str) -> 'SelfType':
        """...."""
        try:
            children = self.children.delete(child_key)
        except:
            children = self.children

        return dc.replace(self, children=children)

    def set_child(self: 'SelfType', child_key: str, child: 'SelfType') \
        -> 'SelfType':
        """...."""
        return dc.replace(self, children=self.children.set(child_key, child))


BranchStoredType = t.TypeVar('BranchStoredType')

BranchItemUpdater = t.Callable[
    [t.Optional[BranchStoredType]],
    t.Optional[BranchStoredType]
]

@dc.dataclass(frozen=True)
class PatternTreeBranch(t.Generic[BranchStoredType]):
    """...."""
    SelfType = t.TypeVar(
        'SelfType',
        bound = 'PatternTreeBranch[BranchStoredType]'
    )

    root_node: PatternTreeNode[BranchStoredType] = PatternTreeNode()

    def is_empty(self) -> bool:
        """...."""
        return self.root_node.is_empty()

    def update(
            self:         'SelfType',
            segments:     t.Iterable[str],
            item_updater: BranchItemUpdater
    ) -> 'SelfType':
        """
        .......
        """
        node = self.root_node
        nodes_segments = []

        for segment in segments:
            next_node = node.get_child(segment)

            nodes_segments.append((node, segment))

            node = PatternTreeNode() if next_node is None else next_node

        node = node.update_literal_match(item_updater(node.literal_match))

        while nodes_segments:
            prev_node, segment = nodes_segments.pop()

            if node.is_empty():
                node = prev_node.remove_child(segment)
            else:
                node = prev_node.set_child(segment, node)

        return dc.replace(self, root_node=node)

    def search(self, segments: t.Sequence[str]) -> t.Iterable[BranchStoredType]:
        """
        Yields all matches of this segments sequence against the tree. Results
        are produced in order from greatest to lowest pattern specificity.
        """
        nodes = [self.root_node]

        for segment in segments:
            next_node = nodes[-1].get_child(segment)
            if next_node is None:
                break

            nodes.append(next_node)

        nsegments = len(segments)
        cond_literal = lambda: len(nodes) == nsegments
        cond_wildcard = [
            lambda: len(nodes) + 1 == nsegments and segments[-1] != '*',
            lambda: len(nodes) + 1 <  nsegments,
            lambda: len(nodes) + 1 != nsegments or  segments[-1] != '***'
        ]

        while nodes:
            node = nodes.pop()

            wildcard_matches = [node.get_child(wc) for wc in ('*', '**', '***')]

            for match_node, condition in [
                    (node, cond_literal),
                    *zip(wildcard_matches, cond_wildcard)
            ]:
                if match_node is not None:
                    if match_node.literal_match is not None:
                        if condition():
                            yield match_node.literal_match


FilterStoredType  = t.TypeVar('FilterStoredType', bound=t.Hashable)
FilterWrappedType = StoredTreeItem[FilterStoredType]

def filter_by_trailing_slash(
        items: t.Iterable[FilterWrappedType],
        with_slash: bool
) -> frozenset[FilterWrappedType]:
    """...."""
    return frozenset(wrapped for wrapped in items
                     if with_slash == wrapped.pattern.has_trailing_slash)

TreeStoredType = t.TypeVar('TreeStoredType', bound=t.Hashable)

StoredSet      = frozenset[StoredTreeItem[TreeStoredType]]
PathBranch     = PatternTreeBranch[StoredSet]
DomainBranch   = PatternTreeBranch[PathBranch]
TreeRoot       = Map[tuple[str, int], DomainBranch]

@dc.dataclass(frozen=True)
class PatternTree(t.Generic[TreeStoredType]):
    """
    "Pattern Tree" is how we refer to the data structure used for querying
    Haketilo patterns. Those look like 'https://*.example.com/ab/***'. The goal
    is to make it possible to quickly retrieve all known patterns that match
    a given URL.
    """
    SelfType = t.TypeVar('SelfType', bound='PatternTree[TreeStoredType]')

    _by_scheme_and_port: TreeRoot                   = Map()

    def _register(
            self:           'SelfType',
            parsed_pattern: ParsedPattern,
            item:           TreeStoredType,
            register:       bool = True
    ) -> 'SelfType':
        """
        Make an item wrapped in StoredTreeItem object queryable through the
        Pattern Tree by the given parsed URL pattern.
        """
        wrapped_item = StoredTreeItem(item, parsed_pattern)

        def item_updater(item_set: t.Optional[StoredSet]) \
            -> t.Optional[StoredSet]:
            """...."""
            if item_set is None:
                item_set = frozenset()

            if register:
                item_set = item_set.union((wrapped_item,))
            else:
                item_set = item_set.difference((wrapped_item,))

            return None if len(item_set) == 0 else item_set

        def path_branch_updater(path_branch: t.Optional[PathBranch]) \
            -> t.Optional[PathBranch]:
            """...."""
            if path_branch is None:
                path_branch = PatternTreeBranch()

            path_branch = path_branch.update(
                parsed_pattern.path_segments,
                item_updater
            )

            return None if path_branch.is_empty() else path_branch

        key         = (parsed_pattern.scheme, parsed_pattern.port)
        domain_tree = self._by_scheme_and_port.get(key, PatternTreeBranch())

        new_domain_tree = domain_tree.update(
            parsed_pattern.domain_labels,
            path_branch_updater
        )

        if new_domain_tree.is_empty():
            try:
                new_root = self._by_scheme_and_port.delete(key)
            except KeyError:
                new_root = self._by_scheme_and_port
        else:
            new_root = self._by_scheme_and_port.set(key, new_domain_tree)

        return dc.replace(self, _by_scheme_and_port=new_root)

    def register(
            self:           'SelfType',
            parsed_pattern: ParsedPattern,
            item:           TreeStoredType
    ) -> 'SelfType':
        """
        Make item queryable through the Pattern Tree by the given URL pattern.
        """
        return self._register(parsed_pattern, item)

    def deregister(
            self:           'SelfType',
            parsed_pattern: ParsedPattern,
            item:           TreeStoredType
    ) -> 'SelfType':
        """
        Make item no longer queryable through the Pattern Tree by the given URL
        pattern.
        """
        return self._register(parsed_pattern, item, register=False)

    def search(self, url: t.Union[ParsedUrl, str]) -> t.Iterable[StoredSet]:
        """
        ....
        """
        parsed_url = parse_url(url) if isinstance(url, str) else url

        key = (parsed_url.scheme, parsed_url.port)
        domain_tree = self._by_scheme_and_port.get(key)
        if domain_tree is None:
            return

        if parsed_url.has_trailing_slash:
            slash_options = [True, False]
        else:
            slash_options = [False]

        for path_tree in domain_tree.search(parsed_url.domain_labels):
            for item_set in path_tree.search(parsed_url.path_segments):
                for with_slash in slash_options:
                    items = filter_by_trailing_slash(item_set, with_slash)
                    if len(items) > 0:
                        yield items
='none' style='width: 97.4%;'/> -rw-r--r--gnu/packages/patches/lcalc-default-parameters-1.patch26
-rw-r--r--gnu/packages/patches/lcalc-default-parameters-2.patch58
-rw-r--r--gnu/packages/patches/lcalc-lcommon-h.patch13
-rw-r--r--gnu/packages/patches/lcalc-using-namespace-std.patch43
-rw-r--r--gnu/packages/patches/leela-zero-gtest.patch40
-rw-r--r--gnu/packages/patches/lrcalc-includes.patch92
-rw-r--r--gnu/packages/patches/python-pyatspi-python-37.patch82
-rw-r--r--gnu/packages/pdf.scm4
-rw-r--r--gnu/packages/perl.scm60
-rw-r--r--gnu/packages/python-check.scm135
-rw-r--r--gnu/packages/python-compression.scm33
-rw-r--r--gnu/packages/python-crypto.scm5
-rw-r--r--gnu/packages/python-xyz.scm299
-rw-r--r--gnu/packages/sagemath.scm123
-rw-r--r--gnu/packages/sawfish.scm34
-rw-r--r--gnu/packages/sync.scm18
-rw-r--r--gnu/packages/tcl.scm42
-rw-r--r--gnu/packages/text-editors.scm49
-rw-r--r--gnu/packages/video.scm4
-rw-r--r--gnu/packages/virtualization.scm48
-rw-r--r--gnu/packages/web.scm10
-rw-r--r--gnu/packages/wine.scm6
-rw-r--r--gnu/packages/xdisorg.scm7
-rw-r--r--gnu/packages/xfce.scm4
-rw-r--r--gnu/packages/xorg.scm21
-rw-r--r--gnu/services/networking.scm18
-rw-r--r--gnu/system/linux-initrd.scm7
-rw-r--r--gnu/tests/base.scm4
-rw-r--r--gnu/tests/install.scm1
76 files changed, 2922 insertions, 592 deletions
diff --git a/gnu/build/accounts.scm b/gnu/build/accounts.scm
index b90149565f..5094456ab1 100644
--- a/gnu/build/accounts.scm
+++ b/gnu/build/accounts.scm
@@ -19,7 +19,6 @@
(define-module (gnu build accounts)
#:use-module (guix records)
#:use-module (guix combinators)
- #:use-module ((guix build syscalls) #:select (fdatasync))
#:use-module (gnu system accounts)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-11)
@@ -231,14 +230,6 @@ each field."
;; grab this lock with 'with-file-lock' when they access the databases.
"/etc/.pwd.lock")
-(define-syntax-rule (catch-ENOSYS exp)
- (catch 'system-error
- (lambda () exp)
- (lambda args
- (if (= ENOSYS (system-error-errno args))
- #f
- (apply throw args)))))
-
(define (database-writer file mode entry->string)
(lambda* (entries #:optional (file-or-port file))
"Write ENTRIES to FILE-OR-PORT. When FILE-OR-PORT is a file name, write
@@ -259,10 +250,7 @@ to it atomically and set the appropriate permissions."
(chmod port mode)
(write-entries port)
- ;; XXX: When booting with the statically-linked Guile,
- ;; 'fdatasync' is unavailable.
- (catch-ENOSYS (fdatasync port))
-
+ (fsync port)
(close-port port)
(rename-file template file-or-port))
(lambda ()
diff --git a/gnu/build/linux-container.scm b/gnu/build/linux-container.scm
index 3d7b52f098..e86ac606c0 100644
--- a/gnu/build/linux-container.scm
+++ b/gnu/build/linux-container.scm
@@ -22,7 +22,6 @@
#:use-module (ice-9 match)
#:use-module (ice-9 rdelim)
#:use-module (srfi srfi-98)
- #:use-module (guix utils)
#:use-module (guix build utils)
#:use-module (guix build syscalls)
#:use-module (gnu system file-systems) ;<file-system>
@@ -279,6 +278,21 @@ that host UIDs (respectively GIDs) map to in the namespace."
(_ ;unexpected termination
#f)))))))))
+;; FIXME: This is copied from (guix utils), which we cannot use because it
+;; would pull (guix config) and all.
+(define (call-with-temporary-directory proc)
+ "Call PROC with a name of a temporary directory; close the directory and
+delete it when leaving the dynamic extent of this call."
+ (let* ((directory (or (getenv "TMPDIR") "/tmp"))
+ (template (string-append directory "/guix-directory.XXXXXX"))
+ (tmp-dir (mkdtemp! template)))
+ (dynamic-wind
+ (const #t)
+ (lambda ()
+ (proc tmp-dir))
+ (lambda ()
+ (false-if-exception (delete-file-recursively tmp-dir))))))
+
(define* (call-with-container mounts thunk #:key (namespaces %namespaces)
(host-uids 1) (guest-uid 0) (guest-gid 0))
"Run THUNK in a new container process and return its exit status.
diff --git a/gnu/local.mk b/gnu/local.mk
index d375b8cd1d..f90d0cf402 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -20,6 +20,7 @@
# Copyright © 2018, 2019 Oleg Pykhalov <go.wigust@gmail.com>
# Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com>
# Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+# Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
#
# This file is part of GNU Guix.
#
@@ -195,6 +196,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/gcc.scm \
%D%/packages/gd.scm \
%D%/packages/gdb.scm \
+ %D%/packages/genealogy.scm \
%D%/packages/genimage.scm \
%D%/packages/geo.scm \
%D%/packages/gettext.scm \
@@ -956,7 +958,6 @@ dist_patch_DATA = \
%D%/packages/patches/java-xerces-xjavac_taskdef.patch \
%D%/packages/patches/jbig2dec-ignore-testtest.patch \
%D%/packages/patches/kdbusaddons-kinit-file-name.patch \
- %D%/packages/patches/khmer-use-libraries.patch \
%D%/packages/patches/libziparchive-add-includes.patch \
%D%/packages/patches/localed-xorg-keyboard.patch \
%D%/packages/patches/kiki-level-selection-crash.patch \
@@ -978,9 +979,14 @@ dist_patch_DATA = \
%D%/packages/patches/kodi-set-libcurl-ssl-parameters.patch \
%D%/packages/patches/kodi-skip-test-449.patch \
%D%/packages/patches/laby-make-install.patch \
+ %D%/packages/patches/lcalc-default-parameters-1.patch \
+ %D%/packages/patches/lcalc-default-parameters-2.patch \
+ %D%/packages/patches/lcalc-lcommon-h.patch \
+ %D%/packages/patches/lcalc-using-namespace-std.patch \
%D%/packages/patches/lcms-CVE-2018-16435.patch \
%D%/packages/patches/ldc-bootstrap-disable-tests.patch \
%D%/packages/patches/ldc-disable-phobos-tests.patch \
+ %D%/packages/patches/leela-zero-gtest.patch \
%D%/packages/patches/liba52-enable-pic.patch \
%D%/packages/patches/liba52-link-with-libm.patch \
%D%/packages/patches/liba52-set-soname.patch \
@@ -1040,6 +1046,7 @@ dist_patch_DATA = \
%D%/packages/patches/llvm-3.5-fix-clang-build-with-gcc5.patch \
%D%/packages/patches/llvm-for-extempore.patch \
%D%/packages/patches/lm-sensors-hwmon-attrs.patch \
+ %D%/packages/patches/lrcalc-includes.patch \
%D%/packages/patches/lrzip-CVE-2017-8842.patch \
%D%/packages/patches/lua-CVE-2014-5461.patch \
%D%/packages/patches/lua-pkgconfig.patch \
@@ -1208,6 +1215,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-mox3-python3.6-compat.patch \
%D%/packages/patches/python-testtools.patch \
%D%/packages/patches/python-paste-remove-timing-test.patch \
+ %D%/packages/patches/python-pyatspi-python-37.patch \
%D%/packages/patches/python-pycrypto-CVE-2013-7459.patch \
%D%/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \
%D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch \
diff --git a/gnu/packages.scm b/gnu/packages.scm
index 2d7622d397..47e4f473b5 100644
--- a/gnu/packages.scm
+++ b/gnu/packages.scm
@@ -515,14 +515,18 @@ optionally contain a version number and an output name, as in these examples:
guile@2.0.9:debug
If SPEC does not specify a version number, return the preferred newest
-version; if SPEC does not specify an output, return OUTPUT."
+version; if SPEC does not specify an output, return OUTPUT.
+
+When OUTPUT is false and SPEC does not specify any output, return #f as the
+output."
(let-values (((name version sub-drv)
(package-specification->name+version+output spec output)))
(match (%find-package spec name version)
(#f
(values #f #f))
(package
- (if (member sub-drv (package-outputs package))
+ (if (or (and (not output) (not sub-drv))
+ (member sub-drv (package-outputs package)))
(values package sub-drv)
(leave (G_ "package `~a' lacks output `~a'~%")
(package-full-name package)
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index c6ed4c6d4a..3d8c247f57 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -2251,7 +2251,7 @@ produce uniform output across heterogeneous networks.")
(define-public cbatticon
(package
(name "cbatticon")
- (version "1.6.8")
+ (version "1.6.9")
(source
(origin
(method git-fetch)
@@ -2259,7 +2259,7 @@ produce uniform output across heterogeneous networks.")
(url "https://github.com/valr/cbatticon.git")
(commit version)))
(sha256
- (base32 "16g26vin1693dbdr9qsnw36fdchx394lp79gvp7gcbw0w1ny9av6"))
+ (base32 "0kw09d678sd3m18fmi4380sl4a2m5lkfmq0kps16cdmq7z80rvaf"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 561347ad98..95189401f7 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -1333,47 +1333,6 @@ multiplication algorithm.")
(license license:gpl2+)
(home-page "https://bitbucket.org/malb/m4ri/")))
-(define-public ratpoints
- (package
- (name "ratpoints")
- (version "2.1.3")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "http://www.mathe2.uni-bayreuth.de/stoll/programs/"
- "ratpoints-" version ".tar.gz"))
- (sha256
- (base32
- "0zhad84sfds7izyksbqjmwpfw4rvyqk63yzdjd3ysd32zss5bgf4"))
- (patches
- ;; Taken from
- ;; <https://git.sagemath.org/sage.git/plain/build/pkgs/ratpoints/patches/>
- (search-patches "ratpoints-sturm_and_rp_private.patch"))))
- (build-system gnu-build-system)
- (arguments
- `(#:test-target "test"
- #:make-flags
- (list (string-append "INSTALL_DIR=" (assoc-ref %outputs "out")))
- #:phases
- (modify-phases %standard-phases
- (delete 'configure) ;no configure script
- (add-before 'install 'create-install-directories
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (mkdir-p out)
- (with-directory-excursion out
- (for-each (lambda (d) (mkdir-p d))
- '("bin" "include" "lib"))))
- #t)))))
- (inputs
- `(("gmp" ,gmp)))
- (home-page "http://www.mathe2.uni-bayreuth.de/stoll/programs/")
- (synopsis "Find rational points on hyperelliptic curves")
- (description "Ratpoints tries to find all rational points within
-a given height bound on a hyperelliptic curve in a very efficient way,
-by using an optimized quadratic sieve algorithm.")
- (license license:gpl2+)))
-
(define-public symmetrica
(package
(name "symmetrica")
@@ -1400,7 +1359,7 @@ by using an optimized quadratic sieve algorithm.")
(add-after 'unpack 'fix-makefile
(lambda _
(substitute* "makefile"
- (("cc -c") "gcc -c"))
+ (("cc -c") "gcc -c -fPIC"))
#t))
(add-after 'fix-makefile 'turn-off-banner
(lambda _
@@ -1503,7 +1462,8 @@ John Cremona to compute his elliptic curve database.")
(file-name (git-file-name name version))
(sha256
(base32
- "1c12d04jdyxkkav4ak8d1aqrv594gzihwhpxvc6p9js0ry1fahss"))))
+ "1c12d04jdyxkkav4ak8d1aqrv594gzihwhpxvc6p9js0ry1fahss"))
+ (patches (search-patches "lrcalc-includes.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
@@ -1547,6 +1507,7 @@ structure constants of Schubert polynomials.")
(arguments
`(#:configure-flags
(list
+ "--enable-shared"
(string-append "--with-gmp-include="
(assoc-ref %build-inputs "gmp") "/include")
(string-append "--with-gmp-lib="
diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm
index 8ab5377537..3c7ef447f3 100644
--- a/gnu/packages/android.scm
+++ b/gnu/packages/android.scm
@@ -8,6 +8,7 @@
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -90,6 +91,17 @@ use their packages mostly unmodified in our Android NDK build system.")
(define-public android-googletest
(package (inherit googletest)
(name "android-googletest")
+ (version "1.8.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/google/googletest.git")
+ (commit (string-append "release-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0bjlljmbf8glnd9qjabx73w6pd7ibv43yiyngqvmvgxsabzr8399"))))
(arguments
`(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")
#:phases
diff --git a/gnu/packages/apl.scm b/gnu/packages/apl.scm
index 88150dc4d0..badec04333 100644
--- a/gnu/packages/apl.scm
+++ b/gnu/packages/apl.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -25,25 +25,27 @@
#:use-module (guix build-system gnu)
#:use-module (gnu packages gettext)
#:use-module (gnu packages maths)
+ #:use-module (gnu packages pcre)
#:use-module (gnu packages readline)
#:use-module (gnu packages sqlite))
(define-public apl
(package
(name "apl")
- (version "1.7")
+ (version "1.8")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/apl/apl-" version ".tar.gz"))
(sha256
(base32
- "07xq8ddlmz8psvsmwr23gar108ri0lwmw0n6kpxcv8ypas1f5xlg"))))
+ "1jxvv2h3y1am1fw6r5sn3say1n0dj8shmscbybl0qhqdia2lqkql"))))
(build-system gnu-build-system)
(home-page "https://www.gnu.org/software/apl/")
(inputs
`(("gettext" ,gettext-minimal)
("lapack" ,lapack)
+ ("pcre" ,pcre2)
("sqlite" ,sqlite)
("readline" ,readline)))
(arguments
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 9ddb9e1d52..81c7481e0b 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2019 by Amar Singh <nly@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -22,17 +23,27 @@
#:use-module (guix packages)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (gnu packages autotools)
#:use-module (gnu packages image)
#:use-module (gnu packages compression)
#:use-module (gnu packages gettext)
+ #:use-module (gnu packages version-control)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages xiph)
+ #:use-module (gnu packages pretty-print)
+ #:use-module (gnu packages algebra)
+ #:use-module (gnu packages lua)
#:use-module (gnu packages perl)
#:use-module (gnu packages gl)
#:use-module (gnu packages qt)
+ #:use-module (gnu packages gtk)
+ #:use-module (gnu packages gnome)
#:use-module (gnu packages maths)
#:use-module (guix build-system cmake)
- #:use-module (guix build-system gnu))
+ #:use-module (guix build-system gnu)
+ #:use-module (srfi srfi-1))
(define-public cfitsio
(package
@@ -133,15 +144,15 @@ programs for the manipulation and analysis of astronomical data.")
(define-public stellarium
(package
(name "stellarium")
- (version "0.19.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/Stellarium/" name
- "/releases/download/v" version
- "/" name "-" version ".tar.gz"))
- (sha256
- (base32
- "1mjjqcpgm5a1022x0mpqj3v6qkvpm9wqm1hqyg0mlypc5681va8a"))))
+ (version "0.19.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/Stellarium/stellarium"
+ "/releases/download/v" version
+ "/stellarium-" version ".tar.gz"))
+ (sha256
+ (base32 "0s7v5iyhah258k83kvy2a91a3mdf34r150lcar4mmdsrrcmas98g"))))
(build-system cmake-build-system)
(inputs
`(("qtbase" ,qtbase)
@@ -151,9 +162,9 @@ programs for the manipulation and analysis of astronomical data.")
("qtserialport" ,qtserialport)
("zlib" ,zlib)))
(native-inputs
- `(("gettext" ,gettext-minimal) ; xgettext is used at compile time
- ("perl" ,perl) ; For pod2man
- ("qtbase" ,qtbase) ; Qt MOC is needed at compile time
+ `(("gettext" ,gettext-minimal) ; xgettext is used at compile time
+ ("perl" ,perl) ; For pod2man
+ ("qtbase" ,qtbase) ; Qt MOC is needed at compile time
("qttools" ,qttools)))
(arguments
`(#:test-target "test"
@@ -176,3 +187,65 @@ programs for the manipulation and analysis of astronomical data.")
can be used to control telescopes over a serial port for tracking celestial
objects.")
(license license:gpl2+)))
+
+(define-public celestia
+ (let ((commit "9dbdf29c4ac3d20afb2d9a80d3dff241ecf81dce"))
+ (package
+ (name "celestia")
+ (version (git-version "1.6.1" "815" commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/celestiaproject/celestia")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "00xibg87l1arzifakgj7s828x9pszcgx7x7ij88a561ig49ryh78"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ `(("perl" ,perl)
+ ("libgit2" ,libgit2)
+ ("pkg-config" ,pkg-config)
+ ("libtool" ,libtool)
+ ("gettext" ,gettext-minimal)))
+ (inputs
+ `(("glu" ,glu)
+ ("glew" ,glew)
+ ("libtheora" ,libtheora)
+ ("libjpeg" ,libjpeg)
+ ("libpng" ,libpng)
+ ;; maybe required?
+ ("mesa" ,mesa)
+ ;; optional: fmtlib, Eigen3;
+ ("fmt" ,fmt)
+ ("eigen" ,eigen)
+ ;; glut: for glut interface
+ ("freeglut" ,freeglut)))
+ (propagated-inputs
+ `(("lua" ,lua)))
+ (arguments
+ `(#:configure-flags '("-DENABLE_GLUT=ON" "-DENABLE_QT=OFF")
+ #:tests? #f)) ;no tests
+ (home-page "https://celestia.space/")
+ (synopsis "Real-time 3D visualization of space")
+ (description
+ "This simulation program lets you explore our universe in three
+dimensions. Celestia simulates many different types of celestial objects.
+From planets and moons to star clusters and galaxies, you can visit every
+object in the expandable database and view it from any point in space and
+time. The position and movement of solar system objects is calculated
+accurately in real time at any rate desired.")
+ (license license:gpl2+))))
+
+(define-public celestia-gtk
+ (package
+ (inherit celestia)
+ (name "celestia-gtk")
+ (inputs
+ (append (alist-delete "freeglut" (package-inputs celestia))
+ `(("gtk2" ,gtk+-2)
+ ("gtkglext" ,gtkglext))))
+ (arguments
+ `(#:configure-flags '("-DENABLE_GTK=ON" "-DENABLE_QT=OFF")
+ #:tests? #f))))
diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm
index 31c9a8b0cf..d3abeec6e6 100644
--- a/gnu/packages/bash.scm
+++ b/gnu/packages/bash.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2015, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -274,13 +275,16 @@ without modification.")
`(#:phases (modify-phases %standard-phases
(add-after
'install 'remove-redundant-completions
- (lambda* (#:key inputs outputs #:allow-other-keys)
+ (lambda* (#:key
+ inputs native-inputs
+ outputs #:allow-other-keys)
;; Util-linux comes with a bunch of completion files for
;; its own commands which are more sophisticated and
;; up-to-date than those of bash-completion. Remove those
;; from bash-completion.
(let* ((out (assoc-ref outputs "out"))
- (util-linux (assoc-ref inputs "util-linux"))
+ (util-linux (assoc-ref (or native-inputs inputs)
+ "util-linux"))
(completions (string-append out
"/share/bash-completion"
"/completions"))
diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm
index a1f7b2d2a8..92f2e4f3ab 100644
--- a/gnu/packages/bioconductor.scm
+++ b/gnu/packages/bioconductor.scm
@@ -4745,3 +4745,27 @@ enhancers. The annotatr package provides an easy way to summarize and
visualize the intersection of genomic sites/regions with genomic
annotations.")
(license license:gpl3)))
+
+(define-public r-rsubread
+ (package
+ (name "r-rsubread")
+ (version "1.34.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (bioconductor-uri "Rsubread" version))
+ (sha256
+ (base32
+ "0bsrw61wcav0q22c5m6gr0vn1f3c3ld8gxj730wcab6dj196z6q3"))))
+ (properties `((upstream-name . "Rsubread")))
+ (build-system r-build-system)
+ (inputs `(("zlib" ,zlib)))
+ (home-page "https://bioconductor.org/packages/Rsubread/")
+ (synopsis "Subread sequence alignment and counting for R")
+ (description
+ "This package provides tools for alignment, quantification and analysis
+of second and third generation sequencing data. It includes functionality for
+read mapping, read counting, SNP calling, structural variant detection and
+gene fusion discovery. It can be applied to all major sequencing techologies
+and to both short and long sequence reads.")
+ (license license:gpl3)))
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index f1a73bca7e..4f4d3d9839 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -4168,7 +4168,7 @@ command, or queried for specific k-mers with @code{jellyfish query}.")
(define-public khmer
(package
(name "khmer")
- (version "2.1.2")
+ (version "3.0.0a3")
(source
(origin
(method git-fetch)
@@ -4178,8 +4178,7 @@ command, or queried for specific k-mers with @code{jellyfish query}.")
(file-name (git-file-name name version))
(sha256
(base32
- "02x38d9jw2r58y8dmnj4hffy9wxv1yc1jwbvdbhby9dxndv94r9m"))
- (patches (search-patches "khmer-use-libraries.patch"))
+ "01l4jczglkl7yfhgvzx8j0df7k54bk1r8sli9ll16i1mis0d8f37"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -4192,6 +4191,12 @@ command, or queried for specific k-mers with @code{jellyfish query}.")
;; https://lists.gnu.org/archive/html/guix-devel/2016-06/msg00977.html
(delete-file-recursively "third-party/zlib")
(delete-file-recursively "third-party/bzip2")
+ (delete-file-recursively "third-party/seqan")
+ (substitute* "setup.cfg"
+ (("# libraries = z,bz2")
+ "libraries = z,bz2")
+ (("include:third-party/zlib:third-party/bzip2")
+ "include:"))
#t))))
(build-system python-build-system)
(arguments
@@ -4208,6 +4213,7 @@ command, or queried for specific k-mers with @code{jellyfish query}.")
(inputs
`(("zlib" ,zlib)
("bzip2" ,bzip2)
+ ("seqan" ,seqan-1)
("python-screed" ,python-screed)
("python-bz2file" ,python-bz2file)))
(home-page "https://khmer.readthedocs.org/")
diff --git a/gnu/packages/calcurse.scm b/gnu/packages/calcurse.scm
index 559688470e..c28f1f5554 100644
--- a/gnu/packages/calcurse.scm
+++ b/gnu/packages/calcurse.scm
@@ -30,14 +30,14 @@
(define-public calcurse
(package
(name "calcurse")
- (version "4.4.0")
+ (version "4.5.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://calcurse.org/files/calcurse-"
version ".tar.gz"))
(sha256
- (base32 "0vw2xi6a2lrhrb8n55zq9lv4mzxhby4xdf3hmi1vlfpyrpdwkjzd"))))
+ (base32 "1vjwcmp51h7dsvwn0qx93w9chp3wp970v7d9mjhk7jyamcbfywn3"))))
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)))
(native-inputs `(("tzdata" ,tzdata-for-tests)))
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 284670af6b..2991916431 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -461,22 +461,19 @@ test coverage and has a web user interface that will refresh automatically.")
(home-page "https://github.com/smartystreets/goconvey")
(license license:expat)))
-;; XXX When updating, check whether ZNC's GOOGLETEST-SOURCES can be
-;; switched back to simply using (PACKAGE-SOURCE ...).
(define-public googletest
(package
(name "googletest")
- (version "1.8.0")
+ (version "1.8.1")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/google/googletest.git")
- (commit (string-append "release-" version))))
+ (url "https://github.com/google/googletest.git")
+ (commit (string-append "release-" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "0bjlljmbf8glnd9qjabx73w6pd7ibv43yiyngqvmvgxsabzr8399"))))
+ (base32 "0270msj6n7mggh4xqqjp54kswbl7mkcc8px1p5dqdpmw5ngh9fzk"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")))
diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm
index a1e40b9ba0..e357556956 100644
--- a/gnu/packages/chromium.scm
+++ b/gnu/packages/chromium.scm
@@ -755,6 +755,11 @@ from forcing GEXP-PROMISE."
("udev" ,eudev)
("valgrind" ,valgrind)
("vulkan-headers" ,vulkan-headers)))
+
+ ;; Building Chromium with a single core takes around 6 hours on an x86_64
+ ;; system. Give some leeway for slower or busy machines.
+ (properties '((timeout . 64800))) ;18 hours
+
(home-page "https://github.com/Eloston/ungoogled-chromium")
(description
"Ungoogled-Chromium is the Chromium web browser, with some functionality
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index f4966276a0..db27110645 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -35,6 +35,7 @@
;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019 Jack Hill <jackhill@jackhill.us>
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
+;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -272,14 +273,14 @@ mapping from string keys to string values.")
(define-public memcached
(package
(name "memcached")
- (version "1.5.14")
+ (version "1.5.16")
(source
(origin
(method url-fetch)
(uri (string-append
"https://memcached.org/files/memcached-" version ".tar.gz"))
(sha256
- (base32 "1agj198rm5kc64z8qxck65kdzvw30pdfxalygipnryw0lwlxynww"))))
+ (base32 "0nnccb697jhdn5gqrh3phibzs6xr4nf4ryv7nmyv5vf11n4jr8j5"))))
(build-system gnu-build-system)
(inputs
`(("libevent" ,libevent)
@@ -846,6 +847,19 @@ TIMESTAMP. It also supports storage of binary large objects, including
pictures, sounds, or video.")
(license (license:x11-style "file://COPYRIGHT"))))
+(define-public postgresql-11
+ (package
+ (inherit postgresql)
+ (name "postgresql")
+ (version "11.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ftp.postgresql.org/pub/source/v"
+ version "/postgresql-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "12ycjlqncijgmd5z078ybwda8ilas96lc7nxxmdq140mzpgjv002"))))))
+
(define-public postgresql-9.6
(package
(inherit postgresql)
@@ -2150,13 +2164,13 @@ etc., and an SQL engine for performing simple SQL queries.")
(define-public python-lmdb
(package
(name "python-lmdb")
- (version "0.94")
+ (version "0.95")
(source (origin
(method url-fetch)
(uri (pypi-uri "lmdb" version))
(sha256
(base32
- "1zh38gvkqw1jm5105if6rr7ccbgyxr7k2rm5ygb9ab3bq82pyaww"))
+ "0nx9f193gzl33r1lbqhb96h1igya7pz8wmahr8m9x5zgc05hal91"))
(modules '((guix build utils)))
(snippet
;; Delete bundled lmdb source files.
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 778529436b..06f4430b2d 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -439,15 +439,16 @@ a card with a smaller capacity than stated.")
(define-public python-parted
(package
(name "python-parted")
- (version "3.11.1")
+ (version "3.11.2")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://github.com/dcantrell/pyparted/archive/v"
- version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dcantrell/pyparted.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "0r1nyjj40nacnfnv17x2mnsj6ga1qplyxyza82v2809dfhim2fwq"))))
+ (base32 "0r6916n3w4vldxrq30a3z2iagvxgly4vfmlidjm65vwqnyv17bvn"))))
(build-system python-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 176aa90eab..34f56d8340 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -236,7 +236,7 @@ configuration files, such as .gitattributes, .gitignore, and .git/config.")
(define-public emacs-with-editor
(package
(name "emacs-with-editor")
- (version "2.8.0")
+ (version "2.8.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -245,7 +245,7 @@ configuration files, such as .gitattributes, .gitignore, and .git/config.")
(file-name (git-file-name name version))
(sha256
(base32
- "1bbzvxnjpxqyvi808isld025b3pcidn4r2xf8hnk9bmzcfdvdr6q"))))
+ "1z2h9casyw1b93ikq2mf9xixyvbl90zddf0s66lqfiyj2y376pq3"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-dash" ,emacs-dash)))
@@ -3151,7 +3151,7 @@ build jobs.")
(define-public emacs-company
(package
(name "emacs-company")
- (version "0.9.7")
+ (version "0.9.10")
(source
(origin
(method git-fetch)
@@ -3160,7 +3160,7 @@ build jobs.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1gpapjxs4l6fmmj22q0q1pyhj1yd9j5iqfqnjf1abskkj69lqkpj"))))
+ (base32 "0shmv48bq9l5xm60dwx9lqyq6b39y3d7qjxdlah7dpipv5vhra42"))))
(build-system emacs-build-system)
(arguments
`(#:phases
@@ -4180,7 +4180,7 @@ them easier to distinguish from other, less important buffers.")
(define-public emacs-prescient
(package
(name "emacs-prescient")
- (version "2.2.2")
+ (version "3.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -4189,7 +4189,7 @@ them easier to distinguish from other, less important buffers.")
(file-name (git-file-name name version))
(sha256
(base32
- "1ncplx5p3cffyzg9ygzqqxj0vpvwrz9rp2n4z6c375a78fyydrk0"))))
+ "1cdjvlwlvxxazz7hlxgvdp0pznvj1gzqa2r6k4im0cpdrnnng6j6"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-company" ,emacs-company)
@@ -4615,29 +4615,34 @@ use it, call @code{M-x ivy-yasnippet} (but make sure you have enabled
(license license:gpl3+))))
(define-public emacs-ivy-rich
- (package
- (name "emacs-ivy-rich")
- (version "0.1.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/Yevgnen/ivy-rich.git")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0ayf3dwfhafcbqnckm65zy8nc1rv9ji939qfn53wbhxkrgqdicgz"))))
- (build-system emacs-build-system)
- (propagated-inputs
- `(("emacs-ivy" ,emacs-ivy)))
- (home-page "https://github.com/Yevgnen/ivy-rich")
- (synopsis "More friendly interface for @code{ivy}")
- (description
- "This package extends @code{ivy} by showing more information in the
+ ;; The latest release version has a small mistake that has since been fixed,
+ ;; so we use a more recent commit.
+ (let ((commit "f6bfa293c6df0b43cc411876b665816ec3f03d08")
+ (version "0.1.4")
+ (revision "1"))
+ (package
+ (name "emacs-ivy-rich")
+ (version (git-version version revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Yevgnen/ivy-rich.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1s8nwwb1z6lkc58g02pi8w99qms948k8d02lw8k8cq47dw87i219"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-ivy" ,emacs-ivy)))
+ (home-page "https://github.com/Yevgnen/ivy-rich")
+ (synopsis "More friendly interface for @code{ivy}")
+ (description
+ "This package extends @code{ivy} by showing more information in the
minibuffer for each candidate. It adds columns showing buffer modes, file
sizes, docstrings, etc. If @code{emacs-all-the-icons} is installed, it can
show icons as well.")
- (license license:gpl3+)))
+ (license license:gpl3+))))
(define-public emacs-avy
(package
@@ -5105,15 +5110,16 @@ strings, and code folding.")
(define-public emacs-nodejs-repl
(package
(name "emacs-nodejs-repl")
- (version "0.2.0")
+ (version "0.2.1")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/abicky/nodejs-repl.el"
- "/archive/" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/abicky/nodejs-repl.el")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0hq2cqdq2668yf48g7qnkci90nhih1gnhacsgz355jnib56lhmkz"))
- (file-name (string-append name "-" version ".tar.gz"))))
+ "05ccv87rnw7fss3lib8m9sywjrj6n92fnd7mmhmjh27g2klqc83z"))))
(build-system emacs-build-system)
(home-page "https://github.com/abicky/nodejs-repl.el")
(synopsis "Node.js REPL inside Emacs")
@@ -5133,14 +5139,14 @@ features:
(name "emacs-typescript-mode")
(version "0.3")
(source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/ananthakumaran/typescript.el"
- "/archive/v" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ananthakumaran/typescript.el")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1gqjirm8scf0wysm7x97zdfbs4qa5nqdl64jfbkd18iskv5mg3rj"))
- (file-name (string-append name "-" version ".tar.gz"))))
+ "002f1xfhq43fjaqliwrgxspryfahpa82va5dw3p8kwil2xwvc6mh"))))
(build-system emacs-build-system)
(home-page "https://github.com/ananthakumaran/typescript.el")
(synopsis "Emacs major mode for editing Typescript code")
@@ -5160,13 +5166,14 @@ indentation and filling of comments and C preprocessor fontification.")
(name "emacs-tide")
(version "3.2.3")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/ananthakumaran/tide"
- "/archive/v" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ananthakumaran/tide")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1c600myr2yqbkmy9lify38lz0zzjdqk1733db5n7vsay16vn6fzi"))
- (file-name (string-append name "-" version ".tar.gz"))))
+ "19kjq4kr2j853p5qp1s79zxmrfprli82lsnphbrlp9vbnib28xyd"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-dash" ,emacs-dash)
@@ -5761,14 +5768,14 @@ Dust.js, React/JSX, Angularjs, ejs, etc.")
(name "emacs-wgrep")
(version "2.3.0")
(source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/mhayashi1120/Emacs-wgrep/archive/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mhayashi1120/Emacs-wgrep")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1cssqbg03fjb6xwf7idv1l3jjsh9r5r232ryi11czqlxfiv658bj"))))
+ "0pgyf9vfcahb495q01hi1mvkmv846w4rj6zyf52is8x7sjj7x44s"))))
(build-system emacs-build-system)
(home-page "https://github.com/mhayashi1120/Emacs-wgrep")
(synopsis "Edit a grep buffer and apply those changes to the files")
@@ -6760,7 +6767,7 @@ notifications.")
(define-public emacs-alert
(package
(name "emacs-alert")
- (version "1.2")
+ (version "1.3")
(source
(origin
(method git-fetch)
@@ -6769,7 +6776,7 @@ notifications.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1vpc3q40m6dcrslki4bg725j4kv6c6xfxwjjl1ilg7la49fwwf26"))))
+ (base32 "0lc0p5cl4hfrzw1z2ghb11k1lvljn5m08jw5fmgwgxv667kwh49r"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-gntp" ,emacs-gntp)
@@ -6783,8 +6790,8 @@ customizable by the user.")
(license license:gpl2+)))
(define-public emacs-zones
- (let ((commit "353fc38a6544eb59887bee045e373406f1d038a5")
- (revision "1"))
+ (let ((commit "3169815c323966ff8e252b44e3558d6d045243fe")
+ (revision "2"))
(package
(name "emacs-zones")
(version (git-version "0" revision commit))
@@ -6797,7 +6804,7 @@ customizable by the user.")
(file-name (git-file-name name version))
(sha256
(base32
- "0gwnw2giii2a14nlh62xp45f47cw6ikqphhzpmcw6c7mn9x5z2ar"))
+ "039msns5596rz0my7fxpanpxwg1lkhpiibm9ppnlzaajx1hszbzl"))
(patches
(search-patches
"emacs-zones-called-interactively.patch"))))
@@ -7589,15 +7596,17 @@ and cangjie.")
(define-public emacs-posframe
(package
(name "emacs-posframe")
- (version "0.4.2")
+ (version "0.5.0")
(source
(origin
- (method url-fetch)
- (uri (string-append
- "https://elpa.gnu.org/packages/posframe-" version ".el"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tumashu/posframe")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1h8vvxvsg41vc1nnglqjs2q0k1yzfsn72skga9s76qa3zxmx6kds"))))
+ "1fhjxj7gi2pj5rdnmf0gddiwd8iifgjgjp01c01npz1gwwixyqh3"))))
(build-system emacs-build-system)
;; emacs-minimal does not include the function font-info
(arguments `(#:emacs ,emacs))
@@ -7878,6 +7887,37 @@ other operations.")
on mouse-control.")
(license license:gpl3+)))
+(define-public emacs-gnugo
+ (package
+ (name "emacs-gnugo")
+ (version "3.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://elpa.gnu.org/packages/gnugo-"
+ version ".tar"))
+ (sha256
+ (base32
+ "0xpjvs250gg71qwapdsb1hlc61gs0gpkjds01srf784fvyxx2gf1"))))
+ (build-system emacs-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'configure-default-gnugo-xpms-variable
+ (lambda _
+ (substitute* "gnugo.el"
+ (("defvar gnugo-xpms nil")
+ "defvar gnugo-xpms #'gnugo-imgen-create-xpms"))
+ #t)))))
+ (propagated-inputs
+ `(("emacs-ascii-art-to-unicode" ,emacs-ascii-art-to-unicode)
+ ("emacs-xpm" ,emacs-xpm)))
+ (home-page "https://elpa.gnu.org/packages/gnugo.html")
+ (synopsis "Emacs major mode for playing GNU Go")
+ (description "This package provides an Emacs based interface for GNU Go.
+It has a graphical mode where the board and stones are drawn using XPM images
+and supports the use of a mouse.")
+ (license license:gpl3+)))
+
(define-public emacs-gnuplot
(package
(name "emacs-gnuplot")
@@ -7962,20 +8002,20 @@ pressed simultaneously or a single key quickly pressed twice.")
(define-public emacs-evil-surround
(package
(name "emacs-evil-surround")
- (version "1.0.0")
+ (version "1.0.4")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/timcharper/evil-surround.git")
- (commit (string-append "v" version))))
+ (url "https://github.com/emacs-evil/evil-surround")
+ (commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1smv7sqhm1l2bi9fmispnlmjssidblwkmiiycj1n3ag54q27z031"))))
+ (base32 "1ajsi6xn8mliwzl24h6pp9rd91z7f20yvkphr9q7k6zpjrd7fb9q"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-evil" ,emacs-evil)))
- (home-page "https://github.com/timcharper/evil-surround")
+ (home-page "https://github.com/emacs-evil/evil-surround")
(synopsis "Easily modify surrounding parentheses and quotes")
(description "@code{emacs-evil-surround} allows easy deletion, change and
addition of surrounding pairs, such as parentheses and quotes, in evil mode.")
@@ -8636,13 +8676,13 @@ created by @code{git format-patch}, from @code{magit}, @code{dired} and
(version "1.3.3")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://github.com/leathekd/erc-hl-nicks"
- "/archive/" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/leathekd/erc-hl-nicks")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "1a1r2kc3688g8c2ybkpwh88kgmnqhg3h3032g2yn4zr9m0n3vpkr"))))
+ (base32 "0c82rxpl5v7bbxirf1ksg06xv5xcddh8nkrpj7i6nvfarwdfnk4f"))))
(build-system emacs-build-system)
(synopsis "Nickname highlighting for Emacs ERC")
(description "@code{erc-hl-nicks} highlights nicknames in ERC, an IRC
@@ -8792,27 +8832,20 @@ an elisp expression.")
(define-public emacs-emojify
(package
(name "emacs-emojify")
- (version "0.4")
+ (version "1.2")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://github.com/iqbalansari/emacs-emojify/"
- "releases/download/v" version "/emojify-"
- version ".tar"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/iqbalansari/emacs-emojify")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0k84v2d2bkiwcky9fi1yyprgkj46g7wh6pyl9gzmcd7sqv051d5n"))))
+ "1fqnj5x7ivjkm5y927dqqnm85q5hzczlb0hrfpjalrhasa6ijsrm"))))
(build-system emacs-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'install 'install-data
- (lambda* (#:key outputs #:allow-other-keys)
- (copy-recursively "data"
- (string-append (assoc-ref outputs "out")
- "/share/emacs/site-lisp/guix.d/"
- "emojify-" ,version "/data"))
- #t)))))
+ `(#:include (cons "^data/" %default-include)))
(propagated-inputs
`(("emacs-ht" ,emacs-ht)))
(home-page "https://github.com/iqbalansari/emacs-emojify")
@@ -8823,6 +8856,36 @@ well as Github-style emojis like @code{:smile:}. It provides a minor mode
@code{emojify-mode} to enable the display of emojis in a buffer.")
(license license:gpl3+)))
+(define-public emacs-make-it-so
+ (let ((commit "bc3b01d6b9ed6ff66ebbd524234f9d6df60dd4be")
+ (version "0.1.0")
+ (revision "1"))
+ (package
+ (name "emacs-make-it-so")
+ (version (git-version version revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/abo-abo/make-it-so")
+ (commit commit)))
+ (sha256
+ (base32
+ "0833bzlscpnkvjnrg3g54yr246afbjwri8n5wxk8drnsq6acvd8z"))))
+ (build-system emacs-build-system)
+ (arguments
+ `(#:include (cons "^recipes/" %default-include)))
+ (propagated-inputs
+ `(("emacs-ivy" ,emacs-ivy)))
+ (home-page "https://github.com/abo-abo/make-it-so")
+ (synopsis "Transform files with Makefile recipes")
+ (description "This package provides an interface for selecting from
+different conversion recipes, often including tools like @code{ffmpeg} or
+@code{convert}. The conversion command need only be written once, and
+subsequent invocations can be readily customized. Several recipes are
+included by default, and more can be readily added.")
+ (license license:gpl3+))))
+
(define-public emacs-websocket
(package
(name "emacs-websocket")
@@ -9186,7 +9249,7 @@ Feautures:
(define-public emacs-evil-matchit
(package
(name "emacs-evil-matchit")
- (version "2.2.9")
+ (version "2.3.0")
(source
(origin
(method git-fetch)
@@ -9195,7 +9258,7 @@ Feautures:
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "12if45pxfndy3d7r4gd3zx4d3jk4d64fdmwkhc3y5zhqq9h9iy4c"))))
+ (base32 "0y6q42hml7jgf060d83m7hf270h01858g5kxw12na9n4r4jjpdg1"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-evil" ,emacs-evil)))
@@ -9646,6 +9709,27 @@ matches\" in the mode line in various search modes. This is an Emacs port of
Anzu.zim.")
(license license:gpl3+)))
+(define-public emacs-ascii-art-to-unicode
+ (package
+ (name "emacs-ascii-art-to-unicode")
+ (version "1.12")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://elpa.gnu.org/packages/ascii-art-to-unicode-"
+ version ".el"))
+ (sha256
+ (base32
+ "1w9h2lyriafxj71r79774gh822cz8mry3gdfzyj6ym6v9mvqypna"))))
+ (build-system emacs-build-system)
+ (home-page "https://elpa.gnu.org/packages/ascii-art-to-unicode.html")
+ (synopsis "ASCII to Unicode art converter for Emacs")
+ (description "This Emacs package provides the commands @command{aa2u} and
+@command{aa2u-rectangle}. Both of these commands can be used to convert
+simple ASCII art line drawings to Unicode; the former works on the active
+region of the buffer, while the latter works on rectangular selections.")
+ (license license:gpl3+)))
+
(define-public emacs-emmet-mode
(package
(name "emacs-emmet-mode")
@@ -9758,12 +9842,13 @@ and can be consulted and modified.")
(version "0.03")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://github.com/syohex/emacs-evil-anzu"
- "/archive/" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/syohex/emacs-evil-anzu")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32 "032hh2946z529cizqsg8pm6cpn5qdj8lfk3qskmx6xv3g2ra56ns"))))
+ (base32 "0lw7fg4gqwj30r0l6k2ni36sxqkf65zf0d0z3rxnpwbxlf8dlkrr"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-evil" ,emacs-evil)
@@ -10106,29 +10191,153 @@ text-mode (i.e. Org-mode).")
(license license:gpl3+))))
(define-public emacs-outshine
- (let ((commit "5f1a6b70231d2811c522e4e5e8c89ff461b311d6"))
+ (package
+ (name "emacs-outshine")
+ (version "3.0.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alphapapa/outshine.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1lh9f5dgdbwfyzxk6nsg1xwdjs8gc6p9mbyyhp6f8fnk3h0y88cg"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-outorg" ,emacs-outorg)))
+ (home-page "https://github.com/alphapapa/outshine")
+ (synopsis "Emacs outline with outshine")
+ (description "Outshine attempts to bring the look and feel of
+@code{org-mode} to an Emacs outside of the Org major-mode. It is an extension
+of @code{outline-minor-mode} (@code{org-mode} itself derives from
+outline-mode), so there is no such thing like an outshine mode, only
+@code{outline-minor-mode} with outshine extensions loaded.")
+ (license license:gpl3+)))
+
+(define-public emacs-frecency
+ (let ((commit "31ef9ff4af1a4fed3dcc24ea74037feea8795c87")
+ (version "0.1-pre")
+ (revision "1"))
(package
- (name "emacs-outshine")
- (version (git-version "2.0" "1" commit))
+ (name "emacs-frecency")
+ (version (git-version version revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/alphapapa/outshine.git")
+ (url "https://github.com/alphapapa/frecency.el")
(commit commit)))
- (file-name (git-file-name name version))
(sha256
(base32
- "1l9v1dfhgg7il11ifbhvcvrg3acfjk9sdxlc3lja1k54d7dp60jv"))))
+ "051aihjdg3x22svaxhwylpi8i6s2x9j8syvsj1jgilgjjdy15l6j"))
+ (file-name (git-file-name name version))))
(build-system emacs-build-system)
(propagated-inputs
- `(("emacs-outorg" ,emacs-outorg)))
- (home-page "https://github.com/alphapapa/outshine")
- (synopsis "Emacs outline with outshine")
- (description "Outshine attempts to bring the look and feel of
-@code{org-mode} to an Emacs outside of the Org major-mode. It is an extension
-of @code{outline-minor-mode} (@code{org-mode} itself derives from
-outline-mode), so there is no such thing like an outshine mode, only
-@code{outline-minor-mode} with outshine extensions loaded.")
+ `(("emacs-a" ,emacs-a)
+ ("emacs-dash" ,emacs-dash)))
+ (home-page "https://github.com/alphapapa/frecency.el")
+ (synopsis "Sort items by frequency and recency of access")
+ (description "This package provides a way of sorting items via
+a heuristic based on frequency and recency.")
+ (license license:gpl3+))))
+
+(define-public emacs-org-recent-headings
+ (package
+ (name "emacs-org-recent-headings")
+ (version "0.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alphapapa/org-recent-headings.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0gsrzmg3mssh9s28yjm9m866fnhm1pcligssz1q6brga6dm6f2yy"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-org" ,emacs-org)
+ ("emacs-dash" ,emacs-dash)
+ ("emacs-frecency" ,emacs-frecency)))
+ (home-page "https://github.com/alphapapa/org-recent-headings")
+ (synopsis "Navigate to recently used Org headings and lists")
+ (description "This package maintains a list of recently used Org headings,
+as well as functions for navigating between these headings.")
+ (license license:gpl3+)))
+
+(define-public emacs-org-super-agenda
+ (package
+ (name "emacs-org-super-agenda")
+ (version "1.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alphapapa/org-super-agenda")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0vzf91lsxnhwf52kvm8ycpf0wb9c8l91689vyhwgv4wz8q6cvjwp"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-org" ,emacs-org)
+ ("emacs-dash" ,emacs-dash)
+ ("emacs-ht" ,emacs-ht)
+ ("emacs-s" ,emacs-s)))
+ (home-page "https://github.com/alphapapa/org-super-agenda")
+ (synopsis "Supercharged Org agenda")
+ (description "This package allows items in the Org agenda to be grouped
+into sections while preserving the structure imposed by any timestamps.")
+ (license license:gpl3+)))
+
+(define-public emacs-org-make-toc
+ (package
+ (name "emacs-org-make-toc")
+ (version "0.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alphapapa/org-make-toc")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0syhj8q4pv33xgl5qa6x27yhwqvfhffw5xqp819hj4qs1ddlc7j5"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-org" ,emacs-org)
+ ("emacs-dash" ,emacs-dash)
+ ("emacs-s" ,emacs-s)))
+ (home-page "https://github.com/alphapapa/org-make-toc")
+ (synopsis "Maintain a table of contents for an Org file")
+ (description "This package facilitates the creation and maintenance of
+tables of contents.")
+ (license license:gpl3+)))
+
+(define-public emacs-org-ql
+ (let ((commit "0aec8ec60395197b2ef2b885c216cf84286efed9")
+ (version "0.1-pre")
+ (revision "1"))
+ (package
+ (name "emacs-org-ql")
+ (version (git-version version revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alphapapa/org-ql")
+ (commit commit)))
+ (sha256
+ (base32
+ "0bj85hxhym7rvkaddcxybxdm7g7w439wij9f2w5ljz1hmvp55991"))
+ (file-name (git-file-name name version))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-s" ,emacs-s)
+ ("emacs-dash" ,emacs-dash)))
+ (home-page "https://github.com/alphapapa/org-ql")
+ (synopsis "Query language for Org buffers")
+ (description "This package provides a Lispy query language for Org
+files, allowing for actions to be performed based on search criteria.")
(license license:gpl3+))))
(define-public emacs-parsebib
@@ -11206,10 +11415,10 @@ You should really read org-ref.org in this package for details.")
;; This project is unmaintained. Please use emacs-org-re-reveal instead.
(define-public emacs-org-reveal
- (let ((commit "1cdd088ec5fab631c564dca7f9f74fd3e9b7d4d4"))
+ (let ((commit "9210413202a360a559a51e8275faa42be68cf44b"))
(package
(name "emacs-org-reveal")
- (version (git-version "0.1" "2" commit))
+ (version (git-version "0.1" "3" commit))
(source (origin
(method git-fetch)
(uri (git-reference
@@ -11218,7 +11427,7 @@ You should really read org-ref.org in this package for details.")
(file-name (git-file-name name version))
(sha256
(base32
- "1vjxjadq2i74p96y9jxnqj1yb86fsgxzmn7bjgnb88ay6nvc1l72"))))
+ "1wlfk823d3vrn480m38j7ncaqm193lvh6y22b92fx4b3yhdbndza"))))
(build-system emacs-build-system)
(home-page "https://github.com/yjwen/org-reveal")
(synopsis "Org and Reveal.js powered HTML presentation tool")
@@ -11382,7 +11591,7 @@ downloading manager for Emacs.")
(define-public emacs-helpful
(package
(name "emacs-helpful")
- (version "0.15")
+ (version "0.16")
(source
(origin
(method git-fetch)
@@ -11391,10 +11600,14 @@ downloading manager for Emacs.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1rqnx7672175288yqaslw0d9vw04j6psw7mys8j9zcp2i72hlvkn"))))
+ (base32 "1pzlx3galyryd3hd84hnd7r5s6yl9sdrfhy1s6dgz40glw41wmpr"))))
(build-system emacs-build-system)
(propagated-inputs
- `(("emacs-elisp-refs" ,emacs-elisp-refs)))
+ `(("emacs-elisp-refs" ,emacs-elisp-refs)
+ ("emacs-dash" ,emacs-dash)
+ ("emacs-s" ,emacs-s)
+ ("emacs-f" ,emacs-f)
+ ("emacs-shut-up" ,emacs-shut-up)))
(home-page "https://github.com/Wilfred/helpful")
(synopsis "More contextual information in Emacs help")
(description "@code{helpful} is an alternative to the built-in Emacs help
@@ -12780,10 +12993,30 @@ datastructures as needed, both for method parameters and return values, making
using XML-RPC methods fairly transparent to the Lisp code.")
(license license:gpl3+))))
+(define-public emacs-xpm
+ (package
+ (name "emacs-xpm")
+ (version "1.0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://elpa.gnu.org/packages/xpm-"
+ version ".tar"))
+ (sha256
+ (base32
+ "075miyashh9cm3b0gk6ngld3rm8bfgnh4qxnhxmmvjgzf6a64grh"))))
+ (build-system emacs-build-system)
+ (home-page "https://elpa.gnu.org/packages/xpm.html")
+ (synopsis "XPM image editing mode for Emacs")
+ (description "This Emacs package makes editing XPM images easy (and maybe
+fun). Editing is done directly on the (textual) image format, for maximal
+cohesion with the Emacs Way.")
+ (license license:gpl3+)))
+
(define-public emacs-fish-completion
(package
(name "emacs-fish-completion")
- (version "1.0")
+ (version "1.1")
(source
(origin
(method url-fetch)
@@ -12793,7 +13026,7 @@ using XML-RPC methods fairly transparent to the Lisp code.")
version))
(sha256
(base32
- "1hpma1c5j50ja03ibr7h1xmyv7k8j3rbvqivad47kwqhlsgw0jk0"))))
+ "0bpvifv6c2a65nks6kvarw0hhm37fnyy74wikwf9qq1i20va0fpv"))))
(build-system emacs-build-system)
(inputs `(("fish" ,fish)))
(arguments
@@ -13593,7 +13826,7 @@ buffers – other modes on the TODO list).
(define-public emacs-magit-todos
(package
(name "emacs-magit-todos")
- (version "1.1.7")
+ (version "1.2")
(source
(origin
(method git-fetch)
@@ -13603,7 +13836,7 @@ buffers – other modes on the TODO list).
(file-name (git-file-name name version))
(sha256
(base32
- "0qagdxpik64n4rw9scy451ws5sw00v64ri9g2dcw7b66bx2c6c6w"))))
+ "17a18gszbypz82bj36xbfyykc4s9rz83vwmpxvlf65svhd51c0nh"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-async" ,emacs-async)
@@ -14456,7 +14689,7 @@ to open SQLite databases.")
(define-public emacs-nix-mode
(package
(name "emacs-nix-mode")
- (version "1.2.2")
+ (version "1.4.1")
(source
(origin
(method git-fetch)
@@ -14465,10 +14698,11 @@ to open SQLite databases.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1vz3s2jx14nzy53f04d821n4f2s22ys5h9s7af6cnpynkwawyhhq"))))
+ (base32 "04xpgg9nba5m1bl7ci5l456whcb8nfhsbvgxyx89bp0zqgr005q7"))))
(build-system emacs-build-system)
(inputs
`(("emacs-company" ,emacs-company)
+ ("emacs-json-mode" ,emacs-json-mode)
("emacs-mmm-mode" ,emacs-mmm-mode)))
(home-page "https://github.com/NixOS/nix-mode")
(synopsis "Emacs major mode for editing Nix expressions")
@@ -14665,31 +14899,30 @@ recursively. The results are cached for speed.")
(license license:gpl3+)))
(define-public emacs-orgit
- (let ((commit "2456436a7e64d26bcf455b3890a586acaa3e7f93"))
- (package
- (name "emacs-orgit")
- (version (git-version "1.5.1" "2" commit))
- (home-page "https://github.com/magit/orgit")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url home-page)
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1i52dq2ynddb1irgigr5mdwfbfd3bvm1f29jnzd7nlc0nk186nvh"))))
- (build-system emacs-build-system)
- (propagated-inputs
- `(("emacs-dash" ,emacs-dash)
- ("emacs-magit" ,emacs-magit)))
- (synopsis "Support for Org links to Magit buffers")
- (description "This package defines several Org link types, which can be
+ (package
+ (name "emacs-orgit")
+ (version "1.5.3")
+ (home-page "https://github.com/magit/orgit")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1ywavzki510rslsgfm0cnn3mlh644p61ha2nfb715xhkg7cd3j9g"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-dash" ,emacs-dash)
+ ("emacs-magit" ,emacs-magit)))
+ (synopsis "Support for Org links to Magit buffers")
+ (description "This package defines several Org link types, which can be
used to link to certain Magit buffers. Use the command
@command{org-store-link} while such a buffer is current to store a link.
Later you can insert it into an Org buffer using the command
@code{org-insert-link}.")
- (license license:gpl3+))))
+ (license license:gpl3+)))
(define-public emacs-amx
(package
@@ -15616,7 +15849,7 @@ previewed by scrolling up and down within a @code{dired} buffer.")
(define-public emacs-counsel-etags
(package
(name "emacs-counsel-etags")
- (version "1.8.3")
+ (version "1.8.4")
(source
(origin
(method git-fetch)
@@ -15626,7 +15859,7 @@ previewed by scrolling up and down within a @code{dired} buffer.")
(file-name (git-file-name name version))
(sha256
(base32
- "1d8nlrbsyza6q7yqm9248bxxsf49qf6hchg3zwv0l11acn3w8np5"))))
+ "14my9jvxl26a5yn381h5pi5481y9d9gyk7wnxxd0s4sjc964c5h5"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-ivy" ,emacs-ivy)))
@@ -15636,6 +15869,32 @@ previewed by scrolling up and down within a @code{dired} buffer.")
and searching through @code{Ctags} files.")
(license license:gpl3+)))
+(define-public emacs-org-download
+ (let ((commit "ac72bf8fce3e855da60687027b6b8601cf1de480")
+ (version "0.1.0")
+ (revision "1"))
+ (package
+ (name "emacs-org-download")
+ (version (git-version version revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/abo-abo/org-download")
+ (commit commit)))
+ (sha256
+ (base32
+ "0ax5wd44765wnwabkam1g2r62gq8crx2qq733s2mg1z72cfvwxqb"))
+ (file-name (git-file-name name version))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-org" ,emacs-org)
+ ("emacs-async" ,emacs-async)))
+ (home-page "https://github.com/abo-abo/org-download")
+ (synopsis "Facilitate moving images")
+ (description "This package provides utilities for managing image files
+copied into @code{org-mode} buffers.")
+ (license license:gpl3+))))
+
(define-public emacs-helm-dash
(let ((commit "192b862185df661439a06de644791171e899348a")
(version "1.3.0")
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index c32569dd1b..c1ae14bc42 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -233,7 +233,7 @@ turbo speed, networked multiplayer, and graphical enhancements.")
(define-public dosbox
(package
(name "dosbox")
- (version "0.74-2")
+ (version "0.74-3")
(source (origin
(method url-fetch)
(uri (string-append "https://sourceforge.net/projects/dosbox"
@@ -242,7 +242,7 @@ turbo speed, networked multiplayer, and graphical enhancements.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1ksp1b5szi0vy4x55rm3j1y9wq5mlslpy8llpg87rpdyjlsk0xvh"))))
+ "02i648i50dwicv1vaql15rccv4g8h5blf5g6inv67lrfxpbkvlf0"))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
diff --git a/gnu/packages/enchant.scm b/gnu/packages/enchant.scm
index 0392a709e2..ce148b47a5 100644
--- a/gnu/packages/enchant.scm
+++ b/gnu/packages/enchant.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Marek Benc <merkur32@gmail.com>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -32,7 +33,7 @@
(define-public enchant
(package
(name "enchant")
- (version "2.2.3")
+ (version "2.2.4")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/AbiWord/enchant/releases"
@@ -40,7 +41,7 @@
version ".tar.gz"))
(sha256
(base32
- "0v87p1ls0gym95qirijpclk650sjbkcjjl6ssk059zswcwaykn5b"))))
+ "1p6a3qmrh8bjzds6x7rg9da0ir44gg804jzkf634h39wsa4vdmpm"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--disable-static"
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 5b95bcb704..cd5d3b7d9a 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -399,7 +399,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.")
(package
(inherit electrum)
(name "electron-cash")
- (version "4.0.1")
+ (version "4.0.7")
(source
(origin
(method url-fetch)
@@ -410,7 +410,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.")
".tar.gz"))
(sha256
(base32
- "16fi03f23yb5r9s64x1a9wrxnvivlbawvrbq4d486yclzl1r7y48"))
+ "0xswmr68cm1c77lzisi3z812jzqczm9dfrshfhdq42zz5kaz4gnn"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index b9527659db..4b37ffdf3c 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -631,7 +631,7 @@ applications, X servers (rootless or fullscreen) or other display servers.")
(define-public weston
(package
(name "weston")
- (version "6.0.0")
+ (version "6.0.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -639,7 +639,7 @@ applications, X servers (rootless or fullscreen) or other display servers.")
"weston-" version ".tar.xz"))
(sha256
(base32
- "04p6hal5kalmdp5dxwh2h5qhkkb4dvbsk7l091zvvcq70slj6qsl"))))
+ "1d2m658ll8x7prlsfk71qgw89c7dz6y7d6nndfxwl49fmrd6sbxz"))))
(build-system meson-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 63ccd20470..05a68b717a 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -153,15 +153,15 @@ is used in some video games and movies.")
(define-public deutex
(package
(name "deutex")
- (version "5.1.2")
+ (version "5.2.0")
(source (origin
(method url-fetch)
- (uri (string-append "https://github.com/Doom-Utils/" name
+ (uri (string-append "https://github.com/Doom-Utils/deutex"
"/releases/download/v" version "/"
- name "-" version ".tar.xz"))
+ "deutex-" version ".tar.xz"))
(sha256
(base32
- "1rj3w4xa0n4jixy4j7p6gbclylbgxvhdnji7xnkydrqii9rxnbp4"))))
+ "1d536d3i78k4ch8mjg7lqnamnyfpp2x5x7mzx5smqi9ad8lb6hqz"))))
(build-system gnu-build-system)
(native-inputs `(("asciidoc" ,asciidoc)))
(home-page "https://github.com/Doom-Utils/deutex")
@@ -1511,3 +1511,29 @@ added. The permanent goal is to create the open source Quake 3 distribution
upon which people base their games, ports to new platforms, and other
projects.")
(license license:gpl2))))
+
+(define-public openvr
+ (package
+ (name "openvr")
+ (version "1.4.18")
+ (home-page "https://github.com/ValveSoftware/openvr/")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0m92634j6g0f2xybbzklm79cnq20vidbk1jc62pnz12aabwixvyh"))))
+ (build-system cmake-build-system)
+ (arguments
+ ;; No tests.
+ '(#:tests? #f
+ #:configure-flags (list "-DBUILD_SHARED=1")))
+ (synopsis "Virtual reality software development kit")
+ (description "OpenVR is an API and runtime that allows access to VR
+hardware from multiple vendors without requiring that applications have
+specific knowledge of the hardware they are targeting.")
+ (license license:bsd-3)))
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 8e8c6c8058..a102dc962f 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -42,6 +42,7 @@
;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2019 Jesse Gibbons <jgibbons2357+guix@gmail.com>
;;; Copyright © 2019 Dan Frumin <dfrumin@cs.ru.nl>
+;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -130,6 +131,7 @@
#:use-module (gnu packages netpbm)
#:use-module (gnu packages networking)
#:use-module (gnu packages ocaml)
+ #:use-module (gnu packages opencl)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-check)
@@ -3542,7 +3544,7 @@ with the \"Stamp\" tool within Tux Paint.")
(description "SuperTux is a free classic 2D jump'n run sidescroller game
in a style similar to the original Super Mario games covered under
the GNU GPL.")
- (home-page "https://supertuxproject.org/")
+ (home-page "https://supertux.org/")
(license license:gpl3+)))
(define-public tintin++
@@ -7250,6 +7252,26 @@ the game avoids complex inventory management and character building, relying
on items and player adaptability for character progression.")
(license license:isc)))
+(define-public harmonist-tk
+ (package
+ (inherit harmonist)
+ (name "harmonist-tk")
+ (arguments
+ (append
+ (package-arguments harmonist)
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'build
+ (lambda _
+ (invoke "go" "install" "-v" "-x" "--tags" "tk"
+ "git.tuxfamily.org/harmonist/harmonist")))
+ (replace 'check
+ (lambda _
+ (invoke "go" "test" "--tags" "tk"
+ "git.tuxfamily.org/harmonist/harmonist")))))))
+ (inputs
+ `(("go-github.com-nsf-gothic" ,go-github.com-nsf-gothic)))))
+
(define-public drascula
(package
(name "drascula")
@@ -7556,3 +7578,52 @@ remake of that series or any other game.")
;; released under both gpl2 and cc-by-sa3.0. Bundled Gigi library is
;; released under lgpl2.1+.
(license (list license:gpl2 license:cc-by-sa3.0 license:lgpl2.1+))))
+
+(define-public leela-zero
+ (package
+ (name "leela-zero")
+ (version "0.17")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/leela-zero/leela-zero.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "17px5iny8mql5c01bymcli7zfssswkzvb2i8gnsmjcck6i2n8srl"))
+ (patches (search-patches "leela-zero-gtest.patch"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ `(("googletest" ,googletest)))
+ (inputs
+ `(("boost" ,boost)
+ ("ocl-icd" ,ocl-icd)
+ ("openblas" ,openblas)
+ ("opencl-headers" ,opencl-headers)
+ ("qtbase" ,qtbase)
+ ("zlib" ,zlib)))
+ (arguments
+ '(#:configure-flags '("-DUSE_BLAS=YES")
+ #:phases (modify-phases %standard-phases
+ (add-before 'configure 'fix-tests
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((home (getcwd)))
+ (setenv "HOME" home)
+ (substitute* "src/tests/gtests.cpp"
+ (("\\.\\./src/tests/0k\\.txt")
+ (string-append home "/src/tests/0k.txt"))
+ (("cfg_gtp_mode = true;")
+ "cfg_gtp_mode = true; cfg_cpu_only = true;")))
+ #t))
+ (replace 'check
+ (lambda _
+ (invoke "./tests"))))))
+ (home-page "https://github.com/leela-zero/leela-zero")
+ (synopsis "Program playing the game of Go")
+ (description
+ "Leela-zero is a Go engine with no human-provided knowledge, modeled after
+the AlphaGo Zero paper. The current best network weights file for the engine
+can be downloaded from @url{https://zero.sjeng.org/best-network}.")
+ (license license:gpl3+)))
diff --git a/gnu/packages/genealogy.scm b/gnu/packages/genealogy.scm
new file mode 100644
index 0000000000..2db3fdb918
--- /dev/null
+++ b/gnu/packages/genealogy.scm
@@ -0,0 +1,112 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
+;;;
+;;; 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 genealogy)
+ #:use-module (guix build-system python)
+ #:use-module (guix git-download)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (gnu packages fonts)
+ #:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages geo)
+ #:use-module (gnu packages gettext)
+ #:use-module (gnu packages ghostscript)
+ #:use-module (gnu packages glib)
+ #:use-module (gnu packages gnome)
+ #:use-module (gnu packages graphviz)
+ #:use-module (gnu packages gtk)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages sqlite)
+ #:use-module (gnu packages version-control))
+
+(define-public gramps
+ (package
+ (name "gramps")
+ (version "5.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gramps-project/gramps.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1jz1fbjj6byndvir7qxzhd2ryirrd5h2kwndxpp53xdc05z1i8g7"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("gettext" ,gettext-minimal)
+ ("intltool" ,intltool)))
+ (inputs
+ `(("font-gnu-freefont-ttf" ,font-gnu-freefont-ttf)
+ ("geocode-glib" ,geocode-glib)
+ ("gexiv2" ,gexiv2)
+ ("ghostscript" ,ghostscript)
+ ("gobject-introspection" ,gobject-introspection)
+ ("gtk+" ,gtk+)
+ ("gtkspell3" ,gtkspell3)
+ ("graphviz" ,graphviz)
+ ("librsvg" ,librsvg)
+ ("osm-gps-map" ,osm-gps-map)
+ ("pango" ,pango)
+ ("python-bsddb3" ,python-bsddb3)
+ ("python-pillow" ,python-pillow)
+ ("python-pycairo" ,python-pycairo)
+ ("python-pygobject" ,python-pygobject)
+ ("python-pyicu" ,python-pyicu)
+ ("rcs" ,rcs)
+ ("sqlite" ,sqlite)
+ ("xdg-utils" ,xdg-utils)))
+ (arguments
+ `(#:imported-modules ((guix build glib-or-gtk-build-system)
+ ,@%python-build-system-modules)
+ #:modules ((ice-9 match)
+ (guix build python-build-system)
+ ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
+ (guix build utils))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'set-home-for-tests
+ (lambda _
+ (setenv "HOME" (getenv "TMPDIR"))
+ #t))
+ (add-before 'wrap 'wrap-with-GI_TYPELIB_PATH
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (paths (map (match-lambda
+ ((output . directory)
+ (let ((girepodir (string-append
+ directory
+ "/lib/girepository-1.0")))
+ (if (file-exists? girepodir)
+ girepodir
+ #f))))
+ inputs)))
+ (wrap-program (string-append out "/bin/gramps")
+ `("GI_TYPELIB_PATH" ":" prefix ,(filter identity paths))))
+ #t))
+ (add-after 'wrap 'glib-or-gtk-wrap
+ (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
+ (home-page "https://gramps-project.org")
+ (synopsis "Genealogical research software")
+ (description
+ "Gramps is a free software project and community striving to produce
+a genealogy program that is both intuitive for hobbyists and feature-complete
+for professional genealogists.")
+ (license license:gpl2+)))
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 2c511c7193..2ee74794d8 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -872,3 +872,36 @@ dropping features at lower levels.")
OpenStreetMap project. They can be used to convert, filter and update
OpenStreetMap data files.")
(license license:agpl3)))
+
+(define-public osm-gps-map
+ (package
+ (name "osm-gps-map")
+ (version "1.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/nzjrs/osm-gps-map/releases/download/"
+ version "/osm-gps-map-" version ".tar.gz"))
+ (sha256
+ (base32
+ "11imsf4cz1dpxdjh178k2s29axmq86rkfg1pqmn7incyxmjzhbwg"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("gnome-common" ,gnome-common)
+ ("gtk-doc" ,gtk-doc)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("cairo" ,cairo)
+ ("glib" ,glib)
+ ("gobject-introspection" ,gobject-introspection)
+ ("gtk+" ,gtk+)
+ ("libsoup" ,libsoup)))
+ (home-page "https://nzjrs.github.io/osm-gps-map/")
+ (synopsis "GTK+ widget for displaying OpenStreetMap tiles")
+ (description
+ "This package provides a GTK+ widget (and Python bindings) that when
+given GPS coordinates,draws a GPS track, and points of interest on a moving
+map display. Downloads map data from a number of websites, including
+@url{https://www.openstreetmap.org}.")
+ (license license:gpl2+)))
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index 96e7fc7165..99d2ec6cdb 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -399,6 +399,31 @@ device drivers allows Mesa to be used in many different environments ranging
from software emulation to complete hardware acceleration for modern GPUs.")
(license license:x11)))
+(define-public mesa-opencl
+ (package
+ (inherit mesa)
+ (name "mesa-opencl")
+ (arguments
+ (substitute-keyword-arguments (package-arguments mesa)
+ ((#:configure-flags flags)
+ `(cons "-Dgallium-opencl=standalone" ,flags))))
+ (inputs
+ `(("libclc" ,libclc)
+ ,@(package-inputs mesa)))
+ (native-inputs
+ `(("clang" ,clang)
+ ,@(package-native-inputs mesa)))))
+
+(define-public mesa-opencl-icd
+ (package
+ (inherit mesa-opencl)
+ (name "mesa-opencl-icd")
+ (arguments
+ (substitute-keyword-arguments (package-arguments mesa)
+ ((#:configure-flags flags)
+ `(cons "-Dgallium-opencl=icd"
+ ,(delete "-Dgallium-opencl=standalone" flags)))))))
+
(define-public mesa-headers
(package
(inherit mesa)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index f8a6a774da..b7152a3aff 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -7392,8 +7392,21 @@ kill/reinice processes.")
"/pyatspi-" version ".tar.xz"))
(sha256
(base32
- "0xdnix7gxzgf75xy9ris4dd6b05mqwicw190b98xqmypydyf95n6"))))
+ "0xdnix7gxzgf75xy9ris4dd6b05mqwicw190b98xqmypydyf95n6"))
+ ;; Patch from upstream, fixed in newer versions.
+ (patches (search-patches "python-pyatspi-python-37.patch"))))
(build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'fix-atk-load
+ (lambda _
+ (substitute* "pyatspi/__init__.py"
+ (("from gi.repository import Atspi")
+ "gi.require_version('Gtk', '3.0')
+from gi.repository import Gtk
+from gi.repository import Atspi"))
+ #t)))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index ab75925a9d..00608c2c8b 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -377,15 +377,13 @@ libskba (working with X.509 certificates and CMS data).")
(define-public gpgme
(package
(name "gpgme")
- (version "1.13.0")
+ (version "1.13.1")
(source
(origin
(method url-fetch)
- (uri (string-append "mirror://gnupg/gpgme/gpgme-" version
- ".tar.bz2"))
+ (uri (string-append "mirror://gnupg/gpgme/gpgme-" version ".tar.bz2"))
(sha256
- (base32
- "0c6676g0yhfsmy32i1dgwh5cx0ja8vhcqf4k08zad177m53kxcnl"))))
+ (base32 "0imyjfryvvjdbai454p70zcr95m94j9xnzywrlilqdw2fqi0pqy4"))))
(build-system gnu-build-system)
(native-inputs
`(("gnupg" ,gnupg)))
@@ -669,17 +667,17 @@ PGP keysigning parties.")
(define-public signing-party
(package
(name "signing-party")
- (version "2.7")
- (home-page "https://salsa.debian.org/debian/signing-party")
+ (version "2.10")
+ (home-page "https://salsa.debian.org/signing-party-team/signing-party")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
- (commit (string-append "release-" version))))
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "1gx9017wag4bgc0h7kca9n3jwwdm7z77yv3viayhg62flbwkvbgb"))))
+ "0lq8nmwjmysry0n4jg6vb7bh0lagbyb9pa11ii3s41p1mhzchf2r"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf-wrapper)
@@ -691,7 +689,7 @@ PGP keysigning parties.")
("perl-net-idn-encode" ,perl-net-idn-encode)
("libmd" ,libmd)))
(arguments
- `(#:tests? #f
+ `(#:tests? #f ; no test suite
#:phases
(modify-phases %standard-phases
(replace 'configure
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index c2356f2a44..a874878fea 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -426,7 +426,7 @@ from forcing GEXP-PROMISE."
#:system system
#:guile-for-build guile)))
-(define %icecat-version "60.7.0-guix2")
+(define %icecat-version "60.7.2-guix1")
;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
@@ -448,7 +448,7 @@ from forcing GEXP-PROMISE."
"firefox-" upstream-firefox-version ".source.tar.xz"))
(sha256
(base32
- "08x0nijh0ja5jza95a8y030ibk756bn7zlw3a3c4750yilfhqpqa"))))
+ "1hkaq8mavmn2wphfbrlq3v56jvmvfi2nyvrkjgr28rc01jkqx4ca"))))
(upstream-icecat-base-version "60.7.0") ; maybe older than base-version
(upstream-icecat-gnu-version "1")
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 43888ab23f..e4d6af51c5 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -68,6 +68,7 @@
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
#:use-module (gnu packages libffi)
+ #:use-module (gnu packages linux)
#:use-module (gnu packages pdf)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
@@ -1687,12 +1688,12 @@ input.")
(origin
(method url-fetch)
(uri (string-append "https://alpha.gnu.org/gnu/ssw/"
- name "-" version ".tar.gz"))
+ "spread-sheet-widget-" version ".tar.gz"))
(sha256
(base32 "1h93yyh2by6yrmkwqg38nd5knids05k5nqzcihc1hdwgzg3c4b8y"))))
(build-system gnu-build-system)
(native-inputs
- `(("glib" ,glib "bin") ; for glib-genmarshal, etc.
+ `(("glib" ,glib "bin") ; for glib-genmarshal, etc.
("pkg-config" ,pkg-config)))
;; In 'Requires' of spread-sheet-widget.pc.
(propagated-inputs
@@ -1706,6 +1707,38 @@ viewing and manipulating 2 dimensional tabular data in a manner similar to many
popular spread sheet programs.")
(license license:gpl3+)))
+(define-public volumeicon
+ (package
+ (name "volumeicon")
+ (version "0.5.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://nullwise.com/files/volumeicon/volumeicon-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "182xl2w8syv6ky2h2bc9imc6ap8pzh0p7rp63hh8nw0xm38c3f14"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ (list "--enable-notify"))) ; optional libnotify support
+ (native-inputs
+ `(("intltool" ,intltool)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("gtk+" ,gtk+)
+ ("libnotify" ,libnotify)))
+ (home-page "http://nullwise.com/volumeicon.html")
+ (synopsis "System tray volume applet")
+ (description
+ "Volume Icon is a volume indicator and control applet for @acronym{the
+Advanced Linux Sound Architecture, ALSA}. It sits in the system tray,
+independent of your desktop environment, and supports global key bindings.")
+ (license (list license:expat ; src/{bind.c,keybinder.h}
+ license:isc ; src/alsa_volume_mapping.c
+ license:gpl3)))) ; the rest & combined work
+
(define-public yad
(package
(name "yad")
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index c02606f919..a8352380f7 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -2123,7 +2123,14 @@ chunks can be expressions as well as simple tokens.")
(file-name (git-file-name name version))
(sha256
(base32
- "0z5nf377wh8yj6n3sx2ddn4bdx1qrqnw899dlqjhg0q69qzil522"))))
+ "0z5nf377wh8yj6n3sx2ddn4bdx1qrqnw899dlqjhg0q69qzil522"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Install .go files in the right place.
+ (substitute* "Makefile.am"
+ (("/ccache") "/site-ccache"))
+ #t))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -2163,8 +2170,8 @@ serializing continuations or delimited continuations.")
(license license:lgpl2.0+))))
(define-public python-on-guile
- (let ((commit "058c596cd3886447da31171e1026d4d19f5f5313")
- (revision "2"))
+ (let ((commit "00a51a23247f1edc4ae8eda72b30df5cd7d0015f")
+ (revision "3"))
(package
(name "python-on-guile")
(version (git-version "0.1.0" revision commit))
@@ -2176,16 +2183,27 @@ serializing continuations or delimited continuations.")
(file-name (git-file-name name version))
(sha256
(base32
- "0ppyh5kkhsph5kc091p2b5a3alnj3wnlx8jr5xpyhrsj0vx9cqph"))))
+ "03rpnqr08rqr3gay128g564rwk8w4jbj28ss6b46z1d4vjs4nk68"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-build? #f ; not supported
- #:make-flags
- '("GUILE_AUTO_COMPILE=0") ; to prevent guild errors
+ #:make-flags '("GUILE_AUTO_COMPILE=0") ;to prevent guild warnings
+
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir
- (lambda _ (chdir "modules") #t)))))
+ (lambda _ (chdir "modules") #t))
+ (add-after 'install 'wrap
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Wrap the 'python' executable so it can find its
+ ;; dependencies.
+ (let ((out (assoc-ref outputs "out")))
+ (wrap-program (string-append out "/bin/python")
+ `("GUILE_LOAD_PATH" ":" prefix
+ (,(getenv "GUILE_LOAD_PATH")))
+ `("GUILE_LOAD_COMPILED_PATH" ":" prefix
+ (,(getenv "GUILE_LOAD_COMPILED_PATH"))))
+ #t))))))
(inputs
`(("guile" ,guile-2.2)))
(propagated-inputs
@@ -2384,3 +2402,37 @@ and minor modes, etc., and can also be used as a pure Guile library. It
comes with a simple counter example using GLUT and browser examples in C
using gtk+-3 and webkitgtk.")
(license license:gpl3+))))
+
+(define-public guile-jpeg
+ (let ((commit "6a1673578b297c2c1b28e44a76bd5c49e76a5046")
+ (revision "0"))
+ (package
+ (name "guile-jpeg")
+ (version (git-version "0.0" revision commit))
+ (home-page "https://gitlab.com/wingo/guile-jpeg")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference (url home-page)
+ (commit commit)))
+ (sha256
+ (base32
+ "05z9m408w3h6aqb5k3r3qa7khir0k10rxwvsrzhkcq1hr5vbmr4m"))
+ (file-name (git-file-name name version))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Install .go files in the right place.
+ (substitute* "Makefile.am"
+ (("/ccache") "/site-ccache"))
+ #t))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("pkg-config" ,pkg-config)
+ ("guile" ,guile-2.2)))
+ (synopsis "JPEG file parsing library for Guile")
+ (description
+ "Guile-JPEG is a Scheme library to parse JPEG image files and to
+perform geometrical transforms on JPEG images.")
+ (license license:gpl3+))))
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm