diff options
author | Efraim Flashner <efraim@flashner.co.il> | 2022-06-01 12:31:09 +0300 |
---|---|---|
committer | Efraim Flashner <efraim@flashner.co.il> | 2022-06-01 12:42:04 +0300 |
commit | 64c043e63a4be97f59fd1906c47973a74eedda67 (patch) | |
tree | 37b15dfb4830e4f874edca87b521b6e9cdc3c81b /gnu/packages/patches | |
parent | b1f763de54dc2b8e240d0f01f7948ce76f67243e (diff) | |
parent | 75af73e1b7ac58770122d8831faa3a8158638bb0 (diff) | |
download | guix-64c043e63a4be97f59fd1906c47973a74eedda67.tar.gz guix-64c043e63a4be97f59fd1906c47973a74eedda67.zip |
Merge remote-tracking branch 'origin/master' into staging
Diffstat (limited to 'gnu/packages/patches')
31 files changed, 1365 insertions, 1439 deletions
diff --git a/gnu/packages/patches/4store-fix-buildsystem.patch b/gnu/packages/patches/4store-fix-buildsystem.patch deleted file mode 100644 index 383baa9461..0000000000 --- a/gnu/packages/patches/4store-fix-buildsystem.patch +++ /dev/null @@ -1,56 +0,0 @@ -This patch sets a fixed version to avoid needing Git and the .git/ folder. -It also removes the creation of "/var/lib/4store", which is not available -during the install phase in GNU Guix. - -Patch by Roel Janssen <roel@gnu.org> -*** a/configure.ac Wed Feb 4 19:05:24 2015 ---- b/configure.ac Wed Mar 23 11:20:38 2016 -*************** -*** 2,13 **** - # Process this file with autoconf to produce a configure script. - - AC_PREREQ([2.50]) -! AC_INIT([4store], m4_esyscmd([./version.sh .version]), [http://4store.org/support/], [4store]) - AC_CONFIG_SRCDIR([src/backend/backend-intl.h]) -! AM_INIT_AUTOMAKE([1.7 std-options -Wall]) - AC_CONFIG_HEADERS(4store-config.h) - - # Checks for programs. - AC_PROG_LIBTOOL - AC_PROG_AWK - AC_PROG_CC ---- 2,14 ---- - # Process this file with autoconf to produce a configure script. - - AC_PREREQ([2.50]) -! AC_INIT([4store], [1.1.6], [http://4store.org/support/], [4store]) - AC_CONFIG_SRCDIR([src/backend/backend-intl.h]) -! AM_INIT_AUTOMAKE([1.7 std-options foreign -Wall]) - AC_CONFIG_HEADERS(4store-config.h) - - # Checks for programs. -+ AM_PROG_AR - AC_PROG_LIBTOOL - AC_PROG_AWK - AC_PROG_CC - -*** a/src/utilities/Makefile.am Wed Feb 4 19:05:24 2015 ---- b/src/utilities/Makefile.am Wed Mar 23 14:05:56 2016 -*************** -*** 13,20 **** - noinst_PROGRAMS = lex-file-verify 4s-rid - - install-data-local: -! mkdir -p $(DESTDIR)@FS_STORE_ROOT@ -! chmod 1777 $(DESTDIR)@FS_STORE_ROOT@ - - 4s_backend_destroy_SOURCES = backend-destroy.c - 4s_backend_destroy_LDADD = ../common/lib4sintl.a ---- 13,19 ---- - noinst_PROGRAMS = lex-file-verify 4s-rid - - install-data-local: -! echo "Please create the following directory: " $(DESTDIR)@FS_STORE_ROOT@ - - 4s_backend_destroy_SOURCES = backend-destroy.c - 4s_backend_destroy_LDADD = ../common/lib4sintl.a diff --git a/gnu/packages/patches/4store-unset-preprocessor-directive.patch b/gnu/packages/patches/4store-unset-preprocessor-directive.patch deleted file mode 100644 index c4b1d6eda4..0000000000 --- a/gnu/packages/patches/4store-unset-preprocessor-directive.patch +++ /dev/null @@ -1,16 +0,0 @@ -This patch removes the _XOPEN_SOURCE preprocessor directive as it does not seem to be needed. -Setting it removes the definition of strdup, which is used in filter-datatypes.c. - -Patch by Roel Janssen <roel@gnu.org> -*** a/src/frontend/filter-datatypes.c 1970-01-01 01:00:00.000000000 +0100 ---- b/src/frontend/filter-datatypes.c 2018-04-03 17:39:23.177905592 +0200 -*************** -*** 18,24 **** - * Copyright (C) 2006 Steve Harris for Garlik - */ - -- #define _XOPEN_SOURCE - #include <stdlib.h> - #include <string.h> - #include <math.h> ---- 18,23 ---- diff --git a/gnu/packages/patches/breezy-fix-gio.patch b/gnu/packages/patches/breezy-fix-gio.patch new file mode 100644 index 0000000000..f70e761555 --- /dev/null +++ b/gnu/packages/patches/breezy-fix-gio.patch @@ -0,0 +1,338 @@ +This patch combines https://code.launchpad.net/~jelmer/brz/enable-gio/+merge/419150 +and https://bazaar.launchpad.net/~jelmer/brz/fix-gio/revision/7570. + +=== modified file 'breezy/transport/gio_transport.py' +--- a/breezy/transport/gio_transport.py 2022-04-09 12:17:41 +0000 ++++ b/breezy/transport/gio_transport.py 2022-04-09 12:33:51 +0000 +@@ -52,11 +52,7 @@ + from ..tests.test_server import TestServer + + try: +- import glib +-except ImportError as e: +- raise errors.DependencyNotPresent('glib', e) +-try: +- import gio ++ from gi.repository import Gio as gio + except ImportError as e: + raise errors.DependencyNotPresent('gio', e) + + +@@ -57,6 +57,9 @@ + raise errors.DependencyNotPresent('gio', e) + + ++from gi.repository.GLib import GError ++ ++ + class GioLocalURLServer(TestServer): + """A pretend server for local transports, using file:// urls. + +@@ -81,7 +84,7 @@ + def __init__(self, transport, relpath): + FileStream.__init__(self, transport, relpath) + self.gio_file = transport._get_GIO(relpath) +- self.stream = self.gio_file.create() ++ self.stream = self.gio_file.create(0, None) + + def _close(self): + self.stream.close() +@@ -90,7 +93,7 @@ + try: + # Using pump_string_file seems to make things crash + osutils.pumpfile(BytesIO(bytes), self.stream) +- except gio.Error as e: ++ except GError as e: + # self.transport._translate_gio_error(e,self.relpath) + raise errors.BzrError(str(e)) + +@@ -98,12 +101,12 @@ + class GioStatResult(object): + + def __init__(self, f): +- info = f.query_info('standard::size,standard::type') ++ info = f.query_info('standard::size,standard::type', 0, None) + self.st_size = info.get_size() + type = info.get_file_type() +- if (type == gio.FILE_TYPE_REGULAR): ++ if type == gio.FileType.REGULAR: + self.st_mode = stat.S_IFREG +- elif type == gio.FILE_TYPE_DIRECTORY: ++ elif type == gio.FileType.DIRECTORY: + self.st_mode = stat.S_IFDIR + + +@@ -122,7 +125,7 @@ + user, netloc = netloc.rsplit('@', 1) + # Seems it is not possible to list supported backends for GIO + # so a hardcoded list it is then. +- gio_backends = ['dav', 'file', 'ftp', 'obex', 'sftp', 'ssh', 'smb'] ++ gio_backends = ['dav', 'file', 'ftp', 'obex', 'sftp', 'ssh', 'smb', 'http'] + if scheme not in gio_backends: + raise urlutils.InvalidURL(base, + extra="GIO support is only available for " + +@@ -138,13 +141,10 @@ + _from_transport=_from_transport) + + def _relpath_to_url(self, relpath): +- full_url = urlutils.join(self.url, relpath) +- if isinstance(full_url, str): +- raise urlutils.InvalidURL(full_url) +- return full_url ++ return urlutils.join(self.url, relpath) + + def _get_GIO(self, relpath): +- """Return the ftplib.GIO instance for this object.""" ++ """Return the GIO instance for this object.""" + # Ensures that a connection is established + connection = self._get_connection() + if connection is None: +@@ -152,7 +152,7 @@ + connection, credentials = self._create_connection() + self._set_connection(connection, credentials) + fileurl = self._relpath_to_url(relpath) +- file = gio.File(fileurl) ++ file = gio.File.new_for_uri(fileurl) + return file + + def _auth_cb(self, op, message, default_user, default_domain, flags): +@@ -197,7 +197,7 @@ + try: + obj.mount_enclosing_volume_finish(res) + self.loop.quit() +- except gio.Error as e: ++ except GError as e: + self.loop.quit() + raise errors.BzrError( + "Failed to mount the given location: " + str(e)) +@@ -209,12 +209,12 @@ + user, password = credentials + + try: +- connection = gio.File(self.url) ++ connection = gio.File.new_for_uri(self.url) + mount = None + try: + mount = connection.find_enclosing_mount() +- except gio.Error as e: +- if (e.code == gio.ERROR_NOT_MOUNTED): ++ except GError as e: ++ if e.code == gio.IOErrorEnum.NOT_MOUNTED: + self.loop = glib.MainLoop() + ui.ui_factory.show_message('Mounting %s using GIO' % + self.url) +@@ -227,7 +227,7 @@ + m = connection.mount_enclosing_volume(op, + self._mount_done_cb) + self.loop.run() +- except gio.Error as e: ++ except GError as e: + raise errors.TransportError(msg="Error setting up connection:" + " %s" % str(e), orig_error=e) + return connection, (user, password) +@@ -257,8 +257,8 @@ + if stat.S_ISREG(st.st_mode) or stat.S_ISDIR(st.st_mode): + return True + return False +- except gio.Error as e: +- if e.code == gio.ERROR_NOT_FOUND: ++ except GError as e: ++ if e.code == gio.IOErrorEnum.NOT_FOUND: + return False + else: + self._translate_gio_error(e, relpath) +@@ -281,10 +281,10 @@ + buf = fin.read() + fin.close() + return BytesIO(buf) +- except gio.Error as e: ++ except GError as e: + # If we get a not mounted here it might mean + # that a bad path has been entered (or that mount failed) +- if (e.code == gio.ERROR_NOT_MOUNTED): ++ if e.code == gio.IOErrorEnum.NOT_MOUNTED: + raise errors.PathError(relpath, + extra='Failed to get file, make sure the path is correct. ' + + str(e)) +@@ -307,19 +307,19 @@ + closed = True + try: + f = self._get_GIO(tmppath) +- fout = f.create() ++ fout = f.create(0, None) + closed = False + length = self._pump(fp, fout) + fout.close() + closed = True + self.stat(tmppath) + dest = self._get_GIO(relpath) +- f.move(dest, flags=gio.FILE_COPY_OVERWRITE) ++ f.move(dest, flags=gio.FileCopyFlags.OVERWRITE) + f = None + if mode is not None: + self._setmode(relpath, mode) + return length +- except gio.Error as e: ++ except GError as e: + self._translate_gio_error(e, relpath) + finally: + if not closed and fout is not None: +@@ -335,7 +335,7 @@ + f = self._get_GIO(relpath) + f.make_directory() + self._setmode(relpath, mode) +- except gio.Error as e: ++ except GError as e: + self._translate_gio_error(e, relpath) + + def open_write_stream(self, relpath, mode=None): +@@ -369,14 +369,11 @@ + f.delete() + else: + raise errors.NotADirectory(relpath) +- except gio.Error as e: ++ except GError as e: + self._translate_gio_error(e, relpath) + except errors.NotADirectory as e: + # just pass it forward + raise e +- except Exception as e: +- mutter('failed to rmdir %s: %s' % (relpath, e)) +- raise errors.PathError(relpath) + + def append_file(self, relpath, file, mode=None): + """Append the text in the file-like object into the final +@@ -392,7 +389,7 @@ + result = 0 + fo = self._get_GIO(tmppath) + fi = self._get_GIO(relpath) +- fout = fo.create() ++ fout = fo.create(0, None) + try: + info = GioStatResult(fi) + result = info.st_size +@@ -400,11 +397,11 @@ + self._pump(fin, fout) + fin.close() + # This separate except is to catch and ignore the +- # gio.ERROR_NOT_FOUND for the already existing file. ++ # gio.IOErrorEnum.NOT_FOUND for the already existing file. + # It is valid to open a non-existing file for append. + # This is caused by the broken gio append_to... +- except gio.Error as e: +- if e.code != gio.ERROR_NOT_FOUND: ++ except GError as e: ++ if e.code != gio.IOErrorEnum.NOT_FOUND: + self._translate_gio_error(e, relpath) + length = self._pump(file, fout) + fout.close() +@@ -413,9 +410,11 @@ + raise errors.BzrError("Failed to append size after " + "(%d) is not original (%d) + written (%d) total (%d)" % + (info.st_size, result, length, result + length)) +- fo.move(fi, flags=gio.FILE_COPY_OVERWRITE) ++ fo.move( ++ fi, flags=gio.FileCopyFlags.OVERWRITE, cancellable=None, ++ progress_callback=None) + return result +- except gio.Error as e: ++ except GError as e: + self._translate_gio_error(e, relpath) + + def _setmode(self, relpath, mode): +@@ -429,8 +428,8 @@ + try: + f = self._get_GIO(relpath) + f.set_attribute_uint32(gio.FILE_ATTRIBUTE_UNIX_MODE, mode) +- except gio.Error as e: +- if e.code == gio.ERROR_NOT_SUPPORTED: ++ except GError as e: ++ if e.code == gio.IOErrorEnum.NOT_SUPPORTED: + # Command probably not available on this server + mutter("GIO Could not set permissions to %s on %s. %s", + oct(mode), self._remote_path(relpath), str(e)) +@@ -444,8 +443,8 @@ + mutter("GIO move (rename): %s => %s", rel_from, rel_to) + f = self._get_GIO(rel_from) + t = self._get_GIO(rel_to) +- f.move(t) +- except gio.Error as e: ++ f.move(t, flags=0, cancellable=None, progress_callback=None) ++ except GError as e: + self._translate_gio_error(e, rel_from) + + def move(self, rel_from, rel_to): +@@ -455,8 +454,8 @@ + mutter("GIO move: %s => %s", rel_from, rel_to) + f = self._get_GIO(rel_from) + t = self._get_GIO(rel_to) +- f.move(t, flags=gio.FILE_COPY_OVERWRITE) +- except gio.Error as e: ++ f.move(t, flags=gio.FileCopyFlags.OVERWRITE) ++ except GError as e: + self._translate_gio_error(e, relfrom) + + def delete(self, relpath): +@@ -466,7 +465,7 @@ + mutter("GIO delete: %s", relpath) + f = self._get_GIO(relpath) + f.delete() +- except gio.Error as e: ++ except GError as e: + self._translate_gio_error(e, relpath) + + def external_url(self): +@@ -489,11 +488,11 @@ + try: + entries = [] + f = self._get_GIO(relpath) +- children = f.enumerate_children(gio.FILE_ATTRIBUTE_STANDARD_NAME) ++ children = f.enumerate_children(gio.FILE_ATTRIBUTE_STANDARD_NAME, 0, None) + for child in children: + entries.append(urlutils.escape(child.get_name())) + return entries +- except gio.Error as e: ++ except GError as e: + self._translate_gio_error(e, relpath) + + def iter_files_recursive(self): +@@ -519,7 +518,7 @@ + mutter("GIO stat: %s", relpath) + f = self._get_GIO(relpath) + return GioStatResult(f) +- except gio.Error as e: ++ except GError as e: + self._translate_gio_error(e, relpath, extra='error w/ stat') + + def lock_read(self, relpath): +@@ -556,21 +555,21 @@ + mutter("GIO Error: %s %s" % (str(err), path)) + if extra is None: + extra = str(err) +- if err.code == gio.ERROR_NOT_FOUND: ++ if err.code == gio.IOErrorEnum.NOT_FOUND: + raise errors.NoSuchFile(path, extra=extra) +- elif err.code == gio.ERROR_EXISTS: ++ elif err.code == gio.IOErrorEnum.EXISTS: + raise errors.FileExists(path, extra=extra) +- elif err.code == gio.ERROR_NOT_DIRECTORY: ++ elif err.code == gio.IOErrorEnum.NOT_DIRECTORY: + raise errors.NotADirectory(path, extra=extra) +- elif err.code == gio.ERROR_NOT_EMPTY: ++ elif err.code == gio.IOErrorEnum.NOT_EMPTY: + raise errors.DirectoryNotEmpty(path, extra=extra) +- elif err.code == gio.ERROR_BUSY: ++ elif err.code == gio.IOErrorEnum.BUSY: + raise errors.ResourceBusy(path, extra=extra) +- elif err.code == gio.ERROR_PERMISSION_DENIED: ++ elif err.code == gio.IOErrorEnum.PERMISSION_DENIED: + raise errors.PermissionDenied(path, extra=extra) +- elif err.code == gio.ERROR_HOST_NOT_FOUND: ++ elif err.code == gio.IOErrorEnum.HOST_NOT_FOUND: + raise errors.PathError(path, extra=extra) +- elif err.code == gio.ERROR_IS_DIRECTORY: ++ elif err.code == gio.IOErrorEnum.IS_DIRECTORY: + raise errors.PathError(path, extra=extra) + else: + mutter('unable to understand error for path: %s: %s', path, err) + diff --git a/gnu/packages/patches/casync-renameat2-declaration.patch b/gnu/packages/patches/casync-renameat2-declaration.patch deleted file mode 100644 index 74c2ca7b3c..0000000000 --- a/gnu/packages/patches/casync-renameat2-declaration.patch +++ /dev/null @@ -1,27 +0,0 @@ -Fix build failure on glibc 2.28 where 'renameat2' would end up being -declared twice: <https://github.com/systemd/casync/issues/166>. - -From 625244ca47e8ee1375d2d0092271bfd13b0913ea Mon Sep 17 00:00:00 2001 -From: Daniel Mack <daniel@zonque.org> -Date: Tue, 13 Nov 2018 17:52:48 +0100 -Subject: [PATCH] meson.build: pass -D_GNU_SOURCE when checking for functions - -As described in #166, -D_GNU_SOURCE needs to be passed to the meson function -availability checker. h/t to @tomeon for providing a link to the solution as -well. ---- - meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index f42ed16..c0f741e 100644 ---- a/meson.build -+++ b/meson.build -@@ -78,6 +78,6 @@ foreach ident : [ - ['copy_file_range', '''#include <sys/syscall.h> - #include <unistd.h>'''], - ] -- have = cc.has_function(ident[0], prefix : ident[1]) -+ have = cc.has_function(ident[0], args : '-D_GNU_SOURCE', prefix : ident[1]) - conf.set10('HAVE_' + ident[0].to_upper(), have) - endforeach diff --git a/gnu/packages/patches/emacs-deferred-fix-number-of-arguments.patch b/gnu/packages/patches/emacs-deferred-fix-number-of-arguments.patch new file mode 100644 index 0000000000..fdb444c29b --- /dev/null +++ b/gnu/packages/patches/emacs-deferred-fix-number-of-arguments.patch @@ -0,0 +1,58 @@ +From 226734f06196d31971d8ca2026a9ce432d5227d0 Mon Sep 17 00:00:00 2001 +From: r0man <roman@burningswell.com> +Date: Thu, 26 May 2022 10:42:25 +0200 +Subject: [PATCH] Fix wrong-number-of-arguments error + +With Emacs 28 I'm seeing the following error when running the tests. + +``` +deferred error : (wrong-number-of-arguments #<subr start-process-shell-command> 4) +``` + +I believe this is because the `start-process-shell-command` function +is called with the command arguments as &rest parameters. This is the +function signature of `start-process-shell-command`, and it only takes +3 arguments, the name, buffer, and command. The command argument can +be a shell string like "ls -l" for example. + +``` +(defun start-process-shell-command (name buffer command) ...) +``` + +The `start-process` function on the other hand has &rest parameters +and can be called with a list of arguments. + +``` +(defun start-process (name buffer program &rest program-args) ...) +``` + +This PR fixes the issue by concatenating the command and it's argument +before calling out to `deferred:process-buffer-gen`, which is used in +both cases, when calling `start-process-shell-command`, and when +calling `start-process`. +--- + deferred.el | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/deferred.el b/deferred.el +index 041c90b..3092ac0 100644 +--- a/deferred.el ++++ b/deferred.el +@@ -754,7 +754,7 @@ object. The process name and buffer name of the argument of the + `start-process-shell-command' are generated by this function automatically. + The next deferred object receives stdout and stderr string from + the command process." +- (deferred:process-gen 'start-process-shell-command command args)) ++ (deferred:process-gen 'start-process-shell-command (string-join (cons command args) " ") nil)) + + (defun deferred:process-buffer (command &rest args) + "A deferred wrapper of `start-process'. Return a deferred +@@ -770,7 +770,7 @@ object. The process name and buffer name of the argument of the + `start-process-shell-command' are generated by this function automatically. + The next deferred object receives stdout and stderr buffer from + the command process." +- (deferred:process-buffer-gen 'start-process-shell-command command args)) ++ (deferred:process-buffer-gen 'start-process-shell-command (string-join (cons command args) " ") nil)) + + (defun deferred:process-gen (f command args) + "[internal]" diff --git a/gnu/packages/patches/emacs-helpful-fix-docstring-test.patch b/gnu/packages/patches/emacs-helpful-fix-docstring-test.patch new file mode 100644 index 0000000000..de40010fa2 --- /dev/null +++ b/gnu/packages/patches/emacs-helpful-fix-docstring-test.patch @@ -0,0 +1,18 @@ +This patch fixing a build failure has been cherry-picked from upstream. +Originally submitted as pull request by Erik Šabič. +See also <https://github.com/Wilfred/helpful/pull/296>. +diff --git a/test/helpful-unit-test.el b/test/helpful-unit-test.el +index a07aa8e..8a95129 100644 +--- a/test/helpful-unit-test.el ++++ b/test/helpful-unit-test.el +@@ -119,7 +119,9 @@ bar"))) + (should + (equal + (helpful--docstring #'test-foo-advised t) +- "Docstring here too."))) ++ (if (version< emacs-version "28") ++ "Docstring here too." ++ "Docstring here too.\n\nThis function has :around advice: `ad-Advice-test-foo-advised'.")))) + + (defun test-foo-no-docstring () + nil) diff --git a/gnu/packages/patches/gcc-12-cross-environment-variables.patch b/gnu/packages/patches/gcc-12-cross-environment-variables.patch new file mode 100644 index 0000000000..8787f094c0 --- /dev/null +++ b/gnu/packages/patches/gcc-12-cross-environment-variables.patch @@ -0,0 +1,54 @@ +Search path environment variables for cross-compilers. See the discussion +at <http://gcc.gnu.org/ml/gcc/2013-02/msg00124.html>. + +Note: Touch 'C_INCLUDE_PATH' et al. rather than 'CPATH', as discussed +at <http://bugs.gnu.org/22186>. + +diff --git a/gcc/gcc.cc b/gcc/gcc.cc +--- a/gcc/gcc.cc ++++ b/gcc/gcc.cc +@@ -4832,7 +4832,7 @@ process_command (unsigned int decoded_options_count, + } + + temp = env.get (LIBRARY_PATH_ENV); +- if (temp && *cross_compile == '0') ++ if (temp) + { + const char *startp, *endp; + char *nstore = (char *) alloca (strlen (temp) + 3); +diff --git a/gcc/incpath.cc b/gcc/incpath.cc +--- a/gcc/incpath.cc ++++ b/gcc/incpath.cc +@@ -480,8 +480,8 @@ register_include_chains (cpp_reader *pfile, const char *sysroot, + int stdinc, int cxx_stdinc, int verbose) + { + static const char *const lang_env_vars[] = +- { "C_INCLUDE_PATH", "CPLUS_INCLUDE_PATH", +- "OBJC_INCLUDE_PATH", "OBJCPLUS_INCLUDE_PATH" }; ++ { "CROSS_C_INCLUDE_PATH", "CROSS_CPLUS_INCLUDE_PATH", ++ "CROSS_OBJC_INCLUDE_PATH", "CROSS_OBJCPLUS_INCLUDE_PATH" }; + cpp_options *cpp_opts = cpp_get_options (pfile); + size_t idx = (cpp_opts->objc ? 2: 0); + +@@ -492,7 +492,7 @@ register_include_chains (cpp_reader *pfile, const char *sysroot, + + /* CPATH and language-dependent environment variables may add to the + include chain. */ +- add_env_var_paths ("CPATH", INC_BRACKET); ++ add_env_var_paths ("CROSS_CPATH", INC_BRACKET); + add_env_var_paths (lang_env_vars[idx], INC_SYSTEM); + + target_c_incpath.extra_pre_includes (sysroot, iprefix, stdinc); +diff --git a/gcc/system.h b/gcc/system.h +--- a/gcc/system.h ++++ b/gcc/system.h +@@ -1317,4 +1317,6 @@ endswith (const char *str, const char *suffix) + return memcmp (str + str_len - suffix_len, suffix, suffix_len) == 0; + } + ++#define LIBRARY_PATH_ENV "CROSS_LIBRARY_PATH" ++ + #endif /* ! GCC_SYSTEM_H */ +-- +2.36.1 + diff --git a/gnu/packages/patches/gourmet-sqlalchemy-compat.patch b/gnu/packages/patches/gourmet-sqlalchemy-compat.patch new file mode 100644 index 0000000000..d0cdf9e5a7 --- /dev/null +++ b/gnu/packages/patches/gourmet-sqlalchemy-compat.patch @@ -0,0 +1,18 @@ +diff --git a/gourmet/backends/db.py b/gourmet/backends/db.py +index faa6a57a..7e6d2bc6 100644 +--- a/gourmet/backends/db.py ++++ b/gourmet/backends/db.py +@@ -773,9 +773,11 @@ class RecData (Pluggable): + """Return the number of rows in table that match criteria + """ + if criteria: +- return table.count(*make_simple_select_arg(criteria,table)).execute().fetchone()[0] ++ return sqlalchemy.select( ++ sqlalchemy.func.count(criteria)).select_from(table).scalar() + else: +- return table.count().execute().fetchone()[0] ++ return sqlalchemy.select( ++ sqlalchemy.func.count()).select_from(table).scalar() + + def fetch_join (self, table1, table2, col1, col2, + column_names=None, sort_by=[], **criteria): diff --git a/gnu/packages/patches/guile-ac-d-bus-fix-tests.patch b/gnu/packages/patches/guile-ac-d-bus-fix-tests.patch new file mode 100644 index 0000000000..19fd475c39 --- /dev/null +++ b/gnu/packages/patches/guile-ac-d-bus-fix-tests.patch @@ -0,0 +1,28 @@ +Submitted upstream: https://gitlab.com/weinholt/ac-d-bus/-/merge_requests/3 + +diff --git a/tests/test-signature.sps b/tests/test-signature.sps +index 278401b..cc5574f 100755 +--- a/tests/test-signature.sps ++++ b/tests/test-signature.sps +@@ -43,6 +43,7 @@ + (format-type-signature '(message BYTE BYTE BYTE BYTE UINT32 UINT32 + (ARRAY (STRUCT BYTE VARIANT))))) + ++(define fail-count (test-runner-fail-count (test-runner-get))) + (test-end) + +-(exit (if (zero? (test-runner-fail-count (test-runner-get))) 0 1)) ++(exit (if (zero? fail-count) 0 1)) +diff --git a/tests/test-wire.sps b/tests/test-wire.sps +index c3354bf..06ae73b 100755 +--- a/tests/test-wire.sps ++++ b/tests/test-wire.sps +@@ -147,6 +147,7 @@ + #x08 #x01 #x67 #x00 #x00 #x00 #x00 #x00 #x05 #x01 #x75 #x00 #x04 #x00 #x00 #x00 + #x07 #x01 #x73 #x00 #x06 #x00 #x00 #x00 #x3A #x31 #x2E #x32 #x39 #x38 #x00 #x00))) + ++(define fail-count (test-runner-fail-count (test-runner-get))) + (test-end) + +-(exit (if (zero? (test-runner-fail-count (test-runner-get))) 0 1)) ++(exit (if (zero? fail-count) 0 1)) diff --git a/gnu/packages/patches/itk-snap-alt-glibc-compat.patch b/gnu/packages/patches/itk-snap-alt-glibc-compat.patch new file mode 100644 index 0000000000..764c5da2c2 --- /dev/null +++ b/gnu/packages/patches/itk-snap-alt-glibc-compat.patch @@ -0,0 +1,22 @@ +Retrieved from ALT Linux. +https://git.altlinux.org/tasks/273587/build/300/x86_64/srpm/itk-snap-3.8.0-alt6.src.rpm + +diff --git a/GUI/Qt/main.cxx b/GUI/Qt/main.cxx +index 576f7160..ceab92e6 100644 +--- a/GUI/Qt/main.cxx ++++ b/GUI/Qt/main.cxx +@@ -51,12 +51,13 @@ using namespace std; + #if defined (__unix__) || (defined (__APPLE__) && defined (__MACH__)) + + #include <signal.h> ++#include <string.h> + #include <execinfo.h> + + void SegmentationFaultHandler(int sig) + { + cerr << "*************************************" << endl; +- cerr << "ITK-SNAP: " << sys_siglist[sig] << endl; ++ cerr << "ITK-SNAP: " << strsignal(sig) << " (" << sigabbrev_np(sig) << ")" << endl; + cerr << "BACKTRACE: " << endl; + void *array[50]; + int nsize = backtrace(array, 50); diff --git a/gnu/packages/patches/mia-fix-boost-headers.patch b/gnu/packages/patches/mia-fix-boost-headers.patch new file mode 100644 index 0000000000..158ab2afeb --- /dev/null +++ b/gnu/packages/patches/mia-fix-boost-headers.patch @@ -0,0 +1,479 @@ +Retrieved from Debian, and added a few "#include <boost/mpl/vector.hpp>" +directives to fix the build. + +diff --git a/addons/hdf5/test_hdf5_3dimage.cc b/addons/hdf5/test_hdf5_3dimage.cc +index a7185618..7a398821 100644 +--- a/addons/hdf5/test_hdf5_3dimage.cc ++++ b/addons/hdf5/test_hdf5_3dimage.cc +@@ -23,7 +23,7 @@ + #include <mia/internal/autotest.hh> + + #include <boost/mpl/vector.hpp> +-#include <boost/test/test_case_template.hpp> ++#include <boost/test/unit_test.hpp> + + #include <addons/hdf5/hdf5_3dimage.hh> + +diff --git a/addons/hdf5/test_hdf5mia.cc b/addons/hdf5/test_hdf5mia.cc +index 3d62106e..8141be07 100644 +--- a/addons/hdf5/test_hdf5mia.cc ++++ b/addons/hdf5/test_hdf5mia.cc +@@ -23,7 +23,6 @@ + #include <mia/internal/autotest.hh> + + #include <boost/mpl/vector.hpp> +-#include <boost/test/test_case_template.hpp> + #include <boost/mpl/insert_range.hpp> + + #include <addons/hdf5/hdf5a_mia.hh> +diff --git a/addons/nifti/test_niftiimage.cc b/addons/nifti/test_niftiimage.cc +index 8df3f0b5..840ae585 100644 +--- a/addons/nifti/test_niftiimage.cc ++++ b/addons/nifti/test_niftiimage.cc +@@ -23,8 +23,6 @@ + #include <mia/internal/autotest.hh> + + #include <boost/mpl/vector.hpp> +-#include <boost/test/test_case_template.hpp> +- + + #include <nifti/niftiimage.hh> + #include <unistd.h> +diff --git a/addons/vistaio/test_2dvistaio.cc b/addons/vistaio/test_2dvistaio.cc +index b3da29a0..9b1599dd 100644 +--- a/addons/vistaio/test_2dvistaio.cc ++++ b/addons/vistaio/test_2dvistaio.cc +@@ -23,8 +23,6 @@ + #include <mia/internal/autotest.hh> + + #include <boost/mpl/vector.hpp> +-#include <boost/test/test_case_template.hpp> +- + + #include <vistaio/2dvistaio.hh> + #include <unistd.h> +diff --git a/addons/vistaio/test_3dvistaio.cc b/addons/vistaio/test_3dvistaio.cc +index 93c007d0..c3ae1fdb 100644 +--- a/addons/vistaio/test_3dvistaio.cc ++++ b/addons/vistaio/test_3dvistaio.cc +@@ -23,8 +23,6 @@ + #include <mia/internal/autotest.hh> + + #include <boost/mpl/vector.hpp> +-#include <boost/test/test_case_template.hpp> +- + + #include <vistaio/3dvistaio.hh> + #include <unistd.h> +diff --git a/addons/vtk/test_vtkimage.cc b/addons/vtk/test_vtkimage.cc +index eaf96a6b..8212ef1d 100644 +--- a/addons/vtk/test_vtkimage.cc ++++ b/addons/vtk/test_vtkimage.cc +@@ -23,8 +23,6 @@ + #include <mia/internal/autotest.hh> + + #include <boost/mpl/vector.hpp> +-#include <boost/test/test_case_template.hpp> +- + + #include <vtk/vtkimage.hh> + #include <unistd.h> +diff --git a/mia/2d/creator/test_circle.cc b/mia/2d/creator/test_circle.cc +index 9784e05d..7ca4bab9 100644 +--- a/mia/2d/creator/test_circle.cc ++++ b/mia/2d/creator/test_circle.cc +@@ -21,8 +21,6 @@ + + #include <mia/internal/plugintester.hh> + #include <boost/mpl/vector.hpp> +-#include <boost/test/test_case_template.hpp> +- + #include <mia/2d/creator/circle.hh> + + using namespace mia; +diff --git a/mia/2d/filter/test_convert.cc b/mia/2d/filter/test_convert.cc +index 80304793..f40d295a 100644 +--- a/mia/2d/filter/test_convert.cc ++++ b/mia/2d/filter/test_convert.cc +@@ -25,7 +25,6 @@ + #include <type_traits> + + #include <boost/mpl/vector.hpp> +-#include <boost/test/test_case_template.hpp> + #include <boost/mpl/insert_range.hpp> + + +diff --git a/mia/2d/filter/test_morphological.cc b/mia/2d/filter/test_morphological.cc +index 2fc58583..9a004946 100644 +--- a/mia/2d/filter/test_morphological.cc ++++ b/mia/2d/filter/test_morphological.cc +@@ -20,7 +20,6 @@ + + #include <mia/internal/plugintester.hh> + #include <boost/mpl/vector.hpp> +-#include <boost/test/test_case_template.hpp> + #include <mia/2d/filter/morphological.hh> + + namespace bmpl = boost::mpl; +diff --git a/mia/2d/filter/test_sortlabel.cc b/mia/2d/filter/test_sortlabel.cc +index 78464e1a..49c327e3 100644 +--- a/mia/2d/filter/test_sortlabel.cc ++++ b/mia/2d/filter/test_sortlabel.cc +@@ -23,7 +23,6 @@ + #include <mia/2d/filter/sortlabel.hh> + + #include <boost/mpl/vector.hpp> +-#include <boost/test/test_case_template.hpp> + namespace bmpl = boost::mpl; + + +diff --git a/mia/2d/filter/test_thinning.cc b/mia/2d/filter/test_thinning.cc +index 3ebb2cdc..8bc5b356 100644 +--- a/mia/2d/filter/test_thinning.cc ++++ b/mia/2d/filter/test_thinning.cc +@@ -21,7 +21,6 @@ + + #include <mia/internal/plugintester.hh> + #include <boost/mpl/vector.hpp> +-#include <boost/test/test_case_template.hpp> + #include <mia/2d/filter/thinning.hh> + #include <mia/2d/imagetest.hh> + +diff --git a/mia/2d/test_filter_cast.cc b/mia/2d/test_filter_cast.cc +index e806e14f..91c77398 100644 +--- a/mia/2d/test_filter_cast.cc ++++ b/mia/2d/test_filter_cast.cc +@@ -24,7 +24,7 @@ + #include <mia/internal/autotest.hh> + #include <mia/2d/filter.hh> + +-#include <boost/test/test_case_template.hpp> ++#include <boost/mpl/vector.hpp> + #include <boost/type_traits.hpp> + #include <boost/mpl/list.hpp> + +diff --git a/mia/2d/test_image.cc b/mia/2d/test_image.cc +index c82dc59b..1f602510 100644 +--- a/mia/2d/test_image.cc ++++ b/mia/2d/test_image.cc +@@ -24,6 +24,7 @@ + #include <mia/internal/autotest.hh> + + #include <boost/filesystem/path.hpp> ++#include <boost/mpl/vector.hpp> + + #include <iostream> + +diff --git a/mia/2d/test_interpol.cc b/mia/2d/test_interpol.cc +index d1f3703d..5caafccf 100644 +--- a/mia/2d/test_interpol.cc ++++ b/mia/2d/test_interpol.cc +@@ -23,7 +23,6 @@ + + #include <mia/internal/autotest.hh> + +-#include <boost/test/test_case_template.hpp> + #include <boost/type_traits.hpp> + #include <boost/mpl/list.hpp> + +diff --git a/mia/3d/fifotestfixture.cc b/mia/3d/fifotestfixture.cc +index ab2e7c65..1b6e6bb4 100644 +--- a/mia/3d/fifotestfixture.cc ++++ b/mia/3d/fifotestfixture.cc +@@ -24,7 +24,7 @@ + + #include <climits> + #include <boost/test/unit_test.hpp> +-#include <boost/test/floating_point_comparison.hpp> ++#include <boost/test/tools/floating_point_comparison.hpp> + #include <mia/core/msgstream.hh> + #include <mia/2d/imagetest.hh> + #include <mia/3d/fifotestfixture.hh> +diff --git a/mia/3d/filter/test_convert.cc b/mia/3d/filter/test_convert.cc +index e83032c1..dad9afaa 100644 +--- a/mia/3d/filter/test_convert.cc ++++ b/mia/3d/filter/test_convert.cc +@@ -20,7 +20,6 @@ + + #include <mia/internal/autotest.hh> + #include <boost/mpl/vector.hpp> +-#include <boost/test/test_case_template.hpp> + #include <mia/core/type_traits.hh> + #include <mia/3d/filter/convert.hh> + #include <boost/mpl/insert_range.hpp> +diff --git a/mia/3d/test_image.cc b/mia/3d/test_image.cc +index 18f71892..c21e0d20 100644 +--- a/mia/3d/test_image.cc ++++ b/mia/3d/test_image.cc +@@ -21,7 +21,8 @@ + #include <climits> + #include <boost/test/unit_test_suite.hpp> + #include <boost/test/unit_test.hpp> +-#include <boost/test/floating_point_comparison.hpp> ++#include <boost/test/tools/floating_point_comparison.hpp> ++#include <boost/mpl/vector.hpp> + + #include <mia/3d/image.hh> + #include <mia/core/filter.hh> +diff --git a/mia/3d/test_imageio.cc b/mia/3d/test_imageio.cc +index 0640a668..7a6b5635 100644 +--- a/mia/3d/test_imageio.cc ++++ b/mia/3d/test_imageio.cc +@@ -20,7 +20,6 @@ + + #include <mia/internal/autotest.hh> + #include <boost/mpl/vector.hpp> +-#include <boost/test/test_case_template.hpp> + #include <boost/mpl/insert_range.hpp> + + #include <mia/core/attribute_names.hh> +diff --git a/mia/core/splinekernel/test_bspline.cc b/mia/core/splinekernel/test_bspline.cc +index 54d6bda3..0abfe443 100644 +--- a/mia/core/splinekernel/test_bspline.cc ++++ b/mia/core/splinekernel/test_bspline.cc +@@ -23,8 +23,6 @@ + #include <mia/core/splinekernel/bspline.hh> + #include <mia/core/interpolator1d.hh> + #include <boost/mpl/vector.hpp> +-#include <boost/test/test_case_template.hpp> +- + + using namespace mia; + using namespace mia::bsplinekernel; +diff --git a/mia/core/test_cost.cc b/mia/core/test_cost.cc +index 70097b2e..305ca84d 100644 +--- a/mia/core/test_cost.cc ++++ b/mia/core/test_cost.cc +@@ -27,7 +27,7 @@ + #include <mia/core/msgstream.hh> + + #include <boost/test/unit_test_suite.hpp> +-#include <boost/test/floating_point_comparison.hpp> ++#include <boost/test/tools/floating_point_comparison.hpp> + #include <boost/test/test_tools.hpp> + + NS_MIA_USE +diff --git a/mia/core/test_cstplan.cc b/mia/core/test_cstplan.cc +index aa241d48..a9e5a0e3 100644 +--- a/mia/core/test_cstplan.cc ++++ b/mia/core/test_cstplan.cc +@@ -23,7 +23,7 @@ + + #include <boost/test/unit_test_suite.hpp> + #include <boost/test/unit_test.hpp> +-#include <boost/test/floating_point_comparison.hpp> ++#include <boost/test/tools/floating_point_comparison.hpp> + + #include <mia/core/cstplan.hh> + +diff --git a/mia/core/test_dictmap.cc b/mia/core/test_dictmap.cc +index a9217290..fd05fe30 100644 +--- a/mia/core/test_dictmap.cc ++++ b/mia/core/test_dictmap.cc +@@ -26,7 +26,7 @@ + + #include <boost/test/test_tools.hpp> + #include <boost/test/unit_test_suite.hpp> +-#include <boost/test/floating_point_comparison.hpp> ++#include <boost/test/tools/floating_point_comparison.hpp> + + #include <mia/core/dictmap.hh> + #include <mia/core/cmdlineparser.hh> +diff --git a/mia/core/test_fifofilter.cc b/mia/core/test_fifofilter.cc +index 2a066f2e..6e2a385d 100644 +--- a/mia/core/test_fifofilter.cc ++++ b/mia/core/test_fifofilter.cc +@@ -27,7 +27,7 @@ + + #include <boost/test/test_tools.hpp> + #include <boost/test/unit_test_suite.hpp> +-#include <boost/test/floating_point_comparison.hpp> ++#include <boost/test/tools/floating_point_comparison.hpp> + + + #include <mia/core/cmdlineparser.hh> +diff --git a/mia/core/test_gsl_matrix.cc b/mia/core/test_gsl_matrix.cc +index 4add5f7a..6d16353d 100644 +--- a/mia/core/test_gsl_matrix.cc ++++ b/mia/core/test_gsl_matrix.cc +@@ -25,7 +25,7 @@ + #define BOOST_TEST_MAIN + #define BOOST_TEST_ALTERNATIVE_INIT_API + #include <boost/test/unit_test.hpp> +-#include <boost/test/floating_point_comparison.hpp> ++#include <boost/test/tools/floating_point_comparison.hpp> + #include <mia/core/gsl_matrix.hh> + + #include <stdexcept> +diff --git a/mia/core/test_gsl_matrix_vector_ops.cc b/mia/core/test_gsl_matrix_vector_ops.cc +index e5f7d7b9..217020f7 100644 +--- a/mia/core/test_gsl_matrix_vector_ops.cc ++++ b/mia/core/test_gsl_matrix_vector_ops.cc +@@ -28,7 +28,7 @@ + #define BOOST_TEST_MAIN + #define BOOST_TEST_ALTERNATIVE_INIT_API + #include <boost/test/unit_test.hpp> +-#include <boost/test/floating_point_comparison.hpp> ++#include <boost/test/tools/floating_point_comparison.hpp> + + #include <iostream> + #include <cmath> +diff --git a/mia/core/test_gsl_multimin.cc b/mia/core/test_gsl_multimin.cc +index 5bbc434b..129f578a 100644 +--- a/mia/core/test_gsl_multimin.cc ++++ b/mia/core/test_gsl_multimin.cc +@@ -25,7 +25,7 @@ + #define BOOST_TEST_MAIN + #define BOOST_TEST_ALTERNATIVE_INIT_API + #include <boost/test/unit_test.hpp> +-#include <boost/test/floating_point_comparison.hpp> ++#include <boost/test/tools/floating_point_comparison.hpp> + #include <vector> + + #include <mia/core/gsl_multimin.hh> +diff --git a/mia/core/test_gsl_pca.cc b/mia/core/test_gsl_pca.cc +index 436b36b0..12942921 100644 +--- a/mia/core/test_gsl_pca.cc ++++ b/mia/core/test_gsl_pca.cc +@@ -27,7 +27,7 @@ + #define BOOST_TEST_MAIN + #define BOOST_TEST_ALTERNATIVE_INIT_API + #include <boost/test/unit_test.hpp> +-#include <boost/test/floating_point_comparison.hpp> ++#include <boost/test/tools/floating_point_comparison.hpp> + + #include <mia/core/gsl_pca.hh> + +diff --git a/mia/core/test_gsl_vector.cc b/mia/core/test_gsl_vector.cc +index 541c88b8..ba91f159 100644 +--- a/mia/core/test_gsl_vector.cc ++++ b/mia/core/test_gsl_vector.cc +@@ -25,10 +25,9 @@ + #define BOOST_TEST_MAIN + #define BOOST_TEST_ALTERNATIVE_INIT_API + #include <boost/test/unit_test.hpp> +-#include <boost/test/floating_point_comparison.hpp> ++#include <boost/test/tools/floating_point_comparison.hpp> + + #include <boost/mpl/vector.hpp> +-#include <boost/test/test_case_template.hpp> + + #include <mia/core/gsl_vector.hh> + +diff --git a/mia/core/test_interpol.cc b/mia/core/test_interpol.cc +index 36669dc0..2dd5157d 100644 +--- a/mia/core/test_interpol.cc ++++ b/mia/core/test_interpol.cc +@@ -24,7 +24,7 @@ + #include <mia/internal/autotest.hh> + + #include <boost/mpl/vector.hpp> +-#include <boost/test/test_case_template.hpp> ++#include <boost/test/unit_test.hpp> + #include <boost/type_traits.hpp> + #include <boost/filesystem/path.hpp> + +diff --git a/mia/core/test_parameter.cc b/mia/core/test_parameter.cc +index ae9b4976..28ef2a80 100644 +--- a/mia/core/test_parameter.cc ++++ b/mia/core/test_parameter.cc +@@ -26,7 +26,7 @@ + + #include <boost/test/test_tools.hpp> + #include <boost/test/unit_test_suite.hpp> +-#include <boost/test/floating_point_comparison.hpp> ++#include <boost/test/tools/floating_point_comparison.hpp> + + #include <mia/core/parameter.hh> + #include <mia/core/msgstream.hh> +diff --git a/mia/core/test_probmap.cc b/mia/core/test_probmap.cc +index 2dc6cb6c..38052681 100644 +--- a/mia/core/test_probmap.cc ++++ b/mia/core/test_probmap.cc +@@ -22,7 +22,7 @@ + + #include <boost/test/unit_test_suite.hpp> + #include <boost/test/unit_test.hpp> +-#include <boost/test/floating_point_comparison.hpp> ++#include <boost/test/tools/floating_point_comparison.hpp> + + #include <mia/core/cmdlineparser.hh> + #include <mia/core/probmap.hh> +diff --git a/mia/core/test_sqmin.cc b/mia/core/test_sqmin.cc +index f00b3b85..4a0b67b9 100644 +--- a/mia/core/test_sqmin.cc ++++ b/mia/core/test_sqmin.cc +@@ -23,7 +23,7 @@ + #define BOOST_TEST_DYN_LINK + #include <boost/test/unit_test_suite.hpp> + #include <boost/test/unit_test.hpp> +-#include <boost/test/floating_point_comparison.hpp> ++#include <boost/test/tools/floating_point_comparison.hpp> + + #include <mia/core/sqmin.hh> + +diff --git a/mia/internal/autotest.hh b/mia/internal/autotest.hh +index 419f6e8f..4458c0b2 100644 +--- a/mia/internal/autotest.hh ++++ b/mia/internal/autotest.hh +@@ -34,7 +34,7 @@ + #define BOOST_TEST_MAIN + #define BOOST_TEST_NO_MAIN + #include <boost/test/unit_test.hpp> +-#include <boost/test/floating_point_comparison.hpp> ++#include <boost/test/tools/floating_point_comparison.hpp> + + #include <miaconfig.h> + #include <mia/core/cmdlineparser.hh> +diff --git a/mia/internal/plugintester.hh b/mia/internal/plugintester.hh +index 2d42b858..e632e5f7 100644 +--- a/mia/internal/plugintester.hh ++++ b/mia/internal/plugintester.hh +@@ -31,7 +31,7 @@ + #define BOOST_TEST_MAIN + #define BOOST_TEST_NO_MAIN + #include <boost/test/unit_test.hpp> +-#include <boost/test/floating_point_comparison.hpp> ++#include <boost/test/tools/floating_point_comparison.hpp> + + #include <miaconfig.h> + #include <mia/core/factory.hh> +diff --git a/mia/test/testhelpers.hh b/mia/test/testhelpers.hh +index 27f37e7f..68c213a6 100644 +--- a/mia/test/testhelpers.hh ++++ b/mia/test/testhelpers.hh +@@ -23,7 +23,7 @@ + + #include <type_traits> + #include <boost/test/unit_test.hpp> +-#include <boost/test/floating_point_comparison.hpp> ++#include <boost/test/tools/floating_point_comparison.hpp> + + namespace miatest + { +diff --git a/src/2dlerp.cc b/src/2dlerp.cc +index 4c7dde77..1e8801de 100644 +--- a/src/2dlerp.cc ++++ b/src/2dlerp.cc +@@ -25,7 +25,7 @@ + + #include <boost/test/unit_test_suite.hpp> + #include <boost/test/unit_test.hpp> +-#include <boost/test/floating_point_comparison.hpp> ++#include <boost/test/tools/floating_point_comparison.hpp> + + #include <mia/core.hh> + #include <mia/internal/main.hh> +diff --git a/src/3dlerp.cc b/src/3dlerp.cc +index 6ee8dca0..2f1c1f3a 100644 +--- a/src/3dlerp.cc ++++ b/src/3dlerp.cc +@@ -24,7 +24,7 @@ + #define BOOST_TEST_NO_MAIN + #include <boost/test/unit_test_suite.hpp> + #include <boost/test/unit_test.hpp> +-#include <boost/test/floating_point_comparison.hpp> ++#include <boost/test/tools/floating_point_comparison.hpp> + + #include <mia/core.hh> + #include <mia/internal/main.hh> diff --git a/gnu/packages/patches/mozjs17-aarch64-support.patch b/gnu/packages/patches/mozjs17-aarch64-support.patch deleted file mode 100644 index 51e2e306d5..0000000000 --- a/gnu/packages/patches/mozjs17-aarch64-support.patch +++ /dev/null @@ -1,60 +0,0 @@ -https://build.opensuse.org/package/view_file/openSUSE:Factory/mozjs17/mozjs-aarch64-support.patch - -index c071c33..90764c3 100644 ---- a/js/src/assembler/jit/ExecutableAllocator.h -+++ b/js/src/assembler/jit/ExecutableAllocator.h -@@ -382,6 +382,12 @@ public: - { - reprotectRegion(start, size, Executable); - } -+#elif WTF_CPU_AARCH64 && WTF_PLATFORM_LINUX -+ static void cacheFlush(void* code, size_t size) -+ { -+ intptr_t end = reinterpret_cast<intptr_t>(code) + size; -+ __builtin___clear_cache(reinterpret_cast<char*>(code), reinterpret_cast<char*>(end)); -+ } - #else - static void makeWritable(void*, size_t) {} - static void makeExecutable(void*, size_t) {} -diff --git a/js/src/assembler/wtf/Platform.h b/js/src/assembler/wtf/Platform.h -index 0c84896..e8763a7 100644 ---- a/js/src/assembler/wtf/Platform.h -+++ b/js/src/assembler/wtf/Platform.h -@@ -325,6 +325,10 @@ - #define WTF_THUMB_ARCH_VERSION 0 - #endif - -+/* CPU(AArch64) - 64-bit ARM */ -+#if defined(__aarch64__) -+#define WTF_CPU_AARCH64 1 -+#endif - - /* WTF_CPU_ARMV5_OR_LOWER - ARM instruction set v5 or earlier */ - /* On ARMv5 and below the natural alignment is required. -diff --git a/js/src/configure.in b/js/src/configure.in -index 15605b2..19fd704 100644 ---- a/js/src/configure.in -+++ b/js/src/configure.in -@@ -1121,6 +1121,10 @@ arm*) - CPU_ARCH=arm - ;; - -+aarch64) -+ CPU_ARCH=aarch64 -+ ;; -+ - mips|mipsel) - CPU_ARCH="mips" - ;; -diff --git a/mfbt/double-conversion/utils.h b/mfbt/double-conversion/utils.h -index 0eec2d9..fe26dab 100644 ---- a/mfbt/double-conversion/utils.h -+++ b/mfbt/double-conversion/utils.h -@@ -58,6 +58,7 @@ - defined(__mips__) || defined(__powerpc__) || \ - defined(__sparc__) || defined(__sparc) || defined(__s390__) || \ - defined(__SH4__) || defined(__alpha__) || \ -+ defined(__aarch64__) || \ - defined(_MIPS_ARCH_MIPS32R2) - #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 - #elif defined(_M_IX86) || defined(__i386__) || defined(__i386) diff --git a/gnu/packages/patches/mozjs24-aarch64-support.patch b/gnu/packages/patches/mozjs24-aarch64-support.patch deleted file mode 100644 index 9dca8e500c..0000000000 --- a/gnu/packages/patches/mozjs24-aarch64-support.patch +++ /dev/null @@ -1,21 +0,0 @@ -This patch is sourced from Debian's mozjs24 patch set. - -Description: Add arm64 support -Author: Andreas Schwab <schwab@suse.de> -Origin: vendor, https://build.opensuse.org/package/view_file/openSUSE:Factory/mozjs17/mozjs-aarch64-support.patch -Forwarded: no -Last-Update: 2014-01-03 - -Index: b/mfbt/double-conversion/utils.h -=================================================================== ---- a/mfbt/double-conversion/utils.h -+++ b/mfbt/double-conversion/utils.h -@@ -58,7 +58,7 @@ - defined(__mips__) || defined(__powerpc__) || \ - defined(__sparc__) || defined(__sparc) || defined(__s390__) || \ - defined(__SH4__) || defined(__alpha__) || \ -- defined(_MIPS_ARCH_MIPS32R2) -+ defined(_MIPS_ARCH_MIPS32R2) || defined(__aarch64__) - #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 - #elif defined(_M_IX86) || defined(__i386__) || defined(__i386) - #if defined(_WIN32) diff --git a/gnu/packages/patches/mozjs38-pkg-config-version.patch b/gnu/packages/patches/mozjs38-pkg-config-version.patch deleted file mode 100644 index 49ff6f6f8d..0000000000 --- a/gnu/packages/patches/mozjs38-pkg-config-version.patch +++ /dev/null @@ -1,24 +0,0 @@ -Taken from https://bug1339931.bmoattachments.org/attachment.cgi?id=8837770. - -Add major version to pkg-config filename. -Author: Rico Tzschichholz <ricotz@ubuntu.com> -Forwarded: no -Last-Update: 2015-05-04 - -Index: b/js/src/Makefile.in -=================================================================== ---- a/js/src/Makefile.in -+++ b/js/src/Makefile.in -@@ -214,10 +214,10 @@ - $(JS_CONFIG_NAME): js-config - cp $^ $@ - --$(LIBRARY_NAME).pc: js.pc -+$(JS_LIBRARY_NAME).pc: js.pc - cp $^ $@ - --install:: $(LIBRARY_NAME).pc -+install:: $(JS_LIBRARY_NAME).pc - $(SYSINSTALL) $^ $(DESTDIR)$(libdir)/pkgconfig - - install:: js-config.h diff --git a/gnu/packages/patches/mozjs38-shell-version.patch b/gnu/packages/patches/mozjs38-shell-version.patch deleted file mode 100644 index e7d3d19c85..0000000000 --- a/gnu/packages/patches/mozjs38-shell-version.patch +++ /dev/null @@ -1,67 +0,0 @@ -Taken from https://bug1339931.bmoattachments.org/attachment.cgi?id=8837771. - -# HG changeset patch -# Parent 4732a0e5d22bc7e5c1f1ace7a182d537d9cc2c6a -Add major version to shell and js-config filenames. -Author: Rico Tzschichholz <ricotz@ubuntu.com> -Forwarded: no -Last-Update: 2014-10-29 - ---- -diff --git a/js/src/configure b/js/src/configure ---- a/js/src/configure -+++ b/js/src/configure -@@ -1696,8 +1696,13 @@ - MOZJS_PATCH_VERSION=`echo $MOZILLA_VERSION | sed "s|^[0-9]*\.[0-9]*[^0-9]*||"` - IS_ALPHA=`echo $MOZILLA_VERSION | grep '[ab]'` - -+if test -n "$JS_STANDALONE"; then -+JS_SHELL_NAME=js$MOZJS_MAJOR_VERSION -+JS_CONFIG_NAME=js$MOZJS_MAJOR_VERSION-config -+else - JS_SHELL_NAME=js - JS_CONFIG_NAME=js-config -+fi - - - if test -n "$IS_ALPHA"; then - -diff --git a/js/src/configure.in b/js/src/configure.in ---- a/js/src/configure.in -+++ b/js/src/configure.in -@@ -234,16 +234,13 @@ MOZJS_MINOR_VERSION=`echo $MOZILLA_VERSI - MOZJS_PATCH_VERSION=`echo $MOZILLA_VERSION | sed "s|^[0-9]*\.[0-9]*[^0-9]*||"` - IS_ALPHA=`echo $MOZILLA_VERSION | grep '[ab]'` - --dnl XXX in a temporary bid to avoid developer anger at renaming files --dnl XXX before "js" symlinks exist, don't change names. --dnl --dnl if test -n "$JS_STANDALONE"; then --dnl JS_SHELL_NAME=js$MOZJS_MAJOR_VERSION --dnl JS_CONFIG_NAME=js$MOZJS_MAJOR_VERSION-config --dnl else -+if test -n "$JS_STANDALONE"; then -+JS_SHELL_NAME=js$MOZJS_MAJOR_VERSION -+JS_CONFIG_NAME=js$MOZJS_MAJOR_VERSION-config -+else - JS_SHELL_NAME=js - JS_CONFIG_NAME=js-config --dnl fi -+fi - - changequote([,]) - if test -n "$IS_ALPHA"; then - -diff -r 80a9e64d75f5 js/src/Makefile.in ---- a/js/src/Makefile.in Wed Jun 25 15:11:42 2014 +0200 -+++ b/js/src/Makefile.in Sat Jul 05 14:08:38 2014 +0200 -@@ -273,6 +273,9 @@ - SCRIPTS = $(JS_CONFIG_NAME) - SDK_BINARY = $(JS_CONFIG_NAME) - -+$(JS_CONFIG_NAME): js-config -+ cp $^ $@ -+ - $(JS_LIBRARY_NAME).pc: js.pc - cp $^ $@ - diff --git a/gnu/packages/patches/mozjs38-tracelogger.patch b/gnu/packages/patches/mozjs38-tracelogger.patch deleted file mode 100644 index 0375ec36cc..0000000000 --- a/gnu/packages/patches/mozjs38-tracelogger.patch +++ /dev/null @@ -1,608 +0,0 @@ -Squashed version of several commits to fix the tracelogger. - -Taken from -https://github.com/GNOME/jhbuild/blob/master/patches/mozjs38-fix-tracelogger.patch. - -# === Fix the SM38 tracelogger === -# This patch is a squashed version of several patches that were adapted -# to fix failing hunks. -# -# Applied in the following order, they are: -# * https://bugzilla.mozilla.org/show_bug.cgi?id=1223767 -# Assertion failure: i < size_, at js/src/vm/TraceLoggingTypes.h:210 -# Also fix stop-information to make reduce.py work correctly. -# * https://bugzilla.mozilla.org/show_bug.cgi?id=1227914 -# Limit the memory tracelogger can take. -# This causes tracelogger to flush data to the disk regularly and prevents out of -# memory issues if a lot of data gets logged. -# * https://bugzilla.mozilla.org/show_bug.cgi?id=1155618 -# Fix tracelogger destructor that touches possibly uninitialised hash table. -# * https://bugzilla.mozilla.org/show_bug.cgi?id=1223636 -# Don't treat extraTextId as containing only extra ids. -# This fixes an assertion failure: id == nextTextId at js/src/vm/TraceLoggingGraph.cpp -# * https://bugzilla.mozilla.org/show_bug.cgi?id=1227028 -# Fix when to keep the payload of a TraceLogger event. -# This fixes an assertion failure: textId < uint32_t(1 << 31) at js/src/vm/TraceLoggingGraph.h -# * https://bugzilla.mozilla.org/show_bug.cgi?id=1266649 -# Handle failing to add to pointermap gracefully. -# * https://bugzilla.mozilla.org/show_bug.cgi?id=1280648 -# Don't cache based on pointers to movable GC things. -# * https://bugzilla.mozilla.org/show_bug.cgi?id=1224123 -# Fix the use of LastEntryId in tracelogger.h. -# * https://bugzilla.mozilla.org/show_bug.cgi?id=1231170 -# Use size in debugger instead of the current id to track last logged item. -# * https://bugzilla.mozilla.org/show_bug.cgi?id=1221844 -# Move TraceLogger_Invalidation to LOG_ITEM. -# Add some debug checks to logTimestamp. -# * https://bugzilla.mozilla.org/show_bug.cgi?id=1255766 -# Also mark resizing of memory. -# * https://bugzilla.mozilla.org/show_bug.cgi?id=1259403 -# Only increase capacity by multiples of 2. -# Always make sure there are 3 free slots for events. -# === - -diff --git a/js/src/jit-test/tests/tracelogger/bug1231170.js b/js/src/jit-test/tests/tracelogger/bug1231170.js -new file mode 100644 -index 0000000..023e93e ---- /dev/null -+++ b/js/src/jit-test/tests/tracelogger/bug1231170.js -@@ -0,0 +1,3 @@ -+var du = new Debugger(); -+if (typeof du.drainTraceLogger === "function") -+ du.drainTraceLogger(); -diff --git a/js/src/jit-test/tests/tracelogger/bug1266649.js b/js/src/jit-test/tests/tracelogger/bug1266649.js -new file mode 100644 -index 0000000..81ae7ad ---- /dev/null -+++ b/js/src/jit-test/tests/tracelogger/bug1266649.js -@@ -0,0 +1,10 @@ -+ -+var du = new Debugger(); -+if (typeof du.setupTraceLogger === "function" && -+ typeof oomTest === 'function') -+{ -+ du.setupTraceLogger({ -+ Scripts: true -+ }) -+ oomTest(() => function(){}); -+} -diff --git a/js/src/jit/Ion.cpp b/js/src/jit/Ion.cpp -index 93e2fda..09049d6 100644 ---- a/js/src/jit/Ion.cpp -+++ b/js/src/jit/Ion.cpp -@@ -1055,6 +1055,8 @@ IonScript::Destroy(FreeOp* fop, IonScript* script) - - script->destroyCaches(); - script->unlinkFromRuntime(fop); -+ // Frees the potential event we have set. -+ script->traceLoggerScriptEvent_ = TraceLoggerEvent(); - fop->free_(script); - } - -diff --git a/js/src/vm/Debugger.cpp b/js/src/vm/Debugger.cpp -index 26262fd..af7f313 100644 ---- a/js/src/vm/Debugger.cpp -+++ b/js/src/vm/Debugger.cpp -@@ -369,10 +369,10 @@ Debugger::Debugger(JSContext* cx, NativeObject* dbg) - objects(cx), - environments(cx), - #ifdef NIGHTLY_BUILD -- traceLoggerLastDrainedId(0), -+ traceLoggerLastDrainedSize(0), - traceLoggerLastDrainedIteration(0), - #endif -- traceLoggerScriptedCallsLastDrainedId(0), -+ traceLoggerScriptedCallsLastDrainedSize(0), - traceLoggerScriptedCallsLastDrainedIteration(0) - { - assertSameCompartment(cx, dbg); -@@ -3907,9 +3907,9 @@ Debugger::drainTraceLogger(JSContext* cx, unsigned argc, Value* vp) - size_t num; - TraceLoggerThread* logger = TraceLoggerForMainThread(cx->runtime()); - bool lostEvents = logger->lostEvents(dbg->traceLoggerLastDrainedIteration, -- dbg->traceLoggerLastDrainedId); -+ dbg->traceLoggerLastDrainedSize); - EventEntry* events = logger->getEventsStartingAt(&dbg->traceLoggerLastDrainedIteration, -- &dbg->traceLoggerLastDrainedId, -+ &dbg->traceLoggerLastDrainedSize, - &num); - - RootedObject array(cx, NewDenseEmptyArray(cx)); -@@ -4002,10 +4002,10 @@ Debugger::drainTraceLoggerScriptCalls(JSContext* cx, unsigned argc, Value* vp) - size_t num; - TraceLoggerThread* logger = TraceLoggerForMainThread(cx->runtime()); - bool lostEvents = logger->lostEvents(dbg->traceLoggerScriptedCallsLastDrainedIteration, -- dbg->traceLoggerScriptedCallsLastDrainedId); -+ dbg->traceLoggerScriptedCallsLastDrainedSize); - EventEntry* events = logger->getEventsStartingAt( - &dbg->traceLoggerScriptedCallsLastDrainedIteration, -- &dbg->traceLoggerScriptedCallsLastDrainedId, -+ &dbg->traceLoggerScriptedCallsLastDrainedSize, - &num); - - RootedObject array(cx, NewDenseEmptyArray(cx)); -diff --git a/js/src/vm/Debugger.h b/js/src/vm/Debugger.h -index 8cac36a..c92d685 100644 ---- a/js/src/vm/Debugger.h -+++ b/js/src/vm/Debugger.h -@@ -314,10 +314,10 @@ class Debugger : private mozilla::LinkedListElement<Debugger> - * lost events. - */ - #ifdef NIGHTLY_BUILD -- uint32_t traceLoggerLastDrainedId; -+ uint32_t traceLoggerLastDrainedSize; - uint32_t traceLoggerLastDrainedIteration; - #endif -- uint32_t traceLoggerScriptedCallsLastDrainedId; -+ uint32_t traceLoggerScriptedCallsLastDrainedSize; - uint32_t traceLoggerScriptedCallsLastDrainedIteration; - - class FrameRange; -diff --git a/js/src/vm/TraceLogging.cpp b/js/src/vm/TraceLogging.cpp -index 6715b36..9766a6f 100644 ---- a/js/src/vm/TraceLogging.cpp -+++ b/js/src/vm/TraceLogging.cpp -@@ -131,7 +131,7 @@ TraceLoggerThread::init() - { - if (!pointerMap.init()) - return false; -- if (!extraTextId.init()) -+ if (!textIdPayloads.init()) - return false; - if (!events.init()) - return false; -@@ -185,10 +185,10 @@ TraceLoggerThread::~TraceLoggerThread() - graph = nullptr; - } - -- for (TextIdHashMap::Range r = extraTextId.all(); !r.empty(); r.popFront()) -- js_delete(r.front().value()); -- extraTextId.finish(); -- pointerMap.finish(); -+ if (textIdPayloads.initialized()) { -+ for (TextIdHashMap::Range r = textIdPayloads.all(); !r.empty(); r.popFront()) -+ js_delete(r.front().value()); -+ } - } - - bool -@@ -287,7 +287,7 @@ TraceLoggerThread::eventText(uint32_t id) - if (id < TraceLogger_Last) - return TLTextIdString(static_cast<TraceLoggerTextId>(id)); - -- TextIdHashMap::Ptr p = extraTextId.lookup(id); -+ TextIdHashMap::Ptr p = textIdPayloads.lookup(id); - MOZ_ASSERT(p); - - return p->value()->string(); -@@ -341,13 +341,15 @@ TraceLoggerThread::extractScriptDetails(uint32_t textId, const char** filename, - TraceLoggerEventPayload* - TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId textId) - { -- TextIdHashMap::AddPtr p = extraTextId.lookupForAdd(textId); -- if (p) -+ TextIdHashMap::AddPtr p = textIdPayloads.lookupForAdd(textId); -+ if (p) { -+ MOZ_ASSERT(p->value()->textId() == textId); // Sanity check. - return p->value(); -+ } - - TraceLoggerEventPayload* payload = js_new<TraceLoggerEventPayload>(textId, (char*)nullptr); - -- if (!extraTextId.add(p, textId, payload)) -+ if (!textIdPayloads.add(p, textId, payload)) - return nullptr; - - return payload; -@@ -357,8 +359,10 @@ TraceLoggerEventPayload* - TraceLoggerThread::getOrCreateEventPayload(const char* text) - { - PointerHashMap::AddPtr p = pointerMap.lookupForAdd((const void*)text); -- if (p) -+ if (p) { -+ MOZ_ASSERT(p->value()->textId() < nextTextId); // Sanity check. - return p->value(); -+ } - - size_t len = strlen(text); - char* str = js_pod_malloc<char>(len + 1); -@@ -369,7 +373,7 @@ TraceLoggerThread::getOrCreateEventPayload(const char* text) - MOZ_ASSERT(ret == len); - MOZ_ASSERT(strlen(str) == len); - -- uint32_t textId = extraTextId.count() + TraceLogger_Last; -+ uint32_t textId = nextTextId; - - TraceLoggerEventPayload* payload = js_new<TraceLoggerEventPayload>(textId, str); - if (!payload) { -@@ -377,17 +381,19 @@ TraceLoggerThread::getOrCreateEventPayload(const char* text) - return nullptr; - } - -- if (!extraTextId.putNew(textId, payload)) { -+ if (!textIdPayloads.putNew(textId, payload)) { - js_delete(payload); - return nullptr; - } - -- if (!pointerMap.add(p, text, payload)) -- return nullptr; -- - if (graph.get()) - graph->addTextId(textId, str); - -+ nextTextId++; -+ -+ if (!pointerMap.add(p, text, payload)) -+ return nullptr; -+ - return payload; - } - -@@ -407,9 +413,14 @@ TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId type, const char* f - if (!traceLoggerState->isTextIdEnabled(type)) - return getOrCreateEventPayload(type); - -- PointerHashMap::AddPtr p = pointerMap.lookupForAdd(ptr); -- if (p) -- return p->value(); -+ PointerHashMap::AddPtr p; -+ if (ptr) { -+ p = pointerMap.lookupForAdd(ptr); -+ if (p) { -+ MOZ_ASSERT(p->value()->textId() < nextTextId); // Sanity check. -+ return p->value(); -+ } -+ } - - // Compute the length of the string to create. - size_t lenFilename = strlen(filename); -@@ -428,24 +439,28 @@ TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId type, const char* f - MOZ_ASSERT(ret == len); - MOZ_ASSERT(strlen(str) == len); - -- uint32_t textId = extraTextId.count() + TraceLogger_Last; -+ uint32_t textId = nextTextId; - TraceLoggerEventPayload* payload = js_new<TraceLoggerEventPayload>(textId, str); - if (!payload) { - js_free(str); - return nullptr; - } - -- if (!extraTextId.putNew(textId, payload)) { -+ if (!textIdPayloads.putNew(textId, payload)) { - js_delete(payload); - return nullptr; - } - -- if (!pointerMap.add(p, ptr, payload)) -- return nullptr; -- - if (graph.get()) - graph->addTextId(textId, str); - -+ nextTextId++; -+ -+ if (ptr) { -+ if (!pointerMap.add(p, ptr, payload)) -+ return nullptr; -+ } -+ - return payload; - } - -@@ -453,14 +468,14 @@ TraceLoggerEventPayload* - TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId type, JSScript* script) - { - return getOrCreateEventPayload(type, script->filename(), script->lineno(), script->column(), -- script); -+ nullptr); - } - - TraceLoggerEventPayload* - TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId type, - const JS::ReadOnlyCompileOptions& script) - { -- return getOrCreateEventPayload(type, script.filename(), script.lineno, script.column, &script); -+ return getOrCreateEventPayload(type, script.filename(), script.lineno, script.column, nullptr); - } - - void -@@ -485,7 +500,7 @@ TraceLoggerThread::startEvent(uint32_t id) - if (!traceLoggerState->isTextIdEnabled(id)) - return; - -- logTimestamp(id); -+ log(id); - } - - void -@@ -510,7 +525,7 @@ TraceLoggerThread::stopEvent(uint32_t id) - if (!traceLoggerState->isTextIdEnabled(id)) - return; - -- logTimestamp(TraceLogger_Stop); -+ log(TraceLogger_Stop); - } - - void -@@ -522,23 +537,57 @@ TraceLoggerThread::logTimestamp(TraceLoggerTextId id) - void - TraceLoggerThread::logTimestamp(uint32_t id) - { -+ MOZ_ASSERT(id > TraceLogger_LastTreeItem && id < TraceLogger_Last); -+ log(id); -+} -+ -+void -+TraceLoggerThread::log(uint32_t id) -+{ - if (enabled == 0) - return; - - MOZ_ASSERT(traceLoggerState); -- if (!events.ensureSpaceBeforeAdd()) { -+ -+ // We request for 3 items to add, since if we don't have enough room -+ // we record the time it took to make more place. To log this information -+ // we need 2 extra free entries. -+ if (!events.hasSpaceForAdd(3)) { - uint64_t start = rdtsc() - traceLoggerState->startupTime; - -- if (graph.get()) -- graph->log(events); -+ if (!events.ensureSpaceBeforeAdd(3)) { -+ if (graph.get()) -+ graph->log(events); -+ -+ iteration_++; -+ events.clear(); -+ -+ // Remove the item in the pointerMap for which the payloads -+ // have no uses anymore -+ for (PointerHashMap::Enum e(pointerMap); !e.empty(); e.popFront()) { -+ if (e.front().value()->uses() != 0) -+ continue; -+ -+ TextIdHashMap::Ptr p = textIdPayloads.lookup(e.front().value()->textId()); -+ MOZ_ASSERT(p); -+ textIdPayloads.remove(p); -+ -+ e.removeFront(); -+ } - -- iteration_++; -- events.clear(); -+ // Free all payloads that have no uses anymore. -+ for (TextIdHashMap::Enum e(textIdPayloads); !e.empty(); e.popFront()) { -+ if (e.front().value()->uses() == 0) { -+ js_delete(e.front().value()); -+ e.removeFront(); -+ } -+ } -+ } - - // Log the time it took to flush the events as being from the - // Tracelogger. - if (graph.get()) { -- MOZ_ASSERT(events.capacity() > 2); -+ MOZ_ASSERT(events.hasSpaceForAdd(2)); - EventEntry& entryStart = events.pushUninitialized(); - entryStart.time = start; - entryStart.textId = TraceLogger_Internal; -@@ -548,13 +597,6 @@ TraceLoggerThread::logTimestamp(uint32_t id) - entryStop.textId = TraceLogger_Stop; - } - -- // Free all TextEvents that have no uses anymore. -- for (TextIdHashMap::Enum e(extraTextId); !e.empty(); e.popFront()) { -- if (e.front().value()->uses() == 0) { -- js_delete(e.front().value()); -- e.removeFront(); -- } -- } - } - - uint64_t time = rdtsc() - traceLoggerState->startupTime; -@@ -956,3 +998,16 @@ TraceLoggerEvent::~TraceLoggerEvent() - if (payload_) - payload_->release(); - } -+ -+TraceLoggerEvent& -+TraceLoggerEvent::operator=(const TraceLoggerEvent& other) -+{ -+ if (hasPayload()) -+ payload()->release(); -+ if (other.hasPayload()) -+ other.payload()->use(); -+ -+ payload_ = other.payload_; -+ -+ return *this; -+} -diff --git a/js/src/vm/TraceLogging.h b/js/src/vm/TraceLogging.h -index a124dcb..91a1eb0 100644 ---- a/js/src/vm/TraceLogging.h -+++ b/js/src/vm/TraceLogging.h -@@ -110,6 +110,9 @@ class TraceLoggerEvent { - bool hasPayload() const { - return !!payload_; - } -+ -+ TraceLoggerEvent& operator=(const TraceLoggerEvent& other); -+ TraceLoggerEvent(const TraceLoggerEvent& event) = delete; - }; - - /** -@@ -130,6 +133,10 @@ class TraceLoggerEventPayload { - uses_(0) - { } - -+ ~TraceLoggerEventPayload() { -+ MOZ_ASSERT(uses_ == 0); -+ } -+ - uint32_t textId() { - return textId_; - } -@@ -166,7 +173,8 @@ class TraceLoggerThread - mozilla::UniquePtr<TraceLoggerGraph> graph; - - PointerHashMap pointerMap; -- TextIdHashMap extraTextId; -+ TextIdHashMap textIdPayloads; -+ uint32_t nextTextId; - - ContinuousSpace<EventEntry> events; - -@@ -181,6 +189,7 @@ class TraceLoggerThread - : enabled(0), - failed(false), - graph(), -+ nextTextId(TraceLogger_Last), - iteration_(0), - top(nullptr) - { } -@@ -195,22 +204,22 @@ class TraceLoggerThread - bool enable(JSContext* cx); - bool disable(); - -- // Given the previous iteration and lastEntryId, return an array of events -+ // Given the previous iteration and size, return an array of events - // (there could be lost events). At the same time update the iteration and -- // lastEntry and gives back how many events there are. -- EventEntry* getEventsStartingAt(uint32_t* lastIteration, uint32_t* lastEntryId, size_t* num) { -+ // size and gives back how many events there are. -+ EventEntry* getEventsStartingAt(uint32_t* lastIteration, uint32_t* lastSize, size_t* num) { - EventEntry* start; - if (iteration_ == *lastIteration) { -- MOZ_ASSERT(events.lastEntryId() >= *lastEntryId); -- *num = events.lastEntryId() - *lastEntryId; -- start = events.data() + *lastEntryId + 1; -+ MOZ_ASSERT(*lastSize <= events.size()); -+ *num = events.size() - *lastSize; -+ start = events.data() + *lastSize; - } else { -- *num = events.lastEntryId() + 1; -+ *num = events.size(); - start = events.data(); - } - - *lastIteration = iteration_; -- *lastEntryId = events.lastEntryId(); -+ *lastSize = events.size(); - return start; - } - -@@ -220,16 +229,16 @@ class TraceLoggerThread - const char** lineno, size_t* lineno_len, const char** colno, - size_t* colno_len); - -- bool lostEvents(uint32_t lastIteration, uint32_t lastEntryId) { -+ bool lostEvents(uint32_t lastIteration, uint32_t lastSize) { - // If still logging in the same iteration, there are no lost events. - if (lastIteration == iteration_) { -- MOZ_ASSERT(lastEntryId <= events.lastEntryId()); -+ MOZ_ASSERT(lastSize <= events.size()); - return false; - } - -- // When proceeded to the next iteration and lastEntryId points to -- // the maximum capacity there are no logs that are lost. -- if (lastIteration + 1 == iteration_ && lastEntryId == events.capacity()) -+ // If we are in a consecutive iteration we are only sure we didn't lose any events, -+ // when the lastSize equals the maximum size 'events' can get. -+ if (lastIteration == iteration_ - 1 && lastSize == events.maxSize()) - return false; - - return true; -@@ -268,6 +277,7 @@ class TraceLoggerThread - void stopEvent(uint32_t id); - private: - void stopEvent(); -+ void log(uint32_t id); - - public: - static unsigned offsetOfEnabled() { -diff --git a/js/src/vm/TraceLoggingGraph.cpp b/js/src/vm/TraceLoggingGraph.cpp -index d1b7f2e..a4eb273 100644 ---- a/js/src/vm/TraceLoggingGraph.cpp -+++ b/js/src/vm/TraceLoggingGraph.cpp -@@ -276,7 +276,7 @@ TraceLoggerGraph::flush() - if (bytesWritten < tree.size()) - return false; - -- treeOffset += tree.lastEntryId(); -+ treeOffset += tree.size(); - tree.clear(); - } - -@@ -359,7 +359,7 @@ TraceLoggerGraph::startEventInternal(uint32_t id, uint64_t timestamp) - - if (parent.lastChildId() == 0) { - MOZ_ASSERT(!entry.hasChildren()); -- MOZ_ASSERT(parent.treeId() == tree.lastEntryId() + treeOffset); -+ MOZ_ASSERT(parent.treeId() == treeOffset + tree.size() - 1); - - if (!updateHasChildren(parent.treeId())) - return false; -diff --git a/js/src/vm/TraceLoggingTypes.h b/js/src/vm/TraceLoggingTypes.h -index f1c9d0c..10b76d6 100644 ---- a/js/src/vm/TraceLoggingTypes.h -+++ b/js/src/vm/TraceLoggingTypes.h -@@ -21,7 +21,6 @@ - _(Internal) \ - _(Interpreter) \ - _(InlinedScripts) \ -- _(Invalidation) \ - _(IonCompilation) \ - _(IonCompilationPaused) \ - _(IonLinking) \ -@@ -60,6 +59,7 @@ - - #define TRACELOGGER_LOG_ITEMS(_) \ - _(Bailout) \ -+ _(Invalidation) \ - _(Disable) \ - _(Enable) \ - _(Stop) -@@ -130,6 +130,9 @@ class ContinuousSpace { - uint32_t size_; - uint32_t capacity_; - -+ // The maximum amount of ram memory a continuous space structure can take (in bytes). -+ static const uint32_t LIMIT = 200 * 1024 * 1024; -+ - public: - ContinuousSpace () - : data_(nullptr) -@@ -151,6 +154,10 @@ class ContinuousSpace { - data_ = nullptr; - } - -+ static uint32_t maxSize() { -+ return LIMIT / sizeof(T); -+ } -+ - T* data() { - return data_; - } -@@ -187,11 +194,14 @@ class ContinuousSpace { - if (hasSpaceForAdd(count)) - return true; - -+ // Limit the size of a continuous buffer. -+ if (size_ + count > maxSize()) -+ return false; -+ - uint32_t nCapacity = capacity_ * 2; -- if (size_ + count > nCapacity) -- nCapacity = size_ + count; -- T* entries = (T*) js_realloc(data_, nCapacity * sizeof(T)); -+ nCapacity = (nCapacity < maxSize()) ? nCapacity : maxSize(); - -+ T* entries = (T*) js_realloc(data_, nCapacity * sizeof(T)); - if (!entries) - return false; - diff --git a/gnu/packages/patches/mozjs38-version-detection.patch b/gnu/packages/patches/mozjs38-version-detection.patch deleted file mode 100644 index ec2d264ccc..0000000000 --- a/gnu/packages/patches/mozjs38-version-detection.patch +++ /dev/null @@ -1,180 +0,0 @@ -Taken from -https://trac.wildfiregames.com/export/18656/ps/trunk/libraries/source/spidermonkey/FixVersionDetectionConfigure.diff. - -Fixes a version detection issue in 0ad. See -https://lists.gnu.org/archive/html/guix-devel/2017-01/msg00625.html. - -diff --git a/js/src/configure b/js/src/configure ---- a/js/src/configure -+++ b/js/src/configure -@@ -1662,70 +1662,6 @@ esac - - fi - --MOZILLA_VERSION=`$PYTHON $srcdir/python/mozbuild/mozbuild/milestone.py --topsrcdir $srcdir` --MOZILLA_UAVERSION=`$PYTHON $srcdir/python/mozbuild/mozbuild/milestone.py --topsrcdir $srcdir --uaversion` --MOZILLA_SYMBOLVERSION=`$PYTHON $srcdir/python/mozbuild/mozbuild/milestone.py --topsrcdir $srcdir --symbolversion` -- --cat >> confdefs.pytmp <<EOF -- (''' MOZILLA_VERSION ''', r''' "$MOZILLA_VERSION" ''') --EOF --cat >> confdefs.h <<EOF --#define MOZILLA_VERSION "$MOZILLA_VERSION" --EOF -- --cat >> confdefs.pytmp <<EOF -- (''' MOZILLA_VERSION_U ''', r''' $MOZILLA_VERSION ''') --EOF --cat >> confdefs.h <<EOF --#define MOZILLA_VERSION_U $MOZILLA_VERSION --EOF -- --cat >> confdefs.pytmp <<EOF -- (''' MOZILLA_UAVERSION ''', r''' "$MOZILLA_UAVERSION" ''') --EOF --cat >> confdefs.h <<EOF --#define MOZILLA_UAVERSION "$MOZILLA_UAVERSION" --EOF -- -- -- --# Separate version into components for use in shared object naming etc -- --MOZJS_MAJOR_VERSION=`echo $MOZILLA_VERSION | sed "s|\(^[0-9]*\)\.[0-9]*.*|\1|"` --MOZJS_MINOR_VERSION=`echo $MOZILLA_VERSION | sed "s|^[0-9]*\.\([0-9]*\).*|\1|"` --MOZJS_PATCH_VERSION=`echo $MOZILLA_VERSION | sed "s|^[0-9]*\.[0-9]*[^0-9]*||"` --IS_ALPHA=`echo $MOZILLA_VERSION | grep '[ab]'` -- --JS_SHELL_NAME=js --JS_CONFIG_NAME=js-config -- -- --if test -n "$IS_ALPHA"; then -- -- MOZJS_ALPHA=`echo $MOZILLA_VERSION | sed "s|^[0-9]*\.[0-9\.]*\([^0-9]\).*|\1|"` -- --fi --cat >> confdefs.pytmp <<EOF -- (''' MOZJS_MAJOR_VERSION ''', r''' $MOZJS_MAJOR_VERSION ''') --EOF --cat >> confdefs.h <<EOF --#define MOZJS_MAJOR_VERSION $MOZJS_MAJOR_VERSION --EOF -- --cat >> confdefs.pytmp <<EOF -- (''' MOZJS_MINOR_VERSION ''', r''' $MOZJS_MINOR_VERSION ''') --EOF --cat >> confdefs.h <<EOF --#define MOZJS_MINOR_VERSION $MOZJS_MINOR_VERSION --EOF -- -- -- -- -- -- -- -- - - AR_FLAGS='crs $@' - -@@ -5731,6 +5565,71 @@ XCFLAGS="$X_CFLAGS" - - fi # COMPILE_ENVIRONMENT - -+MOZILLA_VERSION=`$PYTHON $srcdir/python/mozbuild/mozbuild/milestone.py --topsrcdir $srcdir` -+MOZILLA_UAVERSION=`$PYTHON $srcdir/python/mozbuild/mozbuild/milestone.py --topsrcdir $srcdir --uaversion` -+MOZILLA_SYMBOLVERSION=`$PYTHON $srcdir/python/mozbuild/mozbuild/milestone.py --topsrcdir $srcdir --symbolversion` -+ -+cat >> confdefs.pytmp <<EOF -+ (''' MOZILLA_VERSION ''', r''' "$MOZILLA_VERSION" ''') -+EOF -+cat >> confdefs.h <<EOF -+#define MOZILLA_VERSION "$MOZILLA_VERSION" -+EOF -+ -+cat >> confdefs.pytmp <<EOF -+ (''' MOZILLA_VERSION_U ''', r''' $MOZILLA_VERSION ''') -+EOF -+cat >> confdefs.h <<EOF -+#define MOZILLA_VERSION_U $MOZILLA_VERSION -+EOF -+ -+cat >> confdefs.pytmp <<EOF -+ (''' MOZILLA_UAVERSION ''', r''' "$MOZILLA_UAVERSION" ''') -+EOF -+cat >> confdefs.h <<EOF -+#define MOZILLA_UAVERSION "$MOZILLA_UAVERSION" -+EOF -+ -+ -+ -+# Separate version into components for use in shared object naming etc -+ -+MOZJS_MAJOR_VERSION=`echo $MOZILLA_VERSION | sed "s|\(^[0-9]*\)\.[0-9]*.*|\1|"` -+MOZJS_MINOR_VERSION=`echo $MOZILLA_VERSION | sed "s|^[0-9]*\.\([0-9]*\).*|\1|"` -+MOZJS_PATCH_VERSION=`echo $MOZILLA_VERSION | sed "s|^[0-9]*\.[0-9]*[^0-9]*||"` -+IS_ALPHA=`echo $MOZILLA_VERSION | grep '[ab]'` -+ -+JS_SHELL_NAME=js -+JS_CONFIG_NAME=js-config -+ -+ -+if test -n "$IS_ALPHA"; then -+ -+ MOZJS_ALPHA=`echo $MOZILLA_VERSION | sed "s|^[0-9]*\.[0-9\.]*\([^0-9]\).*|\1|"` -+ -+fi -+cat >> confdefs.pytmp <<EOF -+ (''' MOZJS_MAJOR_VERSION ''', r''' $MOZJS_MAJOR_VERSION ''') -+EOF -+cat >> confdefs.h <<EOF -+#define MOZJS_MAJOR_VERSION $MOZJS_MAJOR_VERSION -+EOF -+ -+cat >> confdefs.pytmp <<EOF -+ (''' MOZJS_MINOR_VERSION ''', r''' $MOZJS_MINOR_VERSION ''') -+EOF -+cat >> confdefs.h <<EOF -+#define MOZJS_MINOR_VERSION $MOZJS_MINOR_VERSION -+EOF -+ -+ -+ -+ -+ -+ -+ -+ -+ - AS_BIN=$AS - AR_LIST='$(AR) t' - AR_EXTRACT='$(AR) x' -@@ -16003,13 +15908,6 @@ sed 's/$/,/' >> $CONFIG_STATUS <<EOF - (''' ANDROID_NDK ''', r''' $ANDROID_NDK ''') - (''' ANDROID_TOOLCHAIN ''', r''' $ANDROID_TOOLCHAIN ''') - (''' ANDROID_PLATFORM ''', r''' $ANDROID_PLATFORM ''') -- (''' MOZILLA_SYMBOLVERSION ''', r''' $MOZILLA_SYMBOLVERSION ''') -- (''' JS_SHELL_NAME ''', r''' $JS_SHELL_NAME ''') -- (''' JS_CONFIG_NAME ''', r''' $JS_CONFIG_NAME ''') -- (''' MOZJS_MAJOR_VERSION ''', r''' $MOZJS_MAJOR_VERSION ''') -- (''' MOZJS_MINOR_VERSION ''', r''' $MOZJS_MINOR_VERSION ''') -- (''' MOZJS_PATCH_VERSION ''', r''' $MOZJS_PATCH_VERSION ''') -- (''' MOZJS_ALPHA ''', r''' $MOZJS_ALPHA ''') - (''' HOST_CC ''', r''' $HOST_CC ''') - (''' HOST_CXX ''', r''' $HOST_CXX ''') - (''' HOST_RANLIB ''', r''' $HOST_RANLIB ''') -@@ -16061,6 +15959,13 @@ sed 's/$/,/' >> $CONFIG_STATUS <<EOF - (''' X_PRE_LIBS ''', r''' $X_PRE_LIBS ''') - (''' X_LIBS ''', r''' $X_LIBS ''') - (''' X_EXTRA_LIBS ''', r''' $X_EXTRA_LIBS ''') -+ (''' MOZILLA_SYMBOLVERSION ''', r''' $MOZILLA_SYMBOLVERSION ''') -+ (''' JS_SHELL_NAME ''', r''' $JS_SHELL_NAME ''') -+ (''' JS_CONFIG_NAME ''', r''' $JS_CONFIG_NAME ''') -+ (''' MOZJS_MAJOR_VERSION ''', r''' $MOZJS_MAJOR_VERSION ''') -+ (''' MOZJS_MINOR_VERSION ''', r''' $MOZJS_MINOR_VERSION ''') -+ (''' MOZJS_PATCH_VERSION ''', r''' $MOZJS_PATCH_VERSION ''') -+ (''' MOZJS_ALPHA ''', r''' $MOZJS_ALPHA ''') - (''' SOLARIS_SUNPRO_CC ''', r''' $SOLARIS_SUNPRO_CC ''') - (''' SOLARIS_SUNPRO_CXX ''', r''' $SOLARIS_SUNPRO_CXX ''') - (''' MOZ_THUMB2 ''', r''' $MOZ_THUMB2 ''') diff --git a/gnu/packages/patches/mozjs60-riscv64-support.patch b/gnu/packages/patches/mozjs60-riscv64-support.patch deleted file mode 100644 index c9fa2ba9b3..0000000000 --- a/gnu/packages/patches/mozjs60-riscv64-support.patch +++ /dev/null @@ -1,122 +0,0 @@ -This is a combination of several upstream patches which weren't accepted. -They were proposed by Fedora for spidermonkey 52 and were ultimately -accepted years later after some changes for a later version. It was -adapted slightly from both sets of patches to apply cleanly to mozjs-60. - -https://bugzilla.mozilla.org/show_bug.cgi?id=1318905 -https://bug1318905.bmoattachments.org/attachment.cgi?id=8812602 -https://bug1318905.bmoattachments.org/attachment.cgi?id=8812603 -https://bug1318905.bmoattachments.org/attachment.cgi?id=8812604 -https://phabricator.services.mozilla.com/D78623 -https://phabricator.services.mozilla.com/D78624 -https://phabricator.services.mozilla.com/D78625 - - -diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure -index 83b8d705..59131525 100644 ---- a/build/moz.configure/init.configure -+++ b/build/moz.configure/init.configure -@@ -676,6 +676,9 @@ def split_triplet(triplet, allow_unknown=False): - elif cpu == 'sh4': - canonical_cpu = 'sh4' - endianness = 'little' -+ elif cpu.startswith('riscv64'): -+ canonical_cpu = 'riscv64' -+ endianness = 'little' - elif allow_unknown: - canonical_cpu = cpu - endianness = 'unknown' -diff --git a/js/src/jit/AtomicOperations.h b/js/src/jit/AtomicOperations.h -index a8970b0d..6b947a3f 100644 ---- a/js/src/jit/AtomicOperations.h -+++ b/js/src/jit/AtomicOperations.h -@@ -375,7 +375,7 @@ AtomicOperations::isLockfreeJS(int32_t size) - # endif - #elif defined(__ppc__) || defined(__PPC__) - # include "jit/none/AtomicOperations-feeling-lucky.h" --#elif defined(__sparc__) -+#elif defined(__sparc__) || defined(__riscv) - # include "jit/none/AtomicOperations-feeling-lucky.h" - #elif defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || defined(__PPC64LE__) - # include "jit/none/AtomicOperations-feeling-lucky.h" -diff --git a/js/src/jit/none/AtomicOperations-feeling-lucky.h b/js/src/jit/none/AtomicOperations-feeling-lucky.h -index da572284..6ce40c89 100644 ---- a/js/src/jit/none/AtomicOperations-feeling-lucky.h -+++ b/js/src/jit/none/AtomicOperations-feeling-lucky.h -@@ -49,6 +49,12 @@ - # define GNUC_COMPATIBLE - #endif - -+#if defined(__riscv) && __riscv_xlen == 64 -+# define HAS_64BIT_ATOMICS -+# define HAS_64BIT_LOCKFREE -+# define GNUC_COMPATIBLE -+#endif -+ - #ifdef __sparc__ - # define GNUC_COMPATIBLE - # ifdef __LP64__ -diff --git a/js/src/jit/none/MacroAssembler-none.h b/js/src/jit/none/MacroAssembler-none.h -index 80143dc8..b430fedb 100644 ---- a/js/src/jit/none/MacroAssembler-none.h -+++ b/js/src/jit/none/MacroAssembler-none.h -@@ -402,6 +402,10 @@ class MacroAssemblerNone : public Assembler - #endif - }; - -+ struct AutoPrepareForPatching { -+ explicit AutoPrepareForPatching(MacroAssemblerNone&) {} -+ }; -+ - typedef MacroAssemblerNone MacroAssemblerSpecific; - - class ABIArgGenerator -diff --git a/mfbt/tests/TestPoisonArea.cpp b/mfbt/tests/TestPoisonArea.cpp -index 06c24ed0..c3fed0df 100644 ---- a/mfbt/tests/TestPoisonArea.cpp -+++ b/mfbt/tests/TestPoisonArea.cpp -@@ -160,6 +160,9 @@ - #elif defined __aarch64__ - #define RETURN_INSTR 0xd65f03c0 /* ret */ - -+#elif defined __riscv -+#define RETURN_INSTR 0x80828082 /* ret; ret */ -+ - #elif defined __ia64 - struct ia64_instr { uint32_t mI[4]; }; - static const ia64_instr _return_instr = -diff --git a/python/mozbuild/mozbuild/configure/constants.py b/python/mozbuild/mozbuild/configure/constants.py -index 33ae5a45..11a01d3b 100644 ---- a/python/mozbuild/mozbuild/configure/constants.py -+++ b/python/mozbuild/mozbuild/configure/constants.py -@@ -50,6 +50,7 @@ CPU_bitness = { - 'mips64': 64, - 'ppc': 32, - 'ppc64': 64, -+ 'riscv64': 64, - 's390': 32, - 's390x': 64, - 'sh4': 32, -@@ -82,6 +84,7 @@ CPU_preprocessor_checks = OrderedDict(( - ('s390', '__s390__'), - ('ppc64', '__powerpc64__'), - ('ppc', '__powerpc__'), -+ ('riscv64', '__riscv && __riscv_xlen == 64'), - ('Alpha', '__alpha__'), - ('hppa', '__hppa__'), - ('sparc64', '__sparc__ && __arch64__'), -diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py -index cb7ff709..9da41adf 100755 ---- a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py -+++ b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py -@@ -1165,6 +1165,10 @@ class LinuxCrossCompileToolchainTest(BaseToolchainTest): - 'sh4-unknown-linux-gnu': little_endian + { - '__sh__': 1, - }, -+ 'riscv64-unknown-linux-gnu': little_endian + { -+ '__riscv': 1, -+ '__riscv_xlen': 64, -+ }, - } - - PLATFORMS['powerpc64le-unknown-linux-gnu'] = \ diff --git a/gnu/packages/patches/openbox-python3.patch b/gnu/packages/patches/openbox-python3.patch new file mode 100644 index 0000000000..782524d8a7 --- /dev/null +++ b/gnu/packages/patches/openbox-python3.patch @@ -0,0 +1,165 @@ +Retrieved from the openbox Debian package. + +From acfbbc4ea40932f183617bb7006700140fe5f61e Mon Sep 17 00:00:00 2001 +From: Troy Curtis Jr <troycurtisjr@gmail.com> +Date: Wed, 13 Sep 2017 21:59:48 -0500 +Subject: [PATCH] Add python3 support to openbox-xdg-autostart. + +Updated syntax in openbox-xdg-autostart to support both python2 and +python3. + +Added a configure substitution to set the chosen python at build time. + +https://bugzilla.icculus.org/show_bug.cgi?id=6444 +--- + .gitignore | 1 + + configure.ac | 3 + + ...xdg-autostart => openbox-xdg-autostart.in} | 70 +++++++++---------- + 3 files changed, 38 insertions(+), 36 deletions(-) + rename data/autostart/{openbox-xdg-autostart => openbox-xdg-autostart.in} (77%) + +diff --git a/configure.ac b/configure.ac +index ca1602670..9a31e9845 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -103,6 +103,8 @@ AC_CHECK_HEADERS(ctype.h dirent.h errno.h fcntl.h grp.h locale.h pwd.h) + AC_CHECK_HEADERS(signal.h string.h stdio.h stdlib.h unistd.h sys/stat.h) + AC_CHECK_HEADERS(sys/select.h sys/socket.h sys/time.h sys/types.h sys/wait.h) + ++AM_PATH_PYTHON([2],,) ++ + AC_PATH_PROG([SED], [sed], [no]) + if test "$SED" = "no"; then + AC_MSG_ERROR([The program "sed" is not available. This program is required to build Openbox.]) +@@ -259,6 +261,7 @@ AC_CONFIG_FILES([ + obrender/version.h + obt/version.h + version.h ++ data/autostart/openbox-xdg-autostart + ]) + AC_CONFIG_COMMANDS([doc], + [test -d doc || mkdir doc]) +diff --git a/data/autostart/openbox-xdg-autostart b/data/autostart/openbox-xdg-autostart.in +similarity index 77% +rename from data/autostart/openbox-xdg-autostart +rename to data/autostart/openbox-xdg-autostart.in +index 04a17a199..3c365b112 100755 +--- a/data/autostart/openbox-xdg-autostart ++++ b/data/autostart/openbox-xdg-autostart.in +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!@PYTHON@ + + # openbox-xdg-autostart runs things based on the XDG autostart specification + # Copyright (C) 2008 Dana Jansens +@@ -28,9 +28,7 @@ try: + from xdg.DesktopEntry import DesktopEntry + from xdg.Exceptions import ParsingError + except ImportError: +- print +- print >>sys.stderr, "ERROR:", ME, "requires PyXDG to be installed" +- print ++ sys.stderr.write("\nERROR: %s requires PyXDG to be installed\n" % ME) + sys.exit(1) + + def main(argv=sys.argv): +@@ -51,7 +49,7 @@ def main(argv=sys.argv): + try: + autofile = AutostartFile(path) + except ParsingError: +- print "Invalid .desktop file: " + path ++ print("Invalid .desktop file: " + path) + else: + if not autofile in files: + files.append(autofile) +@@ -99,9 +97,9 @@ class AutostartFile: + + def _alert(self, str, info=False): + if info: +- print "\t ", str ++ print("\t ", str) + else: +- print "\t*", str ++ print("\t*", str) + + def _showInEnvironment(self, envs, verbose=False): + default = not self.de.getOnlyShowIn() +@@ -146,14 +144,14 @@ class AutostartFile: + + def display(self, envs): + if self._shouldRun(envs): +- print "[*] " + self.de.getName() ++ print("[*] " + self.de.getName()) + else: +- print "[ ] " + self.de.getName() ++ print("[ ] " + self.de.getName()) + self._alert("File: " + self.path, info=True) + if self.de.getExec(): + self._alert("Executes: " + self.de.getExec(), info=True) + self._shouldRun(envs, True) +- print ++ print() + + def run(self, envs): + here = os.getcwd() +@@ -165,34 +163,34 @@ class AutostartFile: + os.chdir(here) + + def show_help(): +- print "Usage:", ME, "[OPTION]... [ENVIRONMENT]..." +- print +- print "This tool will run xdg autostart .desktop files" +- print +- print "OPTIONS" +- print " --list Show a list of the files which would be run" +- print " Files which would be run are marked with an asterix" +- print " symbol [*]. For files which would not be run," +- print " information is given for why they are excluded" +- print " --help Show this help and exit" +- print " --version Show version and copyright information" +- print +- print "ENVIRONMENT specifies a list of environments for which to run autostart" +- print "applications. If none are specified, only applications which do not " +- print "limit themselves to certain environments will be run." +- print +- print "ENVIRONMENT can be one or more of:" +- print " GNOME Gnome Desktop" +- print " KDE KDE Desktop" +- print " ROX ROX Desktop" +- print " XFCE XFCE Desktop" +- print " Old Legacy systems" +- print ++ print("Usage:", ME, "[OPTION]... [ENVIRONMENT]...") ++ print() ++ print("This tool will run xdg autostart .desktop files") ++ print() ++ print("OPTIONS") ++ print(" --list Show a list of the files which would be run") ++ print(" Files which would be run are marked with an asterix") ++ print(" symbol [*]. For files which would not be run,") ++ print(" information is given for why they are excluded") ++ print(" --help Show this help and exit") ++ print(" --version Show version and copyright information") ++ print() ++ print("ENVIRONMENT specifies a list of environments for which to run autostart") ++ print("applications. If none are specified, only applications which do not ") ++ print("limit themselves to certain environments will be run.") ++ print() ++ print("ENVIRONMENT can be one or more of:") ++ print(" GNOME Gnome Desktop") ++ print(" KDE KDE Desktop") ++ print(" ROX ROX Desktop") ++ print(" XFCE XFCE Desktop") ++ print(" Old Legacy systems") ++ print() + + def show_version(): +- print ME, VERSION +- print "Copyright (c) 2008 Dana Jansens" +- print ++ print(ME, VERSION) ++ print("Copyright (c) 2008 Dana Jansens") ++ print() + + if __name__ == "__main__": + sys.exit(main()) diff --git a/gnu/packages/patches/python2-parameterized-docstring-test.patch b/gnu/packages/patches/python2-parameterized-docstring-test.patch deleted file mode 100644 index 14691e1904..0000000000 --- a/gnu/packages/patches/python2-parameterized-docstring-test.patch +++ /dev/null @@ -1,18 +0,0 @@ -Skip unicode docstring test, required when running on Python 2. - -See <https://github.com/wolever/parameterized/issues/44>. - ---- a/parameterized/test.py -+++ b/parameterized/test.py -@@ -284,11 +284,6 @@ - " More" %(foo, ) - ) - -- @parameterized.expand([param("foo")]) -- def test_unicode_docstring(self, foo): -- u"""Döcumentation.""" -- self._assert_docstring(u"Döcumentation [with foo=%r]." %(foo, )) -- - @parameterized.expand([param("foo", )]) - def test_default_values_get_correct_value(self, foo, bar=12): - """Documentation""" diff --git a/gnu/packages/patches/python2-pygobject-2-deprecation.patch b/gnu/packages/patches/python2-pygobject-2-deprecation.patch deleted file mode 100644 index 6a08e56351..0000000000 --- a/gnu/packages/patches/python2-pygobject-2-deprecation.patch +++ /dev/null @@ -1,39 +0,0 @@ -From e5df32ffbf37481dbb6a70c4d4e7b7b9778c5549 Mon Sep 17 00:00:00 2001 -From: "John (J5) Palmieri" <johnp@redhat.com> -Date: Sat, 13 Aug 2011 04:13:28 -0400 -Subject: remove references to deprecated GI_INFO_TYPE_ERROR_DOMAIN - - -diff --git a/gi/pygi-info.c b/gi/pygi-info.c -index 8729e25..007b609 100644 ---- a/gi/pygi-info.c -+++ b/gi/pygi-info.c -@@ -165,9 +165,6 @@ _pygi_info_new (GIBaseInfo *info) - case GI_INFO_TYPE_CONSTANT: - type = &PyGIConstantInfo_Type; - break; -- case GI_INFO_TYPE_ERROR_DOMAIN: -- type = &PyGIErrorDomainInfo_Type; -- break; - case GI_INFO_TYPE_UNION: - type = &PyGIUnionInfo_Type; - break; -@@ -484,7 +481,6 @@ _pygi_g_type_info_size (GITypeInfo *type_info) - case GI_INFO_TYPE_INVALID: - case GI_INFO_TYPE_FUNCTION: - case GI_INFO_TYPE_CONSTANT: -- case GI_INFO_TYPE_ERROR_DOMAIN: - case GI_INFO_TYPE_VALUE: - case GI_INFO_TYPE_SIGNAL: - case GI_INFO_TYPE_PROPERTY: -@@ -863,7 +859,6 @@ pygi_g_struct_info_is_simple (GIStructInfo *struct_info) - case GI_INFO_TYPE_INVALID: - case GI_INFO_TYPE_FUNCTION: - case GI_INFO_TYPE_CONSTANT: -- case GI_INFO_TYPE_ERROR_DOMAIN: - case GI_INFO_TYPE_VALUE: - case GI_INFO_TYPE_SIGNAL: - case GI_INFO_TYPE_PROPERTY: --- -cgit v0.10.1 - diff --git a/gnu/packages/patches/python2-subprocess32-disable-input-test.patch b/gnu/packages/patches/python2-subprocess32-disable-input-test.patch deleted file mode 100644 index 05b4eef1ba..0000000000 --- a/gnu/packages/patches/python2-subprocess32-disable-input-test.patch +++ /dev/null @@ -1,18 +0,0 @@ -This test tries to send a KeyboardInterrupt, which does -not work in the build environment. - ---- a/test_subprocess32.py 2017-03-06 22:21:49.334045485 +0100 -+++ b/test_subprocess32.py 2017-03-06 22:22:02.490439949 +0100 -@@ -1299,12 +1299,6 @@ - getattr(p, method)(*args) - return p - -- def test_send_signal(self): -- p = self._kill_process('send_signal', signal.SIGINT) -- _, stderr = p.communicate() -- self.assertIn('KeyboardInterrupt', stderr) -- self.assertNotEqual(p.wait(), 0) -- - def test_kill(self): - p = self._kill_process('kill') - _, stderr = p.communicate() diff --git a/gnu/packages/patches/rapicorn-isnan.patch b/gnu/packages/patches/rapicorn-isnan.patch deleted file mode 100644 index b0e7819e64..0000000000 --- a/gnu/packages/patches/rapicorn-isnan.patch +++ /dev/null @@ -1,87 +0,0 @@ -From e0c8341b3e4e13778bcde00d477e461ea8e94306 Mon Sep 17 00:00:00 2001 -From: Stefan Westerfeld <stefan@space.twc.de> -Date: Fri, 22 Apr 2016 18:03:37 +0200 -Subject: [PATCH 031/176] RCORE: compile fixes for KUbuntu 16.04/gcc - 5.3.1-14ubuntu2 - -Rapicorn uses isnan(...) and isinf(...) from cmath.h, however on KUbuntu 16.04 -it should use std::isnan(...) and std::isinf(...) instead. Patch below. - -Acked-by: Tim Janik <timj@gnu.org> ---- - rcore/strings.cc | 10 +++++----- - rcore/tests/benchrcore.cc | 4 ++-- - rcore/tests/strings.cc | 4 ++-- - 3 files changed, 9 insertions(+), 9 deletions(-) - -diff --git a/rcore/strings.cc b/rcore/strings.cc -index d5b0216..8b3bc3f 100644 ---- a/rcore/strings.cc -+++ b/rcore/strings.cc -@@ -437,7 +437,7 @@ static long double - libc_strtold (const char *nptr, char **endptr) - { - const long double result = strtold (nptr, endptr); -- if (isnan (result) && std::signbit (result) == 0) -+ if (std::isnan (result) && std::signbit (result) == 0) - { - const char *p = nptr; - while (isspace (*p)) -@@ -500,9 +500,9 @@ string_to_double (const char *dblstring, const char **endptr) - String - string_from_float (float value) - { -- if (isnan (value)) -+ if (std::isnan (value)) - return std::signbit (value) ? "-NaN" : "+NaN"; -- if (isinf (value)) -+ if (std::isinf (value)) - return std::signbit (value) ? "-Infinity" : "+Infinity"; - return string_format ("%.7g", value); - } -@@ -511,9 +511,9 @@ string_from_float (float value) - String - string_from_double (double value) - { -- if (isnan (value)) -+ if (std::isnan (value)) - return std::signbit (value) ? "-NaN" : "+NaN"; -- if (isinf (value)) -+ if (std::isinf (value)) - return std::signbit (value) ? "-Infinity" : "+Infinity"; - return string_format ("%.17g", value); - } -diff --git a/rcore/tests/benchrcore.cc b/rcore/tests/benchrcore.cc -index 3899a08..12fde16 100644 ---- a/rcore/tests/benchrcore.cc -+++ b/rcore/tests/benchrcore.cc -@@ -188,8 +188,8 @@ test_random_numbers() - const double rf = random_frange (989617512, 9876547656); - TASSERT (rf >= 989617512 && rf < 9876547656); - } -- TASSERT (isnan (random_frange (NAN, 1))); -- TASSERT (isnan (random_frange (0, NAN))); -+ TASSERT (std::isnan (random_frange (NAN, 1))); -+ TASSERT (std::isnan (random_frange (0, NAN))); - #if 0 // example penalty paid in random_int64() - size_t i, j = 0; - for (i = 0; i < 100; i++) -diff --git a/rcore/tests/strings.cc b/rcore/tests/strings.cc -index 468a6e6..dae3e3d 100644 ---- a/rcore/tests/strings.cc -+++ b/rcore/tests/strings.cc -@@ -311,9 +311,9 @@ string_conversions (void) - TCMP (string_to_double ("-0.5"), ==, -0.5); - double tfloat; - tfloat = string_to_double ("+NAN"); -- assert (isnan (tfloat) && std::signbit (tfloat) == 0); -+ assert (std::isnan (tfloat) && std::signbit (tfloat) == 0); - tfloat = string_to_double ("-NAN"); -- assert (isnan (tfloat) && std::signbit (tfloat) == 1); -+ assert (std::isnan (tfloat) && std::signbit (tfloat) == 1); - TCMP (string_capitalize ("fOO bar"), ==, "Foo Bar"); - TCMP (string_capitalize ("foo BAR BAZ", 2), ==, "Foo Bar BAZ"); - } --- -2.9.1 - diff --git a/gnu/packages/patches/virtuoso-ose-remove-pre-built-jar-files.patch b/gnu/packages/patches/virtuoso-ose-remove-pre-built-jar-files.patch new file mode 100644 index 0000000000..17413c71ae --- /dev/null +++ b/gnu/packages/patches/virtuoso-ose-remove-pre-built-jar-files.patch @@ -0,0 +1,117 @@ +This patch disables build targets that contain pre-built Java archives that +would be copied to the build's output. + +Patch by Roel Janssen <roel@gnu.org> +*** a-virtuoso-opensource-7.2.7/binsrc/Makefile.am 1970-01-01 01:00:01.000000000 +0100 +--- b-virtuoso-opensource-7.2.7/binsrc/Makefile.am 2022-05-27 12:20:52.909135774 +0200 +*************** +*** 19,25 **** + # + # + +! SUBDIRS = dav mono virtuoso tests rdf_mappers driver maildrop sqldoc hosting bpel fct tutorial conductor samples vsp ws sync vspx vad cached_resources virtodbc virtoledb virtuoso_sink xddl VirtuosoClient.Net oat isparql jena jena2 jena3 jena4 sesame sesame2 sesame3 sesame4 redland hibernate dbpedia rdb2rdf rdf4j + + + # ---------------------------------------------------------------------- +--- 19,25 ---- + # + # + +! SUBDIRS = dav mono virtuoso tests rdf_mappers driver maildrop sqldoc hosting bpel fct tutorial conductor samples vsp ws sync vspx vad cached_resources virtodbc virtoledb virtuoso_sink xddl VirtuosoClient.Net oat isparql redland dbpedia rdb2rdf + + + # ---------------------------------------------------------------------- +*** a-virtuoso-opensource-7.2.7/configure.ac 1970-01-01 01:00:01.000000000 +0100 +--- b-virtuoso-opensource-7.2.7/configure.ac 2022-05-27 12:27:51.879208018 +0200 +*************** +*** 57,64 **** + dnl AM_INIT_AUTOMAKE([1.8]) + dnl AM_INIT_AUTOMAKE([1.9 tar-ustar]) + dnl +! AM_INIT_AUTOMAKE([1.9 tar-ustar]) +! + AM_MAINTAINER_MODE + + +--- 57,63 ---- + dnl AM_INIT_AUTOMAKE([1.8]) + dnl AM_INIT_AUTOMAKE([1.9 tar-ustar]) + dnl +! AM_INIT_AUTOMAKE([1.9 tar-ustar subdir-objects]) + AM_MAINTAINER_MODE + + +*************** +*** 3157,3163 **** + binsrc/dbpedia/Makefile + binsrc/driver/Makefile + binsrc/fct/Makefile +- binsrc/hibernate/Makefile + binsrc/hosting/Makefile + binsrc/hosting/mono/Makefile + binsrc/hosting/mono/tests/Makefile +--- 3156,3161 ---- +*************** +*** 3169,3184 **** + binsrc/hosting/ruby/Makefile + binsrc/hosting/shapefileio/Makefile + binsrc/isparql/Makefile +- binsrc/jena/Makefile +- binsrc/jena2/Makefile +- binsrc/jena3/Makefile +- binsrc/jena4/Makefile + binsrc/maildrop/Makefile + binsrc/mono/Makefile + binsrc/oat/Makefile + binsrc/rdf_mappers/Makefile + binsrc/rdb2rdf/Makefile +- binsrc/rdf4j/Makefile + binsrc/redland/Makefile + binsrc/samples/demo/Makefile + binsrc/samples/hslookup/Makefile +--- 3167,3177 ---- +*************** +*** 3191,3200 **** + binsrc/samples/webapp/Makefile + binsrc/samples/xpath/Makefile + binsrc/samples/xquery/Makefile +- binsrc/sesame/Makefile +- binsrc/sesame2/Makefile +- binsrc/sesame3/Makefile +- binsrc/sesame4/Makefile + binsrc/sqldoc/Makefile + binsrc/sync/Makefile + binsrc/tests/biftest/Makefile +--- 3184,3189 ---- +*************** +*** 3236,3245 **** + docsrc/stylesheets/Makefile + docsrc/xmlsource/Makefile + libsrc/Dk/Makefile +- libsrc/JDBCDriverType4/Makefile +- libsrc/JDBCDriverType4/testsuite_4.0/Makefile +- libsrc/JDBCDriverType4/virtuoso/jdbc/Makefile +- libsrc/JDBCDriverType4/virtuoso/Makefile + libsrc/langfunc/Makefile + libsrc/odbcsdk/Makefile + libsrc/plugin/Makefile +--- 3225,3230 ---- +*** a-virtuoso-opensource-7.2.7/libsrc/Makefile.am 1970-01-01 01:00:01.000000000 +0100 +--- b-virtuoso-opensource-7.2.7/libsrc/Makefile.am 2022-05-27 12:30:12.658593011 +0200 +*************** +*** 19,25 **** + # + # + +! SUBDIRS = util zlib odbcsdk Dk Thread langfunc Wi plugin Tidy Xml.new JDBCDriverType4 + + noinst_HEADERS = Dk.h libutil.h + +--- 19,25 ---- + # + # + +! SUBDIRS = util zlib odbcsdk Dk Thread langfunc Wi plugin Tidy Xml.new + + noinst_HEADERS = Dk.h libutil.h + diff --git a/gnu/packages/patches/vtk-7-gcc-10-compat.patch b/gnu/packages/patches/vtk-7-gcc-10-compat.patch new file mode 100644 index 0000000000..50f9f6cca3 --- /dev/null +++ b/gnu/packages/patches/vtk-7-gcc-10-compat.patch @@ -0,0 +1,14 @@ +Retrieved from +https://sources.debian.org/src/vtk7/7.1.1%2Bdfsg2-10.1/debian/patches/. + +--- a/CMake/VTKGenerateExportHeader.cmake ++++ b/CMake/VTKGenerateExportHeader.cmake +@@ -174,7 +174,7 @@ + execute_process(COMMAND ${CMAKE_C_COMPILER} --version + OUTPUT_VARIABLE _gcc_version_info + ERROR_VARIABLE _gcc_version_info) +- string(REGEX MATCH "[3-9]\\.[0-9]\\.[0-9]*" ++ string(REGEX MATCH "[0-9]*\\.[0-9]\\.[0-9]*" + _gcc_version "${_gcc_version_info}") + # gcc on mac just reports: "gcc (GCC) 3.3 20030304 ..." without the + # patch level, handle this here: diff --git a/gnu/packages/patches/vtk-7-hdf5-compat.patch b/gnu/packages/patches/vtk-7-hdf5-compat.patch new file mode 100644 index 0000000000..1f3c0c7be4 --- /dev/null +++ b/gnu/packages/patches/vtk-7-hdf5-compat.patch @@ -0,0 +1,38 @@ +Description: The H5FD_class_t struct gained an extra member in 1.10 +Bug-Debian: https://bugs.debian.org/846372 +Author: Iain Lane <iain.lane@canonical.com> +--- a/ThirdParty/xdmf2/vtkxdmf2/libsrc/XdmfH5Driver.cxx ++++ b/ThirdParty/xdmf2/vtkxdmf2/libsrc/XdmfH5Driver.cxx +@@ -139,7 +139,11 @@ + #if (H5_VERS_MAJOR>1)||((H5_VERS_MAJOR==1)&&(H5_VERS_MINOR>=8)) + static haddr_t H5FD_dsm_get_eoa(const H5FD_t *_file, H5FD_mem_t type); + static herr_t H5FD_dsm_set_eoa(H5FD_t *_file, H5FD_mem_t type, haddr_t addr); ++#if (H5_VERS_MAJOR>1)||((H5_VERS_MAJOR==1)&&(H5_VERS_MINOR>=10)) ++static haddr_t H5FD_dsm_get_eof(const H5FD_t *_file, H5FD_mem_t type); ++#else + static haddr_t H5FD_dsm_get_eof(const H5FD_t *_file); ++#endif + #else + static haddr_t H5FD_dsm_get_eoa(H5FD_t *_file); + static herr_t H5FD_dsm_set_eoa(H5FD_t *_file, haddr_t addr); +@@ -155,6 +159,9 @@ + "dsm", /*name */ + MAXADDR, /*maxaddr */ + H5F_CLOSE_WEAK, /*fc_degree */ ++#if (H5_VERS_MAJOR>1)||((H5_VERS_MAJOR==1)&&(H5_VERS_MINOR>=8)) ++ NULL, /* terminate */ ++#endif + NULL, /*sb_size */ + NULL, /*sb_encode */ + NULL, /*sb_decode */ +@@ -687,7 +694,9 @@ + *------------------------------------------------------------------------- + */ + static haddr_t +-#if (H5_VERS_MAJOR>1)||((H5_VERS_MAJOR==1)&&(H5_VERS_MINOR>=8)) ++#if (H5_VERS_MAJOR>1)||((H5_VERS_MAJOR==1)&&(H5_VERS_MINOR>=10)) ++H5FD_dsm_get_eof(const H5FD_t *_file, H5FD_mem_t type) ++#elif (H5_VERS_MAJOR>1)||((H5_VERS_MAJOR==1)&&(H5_VERS_MINOR>=8)) + H5FD_dsm_get_eof(const H5FD_t *_file) + #else + H5FD_dsm_get_eof(H5FD_t *_file) diff --git a/gnu/packages/patches/vtk-7-python-compat.patch b/gnu/packages/patches/vtk-7-python-compat.patch new file mode 100644 index 0000000000..375624e4e2 --- /dev/null +++ b/gnu/packages/patches/vtk-7-python-compat.patch @@ -0,0 +1,16 @@ +Author: Gert Wollny <gewo@debian.org> +Description: Work around compile bug with python 3.7.1 +Debian-Bug: https://bugs.debian.org/914347 +diff --git a/Wrapping/PythonCore/vtkPythonArgs.cxx b/Wrapping/PythonCore/vtkPythonArgs.cxx +index 1b1e4b9..682f8b8 100644 +--- a/Wrapping/PythonCore/vtkPythonArgs.cxx ++++ b/Wrapping/PythonCore/vtkPythonArgs.cxx +@@ -102,7 +102,7 @@ bool vtkPythonGetStringValue(PyObject *o, T *&a, const char *exctext) + else if (PyUnicode_Check(o)) + { + #if PY_VERSION_HEX >= 0x03030000 +- a = PyUnicode_AsUTF8(o); ++ a = const_cast<char*>(PyUnicode_AsUTF8(o)); + return true; + #else + PyObject *s = _PyUnicode_AsDefaultEncodedString(o, NULL); diff --git a/gnu/packages/patches/wicd-bitrate-none-fix.patch b/gnu/packages/patches/wicd-bitrate-none-fix.patch deleted file mode 100644 index 1809b7217d..0000000000 --- a/gnu/packages/patches/wicd-bitrate-none-fix.patch +++ /dev/null @@ -1,24 +0,0 @@ -Fix copied from https://bugs.launchpad.net/wicd/+bug/1432423/comments/1 - ---- wicd-1.7.3/curses/netentry_curses.py 1969-12-31 19:00:00.000000000 -0500 -+++ wicd-1.7.3/curses/netentry_curses.py 2015-08-11 23:26:19.999999649 -0400 -@@ -538,11 +538,16 @@ - self.bitrates = wireless.GetAvailableBitrates() - self.bitrates.append('auto') - self.bitrate_combo.set_list(self.bitrates) -+ -+ # bitrate property is sometimes None -+ chosen_bitrate = wireless.GetWirelessProperty(networkID, 'bitrate') -+ if chosen_bitrate not in self.bitrates: -+ chosen_bitrate = 'auto' -+ - self.bitrate_combo.set_focus( -- self.bitrates.index( -- wireless.GetWirelessProperty(networkID, 'bitrate') -- ) -+ self.bitrates.index(chosen_bitrate) - ) -+ - self.allow_lower_bitrates_chkbox.set_state( - to_bool(self.format_entry(networkID, 'allow_lower_bitrates')) - ) diff --git a/gnu/packages/patches/wicd-get-selected-profile-fix.patch b/gnu/packages/patches/wicd-get-selected-profile-fix.patch deleted file mode 100644 index 3042a87308..0000000000 --- a/gnu/packages/patches/wicd-get-selected-profile-fix.patch +++ /dev/null @@ -1,16 +0,0 @@ -Fix copied from https://bugs.launchpad.net/wicd/+bug/1421918/comments/2 - ---- wicd-1.7.3/curses/wicd-curses.py 2014-12-21 16:57:33 +0000 -+++ wicd-1.7.3/curses/wicd-curses.py 2015-02-24 23:41:01 +0000 -@@ -532,7 +532,10 @@ - def get_selected_profile(self): - """Get the selected wired profile""" - loc = self.get_focus()[1] -- return self.theList[loc] -+ if len(self.theList) > loc: -+ return self.theList[loc] -+ else: -+ return self.theList[-1] - - - class AdHocDialog(Dialog2): diff --git a/gnu/packages/patches/wicd-urwid-1.3.patch b/gnu/packages/patches/wicd-urwid-1.3.patch deleted file mode 100644 index 1dc47f869b..0000000000 --- a/gnu/packages/patches/wicd-urwid-1.3.patch +++ /dev/null @@ -1,18 +0,0 @@ -Update the wicd-curses client to work with urwid-1.3. Based on a patch from: -http://technik.blogbasis.net/wicd-curses-fix-fuer-attributeerror-screen-object-no-attribute-get_input_nonblocking-04-12-2014 - ---- wicd-1.7.3/curses/wicd-curses.py.orig 2014-12-21 14:40:46.000000000 -0500 -+++ wicd-1.7.3/curses/wicd-curses.py 2015-02-05 23:41:17.530901204 -0500 -@@ -1153,9 +1153,10 @@ - if not ui._started: - return False - -- input_data = ui.get_input_nonblocking() -+ ui.set_input_timeouts(max_wait=0) -+ input_data = ui.get_input() - # Resolve any "alarms" in the waiting -- self.handle_keys(input_data[1]) -+ self.handle_keys(input_data) - - # Update the screen - canvas = self.frame.render((self.size), True) diff --git a/gnu/packages/patches/wicd-wpa2-ttls.patch b/gnu/packages/patches/wicd-wpa2-ttls.patch deleted file mode 100644 index 9d80ee7ed2..0000000000 --- a/gnu/packages/patches/wicd-wpa2-ttls.patch +++ /dev/null @@ -1,38 +0,0 @@ -Add a template for WPA2-TTLS, which is notably used by Eduroam. - ---- a/encryption/templates/active -+++ b/encryption/templates/active -@@ -4,6 +4,7 @@ wpa-psk - wpa-psk-hex - wpa2-leap - wpa2-peap -+wpa2-ttls - wep-hex - wep-passphrase - wep-shared -diff --git a/encryption/templates/wpa2-ttls b/encryption/templates/wpa2-ttls -new file mode 100644 -index 0000000..4f66a1e ---- /dev/null -+++ b/encryption/templates/wpa2-ttls -@@ -0,0 +1,20 @@ -+name = WPA2-TTLS (used notably by Eduroam) -+author = various contributors -+version = 1 -+require identity *Identity anonymous_identity *Anonymous_identity password *Password ca_cert *Path_to_CA_Cert -+protected password *Password -+----- -+ctrl_interface=/var/run/wpa_supplicant -+network={ -+ ssid="$_ESSID" -+ scan_ssid=$_SCAN -+ proto=WPA2 -+ key_mgmt=WPA-EAP -+ group=CCMP TKIP -+ eap=TTLS -+ identity="$_IDENTITY" -+ password="$_PASSWORD" -+ anonymous_identity="$_ANONYMOUS_IDENTITY" -+ ca_cert="$_CA_CERT" -+ phase2="auth=PAP" -+} |