From 57c3b71cbe1cd9ca6055823a029bd1238e8756bd Mon Sep 17 00:00:00 2001 From: Jakub Kądziołka Date: Sun, 29 Mar 2020 18:35:06 +0200 Subject: gnu: Update hash-extender. * gnu/packages/crypto.scm (hash-extender): Update to newer commit. * gnu/packages/patches/hash-extender-test-suite.patch: The patch was merged upstream, no need to apply it anymore. * gnu/local.mk (dist_patch_DATA): Unregister the patch file. --- gnu/local.mk | 1 - 1 file changed, 1 deletion(-) (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index b8649b39b1..cb492cba37 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1006,7 +1006,6 @@ dist_patch_DATA = \ %D%/packages/patches/gtksourceview-2-add-default-directory.patch \ %D%/packages/patches/gzdoom-search-in-installed-share.patch \ %D%/packages/patches/gzdoom-find-system-libgme.patch \ - %D%/packages/patches/hash-extender-test-suite.patch \ %D%/packages/patches/haskell-mode-unused-variables.patch \ %D%/packages/patches/haskell-mode-make-check.patch \ %D%/packages/patches/hdf4-architectures.patch \ -- cgit v1.2.3 From e5b44b06b3fb19c897fb3e430bd41941905e101f Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 27 Mar 2020 18:44:48 -0400 Subject: gnu: GnuPG: Really use ~/.guix-profile/bin/pinentry by default. Fixes . * gnu/packages/patches/gnupg-default-pinentry.patch: New file. Use $HOME to find the user's Guix profile and installed pinentry. * gnu/local.mk (dist_patch_DATA): Add the patch. * gnu/packages/gnupg.scm (gnupg)[source]: Use it. --- gnu/local.mk | 1 + gnu/packages/gnupg.scm | 3 +- gnu/packages/patches/gnupg-default-pinentry.patch | 65 +++++++++++++++++++++++ 3 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/gnupg-default-pinentry.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index cb492cba37..7d8145b10d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -973,6 +973,7 @@ dist_patch_DATA = \ %D%/packages/patches/gmp-faulty-test.patch \ %D%/packages/patches/gnome-shell-theme.patch \ %D%/packages/patches/gnome-tweaks-search-paths.patch \ + %D%/packages/patches/gnupg-default-pinentry.patch \ %D%/packages/patches/gnutls-skip-trust-store-test.patch \ %D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \ %D%/packages/patches/gobject-introspection-cc.patch \ diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 856c01a6d8..04bb705712 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2016 Christopher Baines ;;; Copyright © 2016 Mike Gerwitz ;;; Copyright © 2016 Troy Sankey -;;; Copyright © 2017 Leo Famulari +;;; Copyright © 2017, 2020 Leo Famulari ;;; Copyright © 2017 Petter ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2018, 2019 Marius Bakke @@ -252,6 +252,7 @@ compatible to GNU Pth.") (method url-fetch) (uri (string-append "mirror://gnupg/gnupg/gnupg-" version ".tar.bz2")) + (patches (search-patches "gnupg-default-pinentry.patch")) (sha256 (base32 "0c6a4v9p6qzhsw1pfcwc459bxpc8hma0w9z8iqb9khvligack9q4")))) diff --git a/gnu/packages/patches/gnupg-default-pinentry.patch b/gnu/packages/patches/gnupg-default-pinentry.patch new file mode 100644 index 0000000000..a8ed613565 --- /dev/null +++ b/gnu/packages/patches/gnupg-default-pinentry.patch @@ -0,0 +1,65 @@ +Make GnuPG automatically find a pinentry installed by Guix. Try using +$HOME or, if that variable is not set, use the system password database, +or fall back to looking in "/". + +More information: + +https://bugs.gnu.org/24076 + +diff --git a/common/homedir.c b/common/homedir.c +index 4b6e46e88..f7ae68ba5 100644 +--- a/common/homedir.c ++++ b/common/homedir.c +@@ -33,6 +33,7 @@ + #include + #include + #include ++#include + + #ifdef HAVE_W32_SYSTEM + #include /* Due to the stupid mingw64 requirement to +@@ -67,6 +68,10 @@ + * gnupg_homedir and gnupg_set_homedir. Malloced. */ + static char *the_gnupg_homedir; + ++/* The user's home directory. Used in Guix to help GnuPG find the ++ * pinentry. */ ++static char *the_user_homedir; ++ + /* Flag indicating that home directory is not the default one. */ + static byte non_default_homedir; + +@@ -509,6 +514,25 @@ gnupg_homedir (void) + return the_gnupg_homedir; + } + ++/* Return the user's home directory */ ++const char * ++user_homedir (void) ++{ ++ const char *dir; ++ dir = getenv("HOME"); ++ if (dir == NULL) ++ { ++ struct passwd *pw = NULL; ++ pw = getpwuid (getuid ()); ++ if (pw != NULL) ++ dir = pw->pw_dir; ++ else ++ dir = "/"; ++ } ++ if (!the_user_homedir) ++ the_user_homedir = make_absfilename (dir, NULL); ++ return the_user_homedir; ++} + + /* Return whether the home dir is the default one. */ + int +@@ -971,6 +995,7 @@ get_default_pinentry_name (int reset) + } names[] = { + /* The first entry is what we return in case we found no + other pinentry. */ ++ { user_homedir, "/.guix-profile/bin/pinentry" }, + { gnupg_bindir, DIRSEP_S "pinentry" EXEEXT_S }, + #ifdef HAVE_W32_SYSTEM + /* Try Gpg4win directory (with bin and without.) */ -- cgit v1.2.3 From 04fd952d54ffbc4935a44c50219be7c1da306531 Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian Date: Mon, 30 Mar 2020 19:46:59 +0000 Subject: gnu: reprotest: Update to 0.7.14. * gnu/packages/diffoscope (reprotest): Update to 0.7.14. * gnu/packages/patches/reprotest-support-guix.patch: Remove file. * gnu/local.mk [dist_patch_DATA]: Update accordingly. --- gnu/local.mk | 1 - gnu/packages/diffoscope.scm | 5 +- gnu/packages/patches/reprotest-support-guix.patch | 79 ----------------------- 3 files changed, 2 insertions(+), 83 deletions(-) delete mode 100644 gnu/packages/patches/reprotest-support-guix.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 7d8145b10d..eec65c6565 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1389,7 +1389,6 @@ dist_patch_DATA = \ %D%/packages/patches/readline-link-ncurses.patch \ %D%/packages/patches/readline-6.2-CVE-2014-2524.patch \ %D%/packages/patches/reposurgeon-add-missing-docbook-files.patch \ - %D%/packages/patches/reprotest-support-guix.patch \ %D%/packages/patches/ri-li-modernize_cpp.patch \ %D%/packages/patches/ripperx-missing-file.patch \ %D%/packages/patches/rpcbind-CVE-2017-8779.patch \ diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm index 0cfb107aae..b835fb4510 100644 --- a/gnu/packages/diffoscope.scm +++ b/gnu/packages/diffoscope.scm @@ -228,7 +228,7 @@ install.") (define-public reprotest (package (name "reprotest") - (version "0.7.13") + (version "0.7.14") (source (origin (method git-fetch) @@ -236,10 +236,9 @@ install.") (url "https://salsa.debian.org/reproducible-builds/reprotest.git") (commit version))) (file-name (git-file-name name version)) - (patches (search-patches "reprotest-support-guix.patch")) (sha256 (base32 - "0jj9sqxbdpypnc0y8md352wwzh1by6nyhmx5fwqnvrbznrng332f")))) + "12d07xq5zx5dfbsgakm6zcn7hgf0h9f5kvfjqkiyak4ix5aa6xkf")))) (inputs `(("python-debian" ,python-debian) ("python-distro" ,python-distro) diff --git a/gnu/packages/patches/reprotest-support-guix.patch b/gnu/packages/patches/reprotest-support-guix.patch deleted file mode 100644 index 621c4e3359..0000000000 --- a/gnu/packages/patches/reprotest-support-guix.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 31bd4fe777cbff3ebca74115e5735a8b8f584fa7 Mon Sep 17 00:00:00 2001 -From: Vagrant Cascadian -Date: Thu, 6 Feb 2020 23:17:58 -0800 -Subject: [PATCH] Add support for GNU Guix. - ---- - reprotest/lib/adt_testbed.py | 2 ++ - reprotest/lib/system_interface/guix.py | 39 ++++++++++++++++++++++++++ - 2 files changed, 41 insertions(+) - create mode 100644 reprotest/lib/system_interface/guix.py - -diff --git a/reprotest/lib/adt_testbed.py b/reprotest/lib/adt_testbed.py -index ef704d6..60bf763 100644 ---- a/reprotest/lib/adt_testbed.py -+++ b/reprotest/lib/adt_testbed.py -@@ -40,6 +40,7 @@ import urllib.parse - from reprotest.lib.system_interface.debian import DebianInterface - from reprotest.lib.system_interface.arch import ArchInterface - from reprotest.lib.system_interface.fedora import FedoraInterface -+from reprotest.lib.system_interface.guix import GuixInterface - from reprotest.lib import adtlog - from reprotest.lib import VirtSubproc - -@@ -47,6 +48,7 @@ SYSTEM_INTERFACES = { - 'debian': DebianInterface, - 'arch': ArchInterface, - 'fedora': FedoraInterface, -+ 'guix': GuixInterface, - } - - timeouts = { -diff --git a/reprotest/lib/system_interface/guix.py b/reprotest/lib/system_interface/guix.py -new file mode 100644 -index 0000000..2b06104 ---- /dev/null -+++ b/reprotest/lib/system_interface/guix.py -@@ -0,0 +1,39 @@ -+# adt_testbed.py is part of autopkgtest -+# autopkgtest is a tool for testing Debian binary packages. The -+# system_interface module is an addition for reprotest to make -+# this module distro-agnostic -+# -+# autopkgtest is Copyright (C) 2006-2015 Canonical Ltd. -+# the system_interface module is Copyright (C) 2017 Santiago Torres-Arias -+# -+# 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 2 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, write to the Free Software -+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+# -+# See the file CREDITS for a full list of credits information (often -+# installed as /usr/share/doc/autopkgtest/CREDITS). -+import subprocess -+ -+from . import SystemInterface -+ -+class GuixInterface(SystemInterface): -+ """ -+ SystemInterface implementation for GNU Guix hosts. Contains commands that -+ are specific to the GNU Guix toolchain. -+ """ -+ -+ def get_arch(self): -+ return ['uname', '-m'] -+ -+ def can_query_packages(self): -+ return False --- -2.20.1 - -- cgit v1.2.3 From 653a51cb2862f57c20ebaa9dc1b62616742b55b3 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 31 Mar 2020 13:23:12 -0400 Subject: gnu: pam-krb5: Fix CVE-2020-10595. * gnu/packages/patches/pam-krb5-CVE-2020-10595.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/admin.scm (pam-krb5)[source]: Use it. --- gnu/local.mk | 1 + gnu/packages/admin.scm | 1 + gnu/packages/patches/pam-krb5-CVE-2020-10595.patch | 42 ++++++++++++++++++++++ 3 files changed, 44 insertions(+) create mode 100644 gnu/packages/patches/pam-krb5-CVE-2020-10595.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index eec65c6565..19ab32c0f5 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1269,6 +1269,7 @@ dist_patch_DATA = \ %D%/packages/patches/p7zip-CVE-2016-9296.patch \ %D%/packages/patches/p7zip-CVE-2017-17969.patch \ %D%/packages/patches/p7zip-remove-unused-code.patch \ + %D%/packages/patches/pam-krb5-CVE-2020-10595.patch \ %D%/packages/patches/pam-mount-luks2-support.patch \ %D%/packages/patches/sdl-pango-api_additions.patch \ %D%/packages/patches/sdl-pango-blit_overflow.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 98cb2f90aa..e7f63eb2a9 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -2626,6 +2626,7 @@ shortcut syntax and completion options.") (uri (string-append "https://archives.eyrie.org/software/kerberos/" "pam-krb5-" version ".tar.xz")) + (patches (search-patches "pam-krb5-CVE-2020-10595.patch")) (sha256 (base32 "1qjp8i1s9bz7g6kiqrkzzkxn5pfspa4sy53b6z40fqmdf9przdfb")))) diff --git a/gnu/packages/patches/pam-krb5-CVE-2020-10595.patch b/gnu/packages/patches/pam-krb5-CVE-2020-10595.patch new file mode 100644 index 0000000000..4ca061230f --- /dev/null +++ b/gnu/packages/patches/pam-krb5-CVE-2020-10595.patch @@ -0,0 +1,42 @@ +Fix CVE-2020-10595: + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10595 + +Patch copied from upstream advisory: + +https://seclists.org/oss-sec/2020/q1/128 + +diff --git a/prompting.c b/prompting.c +index e985d95..d81054f 100644 +--- a/prompting.c ++++ b/prompting.c +@@ -314,26 +314,27 @@ pamk5_prompter_krb5(krb5_context context UNUSED, void *data, const char *name, + /* + * Reuse pam_prompts as a starting index and copy the data into the reply + * area of the krb5_prompt structs. + */ + pam_prompts = 0; + if (name != NULL && !args->silent) + pam_prompts++; + if (banner != NULL && !args->silent) + pam_prompts++; + for (i = 0; i < num_prompts; i++, pam_prompts++) { +- size_t len; ++ size_t len, allowed; + + if (resp[pam_prompts].resp == NULL) + goto cleanup; + len = strlen(resp[pam_prompts].resp); +- if (len > prompts[i].reply->length) ++ allowed = prompts[i].reply->length; ++ if (allowed == 0 || len > allowed - 1) + goto cleanup; + + /* + * The trailing nul is not included in length, but other applications + * expect it to be there. Therefore, we copy one more byte than the + * actual length of the password, but set length to just the length of + * the password. + */ + memcpy(prompts[i].reply->data, resp[pam_prompts].resp, len + 1); + prompts[i].reply->length = (unsigned int) len; -- cgit v1.2.3 From 44dbd856b7e937df890314812c532eceb26bfefc Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Fri, 27 Mar 2020 13:58:11 +0100 Subject: gnu: python-aiohttp: Enable tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/python-web.scm (python-aiohttp) [arguments]: Enable tests [native-inputs] Add test dependencies [patches] Add test case patch * gnu/packages/patches/python-aiohttp-3.6.2-no-warning-fail.patch: New file * gnu/local.mk (dist_patch_DATA): Add it Signed-off-by: Ludovic Courtès --- gnu/local.mk | 1 + .../python-aiohttp-3.6.2-no-warning-fail.patch | 34 ++++++++++++++++++++ gnu/packages/python-web.scm | 36 ++++++++++++++++++++-- 3 files changed, 69 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/python-aiohttp-3.6.2-no-warning-fail.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 19ab32c0f5..6c85e6e806 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1338,6 +1338,7 @@ dist_patch_DATA = \ %D%/packages/patches/python-3.8-search-paths.patch \ %D%/packages/patches/python-3.8-fix-tests.patch \ %D%/packages/patches/python-CVE-2018-14647.patch \ + %D%/packages/patches/python-aiohttp-3.6.2-no-warning-fail.patch \ %D%/packages/patches/python-alembic-exceptions-cause.patch \ %D%/packages/patches/python-axolotl-AES-fix.patch \ %D%/packages/patches/python-cairocffi-dlopen-path.patch \ diff --git a/gnu/packages/patches/python-aiohttp-3.6.2-no-warning-fail.patch b/gnu/packages/patches/python-aiohttp-3.6.2-no-warning-fail.patch new file mode 100644 index 0000000000..6cdddefd50 --- /dev/null +++ b/gnu/packages/patches/python-aiohttp-3.6.2-no-warning-fail.patch @@ -0,0 +1,34 @@ +Do not fail test on runtime warning like: RuntimeWarning: coroutine 'noop2' was +never awaited. This could be related to +https://github.com/aio-libs/aiohttp/commit/60f01cca36b9f9d8d35dd351384eaae2f8fd0d4b, +which does not fix this issue though. + +--- a/aiohttp/pytest_plugin.py 2019-10-09 18:52:31.000000000 +0200 ++++ b/aiohttp/pytest_plugin.py 2020-03-05 08:35:48.230396025 +0100 +@@ -120,15 +120,6 @@ + """ + with warnings.catch_warnings(record=True) as _warnings: + yield +- rw = ['{w.filename}:{w.lineno}:{w.message}'.format(w=w) +- for w in _warnings # type: ignore +- if w.category == RuntimeWarning] +- if rw: +- raise RuntimeError('{} Runtime Warning{},\n{}'.format( +- len(rw), +- '' if len(rw) == 1 else 's', +- '\n'.join(rw) +- )) + + + @contextlib.contextmanager +--- a/tests/test_pytest_plugin.py 2020-03-05 09:26:58.502284893 +0100 ++++ a/tests/test_pytest_plugin.py 2020-03-05 09:27:06.074284619 +0100 +@@ -170,7 +170,7 @@ + expected_outcomes = ( + {'failed': 0, 'passed': 2} + if IS_PYPY and bool(os.environ.get('PYTHONASYNCIODEBUG')) +- else {'failed': 1, 'passed': 1} ++ else {'failed': 0, 'passed': 2} + ) + """Under PyPy "coroutine 'foobar' was never awaited" does not happen.""" + result.assert_outcomes(**expected_outcomes) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 19c08026f2..3686432a1d 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -90,10 +90,23 @@ (uri (pypi-uri "aiohttp" version)) (sha256 (base32 - "09pkw6f1790prnrq0k8cqgnf1qy57ll8lpmc6kld09q7zw4vi6i5")))) + "09pkw6f1790prnrq0k8cqgnf1qy57ll8lpmc6kld09q7zw4vi6i5")) + (patches (search-patches "python-aiohttp-3.6.2-no-warning-fail.patch")))) + (build-system python-build-system) (arguments - `(#:tests? #f)) ;missing pytest-timeout + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-tests + (lambda _ + ;; disable brotli tests, because we’re not providing that optional library + (substitute* "tests/test_http_parser.py" + ((" async def test_feed_eof_no_err_brotli") + " @pytest.mark.xfail\n async def test_feed_eof_no_err_brotli")) + ;; make sure the timestamp of this file is > 1990, because a few + ;; tests like test_static_file_if_modified_since_past_date depend on it + (invoke "touch" "-d" "2020-01-01" "tests/data.unknown_mime_type") + #t))))) (propagated-inputs `(("python-aiodns" ,python-aiodns) ("python-async-timeout" ,python-async-timeout) @@ -102,6 +115,15 @@ ("python-idna-ssl" ,python-idna-ssl) ("python-multidict" ,python-multidict) ("python-yarl" ,python-yarl))) + (native-inputs + `(("python-pytest-runner" ,python-pytest-runner) + ("python-pytest-xdit" ,python-pytest-xdist) + ("python-pytest-timeout" ,python-pytest-timeout) + ("python-pytest-forked" ,python-pytest-forked) + ("python-pytest-mock" ,python-pytest-mock) + ("gunicorn" ,gunicorn-bootstrap) + ("python-freezegun" ,python-freezegun) + ("python-async-generator" ,python-async-generator))) (home-page "https://github.com/aio-libs/aiohttp/") (synopsis "Async HTTP client/server framework (asyncio)") (description "@code{aiohttp} is an asynchronous HTTP client/server @@ -3447,6 +3469,16 @@ various web frameworks, simply implemented, light on server resources, and fairly speedy.") (license license:expat))) +;; break cyclic dependency for python-aiohttp, which depends on gunicorn for +;; its tests +(define-public gunicorn-bootstrap + (package + (inherit gunicorn) + (name "gunicorn") + (arguments `(#:tests? #f)) + (properties '((hidden? . #t))) + (native-inputs `()))) + (define-public python-translation-finder (package (name "python-translation-finder") -- cgit v1.2.3 From f1f724841a6b610e162d36d08225094317ebaf09 Mon Sep 17 00:00:00 2001 From: Christopher Lemmer Webber Date: Tue, 31 Mar 2020 16:57:15 -0400 Subject: gnu: Add beancount. * gnu/packages/finance.scm (beancount): New variable. * gnu/packages/patches/beancount-disable-googleapis-fonts.patch: New file. * gnu/local.mk: Add it. --- gnu/local.mk | 1 + gnu/packages/finance.scm | 42 ++++++++++++++++++++++ .../beancount-disable-googleapis-fonts.patch | 25 +++++++++++++ 3 files changed, 68 insertions(+) create mode 100644 gnu/packages/patches/beancount-disable-googleapis-fonts.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 6c85e6e806..d49086966b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -761,6 +761,7 @@ dist_patch_DATA = \ %D%/packages/patches/bash-completion-directories.patch \ %D%/packages/patches/bastet-change-source-of-unordered_set.patch \ %D%/packages/patches/bazaar-CVE-2017-14176.patch \ + %D%/packages/patches/beancount-disable-googleapis-fonts.patch \ %D%/packages/patches/beets-werkzeug-compat.patch \ %D%/packages/patches/beignet-correct-file-names.patch \ %D%/packages/patches/benchmark-unbundle-googletest.patch \ diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 7bf8f4fc6e..e666860392 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -16,6 +16,7 @@ ;;; Copyright © 2019 Martin Becze ;;; Copyright © 2019 Sebastian Schott ;;; Copyright © 2020 Kei Kebreau +;;; Copyright © 2020 Christopher Lemmer Webber ;;; ;;; This file is part of GNU Guix. ;;; @@ -1398,3 +1399,44 @@ entity management.") electronic cash system. This package provides a command line client and a Qt GUI.") (license license:expat))) + +(define-public beancount + (package + (name "beancount") + (version "2.2.3") + (source + (origin + (method url-fetch) + (uri (pypi-uri "beancount" version)) + (sha256 + (base32 + "0pcfl2rx2ng06i4f9izdpnlnb1k0rdzsckbzzn4cn4ixfzyssm0m")) + (patches (search-patches "beancount-disable-googleapis-fonts.patch")))) + (build-system python-build-system) + (arguments + `(#:tests? #f ; Says test is missing, not sure why + #:phases + (modify-phases %standard-phases + ;; Not importing the googleapis package for now + (add-after 'unpack 'ignore-googleapis + (lambda _ + (substitute* "setup.py" + (("'google-api-python-client',") "")) + #t))))) + (propagated-inputs + `(("python-beautifulsoup4" ,python-beautifulsoup4) + ("python-bottle" ,python-bottle) + ("python-chardet" ,python-chardet) + ("python-dateutil" ,python-dateutil) + ("python-lxml" ,python-lxml) + ("python-magic" ,python-magic) + ("python-ply" ,python-ply) + ("python-pytest" ,python-pytest) + ("python-requests" ,python-requests))) + (home-page "http://furius.ca/beancount") + (synopsis "Command-line double-entry accounting tool") + (description + "Beancount is a double-entry bookkeeping computer language that lets you +define financial transaction records in a text file, read them in memory, +generate a variety of reports from them, and provides a web interface.") + (license license:gpl2))) diff --git a/gnu/packages/patches/beancount-disable-googleapis-fonts.patch b/gnu/packages/patches/beancount-disable-googleapis-fonts.patch new file mode 100644 index 0000000000..d0fa47b59c --- /dev/null +++ b/gnu/packages/patches/beancount-disable-googleapis-fonts.patch @@ -0,0 +1,25 @@ +https://sources.debian.org/data/main/b/beancount/2.2.0-3/debian/patches/0001-Remove-fonts.googleapis.com-links-for-the-bean-web-t.patch + +From: Nicolas Dandrimont +Date: Tue, 1 May 2018 04:49:55 +0200 +Subject: Remove fonts.googleapis.com links for the bean-web template + +--- + beancount/web/web.html | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/beancount/web/web.html b/beancount/web/web.html +index 3995ce2..ec9e707 100644 +--- a/beancount/web/web.html ++++ b/beancount/web/web.html +@@ -3,10 +3,6 @@ + + + +- +- +- +- + + {{title}}: {{pagetitle}} + \ No newline at end of file -- cgit v1.2.3 From 43b176f36c57aa53883a1e623bd77f399babd788 Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Tue, 24 Mar 2020 15:10:37 +0100 Subject: gnu: sdl2: Update to 2.0.12. * gnu/packages/patches/sdl2-mesa-compat.patch: Delete file. * gnu/packages/sdl.scm (sdl2): Update to 2.0.12. [source]: Drop patch that was included in this release. Signed-off-by: Marius Bakke --- gnu/local.mk | 1 - gnu/packages/patches/sdl2-mesa-compat.patch | 21 --------------------- gnu/packages/sdl.scm | 5 ++--- 3 files changed, 2 insertions(+), 25 deletions(-) delete mode 100644 gnu/packages/patches/sdl2-mesa-compat.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index d49086966b..77696633d2 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1415,7 +1415,6 @@ dist_patch_DATA = \ %D%/packages/patches/scotch-build-parallelism.patch \ %D%/packages/patches/scotch-integer-declarations.patch \ %D%/packages/patches/sdl-libx11-1.6.patch \ - %D%/packages/patches/sdl2-mesa-compat.patch \ %D%/packages/patches/seahorse-gkr-use-0-on-empty-flags.patch \ %D%/packages/patches/seq24-rename-mutex.patch \ %D%/packages/patches/sharutils-CVE-2018-1000097.patch \ diff --git a/gnu/packages/patches/sdl2-mesa-compat.patch b/gnu/packages/patches/sdl2-mesa-compat.patch deleted file mode 100644 index 8182e582e7..0000000000 --- a/gnu/packages/patches/sdl2-mesa-compat.patch +++ /dev/null @@ -1,21 +0,0 @@ -Do not include GLES header when OpenGL headers are already included. - -Taken from upstream: -https://hg.libsdl.org/SDL/rev/369b01006eb2 - -diff -r 4cbaffd0083b -r 369b01006eb2 src/video/SDL_video.c ---- a/src/video/SDL_video.c Fri Oct 11 06:18:24 2019 +0200 -+++ b/src/video/SDL_video.c Sat Oct 12 18:47:56 2019 +0200 -@@ -37,9 +37,9 @@ - #include "SDL_opengl.h" - #endif /* SDL_VIDEO_OPENGL */ - --#if SDL_VIDEO_OPENGL_ES -+#if SDL_VIDEO_OPENGL_ES && !SDL_VIDEO_OPENGL - #include "SDL_opengles.h" --#endif /* SDL_VIDEO_OPENGL_ES */ -+#endif /* SDL_VIDEO_OPENGL_ES && !SDL_VIDEO_OPENGL */ - - /* GL and GLES2 headers conflict on Linux 32 bits */ - #if SDL_VIDEO_OPENGL_ES2 && !SDL_VIDEO_OPENGL - diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm index 8b21f813c9..7b36d5509c 100644 --- a/gnu/packages/sdl.scm +++ b/gnu/packages/sdl.scm @@ -115,16 +115,15 @@ joystick, and graphics hardware.") (define-public sdl2 (package (inherit sdl) (name "sdl2") - (version "2.0.10") + (version "2.0.12") (source (origin (method url-fetch) (uri (string-append "https://libsdl.org/release/SDL2-" version ".tar.gz")) - (patches (search-patches "sdl2-mesa-compat.patch")) (sha256 (base32 - "0mqxp6w5jhbq6y1j690g9r3gpzwjxh4czaglw8x05l7hl49nqrdl")))) + "0qy8wbqvfkb5ps8kxgaaf2zzpkjqbsw712hlp74znbn0jpv6i4il")))) (arguments (substitute-keyword-arguments (package-arguments sdl) ((#:configure-flags flags) -- cgit v1.2.3 From 075290841503d96237a8eabc60fba150b40bef4f Mon Sep 17 00:00:00 2001 From: Alex ter Weele Date: Sat, 29 Feb 2020 11:19:28 -0600 Subject: gnu: Add python-matrix-synapse-ldap3. * gnu/packages/matrix.scm: New file. (python-matrix-synapse-ldap3): New variable. * gnu/local.mk (GNU_SYSTEM_MODULES): Add matrix.scm. Signed-off-by: Marius Bakke --- gnu/local.mk | 1 + gnu/packages/matrix.scm | 52 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 gnu/packages/matrix.scm (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 77696633d2..cf588e5948 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -343,6 +343,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/marst.scm \ %D%/packages/mate.scm \ %D%/packages/maths.scm \ + %D%/packages/matrix.scm \ %D%/packages/maven.scm \ %D%/packages/mc.scm \ %D%/packages/mcrypt.scm \ diff --git a/gnu/packages/matrix.scm b/gnu/packages/matrix.scm new file mode 100644 index 0000000000..693cd98631 --- /dev/null +++ b/gnu/packages/matrix.scm @@ -0,0 +1,52 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2020 Alex ter Weele +;;; +;;; 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 . + +(define-module (gnu packages matrix) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages python-crypto) + #:use-module (gnu packages python-xyz) + #:use-module (guix build-system python) + #:use-module (guix download) + #:use-module (guix packages)) + +(define-public python-matrix-synapse-ldap3 + (package + (name "python-matrix-synapse-ldap3") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "matrix-synapse-ldap3" version)) + (sha256 + (base32 + "01bms89sl16nyh9f141idsz4mnhxvjrc3gj721wxh1fhikps0djx")))) + (build-system python-build-system) + (arguments + ;; tests require synapse, creating a circular dependency. + '(#:tests? #f)) + (propagated-inputs + `(("python-twisted" ,python-twisted) + ("python-ldap3" ,python-ldap3) + ("python-service-identity" ,python-service-identity))) + (home-page "https://github.com/matrix-org/matrix-synapse-ldap3") + (synopsis "LDAP3 auth provider for Synapse") + (description + "This package allows Synapse to use LDAP as a password provider. +This lets users log in to Synapse with their username and password from +an LDAP server.") + (license license:asl2.0))) -- cgit v1.2.3 From 79825bee07fceb781efc40a8c56a85aac13bba5a Mon Sep 17 00:00:00 2001 From: Carl Dong Date: Tue, 24 Mar 2020 15:39:06 -0400 Subject: gnu: cross-base: Add mingw-w64 specific binutils patches. These patches were originally found at the debian mingw-w64 team's binutils repo, and should improve the reproducibility of our mingw-w64 toolchain. * gnu/packages/patches/binutils-mingw-w64-reproducible-import-libraries.patch: New file. * gnu/packages/patches/binutils-mingw-w64-specify-timestamp.patch: New file. * gnu/local.mk (dist_patch_DATA): Update accordingly. * gnu/packages/cross-base.scm (cross-binutils): Apply relevant patches if target is mingw-w64. (package-with-extra-patches): New procedure. --- gnu/local.mk | 2 + gnu/packages/cross-base.scm | 22 +++- ...s-mingw-w64-reproducible-import-libraries.patch | 22 ++++ .../binutils-mingw-w64-specify-timestamp.patch | 137 +++++++++++++++++++++ 4 files changed, 178 insertions(+), 5 deletions(-) create mode 100755 gnu/packages/patches/binutils-mingw-w64-reproducible-import-libraries.patch create mode 100755 gnu/packages/patches/binutils-mingw-w64-specify-timestamp.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index cf588e5948..dd0169a969 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -770,6 +770,8 @@ dist_patch_DATA = \ %D%/packages/patches/bidiv-update-fribidi.patch \ %D%/packages/patches/binutils-boot-2.20.1a.patch \ %D%/packages/patches/binutils-loongson-workaround.patch \ + %D%/packages/patches/binutils-mingw-w64-specify-timestamp.patch \ + %D%/packages/patches/binutils-mingw-w64-reproducible-import-libraries.patch \ %D%/packages/patches/blender-2.79-newer-ffmpeg.patch \ %D%/packages/patches/blender-2.79-python-3.7-fix.patch \ %D%/packages/patches/bluez-CVE-2020-0556.patch \ diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index ab866eebc6..945ef12088 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -76,6 +76,12 @@ (source (origin (inherit (package-source original)) (patches (list patch)))))) +(define (package-with-extra-patches original patches) + "Return package ORIGINAL with all PATCHES appended to its list of patches." + (package-with-patch original + `(,@(origin-patches (package-source original)) + ,@patches)) + (define (cross-binutils target) "Return a cross-Binutils for TARGET." (let ((binutils (package (inherit binutils) @@ -97,11 +103,17 @@ `(cons "--with-sysroot=/" ,flags))))))) ;; For Xtensa, apply Qualcomm's patch. - (cross (if (string-prefix? "xtensa-" target) - (package-with-patch binutils - (search-patch - "ath9k-htc-firmware-binutils.patch")) - binutils) + (cross (cond ((string-prefix? "xtensa-" target) + (package-with-patch binutils + (search-patch + "ath9k-htc-firmware-binutils.patch"))) + ((target-mingw? target) + (package-with-extra-patches + binutils + (search-patches + "binutils-mingw-w64-specify-timestamp.patch" + "binutils-mingw-w64-reproducible-import-libraries.patch"))) + (else binutils)) target))) (define (cross-gcc-arguments target xgcc libc) diff --git a/gnu/packages/patches/binutils-mingw-w64-reproducible-import-libraries.patch b/gnu/packages/patches/binutils-mingw-w64-reproducible-import-libraries.patch new file mode 100755 index 0000000000..3e48b87935 --- /dev/null +++ b/gnu/packages/patches/binutils-mingw-w64-reproducible-import-libraries.patch @@ -0,0 +1,22 @@ +This following patch was originally found at the debian mingw-w64 team's +binutils repo located here: +https://salsa.debian.org/mingw-w64-team/binutils-mingw-w64.git + +Invoke the following in the aforementioned repo to see the original patch: + + $ git show da63f6b:debian/patches/reproducible-import-libraries.patch + +Description: Make DLL import libraries reproducible +Author: Benjamin Moody +Bug-Debian: https://bugs.debian.org/915055 + +--- a/ld/pe-dll.c ++++ b/ld/pe-dll.c +@@ -2844,6 +2844,7 @@ + + bfd_set_format (outarch, bfd_archive); + outarch->has_armap = 1; ++ outarch->flags |= BFD_DETERMINISTIC_OUTPUT; + + /* Work out a reasonable size of things to put onto one line. */ + ar_head = make_head (outarch); diff --git a/gnu/packages/patches/binutils-mingw-w64-specify-timestamp.patch b/gnu/packages/patches/binutils-mingw-w64-specify-timestamp.patch new file mode 100755 index 0000000000..b785043b62 --- /dev/null +++ b/gnu/packages/patches/binutils-mingw-w64-specify-timestamp.patch @@ -0,0 +1,137 @@ +This following patch was originally found at the debian mingw-w64 team's +binutils repo located here: +https://salsa.debian.org/mingw-w64-team/binutils-mingw-w64.git + +Invoke the following in the aforementioned repo to see the original patch: + + $ git show da63f6b:debian/patches/specify-timestamp.patch + +Description: Allow the PE timestamp to be specified +Author: Stephen Kitt + +--- a/bfd/peXXigen.c ++++ b/bfd/peXXigen.c +@@ -70,6 +70,9 @@ + #include + #endif + ++#include ++#include ++ + /* NOTE: it's strange to be including an architecture specific header + in what's supposed to be general (to PE/PEI) code. However, that's + where the definitions are, and they don't vary per architecture +@@ -879,10 +882,38 @@ + + /* Use a real timestamp by default, unless the no-insert-timestamp + option was chosen. */ +- if ((pe_data (abfd)->insert_timestamp)) +- H_PUT_32 (abfd, time (0), filehdr_out->f_timdat); +- else ++ if (pe_data (abfd)->insert_timestamp) { ++ time_t now; ++ char *source_date_epoch; ++ unsigned long long epoch; ++ char *endptr; ++ ++ now = time(NULL); ++ source_date_epoch = getenv("SOURCE_DATE_EPOCH"); ++ if (source_date_epoch) { ++ errno = 0; ++ epoch = strtoull(source_date_epoch, &endptr, 10); ++ if ((errno == ERANGE && (epoch == ULLONG_MAX || epoch == 0)) ++ || (errno != 0 && epoch == 0)) { ++ _bfd_error_handler("Environment variable $SOURCE_DATE_EPOCH: strtoull: %s\n", ++ strerror(errno)); ++ } else if (endptr == source_date_epoch) { ++ _bfd_error_handler("Environment variable $SOURCE_DATE_EPOCH: No digits were found: %s\n", ++ endptr); ++ } else if (*endptr != '\0') { ++ _bfd_error_handler("Environment variable $SOURCE_DATE_EPOCH: Trailing garbage: %s\n", ++ endptr); ++ } else if (epoch > ULONG_MAX) { ++ _bfd_error_handler("Environment variable $SOURCE_DATE_EPOCH: value must be smaller than or equal to: %lu but was found to be: %llu\n", ++ ULONG_MAX, epoch); ++ } else { ++ now = epoch; ++ } ++ } ++ H_PUT_32 (abfd, now, filehdr_out->f_timdat); ++ } else { + H_PUT_32 (abfd, 0, filehdr_out->f_timdat); ++ } + + PUT_FILEHDR_SYMPTR (abfd, filehdr_in->f_symptr, + filehdr_out->f_symptr); +--- a/ld/pe-dll.c ++++ b/ld/pe-dll.c +@@ -26,6 +26,8 @@ + #include "filenames.h" + #include "safe-ctype.h" + ++#include ++#include + #include + + #include "ld.h" +@@ -1202,8 +1204,36 @@ + + memset (edata_d, 0, edata_sz); + +- if (pe_data (abfd)->insert_timestamp) +- H_PUT_32 (abfd, time (0), edata_d + 4); ++ if (pe_data (abfd)->insert_timestamp) { ++ time_t now; ++ char *source_date_epoch; ++ unsigned long long epoch; ++ char *endptr; ++ ++ now = time(NULL); ++ source_date_epoch = getenv("SOURCE_DATE_EPOCH"); ++ if (source_date_epoch) { ++ errno = 0; ++ epoch = strtoull(source_date_epoch, &endptr, 10); ++ if ((errno == ERANGE && (epoch == ULLONG_MAX || epoch == 0)) ++ || (errno != 0 && epoch == 0)) { ++ einfo("Environment variable $SOURCE_DATE_EPOCH: strtoull: %s\n", ++ strerror(errno)); ++ } else if (endptr == source_date_epoch) { ++ einfo("Environment variable $SOURCE_DATE_EPOCH: No digits were found: %s\n", ++ endptr); ++ } else if (*endptr != '\0') { ++ einfo("Environment variable $SOURCE_DATE_EPOCH: Trailing garbage: %s\n", ++ endptr); ++ } else if (epoch > ULONG_MAX) { ++ einfo("Environment variable $SOURCE_DATE_EPOCH: value must be smaller than or equal to: %lu but was found to be: %llu\n", ++ ULONG_MAX, epoch); ++ } else { ++ now = epoch; ++ } ++ } ++ H_PUT_32 (abfd, now, edata_d + 4); ++ } + + if (pe_def_file->version_major != -1) + { +--- a/ld/emultempl/pe.em ++++ b/ld/emultempl/pe.em +@@ -303,7 +303,7 @@ + OPTION_USE_NUL_PREFIXED_IMPORT_TABLES}, + {"no-leading-underscore", no_argument, NULL, OPTION_NO_LEADING_UNDERSCORE}, + {"leading-underscore", no_argument, NULL, OPTION_LEADING_UNDERSCORE}, +- {"insert-timestamp", no_argument, NULL, OPTION_INSERT_TIMESTAMP}, ++ {"insert-timestamp", optional_argument, NULL, OPTION_INSERT_TIMESTAMP}, + {"no-insert-timestamp", no_argument, NULL, OPTION_NO_INSERT_TIMESTAMP}, + #ifdef DLL_SUPPORT + /* getopt allows abbreviations, so we do this to stop it +--- a/ld/emultempl/pep.em ++++ b/ld/emultempl/pep.em +@@ -321,7 +321,7 @@ + {"no-bind", no_argument, NULL, OPTION_NO_BIND}, + {"wdmdriver", no_argument, NULL, OPTION_WDM_DRIVER}, + {"tsaware", no_argument, NULL, OPTION_TERMINAL_SERVER_AWARE}, +- {"insert-timestamp", no_argument, NULL, OPTION_INSERT_TIMESTAMP}, ++ {"insert-timestamp", optional_argument, NULL, OPTION_INSERT_TIMESTAMP}, + {"no-insert-timestamp", no_argument, NULL, OPTION_NO_INSERT_TIMESTAMP}, + {"build-id", optional_argument, NULL, OPTION_BUILD_ID}, + {NULL, no_argument, NULL, 0} -- cgit v1.2.3 From 3e4ce1cc3eb7b35405c4d2c4f837e53ec9952c99 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 3 Apr 2020 15:28:14 +0200 Subject: gnu: calibre: Fix build with python-msgpack >= 1.0. * gnu/packages/patches/calibre-msgpack-compat.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/ebook.scm (calibre)[source](patches): Add it. --- gnu/local.mk | 1 + gnu/packages/ebook.scm | 1 + gnu/packages/patches/calibre-msgpack-compat.patch | 18 ++++++++++++++++++ 3 files changed, 20 insertions(+) create mode 100644 gnu/packages/patches/calibre-msgpack-compat.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index dd0169a969..8328165e17 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -776,6 +776,7 @@ dist_patch_DATA = \ %D%/packages/patches/blender-2.79-python-3.7-fix.patch \ %D%/packages/patches/bluez-CVE-2020-0556.patch \ %D%/packages/patches/byobu-writable-status.patch \ + %D%/packages/patches/calibre-msgpack-compat.patch \ %D%/packages/patches/calibre-no-updates-dialog.patch \ %D%/packages/patches/calibre-remove-test-bs4.patch \ %D%/packages/patches/calibre-remove-test-sqlite.patch \ diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm index 5ac0fb1533..37be173949 100644 --- a/gnu/packages/ebook.scm +++ b/gnu/packages/ebook.scm @@ -104,6 +104,7 @@ (delete-file "resources/calibre-portable.sh") #t)) (patches (search-patches "calibre-no-updates-dialog.patch" + "calibre-msgpack-compat.patch" "calibre-remove-test-bs4.patch" ; TODO: fix test. "calibre-remove-test-sqlite.patch" ; TODO: fix test. "calibre-remove-test-unrar.patch")))) diff --git a/gnu/packages/patches/calibre-msgpack-compat.patch b/gnu/packages/patches/calibre-msgpack-compat.patch new file mode 100644 index 0000000000..9920103bea --- /dev/null +++ b/gnu/packages/patches/calibre-msgpack-compat.patch @@ -0,0 +1,18 @@ +Fix deserialization with msgpack 1.0. + +Patch copied from upstream source repository: +https://github.com/kovidgoyal/calibre/commit/0ff41ac64994ec11b7859fc004c94d08769e3af3 + +diff --git a/src/calibre/utils/serialize.py b/src/calibre/utils/serialize.py +index f5d560c468..c35ae53849 100644 +--- a/src/calibre/utils/serialize.py ++++ b/src/calibre/utils/serialize.py +@@ -110,7 +110,7 @@ def msgpack_decoder(code, data): + def msgpack_loads(dump, use_list=True): + # use_list controls whether msgpack arrays are unpacked as lists or tuples + import msgpack +- return msgpack.unpackb(dump, ext_hook=msgpack_decoder, raw=False, use_list=use_list) ++ return msgpack.unpackb(dump, ext_hook=msgpack_decoder, raw=False, use_list=use_list, strict_map_key=False) + + + def json_loads(data): -- cgit v1.2.3 From 4719b715726303d680cd6f65caad96bfa194cda6 Mon Sep 17 00:00:00 2001 From: Carl Dong Date: Tue, 24 Mar 2020 17:19:33 -0400 Subject: gnu: mingw: Add mingw-w64 reproducibility patches. These patches were originally found at the debian mingw-w64 team's mingw-w64 repo, and should improve the reproducibility of our mingw-w64 toolchain. * gnu/packages/patches/mingw-w64-dlltool-temp-prefix.patch: New file. * gnu/packages/patches/mingw-w64-reproducible-gendef.patch: New file. * gnu/local.mk (dist_patch_DATA): Update accordingly. * gnu/packages/mingw.scm (make-mingw-w64): Apply patches. --- gnu/local.mk | 2 ++ gnu/packages/mingw.scm | 5 ++++- .../patches/mingw-w64-dlltool-temp-prefix.patch | 26 ++++++++++++++++++++++ .../patches/mingw-w64-reproducible-gendef.patch | 23 +++++++++++++++++++ 4 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/mingw-w64-dlltool-temp-prefix.patch create mode 100644 gnu/packages/patches/mingw-w64-reproducible-gendef.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 8328165e17..713d97da86 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1201,6 +1201,8 @@ dist_patch_DATA = \ %D%/packages/patches/metabat-fix-compilation.patch \ %D%/packages/patches/mhash-keygen-test-segfault.patch \ %D%/packages/patches/mingw-w64-6.0.0-gcc.patch \ + %D%/packages/patches/mingw-w64-dlltool-temp-prefix.patch \ + %D%/packages/patches/mingw-w64-reproducible-gendef.patch \ %D%/packages/patches/minisat-friend-declaration.patch \ %D%/packages/patches/minisat-install.patch \ %D%/packages/patches/mpc123-initialize-ao.patch \ diff --git a/gnu/packages/mingw.scm b/gnu/packages/mingw.scm index d0785c5067..b37f6c69bd 100644 --- a/gnu/packages/mingw.scm +++ b/gnu/packages/mingw.scm @@ -53,7 +53,10 @@ specified, recurse and return a mingw-w64 with support for winpthreads." "mingw-w64-release/mingw-w64-v" version ".tar.bz2")) (sha256 (base32 "0a5njsa2zw2ssdz10jkb10mhrf3cb8qp9avs89zqmw4n6pzxy85a")) - (patches (search-patches "mingw-w64-6.0.0-gcc.patch")))) + (patches + (search-patches "mingw-w64-6.0.0-gcc.patch" + "mingw-w64-dlltool-temp-prefix.patch" + "mingw-w64-reproducible-gendef.patch")))) (native-inputs `(("xgcc-core" ,(if xgcc xgcc (cross-gcc triplet))) ("xbinutils" ,(if xbinutils xbinutils (cross-binutils triplet))) ,@(if with-winpthreads? diff --git a/gnu/packages/patches/mingw-w64-dlltool-temp-prefix.patch b/gnu/packages/patches/mingw-w64-dlltool-temp-prefix.patch new file mode 100644 index 0000000000..432cafc162 --- /dev/null +++ b/gnu/packages/patches/mingw-w64-dlltool-temp-prefix.patch @@ -0,0 +1,26 @@ +This following patch was originally found at the debian mingw-w64 team's +mingw-w64 repo located here: +https://salsa.debian.org/mingw-w64-team/mingw-w64.git + +Invoke the following in the aforementioned repo to see the original patch: + + $ git show 4974e2c:debian/patches/dlltool-temp-prefix.patch + +Description: Specify dlltool's temp prefix +Author: Stephen Kitt + +By default dlltool uses its pid for the object files it generates. +Enforcing its temp prefix allows the files it generates to be +reproducible. + +--- a/mingw-w64-crt/Makefile.am ++++ b/mingw-w64-crt/Makefile.am +@@ -36,7 +36,7 @@ + DTDEF32=$(GENLIB) $(DLLTOOLFLAGS32) $(AM_DLLTOOLFLAGS) + DTDEF64=$(GENLIB) $(DLLTOOLFLAGS64) $(AM_DLLTOOLFLAGS) + else +- AM_DLLTOOLFLAGS=-k --as=$(AS) --output-lib $@ ++ AM_DLLTOOLFLAGS=-k --as=$(AS) --output-lib $@ --temp-prefix $$(basename $@ .a) + DLLTOOLFLAGSARM32=-m arm + DLLTOOLFLAGSARM64=-m arm64 + DLLTOOLFLAGS32=--as-flags=--32 -m i386 diff --git a/gnu/packages/patches/mingw-w64-reproducible-gendef.patch b/gnu/packages/patches/mingw-w64-reproducible-gendef.patch new file mode 100644 index 0000000000..ee676af7a0 --- /dev/null +++ b/gnu/packages/patches/mingw-w64-reproducible-gendef.patch @@ -0,0 +1,23 @@ +This following patch was originally found at the debian mingw-w64 team's +mingw-w64 repo located here: +https://salsa.debian.org/mingw-w64-team/mingw-w64.git + +Invoke the following in the aforementioned repo to see the original patch: + + $ git show 4974e2c:debian/patches/reproducible-gendef.patch + +Description: Drop __DATE__ from gendef +Author: Stephen Kitt + +This allows gendef to be built reproducibly. + +--- a/mingw-w64-tools/gendef/src/gendef.c ++++ b/mingw-w64-tools/gendef/src/gendef.c +@@ -196,7 +196,6 @@ + " By default, the output files are named after their DLL counterparts\n" + " gendef MYDLL.DLL Produces MYDLL.def\n" + " gendef - MYDLL.DLL Prints the exports to stdout\n"); +- fprintf (stderr, "\nBuilt on %s\n", __DATE__); + fprintf (stderr, "\nReport bugs to \n"); + exit (0); + } -- cgit v1.2.3 From 77704cb13e5bebf412297dab764a00849a3cfdc0 Mon Sep 17 00:00:00 2001 From: R Veera Kumar Date: Thu, 2 Apr 2020 16:23:17 +0530 Subject: gnu: Add xplanet. * gnu/packages/patches/xplanet-1.3.1-cxx11-eof.patch, gnu/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch, gnu/packages/patches/xplanet-1.3.1-libimage_gif.c.patch, gnu/packages/patches/xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch: New files. * gnu/packages/astronomy.scm (xplanet): New variable. [source]: Use patches. * gnu/local.mk (dist_patch_DATA): Add them. Signed-off-by: Eric Bavier --- gnu/local.mk | 5 + gnu/packages/astronomy.scm | 55 ++++++++ gnu/packages/patches/xplanet-1.3.1-cxx11-eof.patch | 154 +++++++++++++++++++++ ...planet-1.3.1-libdisplay_DisplayOutput.cpp.patch | 16 +++ .../patches/xplanet-1.3.1-libimage_gif.c.patch | 54 ++++++++ ...planet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch | 15 ++ 6 files changed, 299 insertions(+) create mode 100644 gnu/packages/patches/xplanet-1.3.1-cxx11-eof.patch create mode 100644 gnu/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch create mode 100644 gnu/packages/patches/xplanet-1.3.1-libimage_gif.c.patch create mode 100644 gnu/packages/patches/xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 713d97da86..42dbf61af1 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -28,6 +28,7 @@ # Copyright © 2019 Amin Bandali # Copyright © 2020 Brendan Tildesley # Copyright © 2020 Vincent Legoll +# Copyright © 2020 R Veera Kumar # # This file is part of GNU Guix. # @@ -1532,6 +1533,10 @@ dist_patch_DATA = \ %D%/packages/patches/xmoto-utf8.patch \ %D%/packages/patches/xmoto-remove-glext.patch \ %D%/packages/patches/xmoto-reproducible.patch \ + %D%/packages/patches/xplanet-1.3.1-cxx11-eof.patch \ + %D%/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch \ + %D%/packages/patches/xplanet-1.3.1-libimage_gif.c.patch \ + %D%/packages/patches/xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch \ %D%/packages/patches/xsane-fix-memory-leak.patch \ %D%/packages/patches/xsane-fix-pdf-floats.patch \ %D%/packages/patches/xsane-fix-snprintf-buffer-length.patch \ diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 3bb236fde9..ec90eba974 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2018, 2019 Efraim Flashner ;;; Copyright © 2019 by Amar Singh +;;; Copyright © 2020 R Veera Kumar ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,9 +26,11 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix utils) + #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages image) #:use-module (gnu packages compression) + #:use-module (gnu packages fontutils) #:use-module (gnu packages gettext) #:use-module (gnu packages version-control) #:use-module (gnu packages pkg-config) @@ -41,6 +44,8 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages gnome) #:use-module (gnu packages maths) + #:use-module (gnu packages netpbm) + #:use-module (gnu packages xorg) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (srfi srfi-1)) @@ -289,3 +294,53 @@ Mechanics, Astrometry and Astrodynamics library.") (license (list license:lgpl2.0+ license:gpl2+)))) ; examples/transforms.c & lntest/*.c +(define-public xplanet + (package + (name "xplanet") + (version "1.3.1") + (source + (origin + (method url-fetch) + (uri + (string-append + "mirror://sourceforge/xplanet/xplanet/" + version "/xplanet-" version ".tar.gz")) + (sha256 + (base32 "1rzc1alph03j67lrr66499zl0wqndiipmj99nqgvh9xzm1qdb023")) + (patches + (search-patches + "xplanet-1.3.1-cxx11-eof.patch" + "xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch" + "xplanet-1.3.1-libimage_gif.c.patch" + "xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("libx11" ,libx11) + ("libxscrnsaver" ,libxscrnsaver) + ("libice" ,libice) + ("freetype" ,freetype) + ("pango" ,pango) + ("giflib" ,giflib) + ("libjpeg", libjpeg) + ("libpng" ,libpng) + ("libtiff" ,libtiff) + ("netpbm" ,netpbm) + ("zlib" ,zlib))) + (arguments + `(#:configure-flags + (let ((netpbm (assoc-ref %build-inputs "netpbm"))) + (append (list + ;; Give correct path for pnm.h header to configure script + (string-append "CPPFLAGS=-I" netpbm "/include/netpbm") + ;; no nasa jpl cspice support + "--without-cspice" ))))) + (home-page "http://xplanet.sourceforge.net/") + (synopsis "Planetary body renderer") + (description + "Xplanet renders an image of a planet into an X window or file. +All of the major planets and most satellites can be drawn and different map +projections are also supported, including azimuthal, hemisphere, Lambert, +Mercator, Mollweide, Peters, polyconic, orthographic and rectangular.") + (license license:gpl2+))) diff --git a/gnu/packages/patches/xplanet-1.3.1-cxx11-eof.patch b/gnu/packages/patches/xplanet-1.3.1-cxx11-eof.patch new file mode 100644 index 0000000000..b4d5850f75 --- /dev/null +++ b/gnu/packages/patches/xplanet-1.3.1-cxx11-eof.patch @@ -0,0 +1,154 @@ +Author: Eric Bavier Date: 2020-01-13 +Url: https://notabug.org/bavier/guix-bavier/raw/master/bavier/patches/ ++xplanet-cxx11-eof.patch + +diff --git a/src/libannotate/addArcs.cpp b/src/libannotate/addArcs.cpp +index 2ee06c0..4fdb343 100644 +--- a/src/libannotate/addArcs.cpp ++++ b/src/libannotate/addArcs.cpp +@@ -258,7 +258,7 @@ addArcs(PlanetProperties *planetProperties, Planet *planet, + { + ifstream inFile(arcFile.c_str()); + char *line = new char[MAX_LINE_LENGTH]; +- while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL) ++ while (!inFile.getline (line, MAX_LINE_LENGTH, '\n').eof()) + readArcFile(line, planet, view, projection, + planetProperties, annotationMap); + +@@ -292,7 +292,7 @@ addArcs(View *view, multimap &annotationMap) + { + ifstream inFile(arcFile.c_str()); + char *line = new char[256]; +- while (inFile.getline (line, 256, '\n') != NULL) ++ while (!inFile.getline (line, 256, '\n').eof()) + readArcFile(line, NULL, view, NULL, NULL, annotationMap); + + inFile.close(); +diff --git a/src/libannotate/addMarkers.cpp b/src/libannotate/addMarkers.cpp +index dde51c1..b641e6a 100644 +--- a/src/libannotate/addMarkers.cpp ++++ b/src/libannotate/addMarkers.cpp +@@ -429,7 +429,7 @@ addMarkers(PlanetProperties *planetProperties, Planet *planet, + { + ifstream inFile(markerFile.c_str()); + char *line = new char[MAX_LINE_LENGTH]; +- while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL) ++ while (!inFile.getline (line, MAX_LINE_LENGTH, '\n').eof()) + { + unsigned char color[3]; + memcpy(color, planetProperties->MarkerColor(), 3); +@@ -475,7 +475,7 @@ addMarkers(View *view, const int width, const int height, + { + ifstream inFile(markerFile.c_str()); + char *line = new char[MAX_LINE_LENGTH]; +- while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL) ++ while (!inFile.getline (line, MAX_LINE_LENGTH, '\n').eof()) + { + unsigned char color[3]; + memcpy(color, options->Color(), 3); +diff --git a/src/libannotate/addSatellites.cpp b/src/libannotate/addSatellites.cpp +index 2634339..6d9d378 100644 +--- a/src/libannotate/addSatellites.cpp ++++ b/src/libannotate/addSatellites.cpp +@@ -488,10 +488,10 @@ loadSatelliteVector(PlanetProperties *planetProperties) + { + ifstream inFile(tleFile.c_str()); + char lines[3][80]; +- while (inFile.getline(lines[0], 80) != NULL) ++ while (!inFile.getline(lines[0], 80).eof()) + { +- if ((inFile.getline(lines[1], 80) == NULL) +- || (inFile.getline(lines[2], 80) == NULL)) ++ if ((inFile.getline(lines[1], 80).eof()) ++ || (inFile.getline(lines[2], 80).eof())) + { + ostringstream errStr; + errStr << "Malformed TLE file (" << tleFile << ")?\n"; +@@ -542,7 +542,7 @@ addSatellites(PlanetProperties *planetProperties, Planet *planet, + { + ifstream inFile(satFile.c_str()); + char *line = new char[MAX_LINE_LENGTH]; +- while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL) ++ while (!inFile.getline (line, MAX_LINE_LENGTH, '\n').eof()) + readSatelliteFile(line, planet, view, projection, + planetProperties, annotationMap); + +diff --git a/src/libannotate/addSpiceObjects.cpp b/src/libannotate/addSpiceObjects.cpp +index 67b752c..eeadf6e 100644 +--- a/src/libannotate/addSpiceObjects.cpp ++++ b/src/libannotate/addSpiceObjects.cpp +@@ -524,7 +524,7 @@ processSpiceKernels(const bool load) + { + ifstream inFile(kernelFile.c_str()); + char *line = new char[MAX_LINE_LENGTH]; +- while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL) ++ while (!inFile.getline(line, MAX_LINE_LENGTH, '\n').eof()) + { + int ii = 0; + while (isDelimiter(line[ii])) +@@ -576,7 +576,7 @@ addSpiceObjects(map &planetsFromSunMap, + { + ifstream inFile(spiceFile.c_str()); + char *line = new char[MAX_LINE_LENGTH]; +- while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL) ++ while (!inFile.getline(line, MAX_LINE_LENGTH, '\n').eof()) + readSpiceFile(line, planetsFromSunMap, view, projection, + annotationMap); + inFile.close(); +diff --git a/src/libmultiple/RayleighScattering.cpp b/src/libmultiple/RayleighScattering.cpp +index d885173..1be8ece 100644 +--- a/src/libmultiple/RayleighScattering.cpp ++++ b/src/libmultiple/RayleighScattering.cpp +@@ -369,7 +369,7 @@ RayleighScattering::readConfigFile(string configFile) + + diskTemplate_.clear(); + limbTemplate_.clear(); +- while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL) ++ while (!inFile.getline(line, MAX_LINE_LENGTH, '\n').eof()) + { + int i = 0; + while (isDelimiter(line[i])) +@@ -439,7 +439,7 @@ RayleighScattering::readBlock(ifstream &inFile, + values.clear(); + + char line[MAX_LINE_LENGTH]; +- while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL) ++ while (!inFile.getline(line, MAX_LINE_LENGTH, '\n').eof()) + { + int i = 0; + while (isDelimiter(line[i])) +@@ -470,7 +470,7 @@ RayleighScattering::readValue(ifstream &inFile, + double &value) + { + char line[MAX_LINE_LENGTH]; +- while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL) ++ while (!inFile.getline(line, MAX_LINE_LENGTH, '\n').eof()) + { + int i = 0; + while (isDelimiter(line[i])) +diff --git a/src/libmultiple/drawStars.cpp b/src/libmultiple/drawStars.cpp +index ff07c49..aabdfed 100644 +--- a/src/libmultiple/drawStars.cpp ++++ b/src/libmultiple/drawStars.cpp +@@ -41,7 +41,7 @@ drawStars(DisplayBase *display, View *view) + ifstream inFile(starMap.c_str()); + + char line[MAX_LINE_LENGTH]; +- while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL) ++ while (!inFile.getline(line, MAX_LINE_LENGTH, '\n').eof()) + { + if (line[0] == '#') continue; + +diff --git a/src/readConfig.cpp b/src/readConfig.cpp +index cc1964f..4650527 100644 +--- a/src/readConfig.cpp ++++ b/src/readConfig.cpp +@@ -550,7 +550,7 @@ readConfigFile(string configFile, PlanetProperties *planetProperties[]) + + ifstream inFile(configFile.c_str()); + char *line = new char[256]; +- while (inFile.getline(line, 256, '\n') != NULL) ++ while (!inFile.getline(line, 256, '\n').eof()) + readConfig(line, planetProperties); + + // This condition will only be true if [default] is the only diff --git a/gnu/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch b/gnu/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch new file mode 100644 index 0000000000..bf52b0ca27 --- /dev/null +++ b/gnu/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch @@ -0,0 +1,16 @@ +Origin: $NetBSD: patch-src_libdisplay_DisplayOutput.cpp,v 1.1 2019/11/16 17:36:28 ng0 Exp $ + +Modified by: R Veera Kumar 2020-03-28; change to patch -p1 + +diff -uNr xplanet-1.3.1/src/libdisplay/DisplayOutput.cpp xplanet-1.3.1.new/src/libdisplay/DisplayOutput.cpp +--- xplanet-1.3.1/src/libdisplay/DisplayOutput.cpp 2013-02-17 01:07:47.000000000 +0530 ++++ xplanet-1.3.1.new/src/libdisplay/DisplayOutput.cpp 2020-03-28 22:08:44.432499170 +0530 +@@ -51,7 +51,7 @@ + string outputFilename = options->OutputBase(); + int startIndex = options->OutputStartIndex(); + int stopIndex = options->NumTimes() + startIndex - 1; +- if (stopIndex > 1) ++ if (stopIndex > 0) + { + const int digits = (int) (log10((double) stopIndex) + 1); + char buffer[64]; diff --git a/gnu/packages/patches/xplanet-1.3.1-libimage_gif.c.patch b/gnu/packages/patches/xplanet-1.3.1-libimage_gif.c.patch new file mode 100644 index 0000000000..58efc906dc --- /dev/null +++ b/gnu/packages/patches/xplanet-1.3.1-libimage_gif.c.patch @@ -0,0 +1,54 @@ +Origin: $NetBSD: patch-src_libimage_gif.c,v 1.4 2019/11/16 17:36:28 ng0 Exp $ + +Modified by: R Veera Kumar 2020-03-28; change to patch -p1 + +diff -uNr xplanet-1.3.1/src/libimage/gif.c xplanet-1.3.1.new/src/libimage/gif.c +--- xplanet-1.3.1/src/libimage/gif.c 2013-02-17 01:07:47.000000000 +0530 ++++ xplanet-1.3.1.new/src/libimage/gif.c 2020-03-28 22:15:24.444309199 +0530 +@@ -21,7 +21,7 @@ + #include + #include + #include +- ++#include + #include + + /* +@@ -178,8 +178,12 @@ + *BufferP++ = ColorMapEntry->Blue; + } + } +- ++ ++#if GIFLIB_MAJOR >= 5 ++ if (DGifCloseFile(GifFile, NULL) == GIF_ERROR) { ++#else + if (DGifCloseFile(GifFile) == GIF_ERROR) { ++#endif + return(0); + } + +@@ -493,7 +497,11 @@ + static void QuitGifError(GifFileType *GifFile) + { + fprintf(stderr, "Error writing GIF file\n"); ++#if GIFLIB_MAJOR >= 5 ++ if (GifFile != NULL) EGifCloseFile(GifFile, NULL); ++#else + if (GifFile != NULL) EGifCloseFile(GifFile); ++#endif + } + + int +@@ -589,7 +597,11 @@ + Ptr += width; + } + ++#if GIFLIB_MAJOR >= 5 ++ if (EGifCloseFile(GifFile, NULL) == GIF_ERROR) ++#else + if (EGifCloseFile(GifFile) == GIF_ERROR) ++#endif + + { + QuitGifError(GifFile); diff --git a/gnu/packages/patches/xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch b/gnu/packages/patches/xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch new file mode 100644 index 0000000000..a47623fa00 --- /dev/null +++ b/gnu/packages/patches/xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch @@ -0,0 +1,15 @@ +$NetBSD: patch-src_xpUtil-Add2017LeapSecond.cpp,v 1.1 2019/11/16 17:36:28 ng0 Exp $ + +Modified by: R Veera Kumar 2020-03-28; change to patch -p1 + +diff -uNr xplanet-1.3.1/src/xpUtil.cpp xplanet-1.3.1.new/src/xpUtil.cpp +--- xplanet-1.3.1/src/xpUtil.cpp 2016-03-12 08:36:47.000000000 +0530 ++++ xplanet-1.3.1.new/src/xpUtil.cpp 2020-03-28 22:19:10.629891166 +0530 +@@ -434,6 +434,7 @@ + if (jd >= toJulian(2009, 1, 1, 0, 0, 0)) delta_at++; // 34 + if (jd >= toJulian(2012, 7, 1, 0, 0, 0)) delta_at++; // 35 + if (jd >= toJulian(2015, 7, 1, 0, 0, 0)) delta_at++; // 36 ++ if (jd >= toJulian(2017, 1, 1, 0, 0, 0)) delta_at++; // 37 + + const double J2000 = toJulian(2000, 1, 1, 12, 0, 0); + const double m = m0 + m1 * (jd - J2000) * 86400; -- cgit v1.2.3 From 2c56aeaea94d3914acf79f9bbabeef1b3ec8aa07 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Mon, 6 Apr 2020 02:11:41 +0200 Subject: gnu: mediastreamer2: Enable SRTP2. * gnu/packages/patches/mediastreamer-srtp2.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/linphone.scm (mediastreamer2)[source]: Use it. --- gnu/local.mk | 1 + gnu/packages/linphone.scm | 4 +- gnu/packages/patches/mediastreamer-srtp2.patch | 155 +++++++++++++++++++++++++ 3 files changed, 159 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/mediastreamer-srtp2.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 42dbf61af1..debf1f67c3 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1196,6 +1196,7 @@ dist_patch_DATA = \ %D%/packages/patches/mcrypt-CVE-2012-4426.patch \ %D%/packages/patches/mcrypt-CVE-2012-4527.patch \ %D%/packages/patches/libmemcached-build-with-gcc7.patch \ + %D%/packages/patches/mediastreamer-srtp2.patch \ %D%/packages/patches/mesa-skip-disk-cache-test.patch \ %D%/packages/patches/mescc-tools-boot.patch \ %D%/packages/patches/meson-for-build-rpath.patch \ diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm index 5023c5f645..ab223700d5 100644 --- a/gnu/packages/linphone.scm +++ b/gnu/packages/linphone.scm @@ -323,7 +323,9 @@ API. It also comprises a simple HTTP/HTTPS client implementation.") (string-append "https://www.linphone.org/releases/sources/" "mediastreamer/mediastreamer-" version ".tar.gz")) (sha256 - (base32 "0whpqr69wz0pnzvragkpfblxhd0rds8k06c3mw5a0ag216a1yd9k")))) + (base32 "0whpqr69wz0pnzvragkpfblxhd0rds8k06c3mw5a0ag216a1yd9k")) + (patches + (list (search-patch "mediastreamer-srtp2.patch"))))) (build-system cmake-build-system) (arguments `(#:tests? #f ; No test target diff --git a/gnu/packages/patches/mediastreamer-srtp2.patch b/gnu/packages/patches/mediastreamer-srtp2.patch new file mode 100644 index 0000000000..f6d494facb --- /dev/null +++ b/gnu/packages/patches/mediastreamer-srtp2.patch @@ -0,0 +1,155 @@ +From 97903498364ae2596e790cb2c2ce9ac76c04d64a Mon Sep 17 00:00:00 2001 +From: Danmei Chen +Date: Fri, 19 Jan 2018 10:04:07 +0100 +Subject: [PATCH] add compability with srtp2 + +--- + cmake/FindSRTP.cmake | 24 ++++++++++++++++++++---- + src/CMakeLists.txt | 1 + + src/crypto/ms_srtp.c | 10 ++-------- + src/utils/srtp_prefix.h | 41 +++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 64 insertions(+), 12 deletions(-) + create mode 100644 src/utils/srtp_prefix.h + +diff --git a/cmake/FindSRTP.cmake b/cmake/FindSRTP.cmake +index 988b846a..f720ce7e 100644 +--- a/cmake/FindSRTP.cmake ++++ b/cmake/FindSRTP.cmake +@@ -31,20 +31,36 @@ set(_SRTP_ROOT_PATHS + ) + + find_path(SRTP_INCLUDE_DIRS +- NAMES srtp/srtp.h ++ NAMES srtp2/srtp.h + HINTS _SRTP_ROOT_PATHS + PATH_SUFFIXES include + ) + + if(SRTP_INCLUDE_DIRS) + set(HAVE_SRTP_SRTP_H 1) +-endif() +- +-find_library(SRTP_LIBRARIES ++ set(SRTP_VERSION 2) ++ find_library(SRTP_LIBRARIES ++ NAMES srtp2 ++ HINTS ${_SRTP_ROOT_PATHS} ++ PATH_SUFFIXES bin lib ++ ) ++else() ++ find_path(SRTP_INCLUDE_DIRS ++ NAMES srtp/srtp.h ++ HINTS _SRTP_ROOT_PATHS ++ PATH_SUFFIXES include ++ ) ++ if(SRTP_INCLUDE_DIRS) ++ set(HAVE_SRTP_SRTP_H 1) ++ set(SRTP_VERSION 1) ++ endif() ++ find_library(SRTP_LIBRARIES + NAMES srtp + HINTS ${_SRTP_ROOT_PATHS} + PATH_SUFFIXES bin lib + ) ++endif() ++ + + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(SRTP +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index da429764..c46faa62 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -183,6 +183,7 @@ set(VOIP_SOURCE_FILES_C + utils/pcap_sender.c + utils/pcap_sender.h + utils/stream_regulator.c ++ utils/srtp_prefix.h + voip/audioconference.c + voip/audiostream.c + voip/bandwidthcontroller.c +diff --git a/src/crypto/ms_srtp.c b/src/crypto/ms_srtp.c +index 5a510c99..67810316 100644 +--- a/src/crypto/ms_srtp.c ++++ b/src/crypto/ms_srtp.c +@@ -25,6 +25,7 @@ + #include "mediastreamer2/ms_srtp.h" + #include "mediastreamer2/mediastream.h" + ++ + #ifdef HAVE_SRTP + + /*srtp defines all this stuff*/ +@@ -34,13 +35,7 @@ + #undef PACKAGE_TARNAME + #undef PACKAGE_VERSION + +-#if defined(MS2_WINDOWS_PHONE) +-// Windows phone doesn't use make install +-#include +-#else +-#include +-#endif +- ++#include "srtp_prefix.h" + + #include "ortp/b64.h" + +@@ -352,7 +347,6 @@ int ms_srtp_init(void) + srtp_init_done++; + }else{ + ms_fatal("Couldn't initialize SRTP library: %d.", st); +- err_reporting_init("mediastreamer2"); + } + }else srtp_init_done++; + return (int)st; +diff --git a/src/utils/srtp_prefix.h b/src/utils/srtp_prefix.h +new file mode 100644 +index 00000000..68bde496 +--- /dev/null ++++ b/src/utils/srtp_prefix.h +@@ -0,0 +1,41 @@ ++/* ++ mediastreamer2 library - modular sound and video processing and streaming ++ Copyright (C) 2006-2014 Belledonne Communications, Grenoble ++ ++ This library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ This library 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 ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with this library; if not, write to the Free Software ++ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++*/ ++#ifndef __SRTP2_H__ ++#define __SRTP2_H__ ++ ++#if defined(MS2_WINDOWS_PHONE) ++// Windows phone doesn't use make install ++#include ++#elif SRTP_VERSION==1 ++#include ++#else ++#include ++#define err_status_t srtp_err_status_t ++#define err_status_ok srtp_err_status_ok ++#define crypto_policy_t srtp_crypto_policy_t ++#define crypto_policy_set_aes_cm_256_hmac_sha1_80 srtp_crypto_policy_set_aes_cm_256_hmac_sha1_80 ++#define crypto_policy_set_aes_cm_128_hmac_sha1_32 srtp_crypto_policy_set_aes_cm_128_hmac_sha1_32 ++#define crypto_policy_set_aes_cm_128_null_auth srtp_crypto_policy_set_aes_cm_128_null_auth ++#define crypto_policy_set_null_cipher_hmac_sha1_80 srtp_crypto_policy_set_null_cipher_hmac_sha1_80 ++#define crypto_policy_set_aes_cm_128_hmac_sha1_80 srtp_crypto_policy_set_aes_cm_128_hmac_sha1_80 ++#define crypto_policy_set_aes_cm_256_hmac_sha1_32 srtp_crypto_policy_set_aes_cm_256_hmac_sha1_32 ++#define ssrc_t srtp_ssrc_t ++#endif ++ ++#endif +-- +2.21.0 + -- cgit v1.2.3 From fe6ccb855234111cfe2460bb2469bc7b766e534e Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 5 Apr 2020 22:24:19 -0400 Subject: gnu: mediastreamer2: Move the tester files and HTML doc to separate outputs. The tester binary generated gets installed with about 20 MiB of data files, and the HTML documentation weighs another 500 KiB or so. Move them to separate outputs. * gnu/packages/patches/mediastreamer-srtp2.patch: Rename to... * gnu/packages/patches/mediastreamer2-srtp2.patch: ...this, to please 'guix lint'. * gnu/local.mk (dist_patch_DATA): Adapt. * gnu/packages/linphone.scm (mediastreamer2)[patches]: Likewise. [outputs]: Add the "doc" and "tester" outputs. [phases]: Add a phase to move the HTML doc and tester binary and data to the 'doc' and 'tester' outputs, respectively. [description]: Remove the unicode characters surrounding the word 'powerful'. --- gnu/local.mk | 2 +- gnu/packages/linphone.scm | 42 +++++-- gnu/packages/patches/mediastreamer-srtp2.patch | 155 ------------------------ gnu/packages/patches/mediastreamer2-srtp2.patch | 155 ++++++++++++++++++++++++ 4 files changed, 191 insertions(+), 163 deletions(-) delete mode 100644 gnu/packages/patches/mediastreamer-srtp2.patch create mode 100644 gnu/packages/patches/mediastreamer2-srtp2.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index debf1f67c3..4f61783472 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1196,7 +1196,7 @@ dist_patch_DATA = \ %D%/packages/patches/mcrypt-CVE-2012-4426.patch \ %D%/packages/patches/mcrypt-CVE-2012-4527.patch \ %D%/packages/patches/libmemcached-build-with-gcc7.patch \ - %D%/packages/patches/mediastreamer-srtp2.patch \ + %D%/packages/patches/mediastreamer2-srtp2.patch \ %D%/packages/patches/mesa-skip-disk-cache-test.patch \ %D%/packages/patches/mescc-tools-boot.patch \ %D%/packages/patches/meson-for-build-rpath.patch \ diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm index ab223700d5..50d75a4a95 100644 --- a/gnu/packages/linphone.scm +++ b/gnu/packages/linphone.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; ;;; Copyright © 2020 Raghav Gururajan +;;; Copyright © 2020 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -324,8 +325,8 @@ API. It also comprises a simple HTTP/HTTPS client implementation.") "mediastreamer/mediastreamer-" version ".tar.gz")) (sha256 (base32 "0whpqr69wz0pnzvragkpfblxhd0rds8k06c3mw5a0ag216a1yd9k")) - (patches - (list (search-patch "mediastreamer-srtp2.patch"))))) + (patches (search-patches "mediastreamer2-srtp2.patch")))) + (outputs '("out" "doc" "tester")) (build-system cmake-build-system) (arguments `(#:tests? #f ; No test target @@ -335,7 +336,33 @@ API. It also comprises a simple HTTP/HTTPS client implementation.") "-DENABLE_STRICT=NO" ; Would otherwise treat warnings as err "-DENABLE_BV16=NO" ; Not available "-DCMAKE_C_FLAGS=-DMS2_GIT_VERSION=\\\"unknown\\\"" - "-DCMAKE_CXX_FLAGS=-DMS2_GIT_VERSION=\\\"unknown\\\""))) + "-DCMAKE_CXX_FLAGS=-DMS2_GIT_VERSION=\\\"unknown\\\"") + #:phases + (modify-phases %standard-phases + (add-after 'install 'separate-outputs + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc")) + (tester (assoc-ref outputs "tester")) + (tester-name (string-append ,name "_tester"))) + ;; Copy the tester executable. + (mkdir-p (string-append tester "/bin")) + (rename-file (string-append out "/bin/" tester-name) + (string-append tester "/bin/" tester-name)) + ;; Copy the tester data files. + (copy-recursively (string-append out "/share/" tester-name) + (string-append tester "/share/" tester-name)) + (delete-file-recursively (string-append out "/share/" + tester-name)) + ;; Copy the HTML documentation. + (copy-recursively (string-append out "/share/doc/" + ,name "-" ,version "/html") + (string-append doc "/share/doc/" + ,name "-" ,version "/html")) + (delete-file-recursively (string-append out "/share/doc/" + ,name "-" ,version + "/html")) + #t)))))) (native-inputs `(("dot" ,graphviz) ("doxygen" ,doxygen) @@ -368,10 +395,11 @@ API. It also comprises a simple HTTP/HTTPS client implementation.") ("xv" ,libxv) ("zrtp", bzrtp))) (synopsis "Belledonne Communications Streaming Engine") - (description "Mediastreamer is a powerful and lightweight streaming -engine for telephony applications. This media processing and streaming toolkit -is responsible for receiving and sending all multimedia streams in Linphone, -including media capture, encoding and decoding, and rendering.") + (description "Mediastreamer2 is a powerful and lightweight +streaming engine for telephony applications. This media processing +and streaming toolkit is responsible for receiving and sending all +multimedia streams in Linphone, including media capture, encoding and +decoding, and rendering.") (home-page "https://gitlab.linphone.org/BC/public/mediastreamer2") (license license:gpl2+))) diff --git a/gnu/packages/patches/mediastreamer-srtp2.patch b/gnu/packages/patches/mediastreamer-srtp2.patch deleted file mode 100644 index f6d494facb..0000000000 --- a/gnu/packages/patches/mediastreamer-srtp2.patch +++ /dev/null @@ -1,155 +0,0 @@ -From 97903498364ae2596e790cb2c2ce9ac76c04d64a Mon Sep 17 00:00:00 2001 -From: Danmei Chen -Date: Fri, 19 Jan 2018 10:04:07 +0100 -Subject: [PATCH] add compability with srtp2 - ---- - cmake/FindSRTP.cmake | 24 ++++++++++++++++++++---- - src/CMakeLists.txt | 1 + - src/crypto/ms_srtp.c | 10 ++-------- - src/utils/srtp_prefix.h | 41 +++++++++++++++++++++++++++++++++++++++++ - 4 files changed, 64 insertions(+), 12 deletions(-) - create mode 100644 src/utils/srtp_prefix.h - -diff --git a/cmake/FindSRTP.cmake b/cmake/FindSRTP.cmake -index 988b846a..f720ce7e 100644 ---- a/cmake/FindSRTP.cmake -+++ b/cmake/FindSRTP.cmake -@@ -31,20 +31,36 @@ set(_SRTP_ROOT_PATHS - ) - - find_path(SRTP_INCLUDE_DIRS -- NAMES srtp/srtp.h -+ NAMES srtp2/srtp.h - HINTS _SRTP_ROOT_PATHS - PATH_SUFFIXES include - ) - - if(SRTP_INCLUDE_DIRS) - set(HAVE_SRTP_SRTP_H 1) --endif() -- --find_library(SRTP_LIBRARIES -+ set(SRTP_VERSION 2) -+ find_library(SRTP_LIBRARIES -+ NAMES srtp2 -+ HINTS ${_SRTP_ROOT_PATHS} -+ PATH_SUFFIXES bin lib -+ ) -+else() -+ find_path(SRTP_INCLUDE_DIRS -+ NAMES srtp/srtp.h -+ HINTS _SRTP_ROOT_PATHS -+ PATH_SUFFIXES include -+ ) -+ if(SRTP_INCLUDE_DIRS) -+ set(HAVE_SRTP_SRTP_H 1) -+ set(SRTP_VERSION 1) -+ endif() -+ find_library(SRTP_LIBRARIES - NAMES srtp - HINTS ${_SRTP_ROOT_PATHS} - PATH_SUFFIXES bin lib - ) -+endif() -+ - - include(FindPackageHandleStandardArgs) - find_package_handle_standard_args(SRTP -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index da429764..c46faa62 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -183,6 +183,7 @@ set(VOIP_SOURCE_FILES_C - utils/pcap_sender.c - utils/pcap_sender.h - utils/stream_regulator.c -+ utils/srtp_prefix.h - voip/audioconference.c - voip/audiostream.c - voip/bandwidthcontroller.c -diff --git a/src/crypto/ms_srtp.c b/src/crypto/ms_srtp.c -index 5a510c99..67810316 100644 ---- a/src/crypto/ms_srtp.c -+++ b/src/crypto/ms_srtp.c -@@ -25,6 +25,7 @@ - #include "mediastreamer2/ms_srtp.h" - #include "mediastreamer2/mediastream.h" - -+ - #ifdef HAVE_SRTP - - /*srtp defines all this stuff*/ -@@ -34,13 +35,7 @@ - #undef PACKAGE_TARNAME - #undef PACKAGE_VERSION - --#if defined(MS2_WINDOWS_PHONE) --// Windows phone doesn't use make install --#include --#else --#include --#endif -- -+#include "srtp_prefix.h" - - #include "ortp/b64.h" - -@@ -352,7 +347,6 @@ int ms_srtp_init(void) - srtp_init_done++; - }else{ - ms_fatal("Couldn't initialize SRTP library: %d.", st); -- err_reporting_init("mediastreamer2"); - } - }else srtp_init_done++; - return (int)st; -diff --git a/src/utils/srtp_prefix.h b/src/utils/srtp_prefix.h -new file mode 100644 -index 00000000..68bde496 ---- /dev/null -+++ b/src/utils/srtp_prefix.h -@@ -0,0 +1,41 @@ -+/* -+ mediastreamer2 library - modular sound and video processing and streaming -+ Copyright (C) 2006-2014 Belledonne Communications, Grenoble -+ -+ This library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ This library 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 -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with this library; if not, write to the Free Software -+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -+*/ -+#ifndef __SRTP2_H__ -+#define __SRTP2_H__ -+ -+#if defined(MS2_WINDOWS_PHONE) -+// Windows phone doesn't use make install -+#include -+#elif SRTP_VERSION==1 -+#include -+#else -+#include -+#define err_status_t srtp_err_status_t -+#define err_status_ok srtp_err_status_ok -+#define crypto_policy_t srtp_crypto_policy_t -+#define crypto_policy_set_aes_cm_256_hmac_sha1_80 srtp_crypto_policy_set_aes_cm_256_hmac_sha1_80 -+#define crypto_policy_set_aes_cm_128_hmac_sha1_32 srtp_crypto_policy_set_aes_cm_128_hmac_sha1_32 -+#define crypto_policy_set_aes_cm_128_null_auth srtp_crypto_policy_set_aes_cm_128_null_auth -+#define crypto_policy_set_null_cipher_hmac_sha1_80 srtp_crypto_policy_set_null_cipher_hmac_sha1_80 -+#define crypto_policy_set_aes_cm_128_hmac_sha1_80 srtp_crypto_policy_set_aes_cm_128_hmac_sha1_80 -+#define crypto_policy_set_aes_cm_256_hmac_sha1_32 srtp_crypto_policy_set_aes_cm_256_hmac_sha1_32 -+#define ssrc_t srtp_ssrc_t -+#endif -+ -+#endif --- -2.21.0 - diff --git a/gnu/packages/patches/mediastreamer2-srtp2.patch b/gnu/packages/patches/mediastreamer2-srtp2.patch new file mode 100644 index 0000000000..f6d494facb --- /dev/null +++ b/gnu/packages/patches/mediastreamer2-srtp2.patch @@ -0,0 +1,155 @@ +From 97903498364ae2596e790cb2c2ce9ac76c04d64a Mon Sep 17 00:00:00 2001 +From: Danmei Chen +Date: Fri, 19 Jan 2018 10:04:07 +0100 +Subject: [PATCH] add compability with srtp2 + +--- + cmake/FindSRTP.cmake | 24 ++++++++++++++++++++---- + src/CMakeLists.txt | 1 + + src/crypto/ms_srtp.c | 10 ++-------- + src/utils/srtp_prefix.h | 41 +++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 64 insertions(+), 12 deletions(-) + create mode 100644 src/utils/srtp_prefix.h + +diff --git a/cmake/FindSRTP.cmake b/cmake/FindSRTP.cmake +index 988b846a..f720ce7e 100644 +--- a/cmake/FindSRTP.cmake ++++ b/cmake/FindSRTP.cmake +@@ -31,20 +31,36 @@ set(_SRTP_ROOT_PATHS + ) + + find_path(SRTP_INCLUDE_DIRS +- NAMES srtp/srtp.h ++ NAMES srtp2/srtp.h + HINTS _SRTP_ROOT_PATHS + PATH_SUFFIXES include + ) + + if(SRTP_INCLUDE_DIRS) + set(HAVE_SRTP_SRTP_H 1) +-endif() +- +-find_library(SRTP_LIBRARIES ++ set(SRTP_VERSION 2) ++ find_library(SRTP_LIBRARIES ++ NAMES srtp2 ++ HINTS ${_SRTP_ROOT_PATHS} ++ PATH_SUFFIXES bin lib ++ ) ++else() ++ find_path(SRTP_INCLUDE_DIRS ++ NAMES srtp/srtp.h ++ HINTS _SRTP_ROOT_PATHS ++ PATH_SUFFIXES include ++ ) ++ if(SRTP_INCLUDE_DIRS) ++ set(HAVE_SRTP_SRTP_H 1) ++ set(SRTP_VERSION 1) ++ endif() ++ find_library(SRTP_LIBRARIES + NAMES srtp + HINTS ${_SRTP_ROOT_PATHS} + PATH_SUFFIXES bin lib + ) ++endif() ++ + + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(SRTP +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index da429764..c46faa62 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -183,6 +183,7 @@ set(VOIP_SOURCE_FILES_C + utils/pcap_sender.c + utils/pcap_sender.h + utils/stream_regulator.c ++ utils/srtp_prefix.h + voip/audioconference.c + voip/audiostream.c + voip/bandwidthcontroller.c +diff --git a/src/crypto/ms_srtp.c b/src/crypto/ms_srtp.c +index 5a510c99..67810316 100644 +--- a/src/crypto/ms_srtp.c ++++ b/src/crypto/ms_srtp.c +@@ -25,6 +25,7 @@ + #include "mediastreamer2/ms_srtp.h" + #include "mediastreamer2/mediastream.h" + ++ + #ifdef HAVE_SRTP + + /*srtp defines all this stuff*/ +@@ -34,13 +35,7 @@ + #undef PACKAGE_TARNAME + #undef PACKAGE_VERSION + +-#if defined(MS2_WINDOWS_PHONE) +-// Windows phone doesn't use make install +-#include +-#else +-#include +-#endif +- ++#include "srtp_prefix.h" + + #include "ortp/b64.h" + +@@ -352,7 +347,6 @@ int ms_srtp_init(void) + srtp_init_done++; + }else{ + ms_fatal("Couldn't initialize SRTP library: %d.", st); +- err_reporting_init("mediastreamer2"); + } + }else srtp_init_done++; + return (int)st; +diff --git a/src/utils/srtp_prefix.h b/src/utils/srtp_prefix.h +new file mode 100644 +index 00000000..68bde496 +--- /dev/null ++++ b/src/utils/srtp_prefix.h +@@ -0,0 +1,41 @@ ++/* ++ mediastreamer2 library - modular sound and video processing and streaming ++ Copyright (C) 2006-2014 Belledonne Communications, Grenoble ++ ++ This library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ This library 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 ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with this library; if not, write to the Free Software ++ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++*/ ++#ifndef __SRTP2_H__ ++#define __SRTP2_H__ ++ ++#if defined(MS2_WINDOWS_PHONE) ++// Windows phone doesn't use make install ++#include ++#elif SRTP_VERSION==1 ++#include ++#else ++#include ++#define err_status_t srtp_err_status_t ++#define err_status_ok srtp_err_status_ok ++#define crypto_policy_t srtp_crypto_policy_t ++#define crypto_policy_set_aes_cm_256_hmac_sha1_80 srtp_crypto_policy_set_aes_cm_256_hmac_sha1_80 ++#define crypto_policy_set_aes_cm_128_hmac_sha1_32 srtp_crypto_policy_set_aes_cm_128_hmac_sha1_32 ++#define crypto_policy_set_aes_cm_128_null_auth srtp_crypto_policy_set_aes_cm_128_null_auth ++#define crypto_policy_set_null_cipher_hmac_sha1_80 srtp_crypto_policy_set_null_cipher_hmac_sha1_80 ++#define crypto_policy_set_aes_cm_128_hmac_sha1_80 srtp_crypto_policy_set_aes_cm_128_hmac_sha1_80 ++#define crypto_policy_set_aes_cm_256_hmac_sha1_32 srtp_crypto_policy_set_aes_cm_256_hmac_sha1_32 ++#define ssrc_t srtp_ssrc_t ++#endif ++ ++#endif +-- +2.21.0 + -- cgit v1.2.3 From a841f8184718a4fa95001761f8c0fea1f4a0ff63 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 6 Apr 2020 10:06:20 +0200 Subject: build: Add linphone.scm to gnu/local.mk. This is a followup to d5a8e391ac2546241d0ff60c9a1fd2fb8ff57536. * gnu/local.mk (GNU_SYSTEM_MODULES): Add linphone.scm. --- gnu/local.mk | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 4f61783472..bc51fbb33b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -320,6 +320,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/libusb.scm \ %D%/packages/libunwind.scm \ %D%/packages/lighting.scm \ + %D%/packages/linphone.scm \ %D%/packages/linux.scm \ %D%/packages/lirc.scm \ %D%/packages/lisp.scm \ -- cgit v1.2.3 From 786c9c39bc0826737e99f0c750ea30033cdbc202 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Mon, 30 Mar 2020 12:24:56 +0200 Subject: installer: Add a help page. * gnu/installer/newt/help.scm: New file. * gnu/local.mk (INSTALLER_MODULES): Add it. * po/guix/POTFILES.in: Add it. * gnu/installer/record.scm (): Add 'help-menu' and 'help-page' fields, (installer-help-menu, installer-help-page): new exported procedures. * gnu/installer/newt.scm (init): Set the help line, (help-menu, help-page): new procedures used ... (newt-installer): ... here. * gnu/installer/newt/keymap.scm (run-layout-page): Add a context argument to differenciate the help context from the main one, (run-keymap-page): add a context argument and pass it to run-layout-page. * gnu/installer.scm (compute-keymap-step): Add a context argument and pass it to 'installer-keymap-page', (installer-steps): set the help menu and pass the appropriate context to compute-keymap-step calls, (guile-newt): update to revision 2. --- gnu/installer.scm | 20 +++++++++++++------- gnu/installer/newt.scm | 21 ++++++++++++++++----- gnu/installer/newt/help.scm | 43 +++++++++++++++++++++++++++++++++++++++++++ gnu/installer/newt/keymap.scm | 33 +++++++++++++++++++++++---------- gnu/installer/record.scm | 14 ++++++++++---- gnu/local.mk | 1 + po/guix/POTFILES.in | 1 + 7 files changed, 107 insertions(+), 26 deletions(-) create mode 100644 gnu/installer/newt/help.scm (limited to 'gnu/local.mk') diff --git a/gnu/installer.scm b/gnu/installer.scm index 9f39191d54..084f437604 100644 --- a/gnu/installer.scm +++ b/gnu/installer.scm @@ -172,7 +172,7 @@ been performed at build time." (kmscon-update-keymap (default-keyboard-model) layout variant)))) -(define* (compute-keymap-step) +(define* (compute-keymap-step context) "Return a gexp that runs the keymap-page of INSTALLER and install the selected keymap." #~(lambda (current-installer) @@ -184,7 +184,7 @@ selected keymap." "/share/X11/xkb/rules/base.xml"))) (lambda (models layouts) ((installer-keymap-page current-installer) - layouts))))) + layouts '#$context))))) (#$apply-keymap result) result))) @@ -193,10 +193,15 @@ selected keymap." #:locales-name "locales" #:iso639-languages-name "iso639-languages" #:iso3166-territories-name "iso3166-territories")) - (keymap-step (compute-keymap-step)) (timezone-data #~(string-append #$tzdata "/share/zoneinfo/zone.tab"))) #~(lambda (current-installer) + ((installer-help-menu current-installer) + (lambda () + ((installer-help-page current-installer) + (lambda _ + (#$(compute-keymap-step 'help) + current-installer))))) (list ;; Ask the user to choose a locale among those supported by ;; the glibc. Install the selected locale right away, so that @@ -238,7 +243,8 @@ selected keymap." (id 'keymap) (description (G_ "Keyboard mapping selection")) (compute (lambda _ - (#$keymap-step current-installer))) + (#$(compute-keymap-step 'default) + current-installer))) (configuration-formatter keyboard-layout->configuration)) ;; Ask the user to input a hostname for the system. @@ -295,8 +301,8 @@ selected keymap." (define guile-newt ;; Guile-Newt with 'form-watch-fd'. ;; TODO: Remove once a new release is out. - (let ((commit "b3c885d42cfac327d3531c9d064939514ce6bf12") - (revision "1")) + (let ((commit "c3cdeb0b53ac71aedabee669f57d44563c662446") + (revision "2")) (package (inherit (@ (gnu packages guile-xyz) guile-newt)) (name "guile-newt") @@ -309,7 +315,7 @@ selected keymap." (file-name (git-file-name name version)) (sha256 (base32 - "02p0bi6c05699idgx6gfkljhqgi8zf09clhzx81i8wa064s70r1y"))))))) + "1gksd1lzgjjh1p9vczghg8jw995d22hm34kbsiv8rcryirv2xy09"))))))) (define (installer-program) "Return a file-like object that runs the given INSTALLER." diff --git a/gnu/installer/newt.scm b/gnu/installer/newt.scm index 6c44b4acf6..7ac015eaad 100644 --- a/gnu/installer/newt.scm +++ b/gnu/installer/newt.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2018 Mathieu Othacehe +;;; Copyright © 2018, 2020 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,6 +21,7 @@ #:use-module (gnu installer utils) #:use-module (gnu installer newt ethernet) #:use-module (gnu installer newt final) + #:use-module (gnu installer newt help) #:use-module (gnu installer newt hostname) #:use-module (gnu installer newt keymap) #:use-module (gnu installer newt locale) @@ -44,7 +45,9 @@ (define (init) (newt-init) (clear-screen) - (set-screen-size!)) + (set-screen-size!) + (push-help-line + (format #f (G_ "Press for help.")))) (define (exit) (newt-finish) @@ -91,8 +94,8 @@ problem. The backtrace is displayed below. Please report it by email to \ (define (menu-page steps) (run-menu-page steps)) -(define* (keymap-page layouts) - (run-keymap-page layouts)) +(define* (keymap-page layouts context) + (run-keymap-page layouts #:context context)) (define (network-page) (run-network-page)) @@ -109,6 +112,12 @@ problem. The backtrace is displayed below. Please report it by email to \ (define (services-page) (run-services-page)) +(define (help-menu menu-proc) + (newt-set-help-callback menu-proc)) + +(define (help-page keyboard-layout-selection) + (run-help-page keyboard-layout-selection)) + (define newt-installer (installer (name 'newt) @@ -125,4 +134,6 @@ problem. The backtrace is displayed below. Please report it by email to \ (user-page user-page) (partition-page partition-page) (services-page services-page) - (welcome-page welcome-page))) + (welcome-page welcome-page) + (help-menu help-menu) + (help-page help-page))) diff --git a/gnu/installer/newt/help.scm b/gnu/installer/newt/help.scm new file mode 100644 index 0000000000..8d85832dc8 --- /dev/null +++ b/gnu/installer/newt/help.scm @@ -0,0 +1,43 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2020 Mathieu Othacehe +;;; +;;; 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 . + +(define-module (gnu installer newt help) + #:use-module (gnu installer steps) + #:use-module (gnu installer newt page) + #:use-module (guix i18n) + #:use-module (ice-9 match) + #:use-module (newt) + #:export (run-help-page)) + +(define (run-help-page keyboard-layout-selection) + "Run a help page allowing to change the keyboard layout" + (let* ((items + (list + (cons (G_ "Change keyboard layout") keyboard-layout-selection))) + (result + (run-listbox-selection-page + #:info-text (G_ "This is the help menu, please choose an action.") + #:title (G_ "Installation help") + #:listbox-items items + #:listbox-item->text car + #:sort-listbox-items? #f + #:button-text (G_ "Continue")))) + (match result + ((_ . proc) + (proc)) + (_ #f)))) diff --git a/gnu/installer/newt/keymap.scm b/gnu/installer/newt/keymap.scm index 2908ba7f0e..0147a0b9d5 100644 --- a/gnu/installer/newt/keymap.scm +++ b/gnu/installer/newt/keymap.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2018 Mathieu Othacehe +;;; Copyright © 2018, 2020 Mathieu Othacehe ;;; Copyright © 2019 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. @@ -33,20 +33,32 @@ #:export (run-keymap-page keyboard-layout->configuration)) -(define (run-layout-page layouts layout->text) +(define (run-layout-page layouts layout->text context) (let ((title (G_ "Layout"))) (run-listbox-selection-page #:title title - #:info-text (G_ "Please choose your keyboard layout.") + #:info-text + (case context + ((help) (G_ "Please choose your keyboard layout. \ +It will only be used during the installation process.")) + (else (G_ "Please choose your keyboard layout. \ +It will be used during the install process, and for the installed system. \ +You can switch to different layout at any time from the help menu."))) #:listbox-items layouts #:listbox-item->text layout->text #:sort-listbox-items? #f - #:button-text (G_ "Exit") + #:button-text + (case context + ((help) (G_ "Continue")) + (else (G_ "Exit"))) #:button-callback-procedure - (lambda _ - (raise - (condition - (&installer-step-abort))))))) + (case context + ((help) (const #t)) + (else + (lambda _ + (raise + (condition + (&installer-step-abort))))))))) (define (run-variant-page variants variant->text) (let ((title (G_ "Variant"))) @@ -100,7 +112,7 @@ variants)) (cut append <> <>))) -(define* (run-keymap-page layouts) +(define* (run-keymap-page layouts #:key (context #f)) "Run a page asking the user to select a keyboard layout and variant. LAYOUTS is a list of supported X11-KEYMAP-LAYOUT. Return a list of two elements, the names of the selected keyboard layout and variant." @@ -114,7 +126,8 @@ names of the selected keyboard layout and variant." (sort-layouts layouts) (lambda (layout) (gettext (x11-keymap-layout-description layout) - "xkeyboard-config")))))) + "xkeyboard-config")) + context)))) ;; Propose the user to select a variant among those supported by the ;; previously selected layout. (installer-step diff --git a/gnu/installer/record.scm b/gnu/installer/record.scm index edf73b6215..78acf50c63 100644 --- a/gnu/installer/record.scm +++ b/gnu/installer/record.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2018 Mathieu Othacehe +;;; Copyright © 2018, 2020 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,7 +37,9 @@ installer-user-page installer-partition-page installer-services-page - installer-welcome-page)) + installer-welcome-page + installer-help-menu + installer-help-page)) ;;; @@ -61,7 +63,7 @@ (exit-error installer-exit-error) ;; procedure void -> void (final-page installer-final-page) - ;; procedure (layouts) -> (list layout variant) + ;; procedure (layouts context) -> (list layout variant) (keymap-page installer-keymap-page) ;; procedure: (#:key supported-locales iso639-languages iso3166-territories) ;; -> glibc-locale @@ -81,4 +83,8 @@ ;; procedure void -> void (services-page installer-services-page) ;; procedure (logo) -> void - (welcome-page installer-welcome-page)) + (welcome-page installer-welcome-page) + ;; procedure (menu-proc) -> void + (help-menu installer-help-menu) + ;; procedure (keyboard-layout-selection) -> void + (help-page installer-help-page)) diff --git a/gnu/local.mk b/gnu/local.mk index bc51fbb33b..77f9de2440 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -671,6 +671,7 @@ INSTALLER_MODULES = \ \ %D%/installer/newt/ethernet.scm \ %D%/installer/newt/final.scm \ + %D%/installer/newt/help.scm \ %D%/installer/newt/hostname.scm \ %D%/installer/newt/keymap.scm \ %D%/installer/newt/locale.scm \ diff --git a/po/guix/POTFILES.in b/po/guix/POTFILES.in index 9c492997cf..4cc4fe7b31 100644 --- a/po/guix/POTFILES.in +++ b/po/guix/POTFILES.in @@ -16,6 +16,7 @@ gnu/installer/locale.scm gnu/installer/newt.scm gnu/installer/newt/ethernet.scm gnu/installer/newt/final.scm +gnu/installer/newt/help.scm gnu/installer/newt/hostname.scm gnu/installer/newt/keymap.scm gnu/installer/newt/locale.scm -- cgit v1.2.3 From 1e96e6ac8bc0285cc2adfac4ac29b538b84d5dfc Mon Sep 17 00:00:00 2001 From: Nicolò Balzarotti Date: Thu, 2 Apr 2020 11:55:20 +0200 Subject: gnu: julia: Upgrade to 1.3.1. * gnu/packages/julia.scm (libuv-julia): Upgrade to 2.0.0-1.35b1504. (libunwind-julia): New variable. (llvm-patch): Rename to ... (julia-patch): ... this. Update to 1.3.1. (llvm-julia): Adjust patch-set based on above change. Adjust indent. (julia): Update to 1.3.1. [source]: Add patch. [arguments]: Adjust custom 'prepare-deps (llvm-patch): Rename to ... (julia-patch): ... this. Update to 1.3.1. (llvm-julia): Adjust patch-set based on above change. (julia): Upgrade to 1.3.1. [arguments]: Adjust custom 'prepare-deps phase based on changed inputs. Remove most of 'hardcode-soname-map. Adjust 'fix-include-and-link-paths. Add new 'fix-precompile phase. Adjust custom 'disable-broken-tests phase. Add new 'make-wrapper phase. Adjust make-flags. [inputs]: Add p7zip, mbedtls-apache, curl libssh2. Remove openspecfun, fftw, fftwf, python2-virtualenv, rmath. Replace libunwind with libunwind-julia, custom suitesparse with system suitesparse, custom dsfmt with system dsfmt. [native-search-paths]: Add JULIA_DEPOT_PATH. * gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. Signed-off-by: Efraim Flashner --- gnu/local.mk | 2 + gnu/packages/julia.scm | 333 ++++++++++----------- .../patches/julia-SOURCE_DATE_EPOCH-mtime.patch | 28 ++ 3 files changed, 184 insertions(+), 179 deletions(-) create mode 100644 gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 77f9de2440..d305a5eab9 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -29,6 +29,7 @@ # Copyright © 2020 Brendan Tildesley # Copyright © 2020 Vincent Legoll # Copyright © 2020 R Veera Kumar +# Copyright © 2020 Nicolò Balzarotti -;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2016, 2020 Efraim Flashner +;;; Copyright © 2020 Nicolò Balzarotti ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,6 +29,7 @@ #:use-module (gnu packages algebra) #:use-module (gnu packages base) #:use-module (gnu packages compression) + #:use-module (gnu packages curl) #:use-module (gnu packages elf) #:use-module (gnu packages gcc) #:use-module (gnu packages llvm) @@ -41,20 +43,21 @@ #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages textutils) + #:use-module (gnu packages ssh) #:use-module (gnu packages tls) #:use-module (gnu packages version-control) #:use-module (gnu packages wget) #:use-module (ice-9 match)) (define libuv-julia - (let ((commit "26dbe5672c33fc885462c509fe2a9b36f35866fd") - (revision "6")) - ;; When upgrading Julia, also upgrade this. - ;; Get the commit from https://github.com/JuliaLang/julia/blob/v1.1.1/deps/libuv.version + (let ((commit "35b1504507a7a4168caae3d78db54d1121b121e1") + (revision "1")) + ;; When upgrading Julia, also upgrade this. Get the commit from + ;; https://github.com/JuliaLang/julia/blob/v1.3.1/deps/libuv.version (package (inherit libuv) (name "libuv-julia") - (version (string-append "1.9.0-" revision "." (string-take commit 8))) + (version (git-version "2.0.0" revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -63,7 +66,7 @@ (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "17pn2xmqaramilx897s9grs966i5246gi6sric5alch4g9j4685n")))) + "0dn3v6fdp1z382pqg3nhjzk60l61ky9b65mfgaj29fv2da95rwjs")))) (build-system gnu-build-system) (arguments (substitute-keyword-arguments (package-arguments libuv) @@ -72,14 +75,37 @@ (delete 'autogen))))) (home-page "https://github.com/JuliaLang/libuv")))) -(define (llvm-patch-url version name) +(define libunwind-julia + ;; The Julia projects requires their patched version. + ;; Get from https://github.com/JuliaLang/julia/tree/master/deps/patches + (package + (inherit libunwind) + (name "libunwind-julia") + (version "1.3.1") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://savannah/libunwind/libunwind-" + version ".tar.gz")) + (sha256 + (base32 + "1y0l08k6ak1mqbfj6accf9s5686kljwgsl4vcqpxzk5n74wpm6a3")) + (patches + (list + (julia-patch "libunwind-prefer-extbl" + "0lr4dafw8qyfh8sw8hhbwkql1dlhqv8px7k81y2l20hhxfgnh2m1") + (julia-patch "libunwind-static-arm" + "1jk3bmiw61ypcchqkk1fyg5wh8wpggk574wxyfyaic870zh3lhgq"))))) + (home-page "https://github.com/JuliaLang/tree/master/deps/"))) + +(define (julia-patch-url version name) (string-append "https://raw.githubusercontent.com/JuliaLang/julia/v" version "/deps/patches/" name)) -(define (llvm-patch name sha) - (let ((version "1.1.1")) +(define (julia-patch name sha) + (let ((version "1.3.1")) (origin (method url-fetch) - (uri (llvm-patch-url version name)) + (uri (julia-patch-url version name)) (sha256 (base32 sha)) (file-name name)))) @@ -88,51 +114,50 @@ (inherit llvm-6) (name "llvm-julia") (source (origin - (method url-fetch) - (uri "http://releases.llvm.org/6.0.1/llvm-6.0.1.src.tar.xz") - (sha256 - (base32 - "1qpls3vk85lydi5b4axl0809fv932qgsqgdgrk098567z4jc7mmn")) + (inherit (package-source llvm-6)) ;; Those patches are inside the Julia source repo. ;; They are _not_ Julia specific (https://github.com/julialang/julia#llvm) ;; but they are required to build Julia. ;; Discussion: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=919628 (patches - (list - (llvm-patch "llvm-6.0-D44650.patch" - "1336q4vqayr94wdcnlmcxh90mjdh34dzw9x2cbiqjnx9b1j8fxyb") - (llvm-patch "llvm-6.0-DISABLE_ABI_CHECKS.patch" - "014fawd1ba7yckalypfld22zgic87x9nx3cim42zrwygywd36pyg") - (llvm-patch "llvm-6.0-NVPTX-addrspaces.patch" - "1qdi2zmrjsrj0h84zv2vyly2hjcn4f67mfy0s1q353g4v4jkscqc") - (llvm-patch "llvm-6.0.0_D27296-libssp.patch" - "0s5hi2r1j63i8m6ig1346crx2aiv9f7rgb3mg80kw1wx5y7pdpfh") - (llvm-patch "llvm-D27629-AArch64-large_model_6.0.1.patch" - "1qrshmlqvnasdyc158vfn3hnbigqph3lsq7acb9w8lwkpnnm2j4z") - (llvm-patch "llvm-D34078-vectorize-fdiv.patch" - "1696hg84a0jxcnggvqsc2cdp271hf9a44p4qsd078qm1mfawkaay") - (llvm-patch "llvm-D42262-jumpthreading-not-i1.patch" - "1c8w210gwidbnkkw8anp17dk5pnxws2fl3mb2qxh7y9wzfpixgaq") - (llvm-patch "llvm-D44892-Perf-integration.patch" - "0r37jd0ssh2k1pndkfd5blgpg9z90im4vlzprhb0n0wwz45g4b05") - (llvm-patch "llvm-D46460.patch" - "1miqgswdc0qvbaf4571c2xkxyp9ais06b1bcpa83sq22vr4hbsfb") - (llvm-patch "llvm-D49832-SCEVPred.patch" - "0v5c88hgqj6dymv3j86ca5mhpqab5fbnrvjiw1nvnrnya9l4dlbn") - (llvm-patch "llvm-D50010-VNCoercion-ni.patch" - "0iblb3q1xixwrb12jpb89h3ywmqmzdp6aqp416j4ncwakyjhhfkp") - (llvm-patch "llvm-D50167-scev-umin.patch" - "1f2rakcnnyhr7w10k7gqg0k0491pyvx5ijplivw557f714ys3q6v") - (llvm-patch "llvm-OProfile-line-num.patch" - "1jvbbmwyags0xfwamb13qrf3rgcz9i1r03m9lava7swag8xb78c7") - (llvm-patch "llvm-PPC-addrspaces.patch" - "1f23nhsxh2s3jskbgs7da9nwg3s1hrkbk5aahl08x41wi3mny01p") - (llvm-patch "llvm-rL323946-LSRTy.patch" - "10cz3vy1yw0w643z7xx021wa4kymx9fcm3bjg61s6vzdqd6d9fns") - (llvm-patch "llvm-rL326967-aligned-load.patch" - "04jxnv32yj5x17hqhi8g2p8rhgp38gmjzr871w7z8s44pq10v9v4") - (llvm-patch "llvm-rL327898.patch" - "15ah49gbsll23z28kpyahi5vl0fh3fkxcgd1zmxxdcl96s3x8bnq"))))) + (map (match-lambda + ((name hash) + (julia-patch name hash))) + (list + '("llvm-6.0-D44650" + "1336q4vqayr94wdcnlmcxh90mjdh34dzw9x2cbiqjnx9b1j8fxyb") + '("llvm-6.0-DISABLE_ABI_CHECKS" + "014fawd1ba7yckalypfld22zgic87x9nx3cim42zrwygywd36pyg") + '("llvm-6.0-NVPTX-addrspaces" + "1qdi2zmrjsrj0h84zv2vyly2hjcn4f67mfy0s1q353g4v4jkscqc") + '("llvm-6.0.0_D27296-libssp" + "0s5hi2r1j63i8m6ig1346crx2aiv9f7rgb3mg80kw1wx5y7pdpfh") + '("llvm-D27629-AArch64-large_model_6.0.1" + "1qrshmlqvnasdyc158vfn3hnbigqph3lsq7acb9w8lwkpnnm2j4z") + '("llvm-D34078-vectorize-fdiv" + "1696hg84a0jxcnggvqsc2cdp271hf9a44p4qsd078qm1mfawkaay") + '("llvm-D42262-jumpthreading-not-i1" + "1c8w210gwidbnkkw8anp17dk5pnxws2fl3mb2qxh7y9wzfpixgaq") + '("llvm-D44892-Perf-integration" + "0r37jd0ssh2k1pndkfd5blgpg9z90im4vlzprhb0n0wwz45g4b05") + '("llvm-D46460" + "1miqgswdc0qvbaf4571c2xkxyp9ais06b1bcpa83sq22vr4hbsfb") + '("llvm-D49832-SCEVPred" + "0v5c88hgqj6dymv3j86ca5mhpqab5fbnrvjiw1nvnrnya9l4dlbn") + '("llvm-D50010-VNCoercion-ni" + "0iblb3q1xixwrb12jpb89h3ywmqmzdp6aqp416j4ncwakyjhhfkp") + '("llvm-D50167-scev-umin" + "1f2rakcnnyhr7w10k7gqg0k0491pyvx5ijplivw557f714ys3q6v") + '("llvm-OProfile-line-num" + "1jvbbmwyags0xfwamb13qrf3rgcz9i1r03m9lava7swag8xb78c7") + '("llvm-PPC-addrspaces" + "1f23nhsxh2s3jskbgs7da9nwg3s1hrkbk5aahl08x41wi3mny01p") + '("llvm-rL323946-LSRTy" + "10cz3vy1yw0w643z7xx021wa4kymx9fcm3bjg61s6vzdqd6d9fns") + '("llvm-rL326967-aligned-load" + "04jxnv32yj5x17hqhi8g2p8rhgp38gmjzr871w7z8s44pq10v9v4") + '("llvm-rL327898" + "15ah49gbsll23z28kpyahi5vl0fh3fkxcgd1zmxxdcl96s3x8bnq")))))) (arguments (substitute-keyword-arguments (package-arguments llvm-6) ((#:configure-flags flags) @@ -158,7 +183,7 @@ (define-public julia (package (name "julia") - (version "1.1.1") + (version "1.3.1") (source (origin (method url-fetch) (uri (string-append @@ -166,7 +191,9 @@ version "/julia-" version ".tar.gz")) (sha256 (base32 - "0hk983mywimclgnjc41zmlppm5kfdz2aj85ky07p49ilcqxi998f")))) + "1nwkmr9j55g1zkxdchnid1h022s0is52vx23niksshgvh793g41x")) + (patches + (search-patches "julia-SOURCE_DATE_EPOCH-mtime.patch")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -188,30 +215,25 @@ (add-after 'unpack 'prepare-deps (lambda* (#:key inputs #:allow-other-keys) (mkdir "deps/srccache") - (copy-file (assoc-ref inputs "dsfmt") - "deps/srccache/dsfmt-2.2.3.tar.gz") + ;; no USE_SYSTEM_{OBJCONV/LIBWHICH} option (copy-file (assoc-ref inputs "objconv") "deps/srccache/objconv.zip") - (copy-file (assoc-ref inputs "suitesparse") - "deps/srccache/SuiteSparse-4.4.5.tar.gz") - (copy-file (string-append (assoc-ref inputs "virtualenv") - "/bin/virtualenv") - "julia-env") (copy-file (assoc-ref inputs "libwhich") (string-append "deps/srccache/libwhich-" "81e9723c0273d78493dc8c8ed570f68d9ce7e89e" ".tar.gz")) - (copy-file (assoc-ref inputs "rmath") - "deps/srccache/Rmath-julia-0.1.tar.gz") ;; needed by libwhich (setenv "LD_LIBRARY_PATH" (string-join (map (lambda (pkg) (string-append (assoc-ref inputs pkg) "/lib")) - '("arpack-ng" "fftw" "gmp" "lapack" - "libgit2" "mpfr" "openblas" "openlibm" - "openspecfun" "pcre2")) + '("arpack-ng" "curl" "dsfmt" + "gmp" "lapack" + "libssh2" "libgit2" + "mbedtls" "mpfr" + "openblas" "openlibm" "pcre2" + "suitesparse")) ":")) #t)) ;; FIXME: Building the documentation requires Julia packages that @@ -233,42 +255,11 @@ ;; using the output of "/sbin/ldconfig -p". Since ldconfig is not ;; used in Guix, we patch runtime_ccall.cpp to contain a static map. (lambda* (#:key inputs #:allow-other-keys) - (use-modules (ice-9 match)) - (substitute* "src/runtime_ccall.cpp" - ;; Patch out invocations of '/sbin/ldconfig' to avoid getting - ;; error messages about missing '/sbin/ldconfig' on Guix System. - (("popen\\(.*ldconfig.*\\);") - "NULL;\n") - - ;; Populate 'sonameMap'. - (("jl_read_sonames.*;") - (string-join - (map (match-lambda - ((input libname soname) - (string-append - "sonameMap[\"" libname "\"] = " - "\"" (assoc-ref inputs input) "/lib/" soname "\";"))) - '(("libc" "libc" "libc.so.6") - ("pcre2" "libpcre2-8" "libpcre2-8.so") - ("mpfr" "libmpfr" "libmpfr.so") - ("openblas" "libblas" "libopenblas.so") - ("arpack-ng" "libarpack" "libarpack.so") - ("lapack" "liblapack" "liblapack.so") - ("libgit2" "libgit2" "libgit2.so") - ("gmp" "libgmp" "libgmp.so") - ("openspecfun" "libopenspecfun" "libopenspecfun.so") - ("fftw" "libfftw3" "libfftw3_threads.so") - ("fftwf" "libfftw3f" "libfftw3f_threads.so")))))) (substitute* "base/math.jl" (("const libm = Base.libm_name") (string-append "const libm = \"" (assoc-ref inputs "openlibm") "/lib/libopenlibm.so" - "\"")) - (("const openspecfun = \"libopenspecfun\"") - (string-append "const openspecfun = \"" - (assoc-ref inputs "openspecfun") - "/lib/libopenspecfun.so" "\""))) #t)) (add-before 'build 'fix-include-and-link-paths @@ -278,10 +269,10 @@ ;; collection of build targets and a list of libraries to link ;; against. (substitute* "src/flisp/Makefile" - (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\): \\$\\(OBJS\\) \\$\\(LIBFILES_release\\)") - "$(BUILDDIR)/$(EXENAME): $(OBJS) $(LLT_release)") - (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)-debug: \\$\\(DOBJS\\) \\$\\(LIBFILES_debug\\)") - "$(BUILDDIR)/$(EXENAME)-debug: $(DOBJS) $(LLT_debug)")) + (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)\\$\\(EXE\\): \\$\\(OBJS\\) \\$\\(LIBFILES_release\\)") + "$(BUILDDIR)/$(EXENAME)$(EXE): $(OBJS) $(LLT_release)") + (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)-debug$(EXE): \\$\\(DOBJS\\) \\$\\(LIBFILES_debug\\)") + "$(BUILDDIR)/$(EXENAME)-debug\\$\\(EXE\\): $(DOBJS) $(LLT_debug)")) ;; The REPL must be linked with libuv. (substitute* "ui/Makefile" @@ -300,35 +291,46 @@ (substitute* "base/client.jl" (("/bin/sh") (which "sh"))) #t)) - (add-after 'unpack 'hardcode-paths + (add-before 'build 'fix-precompile (lambda _ - (substitute* "stdlib/InteractiveUtils/src/InteractiveUtils.jl" - (("`which") (string-append "`" (which "which"))) - (("`wget") (string-append "`" (which "wget")))) + (substitute* "base/loading.jl" + (("something(Base.active_project(), \"\")") "\"\"")) #t)) (add-before 'check 'disable-broken-tests (lambda _ - (define (touch file-name) - (call-with-output-file file-name (const #t))) - ;; FIXME: All git tests works except this one. But *THIS* "fix" - ;; is not working, so right now I'm disabling all libgit2.jl tests - ;; (substitute* "stdlib/LibGit2/test/libgit2.jl" - ;; (("!LibGit2.use_http_path(cfg, github_cred)") "true") - ;; (("LibGit2.use_http_path(cfg, mygit_cred)") "true")) - (map (lambda (test) - (delete-file test) - (touch test)) - '("stdlib/Sockets/test/runtests.jl" - "stdlib/Distributed/test/runtests.jl" - ;; FIXME: see above - "stdlib/LibGit2/test/libgit2.jl")) (substitute* "test/choosetests.jl" - ;; These tests fail, probably because some of the input - ;; binaries have been stripped and thus backtraces don't look - ;; as expected. - (("\"backtrace\",") "") - (("\"cmdlineargs\",") "")) - #t))) + (("tests = testnames") + ;; Those failings are not deterministic. They depends on the + ;; running order. I think it depends on the number of + ;; runners, disabling it for now + ;; https://github.com/JuliaLang/julia/issues/34330 + "tests = filter(e->!in(e,[\"backtrace\",\"exceptions\", + \"stress\",\"precompile\", + \"client\",\"stacktraces\"]), + testnames)")) + ;; When HOME is not set, julia calls uv_os_homedir, which in + ;; turns call getpwuid_r. Add the HOME env variable to the + ;; external julia call to fix this + (substitute* "test/cmdlineargs.jl" + (("\"JULIA_PROJECT\"") "\"HOME\"=>\"/tmp\", \"JULIA_PROJECT\"")) + ;; Marking the test as broken as it's a known bug: + ;; https://github.com/JuliaLang/julia/issues/32377 + (substitute* "stdlib/REPL/test/replcompletions.jl" + (("@test count") "@test_broken count")) + #t)) + (add-after 'install 'make-wrapper + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (program "julia")) + (with-directory-excursion bin + (wrap-program program + `("JULIA_LOAD_PATH" ":" prefix + ("" "$JULIA_LOAD_PATH"))) + (wrap-program program + `("JULIA_DEPOT_PATH" ":" prefix + ("" "$JULIA_DEPOT_PATH")))) + #t)))) #:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out")) @@ -346,25 +348,20 @@ (_ "MARCH=UNSUPPORTED")) "CONFIG_SHELL=bash" ;needed to build bundled libraries - "USE_SYSTEM_DSFMT=0" ;not packaged for Guix and upstream has no - ;build system for a shared library. + ;; list of "USE_SYSTEM_*" is here: + ;; https://github.com/JuliaLang/julia/blob/v1.3.1/Make.inc + "USE_SYSTEM_DSFMT=1" + "USE_SYSTEM_P7ZIP=1" "USE_SYSTEM_LAPACK=1" "USE_SYSTEM_BLAS=1" "USE_BLAS64=0" ;needed when USE_SYSTEM_BLAS=1 "LIBBLAS=-lopenblas" "LIBBLASNAME=libopenblas" - "USE_SYSTEM_FFTW=1" - "LIBFFTWNAME=libfftw3" - "LIBFFTWFNAME=libfftw3f" - - ;; TODO: Suitesparse does not install shared libraries, so we cannot - ;; use the suitesparse package. - ;; "USE_SYSTEM_SUITESPARSE=1" - ;; (string-append "SUITESPARSE_INC=-I " - ;; (assoc-ref %build-inputs "suitesparse") - ;; "/include") - + "USE_SYSTEM_SUITESPARSE=1" + (string-append "SUITESPARSE_INC=-I " + (assoc-ref %build-inputs "suitesparse") + "/include") "USE_GPL_LIBS=1" ;proudly "USE_SYSTEM_UTF8PROC=1" (string-append "UTF8PROC_INC=" @@ -390,11 +387,16 @@ "USE_SYSTEM_MPFR=1" "USE_SYSTEM_ARPACK=1" "USE_SYSTEM_LIBGIT2=1" - "USE_SYSTEM_ZLIB=1" - "USE_SYSTEM_OPENSPECFUN=1"))) + (string-append "LIBUV=" + (assoc-ref %build-inputs "libuv") + "/lib/libuv.so") + (string-append "LIBUV_INC=" + (assoc-ref %build-inputs "libuv") + "/include") + "USE_SYSTEM_ZLIB=1"))) (inputs `(("llvm" ,llvm-julia) - + ("p7zip" ,p7zip) ;; The bundled version is 3.3.0 so stick to that version. With other ;; versions, we get test failures in 'linalg/arnoldi' as described in ;; . @@ -403,12 +405,12 @@ ("coreutils" ,coreutils) ;for bindings to "mkdir" and the like ("lapack" ,lapack) ("openblas" ,openblas) ;Julia does not build with Atlas - ("libunwind" ,libunwind) + ("libunwind" ,libunwind-julia) ("openlibm" ,openlibm) - ("openspecfun" ,openspecfun) + ("mbedtls" ,mbedtls-apache) + ("curl" ,curl) ("libgit2" ,libgit2) - ("fftw" ,fftw) - ("fftwf" ,fftwf) + ("libssh2" ,libssh2) ("fortran" ,gfortran) ("libuv" ,libuv-julia) ("pcre2" ,pcre2) @@ -418,31 +420,9 @@ ("which" ,which) ("zlib" ,zlib) ("gmp" ,gmp) - ("virtualenv" ,python2-virtualenv) - ;; FIXME: The following inputs are downloaded from upstream to allow us - ;; to use the lightweight Julia release tarball. Ideally, these inputs - ;; would eventually be replaced with proper Guix packages. - - ;; TODO: run "make -f contrib/repackage_system_suitesparse4.make" to copy static lib - ;; Find dependency versions here: - ;; https://raw.githubusercontent.com/JuliaLang/julia/77a2c1e245c85812dc1c7687540beedecc52758f/deps/Versions.make - ("rmath" - ,(origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/JuliaLang/Rmath-julia") - (commit "v0.1"))) - (file-name "rmath-julia-0.1-checkout") - (sha256 - (base32 - "1zkpy0cg5zivq40zbhbdgj9128fqzs2j94wkwih8nc6xaj3gp9p6")))) - ("suitesparse" - ,(origin - (method url-fetch) - (uri "http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-4.4.5.tar.gz") - (sha256 - (base32 - "1jcbxb8jx5wlcixzf6n5dca2rcfx6mlcms1k2rl5gp67ay3bix43")))) + ("suitesparse" ,suitesparse) + ;; Find dependencies versions here: + ;; https://raw.githubusercontent.com/JuliaLang/julia/v1.3.0/deps/Versions.make ("objconv" ,(origin (method url-fetch) @@ -467,15 +447,7 @@ (sha256 (base32 "1p7zg31kpmpbmh1znrk1xrbd074agx13b9q4dcw8n2zrwwdlbz3b"))))) - ("dsfmt" - ,(origin - (method url-fetch) - (uri (string-append - "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/" - "SFMT/dSFMT-src-2.2.3.tar.gz")) - (sha256 - (base32 - "03kaqbjbi6viz0n33dk5jlf6ayxqlsq4804n7kwkndiga9s4hd42")))))) + ("dsfmt" ,dsfmt))) (native-inputs `(("openssl" ,openssl) ("perl" ,perl) @@ -485,7 +457,10 @@ (native-search-paths (list (search-path-specification (variable "JULIA_LOAD_PATH") - (files (list "share/julia/packages/"))))) + (files (list "share/julia/packages/"))) + (search-path-specification + (variable "JULIA_DEPOT_PATH") + (files (list "share/julia/"))))) ;; Julia is not officially released for ARM and MIPS. ;; See https://github.com/JuliaLang/julia/issues/10639 (supported-systems '("i686-linux" "x86_64-linux" "aarch64-linux")) diff --git a/gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch b/gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch new file mode 100644 index 0000000000..32dfd7b856 --- /dev/null +++ b/gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch @@ -0,0 +1,28 @@ +--- /dev/null ++++ b/gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch +@@ -0,0 +1,22 @@ ++Fix one of upstream non-determinism, tracked here: ++ ++https://github.com/JuliaLang/julia/issues/34115 ++https://github.com/JuliaLang/julia/issues/25900 ++ ++ ++Patch by Nicoló Balzarotti . ++ ++--- a/base/loading.jl +++++ b/base/loading.jl ++@@ -807,7 +807,10 @@ ++ path = normpath(joinpath(dirname(prev), _path)) ++ end ++ if _track_dependencies[] ++- push!(_require_dependencies, (mod, path, mtime(path))) +++ push!(_require_dependencies, +++ (mod, path, +++ haskey(ENV, "SOURCE_DATE_EPOCH") ? +++ parse(Float64, ENV["SOURCE_DATE_EPOCH"]) : mtime(path))) ++ end ++ return path, prev ++ end +-- +2.26.0 + -- cgit v1.2.3 From 76cc11a0edc81bd620d64b3cffe3125b6795f057 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 8 Apr 2020 09:54:40 +0200 Subject: gnu: higan: Update to 110. * gnu/packages/emulators.scm (higan): Update to 110. [source]: Switch to new repository. [inputs]: Add libxrandr, replace sdl with sdl2. [home-page]: Use new URL. [license]: Switch license. * gnu/packages/patches/higan-remove-march-native-flag.patch: Delete file. * gnu/local.mk: Reflect patch removal. --- gnu/local.mk | 1 - gnu/packages/emulators.scm | 27 +++++++--------------- .../patches/higan-remove-march-native-flag.patch | 12 ---------- 3 files changed, 8 insertions(+), 32 deletions(-) delete mode 100644 gnu/packages/patches/higan-remove-march-native-flag.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index d305a5eab9..d177faf106 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1031,7 +1031,6 @@ dist_patch_DATA = \ %D%/packages/patches/hdf-eos5-remove-gctp.patch \ %D%/packages/patches/hdf-eos5-fix-szip.patch \ %D%/packages/patches/hdf-eos5-fortrantests.patch \ - %D%/packages/patches/higan-remove-march-native-flag.patch \ %D%/packages/patches/hubbub-sort-entities.patch \ %D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch \ %D%/packages/patches/hplip-remove-imageprocessor.patch \ diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 48ab4b2ce4..7050eee211 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -311,28 +311,19 @@ and a game metadata scraper.") (home-page "https://emulationstation.org") (license license:expat)))) -;; Note: higan v107 has been released, but as explained by the dialog that -;; appears after starting the new version, it's an experimental release. The -;; author recommends v106 for general use. -;; -;; When updating to v107 (or probably beyond), sdl will have to be replaced -;; with sdl2, and libxrandr will need to be added to inputs. The patch -;; `higan-remove-march-native-flag.patch' will not be necessary, since the flag -;; is now being added only for `platform=local', which is not the default. (define-public higan (package (name "higan") - (version "106") + (version "110") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/byuu/higan/") - (commit (string-append "v" version)))) + (url "https://github.com/higan-emu/higan.git") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1mxivf8124vz4hl0b0xa1yqv0z9m3i12v9psmbpqkprrbq0wbgn1")) - (patches (search-patches "higan-remove-march-native-flag.patch")))) + (base32 "11rvm53c3p2f6zk8xbyv2j51xp8zmqnch7zravhj3fk590qrjrr2")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -342,11 +333,12 @@ and a game metadata scraper.") ("eudev" ,eudev) ("gtk+" ,gtk+-2) ("gtksourceview-2" ,gtksourceview-2) + ("libxrandr" ,libxrandr) ("libxv" ,libxv) ("mesa" ,mesa) ("openal" ,openal) ("pulseaudio" ,pulseaudio) - ("sdl" ,sdl))) + ("sdl2" ,sdl2))) (arguments '(#:phases (let ((build-phase (assoc-ref %standard-phases 'build)) @@ -405,7 +397,7 @@ and a game metadata scraper.") (string-append "prefix=" (assoc-ref %outputs "out"))) ;; There is no test suite. #:tests? #f)) - (home-page "https://byuu.org/higan") + (home-page "https://github.com/higan-emu/higan/") (synopsis "Nintendo multi-system emulator") (description "higan (formerly bsnes) is an emulator for multiple Nintendo video game @@ -413,10 +405,7 @@ consoles, including the Nintendo Entertainment System (NES/Famicom), Super Nintendo Entertainment System (SNES/Super Famicom), Game Boy, Game Boy Color (GBC), and Game Boy Advance (GBA). It also supports the subsystems Super Game Boy, BS-X Satellaview, and Sufami Turbo.") - ;; As noted in these files among more: - ;; - icarus/icarus.cpp - ;; - higan/emulator/emulator.hpp - (license license:gpl3))) + (license license:gpl3+))) (define-public mgba (package diff --git a/gnu/packages/patches/higan-remove-march-native-flag.patch b/gnu/packages/patches/higan-remove-march-native-flag.patch deleted file mode 100644 index 30d4cdd061..0000000000 --- a/gnu/packages/patches/higan-remove-march-native-flag.patch +++ /dev/null @@ -1,12 +0,0 @@ -Remove -march=native from build flags. - ---- a/higan/GNUmakefile -+++ b/higan/GNUmakefile -@@ -26,7 +26,6 @@ - flags += -fopenmp - link += -fopenmp - ifeq ($(binary),application) -- flags += -march=native - link += -Wl,-export-dynamic - link += -lX11 -lXext - else ifeq ($(binary),library) -- cgit v1.2.3 From 07a53bd512530d8f87e076263227216c467727bb Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 8 Apr 2020 10:16:25 +0200 Subject: installer: Turn help menu into parameters menu. * gnu/local.mk (INSTALLER_MODULES): Rename help.scm into parameters.scm. * po/guix/POTFILES.in: Ditto. * gnu/installer/record.scm (): Rename help-menu into parameter-menu and help-page into parameters-page. * gnu/installer/newt/parameters.scm: Renamed from help.scm. Update information messages. * gnu/installer/newt.scm: Update accordingly. * gnu/installer/newt/keymap.scm: Ditto. --- gnu/installer.scm | 6 +++--- gnu/installer/newt.scm | 14 ++++++------ gnu/installer/newt/help.scm | 44 -------------------------------------- gnu/installer/newt/keymap.scm | 8 +++---- gnu/installer/newt/parameters.scm | 45 +++++++++++++++++++++++++++++++++++++++ gnu/installer/record.scm | 8 +++---- gnu/local.mk | 2 +- po/guix/POTFILES.in | 2 +- 8 files changed, 65 insertions(+), 64 deletions(-) delete mode 100644 gnu/installer/newt/help.scm create mode 100644 gnu/installer/newt/parameters.scm (limited to 'gnu/local.mk') diff --git a/gnu/installer.scm b/gnu/installer.scm index 75c5a01570..6cd3995e51 100644 --- a/gnu/installer.scm +++ b/gnu/installer.scm @@ -198,11 +198,11 @@ selected keymap." (timezone-data #~(string-append #$tzdata "/share/zoneinfo/zone.tab"))) #~(lambda (current-installer) - ((installer-help-menu current-installer) + ((installer-parameters-menu current-installer) (lambda () - ((installer-help-page current-installer) + ((installer-parameters-page current-installer) (lambda _ - (#$(compute-keymap-step 'help) + (#$(compute-keymap-step 'param) current-installer))))) (list ;; Ask the user to choose a locale among those supported by diff --git a/gnu/installer/newt.scm b/gnu/installer/newt.scm index 7ac015eaad..a24a152984 100644 --- a/gnu/installer/newt.scm +++ b/gnu/installer/newt.scm @@ -21,7 +21,7 @@ #:use-module (gnu installer utils) #:use-module (gnu installer newt ethernet) #:use-module (gnu installer newt final) - #:use-module (gnu installer newt help) + #:use-module (gnu installer newt parameters) #:use-module (gnu installer newt hostname) #:use-module (gnu installer newt keymap) #:use-module (gnu installer newt locale) @@ -47,7 +47,7 @@ (clear-screen) (set-screen-size!) (push-help-line - (format #f (G_ "Press for help.")))) + (format #f (G_ "Press for installation parameters.")))) (define (exit) (newt-finish) @@ -112,11 +112,11 @@ problem. The backtrace is displayed below. Please report it by email to \ (define (services-page) (run-services-page)) -(define (help-menu menu-proc) +(define (parameters-menu menu-proc) (newt-set-help-callback menu-proc)) -(define (help-page keyboard-layout-selection) - (run-help-page keyboard-layout-selection)) +(define (parameters-page keyboard-layout-selection) + (run-parameters-page keyboard-layout-selection)) (define newt-installer (installer @@ -135,5 +135,5 @@ problem. The backtrace is displayed below. Please report it by email to \ (partition-page partition-page) (services-page services-page) (welcome-page welcome-page) - (help-menu help-menu) - (help-page help-page))) + (parameters-menu parameters-menu) + (parameters-page parameters-page))) diff --git a/gnu/installer/newt/help.scm b/gnu/installer/newt/help.scm deleted file mode 100644 index a488f5fa2a..0000000000 --- a/gnu/installer/newt/help.scm +++ /dev/null @@ -1,44 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2020 Mathieu Othacehe -;;; -;;; 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 . - -(define-module (gnu installer newt help) - #:use-module (gnu installer steps) - #:use-module (gnu installer newt page) - #:use-module (guix i18n) - #:use-module (ice-9 match) - #:use-module (newt) - #:export (run-help-page)) - -(define (run-help-page keyboard-layout-selection) - "Run a help page allowing to change the keyboard layout" - (let* ((items - (list - (cons (G_ "Change keyboard layout") keyboard-layout-selection))) - (result - (run-listbox-selection-page - #:info-text (G_ "This is the help menu, please choose an action.") - #:title (G_ "Installation help") - #:listbox-items items - #:listbox-item->text car - #:sort-listbox-items? #f - #:listbox-height 6 - #:button-text (G_ "Continue")))) - (match result - ((_ . proc) - (proc)) - (_ #f)))) diff --git a/gnu/installer/newt/keymap.scm b/gnu/installer/newt/keymap.scm index 0147a0b9d5..8625afaa03 100644 --- a/gnu/installer/newt/keymap.scm +++ b/gnu/installer/newt/keymap.scm @@ -39,21 +39,21 @@ #:title title #:info-text (case context - ((help) (G_ "Please choose your keyboard layout. \ + ((param) (G_ "Please choose your keyboard layout. \ It will only be used during the installation process.")) (else (G_ "Please choose your keyboard layout. \ It will be used during the install process, and for the installed system. \ -You can switch to different layout at any time from the help menu."))) +You can switch to different layout at any time from the parameters menu."))) #:listbox-items layouts #:listbox-item->text layout->text #:sort-listbox-items? #f #:button-text (case context - ((help) (G_ "Continue")) + ((param) (G_ "Continue")) (else (G_ "Exit"))) #:button-callback-procedure (case context - ((help) (const #t)) + ((param) (const #t)) (else (lambda _ (raise diff --git a/gnu/installer/newt/parameters.scm b/gnu/installer/newt/parameters.scm new file mode 100644 index 0000000000..4a34e94155 --- /dev/null +++ b/gnu/installer/newt/parameters.scm @@ -0,0 +1,45 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2020 Mathieu Othacehe +;;; +;;; 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 . + +(define-module (gnu installer newt parameters) + #:use-module (gnu installer steps) + #:use-module (gnu installer newt page) + #:use-module (guix i18n) + #:use-module (ice-9 match) + #:use-module (newt) + #:export (run-parameters-page)) + +(define (run-parameters-page keyboard-layout-selection) + "Run a parameters page allowing to change the keyboard layout" + (let* ((items + (list + (cons (G_ "Change keyboard layout") keyboard-layout-selection))) + (result + (run-listbox-selection-page + #:info-text (G_ "Please choose one of the following parameters or \ +press ‘Back’ to go back to the installation process.") + #:title (G_ "Installation parameters") + #:listbox-items items + #:listbox-item->text car + #:sort-listbox-items? #f + #:listbox-height 6 + #:button-text (G_ "Back")))) + (match result + ((_ . proc) + (proc)) + (_ #f)))) diff --git a/gnu/installer/record.scm b/gnu/installer/record.scm index 78acf50c63..7bc22e90e0 100644 --- a/gnu/installer/record.scm +++ b/gnu/installer/record.scm @@ -38,8 +38,8 @@ installer-partition-page installer-services-page installer-welcome-page - installer-help-menu - installer-help-page)) + installer-parameters-menu + installer-parameters-page)) ;;; @@ -85,6 +85,6 @@ ;; procedure (logo) -> void (welcome-page installer-welcome-page) ;; procedure (menu-proc) -> void - (help-menu installer-help-menu) + (parameters-menu installer-parameters-menu) ;; procedure (keyboard-layout-selection) -> void - (help-page installer-help-page)) + (parameters-page installer-parameters-page)) diff --git a/gnu/local.mk b/gnu/local.mk index d177faf106..3757f7d6e1 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -672,7 +672,7 @@ INSTALLER_MODULES = \ \ %D%/installer/newt/ethernet.scm \ %D%/installer/newt/final.scm \ - %D%/installer/newt/help.scm \ + %D%/installer/newt/parameters.scm \ %D%/installer/newt/hostname.scm \ %D%/installer/newt/keymap.scm \ %D%/installer/newt/locale.scm \ diff --git a/po/guix/POTFILES.in b/po/guix/POTFILES.in index 4cc4fe7b31..77332e7b17 100644 --- a/po/guix/POTFILES.in +++ b/po/guix/POTFILES.in @@ -16,7 +16,7 @@ gnu/installer/locale.scm gnu/installer/newt.scm gnu/installer/newt/ethernet.scm gnu/installer/newt/final.scm -gnu/installer/newt/help.scm +gnu/installer/newt/parameters.scm gnu/installer/newt/hostname.scm gnu/installer/newt/keymap.scm gnu/installer/newt/locale.scm -- cgit v1.2.3 From ee0ad7803c82383ac1bced073d8670bc407797e7 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 8 Apr 2020 10:20:33 +0200 Subject: installer: Add proxy support. * gnu/installer/proxy.scm: New file. * gnu/local.mk (INSTALLER_MODULES): Add it. * po/guix/POTFILES.in: Add it. * gnu/installer/newt/parameters.scm (run-proxy-page): New procedure, (run-parameters-page): add the previous procedure to the parameters menu. --- gnu/installer/newt/parameters.scm | 14 +++++++++++- gnu/installer/proxy.scm | 45 +++++++++++++++++++++++++++++++++++++++ gnu/local.mk | 1 + po/guix/POTFILES.in | 1 + 4 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 gnu/installer/proxy.scm (limited to 'gnu/local.mk') diff --git a/gnu/installer/newt/parameters.scm b/gnu/installer/newt/parameters.scm index 4a34e94155..95112b5780 100644 --- a/gnu/installer/newt/parameters.scm +++ b/gnu/installer/newt/parameters.scm @@ -17,6 +17,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu installer newt parameters) + #:use-module (gnu installer proxy) #:use-module (gnu installer steps) #:use-module (gnu installer newt page) #:use-module (guix i18n) @@ -24,11 +25,22 @@ #:use-module (newt) #:export (run-parameters-page)) +(define (run-proxy-page) + (define proxy + (run-input-page (G_ "Please enter the HTTP proxy URL. If you enter an \ +empty string, proxy usage will be disabled.") + (G_ "HTTP proxy configuration") + #:allow-empty-input? #t)) + (if (string=? proxy "") + (clear-http-proxy) + (set-http-proxy proxy))) + (define (run-parameters-page keyboard-layout-selection) "Run a parameters page allowing to change the keyboard layout" (let* ((items (list - (cons (G_ "Change keyboard layout") keyboard-layout-selection))) + (cons (G_ "Change keyboard layout") keyboard-layout-selection) + (cons (G_ "Configure HTTP proxy") run-proxy-page))) (result (run-listbox-selection-page #:info-text (G_ "Please choose one of the following parameters or \ diff --git a/gnu/installer/proxy.scm b/gnu/installer/proxy.scm new file mode 100644 index 0000000000..befaf3ab0a --- /dev/null +++ b/gnu/installer/proxy.scm @@ -0,0 +1,45 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2020 Mathieu Othacehe +;;; +;;; 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 . + +(define-module (gnu installer proxy) + #:use-module (gnu services herd) + #:export (set-http-proxy + clear-http-proxy)) + +(define-syntax-rule (with-silent-shepherd exp ...) + (parameterize ((shepherd-message-port + (%make-void-port "w"))) + exp ...)) + +(define (set-http-proxy proxy) + (with-silent-shepherd + (with-shepherd-action 'guix-daemon + ('set-http-proxy proxy) + result + result))) + +(define (clear-http-proxy) + (with-silent-shepherd + (with-shepherd-action 'guix-daemon + ('set-http-proxy) + result + result))) + +;; Local Variables: +;; eval: (put 'with-silent-shepherd 'scheme-indent-function 0) +;; End: diff --git a/gnu/local.mk b/gnu/local.mk index 3757f7d6e1..eefcdf501a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -662,6 +662,7 @@ INSTALLER_MODULES = \ %D%/installer/locale.scm \ %D%/installer/newt.scm \ %D%/installer/parted.scm \ + %D%/installer/proxy.scm \ %D%/installer/record.scm \ %D%/installer/services.scm \ %D%/installer/steps.scm \ diff --git a/po/guix/POTFILES.in b/po/guix/POTFILES.in index 77332e7b17..62b3cbf4e4 100644 --- a/po/guix/POTFILES.in +++ b/po/guix/POTFILES.in @@ -31,6 +31,7 @@ gnu/installer/newt/utils.scm gnu/installer/newt/welcome.scm gnu/installer/newt/wifi.scm gnu/installer/parted.scm +gnu/installer/proxy.scm gnu/installer/record.scm gnu/installer/services.scm gnu/installer/steps.scm -- cgit v1.2.3 From c7256eb4f5b6771d28f79cfad6b9044ba21f21d3 Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian Date: Thu, 9 Apr 2020 20:48:09 -0700 Subject: Add missing services/linux.scm to gnu/local.mk. * gnu/local.mk (GNU_SYSTEM_MODULES): Add linux.scm. --- gnu/local.mk | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index eefcdf501a..f401ef173b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -569,6 +569,7 @@ GNU_SYSTEM_MODULES = \ %D%/services/getmail.scm \ %D%/services/guix.scm \ %D%/services/kerberos.scm \ + %D%/services/linux.scm \ %D%/services/lirc.scm \ %D%/services/virtualization.scm \ %D%/services/mail.scm \ -- cgit v1.2.3 From eb0352e5b075385baebd907081682f14703ef5e0 Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian Date: Thu, 9 Apr 2020 20:48:09 -0700 Subject: Add missing services/linux.scm to gnu/local.mk. * gnu/local.mk (GNU_SYSTEM_MODULES): Add linux.scm. --- gnu/local.mk | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index eefcdf501a..f401ef173b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -569,6 +569,7 @@ GNU_SYSTEM_MODULES = \ %D%/services/getmail.scm \ %D%/services/guix.scm \ %D%/services/kerberos.scm \ + %D%/services/linux.scm \ %D%/services/lirc.scm \ %D%/services/virtualization.scm \ %D%/services/mail.scm \ -- cgit v1.2.3 From 523280e0993cf8bd6190c729e9cd18be52b73ab5 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 10 Apr 2020 14:48:02 +0200 Subject: gnu: binutils: Shorten file names of MinGW patches. This ensures we stay below the POSIX tar file name length limit. * gnu/packages/patches/binutils-mingw-w64-reproducible-import-libraries.patch: Rename to... * gnu/packages/patches/binutils-mingw-w64-deterministic.patch: ... this. * gnu/packages/patches/binutils-mingw-w64-specify-timestamp.patch: Rename to... * gnu/packages/patches/binutils-mingw-w64-timestamp.patch: ... this. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/cross-base.scm (cross-binutils): Likewise. --- gnu/local.mk | 4 +- gnu/packages/cross-base.scm | 5 +- .../patches/binutils-mingw-w64-deterministic.patch | 22 ++++ ...s-mingw-w64-reproducible-import-libraries.patch | 22 ---- .../binutils-mingw-w64-specify-timestamp.patch | 137 --------------------- .../patches/binutils-mingw-w64-timestamp.patch | 137 +++++++++++++++++++++ 6 files changed, 163 insertions(+), 164 deletions(-) create mode 100644 gnu/packages/patches/binutils-mingw-w64-deterministic.patch delete mode 100644 gnu/packages/patches/binutils-mingw-w64-reproducible-import-libraries.patch delete mode 100644 gnu/packages/patches/binutils-mingw-w64-specify-timestamp.patch create mode 100644 gnu/packages/patches/binutils-mingw-w64-timestamp.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index f401ef173b..a9dda84a81 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -776,8 +776,8 @@ dist_patch_DATA = \ %D%/packages/patches/bidiv-update-fribidi.patch \ %D%/packages/patches/binutils-boot-2.20.1a.patch \ %D%/packages/patches/binutils-loongson-workaround.patch \ - %D%/packages/patches/binutils-mingw-w64-specify-timestamp.patch \ - %D%/packages/patches/binutils-mingw-w64-reproducible-import-libraries.patch \ + %D%/packages/patches/binutils-mingw-w64-timestamp.patch \ + %D%/packages/patches/binutils-mingw-w64-deterministic.patch \ %D%/packages/patches/blender-2.79-newer-ffmpeg.patch \ %D%/packages/patches/blender-2.79-python-3.7-fix.patch \ %D%/packages/patches/bluez-CVE-2020-0556.patch \ diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index b0eb7ab4ed..b07014da6c 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -98,9 +98,8 @@ ((target-mingw? target) (package-with-extra-patches binutils - (search-patches - "binutils-mingw-w64-specify-timestamp.patch" - "binutils-mingw-w64-reproducible-import-libraries.patch"))) + (search-patches "binutils-mingw-w64-timestamp.patch" + "binutils-mingw-w64-deterministic.patch"))) (else binutils)) target))) diff --git a/gnu/packages/patches/binutils-mingw-w64-deterministic.patch b/gnu/packages/patches/binutils-mingw-w64-deterministic.patch new file mode 100644 index 0000000000..3e48b87935 --- /dev/null +++ b/gnu/packages/patches/binutils-mingw-w64-deterministic.patch @@ -0,0 +1,22 @@ +This following patch was originally found at the debian mingw-w64 team's +binutils repo located here: +https://salsa.debian.org/mingw-w64-team/binutils-mingw-w64.git + +Invoke the following in the aforementioned repo to see the original patch: + + $ git show da63f6b:debian/patches/reproducible-import-libraries.patch + +Description: Make DLL import libraries reproducible +Author: Benjamin Moody +Bug-Debian: https://bugs.debian.org/915055 + +--- a/ld/pe-dll.c ++++ b/ld/pe-dll.c +@@ -2844,6 +2844,7 @@ + + bfd_set_format (outarch, bfd_archive); + outarch->has_armap = 1; ++ outarch->flags |= BFD_DETERMINISTIC_OUTPUT; + + /* Work out a reasonable size of things to put onto one line. */ + ar_head = make_head (outarch); diff --git a/gnu/packages/patches/binutils-mingw-w64-reproducible-import-libraries.patch b/gnu/packages/patches/binutils-mingw-w64-reproducible-import-libraries.patch deleted file mode 100644 index 3e48b87935..0000000000 --- a/gnu/packages/patches/binutils-mingw-w64-reproducible-import-libraries.patch +++ /dev/null @@ -1,22 +0,0 @@ -This following patch was originally found at the debian mingw-w64 team's -binutils repo located here: -https://salsa.debian.org/mingw-w64-team/binutils-mingw-w64.git - -Invoke the following in the aforementioned repo to see the original patch: - - $ git show da63f6b:debian/patches/reproducible-import-libraries.patch - -Description: Make DLL import libraries reproducible -Author: Benjamin Moody -Bug-Debian: https://bugs.debian.org/915055 - ---- a/ld/pe-dll.c -+++ b/ld/pe-dll.c -@@ -2844,6 +2844,7 @@ - - bfd_set_format (outarch, bfd_archive); - outarch->has_armap = 1; -+ outarch->flags |= BFD_DETERMINISTIC_OUTPUT; - - /* Work out a reasonable size of things to put onto one line. */ - ar_head = make_head (outarch); diff --git a/gnu/packages/patches/binutils-mingw-w64-specify-timestamp.patch b/gnu/packages/patches/binutils-mingw-w64-specify-timestamp.patch deleted file mode 100644 index b785043b62..0000000000 --- a/gnu/packages/patches/binutils-mingw-w64-specify-timestamp.patch +++ /dev/null @@ -1,137 +0,0 @@ -This following patch was originally found at the debian mingw-w64 team's -binutils repo located here: -https://salsa.debian.org/mingw-w64-team/binutils-mingw-w64.git - -Invoke the following in the aforementioned repo to see the original patch: - - $ git show da63f6b:debian/patches/specify-timestamp.patch - -Description: Allow the PE timestamp to be specified -Author: Stephen Kitt - ---- a/bfd/peXXigen.c -+++ b/bfd/peXXigen.c -@@ -70,6 +70,9 @@ - #include - #endif - -+#include -+#include -+ - /* NOTE: it's strange to be including an architecture specific header - in what's supposed to be general (to PE/PEI) code. However, that's - where the definitions are, and they don't vary per architecture -@@ -879,10 +882,38 @@ - - /* Use a real timestamp by default, unless the no-insert-timestamp - option was chosen. */ -- if ((pe_data (abfd)->insert_timestamp)) -- H_PUT_32 (abfd, time (0), filehdr_out->f_timdat); -- else -+ if (pe_data (abfd)->insert_timestamp) { -+ time_t now; -+ char *source_date_epoch; -+ unsigned long long epoch; -+ char *endptr; -+ -+ now = time(NULL); -+ source_date_epoch = getenv("SOURCE_DATE_EPOCH"); -+ if (source_date_epoch) { -+ errno = 0; -+ epoch = strtoull(source_date_epoch, &endptr, 10); -+ if ((errno == ERANGE && (epoch == ULLONG_MAX || epoch == 0)) -+ || (errno != 0 && epoch == 0)) { -+ _bfd_error_handler("Environment variable $SOURCE_DATE_EPOCH: strtoull: %s\n", -+ strerror(errno)); -+ } else if (endptr == source_date_epoch) { -+ _bfd_error_handler("Environment variable $SOURCE_DATE_EPOCH: No digits were found: %s\n", -+ endptr); -+ } else if (*endptr != '\0') { -+ _bfd_error_handler("Environment variable $SOURCE_DATE_EPOCH: Trailing garbage: %s\n", -+ endptr); -+ } else if (epoch > ULONG_MAX) { -+ _bfd_error_handler("Environment variable $SOURCE_DATE_EPOCH: value must be smaller than or equal to: %lu but was found to be: %llu\n", -+ ULONG_MAX, epoch); -+ } else { -+ now = epoch; -+ } -+ } -+ H_PUT_32 (abfd, now, filehdr_out->f_timdat); -+ } else { - H_PUT_32 (abfd, 0, filehdr_out->f_timdat); -+ } - - PUT_FILEHDR_SYMPTR (abfd, filehdr_in->f_symptr, - filehdr_out->f_symptr); ---- a/ld/pe-dll.c -+++ b/ld/pe-dll.c -@@ -26,6 +26,8 @@ - #include "filenames.h" - #include "safe-ctype.h" - -+#include -+#include - #include - - #include "ld.h" -@@ -1202,8 +1204,36 @@ - - memset (edata_d, 0, edata_sz); - -- if (pe_data (abfd)->insert_timestamp) -- H_PUT_32 (abfd, time (0), edata_d + 4); -+ if (pe_data (abfd)->insert_timestamp) { -+ time_t now; -+ char *source_date_epoch; -+ unsigned long long epoch; -+ char *endptr; -+ -+ now = time(NULL); -+ source_date_epoch = getenv("SOURCE_DATE_EPOCH"); -+ if (source_date_epoch) { -+ errno = 0; -+ epoch = strtoull(source_date_epoch, &endptr, 10); -+ if ((errno == ERANGE && (epoch == ULLONG_MAX || epoch == 0)) -+ || (errno != 0 && epoch == 0)) { -+ einfo("Environment variable $SOURCE_DATE_EPOCH: strtoull: %s\n", -+ strerror(errno)); -+ } else if (endptr == source_date_epoch) { -+ einfo("Environment variable $SOURCE_DATE_EPOCH: No digits were found: %s\n", -+ endptr); -+ } else if (*endptr != '\0') { -+ einfo("Environment variable $SOURCE_DATE_EPOCH: Trailing garbage: %s\n", -+ endptr); -+ } else if (epoch > ULONG_MAX) { -+ einfo("Environment variable $SOURCE_DATE_EPOCH: value must be smaller than or equal to: %lu but was found to be: %llu\n", -+ ULONG_MAX, epoch); -+ } else { -+ now = epoch; -+ } -+ } -+ H_PUT_32 (abfd, now, edata_d + 4); -+ } - - if (pe_def_file->version_major != -1) - { ---- a/ld/emultempl/pe.em -+++ b/ld/emultempl/pe.em -@@ -303,7 +303,7 @@ - OPTION_USE_NUL_PREFIXED_IMPORT_TABLES}, - {"no-leading-underscore", no_argument, NULL, OPTION_NO_LEADING_UNDERSCORE}, - {"leading-underscore", no_argument, NULL, OPTION_LEADING_UNDERSCORE}, -- {"insert-timestamp", no_argument, NULL, OPTION_INSERT_TIMESTAMP}, -+ {"insert-timestamp", optional_argument, NULL, OPTION_INSERT_TIMESTAMP}, - {"no-insert-timestamp", no_argument, NULL, OPTION_NO_INSERT_TIMESTAMP}, - #ifdef DLL_SUPPORT - /* getopt allows abbreviations, so we do this to stop it ---- a/ld/emultempl/pep.em -+++ b/ld/emultempl/pep.em -@@ -321,7 +321,7 @@ - {"no-bind", no_argument, NULL, OPTION_NO_BIND}, - {"wdmdriver", no_argument, NULL, OPTION_WDM_DRIVER}, - {"tsaware", no_argument, NULL, OPTION_TERMINAL_SERVER_AWARE}, -- {"insert-timestamp", no_argument, NULL, OPTION_INSERT_TIMESTAMP}, -+ {"insert-timestamp", optional_argument, NULL, OPTION_INSERT_TIMESTAMP}, - {"no-insert-timestamp", no_argument, NULL, OPTION_NO_INSERT_TIMESTAMP}, - {"build-id", optional_argument, NULL, OPTION_BUILD_ID}, - {NULL, no_argument, NULL, 0} diff --git a/gnu/packages/patches/binutils-mingw-w64-timestamp.patch b/gnu/packages/patches/binutils-mingw-w64-timestamp.patch new file mode 100644 index 0000000000..b785043b62 --- /dev/null +++ b/gnu/packages/patches/binutils-mingw-w64-timestamp.patch @@ -0,0 +1,137 @@ +This following patch was originally found at the debian mingw-w64 team's +binutils repo located here: +https://salsa.debian.org/mingw-w64-team/binutils-mingw-w64.git + +Invoke the following in the aforementioned repo to see the original patch: + + $ git show da63f6b:debian/patches/specify-timestamp.patch + +Description: Allow the PE timestamp to be specified +Author: Stephen Kitt + +--- a/bfd/peXXigen.c ++++ b/bfd/peXXigen.c +@@ -70,6 +70,9 @@ + #include + #endif + ++#include ++#include ++ + /* NOTE: it's strange to be including an architecture specific header + in what's supposed to be general (to PE/PEI) code. However, that's + where the definitions are, and they don't vary per architecture +@@ -879,10 +882,38 @@ + + /* Use a real timestamp by default, unless the no-insert-timestamp + option was chosen. */ +- if ((pe_data (abfd)->insert_timestamp)) +- H_PUT_32 (abfd, time (0), filehdr_out->f_timdat); +- else ++ if (pe_data (abfd)->insert_timestamp) { ++ time_t now; ++ char *source_date_epoch; ++ unsigned long long epoch; ++ char *endptr; ++ ++ now = time(NULL); ++ source_date_epoch = getenv("SOURCE_DATE_EPOCH"); ++ if (source_date_epoch) { ++ errno = 0; ++ epoch = strtoull(source_date_epoch, &endptr, 10); ++ if ((errno == ERANGE && (epoch == ULLONG_MAX || epoch == 0)) ++ || (errno != 0 && epoch == 0)) { ++ _bfd_error_handler("Environment variable $SOURCE_DATE_EPOCH: strtoull: %s\n", ++ strerror(errno)); ++ } else if (endptr == source_date_epoch) { ++ _bfd_error_handler("Environment variable $SOURCE_DATE_EPOCH: No digits were found: %s\n", ++ endptr); ++ } else if (*endptr != '\0') { ++ _bfd_error_handler("Environment variable $SOURCE_DATE_EPOCH: Trailing garbage: %s\n", ++ endptr); ++ } else if (epoch > ULONG_MAX) { ++ _bfd_error_handler("Environment variable $SOURCE_DATE_EPOCH: value must be smaller than or equal to: %lu but was found to be: %llu\n", ++ ULONG_MAX, epoch); ++ } else { ++ now = epoch; ++ } ++ } ++ H_PUT_32 (abfd, now, filehdr_out->f_timdat); ++ } else { + H_PUT_32 (abfd, 0, filehdr_out->f_timdat); ++ } + + PUT_FILEHDR_SYMPTR (abfd, filehdr_in->f_symptr, + filehdr_out->f_symptr); +--- a/ld/pe-dll.c ++++ b/ld/pe-dll.c +@@ -26,6 +26,8 @@ + #include "filenames.h" + #include "safe-ctype.h" + ++#include ++#include + #include + + #include "ld.h" +@@ -1202,8 +1204,36 @@ + + memset (edata_d, 0, edata_sz); + +- if (pe_data (abfd)->insert_timestamp) +- H_PUT_32 (abfd, time (0), edata_d + 4); ++ if (pe_data (abfd)->insert_timestamp) { ++ time_t now; ++ char *source_date_epoch; ++ unsigned long long epoch; ++ char *endptr; ++ ++ now = time(NULL); ++ source_date_epoch = getenv("SOURCE_DATE_EPOCH"); ++ if (source_date_epoch) { ++ errno = 0; ++ epoch = strtoull(source_date_epoch, &endptr, 10); ++ if ((errno == ERANGE && (epoch == ULLONG_MAX || epoch == 0)) ++ || (errno != 0 && epoch == 0)) { ++ einfo("Environment variable $SOURCE_DATE_EPOCH: strtoull: %s\n", ++ strerror(errno)); ++ } else if (endptr == source_date_epoch) { ++ einfo("Environment variable $SOURCE_DATE_EPOCH: No digits were found: %s\n", ++ endptr); ++ } else if (*endptr != '\0') { ++ einfo("Environment variable $SOURCE_DATE_EPOCH: Trailing garbage: %s\n", ++ endptr); ++ } else if (epoch > ULONG_MAX) { ++ einfo("Environment variable $SOURCE_DATE_EPOCH: value must be smaller than or equal to: %lu but was found to be: %llu\n", ++ ULONG_MAX, epoch); ++ } else { ++ now = epoch; ++ } ++ } ++ H_PUT_32 (abfd, now, edata_d + 4); ++ } + + if (pe_def_file->version_major != -1) + { +--- a/ld/emultempl/pe.em ++++ b/ld/emultempl/pe.em +@@ -303,7 +303,7 @@ + OPTION_USE_NUL_PREFIXED_IMPORT_TABLES}, + {"no-leading-underscore", no_argument, NULL, OPTION_NO_LEADING_UNDERSCORE}, + {"leading-underscore", no_argument, NULL, OPTION_LEADING_UNDERSCORE}, +- {"insert-timestamp", no_argument, NULL, OPTION_INSERT_TIMESTAMP}, ++ {"insert-timestamp", optional_argument, NULL, OPTION_INSERT_TIMESTAMP}, + {"no-insert-timestamp", no_argument, NULL, OPTION_NO_INSERT_TIMESTAMP}, + #ifdef DLL_SUPPORT + /* getopt allows abbreviations, so we do this to stop it +--- a/ld/emultempl/pep.em ++++ b/ld/emultempl/pep.em +@@ -321,7 +321,7 @@ + {"no-bind", no_argument, NULL, OPTION_NO_BIND}, + {"wdmdriver", no_argument, NULL, OPTION_WDM_DRIVER}, + {"tsaware", no_argument, NULL, OPTION_TERMINAL_SERVER_AWARE}, +- {"insert-timestamp", no_argument, NULL, OPTION_INSERT_TIMESTAMP}, ++ {"insert-timestamp", optional_argument, NULL, OPTION_INSERT_TIMESTAMP}, + {"no-insert-timestamp", no_argument, NULL, OPTION_NO_INSERT_TIMESTAMP}, + {"build-id", optional_argument, NULL, OPTION_BUILD_ID}, + {NULL, no_argument, NULL, 0} -- cgit v1.2.3 From 79b0816e173b973ce03f46bfd91a0859b5e301e8 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 10 Apr 2020 14:55:31 +0200 Subject: gnu: akonadi: Shorten file name of patch. This ensures we stay below the POSIX tar file name length limit. * gnu/packages/patches/akonadi-Revert-Make-installation-properly-relo.patch: Rename to... * gnu/packages/patches/akonadi-not-relocatable.patch: ... this. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/kde-pim.scm (akonadi): Likewise. --- gnu/local.mk | 2 +- gnu/packages/kde-pim.scm | 2 +- ...di-Revert-Make-installation-properly-relo.patch | 49 ---------------------- gnu/packages/patches/akonadi-not-relocatable.patch | 49 ++++++++++++++++++++++ 4 files changed, 51 insertions(+), 51 deletions(-) delete mode 100644 gnu/packages/patches/akonadi-Revert-Make-installation-properly-relo.patch create mode 100644 gnu/packages/patches/akonadi-not-relocatable.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index a9dda84a81..ba9bd98fb9 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -726,7 +726,7 @@ dist_patch_DATA = \ %D%/packages/patches/aegisub-boost68.patch \ %D%/packages/patches/agg-am_c_prototype.patch \ %D%/packages/patches/akonadi-paths.patch \ - %D%/packages/patches/akonadi-Revert-Make-installation-properly-relo.patch \ + %D%/packages/patches/akonadi-not-relocatable.patch \ %D%/packages/patches/akonadi-timestamps.patch \ %D%/packages/patches/allegro-mesa-18.2.5-and-later.patch \ %D%/packages/patches/amule-crypto-6.patch \ diff --git a/gnu/packages/kde-pim.scm b/gnu/packages/kde-pim.scm index 1b99ae1de4..fea6dd3068 100644 --- a/gnu/packages/kde-pim.scm +++ b/gnu/packages/kde-pim.scm @@ -53,7 +53,7 @@ (patches (search-patches "akonadi-paths.patch" "akonadi-timestamps.patch" - "akonadi-Revert-Make-installation-properly-relo.patch")))) + "akonadi-not-relocatable.patch")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) diff --git a/gnu/packages/patches/akonadi-Revert-Make-installation-properly-relo.patch b/gnu/packages/patches/akonadi-Revert-Make-installation-properly-relo.patch deleted file mode 100644 index c3964c5c05..0000000000 --- a/gnu/packages/patches/akonadi-Revert-Make-installation-properly-relo.patch +++ /dev/null @@ -1,49 +0,0 @@ -From bc018b4bc816a3b51deb9739bedbf8a2268d0684 Mon Sep 17 00:00:00 2001 -From: gnidorah -Date: Fri, 22 Dec 2017 17:36:03 +0300 -Subject: [PATCH] Revert "Make Akonadi installation properly relocatable" - -This reverts commit b2bb55f13f2ac783f89cc414de8c39f62fa2096a. ---- - CMakeLists.txt | 3 --- - KF5AkonadiConfig.cmake.in | 6 +++--- - 2 files changed, 3 insertions(+), 6 deletions(-) - -Index: akonadi-19.08.0/CMakeLists.txt -=================================================================== ---- akonadi-19.08.0.orig/CMakeLists.txt -+++ akonadi-19.08.0/CMakeLists.txt -@@ -306,9 +306,6 @@ configure_package_config_file( - "${CMAKE_CURRENT_SOURCE_DIR}/KF5AkonadiConfig.cmake.in" - "${CMAKE_CURRENT_BINARY_DIR}/KF5AkonadiConfig.cmake" - INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} -- PATH_VARS AKONADI_DBUS_INTERFACES_INSTALL_DIR -- AKONADI_INCLUDE_DIR -- KF5Akonadi_DATA_DIR - ) - - install(FILES -Index: akonadi-19.08.0/KF5AkonadiConfig.cmake.in -=================================================================== ---- akonadi-19.08.0.orig/KF5AkonadiConfig.cmake.in -+++ akonadi-19.08.0/KF5AkonadiConfig.cmake.in -@@ -26,8 +26,8 @@ if(BUILD_TESTING) - find_dependency(Qt5Test "@QT_REQUIRED_VERSION@") - endif() - --set_and_check(AKONADI_DBUS_INTERFACES_DIR "@PACKAGE_AKONADI_DBUS_INTERFACES_INSTALL_DIR@") --set_and_check(AKONADI_INCLUDE_DIR "@PACKAGE_AKONADI_INCLUDE_DIR@") -+set_and_check(AKONADI_DBUS_INTERFACES_DIR "@AKONADI_DBUS_INTERFACES_INSTALL_DIR@") -+set_and_check(AKONADI_INCLUDE_DIR "@AKONADI_INCLUDE_DIR@") - - find_dependency(Boost "@Boost_MINIMUM_VERSION@") - -@@ -35,7 +35,7 @@ include(${CMAKE_CURRENT_LIST_DIR}/KF5Ako - include(${CMAKE_CURRENT_LIST_DIR}/KF5AkonadiMacros.cmake) - - # The directory where akonadi-xml.xsd and kcfg2dbus.xsl are installed --set(KF5Akonadi_DATA_DIR "@PACKAGE_KF5Akonadi_DATA_DIR@") -+set(KF5Akonadi_DATA_DIR "@KF5Akonadi_DATA_DIR@") - - #################################################################################### - # CMAKE_AUTOMOC diff --git a/gnu/packages/patches/akonadi-not-relocatable.patch b/gnu/packages/patches/akonadi-not-relocatable.patch new file mode 100644 index 0000000000..c3964c5c05 --- /dev/null +++ b/gnu/packages/patches/akonadi-not-relocatable.patch @@ -0,0 +1,49 @@ +From bc018b4bc816a3b51deb9739bedbf8a2268d0684 Mon Sep 17 00:00:00 2001 +From: gnidorah +Date: Fri, 22 Dec 2017 17:36:03 +0300 +Subject: [PATCH] Revert "Make Akonadi installation properly relocatable" + +This reverts commit b2bb55f13f2ac783f89cc414de8c39f62fa2096a. +--- + CMakeLists.txt | 3 --- + KF5AkonadiConfig.cmake.in | 6 +++--- + 2 files changed, 3 insertions(+), 6 deletions(-) + +Index: akonadi-19.08.0/CMakeLists.txt +=================================================================== +--- akonadi-19.08.0.orig/CMakeLists.txt ++++ akonadi-19.08.0/CMakeLists.txt +@@ -306,9 +306,6 @@ configure_package_config_file( + "${CMAKE_CURRENT_SOURCE_DIR}/KF5AkonadiConfig.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/KF5AkonadiConfig.cmake" + INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} +- PATH_VARS AKONADI_DBUS_INTERFACES_INSTALL_DIR +- AKONADI_INCLUDE_DIR +- KF5Akonadi_DATA_DIR + ) + + install(FILES +Index: akonadi-19.08.0/KF5AkonadiConfig.cmake.in +=================================================================== +--- akonadi-19.08.0.orig/KF5AkonadiConfig.cmake.in ++++ akonadi-19.08.0/KF5AkonadiConfig.cmake.in +@@ -26,8 +26,8 @@ if(BUILD_TESTING) + find_dependency(Qt5Test "@QT_REQUIRED_VERSION@") + endif() + +-set_and_check(AKONADI_DBUS_INTERFACES_DIR "@PACKAGE_AKONADI_DBUS_INTERFACES_INSTALL_DIR@") +-set_and_check(AKONADI_INCLUDE_DIR "@PACKAGE_AKONADI_INCLUDE_DIR@") ++set_and_check(AKONADI_DBUS_INTERFACES_DIR "@AKONADI_DBUS_INTERFACES_INSTALL_DIR@") ++set_and_check(AKONADI_INCLUDE_DIR "@AKONADI_INCLUDE_DIR@") + + find_dependency(Boost "@Boost_MINIMUM_VERSION@") + +@@ -35,7 +35,7 @@ include(${CMAKE_CURRENT_LIST_DIR}/KF5Ako + include(${CMAKE_CURRENT_LIST_DIR}/KF5AkonadiMacros.cmake) + + # The directory where akonadi-xml.xsd and kcfg2dbus.xsl are installed +-set(KF5Akonadi_DATA_DIR "@PACKAGE_KF5Akonadi_DATA_DIR@") ++set(KF5Akonadi_DATA_DIR "@KF5Akonadi_DATA_DIR@") + + #################################################################################### + # CMAKE_AUTOMOC -- cgit v1.2.3 From 929510a45daf622213d46bfb97b7c37b8501625c Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 10 Apr 2020 15:54:10 +0200 Subject: gnu: sdl-pango: Shorten file name of patch. * gnu/packages/patches/sdl-pango-fix-explicit-SDLPango_CopyFTBitmapTo.patch: Rename to... * gnu/packages/patches/sdl-pango-header-guard.patch: ... this. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/sdl.scm (sdl-pango): Likewise. --- gnu/local.mk | 2 +- ...-pango-fix-explicit-SDLPango_CopyFTBitmapTo.patch | 20 -------------------- gnu/packages/patches/sdl-pango-header-guard.patch | 20 ++++++++++++++++++++ gnu/packages/sdl.scm | 14 ++++++-------- 4 files changed, 27 insertions(+), 29 deletions(-) delete mode 100644 gnu/packages/patches/sdl-pango-fix-explicit-SDLPango_CopyFTBitmapTo.patch create mode 100644 gnu/packages/patches/sdl-pango-header-guard.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index ba9bd98fb9..73f9d5d69c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1288,7 +1288,7 @@ dist_patch_DATA = \ %D%/packages/patches/sdl-pango-api_additions.patch \ %D%/packages/patches/sdl-pango-blit_overflow.patch \ %D%/packages/patches/sdl-pango-fillrect_crash.patch \ - %D%/packages/patches/sdl-pango-fix-explicit-SDLPango_CopyFTBitmapTo.patch \ + %D%/packages/patches/sdl-pango-header-guard.patch \ %D%/packages/patches/sdl-pango-matrix_declarations.patch \ %D%/packages/patches/sdl-pango-sans-serif.patch \ %D%/packages/patches/patchutils-test-perms.patch \ diff --git a/gnu/packages/patches/sdl-pango-fix-explicit-SDLPango_CopyFTBitmapTo.patch b/gnu/packages/patches/sdl-pango-fix-explicit-SDLPango_CopyFTBitmapTo.patch deleted file mode 100644 index 3d4b10cc10..0000000000 --- a/gnu/packages/patches/sdl-pango-fix-explicit-SDLPango_CopyFTBitmapTo.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/src/SDL_Pango.h -+++ b/src/SDL_Pango.h -@@ -171,7 +171,7 @@ - SDLPango_Direction direction); - - --#ifdef __FT2_BUILD_UNIX_H__ -+#ifdef FT2BUILD_H_ - - extern DECLSPEC void SDLCALL SDLPango_CopyFTBitmapToSurface( - const FT_Bitmap *bitmap, -@@ -179,7 +179,7 @@ - const SDLPango_Matrix *matrix, - SDL_Rect *rect); - --#endif /* __FT2_BUILD_UNIX_H__ */ -+#endif - - - #ifdef __PANGO_H__ diff --git a/gnu/packages/patches/sdl-pango-header-guard.patch b/gnu/packages/patches/sdl-pango-header-guard.patch new file mode 100644 index 0000000000..3d4b10cc10 --- /dev/null +++ b/gnu/packages/patches/sdl-pango-header-guard.patch @@ -0,0 +1,20 @@ +--- a/src/SDL_Pango.h ++++ b/src/SDL_Pango.h +@@ -171,7 +171,7 @@ + SDLPango_Direction direction); + + +-#ifdef __FT2_BUILD_UNIX_H__ ++#ifdef FT2BUILD_H_ + + extern DECLSPEC void SDLCALL SDLPango_CopyFTBitmapToSurface( + const FT_Bitmap *bitmap, +@@ -179,7 +179,7 @@ + const SDLPango_Matrix *matrix, + SDL_Rect *rect); + +-#endif /* __FT2_BUILD_UNIX_H__ */ ++#endif + + + #ifdef __PANGO_H__ diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm index 7b36d5509c..105296cd0f 100644 --- a/gnu/packages/sdl.scm +++ b/gnu/packages/sdl.scm @@ -345,14 +345,12 @@ SDL.") "SDL_Pango-" version ".tar.gz")) (sha256 (base32 "197baw1dsg0p4pljs5k0fshbyki00r4l49m1drlpqw6ggawx6xbz")) - (patches - (search-patches - "sdl-pango-api_additions.patch" - "sdl-pango-blit_overflow.patch" - "sdl-pango-fillrect_crash.patch" - "sdl-pango-fix-explicit-SDLPango_CopyFTBitmapTo.patch" - "sdl-pango-matrix_declarations.patch" - "sdl-pango-sans-serif.patch")))) + (patches (search-patches "sdl-pango-api_additions.patch" + "sdl-pango-blit_overflow.patch" + "sdl-pango-fillrect_crash.patch" + "sdl-pango-header-guard.patch" + "sdl-pango-matrix_declarations.patch" + "sdl-pango-sans-serif.patch")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list "--disable-static") -- cgit v1.2.3 From 18ffd2f9687a7c8af0041c129c47db31b7e810c3 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 10 Apr 2020 14:48:02 +0200 Subject: gnu: binutils: Shorten file names of MinGW patches. This ensures we stay below the POSIX tar file name length limit. * gnu/packages/patches/binutils-mingw-w64-reproducible-import-libraries.patch: Rename to... * gnu/packages/patches/binutils-mingw-w64-deterministic.patch: ... this. * gnu/packages/patches/binutils-mingw-w64-specify-timestamp.patch: Rename to... * gnu/packages/patches/binutils-mingw-w64-timestamp.patch: ... this. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/cross-base.scm (cross-binutils): Likewise. --- gnu/local.mk | 4 +- gnu/packages/cross-base.scm | 5 +- .../patches/binutils-mingw-w64-deterministic.patch | 22 ++++ ...s-mingw-w64-reproducible-import-libraries.patch | 22 ---- .../binutils-mingw-w64-specify-timestamp.patch | 137 --------------------- .../patches/binutils-mingw-w64-timestamp.patch | 137 +++++++++++++++++++++ 6 files changed, 163 insertions(+), 164 deletions(-) create mode 100644 gnu/packages/patches/binutils-mingw-w64-deterministic.patch delete mode 100644 gnu/packages/patches/binutils-mingw-w64-reproducible-import-libraries.patch delete mode 100644 gnu/packages/patches/binutils-mingw-w64-specify-timestamp.patch create mode 100644 gnu/packages/patches/binutils-mingw-w64-timestamp.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index f401ef173b..a9dda84a81 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -776,8 +776,8 @@ dist_patch_DATA = \ %D%/packages/patches/bidiv-update-fribidi.patch \ %D%/packages/patches/binutils-boot-2.20.1a.patch \ %D%/packages/patches/binutils-loongson-workaround.patch \ - %D%/packages/patches/binutils-mingw-w64-specify-timestamp.patch \ - %D%/packages/patches/binutils-mingw-w64-reproducible-import-libraries.patch \ + %D%/packages/patches/binutils-mingw-w64-timestamp.patch \ + %D%/packages/patches/binutils-mingw-w64-deterministic.patch \ %D%/packages/patches/blender-2.79-newer-ffmpeg.patch \ %D%/packages/patches/blender-2.79-python-3.7-fix.patch \ %D%/packages/patches/bluez-CVE-2020-0556.patch \ diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index b0eb7ab4ed..b07014da6c 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -98,9 +98,8 @@ ((target-mingw? target) (package-with-extra-patches binutils - (search-patches - "binutils-mingw-w64-specify-timestamp.patch" - "binutils-mingw-w64-reproducible-import-libraries.patch"))) + (search-patches "binutils-mingw-w64-timestamp.patch" + "binutils-mingw-w64-deterministic.patch"))) (else binutils)) target))) diff --git a/gnu/packages/patches/binutils-mingw-w64-deterministic.patch b/gnu/packages/patches/binutils-mingw-w64-deterministic.patch new file mode 100644 index 0000000000..3e48b87935 --- /dev/null +++ b/gnu/packages/patches/binutils-mingw-w64-deterministic.patch @@ -0,0 +1,22 @@ +This following patch was originally found at the debian mingw-w64 team's +binutils repo located here: +https://salsa.debian.org/mingw-w64-team/binutils-mingw-w64.git + +Invoke the following in the aforementioned repo to see the original patch: + + $ git show da63f6b:debian/patches/reproducible-import-libraries.patch + +Description: Make DLL import libraries reproducible +Author: Benjamin Moody +Bug-Debian: https://bugs.debian.org/915055 + +--- a/ld/pe-dll.c ++++ b/ld/pe-dll.c +@@ -2844,6 +2844,7 @@ + + bfd_set_format (outarch, bfd_archive); + outarch->has_armap = 1; ++ outarch->flags |= BFD_DETERMINISTIC_OUTPUT; + + /* Work out a reasonable size of things to put onto one line. */ + ar_head = make_head (outarch); diff --git a/gnu/packages/patches/binutils-mingw-w64-reproducible-import-libraries.patch b/gnu/packages/patches/binutils-mingw-w64-reproducible-import-libraries.patch deleted file mode 100644 index 3e48b87935..0000000000 --- a/gnu/packages/patches/binutils-mingw-w64-reproducible-import-libraries.patch +++ /dev/null @@ -1,22 +0,0 @@ -This following patch was originally found at the debian mingw-w64 team's -binutils repo located here: -https://salsa.debian.org/mingw-w64-team/binutils-mingw-w64.git - -Invoke the following in the aforementioned repo to see the original patch: - - $ git show da63f6b:debian/patches/reproducible-import-libraries.patch - -Description: Make DLL import libraries reproducible -Author: Benjamin Moody -Bug-Debian: https://bugs.debian.org/915055 - ---- a/ld/pe-dll.c -+++ b/ld/pe-dll.c -@@ -2844,6 +2844,7 @@ - - bfd_set_format (outarch, bfd_archive); - outarch->has_armap = 1; -+ outarch->flags |= BFD_DETERMINISTIC_OUTPUT; - - /* Work out a reasonable size of things to put onto one line. */ - ar_head = make_head (outarch); diff --git a/gnu/packages/patches/binutils-mingw-w64-specify-timestamp.patch b/gnu/packages/patches/binutils-mingw-w64-specify-timestamp.patch deleted file mode 100644 index b785043b62..0000000000 --- a/gnu/packages/patches/binutils-mingw-w64-specify-timestamp.patch +++ /dev/null @@ -1,137 +0,0 @@ -This following patch was originally found at the debian mingw-w64 team's -binutils repo located here: -https://salsa.debian.org/mingw-w64-team/binutils-mingw-w64.git - -Invoke the following in the aforementioned repo to see the original patch: - - $ git show da63f6b:debian/patches/specify-timestamp.patch - -Description: Allow the PE timestamp to be specified -Author: Stephen Kitt - ---- a/bfd/peXXigen.c -+++ b/bfd/peXXigen.c -@@ -70,6 +70,9 @@ - #include - #endif - -+#include -+#include -+ - /* NOTE: it's strange to be including an architecture specific header - in what's supposed to be general (to PE/PEI) code. However, that's - where the definitions are, and they don't vary per architecture -@@ -879,10 +882,38 @@ - - /* Use a real timestamp by default, unless the no-insert-timestamp - option was chosen. */ -- if ((pe_data (abfd)->insert_timestamp)) -- H_PUT_32 (abfd, time (0), filehdr_out->f_timdat); -- else -+ if (pe_data (abfd)->insert_timestamp) { -+ time_t now; -+ char *source_date_epoch; -+ unsigned long long epoch; -+ char *endptr; -+ -+ now = time(NULL); -+ source_date_epoch = getenv("SOURCE_DATE_EPOCH"); -+ if (source_date_epoch) { -+ errno = 0; -+ epoch = strtoull(source_date_epoch, &endptr, 10); -+ if ((errno == ERANGE && (epoch == ULLONG_MAX || epoch == 0)) -+ || (errno != 0 && epoch == 0)) { -+ _bfd_error_handler("Environment variable $SOURCE_DATE_EPOCH: strtoull: %s\n", -+ strerror(errno)); -+ } else if (endptr == source_date_epoch) { -+ _bfd_error_handler("Environment variable $SOURCE_DATE_EPOCH: No digits were found: %s\n", -+ endptr); -+ } else if (*endptr != '\0') { -+ _bfd_error_handler("Environment variable $SOURCE_DATE_EPOCH: Trailing garbage: %s\n", -+ endptr); -+ } else if (epoch > ULONG_MAX) { -+ _bfd_error_handler("Environment variable $SOURCE_DATE_EPOCH: value must be smaller than or equal to: %lu but was found to be: %llu\n", -+ ULONG_MAX, epoch); -+ } else { -+ now = epoch; -+ } -+ } -+ H_PUT_32 (abfd, now, filehdr_out->f_timdat); -+ } else { - H_PUT_32 (abfd, 0, filehdr_out->f_timdat); -+ } - - PUT_FILEHDR_SYMPTR (abfd, filehdr_in->f_symptr, - filehdr_out->f_symptr); ---- a/ld/pe-dll.c -+++ b/ld/pe-dll.c -@@ -26,6 +26,8 @@ - #include "filenames.h" - #include "safe-ctype.h" - -+#include -+#include - #include - - #include "ld.h" -@@ -1202,8 +1204,36 @@ - - memset (edata_d, 0, edata_sz); - -- if (pe_data (abfd)->insert_timestamp) -- H_PUT_32 (abfd, time (0), edata_d + 4); -+ if (pe_data (abfd)->insert_timestamp) { -+ time_t now; -+ char *source_date_epoch; -+ unsigned long long epoch; -+ char *endptr; -+ -+ now = time(NULL); -+ source_date_epoch = getenv("SOURCE_DATE_EPOCH"); -+ if (source_date_epoch) { -+ errno = 0; -+ epoch = strtoull(source_date_epoch, &endptr, 10); -+ if ((errno == ERANGE && (epoch == ULLONG_MAX || epoch == 0)) -+ || (errno != 0 && epoch == 0)) { -+ einfo("Environment variable $SOURCE_DATE_EPOCH: strtoull: %s\n", -+ strerror(errno)); -+ } else if (endptr == source_date_epoch) { -+ einfo("Environment variable $SOURCE_DATE_EPOCH: No digits were found: %s\n", -+ endptr); -+ } else if (*endptr != '\0') { -+ einfo("Environment variable $SOURCE_DATE_EPOCH: Trailing garbage: %s\n", -+ endptr); -+ } else if (epoch > ULONG_MAX) { -+ einfo("Environment variable $SOURCE_DATE_EPOCH: value must be smaller than or equal to: %lu but was found to be: %llu\n", -+ ULONG_MAX, epoch); -+ } else { -+ now = epoch; -+ } -+ } -+ H_PUT_32 (abfd, now, edata_d + 4); -+ } - - if (pe_def_file->version_major != -1) - { ---- a/ld/emultempl/pe.em -+++ b/ld/emultempl/pe.em -@@ -303,7 +303,7 @@ - OPTION_USE_NUL_PREFIXED_IMPORT_TABLES}, - {"no-leading-underscore", no_argument, NULL, OPTION_NO_LEADING_UNDERSCORE}, - {"leading-underscore", no_argument, NULL, OPTION_LEADING_UNDERSCORE}, -- {"insert-timestamp", no_argument, NULL, OPTION_INSERT_TIMESTAMP}, -+ {"insert-timestamp", optional_argument, NULL, OPTION_INSERT_TIMESTAMP}, - {"no-insert-timestamp", no_argument, NULL, OPTION_NO_INSERT_TIMESTAMP}, - #ifdef DLL_SUPPORT - /* getopt allows abbreviations, so we do this to stop it ---- a/ld/emultempl/pep.em -+++ b/ld/emultempl/pep.em -@@ -321,7 +321,7 @@ - {"no-bind", no_argument, NULL, OPTION_NO_BIND}, - {"wdmdriver", no_argument, NULL, OPTION_WDM_DRIVER}, - {"tsaware", no_argument, NULL, OPTION_TERMINAL_SERVER_AWARE}, -- {"insert-timestamp", no_argument, NULL, OPTION_INSERT_TIMESTAMP}, -+ {"insert-timestamp", optional_argument, NULL, OPTION_INSERT_TIMESTAMP}, - {"no-insert-timestamp", no_argument, NULL, OPTION_NO_INSERT_TIMESTAMP}, - {"build-id", optional_argument, NULL, OPTION_BUILD_ID}, - {NULL, no_argument, NULL, 0} diff --git a/gnu/packages/patches/binutils-mingw-w64-timestamp.patch b/gnu/packages/patches/binutils-mingw-w64-timestamp.patch new file mode 100644 index 0000000000..b785043b62 --- /dev/null +++ b/gnu/packages/patches/binutils-mingw-w64-timestamp.patch @@ -0,0 +1,137 @@ +This following patch was originally found at the debian mingw-w64 team's +binutils repo located here: +https://salsa.debian.org/mingw-w64-team/binutils-mingw-w64.git + +Invoke the following in the aforementioned repo to see the original patch: + + $ git show da63f6b:debian/patches/specify-timestamp.patch + +Description: Allow the PE timestamp to be specified +Author: Stephen Kitt + +--- a/bfd/peXXigen.c ++++ b/bfd/peXXigen.c +@@ -70,6 +70,9 @@ + #include + #endif + ++#include ++#include ++ + /* NOTE: it's strange to be including an architecture specific header + in what's supposed to be general (to PE/PEI) code. However, that's + where the definitions are, and they don't vary per architecture +@@ -879,10 +882,38 @@ + + /* Use a real timestamp by default, unless the no-insert-timestamp + option was chosen. */ +- if ((pe_data (abfd)->insert_timestamp)) +- H_PUT_32 (abfd, time (0), filehdr_out->f_timdat); +- else ++ if (pe_data (abfd)->insert_timestamp) { ++ time_t now; ++ char *source_date_epoch; ++ unsigned long long epoch; ++ char *endptr; ++ ++ now = time(NULL); ++ source_date_epoch = getenv("SOURCE_DATE_EPOCH"); ++ if (source_date_epoch) { ++ errno = 0; ++ epoch = strtoull(source_date_epoch, &endptr, 10); ++ if ((errno == ERANGE && (epoch == ULLONG_MAX || epoch == 0)) ++ || (errno != 0 && epoch == 0)) { ++ _bfd_error_handler("Environment variable $SOURCE_DATE_EPOCH: strtoull: %s\n", ++ strerror(errno)); ++ } else if (endptr == source_date_epoch) { ++ _bfd_error_handler("Environment variable $SOURCE_DATE_EPOCH: No digits were found: %s\n", ++ endptr); ++ } else if (*endptr != '\0') { ++ _bfd_error_handler("Environment variable $SOURCE_DATE_EPOCH: Trailing garbage: %s\n", ++ endptr); ++ } else if (epoch > ULONG_MAX) { ++ _bfd_error_handler("Environment variable $SOURCE_DATE_EPOCH: value must be smaller than or equal to: %lu but was found to be: %llu\n", ++ ULONG_MAX, epoch); ++ } else { ++ now = epoch; ++ } ++ } ++ H_PUT_32 (abfd, now, filehdr_out->f_timdat); ++ } else { + H_PUT_32 (abfd, 0, filehdr_out->f_timdat); ++ } + + PUT_FILEHDR_SYMPTR (abfd, filehdr_in->f_symptr, + filehdr_out->f_symptr); +--- a/ld/pe-dll.c ++++ b/ld/pe-dll.c +@@ -26,6 +26,8 @@ + #include "filenames.h" + #include "safe-ctype.h" + ++#include ++#include + #include + + #include "ld.h" +@@ -1202,8 +1204,36 @@ + + memset (edata_d, 0, edata_sz); + +- if (pe_data (abfd)->insert_timestamp) +- H_PUT_32 (abfd, time (0), edata_d + 4); ++ if (pe_data (abfd)->insert_timestamp) { ++ time_t now; ++ char *source_date_epoch; ++ unsigned long long epoch; ++ char *endptr; ++ ++ now = time(NULL); ++ source_date_epoch = getenv("SOURCE_DATE_EPOCH"); ++ if (source_date_epoch) { ++ errno = 0; ++ epoch = strtoull(source_date_epoch, &endptr, 10); ++ if ((errno == ERANGE && (epoch == ULLONG_MAX || epoch == 0)) ++ || (errno != 0 && epoch == 0)) { ++ einfo("Environment variable $SOURCE_DATE_EPOCH: strtoull: %s\n", ++ strerror(errno)); ++ } else if (endptr == source_date_epoch) { ++ einfo("Environment variable $SOURCE_DATE_EPOCH: No digits were found: %s\n", ++ endptr); ++ } else if (*endptr != '\0') { ++ einfo("Environment variable $SOURCE_DATE_EPOCH: Trailing garbage: %s\n", ++ endptr); ++ } else if (epoch > ULONG_MAX) { ++ einfo("Environment variable $SOURCE_DATE_EPOCH: value must be smaller than or equal to: %lu but was found to be: %llu\n", ++ ULONG_MAX, epoch); ++ } else { ++ now = epoch; ++ } ++ } ++ H_PUT_32 (abfd, now, edata_d + 4); ++ } + + if (pe_def_file->version_major != -1) + { +--- a/ld/emultempl/pe.em ++++ b/ld/emultempl/pe.em +@@ -303,7 +303,7 @@ + OPTION_USE_NUL_PREFIXED_IMPORT_TABLES}, + {"no-leading-underscore", no_argument, NULL, OPTION_NO_LEADING_UNDERSCORE}, + {"leading-underscore", no_argument, NULL, OPTION_LEADING_UNDERSCORE}, +- {"insert-timestamp", no_argument, NULL, OPTION_INSERT_TIMESTAMP}, ++ {"insert-timestamp", optional_argument, NULL, OPTION_INSERT_TIMESTAMP}, + {"no-insert-timestamp", no_argument, NULL, OPTION_NO_INSERT_TIMESTAMP}, + #ifdef DLL_SUPPORT + /* getopt allows abbreviations, so we do this to stop it +--- a/ld/emultempl/pep.em ++++ b/ld/emultempl/pep.em +@@ -321,7 +321,7 @@ + {"no-bind", no_argument, NULL, OPTION_NO_BIND}, + {"wdmdriver", no_argument, NULL, OPTION_WDM_DRIVER}, + {"tsaware", no_argument, NULL, OPTION_TERMINAL_SERVER_AWARE}, +- {"insert-timestamp", no_argument, NULL, OPTION_INSERT_TIMESTAMP}, ++ {"insert-timestamp", optional_argument, NULL, OPTION_INSERT_TIMESTAMP}, + {"no-insert-timestamp", no_argument, NULL, OPTION_NO_INSERT_TIMESTAMP}, + {"build-id", optional_argument, NULL, OPTION_BUILD_ID}, + {NULL, no_argument, NULL, 0} -- cgit v1.2.3 From 17edf577d5d377923d8f32c563092d80a48e9515 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 10 Apr 2020 14:55:31 +0200 Subject: gnu: akonadi: Shorten file name of patch. This ensures we stay below the POSIX tar file name length limit. * gnu/packages/patches/akonadi-Revert-Make-installation-properly-relo.patch: Rename to... * gnu/packages/patches/akonadi-not-relocatable.patch: ... this. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/kde-pim.scm (akonadi): Likewise. --- gnu/local.mk | 2 +- gnu/packages/kde-pim.scm | 2 +- ...di-Revert-Make-installation-properly-relo.patch | 49 ---------------------- gnu/packages/patches/akonadi-not-relocatable.patch | 49 ++++++++++++++++++++++ 4 files changed, 51 insertions(+), 51 deletions(-) delete mode 100644 gnu/packages/patches/akonadi-Revert-Make-installation-properly-relo.patch create mode 100644 gnu/packages/patches/akonadi-not-relocatable.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index a9dda84a81..ba9bd98fb9 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -726,7 +726,7 @@ dist_patch_DATA = \ %D%/packages/patches/aegisub-boost68.patch \ %D%/packages/patches/agg-am_c_prototype.patch \ %D%/packages/patches/akonadi-paths.patch \ - %D%/packages/patches/akonadi-Revert-Make-installation-properly-relo.patch \ + %D%/packages/patches/akonadi-not-relocatable.patch \ %D%/packages/patches/akonadi-timestamps.patch \ %D%/packages/patches/allegro-mesa-18.2.5-and-later.patch \ %D%/packages/patches/amule-crypto-6.patch \ diff --git a/gnu/packages/kde-pim.scm b/gnu/packages/kde-pim.scm index 1b99ae1de4..fea6dd3068 100644 --- a/gnu/packages/kde-pim.scm +++ b/gnu/packages/kde-pim.scm @@ -53,7 +53,7 @@ (patches (search-patches "akonadi-paths.patch" "akonadi-timestamps.patch" - "akonadi-Revert-Make-installation-properly-relo.patch")))) + "akonadi-not-relocatable.patch")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) diff --git a/gnu/packages/patches/akonadi-Revert-Make-installation-properly-relo.patch b/gnu/packages/patches/akonadi-Revert-Make-installation-properly-relo.patch deleted file mode 100644 index c3964c5c05..0000000000 --- a/gnu/packages/patches/akonadi-Revert-Make-installation-properly-relo.patch +++ /dev/null @@ -1,49 +0,0 @@ -From bc018b4bc816a3b51deb9739bedbf8a2268d0684 Mon Sep 17 00:00:00 2001 -From: gnidorah -Date: Fri, 22 Dec 2017 17:36:03 +0300 -Subject: [PATCH] Revert "Make Akonadi installation properly relocatable" - -This reverts commit b2bb55f13f2ac783f89cc414de8c39f62fa2096a. ---- - CMakeLists.txt | 3 --- - KF5AkonadiConfig.cmake.in | 6 +++--- - 2 files changed, 3 insertions(+), 6 deletions(-) - -Index: akonadi-19.08.0/CMakeLists.txt -=================================================================== ---- akonadi-19.08.0.orig/CMakeLists.txt -+++ akonadi-19.08.0/CMakeLists.txt -@@ -306,9 +306,6 @@ configure_package_config_file( - "${CMAKE_CURRENT_SOURCE_DIR}/KF5AkonadiConfig.cmake.in" - "${CMAKE_CURRENT_BINARY_DIR}/KF5AkonadiConfig.cmake" - INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} -- PATH_VARS AKONADI_DBUS_INTERFACES_INSTALL_DIR -- AKONADI_INCLUDE_DIR -- KF5Akonadi_DATA_DIR - ) - - install(FILES -Index: akonadi-19.08.0/KF5AkonadiConfig.cmake.in -=================================================================== ---- akonadi-19.08.0.orig/KF5AkonadiConfig.cmake.in -+++ akonadi-19.08.0/KF5AkonadiConfig.cmake.in -@@ -26,8 +26,8 @@ if(BUILD_TESTING) - find_dependency(Qt5Test "@QT_REQUIRED_VERSION@") - endif() - --set_and_check(AKONADI_DBUS_INTERFACES_DIR "@PACKAGE_AKONADI_DBUS_INTERFACES_INSTALL_DIR@") --set_and_check(AKONADI_INCLUDE_DIR "@PACKAGE_AKONADI_INCLUDE_DIR@") -+set_and_check(AKONADI_DBUS_INTERFACES_DIR "@AKONADI_DBUS_INTERFACES_INSTALL_DIR@") -+set_and_check(AKONADI_INCLUDE_DIR "@AKONADI_INCLUDE_DIR@") - - find_dependency(Boost "@Boost_MINIMUM_VERSION@") - -@@ -35,7 +35,7 @@ include(${CMAKE_CURRENT_LIST_DIR}/KF5Ako - include(${CMAKE_CURRENT_LIST_DIR}/KF5AkonadiMacros.cmake) - - # The directory where akonadi-xml.xsd and kcfg2dbus.xsl are installed --set(KF5Akonadi_DATA_DIR "@PACKAGE_KF5Akonadi_DATA_DIR@") -+set(KF5Akonadi_DATA_DIR "@KF5Akonadi_DATA_DIR@") - - #################################################################################### - # CMAKE_AUTOMOC diff --git a/gnu/packages/patches/akonadi-not-relocatable.patch b/gnu/packages/patches/akonadi-not-relocatable.patch new file mode 100644 index 0000000000..c3964c5c05 --- /dev/null +++ b/gnu/packages/patches/akonadi-not-relocatable.patch @@ -0,0 +1,49 @@ +From bc018b4bc816a3b51deb9739bedbf8a2268d0684 Mon Sep 17 00:00:00 2001 +From: gnidorah +Date: Fri, 22 Dec 2017 17:36:03 +0300 +Subject: [PATCH] Revert "Make Akonadi installation properly relocatable" + +This reverts commit b2bb55f13f2ac783f89cc414de8c39f62fa2096a. +--- + CMakeLists.txt | 3 --- + KF5AkonadiConfig.cmake.in | 6 +++--- + 2 files changed, 3 insertions(+), 6 deletions(-) + +Index: akonadi-19.08.0/CMakeLists.txt +=================================================================== +--- akonadi-19.08.0.orig/CMakeLists.txt ++++ akonadi-19.08.0/CMakeLists.txt +@@ -306,9 +306,6 @@ configure_package_config_file( + "${CMAKE_CURRENT_SOURCE_DIR}/KF5AkonadiConfig.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/KF5AkonadiConfig.cmake" + INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} +- PATH_VARS AKONADI_DBUS_INTERFACES_INSTALL_DIR +- AKONADI_INCLUDE_DIR +- KF5Akonadi_DATA_DIR + ) + + install(FILES +Index: akonadi-19.08.0/KF5AkonadiConfig.cmake.in +=================================================================== +--- akonadi-19.08.0.orig/KF5AkonadiConfig.cmake.in ++++ akonadi-19.08.0/KF5AkonadiConfig.cmake.in +@@ -26,8 +26,8 @@ if(BUILD_TESTING) + find_dependency(Qt5Test "@QT_REQUIRED_VERSION@") + endif() + +-set_and_check(AKONADI_DBUS_INTERFACES_DIR "@PACKAGE_AKONADI_DBUS_INTERFACES_INSTALL_DIR@") +-set_and_check(AKONADI_INCLUDE_DIR "@PACKAGE_AKONADI_INCLUDE_DIR@") ++set_and_check(AKONADI_DBUS_INTERFACES_DIR "@AKONADI_DBUS_INTERFACES_INSTALL_DIR@") ++set_and_check(AKONADI_INCLUDE_DIR "@AKONADI_INCLUDE_DIR@") + + find_dependency(Boost "@Boost_MINIMUM_VERSION@") + +@@ -35,7 +35,7 @@ include(${CMAKE_CURRENT_LIST_DIR}/KF5Ako + include(${CMAKE_CURRENT_LIST_DIR}/KF5AkonadiMacros.cmake) + + # The directory where akonadi-xml.xsd and kcfg2dbus.xsl are installed +-set(KF5Akonadi_DATA_DIR "@PACKAGE_KF5Akonadi_DATA_DIR@") ++set(KF5Akonadi_DATA_DIR "@KF5Akonadi_DATA_DIR@") + + #################################################################################### + # CMAKE_AUTOMOC -- cgit v1.2.3 From abc33218f167de366712feafde94441cf2216d0b Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 10 Apr 2020 15:54:10 +0200 Subject: gnu: sdl-pango: Shorten file name of patch. * gnu/packages/patches/sdl-pango-fix-explicit-SDLPango_CopyFTBitmapTo.patch: Rename to... * gnu/packages/patches/sdl-pango-header-guard.patch: ... this. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/sdl.scm (sdl-pango): Likewise. --- gnu/local.mk | 2 +- ...-pango-fix-explicit-SDLPango_CopyFTBitmapTo.patch | 20 -------------------- gnu/packages/patches/sdl-pango-header-guard.patch | 20 ++++++++++++++++++++ gnu/packages/sdl.scm | 14 ++++++-------- 4 files changed, 27 insertions(+), 29 deletions(-) delete mode 100644 gnu/packages/patches/sdl-pango-fix-explicit-SDLPango_CopyFTBitmapTo.patch create mode 100644 gnu/packages/patches/sdl-pango-header-guard.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index ba9bd98fb9..73f9d5d69c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1288,7 +1288,7 @@ dist_patch_DATA = \ %D%/packages/patches/sdl-pango-api_additions.patch \ %D%/packages/patches/sdl-pango-blit_overflow.patch \ %D%/packages/patches/sdl-pango-fillrect_crash.patch \ - %D%/packages/patches/sdl-pango-fix-explicit-SDLPango_CopyFTBitmapTo.patch \ + %D%/packages/patches/sdl-pango-header-guard.patch \ %D%/packages/patches/sdl-pango-matrix_declarations.patch \ %D%/packages/patches/sdl-pango-sans-serif.patch \ %D%/packages/patches/patchutils-test-perms.patch \ diff --git a/gnu/packages/patches/sdl-pango-fix-explicit-SDLPango_CopyFTBitmapTo.patch b/gnu/packages/patches/sdl-pango-fix-explicit-SDLPango_CopyFTBitmapTo.patch deleted file mode 100644 index 3d4b10cc10..0000000000 --- a/gnu/packages/patches/sdl-pango-fix-explicit-SDLPango_CopyFTBitmapTo.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/src/SDL_Pango.h -+++ b/src/SDL_Pango.h -@@ -171,7 +171,7 @@ - SDLPango_Direction direction); - - --#ifdef __FT2_BUILD_UNIX_H__ -+#ifdef FT2BUILD_H_ - - extern DECLSPEC void SDLCALL SDLPango_CopyFTBitmapToSurface( - const FT_Bitmap *bitmap, -@@ -179,7 +179,7 @@ - const SDLPango_Matrix *matrix, - SDL_Rect *rect); - --#endif /* __FT2_BUILD_UNIX_H__ */ -+#endif - - - #ifdef __PANGO_H__ diff --git a/gnu/packages/patches/sdl-pango-header-guard.patch b/gnu/packages/patches/sdl-pango-header-guard.patch new file mode 100644 index 0000000000..3d4b10cc10 --- /dev/null +++ b/gnu/packages/patches/sdl-pango-header-guard.patch @@ -0,0 +1,20 @@ +--- a/src/SDL_Pango.h ++++ b/src/SDL_Pango.h +@@ -171,7 +171,7 @@ + SDLPango_Direction direction); + + +-#ifdef __FT2_BUILD_UNIX_H__ ++#ifdef FT2BUILD_H_ + + extern DECLSPEC void SDLCALL SDLPango_CopyFTBitmapToSurface( + const FT_Bitmap *bitmap, +@@ -179,7 +179,7 @@ + const SDLPango_Matrix *matrix, + SDL_Rect *rect); + +-#endif /* __FT2_BUILD_UNIX_H__ */ ++#endif + + + #ifdef __PANGO_H__ diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm index 7b36d5509c..105296cd0f 100644 --- a/gnu/packages/sdl.scm +++ b/gnu/packages/sdl.scm @@ -345,14 +345,12 @@ SDL.") "SDL_Pango-" version ".tar.gz")) (sha256 (base32 "197baw1dsg0p4pljs5k0fshbyki00r4l49m1drlpqw6ggawx6xbz")) - (patches - (search-patches - "sdl-pango-api_additions.patch" - "sdl-pango-blit_overflow.patch" - "sdl-pango-fillrect_crash.patch" - "sdl-pango-fix-explicit-SDLPango_CopyFTBitmapTo.patch" - "sdl-pango-matrix_declarations.patch" - "sdl-pango-sans-serif.patch")))) + (patches (search-patches "sdl-pango-api_additions.patch" + "sdl-pango-blit_overflow.patch" + "sdl-pango-fillrect_crash.patch" + "sdl-pango-header-guard.patch" + "sdl-pango-matrix_declarations.patch" + "sdl-pango-sans-serif.patch")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list "--disable-static") -- cgit v1.2.3 From 9a71213e3344383bc937ccfdd4efe965b5935821 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 11 Apr 2020 03:18:26 +0200 Subject: gnu: dbacl: Update to 1.14.1. * gnu/packages/textutils.scm (dbacl): Update to 1.14.1. [source]: Add patch to fix build with current glibc. [arguments]: (Try to) bootstrap only once. * gnu/packages/patches/dbacl-include-locale.h.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/patches/dbacl-include-locale.h.patch | 36 +++++++++++++++++++++++ gnu/packages/textutils.scm | 20 ++++++------- 3 files changed, 47 insertions(+), 10 deletions(-) create mode 100644 gnu/packages/patches/dbacl-include-locale.h.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 73f9d5d69c..aba58ae03a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -824,6 +824,7 @@ dist_patch_DATA = \ %D%/packages/patches/cvs-CVE-2017-12836.patch \ %D%/packages/patches/date-output-pkg-config-files.patch \ %D%/packages/patches/darkice-workaround-fpermissive-error.patch \ + %D%/packages/patches/dbacl-include-locale.h.patch \ %D%/packages/patches/dbus-helper-search-path.patch \ %D%/packages/patches/dbus-c++-gcc-compat.patch \ %D%/packages/patches/dbus-c++-threading-mutex.patch \ diff --git a/gnu/packages/patches/dbacl-include-locale.h.patch b/gnu/packages/patches/dbacl-include-locale.h.patch new file mode 100644 index 0000000000..40d5d0aa44 --- /dev/null +++ b/gnu/packages/patches/dbacl-include-locale.h.patch @@ -0,0 +1,36 @@ +From: Tobias Geerinckx-Rice +Date: Sat, 11 Apr 2020 03:02:04 +0200 +Subject: [PATCH] gnu: dbacl: Include in dbacl.h. + +Copied verbatim[0] from Debian. + +[0]: https://sources.debian.org/data/main/d/dbacl/1.14.1-2/debian/patches/05-locale-h.patch + +Description: Add missing include in dbacl.h +Author: Fabian Wolff +Bug-Debian: https://bugs.debian.org/916182 +Last-Update: 2019-08-25 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/src/dbacl.h ++++ b/src/dbacl.h +@@ -21,6 +21,8 @@ + #ifndef DBACL_H + #define DBACL_H + ++#include ++ + #ifdef HAVE_CONFIG_H + #undef HAVE_CONFIG_H + #include "config.h" +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -28,7 +28,7 @@ + # stuff_SOURCES = stuff.c stuff.h fram.c stuff-lexer.l stuff-parser.y stuff-parser.h probs.c util.c util.h $(PUBDOM) + # stuff_LDADD = @LEXLIB@ + +-AM_CFLAGS = -funsigned-char -std=c99 -Wall -pedantic $(CFLAGSIEEE) -O3 ++AM_CFLAGS = -funsigned-char -std=c99 -D_XOPEN_SOURCE=700 -Wall -pedantic $(CFLAGSIEEE) -O3 + AM_YFLAGS = -d + + CLEANFILES = mailcross mailtoe mailfoot diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index 8510c6d1d0..62988ec574 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -13,7 +13,7 @@ ;;; Copyright © 2017,2019 Hartmut Goebel ;;; Copyright © 2017 Kei Kebreau ;;; Copyright © 2017 Alex Vong -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2018 Pierre Neidhardt ;;; Copyright © 2018 Meiyo Peng ;;; Copyright © 2019 Yoshinori Arai @@ -612,15 +612,15 @@ in a portable way.") (define-public dbacl (package (name "dbacl") - (version "1.14") + (version "1.14.1") (source (origin (method url-fetch) - (uri (string-append "http://www.lbreyer.com/gpl/" + (uri (string-append "mirror://sourceforge/dbacl/dbacl/" version "/" "dbacl-" version ".tar.gz")) (sha256 - (base32 - "0224g6x71hyvy7jikfxmgcwww1r5lvk0jx36cva319cb9nmrbrq7")))) + (base32 "1gas0112wqjvwn9qg3hxnawk7h3prr0w9b2h68f3p1ifd1kzn3gz")) + (patches (search-patches "dbacl-include-locale.h.patch")))) (build-system gnu-build-system) (arguments `(#:make-flags @@ -648,10 +648,6 @@ in a portable way.") (lambda _ (delete-file "src/tests/dbacl-jap.shin") #t)) - (add-after 'delete-sample6-and-japanese 'autoreconf - (lambda _ - (invoke "autoreconf" "-vif") - #t)) (add-after 'unpack 'fix-test-files (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -661,7 +657,11 @@ in a portable way.") "#PATH=/bin:/usr/bin") (("diff") (string-append (which "diff"))) (("tr") (string-append (which "tr")))) - #t)))))) + #t))) + (replace 'bootstrap + (lambda _ + (invoke "autoreconf" "-vif") + #t))))) (inputs `(("ncurses" ,ncurses) ("perl" ,perl) -- cgit v1.2.3 From 0493ead644196bb1c933719d4c0e63e665fd102d Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Fri, 10 Apr 2020 09:27:00 +0200 Subject: gnu: Merge ham-radio and sdr modules into radio module. * gnu/packages/ham-radio.scm: Rename to 'radio.scm'. * gnu/packages/sdr.scm: Remove file. (liquid-dsp): Move to ... * gnu/packages/radio.scm (liquid-dsp): ... here. * gnu/local.mk (GNU_SYSTEM_MODULES): Remove 'ham-radio.scm' and 'sdr.scm'. Add 'radio.scm'. --- gnu/local.mk | 3 +- gnu/packages/ham-radio.scm | 484 ------------------------------------------ gnu/packages/radio.scm | 514 +++++++++++++++++++++++++++++++++++++++++++++ gnu/packages/sdr.scm | 57 ----- 4 files changed, 515 insertions(+), 543 deletions(-) delete mode 100644 gnu/packages/ham-radio.scm create mode 100644 gnu/packages/radio.scm delete mode 100644 gnu/packages/sdr.scm (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index aba58ae03a..ac5fb0cfd1 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -256,7 +256,6 @@ GNU_SYSTEM_MODULES = \ %D%/packages/haskell-crypto.scm \ %D%/packages/haskell-web.scm \ %D%/packages/haskell-xyz.scm \ - %D%/packages/ham-radio.scm \ %D%/packages/hexedit.scm \ %D%/packages/hugs.scm \ %D%/packages/hurd.scm \ @@ -435,6 +434,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/toys.scm \ %D%/packages/tryton.scm \ %D%/packages/qt.scm \ + %D%/packages/radio.scm \ %D%/packages/ragel.scm \ %D%/packages/rails.scm \ %D%/packages/ratpoison.scm \ @@ -463,7 +463,6 @@ GNU_SYSTEM_MODULES = \ %D%/packages/scsi.scm \ %D%/packages/sdcc.scm \ %D%/packages/sdl.scm \ - %D%/packages/sdr.scm \ %D%/packages/search.scm \ %D%/packages/security-token.scm \ %D%/packages/selinux.scm \ diff --git a/gnu/packages/ham-radio.scm b/gnu/packages/ham-radio.scm deleted file mode 100644 index 56a9719414..0000000000 --- a/gnu/packages/ham-radio.scm +++ /dev/null @@ -1,484 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017, 2018, 2019 Arun Isaac -;;; Copyright © 2019, 2020 Evan Straw -;;; Copyright © 2020 Guillaume Le Vaillant -;;; Copyright © 2020 Danny Milosavljevic -;;; Copyright © 2020 Charlie Ritter -;;; -;;; 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 . - -(define-module (gnu packages ham-radio) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix git-download) - #:use-module (gnu packages algebra) - #:use-module (gnu packages audio) - #:use-module (gnu packages autotools) - #:use-module (gnu packages base) - #:use-module (gnu packages bash) - #:use-module (gnu packages boost) - #:use-module (gnu packages check) - #:use-module (gnu packages documentation) - #:use-module (gnu packages ghostscript) - #:use-module (gnu packages glib) - #:use-module (gnu packages gstreamer) - #:use-module (gnu packages gtk) - #:use-module (gnu packages image) - #:use-module (gnu packages libusb) - #:use-module (gnu packages linux) - #:use-module (gnu packages logging) - #:use-module (gnu packages maths) - #:use-module (gnu packages multiprecision) - #:use-module (gnu packages networking) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages pulseaudio) - #:use-module (gnu packages python) - #:use-module (gnu packages python-science) - #:use-module (gnu packages python-xyz) - #:use-module (gnu packages qt) - #:use-module (gnu packages sdr) - #:use-module (gnu packages sphinx) - #:use-module (gnu packages swig) - #:use-module (gnu packages tex) - #:use-module (gnu packages version-control) - #:use-module (gnu packages xml) - #:use-module (gnu packages xorg) - #:use-module (guix build-system cmake) - #:use-module (guix build-system glib-or-gtk) - #:use-module (guix build-system gnu) - #:use-module (guix build-system python) - #:use-module (guix build-system qt)) - -(define-public rtl-sdr - (package - (name "rtl-sdr") - (version "0.6.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "git://git.osmocom.org/rtl-sdr.git") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0lmvsnb4xw4hmz6zs0z5ilsah5hjz29g1s0050n59fllskqr3b8k")))) - (build-system cmake-build-system) - (inputs - `(("libusb" ,libusb))) - (native-inputs - `(("pkg-config" ,pkg-config))) - (arguments - `(#:configure-flags '("-DDETACH_KERNEL_DRIVER=ON") - #:tests? #f)) ; No tests - (home-page "https://osmocom.org/projects/sdr/wiki/rtl-sdr") - (synopsis "Software defined radio driver for Realtek RTL2832U") - (description "DVB-T dongles based on the Realtek RTL2832U can be used as a -cheap software defined radio, since the chip allows transferring the raw I/Q -samples to the host. @code{rtl-sdr} provides drivers for this purpose.") - (license license:gpl2+))) - -(define-public chirp - (package - (name "chirp") - (version "20181205") - (source - (origin - (method url-fetch) - (uri (string-append "https://trac.chirp.danplanet.com/chirp_daily/daily-" - version "/chirp-daily-" version ".tar.gz")) - (sha256 - (base32 - "1cp280b95j39xaxs50zn55jigg7pyfpm9n098hmsyxrplqn8z43c")))) - (build-system python-build-system) - (inputs - `(("python2-libxml2" ,python2-libxml2) - ("python2-pygtk" ,python2-pygtk) - ("python2-pyserial" ,python2-pyserial))) - (arguments - `(#:python ,python-2)) - (home-page "https://chirp.danplanet.com") - (synopsis "Cross-radio programming tool") - (description "Chirp is a cross-radio programming tool. It supports a -growing list of radios across several manufacturers and allows transferring of -memory contents between them.") - (license (list license:gpl3+ - license:lgpl3+)))) ; chirp/elib_intl.py - -(define-public aptdec - (package - (name "aptdec") - (version "1.7") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/csete/aptdec") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1hf0zb51qc6fyhdjxyij1n3vgwnw3cwksc3r11szbhkml14qjnzk")))) - (build-system gnu-build-system) - (inputs - `(("libpng" ,libpng) - ("libsndfile" ,libsndfile))) - (arguments - `(#:make-flags (list "CC=gcc") - #:tests? #f ; no tests - #:phases - (modify-phases %standard-phases - (delete 'configure) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (install-file "atpdec" (string-append out "/bin"))) - #t))))) - (home-page "https://github.com/csete/aptdec") - (synopsis "NOAA Automatic Picture Transmission (APT) decoder") - (description "Aptdec decodes Automatic Picture Transmission (APT) images. -These are medium resolution images of the Earth transmitted by, among other -satellites, the POES NOAA weather satellite series. These transmissions are -on a frequency of 137 MHz. They can be received using an inexpensive antenna -and a dedicated receiver.") - (license license:gpl2+))) - -(define-public redsea - (package - (name "redsea") - (version "0.18") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/windytan/redsea") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1y96g0ra2krjb2kypm8s5gdfia45yci4f36klsvyzg8d53v5cwhn")))) - (build-system gnu-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - ;; The configure.ac file does not explicitly link against libiconv - ;; except on Mac OS, causing the build to fail. This phase comments - ;; out the original AC_SUBST macro (located inside a conditional) and - ;; adds an explicit use of it underneath, so that libiconv is always - ;; linked against. - (add-after 'unpack 'patch-libiconv - (lambda _ - (substitute* "configure.ac" - (("^ +AC_SUBST") - "# AC_SUBST") - (("esac") - "esac\nAC_SUBST([ICONV], [\"-liconv\"])")) - #t))))) - (inputs - `(("libiconv" ,libiconv) - ("libsndfile" ,libsndfile) - ("liquid-dsp" ,liquid-dsp))) - (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake))) - (home-page "https://github.com/windytan/redsea") - (synopsis "Lightweight RDS to JSON decoder") - (description "redsea is a lightweight command-line @dfn{FM Radio Data -System} (FM-RDS) decoder. Redsea can be used with any RTL-SDR USB radio stick -with the rtl_fm tool, or any other @dfn{software-defined radio} (SDR) via -csdr, for example. It can also decode raw ASCII bitstream, the hex format -used by RDS Spy, and audio files containing @dfn{multiplex} signals (MPX).") - (license license:expat))) - -(define-public gnuradio - (package - (name "gnuradio") - (version "3.8.0.0") - (source - (origin - (method url-fetch) - (uri (string-append "https://www.gnuradio.org/releases/gnuradio/" - "gnuradio-" version ".tar.xz")) - (sha256 - (base32 "0aw55gf5549b0fz2qdi7vplcmaf92bj34h40s34b2ycnqasv900r")))) - (build-system cmake-build-system) - (native-inputs - `(("doxygen" ,doxygen) - ("git" ,git-minimal) - ("ghostscript" ,ghostscript) - ("orc" ,orc) - ("pkg-config" ,pkg-config) - ("python" ,python) - ("python-cheetah" ,python-cheetah) - ("python-mako" ,python-mako) - ("python-pyzmq" ,python-pyzmq) - ("python-scipy" ,python-scipy) - ("python-sphinx" ,python-sphinx) - ("swig" ,swig) - ("texlive" ,(texlive-union (list texlive-amsfonts - texlive-latex-amsmath - ;; TODO: Add newunicodechar. - texlive-latex-graphics))) - ("xorg-server" ,xorg-server-for-tests))) - (inputs - `(("alsa-lib" ,alsa-lib) - ("boost" ,boost) - ("cairo" ,cairo) - ("codec2" ,codec2) - ("cppzmq" ,cppzmq) - ("fftwf" ,fftwf) - ("gmp" ,gmp) - ("gsl" ,gsl) - ("gsm" ,gsm) - ("gtk+" ,gtk+) - ("jack" ,jack-1) - ("log4cpp" ,log4cpp) - ("pango" ,pango) - ("portaudio" ,portaudio) - ("python-click" ,python-click) - ("python-click-plugins" ,python-click-plugins) - ("python-lxml" ,python-lxml) - ("python-numpy" ,python-numpy) - ("python-pycairo" ,python-pycairo) - ("python-pygobject" ,python-pygobject) - ("python-pyqt" ,python-pyqt) - ("python-pyyaml" ,python-pyyaml) - ("qtbase" ,qtbase) - ("qwt" ,qwt) - ("zeromq" ,zeromq))) - (arguments - `(#:modules ((guix build cmake-build-system) - ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:) - ((guix build python-build-system) #:prefix python:) - (guix build utils) - (ice-9 match)) - #:imported-modules (,@%cmake-build-system-modules - (guix build glib-or-gtk-build-system) - (guix build python-build-system)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (let ((qwt (assoc-ref inputs "qwt"))) - (substitute* "cmake/Modules/FindQwt.cmake" - (("/usr/include") - (string-append qwt "/include")) - (("/usr/lib") - (string-append qwt "/lib")) - (("qwt6-\\$\\{QWT_QT_VERSION\\}") - "qwt"))) - (substitute* "cmake/Modules/GrPython.cmake" - (("dist-packages") - "site-packages")) - (substitute* '("gr-vocoder/swig/vocoder_swig.i" - "gr-vocoder/include/gnuradio/vocoder/codec2.h" - "gr-vocoder/include/gnuradio/vocoder/freedv_api.h") - ((" +;;; Copyright © 2019 Christopher Howard +;;; Copyright © 2019, 2020 Evan Straw +;;; Copyright © 2020 Guillaume Le Vaillant +;;; Copyright © 2020 Danny Milosavljevic +;;; Copyright © 2020 Charlie Ritter +;;; +;;; 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 . + +(define-module (gnu packages radio) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (gnu packages algebra) + #:use-module (gnu packages audio) + #:use-module (gnu packages autotools) + #:use-module (gnu packages base) + #:use-module (gnu packages bash) + #:use-module (gnu packages boost) + #:use-module (gnu packages check) + #:use-module (gnu packages documentation) + #:use-module (gnu packages ghostscript) + #:use-module (gnu packages glib) + #:use-module (gnu packages gstreamer) + #:use-module (gnu packages gtk) + #:use-module (gnu packages image) + #:use-module (gnu packages libusb) + #:use-module (gnu packages linux) + #:use-module (gnu packages logging) + #:use-module (gnu packages maths) + #:use-module (gnu packages multiprecision) + #:use-module (gnu packages networking) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages pulseaudio) + #:use-module (gnu packages python) + #:use-module (gnu packages python-science) + #:use-module (gnu packages python-xyz) + #:use-module (gnu packages qt) + #:use-module (gnu packages sphinx) + #:use-module (gnu packages swig) + #:use-module (gnu packages tex) + #:use-module (gnu packages version-control) + #:use-module (gnu packages xml) + #:use-module (gnu packages xorg) + #:use-module (guix build-system cmake) + #:use-module (guix build-system glib-or-gtk) + #:use-module (guix build-system gnu) + #:use-module (guix build-system python) + #:use-module (guix build-system qt)) + +(define-public liquid-dsp + (package + (name "liquid-dsp") + (version "1.3.2") + (source + (origin (method git-fetch) + (uri (git-reference + (url "https://github.com/jgaeddert/liquid-dsp.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1n6dbg13q8ga5qhg1yiszwly4jj0rxqr6f1xwm9waaly5z493xsd")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf))) + (inputs + `(("fftw" ,fftw) + ("fftwf" ,fftwf))) + (home-page "https://liquidsdr.org") + (synopsis "Signal processing library for software-defined radios") + (description + "Liquid DSP is a @dfn{digital signal processing} (DSP) library designed +specifically for software-defined radios on embedded platforms. The aim is to +provide a lightweight DSP library that does not rely on a myriad of external +dependencies or proprietary and otherwise cumbersome frameworks. All signal +processing elements are designed to be flexible, scalable, and dynamic, +including filters, filter design, oscillators, modems, synchronizers, complex +mathematical operations, and much more.") + (license license:expat))) + +(define-public rtl-sdr + (package + (name "rtl-sdr") + (version "0.6.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "git://git.osmocom.org/rtl-sdr.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0lmvsnb4xw4hmz6zs0z5ilsah5hjz29g1s0050n59fllskqr3b8k")))) + (build-system cmake-build-system) + (inputs + `(("libusb" ,libusb))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (arguments + `(#:configure-flags '("-DDETACH_KERNEL_DRIVER=ON") + #:tests? #f)) ; No tests + (home-page "https://osmocom.org/projects/sdr/wiki/rtl-sdr") + (synopsis "Software defined radio driver for Realtek RTL2832U") + (description "DVB-T dongles based on the Realtek RTL2832U can be used as a +cheap software defined radio, since the chip allows transferring the raw I/Q +samples to the host. @code{rtl-sdr} provides drivers for this purpose.") + (license license:gpl2+))) + +(define-public chirp + (package + (name "chirp") + (version "20181205") + (source + (origin + (method url-fetch) + (uri (string-append "https://trac.chirp.danplanet.com/chirp_daily/daily-" + version "/chirp-daily-" version ".tar.gz")) + (sha256 + (base32 + "1cp280b95j39xaxs50zn55jigg7pyfpm9n098hmsyxrplqn8z43c")))) + (build-system python-build-system) + (inputs + `(("python2-libxml2" ,python2-libxml2) + ("python2-pygtk" ,python2-pygtk) + ("python2-pyserial" ,python2-pyserial))) + (arguments + `(#:python ,python-2)) + (home-page "https://chirp.danplanet.com") + (synopsis "Cross-radio programming tool") + (description "Chirp is a cross-radio programming tool. It supports a +growing list of radios across several manufacturers and allows transferring of +memory contents between them.") + (license (list license:gpl3+ + license:lgpl3+)))) ; chirp/elib_intl.py + +(define-public aptdec + (package + (name "aptdec") + (version "1.7") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/csete/aptdec") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1hf0zb51qc6fyhdjxyij1n3vgwnw3cwksc3r11szbhkml14qjnzk")))) + (build-system gnu-build-system) + (inputs + `(("libpng" ,libpng) + ("libsndfile" ,libsndfile))) + (arguments + `(#:make-flags (list "CC=gcc") + #:tests? #f ; no tests + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (install-file "atpdec" (string-append out "/bin"))) + #t))))) + (home-page "https://github.com/csete/aptdec") + (synopsis "NOAA Automatic Picture Transmission (APT) decoder") + (description "Aptdec decodes Automatic Picture Transmission (APT) images. +These are medium resolution images of the Earth transmitted by, among other +satellites, the POES NOAA weather satellite series. These transmissions are +on a frequency of 137 MHz. They can be received using an inexpensive antenna +and a dedicated receiver.") + (license license:gpl2+))) + +(define-public redsea + (package + (name "redsea") + (version "0.18") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/windytan/redsea") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1y96g0ra2krjb2kypm8s5gdfia45yci4f36klsvyzg8d53v5cwhn")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; The configure.ac file does not explicitly link against libiconv + ;; except on Mac OS, causing the build to fail. This phase comments + ;; out the original AC_SUBST macro (located inside a conditional) and + ;; adds an explicit use of it underneath, so that libiconv is always + ;; linked against. + (add-after 'unpack 'patch-libiconv + (lambda _ + (substitute* "configure.ac" + (("^ +AC_SUBST") + "# AC_SUBST") + (("esac") + "esac\nAC_SUBST([ICONV], [\"-liconv\"])")) + #t))))) + (inputs + `(("libiconv" ,libiconv) + ("libsndfile" ,libsndfile) + ("liquid-dsp" ,liquid-dsp))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake))) + (home-page "https://github.com/windytan/redsea") + (synopsis "Lightweight RDS to JSON decoder") + (description "redsea is a lightweight command-line @dfn{FM Radio Data +System} (FM-RDS) decoder. Redsea can be used with any RTL-SDR USB radio stick +with the rtl_fm tool, or any other @dfn{software-defined radio} (SDR) via +csdr, for example. It can also decode raw ASCII bitstream, the hex format +used by RDS Spy, and audio files containing @dfn{multiplex} signals (MPX).") + (license license:expat))) + +(define-public gnuradio + (package + (name "gnuradio") + (version "3.8.0.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.gnuradio.org/releases/gnuradio/" + "gnuradio-" version ".tar.xz")) + (sha256 + (base32 "0aw55gf5549b0fz2qdi7vplcmaf92bj34h40s34b2ycnqasv900r")))) + (build-system cmake-build-system) + (native-inputs + `(("doxygen" ,doxygen) + ("git" ,git-minimal) + ("ghostscript" ,ghostscript) + ("orc" ,orc) + ("pkg-config" ,pkg-config) + ("python" ,python) + ("python-cheetah" ,python-cheetah) + ("python-mako" ,python-mako) + ("python-pyzmq" ,python-pyzmq) + ("python-scipy" ,python-scipy) + ("python-sphinx" ,python-sphinx) + ("swig" ,swig) + ("texlive" ,(texlive-union (list texlive-amsfonts + texlive-latex-amsmath + ;; TODO: Add newunicodechar. + texlive-latex-graphics))) + ("xorg-server" ,xorg-server-for-tests))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("boost" ,boost) + ("cairo" ,cairo) + ("codec2" ,codec2) + ("cppzmq" ,cppzmq) + ("fftwf" ,fftwf) + ("gmp" ,gmp) + ("gsl" ,gsl) + ("gsm" ,gsm) + ("gtk+" ,gtk+) + ("jack" ,jack-1) + ("log4cpp" ,log4cpp) + ("pango" ,pango) + ("portaudio" ,portaudio) + ("python-click" ,python-click) + ("python-click-plugins" ,python-click-plugins) + ("python-lxml" ,python-lxml) + ("python-numpy" ,python-numpy) + ("python-pycairo" ,python-pycairo) + ("python-pygobject" ,python-pygobject) + ("python-pyqt" ,python-pyqt) + ("python-pyyaml" ,python-pyyaml) + ("qtbase" ,qtbase) + ("qwt" ,qwt) + ("zeromq" ,zeromq))) + (arguments + `(#:modules ((guix build cmake-build-system) + ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:) + ((guix build python-build-system) #:prefix python:) + (guix build utils) + (ice-9 match)) + #:imported-modules (,@%cmake-build-system-modules + (guix build glib-or-gtk-build-system) + (guix build python-build-system)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (let ((qwt (assoc-ref inputs "qwt"))) + (substitute* "cmake/Modules/FindQwt.cmake" + (("/usr/include") + (string-append qwt "/include")) + (("/usr/lib") + (string-append qwt "/lib")) + (("qwt6-\\$\\{QWT_QT_VERSION\\}") + "qwt"))) + (substitute* "cmake/Modules/GrPython.cmake" + (("dist-packages") + "site-packages")) + (substitute* '("gr-vocoder/swig/vocoder_swig.i" + "gr-vocoder/include/gnuradio/vocoder/codec2.h" + "gr-vocoder/include/gnuradio/vocoder/freedv_api.h") + ((" -;;; Copyright © 2019, 2020 Evan Straw -;;; -;;; 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 . - -(define-module (gnu packages sdr) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix git-download) - #:use-module (guix build-system gnu) - #:use-module (gnu packages algebra) - #:use-module (gnu packages autotools)) - -(define-public liquid-dsp - (package - (name "liquid-dsp") - (version "1.3.2") - (source - (origin (method git-fetch) - (uri (git-reference - (url "https://github.com/jgaeddert/liquid-dsp.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1n6dbg13q8ga5qhg1yiszwly4jj0rxqr6f1xwm9waaly5z493xsd")))) - (build-system gnu-build-system) - (native-inputs - `(("autoconf" ,autoconf))) - (inputs - `(("fftw" ,fftw) - ("fftwf" ,fftwf))) - (home-page "https://liquidsdr.org") - (synopsis "Signal processing library for software-defined radios") - (description - "Liquid DSP is a @dfn{digital signal processing} (DSP) library designed -specifically for software-defined radios on embedded platforms. The aim is to -provide a lightweight DSP library that does not rely on a myriad of external -dependencies or proprietary and otherwise cumbersome frameworks. All signal -processing elements are designed to be flexible, scalable, and dynamic, -including filters, filter design, oscillators, modems, synchronizers, complex -mathematical operations, and much more.") - (license license:expat))) -- cgit v1.2.3 From f4ec5e1a9823a66c27fe2bc033db7b58b29edfef Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 11 Apr 2020 23:58:49 +0200 Subject: gnu: gdm: Don't offer GNOME when it's not in the system profile. Fixes . Reported by Pierre Neidhardt . * gnu/packages/patches/gdm-default-session.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/gnome.scm (gdm)[source]: Use it. --- gnu/local.mk | 1 + gnu/packages/gnome.scm | 3 +- gnu/packages/patches/gdm-default-session.patch | 91 ++++++++++++++++++++++++++ 3 files changed, 94 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/gdm-default-session.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 73f9d5d69c..0117a43ae2 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -932,6 +932,7 @@ dist_patch_DATA = \ %D%/packages/patches/gd-CVE-2019-6978.patch \ %D%/packages/patches/gd-fix-tests-on-i686.patch \ %D%/packages/patches/gd-freetype-test-failure.patch \ + %D%/packages/patches/gdm-default-session.patch \ %D%/packages/patches/geoclue-config.patch \ %D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \ %D%/packages/patches/ghc-diff-swap-cover-args.patch \ diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 088de7dd4c..63dd8dc4c6 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -6776,7 +6776,8 @@ libxml2.") name "-" version ".tar.xz")) (sha256 (base32 - "12ypdz9i24hwbl1d1wnnxb8zlvfa4f49n9ac5cl9d6h8qp4b0gb4")))) + "12ypdz9i24hwbl1d1wnnxb8zlvfa4f49n9ac5cl9d6h8qp4b0gb4")) + (patches (search-patches "gdm-default-session.patch")))) (build-system glib-or-gtk-build-system) (arguments '(#:configure-flags diff --git a/gnu/packages/patches/gdm-default-session.patch b/gnu/packages/patches/gdm-default-session.patch new file mode 100644 index 0000000000..4839a04de4 --- /dev/null +++ b/gnu/packages/patches/gdm-default-session.patch @@ -0,0 +1,91 @@ +This patch ensures '.desktop' files are picked up in the system profile +and not in the directories listed in $XDG_DATA_DIRS. The latter includes +'gnome-session.desktop', which should be used if it's in +/run/current-system/profile, and only then. + +Fixes . + +diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c +index 6a116a8..02c1458 100644 +--- a/daemon/gdm-session.c ++++ b/daemon/gdm-session.c +@@ -348,24 +348,18 @@ get_system_session_dirs (GdmSession *self) + GArray *search_array = NULL; + char **search_dirs; + int i; +- const gchar * const *system_data_dirs = g_get_system_data_dirs (); + + static const char *x_search_dirs[] = { + "/etc/X11/sessions/", + DMCONFDIR "/Sessions/", + DATADIR "/gdm/BuiltInSessions/", +- DATADIR "/xsessions/", ++ "/run/current-system/profile/share/xsessions/" + }; + + static const char *wayland_search_dir = DATADIR "/wayland-sessions/"; + + search_array = g_array_new (TRUE, TRUE, sizeof (char *)); + +- for (i = 0; system_data_dirs[i]; i++) { +- gchar *dir = g_build_filename (system_data_dirs[i], "xsessions", NULL); +- g_array_append_val (search_array, dir); +- } +- + g_array_append_vals (search_array, x_search_dirs, G_N_ELEMENTS (x_search_dirs)); + + #ifdef ENABLE_WAYLAND_SUPPORT +@@ -373,16 +367,7 @@ get_system_session_dirs (GdmSession *self) + #ifdef ENABLE_USER_DISPLAY_SERVER + g_array_prepend_val (search_array, wayland_search_dir); + +- for (i = 0; system_data_dirs[i]; i++) { +- gchar *dir = g_build_filename (system_data_dirs[i], "wayland-sessions", NULL); +- g_array_insert_val (search_array, i, dir); +- } + #else +- for (i = 0; system_data_dirs[i]; i++) { +- gchar *dir = g_build_filename (system_data_dirs[i], "wayland-sessions", NULL); +- g_array_append_val (search_array, dir); +- } +- + g_array_append_val (search_array, wayland_search_dir); + #endif + } +diff --git a/libgdm/gdm-sessions.c b/libgdm/gdm-sessions.c +index afbc5c0..bb5e3e6 100644 +--- a/libgdm/gdm-sessions.c ++++ b/libgdm/gdm-sessions.c +@@ -238,19 +238,11 @@ collect_sessions (void) + "/etc/X11/sessions/", + DMCONFDIR "/Sessions/", + DATADIR "/gdm/BuiltInSessions/", +- DATADIR "/xsessions/", +- NULL ++ "/run/current-system/profile/share/xsessions/" + }; + + xorg_search_array = g_array_new (TRUE, TRUE, sizeof (char *)); + +- const gchar * const *system_data_dirs = g_get_system_data_dirs (); +- +- for (i = 0; system_data_dirs[i]; i++) { +- session_dir = g_build_filename (system_data_dirs[i], "xsessions", NULL); +- g_array_append_val (xorg_search_array, session_dir); +- } +- + g_array_append_vals (xorg_search_array, xorg_search_dirs, G_N_ELEMENTS (xorg_search_dirs)); + + #ifdef ENABLE_WAYLAND_SUPPORT +@@ -261,11 +253,6 @@ collect_sessions (void) + + wayland_search_array = g_array_new (TRUE, TRUE, sizeof (char *)); + +- for (i = 0; system_data_dirs[i]; i++) { +- session_dir = g_build_filename (system_data_dirs[i], "wayland-sessions", NULL); +- g_array_append_val (wayland_search_array, session_dir); +- } +- + g_array_append_vals (wayland_search_array, wayland_search_dirs, G_N_ELEMENTS (wayland_search_dirs)); + #endif + -- cgit v1.2.3 From 92e52d25adbb684ae943be396ee27273d9475afc Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 14 Apr 2020 18:38:23 +0200 Subject: gnu: txr: Call ./configure manually instead of patching. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/lisp.scm (txr)[source]: Remove patch. [arguments]: Add ‘--prefix’ to #:configure-flags. Use a custom ‘configure’ phase. * gnu/packages/patches/txr-shell.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/lisp.scm | 29 ++++++++++++------ gnu/packages/patches/txr-shell.patch | 59 ------------------------------------ 3 files changed, 19 insertions(+), 70 deletions(-) delete mode 100644 gnu/packages/patches/txr-shell.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index ac5fb0cfd1..65e51a3541 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1480,7 +1480,6 @@ dist_patch_DATA = \ %D%/packages/patches/ttfautohint-source-date-epoch.patch \ %D%/packages/patches/tomb-fix-errors-on-open.patch \ %D%/packages/patches/tuxpaint-stamps-path.patch \ - %D%/packages/patches/txr-shell.patch \ %D%/packages/patches/u-boot-riscv64-fix-extlinux.patch \ %D%/packages/patches/ucx-tcp-iface-ioctl.patch \ %D%/packages/patches/udiskie-no-appindicator.patch \ diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index b35fa3225a..d7ad0a0db0 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -853,22 +853,31 @@ enough to play the original mainframe Zork all the way through.") (url "http://www.kylheku.com/git/txr/") (commit (string-append "txr-" version)))) (file-name (git-file-name name version)) - (patches (search-patches "txr-shell.patch")) (sha256 (base32 "0c9qsj4xwc24c9g02mr5n97m4d87d4n0pcc2c2n58l2vg5dnzba0")))) (build-system gnu-build-system) (arguments - '(#:configure-flags '("cc=gcc") + '(#:configure-flags + (list "cc=gcc" + (string-append "--prefix=" (assoc-ref %outputs "out"))) #:test-target "tests" - #:phases (modify-phases %standard-phases - (add-after 'configure 'fix-tests - (lambda _ - (substitute* "tests/017/realpath.tl" - (("/usr/bin") "/")) - (substitute* "tests/017/realpath.expected" - (("/usr/bin") "/")) - #t))))) + #:phases + (modify-phases %standard-phases + (replace 'configure + ;; ./configure is a hand-written script that can't handle standard + ;; autotools arguments like CONFIG_SHELL. + (lambda* (#:key configure-flags #:allow-other-keys) + (setenv "txr_shell" (which "bash")) + (apply invoke "./configure" configure-flags) + #t)) + (add-after 'configure 'fix-tests + (lambda _ + (substitute* "tests/017/realpath.tl" + (("/usr/bin") "/")) + (substitute* "tests/017/realpath.expected" + (("/usr/bin") "/")) + #t))))) (native-inputs `(("bison" ,bison) ("flex" ,flex))) diff --git a/gnu/packages/patches/txr-shell.patch b/gnu/packages/patches/txr-shell.patch deleted file mode 100644 index a4abb73eac..0000000000 --- a/gnu/packages/patches/txr-shell.patch +++ /dev/null @@ -1,59 +0,0 @@ -Use the current shell instead of trying to find another one and -failing to do so. - -diff --git a/configure b/configure -index f1adb919..7891b4dc 100755 ---- a/configure -+++ b/configure -@@ -26,28 +26,6 @@ - # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --# --# The #!/bin/sh might be some legacy piece of crap, --# not even up to 1990 POSIX.2 spec. So the first step --# is to look for a better shell in some known places --# and re-execute ourselves with that interpreter. --# -- --if test x$txr_shell = x ; then -- for shell in /bin/bash /usr/bin/bash /usr/xpg4/bin/sh ; do -- if test -x $shell ; then -- txr_shell=$shell -- break -- fi -- done -- if test x$txr_shell = x ; then -- echo "No known POSIX shell found: falling back on /bin/sh, which may not work" -- txr_shell=/bin/sh -- fi -- export txr_shell -- exec $txr_shell $0 ${@+"$@"} --fi -- - set -u - - # -@@ -190,13 +168,6 @@ while [ $# -gt 0 ] ; do - exit 1 - fi - -- eval "var_exists=\${$var+y}" -- -- if [ "$var_exists" != y ] ; then -- printf "$0: nonexistent option: '%s'\n" "$1" -- exit 1 -- fi -- - eval "$var='$val'" - - eval "var_given_exists=\${${var}_given+y}" -@@ -208,6 +179,8 @@ while [ $# -gt 0 ] ; do - shift - done - -+txr_shell=$CONFIG_SHELL -+ - # - # If --help was given (or --help= or help=) then - # print help and exit. The termination status is failed, to indicate -- cgit v1.2.3 From ff2bf8a2239a041b934690b91cb613c43d2963b9 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 15 Apr 2020 13:23:40 +0200 Subject: gnu: python-jedi: Update to 0.17.0. * gnu/packages/python-xyz.scm (python-jedi): Update to 0.17.0. [source](patches): Remove. * gnu/packages/patches/python-jedi-deleted-variables.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. --- gnu/local.mk | 1 - .../patches/python-jedi-deleted-variables.patch | 38 ---------------------- gnu/packages/python-xyz.scm | 5 ++- 3 files changed, 2 insertions(+), 42 deletions(-) delete mode 100644 gnu/packages/patches/python-jedi-deleted-variables.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 65e51a3541..359b6db482 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1364,7 +1364,6 @@ dist_patch_DATA = \ %D%/packages/patches/python-pep8-stdlib-tokenize-compat.patch \ %D%/packages/patches/python-pyfakefs-remove-bad-test.patch \ %D%/packages/patches/python-flint-includes.patch \ - %D%/packages/patches/python-jedi-deleted-variables.patch \ %D%/packages/patches/python-libxml2-utf8.patch \ %D%/packages/patches/python-mox3-python3.6-compat.patch \ %D%/packages/patches/python-testtools.patch \ diff --git a/gnu/packages/patches/python-jedi-deleted-variables.patch b/gnu/packages/patches/python-jedi-deleted-variables.patch deleted file mode 100644 index 53bdc05cde..0000000000 --- a/gnu/packages/patches/python-jedi-deleted-variables.patch +++ /dev/null @@ -1,38 +0,0 @@ -Fix test failure in some environments, including Guix. - -Taken from upstream: -https://github.com/davidhalter/jedi/commit/bec87f7ff82b0731713c6520a14c213341b4cecf - -diff --git a/test/completion/basic.py b/test/completion/basic.py -index b40068179..3ff919ca6 100644 ---- a/test/completion/basic.py -+++ b/test/completion/basic.py -@@ -209,11 +209,11 @@ def global_as_import(): - - deleted_var = 3 - del deleted_var --#? int() -+#? - deleted_var --#? ['deleted_var'] -+#? [] - deleted_var --#! ['deleted_var = 3'] -+#! [] - deleted_var - - # ----------------- -diff --git a/test/test_api/test_full_name.py b/test/test_api/test_full_name.py -index 4fdb861b0..6858b6ca8 100644 ---- a/test/test_api/test_full_name.py -+++ b/test/test_api/test_full_name.py -@@ -112,7 +112,8 @@ def test_os_path(Script): - - def test_os_issues(Script): - """Issue #873""" -- assert [c.name for c in Script('import os\nos.nt''').complete()] == ['nt'] -+ # nt is not found, because it's deleted -+ assert [c.name for c in Script('import os\nos.nt''').complete()] == [] - - - def test_param_name(Script): diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 009a0696c5..20b8784c05 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -11912,15 +11912,14 @@ characters, mouse support, and auto suggestions.") (define-public python-jedi (package (name "python-jedi") - (version "0.16.0") + (version "0.17.0") (source (origin (method url-fetch) (uri (pypi-uri "jedi" version)) - (patches (search-patches "python-jedi-deleted-variables.patch")) (sha256 (base32 - "1mb5kmrk9bkc3kwzx02j62cdan1jqd92q1z7h7wi9d30jg5p3j6m")))) + "0c1h9x3a9klvk2g288wl328x8xgzw7136k6vs9hkd56b85vcjh6z")))) (build-system python-build-system) (arguments `(#:phases -- cgit v1.2.3 From 27ed894851e19f44ba2b788bd404d2f476c27016 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 15 Apr 2020 13:50:19 +0200 Subject: gnu: Remove libvpx@1.7. * gnu/packages/patches/libvpx-use-after-free-in-postproc.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/video.scm (libvpx-1.7): Remove variable. --- gnu/local.mk | 1 - .../libvpx-use-after-free-in-postproc.patch | 34 ---------------------- gnu/packages/video.scm | 19 ------------ 3 files changed, 54 deletions(-) delete mode 100644 gnu/packages/patches/libvpx-use-after-free-in-postproc.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 359b6db482..ba7b22e112 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1161,7 +1161,6 @@ dist_patch_DATA = \ %D%/packages/patches/libvnc-CVE-2018-20750.patch \ %D%/packages/patches/libvnc-CVE-2019-15681.patch \ %D%/packages/patches/libvpx-CVE-2016-2818.patch \ - %D%/packages/patches/libvpx-use-after-free-in-postproc.patch \ %D%/packages/patches/libxslt-generated-ids.patch \ %D%/packages/patches/libxt-guix-search-paths.patch \ %D%/packages/patches/lierolibre-check-unaligned-access.patch \ diff --git a/gnu/packages/patches/libvpx-use-after-free-in-postproc.patch b/gnu/packages/patches/libvpx-use-after-free-in-postproc.patch deleted file mode 100644 index 04f2a953b7..0000000000 --- a/gnu/packages/patches/libvpx-use-after-free-in-postproc.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 52add5896661d186dec284ed646a4b33b607d2c7 Mon Sep 17 00:00:00 2001 -From: Jerome Jiang -Date: Wed, 23 May 2018 15:43:00 -0700 -Subject: [PATCH] VP8: Fix use-after-free in postproc. - -The pointer in vp8 postproc refers to show_frame_mi which is only -updated on show frame. However, when there is a no-show frame which also -changes the size (thus new frame buffers allocated), show_frame_mi is -not updated with new frame buffer memory. - -Change the pointer in postproc to mi which is always updated. - -Bug: 842265 -Change-Id: I33874f2112b39f74562cba528432b5f239e6a7bd ---- - vp8/common/postproc.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/vp8/common/postproc.c b/vp8/common/postproc.c -index d67ee8a57..8c292d616 100644 ---- a/vp8/common/postproc.c -+++ b/vp8/common/postproc.c -@@ -65,7 +65,7 @@ void vp8_deblock(VP8_COMMON *cm, YV12_BUFFER_CONFIG *source, - double level = 6.0e-05 * q * q * q - .0067 * q * q + .306 * q + .0065; - int ppl = (int)(level + .5); - -- const MODE_INFO *mode_info_context = cm->show_frame_mi; -+ const MODE_INFO *mode_info_context = cm->mi; - int mbr, mbc; - - /* The pixel thresholds are adjusted according to if or not the macroblock --- -2.19.0 - diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index c811120f8b..62cc423c09 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1622,25 +1622,6 @@ To load this plugin, specify the following option when starting mpv: (license license:bsd-3) (home-page "https://www.webmproject.org/"))) -;; GNU IceCat fails to build against 1.8.0, so keep this version for now. -(define-public libvpx-1.7 - (package - (inherit libvpx) - (version "1.7.0") - (source (origin - (inherit (package-source libvpx)) - (uri (git-reference - (url "https://chromium.googlesource.com/webm/libvpx") - (commit (string-append "v" version)))) - (file-name (git-file-name "libvpx" version)) - (sha256 - (base32 - "0vvh89hvp8qg9an9vcmwb7d9k3nixhxaz6zi65qdjnd0i56kkcz6")) - (patches - (append - (origin-patches (package-source libvpx)) - (search-patches "libvpx-use-after-free-in-postproc.patch"))))))) - (define-public youtube-dl (package (name "youtube-dl") -- cgit v1.2.3 From bff70d93d22b049c0c4ea3bd234d39f05f794b28 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 17 Apr 2020 00:51:48 +0200 Subject: gnu: python-jedi: Fix test failure on some file systems. Reported by sirgazil on #guix. * gnu/packages/patches/python-jedi-sort-project-test.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/python-xyz.scm (python-jedi)[source](patches): Add it. [arguments]: Run tests more verbosely while at it. --- gnu/local.mk | 1 + .../patches/python-jedi-sort-project-test.patch | 18 ++++++++++++++++++ gnu/packages/python-xyz.scm | 3 ++- 3 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/python-jedi-sort-project-test.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 952fc55df4..af79f9afed 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1364,6 +1364,7 @@ dist_patch_DATA = \ %D%/packages/patches/python-pep8-stdlib-tokenize-compat.patch \ %D%/packages/patches/python-pyfakefs-remove-bad-test.patch \ %D%/packages/patches/python-flint-includes.patch \ + %D%/packages/patches/python-jedi-sort-project-test.patch \ %D%/packages/patches/python-libxml2-utf8.patch \ %D%/packages/patches/python-mox3-python3.6-compat.patch \ %D%/packages/patches/python-testtools.patch \ diff --git a/gnu/packages/patches/python-jedi-sort-project-test.patch b/gnu/packages/patches/python-jedi-sort-project-test.patch new file mode 100644 index 0000000000..b2d602dfe6 --- /dev/null +++ b/gnu/packages/patches/python-jedi-sort-project-test.patch @@ -0,0 +1,18 @@ +Sort the result of file system traversal to avoid test failure on different +file systems. + +Taken from upstream: +https://github.com/davidhalter/jedi/commit/7ff76bb7d0d94514e17cd1647f4ffaf533dd55f5 + +diff --git a/test/test_api/test_project.py b/test/test_api/test_project.py +--- a/test/test_api/test_project.py ++++ b/test/test_api/test_project.py +@@ -135,7 +135,7 @@ def test_search(string, full_names, kwargs, skip_pre_python36): + defs = project.complete_search(string, **kwargs) + else: + defs = project.search(string, **kwargs) +- assert [('stub:' if d.is_stub() else '') + d.full_name for d in defs] == full_names ++ assert sorted([('stub:' if d.is_stub() else '') + d.full_name for d in defs]) == full_names + + + @pytest.mark.parametrize( diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index e3ec0010ce..2c54bfc417 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -11898,6 +11898,7 @@ characters, mouse support, and auto suggestions.") (origin (method url-fetch) (uri (pypi-uri "jedi" version)) + (patches (search-patches "python-jedi-sort-project-test.patch")) (sha256 (base32 "0c1h9x3a9klvk2g288wl328x8xgzw7136k6vs9hkd56b85vcjh6z")))) @@ -11908,7 +11909,7 @@ characters, mouse support, and auto suggestions.") (replace 'check (lambda _ (setenv "HOME" "/tmp") - (invoke "python" "-m" "pytest")))))) + (invoke "python" "-m" "pytest" "-vv")))))) (native-inputs `(("python-pytest" ,python-pytest) ("python-docopt" ,python-docopt))) -- cgit v1.2.3 From 9b3c231e3c144de11d670dff362be3afdd0f4d27 Mon Sep 17 00:00:00 2001 From: R Veera Kumar Date: Fri, 17 Apr 2020 22:21:01 +0530 Subject: gnu: libqalculate: Fix libcurl gnutls CA cert bundle file. * gnu/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/maths.scm (libqalculate)[source]: Use it. Signed-off-by: Danny Milosavljevic --- gnu/local.mk | 1 + gnu/packages/maths.scm | 4 +- .../libqalculate-3.8.0-libcurl-ssl-fix.patch | 53 ++++++++++++++++++++++ 3 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index af79f9afed..fb0454fd45 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1144,6 +1144,7 @@ dist_patch_DATA = \ %D%/packages/patches/libmpeg2-global-symbol-test.patch \ %D%/packages/patches/libmygpo-qt-fix-qt-5.11.patch \ %D%/packages/patches/libmygpo-qt-missing-qt5-modules.patch \ + %D%/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch \ %D%/packages/patches/libsndfile-armhf-type-checks.patch \ %D%/packages/patches/libsndfile-CVE-2017-8361-8363-8365.patch \ %D%/packages/patches/libsndfile-CVE-2017-8362.patch \ diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 9930f491a2..7db2b31012 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -5416,7 +5416,9 @@ researchers and developers alike to get started on SAT.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1vbaza9c7159xf2ym90l0xkyj2mp6c3hbghhsqn29yvz08fda9df")))) + (base32 "1vbaza9c7159xf2ym90l0xkyj2mp6c3hbghhsqn29yvz08fda9df")) + (patches + (search-patches "libqalculate-3.8.0-libcurl-ssl-fix.patch")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) diff --git a/gnu/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch b/gnu/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch new file mode 100644 index 0000000000..b638963874 --- /dev/null +++ b/gnu/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch @@ -0,0 +1,53 @@ +Author: R Veera Kumar 2020 +Desc: + 1) Fixes download of exchange rates by specifying SSL CA certificates bundle + file while using libcurl (Since libcurl in guix is compiled without using + a default CA cert bundle file) + 2) Like above fix for using https site in another case + +diff -uNr libqalculate-3.8.0/libqalculate/Calculator-definitions.cc libqalculate-3.8.0.new/libqalculate/Calculator-definitions.cc +--- libqalculate-3.8.0/libqalculate/Calculator-definitions.cc 2020-02-16 15:08:29.000000000 +0530 ++++ libqalculate-3.8.0.new/libqalculate/Calculator-definitions.cc 2020-04-17 21:27:36.386039369 +0530 +@@ -3610,6 +3610,7 @@ + curl = curl_easy_init(); + if(!curl) {return false;} + curl_easy_setopt(curl, CURLOPT_URL, getExchangeRatesUrl(1).c_str()); ++ curl_easy_setopt(curl, CURLOPT_CAINFO, getenv("SSL_CERT_FILE")); + curl_easy_setopt(curl, CURLOPT_TIMEOUT, timeout); + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); + curl_easy_setopt(curl, CURLOPT_WRITEDATA, &sbuffer); +@@ -3663,6 +3664,7 @@ + + sbuffer = ""; + curl_easy_setopt(curl, CURLOPT_URL, getExchangeRatesUrl(2).c_str()); ++ curl_easy_setopt(curl, CURLOPT_CAINFO, getenv("SSL_CERT_FILE")); + curl_easy_setopt(curl, CURLOPT_TIMEOUT, timeout); + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); + curl_easy_setopt(curl, CURLOPT_WRITEDATA, &sbuffer); +@@ -3687,6 +3689,7 @@ + + sbuffer = ""; + curl_easy_setopt(curl, CURLOPT_URL, getExchangeRatesUrl(3).c_str()); ++ curl_easy_setopt(curl, CURLOPT_CAINFO, getenv("SSL_CERT_FILE")); + curl_easy_setopt(curl, CURLOPT_TIMEOUT, timeout); + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); + curl_easy_setopt(curl, CURLOPT_WRITEDATA, &sbuffer); +@@ -3710,6 +3713,7 @@ + + sbuffer = ""; + curl_easy_setopt(curl, CURLOPT_URL, getExchangeRatesUrl(4).c_str()); ++ curl_easy_setopt(curl, CURLOPT_CAINFO, getenv("SSL_CERT_FILE")); + curl_easy_setopt(curl, CURLOPT_TIMEOUT, (timeout > 4 && n <= 0) ? 4 : timeout); + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); + curl_easy_setopt(curl, CURLOPT_WRITEDATA, &sbuffer); +diff -uNr libqalculate-3.8.0/libqalculate/util.cc libqalculate-3.8.0.new/libqalculate/util.cc +--- libqalculate-3.8.0/libqalculate/util.cc 2019-12-14 22:56:45.000000000 +0530 ++++ libqalculate-3.8.0.new/libqalculate/util.cc 2020-04-17 21:12:17.259674572 +0530 +@@ -769,6 +769,7 @@ + curl = curl_easy_init(); + if(!curl) {return -1;} + curl_easy_setopt(curl, CURLOPT_URL, "https://qalculate.github.io/CURRENT_VERSIONS"); ++ curl_easy_setopt(curl, CURLOPT_CAINFO, getenv("SSL_CERT_FILE")); + curl_easy_setopt(curl, CURLOPT_TIMEOUT, timeout); + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); + curl_easy_setopt(curl, CURLOPT_WRITEDATA, &sbuffer); -- cgit v1.2.3 From 5327b399a875a00304ccc1e6ece7190f26113539 Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian Date: Mon, 20 Apr 2020 18:21:07 -0700 Subject: gnu: Add u-boot-pinebook-pro-rk3399. * gnu/packages/bootloaders (u-boot-pinebook-pro-rk3399): New variable. * gnu/packages/patches/u-boot-DT-for-Pinebook-Pro.patch: New file. * gnu/packages/patches/u-boot-add-boe-nv140fhmn49-display.patch: New file. * gnu/packages/patches/u-boot-gpio-keys-binding-cons.patch: New file. * gnu/packages/patches/u-boot-leds-common-binding-con.patch: New file. * gnu/packages/patches/u-boot-support-Pinebook-Pro-laptop.patch: New file. * gnu/packages/patches/u-boot-video-rockchip-fix-build.patch: New file. * gnu/local.mk (dist_patch_DATA): Add new patches. * gnu/bootloader/u-boot.scm (install-pinebook-pro-rk3399-u-boot, u-boot-pinebook-pro-rk3399-bootloader): New variable. Co-authored-by: Jan Nieuwenhuizen --- gnu/bootloader/u-boot.scm | 11 + gnu/local.mk | 6 + gnu/packages/bootloaders.scm | 30 + .../patches/u-boot-DT-for-Pinebook-Pro.patch | 1132 ++++++++++++++++++++ .../u-boot-add-boe-nv140fhmn49-display.patch | 29 + .../patches/u-boot-gpio-keys-binding-cons.patch | 37 + .../patches/u-boot-leds-common-binding-con.patch | 115 ++ .../u-boot-support-Pinebook-Pro-laptop.patch | 367 +++++++ .../patches/u-boot-video-rockchip-fix-build.patch | 48 + 9 files changed, 1775 insertions(+) create mode 100644 gnu/packages/patches/u-boot-DT-for-Pinebook-Pro.patch create mode 100644 gnu/packages/patches/u-boot-add-boe-nv140fhmn49-display.patch create mode 100644 gnu/packages/patches/u-boot-gpio-keys-binding-cons.patch create mode 100644 gnu/packages/patches/u-boot-leds-common-binding-con.patch create mode 100644 gnu/packages/patches/u-boot-support-Pinebook-Pro-laptop.patch create mode 100644 gnu/packages/patches/u-boot-video-rockchip-fix-build.patch (limited to 'gnu/local.mk') diff --git a/gnu/bootloader/u-boot.scm b/gnu/bootloader/u-boot.scm index 6f41d0abe9..1da9d04eb2 100644 --- a/gnu/bootloader/u-boot.scm +++ b/gnu/bootloader/u-boot.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2017 David Craven ;;; Copyright © 2017, 2019 Mathieu Othacehe ;;; Copyright © 2020 Julien Lepiller +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,6 +38,7 @@ u-boot-pine64-plus-bootloader u-boot-pine64-lts-bootloader u-boot-pinebook-bootloader + u-boot-pinebook-pro-rk3399-bootloader u-boot-puma-rk3399-bootloader u-boot-rock64-rk3328-bootloader u-boot-rockpro64-rk3399-bootloader @@ -123,6 +125,8 @@ (write-file-on-device u-boot (stat:size (stat u-boot)) device (* 16384 512))))) +(define install-pinebook-pro-rk3399-u-boot install-rockpro64-rk3399-u-boot) + ;;; @@ -243,3 +247,10 @@ (inherit u-boot-bootloader) (package u-boot-rockpro64-rk3399) (installer install-rockpro64-rk3399-u-boot))) + +(define u-boot-pinebook-pro-rk3399-bootloader + ;; SD and eMMC use the same format + (bootloader + (inherit u-boot-bootloader) + (package u-boot-pinebook-pro-rk3399) + (installer install-pinebook-pro-rk3399-u-boot))) diff --git a/gnu/local.mk b/gnu/local.mk index fb0454fd45..ca863a8b9b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1482,6 +1482,12 @@ dist_patch_DATA = \ %D%/packages/patches/tomb-fix-errors-on-open.patch \ %D%/packages/patches/tuxpaint-stamps-path.patch \ %D%/packages/patches/u-boot-riscv64-fix-extlinux.patch \ + %D%/packages/patches/u-boot-DT-for-Pinebook-Pro.patch \ + %D%/packages/patches/u-boot-add-boe-nv140fhmn49-display.patch \ + %D%/packages/patches/u-boot-gpio-keys-binding-cons.patch \ + %D%/packages/patches/u-boot-leds-common-binding-con.patch \ + %D%/packages/patches/u-boot-support-Pinebook-Pro-laptop.patch \ + %D%/packages/patches/u-boot-video-rockchip-fix-build.patch \ %D%/packages/patches/ucx-tcp-iface-ioctl.patch \ %D%/packages/patches/udiskie-no-appindicator.patch \ %D%/packages/patches/unzip-CVE-2014-8139.patch \ diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 28a088a43a..750579e913 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2019 nee ;;; Copyright © 2019 Mathieu Othacehe ;;; Copyright © 2020 Björn Höfling +;;; Copyright © 2018, 2019, 2020 Vagrant Cascadian ;;; ;;; This file is part of GNU Guix. ;;; @@ -834,6 +835,35 @@ to Novena upstream, does not load u-boot.img from the first partition.") `(("firmware" ,arm-trusted-firmware-rk3399) ,@(package-native-inputs base)))))) +(define-public u-boot-pinebook-pro-rk3399 + (let ((base (make-u-boot-package "pinebook-pro-rk3399" "aarch64-linux-gnu"))) + (package + (inherit base) + (source (origin + (inherit (package-source u-boot)) + (patches + (search-patches "u-boot-add-boe-nv140fhmn49-display.patch" + "u-boot-gpio-keys-binding-cons.patch" + "u-boot-leds-common-binding-con.patch" + "u-boot-DT-for-Pinebook-Pro.patch" + "u-boot-support-Pinebook-Pro-laptop.patch" + "u-boot-video-rockchip-fix-build.patch")))) + (arguments + (substitute-keyword-arguments (package-arguments base) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'set-environment + (lambda* (#:key inputs #:allow-other-keys) + (setenv "BL31" (string-append (assoc-ref inputs "firmware") + "/bl31.elf")) + #t)) + ;; Phases do not succeed on the bl31 ELF. + (delete 'strip) + (delete 'validate-runpath))))) + (native-inputs + `(("firmware" ,arm-trusted-firmware-rk3399) + ,@(package-native-inputs base)))))) + (define-public vboot-utils (package (name "vboot-utils") diff --git a/gnu/packages/patches/u-boot-DT-for-Pinebook-Pro.patch b/gnu/packages/patches/u-boot-DT-for-Pinebook-Pro.patch new file mode 100644 index 0000000000..f88d12f1e2 --- /dev/null +++ b/gnu/packages/patches/u-boot-DT-for-Pinebook-Pro.patch @@ -0,0 +1,1132 @@ +From b128c2e0b480ee992fabe554d19cd471efb11095 Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Mon, 20 Apr 2020 20:27:35 +0100 +Origin: https://patchwork.ozlabs.org/project/uboot/patch/20200420192736.962307-5-pbrobinson@gmail.com/ +Subject: [PATCH 4/5] arm: dts: rockchip: Add initial DT for Pinebook Pro + +Sync initial support for Pinebook Pro device tree from Linux 5.7-rc1. + +Signed-off-by: Peter Robinson +--- + arch/arm/dts/Makefile | 1 + + arch/arm/dts/rk3399-pinebook-pro.dts | 1096 ++++++++++++++++++++++++++ + 2 files changed, 1097 insertions(+) + create mode 100644 arch/arm/dts/rk3399-pinebook-pro.dts + +diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile +index 820ee9733a..885bf0ef58 100644 +--- a/arch/arm/dts/Makefile ++++ b/arch/arm/dts/Makefile +@@ -125,6 +125,7 @@ dtb-$(CONFIG_ROCKCHIP_RK3399) += \ + rk3399-nanopi-m4.dtb \ + rk3399-nanopi-neo4.dtb \ + rk3399-orangepi.dtb \ ++ rk3399-pinebook-pro.dtb \ + rk3399-puma-ddr1333.dtb \ + rk3399-puma-ddr1600.dtb \ + rk3399-puma-ddr1866.dtb \ +diff --git a/arch/arm/dts/rk3399-pinebook-pro.dts b/arch/arm/dts/rk3399-pinebook-pro.dts +new file mode 100644 +index 0000000000..294d21bf45 +--- /dev/null ++++ b/arch/arm/dts/rk3399-pinebook-pro.dts +@@ -0,0 +1,1096 @@ ++// SPDX-License-Identifier: (GPL-2.0+ OR MIT) ++/* ++ * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd. ++ * Copyright (c) 2018 Akash Gajjar ++ * Copyright (c) 2020 Tobias Schramm ++ */ ++ ++/dts-v1/; ++#include ++#include ++#include ++#include ++#include ++#include "rk3399.dtsi" ++#include "rk3399-opp.dtsi" ++ ++/ { ++ model = "Pine64 Pinebook Pro"; ++ compatible = "pine64,pinebook-pro", "rockchip,rk3399"; ++ ++ chosen { ++ stdout-path = "serial2:1500000n8"; ++ }; ++ ++ backlight: edp-backlight { ++ compatible = "pwm-backlight"; ++ power-supply = <&vcc_12v>; ++ pwms = <&pwm0 0 740740 0>; ++ }; ++ ++ edp_panel: edp-panel { ++ compatible = "boe,nv140fhmn49"; ++ backlight = <&backlight>; ++ enable-gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&panel_en_gpio>; ++ power-supply = <&vcc3v3_panel>; ++ ++ ports { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ port@0 { ++ reg = <0>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ panel_in_edp: endpoint@0 { ++ reg = <0>; ++ remote-endpoint = <&edp_out_panel>; ++ }; ++ }; ++ }; ++ }; ++ ++ /* ++ * Use separate nodes for gpio-keys to allow for selective deactivation ++ * of wakeup sources via sysfs without disabling the whole key ++ */ ++ gpio-key-lid { ++ compatible = "gpio-keys"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&lidbtn_gpio>; ++ ++ lid { ++ debounce-interval = <20>; ++ gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_LOW>; ++ label = "Lid"; ++ linux,code = ; ++ linux,input-type = ; ++ wakeup-event-action = ; ++ wakeup-source; ++ }; ++ }; ++ ++ gpio-key-power { ++ compatible = "gpio-keys"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pwrbtn_gpio>; ++ ++ power { ++ debounce-interval = <20>; ++ gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>; ++ label = "Power"; ++ linux,code = ; ++ wakeup-source; ++ }; ++ }; ++ ++ leds { ++ compatible = "gpio-leds"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pwrled_gpio &slpled_gpio>; ++ ++ green-led { ++ color = ; ++ default-state = "on"; ++ function = LED_FUNCTION_POWER; ++ gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>; ++ label = "green:power"; ++ }; ++ ++ red-led { ++ color = ; ++ default-state = "off"; ++ function = LED_FUNCTION_STANDBY; ++ gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>; ++ label = "red:standby"; ++ panic-indicator; ++ retain-state-suspended; ++ }; ++ }; ++ ++ /* Power sequence for SDIO WiFi module */ ++ sdio_pwrseq: sdio-pwrseq { ++ compatible = "mmc-pwrseq-simple"; ++ clocks = <&rk808 1>; ++ clock-names = "ext_clock"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&wifi_enable_h_gpio>; ++ post-power-on-delay-ms = <100>; ++ power-off-delay-us = <500000>; ++ ++ /* WL_REG_ON on module */ ++ reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; ++ }; ++ ++ /* Audio components */ ++ es8316-sound { ++ compatible = "simple-audio-card"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&hp_det_gpio>; ++ simple-audio-card,name = "rockchip,es8316-codec"; ++ simple-audio-card,format = "i2s"; ++ simple-audio-card,mclk-fs = <256>; ++ ++ simple-audio-card,widgets = ++ "Microphone", "Mic Jack", ++ "Headphone", "Headphones", ++ "Speaker", "Speaker"; ++ simple-audio-card,routing = ++ "MIC1", "Mic Jack", ++ "Headphones", "HPOL", ++ "Headphones", "HPOR", ++ "Speaker Amplifier INL", "HPOL", ++ "Speaker Amplifier INR", "HPOR", ++ "Speaker", "Speaker Amplifier OUTL", ++ "Speaker", "Speaker Amplifier OUTR"; ++ ++ simple-audio-card,hp-det-gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>; ++ simple-audio-card,aux-devs = <&speaker_amp>; ++ simple-audio-card,pin-switches = "Speaker"; ++ ++ simple-audio-card,cpu { ++ sound-dai = <&i2s1>; ++ }; ++ ++ simple-audio-card,codec { ++ sound-dai = <&es8316>; ++ }; ++ }; ++ ++ speaker_amp: speaker-amplifier { ++ compatible = "simple-audio-amplifier"; ++ enable-gpios = <&gpio4 RK_PD3 GPIO_ACTIVE_HIGH>; ++ sound-name-prefix = "Speaker Amplifier"; ++ VCC-supply = <&pa_5v>; ++ }; ++ ++ /* Power tree */ ++ /* Root power source */ ++ vcc_sysin: vcc-sysin { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc_sysin"; ++ regulator-always-on; ++ regulator-boot-on; ++ }; ++ ++ /* Regulators supplied by vcc_sysin */ ++ /* LCD backlight supply */ ++ vcc_12v: vcc-12v { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc_12v"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <12000000>; ++ regulator-max-microvolt = <12000000>; ++ vin-supply = <&vcc_sysin>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ /* Main 3.3 V supply */ ++ vcc3v3_sys: wifi_bat: vcc3v3-sys { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc3v3_sys"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ vin-supply = <&vcc_sysin>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ }; ++ }; ++ ++ /* 5 V USB power supply */ ++ vcc5v0_usb: pa_5v: vcc5v0-usb-regulator { ++ compatible = "regulator-fixed"; ++ enable-active-high; ++ gpio = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pwr_5v_gpio>; ++ regulator-name = "vcc5v0_usb"; ++ regulator-always-on; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ vin-supply = <&vcc_sysin>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ /* RK3399 logic supply */ ++ vdd_log: vdd-log { ++ compatible = "pwm-regulator"; ++ pwms = <&pwm2 0 25000 1>; ++ regulator-name = "vdd_log"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <800000>; ++ regulator-max-microvolt = <1400000>; ++ vin-supply = <&vcc_sysin>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ }; ++ }; ++ ++ /* Regulators supplied by vcc3v3_sys */ ++ /* 0.9 V supply, always on */ ++ vcc_0v9: vcc-0v9 { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc_0v9"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <900000>; ++ regulator-max-microvolt = <900000>; ++ vin-supply = <&vcc3v3_sys>; ++ }; ++ ++ /* S3 1.8 V supply, switched by vcc1v8_s3 */ ++ vcca1v8_s3: vcc1v8-s3 { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcca1v8_s3"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ vin-supply = <&vcc3v3_sys>; ++ }; ++ ++ /* micro SD card power */ ++ vcc3v0_sd: vcc3v0-sd { ++ compatible = "regulator-fixed"; ++ enable-active-high; ++ gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&sdmmc0_pwr_h_gpio>; ++ regulator-name = "vcc3v0_sd"; ++ regulator-always-on; ++ regulator-min-microvolt = <3000000>; ++ regulator-max-microvolt = <3000000>; ++ vin-supply = <&vcc3v3_sys>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ /* LCD panel power, called VCC3V3_S0 in schematic */ ++ vcc3v3_panel: vcc3v3-panel { ++ compatible = "regulator-fixed"; ++ enable-active-high; ++ gpio = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&lcdvcc_en_gpio>; ++ regulator-name = "vcc3v3_panel"; ++ regulator-always-on; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-enable-ramp-delay = <100000>; ++ vin-supply = <&vcc3v3_sys>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ /* M.2 adapter power, switched by vcc1v8_s3 */ ++ vcc3v3_ssd: vcc3v3-ssd { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc3v3_ssd"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ vin-supply = <&vcc3v3_sys>; ++ }; ++ ++ /* Regulators supplied by vcc5v0_usb */ ++ /* USB 3 port power supply regulator */ ++ vcc5v0_otg: vcc5v0-otg { ++ compatible = "regulator-fixed"; ++ enable-active-high; ++ gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&vcc5v0_host_en_gpio>; ++ regulator-name = "vcc5v0_otg"; ++ regulator-always-on; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ vin-supply = <&vcc5v0_usb>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ /* Regulators supplied by vcc5v0_usb */ ++ /* Type C port power supply regulator */ ++ vbus_5vout: vbus_typec: vbus-5vout { ++ compatible = "regulator-fixed"; ++ enable-active-high; ++ gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&vcc5v0_typec0_en_gpio>; ++ regulator-name = "vbus_5vout"; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ vin-supply = <&vcc5v0_usb>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ /* Regulators supplied by vcc_1v8 */ ++ /* Primary 0.9 V LDO */ ++ vcca0v9_s3: vcca0v9-s3 { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc0v9_s3"; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ vin-supply = <&vcc_1v8>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ }; ++ }; ++ ++ mains_charger: dc-charger { ++ compatible = "gpio-charger"; ++ charger-type = "mains"; ++ gpios = <&gpio4 RK_PD0 GPIO_ACTIVE_LOW>; ++ ++ /* Also triggered by USB charger */ ++ pinctrl-names = "default"; ++ pinctrl-0 = <&dc_det_gpio>; ++ }; ++}; ++ ++&cdn_dp { ++ status = "okay"; ++}; ++ ++&cpu_b0 { ++ cpu-supply = <&vdd_cpu_b>; ++}; ++ ++&cpu_b1 { ++ cpu-supply = <&vdd_cpu_b>; ++}; ++ ++&cpu_l0 { ++ cpu-supply = <&vdd_cpu_l>; ++}; ++ ++&cpu_l1 { ++ cpu-supply = <&vdd_cpu_l>; ++}; ++ ++&cpu_l2 { ++ cpu-supply = <&vdd_cpu_l>; ++}; ++ ++&cpu_l3 { ++ cpu-supply = <&vdd_cpu_l>; ++}; ++ ++&edp { ++ force-hpd; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&edp_hpd>; ++ status = "okay"; ++ ++ ports { ++ edp_out: port@1 { ++ reg = <1>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ edp_out_panel: endpoint@0 { ++ reg = <0>; ++ remote-endpoint = <&panel_in_edp>; ++ }; ++ }; ++ }; ++}; ++ ++&emmc_phy { ++ status = "okay"; ++}; ++ ++&gpu { ++ mali-supply = <&vdd_gpu>; ++ status = "okay"; ++}; ++ ++&hdmi_sound { ++ status = "okay"; ++}; ++ ++&i2c0 { ++ clock-frequency = <400000>; ++ i2c-scl-falling-time-ns = <4>; ++ i2c-scl-rising-time-ns = <168>; ++ status = "okay"; ++ ++ rk808: pmic@1b { ++ compatible = "rockchip,rk808"; ++ reg = <0x1b>; ++ #clock-cells = <1>; ++ clock-output-names = "xin32k", "rk808-clkout2"; ++ interrupt-parent = <&gpio3>; ++ interrupts = <10 IRQ_TYPE_LEVEL_LOW>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pmic_int_l_gpio>; ++ rockchip,system-power-controller; ++ wakeup-source; ++ ++ vcc1-supply = <&vcc_sysin>; ++ vcc2-supply = <&vcc_sysin>; ++ vcc3-supply = <&vcc_sysin>; ++ vcc4-supply = <&vcc_sysin>; ++ vcc6-supply = <&vcc_sysin>; ++ vcc7-supply = <&vcc_sysin>; ++ vcc8-supply = <&vcc3v3_sys>; ++ vcc9-supply = <&vcc_sysin>; ++ vcc10-supply = <&vcc_sysin>; ++ vcc11-supply = <&vcc_sysin>; ++ vcc12-supply = <&vcc3v3_sys>; ++ vcc13-supply = <&vcc_sysin>; ++ vcc14-supply = <&vcc_sysin>; ++ ++ regulators { ++ /* rk3399 center logic supply */ ++ vdd_center: DCDC_REG1 { ++ regulator-name = "vdd_center"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <750000>; ++ regulator-max-microvolt = <1350000>; ++ regulator-ramp-delay = <6001>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vdd_cpu_l: DCDC_REG2 { ++ regulator-name = "vdd_cpu_l"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <750000>; ++ regulator-max-microvolt = <1350000>; ++ regulator-ramp-delay = <6001>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vcc_ddr: DCDC_REG3 { ++ regulator-name = "vcc_ddr"; ++ regulator-always-on; ++ regulator-boot-on; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ }; ++ }; ++ ++ vcc_1v8: vcc_wl: DCDC_REG4 { ++ regulator-name = "vcc_1v8"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ regulator-suspend-microvolt = <1800000>; ++ }; ++ }; ++ ++ /* not used */ ++ LDO_REG1 { ++ }; ++ ++ /* not used */ ++ LDO_REG2 { ++ }; ++ ++ vcc1v8_pmupll: LDO_REG3 { ++ regulator-name = "vcc1v8_pmupll"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ regulator-suspend-microvolt = <1800000>; ++ }; ++ }; ++ ++ vcc_sdio: LDO_REG4 { ++ regulator-name = "vcc_sdio"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <3000000>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ regulator-suspend-microvolt = <3000000>; ++ }; ++ }; ++ ++ vcca3v0_codec: LDO_REG5 { ++ regulator-name = "vcca3v0_codec"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <3000000>; ++ regulator-max-microvolt = <3000000>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vcc_1v5: LDO_REG6 { ++ regulator-name = "vcc_1v5"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1500000>; ++ regulator-max-microvolt = <1500000>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ regulator-suspend-microvolt = <1500000>; ++ }; ++ }; ++ ++ vcca1v8_codec: LDO_REG7 { ++ regulator-name = "vcca1v8_codec"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vcc_3v0: LDO_REG8 { ++ regulator-name = "vcc_3v0"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <3000000>; ++ regulator-max-microvolt = <3000000>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ regulator-suspend-microvolt = <3000000>; ++ }; ++ }; ++ ++ vcc3v3_s3: SWITCH_REG1 { ++ regulator-name = "vcc3v3_s3"; ++ regulator-always-on; ++ regulator-boot-on; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vcc3v3_s0: SWITCH_REG2 { ++ regulator-name = "vcc3v3_s0"; ++ regulator-always-on; ++ regulator-boot-on; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ }; ++ }; ++ ++ vdd_cpu_b: regulator@40 { ++ compatible = "silergy,syr827"; ++ reg = <0x40>; ++ fcs,suspend-voltage-selector = <1>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&vsel1_gpio>; ++ regulator-name = "vdd_cpu_b"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <712500>; ++ regulator-max-microvolt = <1500000>; ++ regulator-ramp-delay = <1000>; ++ vin-supply = <&vcc_1v8>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vdd_gpu: regulator@41 { ++ compatible = "silergy,syr828"; ++ reg = <0x41>; ++ fcs,suspend-voltage-selector = <1>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&vsel2_gpio>; ++ regulator-name = "vdd_gpu"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <712500>; ++ regulator-max-microvolt = <1500000>; ++ regulator-ramp-delay = <1000>; ++ vin-supply = <&vcc_1v8>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++}; ++ ++&i2c1 { ++ clock-frequency = <100000>; ++ i2c-scl-falling-time-ns = <4>; ++ i2c-scl-rising-time-ns = <168>; ++ status = "okay"; ++ ++ es8316: es8316@11 { ++ compatible = "everest,es8316"; ++ reg = <0x11>; ++ clocks = <&cru SCLK_I2S_8CH_OUT>; ++ clock-names = "mclk"; ++ #sound-dai-cells = <0>; ++ }; ++}; ++ ++&i2c3 { ++ i2c-scl-falling-time-ns = <15>; ++ i2c-scl-rising-time-ns = <450>; ++ status = "okay"; ++}; ++ ++&i2c4 { ++ i2c-scl-falling-time-ns = <20>; ++ i2c-scl-rising-time-ns = <600>; ++ status = "okay"; ++ ++ fusb0: fusb30x@22 { ++ compatible = "fcs,fusb302"; ++ reg = <0x22>; ++ fcs,int_n = <&gpio1 RK_PA2 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&fusb0_int_gpio>; ++ vbus-supply = <&vbus_typec>; ++ ++ connector { ++ compatible = "usb-c-connector"; ++ data-role = "host"; ++ label = "USB-C"; ++ op-sink-microwatt = <1000000>; ++ power-role = "dual"; ++ sink-pdos = ++ ; ++ source-pdos = ++ ; ++ try-power-role = "sink"; ++ ++ ports { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ port@0 { ++ reg = <0>; ++ ++ usbc_hs: endpoint { ++ remote-endpoint = ++ <&u2phy0_typec_hs>; ++ }; ++ }; ++ ++ port@1 { ++ reg = <1>; ++ ++ usbc_ss: endpoint { ++ remote-endpoint = ++ <&tcphy0_typec_ss>; ++ }; ++ }; ++ ++ port@2 { ++ reg = <2>; ++ ++ usbc_dp: endpoint { ++ remote-endpoint = ++ <&tcphy0_typec_dp>; ++ }; ++ }; ++ }; ++ }; ++ }; ++}; ++ ++&i2s1 { ++ #sound-dai-cells = <0>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&i2s_8ch_mclk_gpio>, <&i2s1_2ch_bus>; ++ rockchip,capture-channels = <8>; ++ rockchip,playback-channels = <8>; ++ status = "okay"; ++}; ++ ++&io_domains { ++ audio-supply = <&vcc_3v0>; ++ gpio1830-supply = <&vcc_3v0>; ++ sdmmc-supply = <&vcc_sdio>; ++ status = "okay"; ++}; ++ ++&pcie_phy { ++ status = "okay"; ++}; ++ ++&pcie0 { ++ bus-scan-delay-ms = <1000>; ++ ep-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>; ++ max-link-speed = <2>; ++ num-lanes = <4>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pcie_clkreqn_cpm>; ++ vpcie0v9-supply = <&vcca0v9_s3>; ++ vpcie1v8-supply = <&vcca1v8_s3>; ++ vpcie3v3-supply = <&vcc3v3_ssd>; ++ status = "okay"; ++}; ++ ++&pinctrl { ++ buttons { ++ pwrbtn_gpio: pwrbtn-gpio { ++ rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ ++ lidbtn_gpio: lidbtn-gpio { ++ rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ }; ++ ++ dc-charger { ++ dc_det_gpio: dc-det-gpio { ++ rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ }; ++ ++ es8316 { ++ hp_det_gpio: hp-det-gpio { ++ rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ }; ++ ++ fusb302x { ++ fusb0_int_gpio: fusb0-int-gpio { ++ rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ }; ++ ++ i2s1 { ++ i2s_8ch_mclk_gpio: i2s-8ch-mclk-gpio { ++ rockchip,pins = <4 RK_PA0 1 &pcfg_pull_none>; ++ }; ++ }; ++ ++ lcd-panel { ++ lcdvcc_en_gpio: lcdvcc-en-gpio { ++ rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ panel_en_gpio: panel-en-gpio { ++ rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ lcd_panel_reset_gpio: lcd-panel-reset-gpio { ++ rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ }; ++ ++ leds { ++ pwrled_gpio: pwrled_gpio { ++ rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ slpled_gpio: slpled_gpio { ++ rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ }; ++ ++ pmic { ++ pmic_int_l_gpio: pmic-int-l-gpio { ++ rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ ++ vsel1_gpio: vsel1-gpio { ++ rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>; ++ }; ++ ++ vsel2_gpio: vsel2-gpio { ++ rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>; ++ }; ++ }; ++ ++ sdcard { ++ sdmmc0_pwr_h_gpio: sdmmc0-pwr-h-gpio { ++ rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ }; ++ ++ sdio-pwrseq { ++ wifi_enable_h_gpio: wifi-enable-h-gpio { ++ rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ }; ++ ++ usb-typec { ++ vcc5v0_typec0_en_gpio: vcc5v0-typec0-en-gpio { ++ rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ }; ++ ++ usb2 { ++ pwr_5v_gpio: pwr-5v-gpio { ++ rockchip,pins = <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ vcc5v0_host_en_gpio: vcc5v0-host-en-gpio { ++ rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ }; ++ ++ wireless-bluetooth { ++ bt_wake_gpio: bt-wake-gpio { ++ rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ bt_host_wake_gpio: bt-host-wake-gpio { ++ rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ bt_reset_gpio: bt-reset-gpio { ++ rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ }; ++}; ++ ++&pmu_io_domains { ++ pmu1830-supply = <&vcc_3v0>; ++ status = "okay"; ++}; ++ ++&pwm0 { ++ status = "okay"; ++}; ++ ++&pwm2 { ++ status = "okay"; ++}; ++ ++&saradc { ++ vref-supply = <&vcca1v8_s3>; ++ status = "okay"; ++}; ++ ++&sdmmc { ++ bus-width = <4>; ++ cap-mmc-highspeed; ++ cap-sd-highspeed; ++ cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; ++ disable-wp; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>; ++ sd-uhs-sdr104; ++ vmmc-supply = <&vcc3v0_sd>; ++ vqmmc-supply = <&vcc_sdio>; ++ status = "okay"; ++}; ++ ++&sdio0 { ++ bus-width = <4>; ++ cap-sd-highspeed; ++ cap-sdio-irq; ++ keep-power-in-suspend; ++ mmc-pwrseq = <&sdio_pwrseq>; ++ non-removable; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>; ++ sd-uhs-sdr104; ++ status = "okay"; ++}; ++ ++&sdhci { ++ bus-width = <8>; ++ mmc-hs200-1_8v; ++ non-removable; ++ status = "okay"; ++}; ++ ++&spi1 { ++ max-freq = <10000000>; ++ status = "okay"; ++ ++ spiflash: flash@0 { ++ compatible = "jedec,spi-nor"; ++ reg = <0>; ++ m25p,fast-read; ++ spi-max-frequency = <10000000>; ++ }; ++}; ++ ++&tcphy0 { ++ status = "okay"; ++}; ++ ++&tcphy0_dp { ++ port { ++ tcphy0_typec_dp: endpoint { ++ remote-endpoint = <&usbc_dp>; ++ }; ++ }; ++}; ++ ++&tcphy0_usb3 { ++ port { ++ tcphy0_typec_ss: endpoint { ++ remote-endpoint = <&usbc_ss>; ++ }; ++ }; ++}; ++ ++&tcphy1 { ++ status = "okay"; ++}; ++ ++&tsadc { ++ /* tshut mode 0:CRU 1:GPIO */ ++ rockchip,hw-tshut-mode = <1>; ++ /* tshut polarity 0:LOW 1:HIGH */ ++ rockchip,hw-tshut-polarity = <1>; ++ status = "okay"; ++}; ++ ++&u2phy0 { ++ status = "okay"; ++ ++ u2phy0_otg: otg-port { ++ status = "okay"; ++ }; ++ ++ u2phy0_host: host-port { ++ phy-supply = <&vcc5v0_otg>; ++ status = "okay"; ++ }; ++ ++ port { ++ u2phy0_typec_hs: endpoint { ++ remote-endpoint = <&usbc_hs>; ++ }; ++ }; ++}; ++ ++&u2phy1 { ++ status = "okay"; ++ ++ u2phy1_otg: otg-port { ++ status = "okay"; ++ }; ++ ++ u2phy1_host: host-port { ++ phy-supply = <&vcc5v0_otg>; ++ status = "okay"; ++ }; ++}; ++ ++&uart0 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; ++ uart-has-rtscts; ++ status = "okay"; ++ ++ bluetooth { ++ compatible = "brcm,bcm4345c5"; ++ clocks = <&rk808 1>; ++ clock-names = "lpo"; ++ device-wakeup-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>; ++ host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>; ++ max-speed = <1500000>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&bt_host_wake_gpio &bt_wake_gpio &bt_reset_gpio>; ++ shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>; ++ vbat-supply = <&wifi_bat>; ++ vddio-supply = <&vcc_wl>; ++ }; ++}; ++ ++&uart2 { ++ status = "okay"; ++}; ++ ++&usb_host0_ehci { ++ status = "okay"; ++}; ++ ++&usb_host0_ohci { ++ status = "okay"; ++}; ++ ++&usb_host1_ehci { ++ status = "okay"; ++}; ++ ++&usb_host1_ohci { ++ status = "okay"; ++}; ++ ++&usbdrd3_0 { ++ status = "okay"; ++}; ++ ++&usbdrd_dwc3_0 { ++ dr_mode = "host"; ++ status = "okay"; ++}; ++ ++&usbdrd3_1 { ++ status = "okay"; ++}; ++ ++&usbdrd_dwc3_1 { ++ dr_mode = "host"; ++ status = "okay"; ++}; ++ ++&vopb { ++ status = "okay"; ++}; ++ ++&vopb_mmu { ++ status = "okay"; ++}; ++ ++&vopl { ++ status = "okay"; ++}; ++ ++&vopl_mmu { ++ status = "okay"; ++}; +-- +2.20.1 + diff --git a/gnu/packages/patches/u-boot-add-boe-nv140fhmn49-display.patch b/gnu/packages/patches/u-boot-add-boe-nv140fhmn49-display.patch new file mode 100644 index 0000000000..c359522967 --- /dev/null +++ b/gnu/packages/patches/u-boot-add-boe-nv140fhmn49-display.patch @@ -0,0 +1,29 @@ +From 00978950fed39b6104b6b4f141450a66cc3400fa Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Mon, 20 Apr 2020 20:27:32 +0100 +Origin: https://patchwork.ozlabs.org/project/uboot/patch/20200420192736.962307-2-pbrobinson@gmail.com/ +Subject: [PATCH 1/5] video: simple_panel: add boe,nv140fhmn49 display + +add "boe,nv140fhmn49" display to compatible node. + +Signed-off-by: Peter Robinson +Cc: Anatolij Gustschin +--- + drivers/video/simple_panel.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/video/simple_panel.c b/drivers/video/simple_panel.c +index c3c0e84732..5722811117 100644 +--- a/drivers/video/simple_panel.c ++++ b/drivers/video/simple_panel.c +@@ -105,6 +105,7 @@ static const struct udevice_id simple_panel_ids[] = { + { .compatible = "auo,b133xtn01" }, + { .compatible = "auo,b116xw03" }, + { .compatible = "auo,b133htn01" }, ++ { .compatible = "boe,nv140fhmn49" }, + { .compatible = "lg,lb070wv8" }, + { } + }; +-- +2.20.1 + diff --git a/gnu/packages/patches/u-boot-gpio-keys-binding-cons.patch b/gnu/packages/patches/u-boot-gpio-keys-binding-cons.patch new file mode 100644 index 0000000000..aec33a7023 --- /dev/null +++ b/gnu/packages/patches/u-boot-gpio-keys-binding-cons.patch @@ -0,0 +1,37 @@ +From 451bd72bf966df7518682cb748a804634ea19424 Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Mon, 20 Apr 2020 20:27:33 +0100 +Origin: https://patchwork.ozlabs.org/project/uboot/patch/20200420192736.962307-3-pbrobinson@gmail.com/ +Subject: [PATCH 2/5] dt-bindings: input: adopt Linux gpio-keys binding + constants + +Sync the gpio-keys input bindings from linux 5.7-rc1. + +Signed-off-by: Peter Robinson +--- + include/dt-bindings/input/gpio-keys.h | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + create mode 100644 include/dt-bindings/input/gpio-keys.h + +diff --git a/include/dt-bindings/input/gpio-keys.h b/include/dt-bindings/input/gpio-keys.h +new file mode 100644 +index 0000000000..8962df79e7 +--- /dev/null ++++ b/include/dt-bindings/input/gpio-keys.h +@@ -0,0 +1,13 @@ ++/* SPDX-License-Identifier: GPL-2.0 */ ++/* ++ * This header provides constants for gpio keys bindings. ++ */ ++ ++#ifndef _DT_BINDINGS_GPIO_KEYS_H ++#define _DT_BINDINGS_GPIO_KEYS_H ++ ++#define EV_ACT_ANY 0x00 /* asserted or deasserted */ ++#define EV_ACT_ASSERTED 0x01 /* asserted */ ++#define EV_ACT_DEASSERTED 0x02 /* deasserted */ ++ ++#endif /* _DT_BINDINGS_GPIO_KEYS_H */ +-- +2.20.1 + diff --git a/gnu/packages/patches/u-boot-leds-common-binding-con.patch b/gnu/packages/patches/u-boot-leds-common-binding-con.patch new file mode 100644 index 0000000000..837408120b --- /dev/null +++ b/gnu/packages/patches/u-boot-leds-common-binding-con.patch @@ -0,0 +1,115 @@ +From 282b6ca04abbe1302d04caa05be5fc5afb127141 Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Mon, 20 Apr 2020 20:27:34 +0100 +Origin: https://patchwork.ozlabs.org/project/uboot/patch/20200420192736.962307-4-pbrobinson@gmail.com/ +Subject: [PATCH 3/5] dt-bindings: leds: adopt Linux leds common binding + constants + +Sync the common leds bindings from linux 5.7-rc1. + +Signed-off-by: Peter Robinson +--- + include/dt-bindings/leds/common.h | 91 +++++++++++++++++++++++++++++++ + 1 file changed, 91 insertions(+) + create mode 100644 include/dt-bindings/leds/common.h + +diff --git a/include/dt-bindings/leds/common.h b/include/dt-bindings/leds/common.h +new file mode 100644 +index 0000000000..0ce7dfc00d +--- /dev/null ++++ b/include/dt-bindings/leds/common.h +@@ -0,0 +1,91 @@ ++/* SPDX-License-Identifier: GPL-2.0 */ ++/* ++ * This header provides macros for the common LEDs device tree bindings. ++ * ++ * Copyright (C) 2015, Samsung Electronics Co., Ltd. ++ * Author: Jacek Anaszewski ++ * ++ * Copyright (C) 2019 Jacek Anaszewski ++ * Copyright (C) 2020 Pavel Machek ++ */ ++ ++#ifndef __DT_BINDINGS_LEDS_H ++#define __DT_BINDINGS_LEDS_H ++ ++/* External trigger type */ ++#define LEDS_TRIG_TYPE_EDGE 0 ++#define LEDS_TRIG_TYPE_LEVEL 1 ++ ++/* Boost modes */ ++#define LEDS_BOOST_OFF 0 ++#define LEDS_BOOST_ADAPTIVE 1 ++#define LEDS_BOOST_FIXED 2 ++ ++/* Standard LED colors */ ++#define LED_COLOR_ID_WHITE 0 ++#define LED_COLOR_ID_RED 1 ++#define LED_COLOR_ID_GREEN 2 ++#define LED_COLOR_ID_BLUE 3 ++#define LED_COLOR_ID_AMBER 4 ++#define LED_COLOR_ID_VIOLET 5 ++#define LED_COLOR_ID_YELLOW 6 ++#define LED_COLOR_ID_IR 7 ++#define LED_COLOR_ID_MAX 8 ++ ++/* Standard LED functions */ ++/* Keyboard LEDs, usually it would be input4::capslock etc. */ ++/* Obsolete equivalent: "shift-key-light" */ ++#define LED_FUNCTION_CAPSLOCK "capslock" ++#define LED_FUNCTION_SCROLLLOCK "scrolllock" ++#define LED_FUNCTION_NUMLOCK "numlock" ++/* Obsolete equivalents: "tpacpi::thinklight" (IBM/Lenovo Thinkpads), ++ "lp5523:kb{1,2,3,4,5,6}" (Nokia N900) */ ++#define LED_FUNCTION_KBD_BACKLIGHT "kbd_backlight" ++ ++/* System LEDs, usually found on system body. ++ platform::mute (etc) is sometimes seen, :mute would be better */ ++#define LED_FUNCTION_POWER "power" ++#define LED_FUNCTION_DISK "disk" ++ ++/* Obsolete: "platform:*:charging" (allwinner sun50i) */ ++#define LED_FUNCTION_CHARGING "charging" ++/* Used RGB notification LEDs common on phones. ++ Obsolete equivalents: "status-led:{red,green,blue}" (Motorola Droid 4), ++ "lp5523:{r,g,b}" (Nokia N900) */ ++#define LED_FUNCTION_STATUS "status" ++ ++#define LED_FUNCTION_MICMUTE "micmute" ++#define LED_FUNCTION_MUTE "mute" ++ ++/* Miscelleaus functions. Use functions above if you can. */ ++#define LED_FUNCTION_ACTIVITY "activity" ++#define LED_FUNCTION_ALARM "alarm" ++#define LED_FUNCTION_BACKLIGHT "backlight" ++#define LED_FUNCTION_BLUETOOTH "bluetooth" ++#define LED_FUNCTION_BOOT "boot" ++#define LED_FUNCTION_CPU "cpu" ++#define LED_FUNCTION_DEBUG "debug" ++#define LED_FUNCTION_DISK_ACTIVITY "disk-activity" ++#define LED_FUNCTION_DISK_ERR "disk-err" ++#define LED_FUNCTION_DISK_READ "disk-read" ++#define LED_FUNCTION_DISK_WRITE "disk-write" ++#define LED_FUNCTION_FAULT "fault" ++#define LED_FUNCTION_FLASH "flash" ++#define LED_FUNCTION_HEARTBEAT "heartbeat" ++#define LED_FUNCTION_INDICATOR "indicator" ++#define LED_FUNCTION_LAN "lan" ++#define LED_FUNCTION_MAIL "mail" ++#define LED_FUNCTION_MTD "mtd" ++#define LED_FUNCTION_PANIC "panic" ++#define LED_FUNCTION_PROGRAMMING "programming" ++#define LED_FUNCTION_RX "rx" ++#define LED_FUNCTION_SD "sd" ++#define LED_FUNCTION_STANDBY "standby" ++#define LED_FUNCTION_TORCH "torch" ++#define LED_FUNCTION_TX "tx" ++#define LED_FUNCTION_USB "usb" ++#define LED_FUNCTION_WAN "wan" ++#define LED_FUNCTION_WLAN "wlan" ++#define LED_FUNCTION_WPS "wps" ++ ++#endif /* __DT_BINDINGS_LEDS_H */ +-- +2.20.1 + diff --git a/gnu/packages/patches/u-boot-support-Pinebook-Pro-laptop.patch b/gnu/packages/patches/u-boot-support-Pinebook-Pro-laptop.patch new file mode 100644 index 0000000000..c6f91fa65a --- /dev/null +++ b/gnu/packages/patches/u-boot-support-Pinebook-Pro-laptop.patch @@ -0,0 +1,367 @@ +From 60381e4add64dddbd07e78248b2b0f819eb2776e Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Mon, 20 Apr 2020 20:27:36 +0100 +Origin: https://patchwork.ozlabs.org/project/uboot/patch/20200420192736.962307-6-pbrobinson@gmail.com/ +Subject: [PATCH 5/5] Add initial support for the Pinebook Pro laptop from + Pine64. + +Specification: +- Rockchip RK3399 +- 4GB Dual-Channel LPDDR4 +- eMMC socket +- mSD card slot +- 128Mbit (16Mb) SPI Flash +- AP6256 for 11AC WiFi + BT5 +- 14 inch 1920*1080 eDP MiPi display +- Camera +- USB 3.0, 2.0 ports +- Type-C port with alt-mode display (DP 1.2) and 15W charge +- DC 5V/3A +- optional PCIe slot for NVMe SSD drive + +Signed-off-by: Peter Robinson +--- + arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi | 43 ++++++++++ + arch/arm/mach-rockchip/rk3399/Kconfig | 8 ++ + board/pine64/pinebook-pro-rk3399/Kconfig | 15 ++++ + board/pine64/pinebook-pro-rk3399/MAINTAINERS | 8 ++ + board/pine64/pinebook-pro-rk3399/Makefile | 1 + + .../pinebook-pro-rk3399/pinebook-pro-rk3399.c | 76 +++++++++++++++++ + configs/pinebook-pro-rk3399_defconfig | 84 +++++++++++++++++++ + include/configs/pinebook-pro-rk3399.h | 29 +++++++ + 8 files changed, 264 insertions(+) + create mode 100644 arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi + create mode 100644 board/pine64/pinebook-pro-rk3399/Kconfig + create mode 100644 board/pine64/pinebook-pro-rk3399/MAINTAINERS + create mode 100644 board/pine64/pinebook-pro-rk3399/Makefile + create mode 100644 board/pine64/pinebook-pro-rk3399/pinebook-pro-rk3399.c + create mode 100644 configs/pinebook-pro-rk3399_defconfig + create mode 100644 include/configs/pinebook-pro-rk3399.h + +diff --git a/arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi b/arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi +new file mode 100644 +index 0000000000..1a2e24d3ef +--- /dev/null ++++ b/arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi +@@ -0,0 +1,43 @@ ++// SPDX-License-Identifier: GPL-2.0+ ++/* ++ * Copyright (C) 2019 Peter Robinson ++ */ ++ ++#include "rk3399-u-boot.dtsi" ++#include "rk3399-sdram-lpddr4-100.dtsi" ++ ++/ { ++ aliases { ++ spi0 = &spi1; ++ }; ++ ++ chosen { ++ u-boot,spl-boot-order = "same-as-spl", &sdhci, &sdmmc; ++ }; ++}; ++ ++&i2c0 { ++ u-boot,dm-pre-reloc; ++}; ++ ++&rk808 { ++ u-boot,dm-pre-reloc; ++}; ++ ++&sdhci { ++ max-frequency = <25000000>; ++ u-boot,dm-pre-reloc; ++}; ++ ++&sdmmc { ++ max-frequency = <20000000>; ++ u-boot,dm-pre-reloc; ++}; ++ ++&spiflash { ++ u-boot,dm-pre-reloc; ++}; ++ ++&vdd_log { ++ regulator-init-microvolt = <950000>; ++}; +diff --git a/arch/arm/mach-rockchip/rk3399/Kconfig b/arch/arm/mach-rockchip/rk3399/Kconfig +index 927bb62a9f..254b9c5b4d 100644 +--- a/arch/arm/mach-rockchip/rk3399/Kconfig ++++ b/arch/arm/mach-rockchip/rk3399/Kconfig +@@ -19,6 +19,13 @@ config TARGET_EVB_RK3399 + with full function and physical connectors support like Type-C ports, + USB.0 host ports, LVDS, JTAG, MAC, SD card, HDMI, USB-to-serial... + ++config TARGET_PINEBOOK_PRO_RK3399 ++ bool "Pinebook Pro" ++ help ++ Pinebook Pro is a laptop based on the Rockchip rk3399 SoC ++ with 4Gb RAM, onboard eMMC, USB-C, a USB3 and USB2 port, ++ 1920*1080 screen and all the usual laptop features. ++ + config TARGET_PUMA_RK3399 + bool "Theobroma Systems RK3399-Q7 (Puma)" + help +@@ -144,6 +151,7 @@ endif # BOOTCOUNT_LIMIT + + source "board/firefly/roc-pc-rk3399/Kconfig" + source "board/google/gru/Kconfig" ++source "board/pine64/pinebook-pro-rk3399/Kconfig" + source "board/pine64/rockpro64_rk3399/Kconfig" + source "board/rockchip/evb_rk3399/Kconfig" + source "board/theobroma-systems/puma_rk3399/Kconfig" +diff --git a/board/pine64/pinebook-pro-rk3399/Kconfig b/board/pine64/pinebook-pro-rk3399/Kconfig +new file mode 100644 +index 0000000000..3bb7ca448e +--- /dev/null ++++ b/board/pine64/pinebook-pro-rk3399/Kconfig +@@ -0,0 +1,15 @@ ++if TARGET_PINEBOOK_PRO_RK3399 ++ ++config SYS_BOARD ++ default "pinebook-pro-rk3399" ++ ++config SYS_VENDOR ++ default "pine64" ++ ++config SYS_CONFIG_NAME ++ default "pinebook-pro-rk3399" ++ ++config BOARD_SPECIFIC_OPTIONS ++ def_bool y ++ ++endif +diff --git a/board/pine64/pinebook-pro-rk3399/MAINTAINERS b/board/pine64/pinebook-pro-rk3399/MAINTAINERS +new file mode 100644 +index 0000000000..7153eaf2e0 +--- /dev/null ++++ b/board/pine64/pinebook-pro-rk3399/MAINTAINERS +@@ -0,0 +1,8 @@ ++PINEBOOK_PRO ++M: Peter Robinson ++S: Maintained ++F: board/pine64/rk3399-pinebook-pro/ ++F: include/configs/rk3399-pinebook-pro.h ++F: arch/arm/dts/rk3399-pinebook-pro.dts ++F: arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi ++F: configs/pinebook-pro-rk3399_defconfig +diff --git a/board/pine64/pinebook-pro-rk3399/Makefile b/board/pine64/pinebook-pro-rk3399/Makefile +new file mode 100644 +index 0000000000..2f692a12a6 +--- /dev/null ++++ b/board/pine64/pinebook-pro-rk3399/Makefile +@@ -0,0 +1 @@ ++obj-y += pinebook-pro-rk3399.o +diff --git a/board/pine64/pinebook-pro-rk3399/pinebook-pro-rk3399.c b/board/pine64/pinebook-pro-rk3399/pinebook-pro-rk3399.c +new file mode 100644 +index 0000000000..01421cbac2 +--- /dev/null ++++ b/board/pine64/pinebook-pro-rk3399/pinebook-pro-rk3399.c +@@ -0,0 +1,76 @@ ++/* ++ * (C) Copyright 2016 Rockchip Electronics Co., Ltd ++ * (C) Copyright 2020 Peter Robinson ++ * ++ * SPDX-License-Identifier: GPL-2.0+ ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#define GRF_IO_VSEL_BT565_SHIFT 0 ++#define PMUGRF_CON0_VSEL_SHIFT 8 ++ ++#ifndef CONFIG_SPL_BUILD ++int board_early_init_f(void) ++{ ++ struct udevice *regulator; ++ int ret; ++ ++ ret = regulator_get_by_platname("vcc5v0_usb", ®ulator); ++ if (ret) { ++ debug("%s vcc5v0_usb init fail! ret %d\n", __func__, ret); ++ goto out; ++ } ++ ++ ret = regulator_set_enable(regulator, true); ++ if (ret) ++ debug("%s vcc5v0-host-en-gpio set fail! ret %d\n", __func__, ret); ++ ++out: ++ return 0; ++} ++#endif ++ ++#ifdef CONFIG_MISC_INIT_R ++static void setup_iodomain(void) ++{ ++ struct rk3399_grf_regs *grf = ++ syscon_get_first_range(ROCKCHIP_SYSCON_GRF); ++ struct rk3399_pmugrf_regs *pmugrf = ++ syscon_get_first_range(ROCKCHIP_SYSCON_PMUGRF); ++ ++ /* BT565 is in 1.8v domain */ ++ rk_setreg(&grf->io_vsel, 1 << GRF_IO_VSEL_BT565_SHIFT); ++ ++ /* Set GPIO1 1.8v/3.0v source select to PMU1830_VOL */ ++ rk_setreg(&pmugrf->soc_con0, 1 << PMUGRF_CON0_VSEL_SHIFT); ++} ++ ++int misc_init_r(void) ++{ ++ const u32 cpuid_offset = 0x7; ++ const u32 cpuid_length = 0x10; ++ u8 cpuid[cpuid_length]; ++ int ret; ++ ++ setup_iodomain(); ++ ++ ret = rockchip_cpuid_from_efuse(cpuid_offset, cpuid_length, cpuid); ++ if (ret) ++ return ret; ++ ++ ret = rockchip_cpuid_set(cpuid, cpuid_length); ++ if (ret) ++ return ret; ++ ++ return ret; ++} ++#endif +diff --git a/configs/pinebook-pro-rk3399_defconfig b/configs/pinebook-pro-rk3399_defconfig +new file mode 100644 +index 0000000000..0e9f0ec250 +--- /dev/null ++++ b/configs/pinebook-pro-rk3399_defconfig +@@ -0,0 +1,84 @@ ++CONFIG_ARM=y ++CONFIG_ARCH_ROCKCHIP=y ++CONFIG_SYS_TEXT_BASE=0x00200000 ++CONFIG_ENV_OFFSET=0x3F8000 ++CONFIG_ROCKCHIP_RK3399=y ++CONFIG_RAM_RK3399_LPDDR4=y ++CONFIG_NR_DRAM_BANKS=1 ++CONFIG_TARGET_PINEBOOK_PRO_RK3399=y ++CONFIG_BAUDRATE=1500000 ++CONFIG_DEBUG_UART=y ++CONFIG_DEBUG_UART_SHIFT=2 ++CONFIG_DEBUG_UART_BASE=0xFF1A0000 ++CONFIG_DEBUG_UART_CLOCK=24000000 ++CONFIG_SPL_SPI_SUPPORT=y ++CONFIG_SPL_SPI_FLASH_SUPPORT=y ++CONFIG_SPL_MTD_SUPPORT=y ++CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-pinebook-pro.dtb" ++CONFIG_MISC_INIT_R=y ++CONFIG_DISPLAY_BOARDINFO_LATE=y ++# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set ++CONFIG_SPL_STACK_R=y ++CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000 ++CONFIG_TPL=y ++CONFIG_SPL_OF_CONTROL=y ++CONFIG_DEFAULT_DEVICE_TREE="rk3399-pinebook-pro" ++CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents" ++CONFIG_SYS_RELOC_GD_ENV_ADDR=y ++CONFIG_CMD_BOOTZ=y ++CONFIG_CMD_GPIO=y ++CONFIG_CMD_GPT=y ++CONFIG_CMD_I2C=y ++CONFIG_CMD_MMC=y ++CONFIG_CMD_MTDPARTS=y ++CONFIG_CMD_PMIC=y ++CONFIG_CMD_REGULATOR=y ++# CONFIG_CMD_SETEXPR is not set ++CONFIG_CMD_SF=y ++CONFIG_CMD_TIME=y ++CONFIG_CMD_USB=y ++CONFIG_ROCKCHIP_GPIO=y ++CONFIG_SYS_I2C_ROCKCHIP=y ++CONFIG_BOOTDELAY=3 ++CONFIG_LED=y ++CONFIG_LED_GPIO=y ++CONFIG_MISC=y ++CONFIG_ROCKCHIP_EFUSE=y ++CONFIG_MMC_DW=y ++CONFIG_MMC_DW_ROCKCHIP=y ++CONFIG_MMC_SDHCI=y ++CONFIG_MMC_SDHCI_SDMA=y ++CONFIG_MMC_SDHCI_ROCKCHIP=y ++CONFIG_ROCKCHIP_SPI=y ++CONFIG_SF_DEFAULT_SPEED=20000000 ++CONFIG_SPI_FLASH=y ++CONFIG_SPI_FLASH_GIGADEVICE=y ++CONFIG_SPI_FLASH_WINBOND=y ++CONFIG_DM_ETH=y ++CONFIG_PMIC_RK8XX=y ++CONFIG_DM_PMIC_FAN53555=y ++CONFIG_REGULATOR_PWM=y ++CONFIG_REGULATOR_RK8XX=y ++CONFIG_PWM_ROCKCHIP=y ++CONFIG_SYSRESET=y ++CONFIG_USB=y ++CONFIG_USB_XHCI_HCD=y ++CONFIG_USB_XHCI_DWC3=y ++# CONFIG_USB_XHCI_ROCKCHIP is not set ++CONFIG_USB_EHCI_HCD=y ++CONFIG_USB_EHCI_GENERIC=y ++CONFIG_USB_DWC3=y ++CONFIG_ROCKCHIP_USB2_PHY=y ++CONFIG_USB_HOST_ETHER=y ++CONFIG_USB_ETHER_ASIX=y ++CONFIG_USB_ETHER_RTL8152=y ++CONFIG_USB_KEYBOARD=y ++CONFIG_USE_TINY_PRINTF=y ++CONFIG_SPL_TINY_MEMSET=y ++CONFIG_ERRNO_STR=y ++CONFIG_DM_VIDEO=y ++CONFIG_VIDEO_BPP16=y ++CONFIG_VIDEO_BPP32=y ++CONFIG_DISPLAY=y ++CONFIG_VIDEO_ROCKCHIP=y ++CONFIG_DISPLAY_ROCKCHIP_EDP=y +diff --git a/include/configs/pinebook-pro-rk3399.h b/include/configs/pinebook-pro-rk3399.h +new file mode 100644 +index 0000000000..423d742a79 +--- /dev/null ++++ b/include/configs/pinebook-pro-rk3399.h +@@ -0,0 +1,29 @@ ++/* ++ * Copyright (C) 2016 Rockchip Electronics Co., Ltd ++ * Copyright (C) 2020 Peter Robinson ++ * ++ * SPDX-License-Identifier: GPL-2.0+ ++ */ ++ ++#ifndef __PINEBOOK_PRO_RK3399_H ++#define __PINEBOOK_PRO_RK3399_H ++ ++#define ROCKCHIP_DEVICE_SETTINGS \ ++ "stdin=serial,usbkbd\0" \ ++ "stdout=serial,vidconsole\0" \ ++ "stderr=serial,vidconsole\0" ++ ++#include ++ ++#if defined(CONFIG_ENV_IS_IN_MMC) ++#define CONFIG_SYS_MMC_ENV_DEV 0 ++#elif defined(CONFIG_ENV_IS_IN_SPI_FLASH) ++#define CONFIG_ENV_SECT_SIZE (8 * 1024) ++#endif ++ ++#undef CONFIG_SYS_SPI_U_BOOT_OFFS ++#define CONFIG_SYS_SPI_U_BOOT_OFFS 1024 * 512 ++ ++#define SDRAM_BANK_SIZE (2UL << 30) ++ ++#endif +-- +2.20.1 + diff --git a/gnu/packages/patches/u-boot-video-rockchip-fix-build.patch b/gnu/packages/patches/u-boot-video-rockchip-fix-build.patch new file mode 100644 index 0000000000..ca2be8dc22 --- /dev/null +++ b/gnu/packages/patches/u-boot-video-rockchip-fix-build.patch @@ -0,0 +1,48 @@ +From ecc69ec25df07e1ce63d7add6b235b37673ed608 Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Mon, 20 Apr 2020 19:18:25 +0100 +Origin: https://patchwork.ozlabs.org/project/uboot/patch/20200420181825.935797-1-pbrobinson@gmail.com/ +Subject: [PATCH 6/6] drivers: video: rockchip: fix building eDP and LVDS + drivers + +The rk_edp.c and rk_lvds.c files reference rk_setreg which is declared in +hardware.h so include it so the drivers build. Adjust rk_lvds.c so +includes are in alphabetical order while updating. + +Signed-off-by: Peter Robinson +Reviewed-by: Anatolij Gustschin +--- + drivers/video/rockchip/rk_edp.c | 1 + + drivers/video/rockchip/rk_lvds.c | 3 ++- + 2 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/drivers/video/rockchip/rk_edp.c b/drivers/video/rockchip/rk_edp.c +index 8703df0ec0..cf84b886e7 100644 +--- a/drivers/video/rockchip/rk_edp.c ++++ b/drivers/video/rockchip/rk_edp.c +@@ -18,6 +18,7 @@ + #include + #include + #include ++#include + #include + + #define MAX_CR_LOOP 5 +diff --git a/drivers/video/rockchip/rk_lvds.c b/drivers/video/rockchip/rk_lvds.c +index cf5c0439b1..79e24baf53 100644 +--- a/drivers/video/rockchip/rk_lvds.c ++++ b/drivers/video/rockchip/rk_lvds.c +@@ -13,8 +13,9 @@ + #include + #include + #include +-#include + #include ++#include ++#include + #include + #include + +-- +2.20.1 + -- cgit v1.2.3 From a1c34680b3439507b3c35cb6fce9832464d1ad3d Mon Sep 17 00:00:00 2001 From: Michael Rohleder Date: Tue, 21 Apr 2020 16:01:27 +0200 Subject: gnu: emacs-dired-toggle-sudo: Update to 1.0-0.13bbe52. * gnu/packages/emacs-xyz.scm (emacs-dired-toggle-sudo): Update to 1.0-0.13bbe52. * gnu/packages/patches/emacs-dired-toggle-sudo-emacs-26.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. Signed-off-by: Leo Famulari --- gnu/local.mk | 4 +- gnu/packages/emacs-xyz.scm | 41 +++++++++--------- .../patches/emacs-dired-toggle-sudo-emacs-26.patch | 49 ---------------------- 3 files changed, 22 insertions(+), 72 deletions(-) delete mode 100644 gnu/packages/patches/emacs-dired-toggle-sudo-emacs-26.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index ca863a8b9b..e70715000a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -29,7 +29,8 @@ # Copyright © 2020 Brendan Tildesley # Copyright © 2020 Vincent Legoll # Copyright © 2020 R Veera Kumar -# Copyright © 2020 Nicolò Balzarotti +# Copyright © 2020 Michael Rohleder # # This file is part of GNU Guix. # @@ -851,7 +852,6 @@ dist_patch_DATA = \ %D%/packages/patches/elm-compiler-disable-reactor.patch \ %D%/packages/patches/elm-compiler-fix-map-key.patch \ %D%/packages/patches/emacs27-exec-path.patch \ - %D%/packages/patches/emacs-dired-toggle-sudo-emacs-26.patch \ %D%/packages/patches/emacs-exec-path.patch \ %D%/packages/patches/emacs-fix-scheme-indent-function.patch \ %D%/packages/patches/emacs-json-reformat-fix-tests.patch \ diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index cd80e57efb..32b1868813 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -9281,28 +9281,27 @@ information inside the Dired buffer.") (license license:gpl3+)))) (define-public emacs-dired-toggle-sudo - (package - (name "emacs-dired-toggle-sudo") - (version "1.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/renard/dired-toggle-sudo") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0ajj8d6k5in2hclcrqckinfh80ylddplva0ryfbkzsjkfq167cv2")) - (patches - (search-patches - "emacs-dired-toggle-sudo-emacs-26.patch")))) - (build-system emacs-build-system) - (home-page "https://github.com/renard/dired-toggle-sudo") - (synopsis "Browse directory with @code{sudo} privileges") - (description "This package allows for the use of @code{dired} with + (let ((commit "13bbe52c54893f5aa3e56228450ffdd0c9e1d169") + (revision "0")) + (package + (name "emacs-dired-toggle-sudo") + (version (git-version "1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/renard/dired-toggle-sudo") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1fw1pb1z6krqd1pfxxhr6rrfr9ckkcb0zsjzbjk0i2i1q5cg6car")))) + (build-system emacs-build-system) + (home-page "https://github.com/renard/dired-toggle-sudo") + (synopsis "Browse directory with @code{sudo} privileges") + (description "This package allows for the use of @code{dired} with @code{sudo} privileges.") - (license license:wtfpl2))) + (license license:wtfpl2)))) (define-public emacs-diredfl (package diff --git a/gnu/packages/patches/emacs-dired-toggle-sudo-emacs-26.patch b/gnu/packages/patches/emacs-dired-toggle-sudo-emacs-26.patch deleted file mode 100644 index d979b113d0..0000000000 --- a/gnu/packages/patches/emacs-dired-toggle-sudo-emacs-26.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 3c0f4b27a079b90dc632f5061a81ce28cef24801 Mon Sep 17 00:00:00 2001 -From: eryx67 -Date: Thu, 29 Nov 2018 10:30:20 +0500 -Subject: [PATCH] fix for latest emacs - ---- - dired-toggle-sudo.el | 11 +++++++---- - 1 file changed, 7 insertions(+), 4 deletions(-) - -diff --git a/dired-toggle-sudo.el b/dired-toggle-sudo.el -index 386921b..fe5898e 100644 ---- a/dired-toggle-sudo.el -+++ b/dired-toggle-sudo.el -@@ -37,17 +37,20 @@ - unless SUDO-USER is provided." - (let* (;; Handle the case of local files. `tramp-dissect-file-name' does - ;; not raise an error anymore. -- (path (if (tramp-tramp-file-p path) path (concat "/:" path))) -+ ;;(path (if (tramp-tramp-file-p path) path (concat "/-::" path))) - (file-vec (or (ignore-errors (tramp-dissect-file-name - path)) - (tramp-dissect-file-name -- (concat "/:" path) 1))) -+ (concat "/-::" path) 1))) - (method (tramp-file-name-method file-vec)) - (user (tramp-file-name-user file-vec)) - (host (tramp-file-name-host file-vec)) -+ (domain (tramp-file-name-domain file-vec)) -+ (port (tramp-file-name-port file-vec)) - (localname (expand-file-name - (tramp-file-name-localname file-vec)))) -- (when (string= system-name host) -+ (when (or (string= (system-name) host) -+ (string= "-" host)) - (setq host nil)) - (cond - ;; remote directory -> sudo -@@ -67,7 +70,7 @@ unless SUDO-USER is provided." - (setq method "sudo" user sudo-user))) - (replace-regexp-in-string - "^/:/" "/" -- (tramp-make-tramp-file-name method user host localname)))) -+ (tramp-make-tramp-file-name method domain user host port localname)))) - - (defun dired-toggle-sudo-find (fname) - "Create a new buffer for file name FNAME." --- -2.22.0 - -- cgit v1.2.3 From 6ca2d7dae09953fcff59e6332f131c3a40eb05bf Mon Sep 17 00:00:00 2001 From: Felix Gruber Date: Sun, 5 Apr 2020 14:51:41 +0200 Subject: gnu: maths: dune-*: Update to version 2.7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/maths.scm (dune-*): Update to version 2.7. (dune-uggrid)[source] Download from Git, as no release tarball for version 2.7 exists. (dune-alugrid,dune-subgrid,dune-pdelab)[source] Use commit hashes as no tags for version 2.7 exist (yet?). (dune-istl)[source](patches) Add patch required to build version 2.7 without openmpi. * gnu/packages/patches/dune-istl-2.7-fix-non-mpi-tests.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 2 + gnu/packages/maths.scm | 65 +++++++++-------- .../patches/dune-istl-2.7-fix-non-mpi-tests.patch | 82 ++++++++++++++++++++++ 3 files changed, 119 insertions(+), 30 deletions(-) create mode 100644 gnu/packages/patches/dune-istl-2.7-fix-non-mpi-tests.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index e70715000a..4af79f0caf 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -31,6 +31,7 @@ # Copyright © 2020 R Veera Kumar # Copyright © 2020 Nicolò Balzarotti # Copyright © 2020 Michael Rohleder +# Copyright © 2020 Felix Gruber # # This file is part of GNU Guix. # @@ -844,6 +845,7 @@ dist_patch_DATA = \ %D%/packages/patches/doxygen-test.patch \ %D%/packages/patches/dstat-fix-crash-when-specifying-delay.patch \ %D%/packages/patches/dstat-skip-devices-without-io.patch \ + %D%/packages/patches/dune-istl-2.7-fix-non-mpi-tests.patch \ %D%/packages/patches/dvd+rw-tools-add-include.patch \ %D%/packages/patches/eigen-stabilise-sparseqr-test.patch \ %D%/packages/patches/einstein-build.patch \ diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 7db2b31012..73ee161e81 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -4661,7 +4661,7 @@ linear algebra primitives specifically targeting graph analytics.") (define-public dune-common (package (name "dune-common") - (version "2.6.0") + (version "2.7.0") (source (origin (method url-fetch) @@ -4669,7 +4669,7 @@ linear algebra primitives specifically targeting graph analytics.") version "/dune-common-" version ".tar.gz")) (sha256 (base32 - "019wcr1qf7jwyxx1y5y290wdlglylskvbb2m01ljkzcza2xnlmhw")))) + "140q1zh44cr5yrjwg4b5ga803rkqv55vk30l2cqm29aklj1wb0rw")))) (build-system cmake-build-system) (arguments `(#:phases @@ -4699,7 +4699,7 @@ Differences} (FD).") (define-public dune-geometry (package (name "dune-geometry") - (version "2.6.0") + (version "2.7.0") (source (origin (method url-fetch) @@ -4707,7 +4707,7 @@ Differences} (FD).") version "/dune-geometry-" version ".tar.gz")) (sha256 (base32 - "0hlaaxjyv9j05blasvb67sy02hd0w4g9znf68gdh3l731dd1aqbn")))) + "1cicvlwbyyw76npicnblxckyvhbfn3ip8isydiv3hlrlz8zcg5nr")))) (build-system cmake-build-system) (arguments `(#:phases @@ -4739,15 +4739,17 @@ This package contains the basic DUNE geometry classes.") (define-public dune-uggrid (package (name "dune-uggrid") - (version "2.6.0") + (version "2.7.0") (source (origin - (method url-fetch) - (uri (string-append "https://dune-project.org/download/" - version "/dune-uggrid-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://gitlab.dune-project.org/staging/dune-uggrid.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "05l7a1gb78mny49anyxk6rjvn66rhgm30y72v5cjg0m5kfgr1a1f")))) + "192miqgmfj6jwk969gydzpbv9ki7jg5nky3ydnrwa2nq29b5xkh0")))) (build-system cmake-build-system) (arguments `(#:phases @@ -4774,7 +4776,7 @@ This package contains the DUNE UG grid classes.") (define-public dune-grid (package (name "dune-grid") - (version "2.6.0") + (version "2.7.0") (source (origin (method url-fetch) @@ -4782,7 +4784,7 @@ This package contains the DUNE UG grid classes.") version "/dune-grid-" version ".tar.gz")) (sha256 (base32 - "1jp4vscm9yb9xg0lh7apzccfkhvgbnk652yahigmh3cvzpl4acd0")))) + "17fjz30qazjgl11sryyxnw9klai4yz1ji4bs68013xcxc5hdv27s")))) (build-system cmake-build-system) (arguments `(#:phases @@ -4817,7 +4819,7 @@ This package contains the basic DUNE grid classes.") (define-public dune-istl (package (name "dune-istl") - (version "2.6.0") + (version "2.7.0") (source (origin (method url-fetch) @@ -4825,7 +4827,8 @@ This package contains the basic DUNE grid classes.") version "/dune-istl-" version ".tar.gz")) (sha256 (base32 - "0l2gyrvys5w6wsmk0ckbb7295s80b7yk7qrl7x66akv2jv1nzq2w")))) + "0gl3wgz5rs6sb4m83440ny45sbx7z7lnbi3gx6r9nm3rvy5j33f9")) + (patches (search-patches "dune-istl-2.7-fix-non-mpi-tests.patch")))) (build-system cmake-build-system) (arguments `(#:phases @@ -4863,7 +4866,7 @@ aggregation-based algebraic multigrid.") (define-public dune-localfunctions (package (name "dune-localfunctions") - (version "2.6.0") + (version "2.7.0") (source (origin (method url-fetch) @@ -4871,7 +4874,7 @@ aggregation-based algebraic multigrid.") version "/dune-localfunctions-" version ".tar.gz")) (sha256 (base32 - "19c6zjinwwpy8jh4v4prhphyd438rapd4x80fj93apmwgw04nrhl")))) + "1yih59h6vngii696bx1c2vil02lriij4kz0nc583mjn9kiaqxfqd")))) (build-system cmake-build-system) (arguments `(#:phases @@ -4906,15 +4909,17 @@ assemble global function spaces on finite-element grids.") (define-public dune-alugrid (package (name "dune-alugrid") - (version "2.6.0") + (version "2.7.0-git-81d35682") (source (origin - (method url-fetch) - (uri (string-append "https://dune-project.org/download/" - version "/dune-alugrid-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://gitlab.dune-project.org/extensions/dune-alugrid.git") + (commit "81d356827c84454b971937db02c02b90bbcd7fe5"))) + (file-name (git-file-name name version)) (sha256 (base32 - "1l9adgyjpra8mvwm445s0lpjshnb63jag85fb2hisbjn6bm320yj")))) + "0z54lwfp53prcrs94k8gwh047l9z642jll3l56xlyfr69z0b2zz1")))) (build-system cmake-build-system) (arguments `(#:phases @@ -4954,17 +4959,17 @@ cubes.") (define-public dune-subgrid (package (name "dune-subgrid") - (version "2.6.0") + (version "2.7.0-git-2103a363") (source (origin (method git-fetch) (uri (git-reference (url "https://git.imp.fu-berlin.de/agnumpde/dune-subgrid") - (commit "releases/2.6-1"))) + (commit "2103a363f32e8d7b60e66eee7ddecf969f6cf762"))) (file-name (git-file-name name version)) (sha256 (base32 - "1gcv35rx3knqd54r4pp9rzd639db4j8w2r2ibq43w1mgwdcqhs64")))) + "1wsjlypd3835c3arqjkw836cxx5q67zy447wa65q634lf6f6v9ia")))) (build-system cmake-build-system) (arguments `(#:phases @@ -4994,7 +4999,7 @@ provides the full grid interface including adaptive mesh refinement.") (define-public dune-typetree (package (name "dune-typetree") - (version "2.6.0") + (version "2.7.0") (source (origin (method git-fetch) @@ -5004,7 +5009,7 @@ provides the full grid interface including adaptive mesh refinement.") (file-name (git-file-name name version)) (sha256 (base32 - "0mnv6w2f22lz3j4bdpdjq55vjm8xxfx9v4vvhg9bd36xpsbjpjp9")))) + "1rhv25yg0q1hw50c8wlfqhgwrjl4mh62zq9v14ilwgzbfgxmpiy7")))) (build-system cmake-build-system) (arguments `(#:phases @@ -5033,7 +5038,7 @@ operating on statically typed trees of objects.") (define-public dune-functions (package (name "dune-functions") - (version "2.6.0") + (version "2.7.0") (source (origin (method git-fetch) @@ -5043,7 +5048,7 @@ operating on statically typed trees of objects.") (file-name (git-file-name name version)) (sha256 (base32 - "1an8gb477n8j0kzpbrv7nr1snh8pxip0gsxq6w63jc83gg3dj200")))) + "1na4gcih0kin37ksj2xj07ds04v7zx53pjdhm1hzy55jjfqdjk8h")))) (build-system cmake-build-system) (arguments `(#:phases @@ -5083,17 +5088,17 @@ implemented as callable objects, and bases of finite element spaces.") (define-public dune-pdelab (package (name "dune-pdelab") - (version "2.6.0-rc1") + (version "2.7.0-git-476fe437") (source (origin (method git-fetch) (uri (git-reference (url "https://gitlab.dune-project.org/pdelab/dune-pdelab") - (commit (string-append "v" version)))) + (commit "476fe43763fa6f459c5e4658e2a2b4b5582db834"))) (file-name (git-file-name name version)) (sha256 (base32 - "07g0s9448z65vjrq88g5rv3340iifil85k170n8kbqchsvi4ny5v")))) + "0cs36piqzn6rq0j2ih3ab3q3q9yg199wk72k5qi86pkzh7i7fdn1")))) (build-system cmake-build-system) (arguments '(#:tests? #f)) ; XXX: the tests cannot be compiled (inputs diff --git a/gnu/packages/patches/dune-istl-2.7-fix-non-mpi-tests.patch b/gnu/packages/patches/dune-istl-2.7-fix-non-mpi-tests.patch new file mode 100644 index 0000000000..ee2bb8f676 --- /dev/null +++ b/gnu/packages/patches/dune-istl-2.7-fix-non-mpi-tests.patch @@ -0,0 +1,82 @@ +Fix build of dune-istl's tests + +Patch copied from upstream source repository: + +https://gitlab.dune-project.org/core/dune-istl/-/commit/9eee3462df5a64881c08574f9291e76db398de0a + +From 9eee3462df5a64881c08574f9291e76db398de0a Mon Sep 17 00:00:00 2001 +From: Felix Gruber +Date: Sat, 4 Apr 2020 15:27:09 +0200 +Subject: [PATCH] make tests succeed when MPI is disabled + +When MPI is not available or explicitly disabled with the CMake build +option -DCMAKE_IDSABLE_FIND_PACKAGE_MPI=TRUE, some tests were unable to +build. + +The tests created from solverfactorytest.cc.in and part of +scalarproductstest.cc use Dune::OwnerOverlapCopyCommunication which is +defined behind `#if HAVE_MPI` and is thus not available in a non-MPI +build. I've thus disabled those tests when MPI is unavailable. + +The matrixmarkettest did not work without MPI, as it contained some code +using the wrong template parameters when HAVE_MPI was not set. Those +template paramters have been fixed now. + +I've confirmed, that after my changes `make build_tests` succeeds to +build all tests and that those tests run without failure. +--- + dune/istl/test/CMakeLists.txt | 3 ++- + dune/istl/test/matrixmarkettest.cc | 2 +- + dune/istl/test/scalarproductstest.cc | 2 ++ + 3 files changed, 5 insertions(+), 2 deletions(-) + +diff --git a/dune/istl/test/CMakeLists.txt b/dune/istl/test/CMakeLists.txt +index ffd87969..2c7b2387 100644 +--- a/dune/istl/test/CMakeLists.txt ++++ b/dune/istl/test/CMakeLists.txt +@@ -77,7 +77,8 @@ set(DUNE_TEST_FACTORY_BLOCK_SIZES + function(add_factory_test BLOCK) + STRING(REGEX REPLACE "[^a-zA-Z0-9]" "" BLOCK_CLEAN ${BLOCK}) + configure_file(solverfactorytest.cc.in solverfactorytest_${BLOCK_CLEAN}.cc) +- dune_add_test(SOURCES ${CMAKE_CURRENT_BINARY_DIR}/solverfactorytest_${BLOCK_CLEAN}.cc) ++ dune_add_test(SOURCES ${CMAKE_CURRENT_BINARY_DIR}/solverfactorytest_${BLOCK_CLEAN}.cc ++ CMAKE_GUARD HAVE_MPI) + endfunction(add_factory_test) + + foreach(FIELD_TYPE ${DUNE_TEST_FACTORY_FIELD_TYPES}) +diff --git a/dune/istl/test/matrixmarkettest.cc b/dune/istl/test/matrixmarkettest.cc +index b335afe6..ce30e8ae 100644 +--- a/dune/istl/test/matrixmarkettest.cc ++++ b/dune/istl/test/matrixmarkettest.cc +@@ -52,7 +52,7 @@ int testMatrixMarket(int N) + storeMatrixMarket(mat, std::string("testmat"), comm); + storeMatrixMarket(bv, std::string("testvec"), comm, false); + #else +- typedef Dune::MatrixAdapter Operator; ++ typedef Dune::MatrixAdapter Operator; + Operator op(mat); + op.apply(bv, cv); + +diff --git a/dune/istl/test/scalarproductstest.cc b/dune/istl/test/scalarproductstest.cc +index 452b1d89..f46ce2a9 100644 +--- a/dune/istl/test/scalarproductstest.cc ++++ b/dune/istl/test/scalarproductstest.cc +@@ -115,6 +115,7 @@ int main(int argc, char** argv) + scalarProductTest(scalarProduct,numBlocks); + } + ++#if HAVE_MPI + // Test the ParallelScalarProduct class + { + using Vector = BlockVector >; +@@ -139,6 +140,7 @@ int main(int argc, char** argv) + ScalarProduct scalarProduct(communicator,SolverCategory::nonoverlapping); + scalarProductTest(scalarProduct,numBlocks); + } ++#endif + + return t.exit(); + } +-- +2.25.1 + -- cgit v1.2.3 From c47f48d972cd13ee2cdf86d075f34fa0e944a764 Mon Sep 17 00:00:00 2001 From: Ryan Prior Date: Tue, 21 Apr 2020 16:56:42 -0500 Subject: gnu: Add visidata. * gnu/packages/visidata.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Signed-off-by: Ricardo Wurmus --- gnu/local.mk | 2 ++ gnu/packages/visidata.scm | 64 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 gnu/packages/visidata.scm (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 4af79f0caf..a6e1ed2d37 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -32,6 +32,7 @@ # Copyright © 2020 Nicolò Balzarotti # Copyright © 2020 Michael Rohleder # Copyright © 2020 Felix Gruber +# Copyright © 2020 Ryan Prior # # This file is part of GNU Guix. # @@ -522,6 +523,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/video.scm \ %D%/packages/vim.scm \ %D%/packages/virtualization.scm \ + %D%/packages/visidata.scm \ %D%/packages/vnc.scm \ %D%/packages/vpn.scm \ %D%/packages/vulkan.scm \ diff --git a/gnu/packages/visidata.scm b/gnu/packages/visidata.scm new file mode 100644 index 0000000000..68ea401362 --- /dev/null +++ b/gnu/packages/visidata.scm @@ -0,0 +1,64 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2020 Ryan Prior +;;; +;;; 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 . + +(define-module (gnu packages visidata) + #:use-module (gnu packages databases) + #:use-module (gnu packages python-science) + #:use-module (gnu packages python-web) + #:use-module (gnu packages python-xyz) + #:use-module (gnu packages time) + #:use-module (gnu packages xml) + #:use-module (guix build-system python) + #:use-module (guix download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages)) + +(define-public visidata + (package + (name "visidata") + (version "1.5.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "visidata" version)) + (sha256 + (base32 + "10adfyn4gkisvciqawgh2lakkhhnjjxiyp7mzbgcwkq1b3sigpf1")))) + (build-system python-build-system) + ;; Tests disabled because they are not packaged with the source tarball. + ;; Upstream suggests tests will be packaged with tarball around 2.0 release. + (arguments '(#:tests? #f)) + (inputs + `(("python-dateutil" ,python-dateutil) + ("python-fonttools" ,python-fonttools) + ("python-h5py" ,python-h5py) + ("python-lxml" ,python-lxml) + ("python-openpyxl" ,python-openpyxl) + ("python-pandas" ,python-pandas) + ("python-psycopg2" ,python-psycopg2) + ("python-pyyaml" ,python-pyyaml) + ("python-requests" ,python-requests) + ("python-xlrd" ,python-xlrd))) + (synopsis "Terminal spreadsheet multitool for discovering and arranging data") + (description + "VisiData is an interactive multitool for tabular data. It combines the +clarity of a spreadsheet, the efficiency of the terminal, and the power of +Python, into a lightweight utility which can handle millions of rows.") + (home-page "https://www.visidata.org/") + (license (list license:gpl3 + license:expat)))) ;; visidata/vdtui.py -- cgit v1.2.3 From 193192ca77bffddd241b6706df21b5e8bccc4cce Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 24 Apr 2020 12:20:25 +0200 Subject: gnu: llvm: Add 10.0.0. * gnu/packages/llvm.scm (llvm-10, clang-runtime-10, clang-10) (clang-toolchain-10, llvm-9, clang-runtime-9, clang-9) (clang-toolchain-9): New variables. (llvm, clang, clang-runtime, clang-toolchain): Redefine as aliases to the '-9' bindings. * gnu/packages/patches/clang-10.0-libc-search-path.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/llvm.scm | 54 ++++++++++---- .../patches/clang-10.0-libc-search-path.patch | 84 ++++++++++++++++++++++ 3 files changed, 125 insertions(+), 14 deletions(-) create mode 100644 gnu/packages/patches/clang-10.0-libc-search-path.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index a6e1ed2d37..d42f17f41b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -805,6 +805,7 @@ dist_patch_DATA = \ %D%/packages/patches/clang-6.0-libc-search-path.patch \ %D%/packages/patches/clang-7.0-libc-search-path.patch \ %D%/packages/patches/clang-9.0-libc-search-path.patch \ + %D%/packages/patches/clang-10.0-libc-search-path.patch \ %D%/packages/patches/clang-runtime-asan-build-fixes.patch \ %D%/packages/patches/clang-runtime-esan-build-fixes.patch \ %D%/packages/patches/classpath-aarch64-support.patch \ diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 7236567a5e..d6c519bcbd 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2016, 2018 Eric Bavier ;;; Copyright © 2015 Mark H Weaver -;;; Copyright © 2015, 2017, 2018, 2019 Ludovic Courtès +;;; Copyright © 2015, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2016 Dennis Mungai ;;; Copyright © 2016, 2018, 2019, 2020 Ricardo Wurmus ;;; Copyright © 2017 Roel Janssen @@ -84,17 +84,17 @@ as \"x86_64-linux\"." (string-append "https://releases.llvm.org/" version "/" component "-" version ".src.tar.xz"))) -(define-public llvm +(define-public llvm-10 (package (name "llvm") - (version "9.0.1") + (version "10.0.0") (source (origin (method url-fetch) (uri (llvm-download-uri "llvm" version)) (sha256 (base32 - "16hwp3qa54c3a3v7h8nlw0fh5criqh0hlr1skybyk0cz70gyx880")))) + "1pwgm6cr0xr5a0hrbqs1zvsvvjvy0yq1y47c96804wcs795s90yz")))) (build-system cmake-build-system) (native-inputs `(("python" ,python-2) ;bytes->str conversion in clang>=3.7 needs python-2 @@ -368,23 +368,49 @@ output), and Binutils.") ("libc-debug" ,glibc "debug") ("libc-static" ,glibc "static"))))) -(define-public clang-runtime +(define-public clang-runtime-10 + (clang-runtime-from-llvm + llvm-10 + "0x9c531k6ww21s2mkdwqx1vbdjmx6d4wmfb8gdbj0wqa796sczba")) + +(define-public clang-10 + (clang-from-llvm llvm-10 clang-runtime-10 + "08fbxa2a0kr3ni35ckppj0kyvlcyaywrhpqwcdrdy0z900mhcnw8" + #:patches '("clang-10.0-libc-search-path.patch"))) + +(define-public clang-toolchain-10 + (make-clang-toolchain clang-10)) + +(define-public llvm-9 + (package + (inherit llvm-10) + (version "9.0.1") + (source + (origin + (method url-fetch) + (uri (llvm-download-uri "llvm" version)) + (sha256 + (base32 + "16hwp3qa54c3a3v7h8nlw0fh5criqh0hlr1skybyk0cz70gyx880")))))) + +(define-public clang-runtime-9 (clang-runtime-from-llvm - llvm + llvm-9 "0xwh79g3zggdabxgnd0bphry75asm1qz7mv3hcqihqwqr6aspgy2")) -(define-public clang - (clang-from-llvm llvm clang-runtime +(define-public clang-9 + (clang-from-llvm llvm-9 clang-runtime-9 "0ls2h3iv4finqyflyhry21qhc9cm9ga7g1zq21020p065qmm2y2p" #:patches '("clang-9.0-libc-search-path.patch"))) -(define-public clang-toolchain - (make-clang-toolchain clang)) +(define-public clang-toolchain-9 + (make-clang-toolchain clang-9)) -(define-public llvm-9 llvm) -(define-public clang-runtime-9 clang-runtime) -(define-public clang-9 clang) -(define-public clang-toolchain-9 clang-toolchain) +;; Default LLVM and Clang version. +(define-public llvm llvm-9) +(define-public clang-runtime clang-runtime-9) +(define-public clang clang-9) +(define-public clang-toolchain clang-toolchain-9) (define-public llvm-8 (package diff --git a/gnu/packages/patches/clang-10.0-libc-search-path.patch b/gnu/packages/patches/clang-10.0-libc-search-path.patch new file mode 100644 index 0000000000..966e40b93c --- /dev/null +++ b/gnu/packages/patches/clang-10.0-libc-search-path.patch @@ -0,0 +1,84 @@ +Clang attempts to guess file names based on the OS and distro (yes!), +but unfortunately, that doesn't work for us. + +This patch makes it easy to insert libc's $libdir so that Clang passes the +correct absolute file name of crt1.o etc. to 'ld'. It also disables all +the distro-specific stuff and removes the hard-coded FHS directory names +to make sure Clang also works on non-Guix systems. + +diff --git a/lib/Driver/ToolChains/Linux.cpp b/lib/Driver/ToolChains/Linux.cpp +index bff1ab10..79e1477e 100644 +--- a/lib/Driver/ToolChains/Linux.cpp ++++ b/lib/Driver/ToolChains/Linux.cpp +@@ -240,6 +240,9 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + .str()); + } + ++// Comment out the distro-specific tweaks so that they don't bite when ++// using Guix on a foreign distro. ++#if 0 + Distro Distro(D.getVFS(), Triple); + + if (Distro.IsAlpineLinux() || Triple.isAndroid()) { +@@ -306,6 +309,7 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + + if (IsAndroid || Distro.IsOpenSUSE()) + ExtraOpts.push_back("--enable-new-dtags"); ++#endif // Guix + + // The selection of paths to try here is designed to match the patterns which + // the GCC driver itself uses, as this is part of the GCC-compatible driver. +@@ -363,7 +367,7 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + // the cross. Note that GCC does include some of these directories in some + // configurations but this seems somewhere between questionable and simply + // a bug. +- if (StringRef(LibPath).startswith(SysRoot)) { ++ if (0) { + addPathIfExists(D, LibPath + "/" + MultiarchTriple, Paths); + addPathIfExists(D, LibPath + "/../" + OSLibDir, Paths); + } +@@ -382,6 +386,8 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + addPathIfExists(D, SysRoot + "/lib/" + MultiarchTriple, Paths); + addPathIfExists(D, SysRoot + "/lib/../" + OSLibDir, Paths); + ++// This requires the commented distro tweaks above. ++#if 0 + if (IsAndroid) { + // Android sysroots contain a library directory for each supported OS + // version as well as some unversioned libraries in the usual multiarch +@@ -410,10 +416,15 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + addPathIfExists(D, SysRoot + "/" + OSLibDir + "/" + ABIName, Paths); + addPathIfExists(D, SysRoot + "/usr/" + OSLibDir + "/" + ABIName, Paths); + } ++#endif + + // Try walking via the GCC triple path in case of biarch or multiarch GCC + // installations with strange symlinks. + if (GCCInstallation.isValid()) { ++ ++// The following code would end up adding things like ++// "/usr/lib/x86_64-unknown-linux-gnu/../../lib64" to the search path. ++#if 0 + addPathIfExists(D, + SysRoot + "/usr/lib/" + GCCInstallation.getTriple().str() + + "/../../" + OSLibDir, +@@ -426,6 +437,7 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + BiarchSibling.gccSuffix(), + Paths); + } ++#endif + + // See comments above on the multilib variant for details of why this is + // included even from outside the sysroot. +@@ -450,8 +462,9 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + if (StringRef(D.Dir).startswith(SysRoot)) + addPathIfExists(D, D.Dir + "/../lib", Paths); + +- addPathIfExists(D, SysRoot + "/lib", Paths); +- addPathIfExists(D, SysRoot + "/usr/lib", Paths); ++ // Add libc's lib/ directory to the search path, so that crt1.o, crti.o, ++ // and friends can be found. ++ addPathIfExists(D, "@GLIBC_LIBDIR@", Paths); + } + + ToolChain::CXXStdlibType Linux::GetDefaultCXXStdlibType() const { -- cgit v1.2.3 From 122b3cd68dbc6c83de5357d4db4d82d2fd92d9b1 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 24 Apr 2020 15:54:34 +0200 Subject: gnu: biber: Address test failures. * gnu/packages/patches/biber-sortinithash.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/tex.scm (biber)[source]: Use it. --- gnu/local.mk | 1 + gnu/packages/patches/biber-sortinithash.patch | 1666 +++++++++++++++++++++++++ gnu/packages/tex.scm | 3 +- 3 files changed, 1669 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/biber-sortinithash.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index d42f17f41b..66a9c76865 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -776,6 +776,7 @@ dist_patch_DATA = \ %D%/packages/patches/beignet-correct-file-names.patch \ %D%/packages/patches/benchmark-unbundle-googletest.patch \ %D%/packages/patches/biber-fix-encoding-write.patch \ + %D%/packages/patches/biber-sortinithash.patch \ %D%/packages/patches/bidiv-update-fribidi.patch \ %D%/packages/patches/binutils-boot-2.20.1a.patch \ %D%/packages/patches/binutils-loongson-workaround.patch \ diff --git a/gnu/packages/patches/biber-sortinithash.patch b/gnu/packages/patches/biber-sortinithash.patch new file mode 100644 index 0000000000..5a626705e6 --- /dev/null +++ b/gnu/packages/patches/biber-sortinithash.patch @@ -0,0 +1,1666 @@ +This is a backport of this upstream commit to Biber 2.12: + + From 6b61b4c13778cf638f82569ab9e413f09f111ba5 Mon Sep 17 00:00:00 2001 + From: Philip Kime + Date: Sat, 12 Jan 2019 17:19:51 +0100 + Subject: [PATCH] Updated tests after U::C upgrade changed sortinit hashes + +It addresses test failures found with recent versions of the +Biber dependencies. + +diff --git a/t/annotations.t b/t/annotations.t +index b4f641e..c6f86c7 100644 +--- a/t/annotations.t ++++ b/t/annotations.t +@@ -73,7 +73,7 @@ my $ann1 = q| \entry{ann1}{misc}{} + \strng{authorfullhash}{90ae96c82de92e36949bc64254bbde0c} + \field{extraname}{1} + \field{sortinit}{L} +- \field{sortinithash}{2c7981aaabc885868aba60f0c09ee20f} ++ \field{sortinithash}{dad3efd0836470093a7b4a7bb756eb8c} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{title}{The Title} +@@ -116,7 +116,7 @@ my $ann2 = q| \entry{ann2}{misc}{} + \strng{authorfullhash}{90ae96c82de92e36949bc64254bbde0c} + \field{extraname}{2} + \field{sortinit}{L} +- \field{sortinithash}{2c7981aaabc885868aba60f0c09ee20f} ++ \field{sortinithash}{dad3efd0836470093a7b4a7bb756eb8c} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{title}{The Title} +diff --git a/t/basic-misc.t b/t/basic-misc.t +index d4664b1..a9168cc 100644 +--- a/t/basic-misc.t ++++ b/t/basic-misc.t +@@ -97,7 +97,7 @@ my $u1 = q| \entry{u1}{misc}{} + \strng{authorfullhash}{b78abdc838d79b6576f2ed0021642766} + \field{labelalpha}{AAA\textbf{+}00} + \field{sortinit}{A} +- \field{sortinithash}{d77c7cdd82ff690d4c3ef13216f92f0b} ++ \field{sortinithash}{a3dcedd53b04d1adfd5ac303ecd5e6fa} + \true{singletitle} + \true{uniquework} + \field{labelnamesource}{author} +@@ -231,7 +231,7 @@ my $murray1 = q| \entry{murray}{article}{} + \strng{authorfullhash}{1572cc3fd324f560e5e71d041a6bd764} + \field{labelalpha}{Hos\textbf{+}98} + \field{sortinit}{H} +- \field{sortinithash}{5f15a7bc777ad49ff15aa4d2831b1681} ++ \field{sortinithash}{6db6145dae8dc9e1271a8d556090b50a} + \true{singletitle} + \true{uniquework} + \field{labelnamesource}{author} +@@ -348,7 +348,7 @@ my $murray2 = q| \entry{murray}{article}{} + \strng{authorfullhash}{1572cc3fd324f560e5e71d041a6bd764} + \field{labelalpha}{Hos98} + \field{sortinit}{H} +- \field{sortinithash}{5f15a7bc777ad49ff15aa4d2831b1681} ++ \field{sortinithash}{6db6145dae8dc9e1271a8d556090b50a} + \true{singletitle} + \true{uniquework} + \field{labelnamesource}{author} +@@ -389,7 +389,7 @@ my $t1 = q+ \entry{t1}{misc}{} + \field{extraname}{1} + \field{labelalpha}{Bro92} + \field{sortinit}{B} +- \field{sortinithash}{276475738cc058478c1677046f857703} ++ \field{sortinithash}{8de16967003c7207dae369d874f1456e} + \true{uniquework} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -419,7 +419,7 @@ my $t2 = q| \entry{t2}{misc}{} + \field{extraname}{2} + \field{labelalpha}{Bro94} + \field{sortinit}{B} +- \field{sortinithash}{276475738cc058478c1677046f857703} ++ \field{sortinithash}{8de16967003c7207dae369d874f1456e} + \true{uniquework} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -452,7 +452,7 @@ my $anon1 = q| \entry{anon1}{unpublished}{} + \strng{shortauthorfullhash}{9873a6cc65c553faa2b21aaad626fe4b} + \field{labelalpha}{XAn35} + \field{sortinit}{A} +- \field{sortinithash}{d77c7cdd82ff690d4c3ef13216f92f0b} ++ \field{sortinithash}{a3dcedd53b04d1adfd5ac303ecd5e6fa} + \true{singletitle} + \true{uniquework} + \field{labelnamesource}{shortauthor} +@@ -491,7 +491,7 @@ my $anon2 = q| \entry{anon2}{unpublished}{} + \strng{shortauthorfullhash}{f64c29e89ea49402b997956610b58ef6} + \field{labelalpha}{YAn39} + \field{sortinit}{A} +- \field{sortinithash}{d77c7cdd82ff690d4c3ef13216f92f0b} ++ \field{sortinithash}{a3dcedd53b04d1adfd5ac303ecd5e6fa} + \true{singletitle} + \true{uniquework} + \field{labelnamesource}{shortauthor} +@@ -526,7 +526,7 @@ my $url1 = q| \entry{url1}{misc}{} + \field{extraname}{4} + \field{labelalpha}{Ali05} + \field{sortinit}{A} +- \field{sortinithash}{d77c7cdd82ff690d4c3ef13216f92f0b} ++ \field{sortinithash}{a3dcedd53b04d1adfd5ac303ecd5e6fa} + \field{extraalpha}{4} + \field{labelnamesource}{author} + \field{year}{2005} +@@ -710,7 +710,7 @@ my $isbn1 = q| \entry{isbn1}{misc}{} + \field{extraname}{1} + \field{labelalpha}{Flu} + \field{sortinit}{F} +- \field{sortinithash}{669c706c6f1fbf3b5a83d26f1d9e9e72} ++ \field{sortinithash}{fb0c0faa89eb6abae8213bf60e6799ea} + \field{extraalpha}{1} + \field{labelnamesource}{author} + \field{isbn}{978-0-8165-2066-4} +@@ -735,7 +735,7 @@ my $isbn2 = q| \entry{isbn2}{misc}{} + \field{extraname}{2} + \field{labelalpha}{Flu} + \field{sortinit}{F} +- \field{sortinithash}{669c706c6f1fbf3b5a83d26f1d9e9e72} ++ \field{sortinithash}{fb0c0faa89eb6abae8213bf60e6799ea} + \field{extraalpha}{2} + \field{labelnamesource}{author} + \field{isbn}{978-0-8165-2066-4} +@@ -778,7 +778,7 @@ my $clone1 = q| \entry{snk1}{book}{} + \field{extraname}{2} + \field{labelalpha}{vDoe} + \field{sortinit}{v} +- \field{sortinithash}{75dd7385c90b2252c3ae853a80ca853b} ++ \field{sortinithash}{02432525618c08e2b03cac47c19764af} + \field{extraalpha}{2} + \field{labelnamesource}{author} + \endentry +@@ -807,7 +807,7 @@ my $clone2 = q| \entry{clone-snk1}{book}{} + \field{extraname}{1} + \field{labelalpha}{vDoe} + \field{sortinit}{v} +- \field{sortinithash}{75dd7385c90b2252c3ae853a80ca853b} ++ \field{sortinithash}{02432525618c08e2b03cac47c19764af} + \field{extraalpha}{1} + \field{labelnamesource}{author} + \field{addendum}{add} +@@ -839,7 +839,7 @@ my $ent1 = q| \entry{ent1}{book}{} + \strng{authorfullhash}{b2536a425d549b46de5f21c4d468050a} + \field{labelalpha}{SdB} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \true{singletitle} + \field{labelnamesource}{author} + \endentry +@@ -862,7 +862,7 @@ my $verb1 = q| \entry{verb1}{book}{} + \strng{authorfullhash}{cac5a25f503e71f5ef28f474e14007b6} + \field{labelalpha}{All} + \field{sortinit}{A} +- \field{sortinithash}{d77c7cdd82ff690d4c3ef13216f92f0b} ++ \field{sortinithash}{a3dcedd53b04d1adfd5ac303ecd5e6fa} + \true{singletitle} + \field{labelnamesource}{author} + \verb{verba} +diff --git a/t/biblatexml.t b/t/biblatexml.t +index ad9ad25..0959bfa 100644 +--- a/t/biblatexml.t ++++ b/t/biblatexml.t +@@ -111,7 +111,7 @@ my $l1 = q| \entry{bltx1}{misc}{useprefix=false} + \strng{translatornamehash}{b44eba830fe9817fbe8e53c82f1cbe04} + \strng{translatorfullhash}{b44eba830fe9817fbe8e53c82f1cbe04} + \field{sortinit}{v} +- \field{sortinithash}{75dd7385c90b2252c3ae853a80ca853b} ++ \field{sortinithash}{02432525618c08e2b03cac47c19764af} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} +@@ -158,7 +158,7 @@ my $l1 = q| \entry{bltx1}{misc}{useprefix=false} + + my $l2 = q| \entry{loopkey:a}{book}{} + \field{sortinit}{0} +- \field{sortinithash}{168ad0c7c5ed09f1d28c6675717b5b03} ++ \field{sortinithash}{bcf7a1f4afb88b7299f988caccb80d1c} + \endentry + |; + +diff --git a/t/crossrefs.t b/t/crossrefs.t +index 915b52b..b6191c6 100644 +--- a/t/crossrefs.t ++++ b/t/crossrefs.t +@@ -82,7 +82,7 @@ my $cr1 = q| \entry{cr1}{inbook}{} + \strng{editornamehash}{c129df5593fdaa7475548811bfbb227d} + \strng{editorfullhash}{c129df5593fdaa7475548811bfbb227d} + \field{sortinit}{G} +- \field{sortinithash}{5e8d2bf9d38de41b1528bd307546008f} ++ \field{sortinithash}{62eb2aa29549e4fdbd3cb154ec5711cb} + \true{singletitle} + \true{uniquetitle} + \true{uniquework} +@@ -131,7 +131,7 @@ my $cr2 = q| \entry{cr2}{inbook}{} + \strng{editornamehash}{c129df5593fdaa7475548811bfbb227d} + \strng{editorfullhash}{c129df5593fdaa7475548811bfbb227d} + \field{sortinit}{F} +- \field{sortinithash}{669c706c6f1fbf3b5a83d26f1d9e9e72} ++ \field{sortinithash}{fb0c0faa89eb6abae8213bf60e6799ea} + \true{singletitle} + \true{uniquetitle} + \true{uniquework} +@@ -165,7 +165,7 @@ my $cr_m = q| \entry{cr_m}{book}{} + \strng{editornamehash}{c129df5593fdaa7475548811bfbb227d} + \strng{editorfullhash}{c129df5593fdaa7475548811bfbb227d} + \field{sortinit}{G} +- \field{sortinithash}{5e8d2bf9d38de41b1528bd307546008f} ++ \field{sortinithash}{62eb2aa29549e4fdbd3cb154ec5711cb} + \true{crossrefsource} + \true{uniquetitle} + \field{labeltitlesource}{title} +@@ -203,7 +203,7 @@ my $cr3 = q| \entry{cr3}{inbook}{} + \strng{editornamehash}{a1f5c22413396d599ec766725b226735} + \strng{editorfullhash}{a1f5c22413396d599ec766725b226735} + \field{sortinit}{A} +- \field{sortinithash}{d77c7cdd82ff690d4c3ef13216f92f0b} ++ \field{sortinithash}{a3dcedd53b04d1adfd5ac303ecd5e6fa} + \true{singletitle} + \true{uniquetitle} + \true{uniquework} +@@ -248,7 +248,7 @@ my $cr4 = q| \entry{cr4}{inbook}{} + \strng{editornamehash}{6ea89bd4958743a20b70fe17647d6af5} + \strng{editorfullhash}{6ea89bd4958743a20b70fe17647d6af5} + \field{sortinit}{M} +- \field{sortinithash}{cfd219b90152c06204fab207bc6c7cab} ++ \field{sortinithash}{2e5c2f51f7fa2d957f3206819bf86dc3} + \true{singletitle} + \true{uniquetitle} + \true{uniquework} +@@ -279,7 +279,7 @@ my $crt = q| \entry{crt}{book}{} + \strng{editornamehash}{a1f5c22413396d599ec766725b226735} + \strng{editorfullhash}{a1f5c22413396d599ec766725b226735} + \field{sortinit}{B} +- \field{sortinithash}{276475738cc058478c1677046f857703} ++ \field{sortinithash}{8de16967003c7207dae369d874f1456e} + \true{uniquetitle} + \field{labeltitlesource}{title} + \field{title}{Beasts of the Burbling Burns} +@@ -315,7 +315,7 @@ my $cr6 = q| \entry{cr6}{inproceedings}{} + \strng{editorfullhash}{344a7f427fb765610ef96eb7bce95257} + \field{extraname}{2} + \field{sortinit}{A} +- \field{sortinithash}{d77c7cdd82ff690d4c3ef13216f92f0b} ++ \field{sortinithash}{a3dcedd53b04d1adfd5ac303ecd5e6fa} + \true{uniquetitle} + \true{uniquework} + \field{labelnamesource}{author} +@@ -366,7 +366,7 @@ my $cr7 = q| \entry{cr7}{inbook}{} + \strng{bookauthorfullhash}{91a1dd4aeed3c4ec29ca74c4e778be5f} + \field{extraname}{1} + \field{sortinit}{A} +- \field{sortinithash}{d77c7cdd82ff690d4c3ef13216f92f0b} ++ \field{sortinithash}{a3dcedd53b04d1adfd5ac303ecd5e6fa} + \true{uniquetitle} + \true{uniquework} + \field{labelnamesource}{author} +@@ -401,7 +401,7 @@ my $cr8 = q| \entry{cr8}{incollection}{} + \strng{authorfullhash}{3d449e56eb3ca1ae80dc99a18d689795} + \field{extraname}{4} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \true{singletitle} + \true{uniquetitle} + \true{uniquework} +@@ -431,7 +431,7 @@ my $xr1 = q| \entry{xr1}{inbook}{} + \strng{authornamehash}{e0ecc4fc668ee499d1afba44e1ac064d} + \strng{authorfullhash}{e0ecc4fc668ee499d1afba44e1ac064d} + \field{sortinit}{Z} +- \field{sortinithash}{156173bd08b075d7295bc3e0f4735a04} ++ \field{sortinithash}{8f7b480688e809b50b6f6577b16f3db5} + \true{singletitle} + \true{uniquetitle} + \true{uniquework} +@@ -460,7 +460,7 @@ my $xr2 = q| \entry{xr2}{inbook}{} + \strng{authornamehash}{6afa09374ecfd6b394ce714d2d9709c7} + \strng{authorfullhash}{6afa09374ecfd6b394ce714d2d9709c7} + \field{sortinit}{I} +- \field{sortinithash}{320bc8fe8101b9376f9f21cd507de0e8} ++ \field{sortinithash}{9417e9a1288a9371e2691d999083ed39} + \true{singletitle} + \true{uniquetitle} + \true{uniquework} +@@ -491,7 +491,7 @@ my $xrm = q| \entry{xrm}{book}{} + \strng{editornamehash}{809950f9b59ae207092b909a19dcb27b} + \strng{editorfullhash}{809950f9b59ae207092b909a19dcb27b} + \field{sortinit}{C} +- \field{sortinithash}{963e9d84a3da2344e8833203de5aed05} ++ \field{sortinithash}{4c244ceae61406cdc0cc2ce1cb1ff703} + \true{xrefsource} + \true{uniquetitle} + \field{labeltitlesource}{title} +@@ -516,7 +516,7 @@ my $xr3 = q| \entry{xr3}{inbook}{} + \strng{authornamehash}{9788055665b9bb4b37c776c3f6b74f16} + \strng{authorfullhash}{9788055665b9bb4b37c776c3f6b74f16} + \field{sortinit}{N} +- \field{sortinithash}{f7242c3ed3dc50029fca1be76c497c7c} ++ \field{sortinithash}{98cf339a479c0454fe09153a08675a15} + \true{singletitle} + \true{uniquetitle} + \true{uniquework} +@@ -546,7 +546,7 @@ my $xrt = q| \entry{xrt}{book}{} + \strng{editornamehash}{bf7d6b02f3e073913e5bfe5059508dd5} + \strng{editorfullhash}{bf7d6b02f3e073913e5bfe5059508dd5} + \field{sortinit}{K} +- \field{sortinithash}{9fd838a31ba64d981e8f44562bd33f89} ++ \field{sortinithash}{d3edc18d54b9438a72c24c925bfb38f4} + \true{uniquetitle} + \field{labeltitlesource}{title} + \field{title}{Kings, Cork and Calculation} +@@ -572,7 +572,7 @@ my $xr4 = q| \entry{xr4}{inbook}{} + \strng{authorfullhash}{7804ffef086c0c4686c235807f5cb502} + \field{extraname}{1} + \field{sortinit}{M} +- \field{sortinithash}{cfd219b90152c06204fab207bc6c7cab} ++ \field{sortinithash}{2e5c2f51f7fa2d957f3206819bf86dc3} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{origyear}{1933} +@@ -600,7 +600,7 @@ my $mxr = q| \entry{mxr}{inbook}{} + \strng{authorfullhash}{7804ffef086c0c4686c235807f5cb502} + \field{extraname}{2} + \field{sortinit}{M} +- \field{sortinithash}{cfd219b90152c06204fab207bc6c7cab} ++ \field{sortinithash}{2e5c2f51f7fa2d957f3206819bf86dc3} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{origyear}{1933} +@@ -625,7 +625,7 @@ my $mcr = q| \entry{mcr}{inbook}{} + \strng{authorfullhash}{7804ffef086c0c4686c235807f5cb502} + \field{extraname}{3} + \field{sortinit}{M} +- \field{sortinithash}{cfd219b90152c06204fab207bc6c7cab} ++ \field{sortinithash}{2e5c2f51f7fa2d957f3206819bf86dc3} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{origyear}{1933} +@@ -660,7 +660,7 @@ my $ccr1 = q| \entry{ccr2}{book}{} + \strng{editorfullhash}{cfee758a1c82df2e26af1985e061bb0a} + \field{extraname}{1} + \field{sortinit}{V} +- \field{sortinithash}{75dd7385c90b2252c3ae853a80ca853b} ++ \field{sortinithash}{02432525618c08e2b03cac47c19764af} + \true{uniquetitle} + \true{uniquework} + \field{labelnamesource}{author} +@@ -694,7 +694,7 @@ my $ccr2 = q| \entry{ccr3}{inbook}{} + \strng{editornamehash}{cfee758a1c82df2e26af1985e061bb0a} + \strng{editorfullhash}{cfee758a1c82df2e26af1985e061bb0a} + \field{sortinit}{P} +- \field{sortinithash}{8d51b3d5b78d75b54308d706b9bbe285} ++ \field{sortinithash}{bb5b15f2db90f7aef79bb9e83defefcb} + \true{uniquetitle} + \field{labeltitlesource}{title} + \field{booktitle}{Misc etc.} +@@ -726,7 +726,7 @@ my $ccr3 = q| \entry{ccr4}{inbook}{} + + my $s1 = q| \entry{s1}{inbook}{} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \true{uniquetitle} + \field{labeltitlesource}{title} + \strng{crossref}{s2} +@@ -760,7 +760,7 @@ my $xc2 = q| \entry{xc2}{inbook}{} + \strng{bookauthorfullhash}{1a0f7d518cccdad859a74412ef956474} + \field{extraname}{2} + \field{sortinit}{C} +- \field{sortinithash}{963e9d84a3da2344e8833203de5aed05} ++ \field{sortinithash}{4c244ceae61406cdc0cc2ce1cb1ff703} + \true{xrefsource} + \field{labelnamesource}{author} + \field{booktitle}{Title} +@@ -769,7 +769,7 @@ my $xc2 = q| \entry{xc2}{inbook}{} + + my $b1 = q| \entry{b1}{inbook}{} + \field{sortinit}{2} +- \field{sortinithash}{cbff857e587bcb4635511624d773949e} ++ \field{sortinithash}{ed39bb39cf854d5250e95b1c1f94f4ed} + \strng{crossref}{b2} + \field{day}{3} + \field{month}{3} +@@ -803,7 +803,7 @@ my $sup1 = q| \entry{sup1}{mvbook}{} + \strng{authorfullhash}{556c8dba145b472e6a8598d506f7cbe2} + \field{extraname}{3} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \true{crossrefsource} + \true{singletitle} + \field{labelnamesource}{author} +@@ -828,7 +828,7 @@ my $sup2 = q| \entry{sup2}{book}{} + \strng{authorfullhash}{556c8dba145b472e6a8598d506f7cbe2} + \field{extraname}{1} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \true{singletitle} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +diff --git a/t/datalists.t b/t/datalists.t +index 3081cc4..4855e3d 100644 +--- a/t/datalists.t ++++ b/t/datalists.t +@@ -187,7 +187,7 @@ my $K11 = q| \entry{K11}{book}{} + \strng{authornamehash}{4edc280a0ef229f9c061e3b121b17482} + \strng{authorfullhash}{4edc280a0ef229f9c061e3b121b17482} + \field{sortinit}{a} +- \field{sortinithash}{d77c7cdd82ff690d4c3ef13216f92f0b} ++ \field{sortinithash}{a3dcedd53b04d1adfd5ac303ecd5e6fa} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} +@@ -219,7 +219,7 @@ my $K12 = q| \entry{K12}{book}{} + \strng{authornamehash}{a846a485fc9cbb59b0ebeedd6ac637e4} + \strng{authorfullhash}{a846a485fc9cbb59b0ebeedd6ac637e4} + \field{sortinit}{Z} +- \field{sortinithash}{156173bd08b075d7295bc3e0f4735a04} ++ \field{sortinithash}{8f7b480688e809b50b6f6577b16f3db5} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} +diff --git a/t/dateformats.t b/t/dateformats.t +index 6beb567..0d5072a 100644 +--- a/t/dateformats.t ++++ b/t/dateformats.t +@@ -88,7 +88,7 @@ my $l13c = q| \entry{L13}{book}{} + \strng{authorfullhash}{8c77336299b25bdada7bf8038f46722f} + \field{extraname}{3} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} +@@ -126,7 +126,7 @@ my $l14 = q| \entry{L14}{book}{} + \strng{authorfullhash}{8c77336299b25bdada7bf8038f46722f} + \field{extraname}{4} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{extradate}{3} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} +@@ -168,7 +168,7 @@ my $l15 = q| \entry{L15}{book}{} + \strng{authorfullhash}{8c77336299b25bdada7bf8038f46722f} + \field{extraname}{12} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{extradate}{4} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -201,7 +201,7 @@ my $l16 = q| \entry{L16}{proceedings}{} + \strng{editorfullhash}{8c77336299b25bdada7bf8038f46722f} + \field{extraname}{13} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{extradate}{7} + \field{extradatescope}{labelyear} + \field{labeldatesource}{event} +@@ -240,7 +240,7 @@ my $l17 = q| \entry{L17}{proceedings}{} + \strng{editorfullhash}{8c77336299b25bdada7bf8038f46722f} + \field{extraname}{5} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{extradate}{4} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} +@@ -299,7 +299,7 @@ my $l17c = q| \entry{L17}{proceedings}{} + \strng{editorfullhash}{8c77336299b25bdada7bf8038f46722f} + \field{extraname}{5} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{extradatescope}{labelyear} + \field{labeldatesource}{orig} + \field{labelnamesource}{editor} +@@ -357,7 +357,7 @@ my $l17e = q| \entry{L17}{proceedings}{} + \strng{editorfullhash}{8c77336299b25bdada7bf8038f46722f} + \field{extraname}{5} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{extradatescope}{labelyear} + \field{labeldatesource}{event} + \field{labelnamesource}{editor} +@@ -479,7 +479,7 @@ my $era1 = q| \entry{era1}{article}{} + \strng{authorfullhash}{556c8dba145b472e6a8598d506f7cbe2} + \field{extraname}{9} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} +@@ -512,7 +512,7 @@ my $era2 = q| \entry{era2}{inproceedings}{} + \strng{authorfullhash}{556c8dba145b472e6a8598d506f7cbe2} + \field{extraname}{10} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} +@@ -546,7 +546,7 @@ my $era3 = q| \entry{era3}{inproceedings}{} + \strng{authorfullhash}{556c8dba145b472e6a8598d506f7cbe2} + \field{extraname}{11} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} +@@ -580,7 +580,7 @@ my $era4 = q| \entry{era4}{inproceedings}{} + \strng{authorfullhash}{556c8dba145b472e6a8598d506f7cbe2} + \field{extraname}{6} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} +@@ -622,7 +622,7 @@ my $time1 = q| \entry{time1}{article}{} + \strng{authorfullhash}{556c8dba145b472e6a8598d506f7cbe2} + \field{extraname}{2} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} +@@ -671,7 +671,7 @@ my $range1 = q| \entry{range1}{inproceedings}{} + \strng{authorfullhash}{556c8dba145b472e6a8598d506f7cbe2} + \field{extraname}{7} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{extradate}{1} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} +@@ -712,7 +712,7 @@ my $range2 = q| \entry{range2}{inproceedings}{} + \strng{authorfullhash}{556c8dba145b472e6a8598d506f7cbe2} + \field{extraname}{8} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{extradate}{2} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} +@@ -753,7 +753,7 @@ my $season1 = q| \entry{season1}{inproceedings}{} + \strng{authorfullhash}{556c8dba145b472e6a8598d506f7cbe2} + \field{extraname}{1} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} +@@ -785,7 +785,7 @@ my $unspec1 = q| \entry{unspec1}{inproceedings}{} + \strng{authorfullhash}{556c8dba145b472e6a8598d506f7cbe2} + \field{extraname}{4} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} +@@ -838,7 +838,7 @@ my $unspec2 = q| \entry{unspec2}{article}{} + \strng{authorfullhash}{556c8dba145b472e6a8598d506f7cbe2} + \field{extraname}{3} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} +diff --git a/t/encoding.t b/t/encoding.t +index a150b4f..36d9955 100644 +--- a/t/encoding.t ++++ b/t/encoding.t +@@ -52,7 +52,7 @@ my $encode1 = q| \entry{testŠ}{book}{} + \strng{authorfullhash}{06a47edae2e847800cfd78323a0e6be8} + \field{labelalpha}{Enc99} + \field{sortinit}{E} +- \field{sortinithash}{f615fb9c6fba11c6f962fb3fd599810e} ++ \field{sortinithash}{c554bd1a0b76ea92b9f105fe36d9c7b0} + \field{labeldatesource}{year} + \true{singletitle} + \field{labelnamesource}{author} +@@ -82,7 +82,7 @@ my $encode2 = q| \entry{test1}{book}{} + \strng{authorfullhash}{06a47edae2e847800cfd78323a0e6be8} + \field{labelalpha}{Enc99} + \field{sortinit}{E} +- \field{sortinithash}{f615fb9c6fba11c6f962fb3fd599810e} ++ \field{sortinithash}{c554bd1a0b76ea92b9f105fe36d9c7b0} + \field{labeldatesource}{year} + \true{singletitle} + \field{labelnamesource}{author} +@@ -112,7 +112,7 @@ my $encode3 = q| \entry{test1}{book}{} + \strng{authorfullhash}{06a47edae2e847800cfd78323a0e6be8} + \field{labelalpha}{Enc99} + \field{sortinit}{E} +- \field{sortinithash}{f615fb9c6fba11c6f962fb3fd599810e} ++ \field{sortinithash}{c554bd1a0b76ea92b9f105fe36d9c7b0} + \field{labeldatesource}{year} + \true{singletitle} + \field{labelnamesource}{author} +@@ -142,7 +142,7 @@ my $encode5 = q| \entry{test}{book}{} + \strng{authorfullhash}{06a47edae2e847800cfd78323a0e6be8} + \field{labelalpha}{Enc99} + \field{sortinit}{E} +- \field{sortinithash}{f615fb9c6fba11c6f962fb3fd599810e} ++ \field{sortinithash}{c554bd1a0b76ea92b9f105fe36d9c7b0} + \field{labeldatesource}{year} + \true{singletitle} + \field{labelnamesource}{author} +@@ -172,7 +172,7 @@ my $encode6 = q| \entry{test}{book}{} + \strng{authorfullhash}{06a47edae2e847800cfd78323a0e6be8} + \field{labelalpha}{Enc99} + \field{sortinit}{E} +- \field{sortinithash}{f615fb9c6fba11c6f962fb3fd599810e} ++ \field{sortinithash}{c554bd1a0b76ea92b9f105fe36d9c7b0} + \field{labeldatesource}{year} + \true{singletitle} + \field{labelnamesource}{author} +@@ -202,7 +202,7 @@ my $encode7 = q| \entry{test}{book}{} + \strng{authorfullhash}{06a47edae2e847800cfd78323a0e6be8} + \field{labelalpha}{Enc99} + \field{sortinit}{E} +- \field{sortinithash}{f615fb9c6fba11c6f962fb3fd599810e} ++ \field{sortinithash}{c554bd1a0b76ea92b9f105fe36d9c7b0} + \field{labeldatesource}{year} + \true{singletitle} + \field{labelnamesource}{author} +diff --git a/t/names.t b/t/names.t +index 7228042..b73f2ed 100644 +--- a/t/names.t ++++ b/t/names.t +@@ -188,7 +188,7 @@ my $l1 = q| \entry{L1}{book}{} + \strng{authornamehash}{72287a68c1714cb1b9f4ab9e03a88b96} + \strng{authorfullhash}{72287a68c1714cb1b9f4ab9e03a88b96} + \field{sortinit}{A} +- \field{sortinithash}{d77c7cdd82ff690d4c3ef13216f92f0b} ++ \field{sortinithash}{a3dcedd53b04d1adfd5ac303ecd5e6fa} + \field{labelnamesource}{author} + \endentry + |; +@@ -208,7 +208,7 @@ my $l2 = q| \entry{L2}{book}{} + \strng{authornamehash}{2098d59d0f19a2e003ee06c1aa750d57} + \strng{authorfullhash}{2098d59d0f19a2e003ee06c1aa750d57} + \field{sortinit}{B} +- \field{sortinithash}{276475738cc058478c1677046f857703} ++ \field{sortinithash}{8de16967003c7207dae369d874f1456e} + \field{labelnamesource}{author} + \endentry + |; +@@ -228,7 +228,7 @@ my $l3 = q| \entry{L3}{book}{} + \strng{authornamehash}{c8b06fe88bde128b25eb0b3b1cc5837c} + \strng{authorfullhash}{c8b06fe88bde128b25eb0b3b1cc5837c} + \field{sortinit}{C} +- \field{sortinithash}{963e9d84a3da2344e8833203de5aed05} ++ \field{sortinithash}{4c244ceae61406cdc0cc2ce1cb1ff703} + \field{labelnamesource}{author} + \endentry + |; +@@ -248,7 +248,7 @@ my $l4 = q| \entry{L4}{book}{} + \strng{authornamehash}{5ec958b850c0c2de7de7c42c84b9c419} + \strng{authorfullhash}{5ec958b850c0c2de7de7c42c84b9c419} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{labelnamesource}{author} + \endentry + |; +@@ -270,7 +270,7 @@ my $l5 = q| \entry{L5}{book}{} + \strng{authornamehash}{c6b9d281cc1ff3f35570f76f463d4244} + \strng{authorfullhash}{c6b9d281cc1ff3f35570f76f463d4244} + \field{sortinit}{v} +- \field{sortinithash}{75dd7385c90b2252c3ae853a80ca853b} ++ \field{sortinithash}{02432525618c08e2b03cac47c19764af} + \field{labelnamesource}{author} + \endentry + |; +@@ -292,7 +292,7 @@ my $l6 = q| \entry{L6}{book}{} + \strng{authornamehash}{5fd24d3d1608a310ec205a6b201a5495} + \strng{authorfullhash}{5fd24d3d1608a310ec205a6b201a5495} + \field{sortinit}{v} +- \field{sortinithash}{75dd7385c90b2252c3ae853a80ca853b} ++ \field{sortinithash}{02432525618c08e2b03cac47c19764af} + \field{labelnamesource}{author} + \endentry + |; +@@ -314,7 +314,7 @@ my $l7 = q| \entry{L7}{book}{} + \strng{authornamehash}{98edb0b90251df22b74328d9227eceb7} + \strng{authorfullhash}{98edb0b90251df22b74328d9227eceb7} + \field{sortinit}{v} +- \field{sortinithash}{75dd7385c90b2252c3ae853a80ca853b} ++ \field{sortinithash}{02432525618c08e2b03cac47c19764af} + \field{labelnamesource}{author} + \endentry + |; +@@ -336,7 +336,7 @@ my $l8 = q| \entry{L8}{book}{} + \strng{authornamehash}{1211dc8dbbc191cbcab4da3c3c1fc48a} + \strng{authorfullhash}{1211dc8dbbc191cbcab4da3c3c1fc48a} + \field{sortinit}{v} +- \field{sortinithash}{75dd7385c90b2252c3ae853a80ca853b} ++ \field{sortinithash}{02432525618c08e2b03cac47c19764af} + \field{labelnamesource}{author} + \endentry + |; +@@ -356,7 +356,7 @@ my $l9 = q| \entry{L9}{book}{} + \strng{authornamehash}{bae61a889ab149a6deafe45333204cf0} + \strng{authorfullhash}{bae61a889ab149a6deafe45333204cf0} + \field{sortinit}{I} +- \field{sortinithash}{320bc8fe8101b9376f9f21cd507de0e8} ++ \field{sortinithash}{9417e9a1288a9371e2691d999083ed39} + \field{labelnamesource}{author} + \endentry + |; +@@ -379,7 +379,7 @@ my $l10 = q| \entry{L10}{book}{} + \strng{authornamehash}{37b4325752e394ddfb2fc810f6c88e27} + \strng{authorfullhash}{37b4325752e394ddfb2fc810f6c88e27} + \field{sortinit}{J} +- \field{sortinithash}{fce5f8d0bd05e8d93f3dbe21c78897ca} ++ \field{sortinithash}{c45040a764d616897e7f5b30174d7b92} + \field{labelnamesource}{author} + \endentry + |; +@@ -402,7 +402,7 @@ my $l10a = q| \entry{L10a}{book}{} + \strng{authornamehash}{7bf2c9d8b89a1930ee91bfddcaf20c9c} + \strng{authorfullhash}{7bf2c9d8b89a1930ee91bfddcaf20c9c} + \field{sortinit}{P} +- \field{sortinithash}{8d51b3d5b78d75b54308d706b9bbe285} ++ \field{sortinithash}{bb5b15f2db90f7aef79bb9e83defefcb} + \field{labelnamesource}{author} + \endentry + |; +@@ -427,7 +427,7 @@ my $l11 = q| \entry{L11}{book}{} + \strng{authornamehash}{9f48d231be68c9435fab4faca55a5caf} + \strng{authorfullhash}{9f48d231be68c9435fab4faca55a5caf} + \field{sortinit}{v} +- \field{sortinithash}{75dd7385c90b2252c3ae853a80ca853b} ++ \field{sortinithash}{02432525618c08e2b03cac47c19764af} + \field{labelnamesource}{author} + \endentry + |; +@@ -449,7 +449,7 @@ my $l12 = q| \entry{L12}{book}{} + \strng{authornamehash}{d7ca88c13a8f7ce1c23e920010a31f83} + \strng{authorfullhash}{d7ca88c13a8f7ce1c23e920010a31f83} + \field{sortinit}{d} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \true{uniqueprimaryauthor} + \field{labelnamesource}{author} + \endentry +@@ -470,7 +470,7 @@ my $l13 = q| \entry{L13}{book}{} + \strng{authornamehash}{227ac48bb788a658cfaa4eefc71ff0cc} + \strng{authorfullhash}{227ac48bb788a658cfaa4eefc71ff0cc} + \field{sortinit}{V} +- \field{sortinithash}{75dd7385c90b2252c3ae853a80ca853b} ++ \field{sortinithash}{02432525618c08e2b03cac47c19764af} + \field{labelnamesource}{author} + \endentry + |; +@@ -490,7 +490,7 @@ my $l14 = q| \entry{L14}{book}{} + \strng{authornamehash}{779475052c17ed56dc3be900d0dfdf87} + \strng{authorfullhash}{779475052c17ed56dc3be900d0dfdf87} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{labelnamesource}{author} + \endentry + |; +@@ -513,7 +513,7 @@ my $l15 = q| \entry{L15}{book}{} + \strng{authorfullhash}{783c636e853e47a854ae034ebe9dde62} + \field{extraname}{1} + \field{sortinit}{v} +- \field{sortinithash}{75dd7385c90b2252c3ae853a80ca853b} ++ \field{sortinithash}{02432525618c08e2b03cac47c19764af} + \field{labelnamesource}{author} + \endentry + |; +@@ -536,7 +536,7 @@ my $l16 = q| \entry{L16}{book}{} + \strng{authorfullhash}{783c636e853e47a854ae034ebe9dde62} + \field{extraname}{2} + \field{sortinit}{v} +- \field{sortinithash}{75dd7385c90b2252c3ae853a80ca853b} ++ \field{sortinithash}{02432525618c08e2b03cac47c19764af} + \field{labelnamesource}{author} + \endentry + |; +@@ -557,7 +557,7 @@ my $l17 = q| \entry{L17}{book}{} + \strng{authorfullhash}{b51f667a3384d92ea5458ba80716bff7} + \field{extraname}{1} + \field{sortinit}{L} +- \field{sortinithash}{2c7981aaabc885868aba60f0c09ee20f} ++ \field{sortinithash}{dad3efd0836470093a7b4a7bb756eb8c} + \field{labelnamesource}{author} + \endentry + |; +@@ -578,7 +578,7 @@ my $l18 = q| \entry{L18}{book}{} + \strng{authorfullhash}{b51f667a3384d92ea5458ba80716bff7} + \field{extraname}{2} + \field{sortinit}{L} +- \field{sortinithash}{2c7981aaabc885868aba60f0c09ee20f} ++ \field{sortinithash}{dad3efd0836470093a7b4a7bb756eb8c} + \field{labelnamesource}{author} + \endentry + |; +@@ -598,7 +598,7 @@ my $l19 = q| \entry{L19}{book}{} + \strng{authornamehash}{83caa52f21f97e572dd3267bdf62978a} + \strng{authorfullhash}{83caa52f21f97e572dd3267bdf62978a} + \field{sortinit}{M} +- \field{sortinithash}{cfd219b90152c06204fab207bc6c7cab} ++ \field{sortinithash}{2e5c2f51f7fa2d957f3206819bf86dc3} + \field{labelnamesource}{author} + \endentry + |; +@@ -618,7 +618,7 @@ my $l19a = q| \entry{L19a}{book}{} + \strng{authornamehash}{0963f6904ccfeaac2770c5882a587001} + \strng{authorfullhash}{0963f6904ccfeaac2770c5882a587001} + \field{sortinit}{L} +- \field{sortinithash}{2c7981aaabc885868aba60f0c09ee20f} ++ \field{sortinithash}{dad3efd0836470093a7b4a7bb756eb8c} + \field{labelnamesource}{author} + \endentry + |; +@@ -639,7 +639,7 @@ my $l20 = q| \entry{L20}{book}{} + \strng{authornamehash}{5f26c2f3b33095d5b005714893f4d698} + \strng{authorfullhash}{5f26c2f3b33095d5b005714893f4d698} + \field{sortinit}{F} +- \field{sortinithash}{669c706c6f1fbf3b5a83d26f1d9e9e72} ++ \field{sortinithash}{fb0c0faa89eb6abae8213bf60e6799ea} + \field{labelnamesource}{author} + \endentry + |; +@@ -660,7 +660,7 @@ my $l21 = q| \entry{L21}{book}{} + \strng{authorfullhash}{4389a3c0dc7da74487b50808ba9436ad} + \field{extraname}{1} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{labelnamesource}{author} + \endentry + |; +@@ -681,7 +681,7 @@ my $l22u = q| \entry{L22}{book}{} + \strng{authorfullhash}{e58b861545799d0eaf883402a882126e} + \field{extraname}{1} + \field{sortinit}{Š} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{labelnamesource}{author} + \endentry + |; +@@ -703,7 +703,7 @@ my $l22 = q| \entry{L22}{book}{} + \strng{authorfullhash}{e58b861545799d0eaf883402a882126e} + \field{extraname}{1} + \field{sortinit}{\v{S}} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \true{uniqueprimaryauthor} + \field{labelnamesource}{author} + \endentry +@@ -726,7 +726,7 @@ my $l23 = q| \entry{L23}{book}{} + \strng{authorfullhash}{4389a3c0dc7da74487b50808ba9436ad} + \field{extraname}{3} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{labelnamesource}{author} + \endentry + |; +@@ -747,7 +747,7 @@ my $l24 = q| \entry{L24}{book}{} + \strng{authorfullhash}{e58b861545799d0eaf883402a882126e} + \field{extraname}{2} + \field{sortinit}{Š} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{labelnamesource}{author} + \endentry + |; +@@ -765,7 +765,7 @@ my $l25 = q| \entry{L25}{book}{} + \strng{authornamehash}{d7cd2c5ea0848abc3e90609558b84a45} + \strng{authorfullhash}{d7cd2c5ea0848abc3e90609558b84a45} + \field{sortinit}{A} +- \field{sortinithash}{d77c7cdd82ff690d4c3ef13216f92f0b} ++ \field{sortinithash}{a3dcedd53b04d1adfd5ac303ecd5e6fa} + \field{labelnamesource}{author} + \endentry + |; +@@ -783,7 +783,7 @@ my $l26 = q| \entry{L26}{book}{} + \strng{authornamehash}{8eee1dbafdbd0a4b73157e60f18b4784} + \strng{authorfullhash}{8eee1dbafdbd0a4b73157e60f18b4784} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{labelnamesource}{author} + \endentry + |; +@@ -791,7 +791,7 @@ my $l26 = q| \entry{L26}{book}{} + # Malformed anyway but a decent test + my $l28 = q| \entry{L28}{book}{} + \field{sortinit}{0} +- \field{sortinithash}{168ad0c7c5ed09f1d28c6675717b5b03} ++ \field{sortinithash}{bcf7a1f4afb88b7299f988caccb80d1c} + \warn{\item Name "Deux et al.,, O." is malformed (consecutive commas): skipping name} + \endentry + |; +@@ -810,7 +810,7 @@ my $l29 = q| \entry{L29}{book}{} + \strng{authornamehash}{27ad192a3a715aa89152b2a4ee392e8c} + \strng{authorfullhash}{27ad192a3a715aa89152b2a4ee392e8c} + \field{sortinit}{U} +- \field{sortinithash}{36a2444f5238e0dcf4bb59704df6624d} ++ \field{sortinithash}{77a6935510e008adcf5b555e7b4f0711} + \field{labelnamesource}{author} + \endentry + |; +@@ -850,7 +850,7 @@ my $l31 = q| \entry{L31}{book}{} + \strng{translatornamehash}{29c3ff92fff79d09a8b44d2f775de0b1} + \strng{translatorfullhash}{29c3ff92fff79d09a8b44d2f775de0b1} + \field{sortinit}{\~{Z}} +- \field{sortinithash}{156173bd08b075d7295bc3e0f4735a04} ++ \field{sortinithash}{8f7b480688e809b50b6f6577b16f3db5} + \true{uniqueprimaryauthor} + \field{labelnamesource}{author} + \endentry +diff --git a/t/options.t b/t/options.t +index 940a282..c14d694 100644 +--- a/t/options.t ++++ b/t/options.t +@@ -100,7 +100,7 @@ my $l1 = q| \entry{L1}{book}{} + \strng{authornamehash}{bd051a2f7a5f377e3a62581b0e0f8577} + \strng{authorfullhash}{bd051a2f7a5f377e3a62581b0e0f8577} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} +@@ -137,7 +137,7 @@ my $l2 = q| \entry{L2}{book}{maxcitenames=3,maxbibnames=3,maxsortnames=3,maxi + \strng{authornamehash}{19eec87c959944d6d9c72434a42856ba} + \strng{authorfullhash}{19eec87c959944d6d9c72434a42856ba} + \field{sortinit}{E} +- \field{sortinithash}{f615fb9c6fba11c6f962fb3fd599810e} ++ \field{sortinithash}{c554bd1a0b76ea92b9f105fe36d9c7b0} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} +@@ -169,7 +169,7 @@ my $l3 = q| \entry{L3}{book}{blah=10} + \strng{authornamehash}{490250da1f3b92580d97563dc96c6c84} + \strng{authorfullhash}{490250da1f3b92580d97563dc96c6c84} + \field{sortinit}{B} +- \field{sortinithash}{276475738cc058478c1677046f857703} ++ \field{sortinithash}{8de16967003c7207dae369d874f1456e} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} +diff --git a/t/related-entries.t b/t/related-entries.t +index 53dce64..b38ac79 100644 +--- a/t/related-entries.t ++++ b/t/related-entries.t +@@ -56,7 +56,7 @@ my $k1 = q| \entry{key1}{article}{} + \strng{authorfullhash}{a517747c3d12f99244ae598910d979c5} + \field{extraname}{1} + \field{sortinit}{1} +- \field{sortinithash}{2174f786c6195e7fe2ee1c229b416e29} ++ \field{sortinithash}{50c6687d7fc80f50136d75228e3c59ba} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} +@@ -95,7 +95,7 @@ my $k2 = q| \entry{key2}{inbook}{} + \strng{authorfullhash}{a517747c3d12f99244ae598910d979c5} + \field{extraname}{2} + \field{sortinit}{2} +- \field{sortinithash}{cbff857e587bcb4635511624d773949e} ++ \field{sortinithash}{ed39bb39cf854d5250e95b1c1f94f4ed} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} +@@ -243,7 +243,7 @@ my $kck4 = q| \entry{caf8e34be07426ae7127c1b4829983c1}{inbook}{dataonly,useed + + my $c1 = q| \entry{c1}{book}{} + \field{sortinit}{3} +- \field{sortinithash}{a4b52e5432884761f50fb9571273b93e} ++ \field{sortinithash}{a37a8ef248a93c322189792c34fc68c9} + \field{related}{9ab62b5ef34a985438bfdf7ee0102229} + \endentry + |; +@@ -330,7 +330,7 @@ my $un1 = q| \entry{kullback}{book}{} + \strng{authorfullhash}{34c5bbf9876c37127c3abe4e7d7a7198} + \field{extraname}{1} + \field{sortinit}{5} +- \field{sortinithash}{3c19c3776b658b3558e9e2e4840c01e2} ++ \field{sortinithash}{5dd416adbafacc8226114bc0202d5fdd} + \field{extradatescope}{year} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -364,7 +364,7 @@ my $un2 = q| \entry{kullback:related}{book}{} + \strng{authorfullhash}{34c5bbf9876c37127c3abe4e7d7a7198} + \field{extraname}{2} + \field{sortinit}{6} +- \field{sortinithash}{57e57fb8451e7fcfa45d1e069f6d3136} ++ \field{sortinithash}{7851c86048328b027313775d8fbd2131} + \field{extradatescope}{year} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +diff --git a/t/remote-files.t b/t/remote-files.t +index c747dcd..6f4cf4d 100644 +--- a/t/remote-files.t ++++ b/t/remote-files.t +@@ -86,7 +86,7 @@ my $cu1 = q| \entry{citeulike:8283461}{article}{} + \strng{authornamehash}{a700cc0bdce78f5a1f50ff6314ff6f2a} + \strng{authorfullhash}{094b095bbb7ac93fdd3e2eafdcec0cac} + \field{sortinit}{M} +- \field{sortinithash}{cfd219b90152c06204fab207bc6c7cab} ++ \field{sortinithash}{2e5c2f51f7fa2d957f3206819bf86dc3} + \field{extradatescope}{labelyear} + \field{labeldatesource}{year} + \field{labelnamesource}{author} +@@ -133,7 +133,7 @@ my $dl1 = q| \entry{AbdelbarH98}{article}{} + \strng{authornamehash}{bb887c5d0458bfb1f3f7e6afc8d1def4} + \strng{authorfullhash}{bb887c5d0458bfb1f3f7e6afc8d1def4} + \field{sortinit}{A} +- \field{sortinithash}{d77c7cdd82ff690d4c3ef13216f92f0b} ++ \field{sortinithash}{a3dcedd53b04d1adfd5ac303ecd5e6fa} + \field{extradatescope}{labelyear} + \field{labeldatesource}{year} + \field{labelnamesource}{author} +diff --git a/t/set-dynamic.t b/t/set-dynamic.t +index 9ab5fdd..0846f8a 100644 +--- a/t/set-dynamic.t ++++ b/t/set-dynamic.t +@@ -51,7 +51,7 @@ my $out = $biber->get_output_obj; + my $string1 = q| \entry{DynSet}{set}{} + \set{Dynamic1,Dynamic2,Dynamic3} + \field{sortinit}{1} +- \field{sortinithash}{2174f786c6195e7fe2ee1c229b416e29} ++ \field{sortinithash}{50c6687d7fc80f50136d75228e3c59ba} + \endentry + |; + +@@ -71,7 +71,7 @@ my $string2 = q| \entry{Dynamic1}{book}{} + \strng{authornamehash}{252caa7921a061ca92087a1a52f15b78} + \strng{authorfullhash}{252caa7921a061ca92087a1a52f15b78} + \field{sortinit}{8} +- \field{sortinithash}{07edf88d4ea82509b9c4b4d13f41c452} ++ \field{sortinithash}{1b24cab5087933ef0826a7cd3b99e994} + \field{labeldatesource}{year} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -98,7 +98,7 @@ my $string3 = q| \entry{Dynamic2}{book}{} + \strng{authornamehash}{894a5fe6de820f5dcce84a65581667f4} + \strng{authorfullhash}{894a5fe6de820f5dcce84a65581667f4} + \field{sortinit}{9} +- \field{sortinithash}{1dd72ab054147731c9d824b49aba0534} ++ \field{sortinithash}{54047ffb55bdefa0694bbd554c1b11a0} + \field{labeldatesource}{year} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -124,7 +124,7 @@ my $string4 = q| \entry{Dynamic3}{book}{} + \strng{authornamehash}{fc3cc97631ceaecdde2aee6cc60ab42b} + \strng{authorfullhash}{fc3cc97631ceaecdde2aee6cc60ab42b} + \field{sortinit}{1} +- \field{sortinithash}{2174f786c6195e7fe2ee1c229b416e29} ++ \field{sortinithash}{50c6687d7fc80f50136d75228e3c59ba} + \field{labeldatesource}{year} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -151,7 +151,7 @@ my $string5 = q| \entry{Dynamic3}{book}{} + \strng{authornamehash}{fc3cc97631ceaecdde2aee6cc60ab42b} + \strng{authorfullhash}{fc3cc97631ceaecdde2aee6cc60ab42b} + \field{sortinit}{1} +- \field{sortinithash}{2174f786c6195e7fe2ee1c229b416e29} ++ \field{sortinithash}{50c6687d7fc80f50136d75228e3c59ba} + \field{labeldatesource}{year} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +diff --git a/t/set-legacy.t b/t/set-legacy.t +index 4e56991..9d40acb 100644 +--- a/t/set-legacy.t ++++ b/t/set-legacy.t +@@ -45,7 +45,7 @@ my $out = $biber->get_output_obj; + my $string1 = q| \entry{Elias1955}{set}{} + \set{Elias1955a,Elias1955b} + \field{sortinit}{1} +- \field{sortinithash}{2174f786c6195e7fe2ee1c229b416e29} ++ \field{sortinithash}{50c6687d7fc80f50136d75228e3c59ba} + \endentry + |; + +diff --git a/t/set-static.t b/t/set-static.t +index 1e45d4d..a6cbe73 100644 +--- a/t/set-static.t ++++ b/t/set-static.t +@@ -47,7 +47,7 @@ my $out = $biber->get_output_obj; + my $string1 = q| \entry{Static1}{set}{} + \set{Static2,Static4,Static3} + \field{sortinit}{B} +- \field{sortinithash}{276475738cc058478c1677046f857703} ++ \field{sortinithash}{8de16967003c7207dae369d874f1456e} + \field{annotation}{Some notes} + \endentry + |; +@@ -68,7 +68,7 @@ my $string2 = q| \entry{Static2}{book}{} + \strng{authornamehash}{43874d80d7ce68027102819f16c47df1} + \strng{authorfullhash}{43874d80d7ce68027102819f16c47df1} + \field{sortinit}{B} +- \field{sortinithash}{276475738cc058478c1677046f857703} ++ \field{sortinithash}{8de16967003c7207dae369d874f1456e} + \field{labeldatesource}{year} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -94,7 +94,7 @@ my $string3 = q| \entry{Static3}{book}{} + \strng{authornamehash}{22dafa5cd57bb5dd7f3e3bab98fd539c} + \strng{authorfullhash}{22dafa5cd57bb5dd7f3e3bab98fd539c} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{labeldatesource}{year} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -119,7 +119,7 @@ my $string4 = q| \entry{Static4}{book}{} + \strng{authornamehash}{da80091c8cd89e5269bd55af1bd5d2fa} + \strng{authorfullhash}{da80091c8cd89e5269bd55af1bd5d2fa} + \field{sortinit}{C} +- \field{sortinithash}{963e9d84a3da2344e8833203de5aed05} ++ \field{sortinithash}{4c244ceae61406cdc0cc2ce1cb1ff703} + \field{labeldatesource}{year} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -145,7 +145,7 @@ my $string5 = q| \entry{Static2}{book}{} + \strng{authornamehash}{43874d80d7ce68027102819f16c47df1} + \strng{authorfullhash}{43874d80d7ce68027102819f16c47df1} + \field{sortinit}{1} +- \field{sortinithash}{2174f786c6195e7fe2ee1c229b416e29} ++ \field{sortinithash}{50c6687d7fc80f50136d75228e3c59ba} + \field{labeldatesource}{year} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +diff --git a/t/skips.t b/t/skips.t +index 7c80d39..caa835f 100644 +--- a/t/skips.t ++++ b/t/skips.t +@@ -50,7 +50,7 @@ my $set1 = q| \entry{seta}{set}{} + \field{labelalpha}{Doe10} + \field{extraalpha}{1} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \endentry + |; + +@@ -70,7 +70,7 @@ my $set2 = q| \entry{set:membera}{book}{} + \strng{authornamehash}{bd051a2f7a5f377e3a62581b0e0f8577} + \strng{authorfullhash}{bd051a2f7a5f377e3a62581b0e0f8577} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{labeldatesource}{} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -97,7 +97,7 @@ my $set3 = q| \entry{set:memberb}{book}{} + \strng{authornamehash}{bd051a2f7a5f377e3a62581b0e0f8577} + \strng{authorfullhash}{bd051a2f7a5f377e3a62581b0e0f8577} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{labeldatesource}{} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -123,7 +123,7 @@ my $set4 = q| \entry{set:memberc}{book}{} + \strng{authornamehash}{bd051a2f7a5f377e3a62581b0e0f8577} + \strng{authorfullhash}{bd051a2f7a5f377e3a62581b0e0f8577} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{labeldatesource}{} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -150,7 +150,7 @@ my $noset1 = q| \entry{noseta}{book}{} + \field{extraname}{3} + \field{labelalpha}{Doe10} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{extradate}{2} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} +@@ -180,7 +180,7 @@ my $noset2 = q| \entry{nosetb}{book}{} + \field{extraname}{4} + \field{labelalpha}{Doe10} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{extradate}{3} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} +@@ -210,7 +210,7 @@ my $noset3 = q| \entry{nosetc}{book}{} + \field{extraname}{5} + \field{labelalpha}{Doe10} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{extradate}{4} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} +@@ -244,7 +244,7 @@ my $sk4 = q| \entry{skip4}{article}{dataonly} + \strng{authornamehash}{bd051a2f7a5f377e3a62581b0e0f8577} + \strng{authorfullhash}{bd051a2f7a5f377e3a62581b0e0f8577} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{labeldatesource}{year} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +diff --git a/t/sort-complex.t b/t/sort-complex.t +index aa3e564..d52db08 100644 +--- a/t/sort-complex.t ++++ b/t/sort-complex.t +@@ -123,7 +123,7 @@ my $l4 = q| \entry{L4}{book}{} + \field{extraname}{2} + \field{labelalpha}{Doe\textbf{+}95} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{extraalpha}{2} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -155,7 +155,7 @@ my $l1 = q| \entry{L1}{book}{} + \field{extraname}{1} + \field{labelalpha}{Doe95} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{extraalpha}{1} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -187,7 +187,7 @@ my $l2 = q| \entry{L2}{book}{} + \field{extraname}{3} + \field{labelalpha}{Doe95} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{extraalpha}{3} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -219,7 +219,7 @@ my $l3 = q| \entry{L3}{book}{} + \field{extraname}{2} + \field{labelalpha}{Doe95} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{extraalpha}{2} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -253,7 +253,7 @@ my $l5 = q| \entry{L5}{book}{} + \field{extraname}{1} + \field{labelalpha}{Doe\textbf{+}95} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{extraalpha}{1} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +diff --git a/t/tdata/full-bbl.bbl b/t/tdata/full-bbl.bbl +index 4f168de..07c2fab 100644 +--- a/t/tdata/full-bbl.bbl ++++ b/t/tdata/full-bbl.bbl +@@ -36,7 +36,7 @@ + \strng{authorfullhash}{bd051a2f7a5f377e3a62581b0e0f8577} + \field{labelalpha}{\emph{A}} + \field{sortinit}{A} +- \field{sortinithash}{d77c7cdd82ff690d4c3ef13216f92f0b} ++ \field{sortinithash}{a3dcedd53b04d1adfd5ac303ecd5e6fa} + \true{singletitle} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -63,7 +63,7 @@ + \strng{authorfullhash}{bd051a2f7a5f377e3a62581b0e0f8577} + \field{labelalpha}{\emph{A}} + \field{sortinit}{A} +- \field{sortinithash}{d77c7cdd82ff690d4c3ef13216f92f0b} ++ \field{sortinithash}{a3dcedd53b04d1adfd5ac303ecd5e6fa} + \true{singletitle} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -90,7 +90,7 @@ + \strng{authorfullhash}{bd051a2f7a5f377e3a62581b0e0f8577} + \field{labelalpha}{\emph{A}} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \true{singletitle} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +diff --git a/t/tdata/full-bblxml.bblxml b/t/tdata/full-bblxml.bblxml +index 9eea7d1..a39a787 100644 +--- a/t/tdata/full-bblxml.bblxml ++++ b/t/tdata/full-bblxml.bblxml +@@ -47,7 +47,7 @@ + 860705eb8ffac6e40507746c7ede79ca + Aks\textbf{+}06 + A +- d77c7cdd82ff690d4c3ef13216f92f0b ++ a3dcedd53b04d1adfd5ac303ecd5e6fa + author + title + Effect of immobilization on catalytic characteristics +@@ -79,7 +79,7 @@ + 9717d2d959a4b18727868ca7928c34b4 + Ang02 + A +- d77c7cdd82ff690d4c3ef13216f92f0b ++ a3dcedd53b04d1adfd5ac303ecd5e6fa + author + shorttitle + A German article in a French journal. Apart from that, a typical article entry. Note the indextitle field +@@ -109,7 +109,7 @@ + + Gla61 + G +- 5e8d2bf9d38de41b1528bd307546008f ++ 62eb2aa29549e4fdbd3cb154ec5711cb + A set entry with three members discussing the standard model of particle physics. + + +@@ -129,7 +129,7 @@ + eb3f242602109f5bdbeb41fdd990fcc0 + eb3f242602109f5bdbeb41fdd990fcc0 + G +- 5e8d2bf9d38de41b1528bd307546008f ++ 62eb2aa29549e4fdbd3cb154ec5711cb + author + title + Nucl. Phys. +@@ -168,7 +168,7 @@ + 1 + Knu86 + K +- 9fd838a31ba64d981e8f44562bd33f89 ++ d3edc18d54b9438a72c24c925bfb38f4 + 1 + author + shorttitle +@@ -207,7 +207,7 @@ + 2 + Knu86 + K +- 9fd838a31ba64d981e8f44562bd33f89 ++ d3edc18d54b9438a72c24c925bfb38f4 + 2 + author + shorttitle +@@ -236,7 +236,7 @@ + d52f05e0199eae563725b4165f4b2520 + Ree58 + R +- da6b42bd3ab22fee61abed031ee405f7 ++ b9c68a358aea118dfa887b6e902414a7 + author + title + An article entry with a series and a volume field. Note the format of the series. If the value of the series field is an integer, this number is printed as an ordinal and the string *series is appended automatically +@@ -286,7 +286,7 @@ + d0ec890e59163c24c111a08d2a4be982 + d0ec890e59163c24c111a08d2a4be982 + S +- 322b1d5276f2f6c1bccdcd15920dbee6 ++ c319cff79d99c853d775f88277d4e45f + author + title + Relativistic groups and analyticity +@@ -317,7 +317,7 @@ + 93f17724cbd884231ef39a73755ef5bb + Sho91 + S +- 322b1d5276f2f6c1bccdcd15920dbee6 ++ c319cff79d99c853d775f88277d4e45f + author + title + An article entry with series, volume, and number fields. Note the format of the series which is a localization key +@@ -353,7 +353,7 @@ + 15e144c72b0b9d10db00ddc6d37a19e6 + 15e144c72b0b9d10db00ddc6d37a19e6 + W +- ecb89ff85896a47dc313960773ac311d ++ 1af34bd8c148ffb32de1494636b49713 + author + title + Phys. Rev. Lett. +@@ -411,7 +411,7 @@ + 860705eb8ffac6e40507746c7ede79ca + Aks\textbf{+}06 + A +- d77c7cdd82ff690d4c3ef13216f92f0b ++ a3dcedd53b04d1adfd5ac303ecd5e6fa + author + title + Effect of immobilization on catalytic characteristics +@@ -443,7 +443,7 @@ + 9717d2d959a4b18727868ca7928c34b4 + Ang02 + A +- d77c7cdd82ff690d4c3ef13216f92f0b ++ a3dcedd53b04d1adfd5ac303ecd5e6fa + author + shorttitle + A German article in a French journal. Apart from that, a typical article entry. Note the indextitle field +@@ -473,7 +473,7 @@ + + Gla61 + G +- 5e8d2bf9d38de41b1528bd307546008f ++ 62eb2aa29549e4fdbd3cb154ec5711cb + A set entry with three members discussing the standard model of particle physics. + + +@@ -493,7 +493,7 @@ + eb3f242602109f5bdbeb41fdd990fcc0 + eb3f242602109f5bdbeb41fdd990fcc0 + G +- 5e8d2bf9d38de41b1528bd307546008f ++ 62eb2aa29549e4fdbd3cb154ec5711cb + author + title + Nucl. Phys. +@@ -532,7 +532,7 @@ + 1 + Knu86 + K +- 9fd838a31ba64d981e8f44562bd33f89 ++ d3edc18d54b9438a72c24c925bfb38f4 + 1 + author + shorttitle +@@ -571,7 +571,7 @@ + 2 + Knu86 + K +- 9fd838a31ba64d981e8f44562bd33f89 ++ d3edc18d54b9438a72c24c925bfb38f4 + 2 + author + shorttitle +@@ -600,7 +600,7 @@ + d52f05e0199eae563725b4165f4b2520 + Ree58 + R +- da6b42bd3ab22fee61abed031ee405f7 ++ b9c68a358aea118dfa887b6e902414a7 + author + title + An article entry with a series and a volume field. Note the format of the series. If the value of the series field is an integer, this number is printed as an ordinal and the string *series is appended automatically +@@ -650,7 +650,7 @@ + d0ec890e59163c24c111a08d2a4be982 + d0ec890e59163c24c111a08d2a4be982 + S +- 322b1d5276f2f6c1bccdcd15920dbee6 ++ c319cff79d99c853d775f88277d4e45f + author + title + Relativistic groups and analyticity +@@ -681,7 +681,7 @@ + 93f17724cbd884231ef39a73755ef5bb + Sho91 + S +- 322b1d5276f2f6c1bccdcd15920dbee6 ++ c319cff79d99c853d775f88277d4e45f + author + title + An article entry with series, volume, and number fields. Note the format of the series which is a localization key +@@ -717,7 +717,7 @@ + 15e144c72b0b9d10db00ddc6d37a19e6 + 15e144c72b0b9d10db00ddc6d37a19e6 + W +- ecb89ff85896a47dc313960773ac311d ++ 1af34bd8c148ffb32de1494636b49713 + author + title + Phys. Rev. Lett. +diff --git a/t/tdata/remote-files.bcf b/t/tdata/remote-files.bcf +index c2d784b..a2a1842 100644 +--- a/t/tdata/remote-files.bcf ++++ b/t/tdata/remote-files.bcf +@@ -1853,12 +1853,12 @@ + http://www.citeulike.org/bibtex/group/8082 + http://people.cs.uu.nl/hansb/graphs-bib/definitions.bib + http://people.cs.uu.nl/hansb/graphs-bib/papers.bib +- https://api.zotero.org/groups/9097/items/II22KQ7D?format=bibtex&limit=1 ++ https://api.zotero.org/groups/9097/items/8VITAT46?format=bibtex&limit=1 + + + citeulike:8283461 + AbdelbarH98 +- merleau-ponty_philosophe_2010 ++ crossley_politics_1994 + + + +diff --git a/t/uniqueness-nameparts.t b/t/uniqueness-nameparts.t +index beb2e39..1fb65a8 100644 +--- a/t/uniqueness-nameparts.t ++++ b/t/uniqueness-nameparts.t +@@ -81,7 +81,7 @@ my $un1 = q| \entry{un1}{article}{} + \strng{authorfullhash}{329d8f9192ea3349d700160c9ddb505d} + \field{labelalpha}{SmiJohSim} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{labelnamesource}{author} + \endentry + |; +@@ -106,7 +106,7 @@ my $un2 = q| \entry{un2}{article}{} + \strng{authorfullhash}{7551114aede4ef69e4b3683039801706} + \field{labelalpha}{SmiJohAla} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{labelnamesource}{author} + \endentry + |; +@@ -131,7 +131,7 @@ my $un3 = q| \entry{un3}{article}{} + \strng{authorfullhash}{401aebda288799a7c757526242d8c9fc} + \field{labelalpha}{SmiJohArt} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{labelnamesource}{author} + \endentry + |; +@@ -156,7 +156,7 @@ my $un4 = q| \entry{un4}{article}{} + \strng{authorfullhash}{f6038a264619efefd49c7daac56424ca} + \field{labelalpha}{SmiAlaSim} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{labelnamesource}{author} + \endentry + |; +@@ -181,7 +181,7 @@ my $un1a = q| \entry{un1}{article}{} + \strng{authorfullhash}{329d8f9192ea3349d700160c9ddb505d} + \field{labelalpha}{SmiJohSim} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{labelnamesource}{author} + \endentry + |; +@@ -206,7 +206,7 @@ my $un2a = q| \entry{un2}{article}{} + \strng{authorfullhash}{7551114aede4ef69e4b3683039801706} + \field{labelalpha}{SmiJohAla} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{labelnamesource}{author} + \endentry + |; +@@ -231,7 +231,7 @@ my $un3a = q| \entry{un3}{article}{} + \strng{authorfullhash}{401aebda288799a7c757526242d8c9fc} + \field{labelalpha}{SmiJohArt} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{labelnamesource}{author} + \endentry + |; +@@ -257,7 +257,7 @@ my $un4a = q| \entry{un4}{article}{} + \strng{authorfullhash}{f6038a264619efefd49c7daac56424ca} + \field{labelalpha}{SmiAlaSim} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{labelnamesource}{author} + \endentry + |; +@@ -285,7 +285,7 @@ my $un1b = q| \entry{un1}{article}{} + \field{extraname}{5} + \field{labelalpha}{SmiJohSim} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{extradate}{5} + \field{labelnamesource}{author} + \endentry +@@ -311,7 +311,7 @@ my $un2b = q| \entry{un2}{article}{} + \strng{authorfullhash}{7551114aede4ef69e4b3683039801706} + \field{labelalpha}{SmiJohAla} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{labelnamesource}{author} + \endentry + |; +@@ -336,7 +336,7 @@ my $un3b = q| \entry{un3}{article}{} + \strng{authorfullhash}{401aebda288799a7c757526242d8c9fc} + \field{labelalpha}{SmiJohArt} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{labelnamesource}{author} + \endentry + |; +@@ -364,7 +364,7 @@ my $un4b = q| \entry{un4}{article}{} + \field{extraname}{1} + \field{labelalpha}{SmiAlaSim} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{extradate}{1} + \field{labelnamesource}{author} + \endentry +@@ -393,7 +393,7 @@ my $un5 = q| \entry{un5}{article}{uniquenametemplatename=test3} + \field{extraname}{2} + \field{labelalpha}{SmiArtSim} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{extradate}{2} + \field{labelnamesource}{author} + \endentry +@@ -422,7 +422,7 @@ my $un6 = q| \entry{un6}{article}{} + \field{extraname}{3} + \field{labelalpha}{SmiArtSmy} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{extradate}{3} + \field{labelnamesource}{author} + \\endentry +@@ -451,7 +451,7 @@ my $un7 = q| \entry{un7}{article}{} + \field{extraname}{4} + \field{labelalpha}{SmiArtSme} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{extradate}{4} + \field{labelnamesource}{author} + \endentry +diff --git a/t/xdata.t b/t/xdata.t +index 7411b1d..73dcb8b 100644 +--- a/t/xdata.t ++++ b/t/xdata.t +@@ -75,7 +75,7 @@ my $xd1 = q| \entry{xd1}{book}{} + \strng{authorfullhash}{51db4bfd331cba22959ce2d224c517cd} + \field{extraname}{2} + \field{sortinit}{E} +- \field{sortinithash}{f615fb9c6fba11c6f962fb3fd599810e} ++ \field{sortinithash}{c554bd1a0b76ea92b9f105fe36d9c7b0} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} +@@ -107,7 +107,7 @@ my $xd2 = q| \entry{xd2}{book}{} + \strng{authornamehash}{68539e0ce4922cc4957c6cabf35e6fc8} + \strng{authorfullhash}{68539e0ce4922cc4957c6cabf35e6fc8} + \field{sortinit}{P} +- \field{sortinithash}{8d51b3d5b78d75b54308d706b9bbe285} ++ \field{sortinithash}{bb5b15f2db90f7aef79bb9e83defefcb} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index f1ce4220df..2e8e79c169 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -6045,7 +6045,8 @@ values (strings, macros, or numbers) pasted together.") (file-name (git-file-name name version)) ;; TODO: Patch awaiting inclusion upstream (see: ;; https://github.com/plk/biber/issues/239). - (patches (search-patches "biber-fix-encoding-write.patch")) + (patches (search-patches "biber-fix-encoding-write.patch" + "biber-sortinithash.patch")) (sha256 (base32 "1g1hi6zvf2hmrjly1sidjaxy5440gfqm4p7p3n7kayshnjsmlskx")))) -- cgit v1.2.3 From 9b7e41f2d720b2a5da0d52dea6e2017d2851a640 Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian Date: Sat, 25 Apr 2020 15:56:35 -0700 Subject: gnu: arm-trusted-firmware: Update to 2.3. * gnu/packages/firmware (make-arm-trusted-firmware): Update to 2.3. [source]: Remove hdcp patch. * gnu/packages/patches/arm-trusted-firmware-disable-hdcp.patch: Remove patch. * gnu/local.mk: Update accordingly. --- gnu/local.mk | 1 - gnu/packages/firmware.scm | 6 +- .../arm-trusted-firmware-disable-hdcp.patch | 82 ---------------------- 3 files changed, 2 insertions(+), 87 deletions(-) delete mode 100644 gnu/packages/patches/arm-trusted-firmware-disable-hdcp.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 66a9c76865..9f212434a9 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -738,7 +738,6 @@ dist_patch_DATA = \ %D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch \ %D%/packages/patches/antlr3-3_3-fix-java8-compilation.patch \ %D%/packages/patches/apr-skip-getservbyname-test.patch \ - %D%/packages/patches/arm-trusted-firmware-disable-hdcp.patch \ %D%/packages/patches/aspell-default-dict-dir.patch \ %D%/packages/patches/aspell-gcc-compat.patch \ %D%/packages/patches/ath9k-htc-firmware-binutils.patch \ diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm index a7a08f3c01..b35f55ae97 100644 --- a/gnu/packages/firmware.scm +++ b/gnu/packages/firmware.scm @@ -445,7 +445,7 @@ Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.") (define* (make-arm-trusted-firmware platform #:optional (arch "aarch64")) (package (name (string-append "arm-trusted-firmware-" platform)) - (version "2.2") + (version "2.3") (source (origin (method git-fetch) @@ -454,11 +454,9 @@ Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.") (url "https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/") (commit (string-append "v" version)))) (file-name (git-file-name "arm-trusted-firmware" version)) - (patches (search-patches - "arm-trusted-firmware-disable-hdcp.patch")) (sha256 (base32 - "03fjl5hy1bqlya6fg553bqz7jrvilzrzpbs87cv6jd04v8qrvry8")))) + "113mcf1hwwl0i90cqh08lywxs1bfbg0nwqibay9wlkmx1a5v0bnj")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/patches/arm-trusted-firmware-disable-hdcp.patch b/gnu/packages/patches/arm-trusted-firmware-disable-hdcp.patch deleted file mode 100644 index edae2352d9..0000000000 --- a/gnu/packages/patches/arm-trusted-firmware-disable-hdcp.patch +++ /dev/null @@ -1,82 +0,0 @@ -From c7f0cd054578152a250f784bf82c8ca53aa91a02 Mon Sep 17 00:00:00 2001 -From: Ziyuan Xu -Date: Tue, 8 Oct 2019 10:27:05 +0800 -Subject: [PATCH] plat/rockchip: cliam a macro to enable hdcp feature for DP - -HDCP is using a binary driver, add macro PLAT_RK_DP_HDCP to make it as -an option. - -Change-Id: I54ef1a3635a28e8ae56654bd1e91dfe011520a7f -Signed-off-by: Ziyuan Xu -Signed-off-by: Kever Yang ---- - plat/rockchip/rk3399/plat_sip_calls.c | 4 ++++ - plat/rockchip/rk3399/platform.mk | 11 +++++++---- - 2 files changed, 11 insertions(+), 4 deletions(-) - -diff --git a/plat/rockchip/rk3399/plat_sip_calls.c b/plat/rockchip/rk3399/plat_sip_calls.c -index c2cc5b11c..ce8476c9a 100644 ---- a/plat/rockchip/rk3399/plat_sip_calls.c -+++ b/plat/rockchip/rk3399/plat_sip_calls.c -@@ -56,17 +56,21 @@ uintptr_t rockchip_plat_sip_handler(uint32_t smc_fid, - void *handle, - u_register_t flags) - { -+#ifdef PLAT_RK_DP_HDCP - uint64_t x5, x6; -+#endif - - switch (smc_fid) { - case RK_SIP_DDR_CFG: - SMC_RET1(handle, ddr_smc_handler(x1, x2, x3, x4)); -+#ifdef PLAT_RK_DP_HDCP - case RK_SIP_HDCP_CONTROL: - SMC_RET1(handle, dp_hdcp_ctrl(x1)); - case RK_SIP_HDCP_KEY_DATA64: - x5 = read_ctx_reg(get_gpregs_ctx(handle), CTX_GPREG_X5); - x6 = read_ctx_reg(get_gpregs_ctx(handle), CTX_GPREG_X6); - SMC_RET1(handle, dp_hdcp_store_key(x1, x2, x3, x4, x5, x6)); -+#endif - default: - ERROR("%s: unhandled SMC (0x%x)\n", __func__, smc_fid); - SMC_RET1(handle, SMC_UNK); -diff --git a/plat/rockchip/rk3399/platform.mk b/plat/rockchip/rk3399/platform.mk -index 25c498da8..01577492d 100644 ---- a/plat/rockchip/rk3399/platform.mk -+++ b/plat/rockchip/rk3399/platform.mk -@@ -57,7 +57,6 @@ BL31_SOURCES += ${RK_GIC_SOURCES} \ - ${RK_PLAT_COMMON}/aarch64/platform_common.c \ - ${RK_PLAT_COMMON}/rockchip_sip_svc.c \ - ${RK_PLAT_SOC}/plat_sip_calls.c \ -- ${RK_PLAT_SOC}/drivers/dp/cdn_dp.c \ - ${RK_PLAT_SOC}/drivers/gpio/rk3399_gpio.c \ - ${RK_PLAT_SOC}/drivers/pmu/pmu.c \ - ${RK_PLAT_SOC}/drivers/pmu/pmu_fw.c \ -@@ -89,17 +88,21 @@ $(eval $(call add_define,RK3399M0FW)) - RK3399M0PMUFW=${BUILD_M0}/${PLAT_M0}pmu.bin - $(eval $(call add_define,RK3399M0PMUFW)) - -+ifdef PLAT_RK_DP_HDCP -+BL31_SOURCES += ${RK_PLAT_SOC}/drivers/dp/cdn_dp.c -+ - HDCPFW=${RK_PLAT_SOC}/drivers/dp/hdcp.bin - $(eval $(call add_define,HDCPFW)) - -+${BUILD_PLAT}/bl31/cdn_dp.o: CCACHE_EXTRAFILES=$(HDCPFW) -+${RK_PLAT_SOC}/drivers/dp/cdn_dp.c: $(HDCPFW) -+endif -+ - # CCACHE_EXTRAFILES is needed because ccache doesn't handle .incbin - export CCACHE_EXTRAFILES - ${BUILD_PLAT}/bl31/pmu_fw.o: CCACHE_EXTRAFILES=$(RK3399M0FW):$(RK3399M0PMUFW) - ${RK_PLAT_SOC}/drivers/pmu/pmu_fw.c: $(RK3399M0FW) - --${BUILD_PLAT}/bl31/cdn_dp.o: CCACHE_EXTRAFILES=$(HDCPFW) --${RK_PLAT_SOC}/drivers/dp/cdn_dp.c: $(HDCPFW) -- - $(eval $(call MAKE_PREREQ_DIR,${BUILD_M0},${BUILD_PLAT})) - .PHONY: $(RK3399M0FW) - $(RK3399M0FW): | ${BUILD_M0} --- -2.20.1 - -- cgit v1.2.3 From 19e1f12ce420104451c16ab5412cb65cd8fe68cd Mon Sep 17 00:00:00 2001 From: Diego Nicola Barbato Date: Fri, 7 Feb 2020 17:59:31 +0100 Subject: gnu: emacs-telega: Test Emacs environment on startup. Print a more helpful error message when someone attempts to run Telega on an incompatible Emacs (e.g a 32-bit Emacs without wide ints). * gnu/packages/patches/emacs-telega-test-env.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/emacs-xyz.scm (emacs-telega)[source]: Use it. Signed-off-by: Efraim Flashner --- gnu/local.mk | 1 + gnu/packages/emacs-xyz.scm | 1 + gnu/packages/patches/emacs-telega-test-env.patch | 14 ++++++++++++++ 3 files changed, 16 insertions(+) create mode 100644 gnu/packages/patches/emacs-telega-test-env.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 9f212434a9..9b082a6f2a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -864,6 +864,7 @@ dist_patch_DATA = \ %D%/packages/patches/emacs-magit-log-format-author-margin.patch \ %D%/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch \ %D%/packages/patches/emacs-source-date-epoch.patch \ + %D%/packages/patches/emacs-telega-test-env.patch \ %D%/packages/patches/emacs-undohist-ignored.patch \ %D%/packages/patches/emacs-wordnut-require-adaptive-wrap.patch \ %D%/packages/patches/emacs-zones-called-interactively.patch \ diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 5d2aaa4061..2c61c4189d 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -21376,6 +21376,7 @@ fish-completion. It can be used in both Eshell and M-x shell.") (sha256 (base32 "0mv6i80958d9crzspzik5xh5g8326115bvg2frgv0dp9p6rm86m3")) + (patches (search-patches "emacs-telega-test-env.patch")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments diff --git a/gnu/packages/patches/emacs-telega-test-env.patch b/gnu/packages/patches/emacs-telega-test-env.patch new file mode 100644 index 0000000000..75fe2e12fc --- /dev/null +++ b/gnu/packages/patches/emacs-telega-test-env.patch @@ -0,0 +1,14 @@ +Test Emacs environment on startup. + +Patch by Diego N. Barbato + +--- a/telega.el 2020-02-07 17:07:18.549970090 +0100 ++++ b/telega.el 2020-02-07 17:10:08.383499765 +0100 +@@ -82,6 +82,7 @@ + "Start telegramming. + If prefix ARG is given, then will not pop to telega root buffer." + (interactive "P") ++ (telega-test-env t) + (telega--create-hier) + + (unless (telega-server-live-p) -- cgit v1.2.3 From 0b25812872904d61024791778dae36636c52ded6 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 28 Apr 2020 22:52:20 +0300 Subject: gnu: openldap: Fix CVE-2020-12243. * gnu/packages/openldap.scm (openldap)[replacement]: New field. (openldap/fixed): New variable. * gnu/packages/patches/openldap-CVE-2020-12243.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. --- gnu/local.mk | 3 +- gnu/packages/openldap.scm | 9 ++ gnu/packages/patches/openldap-CVE-2020-12243.patch | 125 +++++++++++++++++++++ 3 files changed, 136 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/openldap-CVE-2020-12243.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 9b082a6f2a..67bf04547c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -10,7 +10,7 @@ # Copyright © 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus # Copyright © 2016 Ben Woodcroft # Copyright © 2016, 2017, 2018, 2019 Alex Vong -# Copyright © 2016, 2017, 2018, 2019 Efraim Flashner +# Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner # Copyright © 2016, 2017, 2018, 2019 Jan (janneke) Nieuwenhuizen # Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice # Copyright © 2017, 2018 Clément Lassieur @@ -1276,6 +1276,7 @@ dist_patch_DATA = \ %D%/packages/patches/opencv-rgbd-aarch64-test-fix.patch \ %D%/packages/patches/openfoam-4.1-cleanup.patch \ %D%/packages/patches/openjdk-10-idlj-reproducibility.patch \ + %D%/packages/patches/openldap-CVE-2020-12243.patch \ %D%/packages/patches/openmpi-mtl-priorities.patch \ %D%/packages/patches/openocd-nrf52.patch \ %D%/packages/patches/openssl-runpath.patch \ diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm index de8239b7fe..aa51520654 100644 --- a/gnu/packages/openldap.scm +++ b/gnu/packages/openldap.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2020 Lars-Dominik Braun +;;; Copyright © 2020 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -57,6 +58,7 @@ (define-public openldap (package + (replacement openldap/fixed) (name "openldap") (version "2.4.47") (source (origin @@ -110,6 +112,13 @@ (license openldap2.8) (home-page "https://www.openldap.org/"))) +(define openldap/fixed + (package + (inherit openldap) + (source + (origin (inherit (package-source openldap)) + (patches (search-patches "openldap-CVE-2020-12243.patch")))))) + (define-public nss-pam-ldapd (package (name "nss-pam-ldapd") diff --git a/gnu/packages/patches/openldap-CVE-2020-12243.patch b/gnu/packages/patches/openldap-CVE-2020-12243.patch new file mode 100644 index 0000000000..6321998198 --- /dev/null +++ b/gnu/packages/patches/openldap-CVE-2020-12243.patch @@ -0,0 +1,125 @@ +From 98464c11df8247d6a11b52e294ba5dd4f0380440 Mon Sep 17 00:00:00 2001 +From: Howard Chu +Date: Thu, 16 Apr 2020 01:08:19 +0100 +Subject: [PATCH] ITS#9202 limit depth of nested filters + +Using a hardcoded limit for now; no reasonable apps +should ever run into it. +--- + servers/slapd/filter.c | 41 ++++++++++++++++++++++++++++++++--------- + 1 file changed, 32 insertions(+), 9 deletions(-) + +diff --git a/servers/slapd/filter.c b/servers/slapd/filter.c +index 3252cf2a7..ed57bbd7b 100644 +--- a/servers/slapd/filter.c ++++ b/servers/slapd/filter.c +@@ -37,11 +37,16 @@ + const Filter *slap_filter_objectClass_pres; + const struct berval *slap_filterstr_objectClass_pres; + ++#ifndef SLAPD_MAX_FILTER_DEPTH ++#define SLAPD_MAX_FILTER_DEPTH 5000 ++#endif ++ + static int get_filter_list( + Operation *op, + BerElement *ber, + Filter **f, +- const char **text ); ++ const char **text, ++ int depth ); + + static int get_ssa( + Operation *op, +@@ -80,12 +85,13 @@ filter_destroy( void ) + return; + } + +-int +-get_filter( ++static int ++get_filter0( + Operation *op, + BerElement *ber, + Filter **filt, +- const char **text ) ++ const char **text, ++ int depth ) + { + ber_tag_t tag; + ber_len_t len; +@@ -126,6 +132,11 @@ get_filter( + * + */ + ++ if( depth > SLAPD_MAX_FILTER_DEPTH ) { ++ *text = "filter nested too deeply"; ++ return SLAPD_DISCONNECT; ++ } ++ + tag = ber_peek_tag( ber, &len ); + + if( tag == LBER_ERROR ) { +@@ -221,7 +232,7 @@ get_filter( + + case LDAP_FILTER_AND: + Debug( LDAP_DEBUG_FILTER, "AND\n", 0, 0, 0 ); +- err = get_filter_list( op, ber, &f.f_and, text ); ++ err = get_filter_list( op, ber, &f.f_and, text, depth+1 ); + if ( err != LDAP_SUCCESS ) { + break; + } +@@ -234,7 +245,7 @@ get_filter( + + case LDAP_FILTER_OR: + Debug( LDAP_DEBUG_FILTER, "OR\n", 0, 0, 0 ); +- err = get_filter_list( op, ber, &f.f_or, text ); ++ err = get_filter_list( op, ber, &f.f_or, text, depth+1 ); + if ( err != LDAP_SUCCESS ) { + break; + } +@@ -248,7 +259,7 @@ get_filter( + case LDAP_FILTER_NOT: + Debug( LDAP_DEBUG_FILTER, "NOT\n", 0, 0, 0 ); + (void) ber_skip_tag( ber, &len ); +- err = get_filter( op, ber, &f.f_not, text ); ++ err = get_filter0( op, ber, &f.f_not, text, depth+1 ); + if ( err != LDAP_SUCCESS ) { + break; + } +@@ -311,10 +322,22 @@ get_filter( + return( err ); + } + ++int ++get_filter( ++ Operation *op, ++ BerElement *ber, ++ Filter **filt, ++ const char **text ) ++{ ++ return get_filter0( op, ber, filt, text, 0 ); ++} ++ ++ + static int + get_filter_list( Operation *op, BerElement *ber, + Filter **f, +- const char **text ) ++ const char **text, ++ int depth ) + { + Filter **new; + int err; +@@ -328,7 +351,7 @@ get_filter_list( Operation *op, BerElement *ber, + tag != LBER_DEFAULT; + tag = ber_next_element( ber, &len, last ) ) + { +- err = get_filter( op, ber, new, text ); ++ err = get_filter0( op, ber, new, text, depth ); + if ( err != LDAP_SUCCESS ) + return( err ); + new = &(*new)->f_next; +-- +2.26.2 + -- cgit v1.2.3