Source: xelb Version: 0.20-1 Severity: minor Tags: trixie sid ftbfs User: lu...@debian.org Usertags: ftbfs-shuffle
Hi, GNU Make now has a --shuffle option that simulates non-deterministic ordering of target prerequisites. See https://trofi.github.io/posts/238-new-make-shuffle-mode.html and also previous work in Debian by Santiago Vila: https://people.debian.org/~sanvila/make-shuffle/ This package fails to build with make --shuffle=reverse. This is likely to be caused by a missing dependency in debian/rules or an upstream Makefile. More information about this mass bug filing is available at https://wiki.debian.org/qa.debian.org/FTBFS/Shuffle Relevant part (hopefully): > make[1]: Entering directory '/build/reproducible-path/xelb-0.20' > Makefile:13: update target 'xcb-xproto.el' due to: target does not exist > echo -n "\n"Generating xcb-xproto.el... > > Generating xcb-xproto.el..../xelb-gen /usr/share/xcb/xproto.xml > > xcb-xproto.el > Makefile:30: update target 'clean' due to: target is .PHONY > rm -vf xcb-xproto.el xcb-bigreq.el xcb-composite.el xcb-damage.el xcb-dbe.el > xcb-dpms.el xcb-dri2.el xcb-dri3.el xcb-ge.el xcb-glx.el xcb-present.el > xcb-randr.el xcb-record.el xcb-render.el xcb-res.el xcb-screensaver.el > xcb-shape.el xcb-shm.el xcb-sync.el xcb-xc_misc.el xcb-xevie.el > xcb-xf86dri.el xcb-xf86vidmode.el xcb-xfixes.el xcb-xinerama.el xcb-xinput.el > xcb-xkb.el xcb-xprint.el xcb-xselinux.el xcb-xtest.el xcb-xvmc.el xcb-xv.el > removed 'xcb-xproto.el' > Loading /etc/emacs/site-start.d/00debian.el (source)... > Loading /etc/emacs/site-start.d/50autoconf.el (source)... > > Using vacuous schema > Makefile:13: update target 'xcb-shm.el' due to: target does not exist > echo -n "\n"Generating xcb-shm.el... > Makefile:13: update target 'xcb-xtest.el' due to: target does not exist > echo -n "\n"Generating xcb-xtest.el... > Makefile:13: update target 'xcb-xselinux.el' due to: target does not exist > echo -n "\n"Generating xcb-xselinux.el... > Makefile:13: update target 'xcb-xprint.el' due to: target does not exist > echo -n "\n"Generating xcb-xprint.el... > > Generating xcb-shm.el..../xelb-gen /usr/share/xcb/shm.xml > xcb-shm.el > > Generating xcb-xtest.el...Makefile:13: update target 'xcb-xkb.el' due to: > target does not exist > echo -n "\n"Generating xcb-xkb.el... > > Generating xcb-xselinux.el..../xelb-gen /usr/share/xcb/xtest.xml > > xcb-xtest.el > > Generating xcb-xprint.el..../xelb-gen /usr/share/xcb/xselinux.xml > > xcb-xselinux.el > ./xelb-gen /usr/share/xcb/xprint.xml > xcb-xprint.el > Makefile:13: update target 'xcb-shape.el' due to: target does not exist > echo -n "\n"Generating xcb-shape.el... > > Generating xcb-xkb.el..../xelb-gen /usr/share/xcb/xkb.xml > xcb-xkb.el > Makefile:13: update target 'xcb-render.el' due to: target does not exist > echo -n "\n"Generating xcb-render.el... > > Generating xcb-shape.el..../xelb-gen /usr/share/xcb/shape.xml > xcb-shape.el > Makefile:13: update target 'xcb-xinerama.el' due to: target does not exist > echo -n "\n"Generating xcb-xinerama.el... > > Generating xcb-render.el..../xelb-gen /usr/share/xcb/render.xml > > xcb-render.el > > Generating xcb-xinerama.el..../xelb-gen /usr/share/xcb/xinerama.xml > > xcb-xinerama.el > Loading /etc/emacs/site-start.d/00debian.el (source)... > Loading /etc/emacs/site-start.d/00debian.el (source)... > Loading /etc/emacs/site-start.d/00debian.el (source)... > Loading /etc/emacs/site-start.d/00debian.el (source)... > Loading /etc/emacs/site-start.d/00debian.el (source)... > Loading /etc/emacs/site-start.d/00debian.el (source)... > Loading /etc/emacs/site-start.d/00debian.el (source)... > Loading /etc/emacs/site-start.d/00debian.el (source)... > Loading /etc/emacs/site-start.d/50autoconf.el (source)... > Loading /etc/emacs/site-start.d/50autoconf.el (source)... > Loading /etc/emacs/site-start.d/50autoconf.el (source)... > Loading /etc/emacs/site-start.d/50autoconf.el (source)... > Loading /etc/emacs/site-start.d/50autoconf.el (source)... > Loading /etc/emacs/site-start.d/50autoconf.el (source)... > Loading /etc/emacs/site-start.d/50autoconf.el (source)... > Loading /etc/emacs/site-start.d/50autoconf.el (source)... > > Debugger entered--Lisp error: (file-missing "Cannot open load file" "No such > file or directory" "xcb-xproto") > require(xcb-xproto) > (let* ((name (xelb-node-subnode node)) (header (intern (concat "xcb-" > name)))) (require header) (setq xelb-imports (cons (concat "xcb:" name ":") > xelb-imports)) (list (list 'require (list 'quote header)))) > xelb-parse-import((import nil "xproto")) > (let nil (xelb-parse-import node)) > (cond ((eq val 'import) (let nil (xelb-parse-import node))) ((eq val > 'struct) (let nil (xelb-parse-struct node))) ((eq val 'union) (let nil > (xelb-parse-union node))) ((memq val '(xidunion xidtype)) (let nil > (xelb-parse-xidtype node))) ((eq val 'enum) (let nil (xelb-parse-enum node))) > ((eq val 'typedef) (let nil (xelb-parse-typedef node))) ((eq val 'request) > (let nil (xelb-parse-request node))) ((eq val 'event) (let nil > (xelb-parse-event node))) ((eq val 'error) (let nil (xelb-parse-error node))) > ((eq val 'eventcopy) (let nil (xelb-parse-eventcopy node))) ((eq val > 'errorcopy) (let nil (xelb-parse-errorcopy node))) ((eq val 'eventstruct) > (let nil (xelb-parse-eventstruct node))) ((memq val '(doc comment)) 'nil) (t > (let ((x val)) (error "Unsupported top-level element: <%s>" x)))) > (let* ((val (xelb-node-name node))) (cond ((eq val 'import) (let nil > (xelb-parse-import node))) ((eq val 'struct) (let nil (xelb-parse-struct > node))) ((eq val 'union) (let nil (xelb-parse-union node))) ((memq val > '(xidunion xidtype)) (let nil (xelb-parse-xidtype node))) ((eq val 'enum) > (let nil (xelb-parse-enum node))) ((eq val 'typedef) (let nil > (xelb-parse-typedef node))) ((eq val 'request) (let nil (xelb-parse-request > node))) ((eq val 'event) (let nil (xelb-parse-event node))) ((eq val 'error) > (let nil (xelb-parse-error node))) ((eq val 'eventcopy) (let nil > (xelb-parse-eventcopy node))) ((eq val 'errorcopy) (let nil > (xelb-parse-errorcopy node))) ((eq val 'eventstruct) (let nil > (xelb-parse-eventstruct node))) ((memq val '(doc comment)) 'nil) (t (let ((x > val)) (error "Unsupported top-level element: <%s>" x))))) > xelb-parse-top-level-element((import nil "xproto")) > (let ((result (xelb-parse-top-level-element i))) (if result (progn (let > ((tail result)) (while tail (let ((j ...)) (eval j) (pp j) (setq tail (cdr > tail))))) (princ "\n")))) > (let ((i (car tail))) (let ((result (xelb-parse-top-level-element i))) (if > result (progn (let ((tail result)) (while tail (let (...) (eval j) (pp j) > (setq tail ...)))) (princ "\n")))) (setq tail (cdr tail))) > (while tail (let ((i (car tail))) (let ((result > (xelb-parse-top-level-element i))) (if result (progn (let ((tail result)) > (while tail (let ... ... ... ...))) (princ "\n")))) (setq tail (cdr tail)))) > (let ((tail (xelb-node-subnodes result))) (while tail (let ((i (car tail))) > (let ((result (xelb-parse-top-level-element i))) (if result (progn (let (...) > (while tail ...)) (princ "\n")))) (setq tail (cdr tail))))) > (progn (insert-file-contents file) (setq result (libxml-parse-xml-region > (point-min) (point-max))) (if (eq 'xcb (xelb-node-name result)) nil (setq > result (xelb-node-subnode result))) (progn (or (eq 'xcb (xelb-node-name > result)) (cl--assertion-failed '(eq 'xcb (xelb-node-name result)))) nil) > (setq header (xelb-node-attr result 'header)) (if (string= header "xproto") > nil (setq xelb-prefix (concat xelb-prefix header ":"))) (princ (format ";;; > xcb-%s.el --- X11 %s -*- lexical-binding: t -*-\n\n;; Copyright (C) > 2015-2024 Free Software Foundation, Inc.\n\n;; This file is part of GNU > Emacs.\n\n;; GNU Emacs is free software: you can redistribute it and/or > modify\n;; it under the terms of the GNU General Public License as published > by\n;; the Free Software Foundation, either version 3 of the License, or\n;; > (at your option) any later version.\n\n;; GNU Emacs is distributed in the > hope that it will be useful,\n;; but WITHOUT ANY WARRANTY; without even the > implied warranty of\n;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. > See the\n;; GNU General Public License for more details.\n\n;; You should > have received a copy of the GNU General Public License\n;; along with GNU > Emacs. If not, see <http://www.gnu.org/licenses/>.\n\n;;; Commentary:\n\n;; > This file was generated by 'xelb-gen' from '%s',\n;; which you can retrieve > from <git://anongit.freedesktop.org/xcb/proto>.\n\n;;; Code:\n\n(require > 'xcb-types)\n\n" header (let ((extension-name (xelb-node-attr result > 'extension-name))) (if extension-name (concat extension-name " extension") > "core protocol")) (file-name-nondirectory file))) (let ((extension-xname > (xelb-node-attr result 'extension-xname)) (extension-name (xelb-node-attr > result 'extension-name)) (major-version (xelb-node-attr result > 'major-version)) (minor-version (xelb-node-attr result 'minor-version))) (if > extension-xname (progn (pp (list 'defconst (intern (concat xelb-prefix > "-extension-xname")) extension-xname)))) (if extension-name (progn (pp (list > 'defconst (intern (concat xelb-prefix "-extension-name")) extension-name)))) > (if major-version (progn (pp (list 'defconst (intern (concat xelb-prefix > "-major-version")) (string-to-number major-version))))) (if minor-version > (progn (pp (list 'defconst (intern (concat xelb-prefix "-minor-version")) > (string-to-number minor-version))))) (if (or extension-xname extension-name > major-version minor-version) (progn (princ "\n")))) (let ((tail > (xelb-node-subnodes result))) (while tail (let ((i (car tail))) (let ((result > (xelb-parse-top-level-element i))) (if result (progn (let ... ...) (princ > "\n")))) (setq tail (cdr tail))))) (if xelb-error-alist (progn (pp (cons > 'defconst (cons (intern (concat xelb-prefix "error-number-class-alist")) > (cons (list ... xelb-error-alist) '...)))) (princ "\n"))) (if > xelb-event-alist (progn (pp (cons 'defconst (cons (intern (concat xelb-prefix > "event-number-class-alist")) (cons (list ... xelb-event-alist) '...)))) > (princ "\n"))) (if xelb-xge-alist (progn (pp (cons 'defconst (cons (intern > (concat xelb-prefix "xge-number-class-alist")) (cons (list ... > xelb-xge-alist) '...)))) (princ "\n"))) (princ (format "\f\n\n(provide > 'xcb-%s)\n\n;;; xcb-%s.el ends here\n" header header))) > (unwind-protect (progn (insert-file-contents file) (setq result > (libxml-parse-xml-region (point-min) (point-max))) (if (eq 'xcb > (xelb-node-name result)) nil (setq result (xelb-node-subnode result))) (progn > (or (eq 'xcb (xelb-node-name result)) (cl--assertion-failed '(eq 'xcb > (xelb-node-name result)))) nil) (setq header (xelb-node-attr result 'header)) > (if (string= header "xproto") nil (setq xelb-prefix (concat xelb-prefix > header ":"))) (princ (format ";;; xcb-%s.el --- X11 %s -*- lexical-binding: > t -*-\n\n;; Copyright (C) 2015-2024 Free Software Foundation, Inc.\n\n;; This > file is part of GNU Emacs.\n\n;; GNU Emacs is free software: you can > redistribute it and/or modify\n;; it under the terms of the GNU General > Public License as published by\n;; the Free Software Foundation, either > version 3 of the License, or\n;; (at your option) any later version.\n\n;; > GNU Emacs is distributed in the hope that it will be useful,\n;; but WITHOUT > ANY WARRANTY; without even the implied warranty of\n;; MERCHANTABILITY or > FITNESS FOR A PARTICULAR PURPOSE. See the\n;; GNU General Public License for > more details.\n\n;; You should have received a copy of the GNU General Public > License\n;; along with GNU Emacs. If not, see > <http://www.gnu.org/licenses/>.\n\n;;; Commentary:\n\n;; This file was > generated by 'xelb-gen' from '%s',\n;; which you can retrieve from > <git://anongit.freedesktop.org/xcb/proto>.\n\n;;; Code:\n\n(require > 'xcb-types)\n\n" header (let ((extension-name (xelb-node-attr result ...))) > (if extension-name (concat extension-name " extension") "core protocol")) > (file-name-nondirectory file))) (let ((extension-xname (xelb-node-attr result > 'extension-xname)) (extension-name (xelb-node-attr result 'extension-name)) > (major-version (xelb-node-attr result 'major-version)) (minor-version > (xelb-node-attr result 'minor-version))) (if extension-xname (progn (pp (list > 'defconst (intern ...) extension-xname)))) (if extension-name (progn (pp > (list 'defconst (intern ...) extension-name)))) (if major-version (progn (pp > (list 'defconst (intern ...) (string-to-number major-version))))) (if > minor-version (progn (pp (list 'defconst (intern ...) (string-to-number > minor-version))))) (if (or extension-xname extension-name major-version > minor-version) (progn (princ "\n")))) (let ((tail (xelb-node-subnodes > result))) (while tail (let ((i (car tail))) (let ((result ...)) (if result > (progn ... ...))) (setq tail (cdr tail))))) (if xelb-error-alist (progn (pp > (cons 'defconst (cons (intern ...) (cons ... ...)))) (princ "\n"))) (if > xelb-event-alist (progn (pp (cons 'defconst (cons (intern ...) (cons ... > ...)))) (princ "\n"))) (if xelb-xge-alist (progn (pp (cons 'defconst (cons > (intern ...) (cons ... ...)))) (princ "\n"))) (princ (format "\f\n\n(provide > 'xcb-%s)\n\n;;; xcb-%s.el ends here\n" header header))) (and (buffer-name > temp-buffer) (kill-buffer temp-buffer))) > (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn > (insert-file-contents file) (setq result (libxml-parse-xml-region (point-min) > (point-max))) (if (eq 'xcb (xelb-node-name result)) nil (setq result > (xelb-node-subnode result))) (progn (or (eq 'xcb (xelb-node-name result)) > (cl--assertion-failed '(eq ... ...))) nil) (setq header (xelb-node-attr > result 'header)) (if (string= header "xproto") nil (setq xelb-prefix (concat > xelb-prefix header ":"))) (princ (format ";;; xcb-%s.el --- X11 %s -*- > lexical-binding: t -*-\n\n;; Copyright (C) 2015-2024 Free Software > Foundation, Inc.\n\n;; This file is part of GNU Emacs.\n\n;; GNU Emacs is > free software: you can redistribute it and/or modify\n;; it under the terms > of the GNU General Public License as published by\n;; the Free Software > Foundation, either version 3 of the License, or\n;; (at your option) any > later version.\n\n;; GNU Emacs is distributed in the hope that it will be > useful,\n;; but WITHOUT ANY WARRANTY; without even the implied warranty > of\n;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n;; GNU > General Public License for more details.\n\n;; You should have received a > copy of the GNU General Public License\n;; along with GNU Emacs. If not, see > <http://www.gnu.org/licenses/>.\n\n;;; Commentary:\n\n;; This file was > generated by 'xelb-gen' from '%s',\n;; which you can retrieve from > <git://anongit.freedesktop.org/xcb/proto>.\n\n;;; Code:\n\n(require > 'xcb-types)\n\n" header (let ((extension-name ...)) (if extension-name > (concat extension-name " extension") "core protocol")) > (file-name-nondirectory file))) (let ((extension-xname (xelb-node-attr result > 'extension-xname)) (extension-name (xelb-node-attr result 'extension-name)) > (major-version (xelb-node-attr result 'major-version)) (minor-version > (xelb-node-attr result 'minor-version))) (if extension-xname (progn (pp (list > ... ... extension-xname)))) (if extension-name (progn (pp (list ... ... > extension-name)))) (if major-version (progn (pp (list ... ... ...)))) (if > minor-version (progn (pp (list ... ... ...)))) (if (or extension-xname > extension-name major-version minor-version) (progn (princ "\n")))) (let > ((tail (xelb-node-subnodes result))) (while tail (let ((i ...)) (let (...) > (if result ...)) (setq tail (cdr tail))))) (if xelb-error-alist (progn (pp > (cons 'defconst (cons ... ...))) (princ "\n"))) (if xelb-event-alist (progn > (pp (cons 'defconst (cons ... ...))) (princ "\n"))) (if xelb-xge-alist (progn > (pp (cons 'defconst (cons ... ...))) (princ "\n"))) (princ (format > "\f\n\n(provide 'xcb-%s)\n\n;;; xcb-%s.el ends here\n" header header))) (and > (buffer-name temp-buffer) (kill-buffer temp-buffer)))) > (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer > (set-buffer temp-buffer) (unwind-protect (progn (insert-file-contents file) > (setq result (libxml-parse-xml-region (point-min) (point-max))) (if (eq 'xcb > (xelb-node-name result)) nil (setq result (xelb-node-subnode result))) (progn > (or (eq 'xcb (xelb-node-name result)) (cl--assertion-failed '...)) nil) (setq > header (xelb-node-attr result 'header)) (if (string= header "xproto") nil > (setq xelb-prefix (concat xelb-prefix header ":"))) (princ (format ";;; > xcb-%s.el --- X11 %s -*- lexical-binding: t -*-\n\n;; Copyright (C) > 2015-2024 Free Software Foundation, Inc.\n\n;; This file is part of GNU > Emacs.\n\n;; GNU Emacs is free software: you can redistribute it and/or > modify\n;; it under the terms of the GNU General Public License as published > by\n;; the Free Software Foundation, either version 3 of the License, or\n;; > (at your option) any later version.\n\n;; GNU Emacs is distributed in the > hope that it will be useful,\n;; but WITHOUT ANY WARRANTY; without even the > implied warranty of\n;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. > See the\n;; GNU General Public License for more details.\n\n;; You should > have received a copy of the GNU General Public License\n;; along with GNU > Emacs. If not, see <http://www.gnu.org/licenses/>.\n\n;;; Commentary:\n\n;; > This file was generated by 'xelb-gen' from '%s',\n;; which you can retrieve > from <git://anongit.freedesktop.org/xcb/proto>.\n\n;;; Code:\n\n(require > 'xcb-types)\n\n" header (let (...) (if extension-name ... "core protocol")) > (file-name-nondirectory file))) (let ((extension-xname (xelb-node-attr result > ...)) (extension-name (xelb-node-attr result ...)) (major-version > (xelb-node-attr result ...)) (minor-version (xelb-node-attr result ...))) (if > extension-xname (progn (pp ...))) (if extension-name (progn (pp ...))) (if > major-version (progn (pp ...))) (if minor-version (progn (pp ...))) (if (or > extension-xname extension-name major-version minor-version) (progn (princ > "\n")))) (let ((tail (xelb-node-subnodes result))) (while tail (let (...) > (let ... ...) (setq tail ...)))) (if xelb-error-alist (progn (pp (cons ... > ...)) (princ "\n"))) (if xelb-event-alist (progn (pp (cons ... ...)) (princ > "\n"))) (if xelb-xge-alist (progn (pp (cons ... ...)) (princ "\n"))) (princ > (format "\f\n\n(provide 'xcb-%s)\n\n;;; xcb-%s.el ends here\n" header > header))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) > (let ((pp-escape-newlines nil) (pp-default-function 'pp-28) result header) > (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer > (set-buffer temp-buffer) (unwind-protect (progn (insert-file-contents file) > (setq result (libxml-parse-xml-region (point-min) (point-max))) (if (eq 'xcb > (xelb-node-name result)) nil (setq result (xelb-node-subnode result))) (progn > (or (eq ... ...) (cl--assertion-failed ...)) nil) (setq header > (xelb-node-attr result 'header)) (if (string= header "xproto") nil (setq > xelb-prefix (concat xelb-prefix header ":"))) (princ (format ";;; xcb-%s.el > --- X11 %s -*- lexical-binding: t -*-\n\n;; Copyright (C) 2015-2024 Free > Software Foundation, Inc.\n\n;; This file is part of GNU Emacs.\n\n;; GNU > Emacs is free software: you can redistribute it and/or modify\n;; it under > the terms of the GNU General Public License as published by\n;; the Free > Software Foundation, either version 3 of the License, or\n;; (at your option) > any later version.\n\n;; GNU Emacs is distributed in the hope that it will be > useful,\n;; but WITHOUT ANY WARRANTY; without even the implied warranty > of\n;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n;; GNU > General Public License for more details.\n\n;; You should have received a > copy of the GNU General Public License\n;; along with GNU Emacs. If not, see > <http://www.gnu.org/licenses/>.\n\n;;; Commentary:\n\n;; This file was > generated by 'xelb-gen' from '%s',\n;; which you can retrieve from > <git://anongit.freedesktop.org/xcb/proto>.\n\n;;; Code:\n\n(require > 'xcb-types)\n\n" header (let ... ...) (file-name-nondirectory file))) (let > ((extension-xname ...) (extension-name ...) (major-version ...) > (minor-version ...)) (if extension-xname (progn ...)) (if extension-name > (progn ...)) (if major-version (progn ...)) (if minor-version (progn ...)) > (if (or extension-xname extension-name major-version minor-version) (progn > ...))) (let ((tail ...)) (while tail (let ... ... ...))) (if xelb-error-alist > (progn (pp ...) (princ "\n"))) (if xelb-event-alist (progn (pp ...) (princ > "\n"))) (if xelb-xge-alist (progn (pp ...) (princ "\n"))) (princ (format > "\f\n\n(provide 'xcb-%s)\n\n;;; xcb-%s.el ends here\n" header header))) (and > (buffer-name temp-buffer) (kill-buffer temp-buffer)))))) > xelb-parse("/usr/share/xcb/xprint.xml") > (if (not argv) (error "Usage: xelb-gen <protocol.xml> > [additional_load_paths]") (add-to-list 'load-path default-directory) (let > ((tail (cdr argv))) (while tail (let ((i (car tail))) (add-to-list 'load-path > i) (setq tail (cdr tail))))) (require 'xcb-types) (xelb-parse (car argv))) > #<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_101>(#<buffer > *load*> "/build/reproducible-path/xelb-0.20/xelb-gen") > load-with-code-conversion("/build/reproducible-path/xelb-0.20/xelb-gen" > "/build/reproducible-path/xelb-0.20/xelb-gen" nil t #<subr > F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_101>) > command-line--load-script("/build/reproducible-path/xelb-0.20/xelb-gen") > command-line-1(("--no-splash" "-scriptload" "./xelb-gen" > "/usr/share/xcb/xprint.xml")) > command-line() > normal-top-level() > > > Debugger entered--Lisp error: (file-missing "Cannot open load file" "No such > file or directory" "xcb-xproto") > require(xcb-xproto) > (let* ((name (xelb-node-subnode node)) (header (intern (concat "xcb-" > name)))) (require header) (setq xelb-imports (cons (concat "xcb:" name ":") > xelb-imports)) (list (list 'require (list 'quote header)))) > xelb-parse-import((import nil "xproto")) > (let nil (xelb-parse-import node)) > (cond ((eq val 'import) (let nil (xelb-parse-import node))) ((eq val > 'struct) (let nil (xelb-parse-struct node))) ((eq val 'union) (let nil > (xelb-parse-union node))) ((memq val '(xidunion xidtype)) (let nil > (xelb-parse-xidtype node))) ((eq val 'enum) (let nil (xelb-parse-enum node))) > ((eq val 'typedef) (let nil (xelb-parse-typedef node))) ((eq val 'request) > (let nil (xelb-parse-request node))) ((eq val 'event) (let nil > (xelb-parse-event node))) ((eq val 'error) (let nil (xelb-parse-error node))) > ((eq val 'eventcopy) (let nil (xelb-parse-eventcopy node))) ((eq val > 'errorcopy) (let nil (xelb-parse-errorcopy node))) ((eq val 'eventstruct) > (let nil (xelb-parse-eventstruct node))) ((memq val '(doc comment)) 'nil) (t > (let ((x val)) (error "Unsupported top-level element: <%s>" x)))) > (let* ((val (xelb-node-name node))) (cond ((eq val 'import) (let nil > (xelb-parse-import node))) ((eq val 'struct) (let nil (xelb-parse-struct > node))) ((eq val 'union) (let nil (xelb-parse-union node))) ((memq val > '(xidunion xidtype)) (let nil (xelb-parse-xidtype node))) ((eq val 'enum) > (let nil (xelb-parse-enum node))) ((eq val 'typedef) (let nil > (xelb-parse-typedef node))) ((eq val 'request) (let nil (xelb-parse-request > node))) ((eq val 'event) (let nil (xelb-parse-event node))) ((eq val 'error) > (let nil (xelb-parse-error node))) ((eq val 'eventcopy) (let nil > (xelb-parse-eventcopy node))) ((eq val 'errorcopy) (let nil > (xelb-parse-errorcopy node))) ((eq val 'eventstruct) (let nil > (xelb-parse-eventstruct node))) ((memq val '(doc comment)) 'nil) (t (let ((x > val)) (error "Unsupported top-level element: <%s>" x))))) > xelb-parse-top-level-element((import nil "xproto")) > (let ((result (xelb-parse-top-level-element i))) (if result (progn (let > ((tail result)) (while tail (let ((j ...)) (eval j) (pp j) (setq tail (cdr > tail))))) (princ "\n")))) > (let ((i (car tail))) (let ((result (xelb-parse-top-level-element i))) (if > result (progn (let ((tail result)) (while tail (let (...) (eval j) (pp j) > (setq tail ...)))) (princ "\n")))) (setq tail (cdr tail))) > (while tail (let ((i (car tail))) (let ((result > (xelb-parse-top-level-element i))) (if result (progn (let ((tail result)) > (while tail (let ... ... ... ...))) (princ "\n")))) (setq tail (cdr tail)))) > (let ((tail (xelb-node-subnodes result))) (while tail (let ((i (car tail))) > (let ((result (xelb-parse-top-level-element i))) (if result (progn (let (...) > (while tail ...)) (princ "\n")))) (setq tail (cdr tail))))) > (progn (insert-file-contents file) (setq result (libxml-parse-xml-region > (point-min) (point-max))) (if (eq 'xcb (xelb-node-name result)) nil (setq > result (xelb-node-subnode result))) (progn (or (eq 'xcb (xelb-node-name > result)) (cl--assertion-failed '(eq 'xcb (xelb-node-name result)))) nil) > (setq header (xelb-node-attr result 'header)) (if (string= header "xproto") > nil (setq xelb-prefix (concat xelb-prefix header ":"))) (princ (format ";;; > xcb-%s.el --- X11 %s -*- lexical-binding: t -*-\n\n;; Copyright (C) > 2015-2024 Free Software Foundation, Inc.\n\n;; This file is part of GNU > Emacs.\n\n;; GNU Emacs is free software: you can redistribute it and/or > modify\n;; it under the terms of the GNU General Public License as published > by\n;; the Free Software Foundation, either version 3 of the License, or\n;; > (at your option) any later version.\n\n;; GNU Emacs is distributed in the > hope that it will be useful,\n;; but WITHOUT ANY WARRANTY; without even the > implied warranty of\n;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. > See the\n;; GNU General Public License for more details.\n\n;; You should > have received a copy of the GNU General Public License\n;; along with GNU > Emacs. If not, see <http://www.gnu.org/licenses/>.\n\n;;; Commentary:\n\n;; > This file was generated by 'xelb-gen' from '%s',\n;; which you can retrieve > from <git://anongit.freedesktop.org/xcb/proto>.\n\n;;; Code:\n\n(require > 'xcb-types)\n\n" header (let ((extension-name (xelb-node-attr result > 'extension-name))) (if extension-name (concat extension-name " extension") > "core protocol")) (file-name-nondirectory file))) (let ((extension-xname > (xelb-node-attr result 'extension-xname)) (extension-name (xelb-node-attr > result 'extension-name)) (major-version (xelb-node-attr result > 'major-version)) (minor-version (xelb-node-attr result 'minor-version))) (if > extension-xname (progn (pp (list 'defconst (intern (concat xelb-prefix > "-extension-xname")) extension-xname)))) (if extension-name (progn (pp (list > 'defconst (intern (concat xelb-prefix "-extension-name")) extension-name)))) > (if major-version (progn (pp (list 'defconst (intern (concat xelb-prefix > "-major-version")) (string-to-number major-version))))) (if minor-version > (progn (pp (list 'defconst (intern (concat xelb-prefix "-minor-version")) > (string-to-number minor-version))))) (if (or extension-xname extension-name > major-version minor-version) (progn (princ "\n")))) (let ((tail > (xelb-node-subnodes result))) (while tail (let ((i (car tail))) (let ((result > (xelb-parse-top-level-element i))) (if result (progn (let ... ...) (princ > "\n")))) (setq tail (cdr tail))))) (if xelb-error-alist (progn (pp (cons > 'defconst (cons (intern (concat xelb-prefix "error-number-class-alist")) > (cons (list ... xelb-error-alist) '...)))) (princ "\n"))) (if > xelb-event-alist (progn (pp (cons 'defconst (cons (intern (concat xelb-prefix > "event-number-class-alist")) (cons (list ... xelb-event-alist) '...)))) > (princ "\n"))) (if xelb-xge-alist (progn (pp (cons 'defconst (cons (intern > (concat xelb-prefix "xge-number-class-alist")) (cons (list ... > xelb-xge-alist) '...)))) (princ "\n"))) (princ (format "\f\n\n(provide > 'xcb-%s)\n\n;;; xcb-%s.el ends here\n" header header))) > (unwind-protect (progn (insert-file-contents file) (setq result > (libxml-parse-xml-region (point-min) (point-max))) (if (eq 'xcb > (xelb-node-name result)) nil (setq result (xelb-node-subnode result))) (progn > (or (eq 'xcb (xelb-node-name result)) (cl--assertion-failed '(eq 'xcb > (xelb-node-name result)))) nil) (setq header (xelb-node-attr result 'header)) > (if (string= header "xproto") nil (setq xelb-prefix (concat xelb-prefix > header ":"))) (princ (format ";;; xcb-%s.el --- X11 %s -*- lexical-binding: > t -*-\n\n;; Copyright (C) 2015-2024 Free Software Foundation, Inc.\n\n;; This > file is part of GNU Emacs.\n\n;; GNU Emacs is free software: you can > redistribute it and/or modify\n;; it under the terms of the GNU General > Public License as published by\n;; the Free Software Foundation, either > version 3 of the License, or\n;; (at your option) any later version.\n\n;; > GNU Emacs is distributed in the hope that it will be useful,\n;; but WITHOUT > ANY WARRANTY; without even the implied warranty of\n;; MERCHANTABILITY or > FITNESS FOR A PARTICULAR PURPOSE. See the\n;; GNU General Public License for > more details.\n\n;; You should have received a copy of the GNU General Public > License\n;; along with GNU Emacs. If not, see > <http://www.gnu.org/licenses/>.\n\n;;; Commentary:\n\n;; This file was > generated by 'xelb-gen' from '%s',\n;; which you can retrieve from > <git://anongit.freedesktop.org/xcb/proto>.\n\n;;; Code:\n\n(require > 'xcb-types)\n\n" header (let ((extension-name (xelb-node-attr result ...))) > (if extension-name (concat extension-name " extension") "core protocol")) > (file-name-nondirectory file))) (let ((extension-xname (xelb-node-attr result > 'extension-xname)) (extension-name (xelb-node-attr result 'extension-name)) > (major-version (xelb-node-attr result 'major-version)) (minor-version > (xelb-node-attr result 'minor-version))) (if extension-xname (progn (pp (list > 'defconst (intern ...) extension-xname)))) (if extension-name (progn (pp > (list 'defconst (intern ...) extension-name)))) (if major-version (progn (pp > (list 'defconst (intern ...) (string-to-number major-version))))) (if > minor-version (progn (pp (list 'defconst (intern ...) (string-to-number > minor-version))))) (if (or extension-xname extension-name major-version > minor-version) (progn (princ "\n")))) (let ((tail (xelb-node-subnodes > result))) (while tail (let ((i (car tail))) (let ((result ...)) (if result > (progn ... ...))) (setq tail (cdr tail))))) (if xelb-error-alist (progn (pp > (cons 'defconst (cons (intern ...) (cons ... ...)))) (princ "\n"))) (if > xelb-event-alist (progn (pp (cons 'defconst (cons (intern ...) (cons ... > ...)))) (princ "\n"))) (if xelb-xge-alist (progn (pp (cons 'defconst (cons > (intern ...) (cons ... ...)))) (princ "\n"))) (princ (format "\f\n\n(provide > 'xcb-%s)\n\n;;; xcb-%s.el ends here\n" header header))) (and (buffer-name > temp-buffer) (kill-buffer temp-buffer))) > (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn > (insert-file-contents file) (setq result (libxml-parse-xml-region (point-min) > (point-max))) (if (eq 'xcb (xelb-node-name result)) nil (setq result > (xelb-node-subnode result))) (progn (or (eq 'xcb (xelb-node-name result)) > (cl--assertion-failed '(eq ... ...))) nil) (setq header (xelb-node-attr > result 'header)) (if (string= header "xproto") nil (setq xelb-prefix (concat > xelb-prefix header ":"))) (princ (format ";;; xcb-%s.el --- X11 %s -*- > lexical-binding: t -*-\n\n;; Copyright (C) 2015-2024 Free Software > Foundation, Inc.\n\n;; This file is part of GNU Emacs.\n\n;; GNU Emacs is > free software: you can redistribute it and/or modify\n;; it under the terms > of the GNU General Public License as published by\n;; the Free Software > Foundation, either version 3 of the License, or\n;; (at your option) any > later version.\n\n;; GNU Emacs is distributed in the hope that it will be > useful,\n;; but WITHOUT ANY WARRANTY; without even the implied warranty > of\n;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n;; GNU > General Public License for more details.\n\n;; You should have received a > copy of the GNU General Public License\n;; along with GNU Emacs. If not, see > <http://www.gnu.org/licenses/>.\n\n;;; Commentary:\n\n;; This file was > generated by 'xelb-gen' from '%s',\n;; which you can retrieve from > <git://anongit.freedesktop.org/xcb/proto>.\n\n;;; Code:\n\n(require > 'xcb-types)\n\n" header (let ((extension-name ...)) (if extension-name > (concat extension-name " extension") "core protocol")) > (file-name-nondirectory file))) (let ((extension-xname (xelb-node-attr result > 'extension-xname)) (extension-name (xelb-node-attr result 'extension-name)) > (major-version (xelb-node-attr result 'major-version)) (minor-version > (xelb-node-attr result 'minor-version))) (if extension-xname (progn (pp (list > ... ... extension-xname)))) (if extension-name (progn (pp (list ... ... > extension-name)))) (if major-version (progn (pp (list ... ... ...)))) (if > minor-version (progn (pp (list ... ... ...)))) (if (or extension-xname > extension-name major-version minor-version) (progn (princ "\n")))) (let > ((tail (xelb-node-subnodes result))) (while tail (let ((i ...)) (let (...) > (if result ...)) (setq tail (cdr tail))))) (if xelb-error-alist (progn (pp > (cons 'defconst (cons ... ...))) (princ "\n"))) (if xelb-event-alist (progn > (pp (cons 'defconst (cons ... ...))) (princ "\n"))) (if xelb-xge-alist (progn > (pp (cons 'defconst (cons ... ...))) (princ "\n"))) (princ (format > "\f\n\n(provide 'xcb-%s)\n\n;;; xcb-%s.el ends here\n" header header))) (and > (buffer-name temp-buffer) (kill-buffer temp-buffer)))) > (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer > (set-buffer temp-buffer) (unwind-protect (progn (insert-file-contents file) > (setq result (libxml-parse-xml-region (point-min) (point-max))) (if (eq 'xcb > (xelb-node-name result)) nil (setq result (xelb-node-subnode result))) (progn > (or (eq 'xcb (xelb-node-name result)) (cl--assertion-failed '...)) nil) (setq > header (xelb-node-attr result 'header)) (if (string= header "xproto") nil > (setq xelb-prefix (concat xelb-prefix header ":"))) (princ (format ";;; > xcb-%s.el --- X11 %s -*- lexical-binding: t -*-\n\n;; Copyright (C) > 2015-2024 Free Software Foundation, Inc.\n\n;; This file is part of GNU > Emacs.\n\n;; GNU Emacs is free software: you can redistribute it and/or > modify\n;; it under the terms of the GNU General Public License as published > by\n;; the Free Software Foundation, either version 3 of the License, or\n;; > (at your option) any later version.\n\n;; GNU Emacs is distributed in the > hope that it will be useful,\n;; but WITHOUT ANY WARRANTY; without even the > implied warranty of\n;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. > See the\n;; GNU General Public License for more details.\n\n;; You should > have received a copy of the GNU General Public License\n;; along with GNU > Emacs. If not, see <http://www.gnu.org/licenses/>.\n\n;;; Commentary:\n\n;; > This file was generated by 'xelb-gen' from '%s',\n;; which you can retrieve > from <git://anongit.freedesktop.org/xcb/proto>.\n\n;;; Code:\n\n(require > 'xcb-types)\n\n" header (let (...) (if extension-name ... "core protocol")) > (file-name-nondirectory file))) (let ((extension-xname (xelb-node-attr result > ...)) (extension-name (xelb-node-attr result ...)) (major-version > (xelb-node-attr result ...)) (minor-version (xelb-node-attr result ...))) (if > extension-xname (progn (pp ...))) (if extension-name (progn (pp ...))) (if > major-version (progn (pp ...))) (if minor-version (progn (pp ...))) (if (or > extension-xname extension-name major-version minor-version) (progn (princ > "\n")))) (let ((tail (xelb-node-subnodes result))) (while tail (let (...) > (let ... ...) (setq tail ...)))) (if xelb-error-alist (progn (pp (cons ... > ...)) (princ "\n"))) (if xelb-event-alist (progn (pp (cons ... ...)) (princ > "\n"))) (if xelb-xge-alist (progn (pp (cons ... ...)) (princ "\n"))) (princ > (format "\f\n\n(provide 'xcb-%s)\n\n;;; xcb-%s.el ends here\n" header > header))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) > (let ((pp-escape-newlines nil) (pp-default-function 'pp-28) result header) > (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer > (set-buffer temp-buffer) (unwind-protect (progn (insert-file-contents file) > (setq result (libxml-parse-xml-region (point-min) (point-max))) (if (eq 'xcb > (xelb-node-name result)) nil (setq result (xelb-node-subnode result))) (progn > (or (eq ... ...) (cl--assertion-failed ...)) nil) (setq header > (xelb-node-attr result 'header)) (if (string= header "xproto") nil (setq > xelb-prefix (concat xelb-prefix header ":"))) (princ (format ";;; xcb-%s.el > --- X11 %s -*- lexical-binding: t -*-\n\n;; Copyright (C) 2015-2024 Free > Software Foundation, Inc.\n\n;; This file is part of GNU Emacs.\n\n;; GNU > Emacs is free software: you can redistribute it and/or modify\n;; it under > the terms of the GNU General Public License as published by\n;; the Free > Software Foundation, either version 3 of the License, or\n;; (at your option) > any later version.\n\n;; GNU Emacs is distributed in the hope that it will be > useful,\n;; but WITHOUT ANY WARRANTY; without even the implied warranty > of\n;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n;; GNU > General Public License for more details.\n\n;; You should have received a > copy of the GNU General Public License\n;; along with GNU Emacs. If not, see > <http://www.gnu.org/licenses/>.\n\n;;; Commentary:\n\n;; This file was > generated by 'xelb-gen' from '%s',\n;; which you can retrieve from > <git://anongit.freedesktop.org/xcb/proto>.\n\n;;; Code:\n\n(require > 'xcb-types)\n\n" header (let ... ...) (file-name-nondirectory file))) (let > ((extension-xname ...) (extension-name ...) (major-version ...) > (minor-version ...)) (if extension-xname (progn ...)) (if extension-name > (progn ...)) (if major-version (progn ...)) (if minor-version (progn ...)) > (if (or extension-xname extension-name major-version minor-version) (progn > ...))) (let ((tail ...)) (while tail (let ... ... ...))) (if xelb-error-alist > (progn (pp ...) (princ "\n"))) (if xelb-event-alist (progn (pp ...) (princ > "\n"))) (if xelb-xge-alist (progn (pp ...) (princ "\n"))) (princ (format > "\f\n\n(provide 'xcb-%s)\n\n;;; xcb-%s.el ends here\n" header header))) (and > (buffer-name temp-buffer) (kill-buffer temp-buffer)))))) > xelb-parse("/usr/share/xcb/render.xml") > (if (not argv) (error "Usage: xelb-gen <protocol.xml> > [additional_load_paths]") (add-to-list 'load-path default-directory) (let > ((tail (cdr argv))) (while tail (let ((i (car tail))) (add-to-list 'load-path > i) (setq tail (cdr tail))))) (require 'xcb-types) (xelb-parse (car argv))) > #<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_101>(#<buffer > *load*> "/build/reproducible-path/xelb-0.20/xelb-gen") > load-with-code-conversion("/build/reproducible-path/xelb-0.20/xelb-gen" > "/build/reproducible-path/xelb-0.20/xelb-gen" nil t #<subr > F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_101>) > command-line--load-script("/build/reproducible-path/xelb-0.20/xelb-gen") > command-line-1(("--no-splash" "-scriptload" "./xelb-gen" > "/usr/share/xcb/render.xml")) > command-line() > normal-top-level() > > make[1]: *** [Makefile:13: xcb-xprint.el] Error 255 shuffle=reverse The full build log is available from: http://qa-logs.debian.net/2025/05/05/shuffle/reverse/xelb_0.20-1_unstable_reverse.log If you reassign this bug to another package, please mark it as 'affects'-ing this package. See https://www.debian.org/Bugs/server-control#affects