diff --git a/.gitignore b/.gitignore index 6bc8459..6c4166d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /bigloo4.2b.tar.gz /bigloo4.2c.tar.gz +/bigloo4.3a.tar.gz diff --git a/bigloo-emacs.patch b/bigloo-emacs.patch index 452a69d..fc03f5b 100644 --- a/bigloo-emacs.patch +++ b/bigloo-emacs.patch @@ -1,5 +1,5 @@ ---- ./bmacs/bee/bee-browse.el.orig 2015-09-15 23:48:40.000000000 -0600 -+++ ./bmacs/bee/bee-browse.el 2015-09-17 19:05:29.065422073 -0600 +--- bmacs/bee/bee-browse.el.orig 2017-04-18 01:33:51.000000000 -0600 ++++ bmacs/bee/bee-browse.el 2017-04-18 07:52:38.412146681 -0600 @@ -144,14 +144,16 @@ (select-frame frame) (select-window win) @@ -19,8 +19,8 @@ (recenter))))) t) ((and (consp command) ---- ./bmacs/bee/bee-expand.el.orig 2015-09-15 23:48:40.000000000 -0600 -+++ ./bmacs/bee/bee-expand.el 2015-09-17 19:05:29.076421204 -0600 +--- bmacs/bee/bee-expand.el.orig 2017-04-18 01:33:51.000000000 -0600 ++++ bmacs/bee/bee-expand.el 2017-04-18 07:52:38.425146596 -0600 @@ -79,9 +79,10 @@ (defun bee-set-expand-temporary-buffer () (if (and (bufferp bee-expand-temporary-buffer) @@ -53,19 +53,19 @@ (write-file fname nil) (bee-expand-buffer-internal))) ---- ./bmacs/bee/bee-indent.el.orig 2015-09-17 19:05:29.078421046 -0600 -+++ ./bmacs/bee/bee-indent.el 2015-09-17 19:06:48.373135957 -0600 -@@ -158,7 +158,7 @@ of the start of the containing expressio - (if (= (count-lines 1 (point)) 1) - 0 - (save-excursion -- (previous-line 1) -+ (forward-line 1) - (beginning-of-line) - (skip-chars-forward " \t") - (let ((s (current-column))) ---- ./bmacs/bee/bee-module.el.orig 2015-09-15 23:48:40.000000000 -0600 -+++ ./bmacs/bee/bee-module.el 2015-09-17 19:05:29.078421046 -0600 +--- bmacs/bee/bee-indent.el.orig 2017-04-18 07:52:38.425146596 -0600 ++++ bmacs/bee/bee-indent.el 2017-04-18 07:54:03.039690676 -0600 +@@ -157,7 +157,7 @@ of the start of the containing expressio + (defun bee-calculate-forced-indent () + (when (> (count-lines 1 (point)) 1) + (save-excursion +- (previous-line 1) ++ (forward-line -1) + (beginning-of-line) + (skip-chars-forward " \t") + (let ((s (current-column))) +--- bmacs/bee/bee-module.el.orig 2017-04-18 01:33:51.000000000 -0600 ++++ bmacs/bee/bee-module.el 2017-04-18 07:52:38.426146589 -0600 @@ -359,8 +359,7 @@ ;* bee-get-module-name ... */ ;*---------------------------------------------------------------------*/ @@ -76,8 +76,8 @@ (goto-char (point-min)) ;; first we search for the module declaration (if (re-search-forward (concat "(module[ \n\t]\\(" (ude-ident-regexp) ---- ./bmacs/bee/bee-usage.el.orig 2015-09-15 23:48:40.000000000 -0600 -+++ ./bmacs/bee/bee-usage.el 2015-09-17 19:05:37.777734017 -0600 +--- bmacs/bee/bee-usage.el.orig 2017-04-18 01:33:51.000000000 -0600 ++++ bmacs/bee/bee-usage.el 2017-04-18 07:52:38.427146583 -0600 @@ -33,9 +33,7 @@ (goto-char pos) (beginning-of-line) @@ -98,8 +98,8 @@ (ude-error "Can't find buffer for %S" file)))))))) ;*---------------------------------------------------------------------*/ ---- ./bmacs/bug/bug-class.el.orig 2015-09-15 23:48:40.000000000 -0600 -+++ ./bmacs/bug/bug-class.el 2015-09-17 19:05:39.402605692 -0600 +--- bmacs/bug/bug-class.el.orig 2017-04-18 01:33:51.000000000 -0600 ++++ bmacs/bug/bug-class.el 2017-04-18 07:52:38.427146583 -0600 @@ -36,15 +36,13 @@ ;* bug-file-to-string ... */ ;*---------------------------------------------------------------------*/ @@ -133,8 +133,8 @@ (if bug-buffer-class bug-buffer-class (progn ---- ./bmacs/bug/bug-connect.el.orig 2015-09-15 23:48:40.000000000 -0600 -+++ ./bmacs/bug/bug-connect.el 2015-09-17 19:05:39.402605692 -0600 +--- bmacs/bug/bug-connect.el.orig 2017-04-18 01:33:51.000000000 -0600 ++++ bmacs/bug/bug-connect.el 2017-04-18 07:52:38.428146576 -0600 @@ -74,8 +74,7 @@ ;* This function returns the point line number. */ ;*---------------------------------------------------------------------*/ @@ -145,8 +145,8 @@ (let (start) (save-excursion (save-restriction ---- ./bmacs/bug/bug.el.orig 2015-09-15 23:48:40.000000000 -0600 -+++ ./bmacs/bug/bug.el 2015-09-17 19:05:39.401605771 -0600 +--- bmacs/bug/bug.el.orig 2017-04-18 01:33:51.000000000 -0600 ++++ bmacs/bug/bug.el 2017-04-18 07:52:38.428146576 -0600 @@ -71,7 +71,10 @@ and source-file directory for your debug `(,bugname ,binary ,nil ,@(bug-string->list bug-emacs-option) ,a.out)) @@ -169,8 +169,8 @@ (condition-case () (comint-kill-subjob) (error ---- ./bmacs/bug/bug-filter.el.orig 2015-09-15 23:48:40.000000000 -0600 -+++ ./bmacs/bug/bug-filter.el 2015-09-17 19:05:39.403605614 -0600 +--- bmacs/bug/bug-filter.el.orig 2017-04-18 01:33:51.000000000 -0600 ++++ bmacs/bug/bug-filter.el 2017-04-18 07:52:38.429146570 -0600 @@ -51,9 +51,7 @@ ;* bug-buffer-text-properties-at ... */ ;*---------------------------------------------------------------------*/ @@ -208,8 +208,8 @@ ;*---------------------------------------------------------------------*/ ;* bug-filter-ident-map ... */ ---- ./bmacs/bug/bug-gnu-emacs.el.orig 2015-09-15 23:48:40.000000000 -0600 -+++ ./bmacs/bug/bug-gnu-emacs.el 2015-09-17 19:05:39.404605535 -0600 +--- bmacs/bug/bug-gnu-emacs.el.orig 2017-04-18 01:33:51.000000000 -0600 ++++ bmacs/bug/bug-gnu-emacs.el 2017-04-18 07:52:38.429146570 -0600 @@ -14,6 +14,7 @@ ;*---------------------------------------------------------------------*/ (provide 'bug-gnu-emacs) @@ -257,8 +257,8 @@ (setq pos (point)) (move-overlay bug-gnu-emacs-source-line-overlay (line-beginning-position) ---- ./bmacs/bug/bug-hooking.el.orig 2015-09-15 23:48:40.000000000 -0600 -+++ ./bmacs/bug/bug-hooking.el 2015-09-17 19:05:39.404605535 -0600 +--- bmacs/bug/bug-hooking.el.orig 2017-04-18 01:33:51.000000000 -0600 ++++ bmacs/bug/bug-hooking.el 2017-04-18 07:52:38.429146570 -0600 @@ -48,7 +48,7 @@ (redisplay-frame) (sit-for 0.2) @@ -288,8 +288,8 @@ (goto-char (point-max)) (insert str)))) (setq bug-prompt-hook ---- ./bmacs/bug/bug-process.el.orig 2015-09-15 23:48:40.000000000 -0600 -+++ ./bmacs/bug/bug-process.el 2015-09-17 19:05:39.405605456 -0600 +--- bmacs/bug/bug-process.el.orig 2017-04-18 01:33:51.000000000 -0600 ++++ bmacs/bug/bug-process.el 2017-04-18 07:52:38.430146563 -0600 @@ -63,8 +63,7 @@ (let ((proc (get-buffer-process bug-comint-buffer))) (or proc (ude-error "Current buffer has no process")) @@ -388,8 +388,8 @@ + (setq bug-waiting nil) + (or (not (numberp timeout)) + (< count timeout)))))))) ---- ./bmacs/bug/bug-source.el.orig 2015-09-15 23:48:40.000000000 -0600 -+++ ./bmacs/bug/bug-source.el 2015-09-17 19:05:39.406605377 -0600 +--- bmacs/bug/bug-source.el.orig 2017-04-18 01:33:51.000000000 -0600 ++++ bmacs/bug/bug-source.el 2017-04-18 07:52:38.430146563 -0600 @@ -80,7 +80,8 @@ (display-buffer buffer)))) (set-buffer buffer) @@ -400,8 +400,8 @@ (set-window-point window (point)) (if bug-raise-active-source-frame-p (let ((frame (window-frame window))) ---- ./bmacs/bug/bug-xemacs.el.orig 2015-09-15 23:48:40.000000000 -0600 -+++ ./bmacs/bug/bug-xemacs.el 2015-09-17 19:05:39.406605377 -0600 +--- bmacs/bug/bug-xemacs.el.orig 2017-04-18 01:33:51.000000000 -0600 ++++ bmacs/bug/bug-xemacs.el 2017-04-18 07:52:38.431146556 -0600 @@ -143,7 +143,8 @@ static char *arrow[] = { (save-excursion (save-restriction @@ -435,8 +435,8 @@ (goto-char char) (let ((o (make-extent (line-beginning-position) (1+ (line-beginning-position)) ---- ./bmacs/cee/cee-kbdb.el.orig 2015-09-15 23:48:40.000000000 -0600 -+++ ./bmacs/cee/cee-kbdb.el 2015-09-17 19:05:39.407605298 -0600 +--- bmacs/cee/cee-kbdb.el.orig 2017-04-18 01:33:51.000000000 -0600 ++++ bmacs/cee/cee-kbdb.el 2017-04-18 07:52:38.431146556 -0600 @@ -389,7 +389,8 @@ (select-frame frame) (select-window win) @@ -457,8 +457,8 @@ (beginning-of-line) t)))) (t ---- ./bmacs/dbg/dbg-args.el.orig 2015-09-15 23:48:40.000000000 -0600 -+++ ./bmacs/dbg/dbg-args.el 2015-09-17 19:05:39.409605140 -0600 +--- bmacs/dbg/dbg-args.el.orig 2017-04-18 01:33:51.000000000 -0600 ++++ bmacs/dbg/dbg-args.el 2017-04-18 07:52:38.432146550 -0600 @@ -100,8 +100,7 @@ This is implemented using the DBG `args' (let ((proc (get-buffer-process dbg-comint-buffer))) (or proc (ude-error "Current buffer has no process")) @@ -504,8 +504,8 @@ (save-excursion (goto-char (event-closest-point event)) (message "point: %S" (point)) ---- ./bmacs/dbg/dbg-breakpoint.el.orig 2015-09-15 23:48:40.000000000 -0600 -+++ ./bmacs/dbg/dbg-breakpoint.el 2015-09-17 19:05:39.410605061 -0600 +--- bmacs/dbg/dbg-breakpoint.el.orig 2017-04-18 01:33:51.000000000 -0600 ++++ bmacs/dbg/dbg-breakpoint.el 2017-04-18 07:52:38.432146550 -0600 @@ -304,8 +304,7 @@ static char *footprint[] = { (let ((proc (get-buffer-process dbg-comint-buffer))) (or proc (ude-error "Current buffer has no process")) @@ -536,8 +536,8 @@ (beginning-of-line) (set-extent-endpoints extent (point) (point)) bp))))) ---- ./bmacs/dbg/dbg-connect.el.orig 2015-09-15 23:48:40.000000000 -0600 -+++ ./bmacs/dbg/dbg-connect.el 2015-09-17 19:05:39.410605061 -0600 +--- bmacs/dbg/dbg-connect.el.orig 2017-04-18 01:33:51.000000000 -0600 ++++ bmacs/dbg/dbg-connect.el 2017-04-18 07:52:38.433146543 -0600 @@ -157,6 +157,6 @@ ;* Disconnect all currently connected buffers. */ ;*---------------------------------------------------------------------*/ @@ -546,8 +546,8 @@ + (mapc 'dbg-disconnect-buffer dbg-connected-buffers) (setq dbg-connected-buffers '())) ---- ./bmacs/dbg/dbg-display.el.orig 2015-09-15 23:48:40.000000000 -0600 -+++ ./bmacs/dbg/dbg-display.el 2015-09-17 19:05:39.411604982 -0600 +--- bmacs/dbg/dbg-display.el.orig 2017-04-18 01:33:51.000000000 -0600 ++++ bmacs/dbg/dbg-display.el 2017-04-18 07:52:38.433146543 -0600 @@ -100,8 +100,7 @@ This is implemented using the DBG `displ (let ((proc (get-buffer-process dbg-comint-buffer))) (or proc (ude-error "Current buffer has no process")) @@ -593,8 +593,8 @@ (save-excursion (goto-char (event-closest-point event)) (message "point: %S" (point)) ---- ./bmacs/dbg/dbg.el.orig 2015-09-15 23:48:40.000000000 -0600 -+++ ./bmacs/dbg/dbg.el 2015-09-17 19:05:39.408605219 -0600 +--- bmacs/dbg/dbg.el.orig 2017-04-18 01:33:51.000000000 -0600 ++++ bmacs/dbg/dbg.el 2017-04-18 07:52:38.434146537 -0600 @@ -80,7 +80,12 @@ and source-file directory for your debug (setq dbg-marker-filter 'dbg-default-marker-filter) (make-comint dbgname binary nil dbg-emacs-option a.out) @@ -747,8 +747,8 @@ (let (start) (save-excursion (save-restriction ---- ./bmacs/dbg/dbg-filter.el.orig 2015-09-15 23:48:40.000000000 -0600 -+++ ./bmacs/dbg/dbg-filter.el 2015-09-17 19:05:39.412604903 -0600 +--- bmacs/dbg/dbg-filter.el.orig 2017-04-18 01:33:51.000000000 -0600 ++++ bmacs/dbg/dbg-filter.el 2017-04-18 07:52:38.435146531 -0600 @@ -30,10 +30,12 @@ It is saved for when this flag is not se (defvar dbg-delete-prompt-marker nil) @@ -786,8 +786,8 @@ ;; If we deferred text that arrived during this processing, ;; handle it now. (if dbg-filter-pending-text ---- ./bmacs/dbg/dbg-locals.el.orig 2015-09-15 23:48:40.000000000 -0600 -+++ ./bmacs/dbg/dbg-locals.el 2015-09-17 19:05:39.413604824 -0600 +--- bmacs/dbg/dbg-locals.el.orig 2017-04-18 01:33:51.000000000 -0600 ++++ bmacs/dbg/dbg-locals.el 2017-04-18 07:52:38.435146531 -0600 @@ -100,8 +100,7 @@ This is implemented using the DBG `local (let ((proc (get-buffer-process dbg-comint-buffer))) (or proc (ude-error "Current buffer has no process")) @@ -833,8 +833,8 @@ (save-excursion (goto-char (event-closest-point event)) (message "point: %S" (point)) ---- ./bmacs/dbg/dbg-mode.el.orig 2015-09-15 23:48:40.000000000 -0600 -+++ ./bmacs/dbg/dbg-mode.el 2015-09-17 19:05:39.414604745 -0600 +--- bmacs/dbg/dbg-mode.el.orig 2017-04-18 01:33:51.000000000 -0600 ++++ bmacs/dbg/dbg-mode.el 2017-04-18 07:52:38.436146524 -0600 @@ -98,10 +98,7 @@ The following command are available: (make-local-variable 'dbg-delete-prompt-marker) (setq dbg-delete-prompt-marker (make-marker)) @@ -846,8 +846,8 @@ ;; the mouse shape when flying over non text (ude-set-nontext-pointer "left_ptr") ;; we set up kill buffer hook ---- ./bmacs/dbg/dbg-source.el.orig 2015-09-15 23:48:40.000000000 -0600 -+++ ./bmacs/dbg/dbg-source.el 2015-09-17 19:05:39.414604745 -0600 +--- bmacs/dbg/dbg-source.el.orig 2017-04-18 01:33:51.000000000 -0600 ++++ bmacs/dbg/dbg-source.el 2017-04-18 07:52:38.436146524 -0600 @@ -152,11 +152,11 @@ static char *arrow[] = { (set-extent-begin-glyph extent dbg-arrow-glyph) (set-extent-begin-glyph-layout extent 'outside-margin) @@ -863,8 +863,8 @@ (set-window-point window (point)) (setq pos (progn (beginning-of-line) ---- ./bmacs/dbg/dbg-stack.el.orig 2015-09-15 23:48:40.000000000 -0600 -+++ ./bmacs/dbg/dbg-stack.el 2015-09-17 19:05:39.415604666 -0600 +--- bmacs/dbg/dbg-stack.el.orig 2017-04-18 01:33:51.000000000 -0600 ++++ bmacs/dbg/dbg-stack.el 2017-04-18 07:52:38.437146517 -0600 @@ -110,8 +110,7 @@ This is implemented using the DBG `stack (proc (get-buffer-process dbg-comint-buffer))) (or proc (ude-error "Current buffer has no process")) @@ -910,8 +910,8 @@ (save-excursion (goto-char (event-closest-point event)) (setq selection (dbg-get-frame-number)))) ---- ./bmacs/ude/id-select.el.orig 2015-09-15 23:48:40.000000000 -0600 -+++ ./bmacs/ude/id-select.el 2015-09-17 19:05:39.417604508 -0600 +--- bmacs/ude/id-select.el.orig 2017-04-18 01:33:51.000000000 -0600 ++++ bmacs/ude/id-select.el 2017-04-18 07:52:38.438146511 -0600 @@ -248,6 +248,72 @@ (defvar id-select-prior-buffer 'nil) @@ -1099,8 +1099,8 @@ - (provide 'id-select) ---- ./bmacs/ude/plugin.el.orig 2015-09-15 23:48:40.000000000 -0600 -+++ ./bmacs/ude/plugin.el 2015-09-17 19:05:39.418604429 -0600 +--- bmacs/ude/plugin.el.orig 2017-04-18 01:33:51.000000000 -0600 ++++ bmacs/ude/plugin.el 2017-04-18 07:52:38.438146511 -0600 @@ -371,14 +371,16 @@ process structure hosting the plugin. (select-frame frame) (select-window win) @@ -1120,8 +1120,8 @@ (recenter)))))) ((and (consp command) (memq (car command) '(HELP help))) (let ((prgm (let ((p (cadr command))) ---- ./bmacs/ude/ude-about.el.orig 2015-09-15 23:48:40.000000000 -0600 -+++ ./bmacs/ude/ude-about.el 2015-09-17 19:05:39.418604429 -0600 +--- bmacs/ude/ude-about.el.orig 2017-04-18 01:33:51.000000000 -0600 ++++ bmacs/ude/ude-about.el 2017-04-18 07:52:38.438146511 -0600 @@ -27,8 +27,7 @@ (if (featurep 'xemacs) (let ((window-min-height 1) @@ -1156,8 +1156,8 @@ (ude-about-insert-xpm (current-buffer) xpm) (insert "\n") (insert msg) ---- ./bmacs/ude/ude-autoload.el.orig 2015-09-15 23:48:40.000000000 -0600 -+++ ./bmacs/ude/ude-autoload.el 2015-09-17 19:05:39.418604429 -0600 +--- bmacs/ude/ude-autoload.el.orig 2017-04-18 01:33:51.000000000 -0600 ++++ bmacs/ude/ude-autoload.el 2017-04-18 07:52:38.439146504 -0600 @@ -17,6 +17,7 @@ (autoload 'ude-customize "ude-custom" "Ude customization." t) ;; config @@ -1175,9 +1175,9 @@ (autoload 'ude-balloon-start "ude-balloon" "Bdb balloon system." t) (autoload 'ude-balloon-stop "ude-balloon" "Bdb balloon system." t) (autoload 'ude-balloon-get-buffer "ude-balloon" "Bdb balloon system." t) ---- ./bmacs/ude/ude-compile.el.orig 2015-09-15 23:48:40.000000000 -0600 -+++ ./bmacs/ude/ude-compile.el 2015-09-17 19:05:39.418604429 -0600 -@@ -351,8 +351,7 @@ Executed hooks are removed from that lis +--- bmacs/ude/ude-compile.el.orig 2017-04-18 01:33:52.000000000 -0600 ++++ bmacs/ude/ude-compile.el 2017-04-18 07:52:38.439146504 -0600 +@@ -344,8 +344,7 @@ Executed hooks are removed from that lis (ude-pop-compilation-frame-on-error ;; we have to pop up a frame (let* ((pop-up-frames t) @@ -1187,8 +1187,8 @@ (+ 2 (count-lines (point-min) (point-max))))) (cur-height (frame-height (selected-frame))) (err-height (if (> height cur-height) cur-height height)) ---- ./bmacs/ude/ude-docline.el.orig 2015-09-15 23:48:40.000000000 -0600 -+++ ./bmacs/ude/ude-docline.el 2015-09-17 19:05:39.419604350 -0600 +--- bmacs/ude/ude-docline.el.orig 2017-04-18 01:33:51.000000000 -0600 ++++ bmacs/ude/ude-docline.el 2017-04-18 07:52:38.440146498 -0600 @@ -106,13 +106,10 @@ (ude-error "Can't find documentation for `%S'" var) (progn @@ -1233,8 +1233,8 @@ (goto-char (point-min)) (let* ((path-regexp "@path[ \t]+\\([^@]+\\)@") (anchor-regexp "@ref[ \t]+\\([^@:]+\\):\\([^@]+\\)@") ---- ./bmacs/ude/ude-icon.el.orig 2015-09-15 23:48:40.000000000 -0600 -+++ ./bmacs/ude/ude-icon.el 2015-09-17 19:05:39.419604350 -0600 +--- bmacs/ude/ude-icon.el.orig 2017-04-18 01:33:52.000000000 -0600 ++++ bmacs/ude/ude-icon.el 2017-04-18 07:52:38.440146498 -0600 @@ -19,6 +19,7 @@ (require 'ude-custom) @@ -1243,8 +1243,8 @@ (add-to-list 'image-load-path (concat bmacs-lispdir "/" ude-toolbar-image-directory)) ---- ./bmacs/ude/ude-ident.el.orig 2015-09-15 23:48:40.000000000 -0600 -+++ ./bmacs/ude/ude-ident.el 2015-09-17 19:05:39.419604350 -0600 +--- bmacs/ude/ude-ident.el.orig 2017-04-18 01:33:52.000000000 -0600 ++++ bmacs/ude/ude-ident.el 2017-04-18 07:52:38.441146491 -0600 @@ -36,8 +36,8 @@ (save-excursion (goto-char pos) @@ -1300,8 +1300,8 @@ (setq ude-tags-balloon-region nil)))) ;*---------------------------------------------------------------------*/ ---- ./bmacs/ude/ude-makefile.el.orig 2015-09-15 23:48:40.000000000 -0600 -+++ ./bmacs/ude/ude-makefile.el 2015-09-17 19:05:39.419604350 -0600 +--- bmacs/ude/ude-makefile.el.orig 2017-04-18 01:33:51.000000000 -0600 ++++ bmacs/ude/ude-makefile.el 2017-04-18 07:52:38.441146491 -0600 @@ -209,14 +209,12 @@ (interactive) (let ((default-directory ude-root-directory)) @@ -1373,8 +1373,8 @@ (let* ((cmd (format "%s -o %s -project %s" ude-makemake ude-makefile ---- ./bmacs/ude/ude-repl.el.orig 2015-09-15 23:48:40.000000000 -0600 -+++ ./bmacs/ude/ude-repl.el 2015-09-17 19:05:39.419604350 -0600 +--- bmacs/ude/ude-repl.el.orig 2017-04-18 01:33:52.000000000 -0600 ++++ bmacs/ude/ude-repl.el 2017-04-18 07:52:38.442146484 -0600 @@ -43,8 +43,7 @@ 'ude-repl-sentinel) (set-process-filter ude-repl-comint-process @@ -1385,8 +1385,8 @@ (setq comint-prompt-regexp ude-repl-prompt-regexp) (setq comint-scroll-show-maximum-output 0.4) (setq comint-scroll-to-bottom-on-output t) ---- ./bmacs/xemacs-etags.el.orig 2015-09-15 23:48:40.000000000 -0600 -+++ ./bmacs/xemacs-etags.el 2015-09-17 19:05:39.420604271 -0600 +--- bmacs/xemacs-etags.el.orig 2017-04-18 01:33:51.000000000 -0600 ++++ bmacs/xemacs-etags.el 2017-04-18 07:52:38.443146478 -0600 @@ -236,8 +236,7 @@ file the tag was in." ;; it is initialized as a tag table buffer. (save-excursion diff --git a/bigloo-emacs25.patch b/bigloo-emacs25.patch deleted file mode 100644 index b0ea4c5..0000000 --- a/bigloo-emacs25.patch +++ /dev/null @@ -1,42 +0,0 @@ ---- autoconf/emacsbrand.orig 2015-12-21 05:31:11.000000000 -0700 -+++ autoconf/emacsbrand 2017-02-11 21:08:11.214135100 -0700 -@@ -35,6 +35,7 @@ done - #* The autodetection ELisp expression */ - #*---------------------------------------------------------------------*/ - expr="(cond \ -+ ((string-match \"GNU Emacs 25\" (emacs-version)) (kill-emacs 25)) \ - ((string-match \"GNU Emacs 24\" (emacs-version)) (kill-emacs 24)) \ - ((string-match \"GNU Emacs 23\" (emacs-version)) (kill-emacs 23)) \ - ((string-match \"GNU Emacs 22\" (emacs-version)) (kill-emacs 22)) \ -@@ -63,7 +64,11 @@ else - if [ "$version" = "24" ]; then - echo "emacs24" - else -- echo "generic"; -+ if [ "$version" = "25" ]; then -+ echo "emacs25" -+ else -+ echo "generic"; -+ fi - fi - fi - fi ---- bmacs/Makefile.orig 2015-12-21 05:31:11.000000000 -0700 -+++ bmacs/Makefile 2017-02-11 20:51:48.555481223 -0700 -@@ -115,7 +115,7 @@ POPULATION = Makefile README $(EMACS_SOU - #*---------------------------------------------------------------------*/ - all: $(EMACSBRAND) - --emacs22 emacs23 emacs24: -+emacs22 emacs23 emacs24 emacs25: - (expr=load-path; \ - for p in . $(LOADPATH); do \ - expr="(cons \"../$$p\" (cons \"$$p\" $$expr))"; \ -@@ -179,6 +179,7 @@ install.emacs21: doinstall - install.emacs22: doinstall - install.emacs23: doinstall - install.emacs24: doinstall -+install.emacs25: doinstall - install.xemacs: doinstall - - install.generic: diff --git a/bigloo-format.patch b/bigloo-format.patch index d2da7f7..9e619cc 100644 --- a/bigloo-format.patch +++ b/bigloo-format.patch @@ -1,84 +1,22 @@ ---- api/alsa/src/Clib/bglalsa.c.orig 2015-12-21 05:31:11.000000000 -0700 -+++ api/alsa/src/Clib/bglalsa.c 2017-02-11 16:44:56.776663486 -0700 -@@ -400,7 +400,7 @@ loop: - goto loop; - } - } else { -- fprintf( stderr, "%s:%d snd_pcm_writei (%d<0) -> %s\n", -+ fprintf( stderr, "%s:%d snd_pcm_writei (%ld<0) -> %s\n", - __FILE__, __LINE__, written, snd_strerror( written ) ); - - if( snd_pcm_state( pcm ) == SND_PCM_STATE_SUSPENDED ) { ---- api/avahi/src/Clib/bglavahi.c.orig 2015-12-21 05:31:11.000000000 -0700 -+++ api/avahi/src/Clib/bglavahi.c 2017-02-11 16:44:56.777663481 -0700 -@@ -476,7 +476,7 @@ bgl_avahi_string_list_to_list( AvahiStri - /*---------------------------------------------------------------------*/ - AvahiStringList * +--- api/avahi/src/Clib/bglavahi.c.orig 2017-04-18 01:33:52.000000000 -0600 ++++ api/avahi/src/Clib/bglavahi.c 2017-04-18 08:05:11.516621606 -0600 +@@ -481,7 +481,7 @@ AvahiStringList * bgl_avahi_list_to_string_list( obj_t p ) { + // MS: 28 feb 2017 + // AvahiStringList *l = avahi_string_list_new( "", NULL ); - AvahiStringList *l = avahi_string_list_new( 0L ); + AvahiStringList *l = avahi_string_list_new( NULL ); while( PAIRP( p ) ) { l = avahi_string_list_add( l, BSTRING_TO_STRING( CAR( p ) ) ); ---- api/ssl/src/C/bglssl.c.orig 2017-01-26 00:13:39.000000000 -0700 -+++ api/ssl/src/C/bglssl.c 2017-02-03 14:19:11.030067182 -0700 -@@ -3191,7 +3191,7 @@ bgl_ssl_cipher_init( ssl_cipher cipher, - NULL, NULL, NULL, 0 ); - - if( !EVP_CIPHER_CTX_set_key_length( ctx, key_len )) { -- fprintf( stderr, "node-crypto : Invalid key length %d\n", klen ); -+ fprintf( stderr, "node-crypto : Invalid key length %ld\n", klen ); - BGL_EVP_CIPHER_CTX_reset( ctx ); - BGL_EVP_CIPHER_CTX_free( ctx ); - return 0; -@@ -3240,7 +3240,7 @@ bgl_ssl_cipher_initiv( ssl_cipher cipher - if( EVP_CIPHER_iv_length( cipher->BgL_z42cipherz42 ) != ivlen && - !(EVP_CIPHER_mode( cipher->BgL_z42cipherz42) == EVP_CIPH_ECB_MODE && - ivlen == 0) ) { -- fprintf( stderr, "node-crypto : Invalid IV length %d\n", ivlen ); -+ fprintf( stderr, "node-crypto : Invalid IV length %ld\n", ivlen ); - return 0; - } else { - EVP_CIPHER_CTX *ctx = BGL_EVP_CIPHER_CTX_new(); -@@ -3250,7 +3250,7 @@ bgl_ssl_cipher_initiv( ssl_cipher cipher - EVP_CipherInit_ex( ctx, cipher->BgL_z42cipherz42, NULL, NULL, NULL, enc ); - - if( !EVP_CIPHER_CTX_set_key_length( ctx, klen ) ) { -- fprintf( stderr, "node-crypto : Invalid key length %d\n", klen ); -+ fprintf( stderr, "node-crypto : Invalid key length %ld\n", klen ); - BGL_EVP_CIPHER_CTX_reset( ctx ); - BGL_EVP_CIPHER_CTX_free( ctx ); - return 0; ---- comptime/Cc/exec.c.orig 2017-02-11 16:44:56.779663470 -0700 -+++ comptime/Cc/exec.c 2017-02-11 16:45:40.222428692 -0700 -@@ -305,7 +305,7 @@ extern "C" +--- comptime/Cc/exec.c.orig 2017-04-18 01:34:47.000000000 -0600 ++++ comptime/Cc/exec.c 2017-04-18 08:05:43.428456354 -0600 +@@ -332,7 +332,7 @@ extern "C" BSTRING_TO_STRING(BGl_za2shellza2z00zzengine_paramz00); - BgL_arg1030z00_32 = - execl(BgL_auxz00_113, BgL_auxz00_115, BgL_auxz00_117, -- BgL_auxz00_119, ((long) 0)); -+ BgL_auxz00_119, NULL); + BgL_arg1033z00_37 = + execl(BgL_tmpz00_118, BgL_auxz00_120, BgL_auxz00_122, +- BgL_auxz00_124, 0L); ++ BgL_auxz00_124, NULL); } - bgl_display_obj(BINT(BgL_arg1030z00_32), BgL_port1017z00_31); + bgl_display_obj(BINT(BgL_arg1033z00_37), BgL_port1017z00_36); } ---- runtime/Clib/crgc.c.orig 2015-12-21 05:31:11.000000000 -0700 -+++ runtime/Clib/crgc.c 2017-02-11 16:44:56.780663465 -0700 -@@ -896,7 +896,7 @@ int rgc_debug_port( obj_t port, char *ms - long bufpos = INPUT_PORT( port ).bufpos; - int eof = INPUT_PORT( port ).eof; - -- fprintf( stderr, "RGC_DEBUG(%s) port=%p:%s mstart=%d mstop=%d forward=%d bpos=%d bsiz=%d %s\n", msg, -+ fprintf( stderr, "RGC_DEBUG(%s) port=%p:%s mstart=%ld mstop=%ld forward=%ld bpos=%ld bsiz=%ld %s\n", msg, - port, BSTRING_TO_STRING( INPUT_PORT_NAME( port ) ), - matchstart, matchstop, forward, bufpos, bufsiz, - eof ? "eof" : "" ); ---- runtime/Clib/cwriter.c.orig 2015-12-21 05:31:11.000000000 -0700 -+++ runtime/Clib/cwriter.c 2017-02-11 16:44:56.781663460 -0700 -@@ -612,7 +612,7 @@ bgl_write_socket( obj_t o, obj_t op ) { - 48 + (STRINGP( SOCKET( o ).hostname ) ? - STRING_LENGTH( SOCKET( o ).hostname ) : - sizeof( "localhost" )), -- "#", -+ "#", - STRINGP( SOCKET( o ).hostname ) ? - BSTRING_TO_STRING( SOCKET( o ).hostname ) : - "localhost", diff --git a/bigloo-nameser.patch b/bigloo-nameser.patch deleted file mode 100644 index a4239e4..0000000 --- a/bigloo-nameser.patch +++ /dev/null @@ -1,54 +0,0 @@ ---- runtime/Clib/cresolv.c.orig 2015-12-21 05:31:11.000000000 -0700 -+++ runtime/Clib/cresolv.c 2017-02-11 11:50:14.058918307 -0700 -@@ -74,7 +74,37 @@ nstype( obj_t name ) { - if( !strcmp( n, "ns_t_dname" ) ) { return ns_t_dname; } - if( !strcmp( n, "ns_t_sink" ) ) { return ns_t_sink; } - if( !strcmp( n, "ns_t_opt" ) ) { return ns_t_opt; } -- // if( !strcmp( n, "ns_t_apl" ) ) { return ns_t_apl; } -+ if( !strcmp( n, "ns_t_apl" ) ) { return ns_t_apl; } -+ if( !strcmp( n, "ns_t_ds" ) ) { return ns_t_ds; } -+ if( !strcmp( n, "ns_t_sshfp" ) ) { return ns_t_sshfp; } -+ if( !strcmp( n, "ns_t_ipseckey" ) ) { return ns_t_ipseckey; } -+ if( !strcmp( n, "ns_t_rrsig" ) ) { return ns_t_rrsig; } -+ if( !strcmp( n, "ns_t_nsec" ) ) { return ns_t_nsec; } -+ if( !strcmp( n, "ns_t_dnskey" ) ) { return ns_t_dnskey; } -+ if( !strcmp( n, "ns_t_dhcid" ) ) { return ns_t_dhcid; } -+ if( !strcmp( n, "ns_t_nsec3" ) ) { return ns_t_nsec3; } -+ if( !strcmp( n, "ns_t_nsec3param" ) ) { return ns_t_nsec3param; } -+ if( !strcmp( n, "ns_t_tlsa" ) ) { return ns_t_tlsa; } -+ if( !strcmp( n, "ns_t_smimea" ) ) { return ns_t_smimea; } -+ if( !strcmp( n, "ns_t_hip" ) ) { return ns_t_hip; } -+ if( !strcmp( n, "ns_t_ninfo" ) ) { return ns_t_ninfo; } -+ if( !strcmp( n, "ns_t_rkey" ) ) { return ns_t_rkey; } -+ if( !strcmp( n, "ns_t_talink" ) ) { return ns_t_talink; } -+ if( !strcmp( n, "ns_t_cds" ) ) { return ns_t_cds; } -+ if( !strcmp( n, "ns_t_cdnskey" ) ) { return ns_t_cdnskey; } -+ if( !strcmp( n, "ns_t_openpgpkey" ) ) { return ns_t_openpgpkey; } -+ if( !strcmp( n, "ns_t_csync" ) ) { return ns_t_csync; } -+ if( !strcmp( n, "ns_t_spf" ) ) { return ns_t_spf; } -+ if( !strcmp( n, "ns_t_uinfo" ) ) { return ns_t_uinfo; } -+ if( !strcmp( n, "ns_t_uid" ) ) { return ns_t_uid; } -+ if( !strcmp( n, "ns_t_gid" ) ) { return ns_t_gid; } -+ if( !strcmp( n, "ns_t_unspec" ) ) { return ns_t_unspec; } -+ if( !strcmp( n, "ns_t_nid" ) ) { return ns_t_nid; } -+ if( !strcmp( n, "ns_t_l32" ) ) { return ns_t_l32; } -+ if( !strcmp( n, "ns_t_l64" ) ) { return ns_t_l64; } -+ if( !strcmp( n, "ns_t_lp" ) ) { return ns_t_lp; } -+ if( !strcmp( n, "ns_t_eui48" ) ) { return ns_t_eui48; } -+ if( !strcmp( n, "ns_t_eui64" ) ) { return ns_t_eui64; } - if( !strcmp( n, "ns_t_tkey" ) ) { return ns_t_tkey; } - if( !strcmp( n, "ns_t_tsig" ) ) { return ns_t_tsig; } - if( !strcmp( n, "ns_t_ixfr" ) ) { return ns_t_ixfr; } -@@ -82,7 +112,11 @@ nstype( obj_t name ) { - if( !strcmp( n, "ns_t_mailb" ) ) { return ns_t_mailb; } - if( !strcmp( n, "ns_t_maila" ) ) { return ns_t_maila; } - if( !strcmp( n, "ns_t_any" ) ) { return ns_t_any; } -- if( !strcmp( n, "ns_t_zxfr" ) ) { return ns_t_zxfr; } -+ if( !strcmp( n, "ns_t_uri" ) ) { return ns_t_uri; } -+ if( !strcmp( n, "ns_t_caa" ) ) { return ns_t_caa; } -+ if( !strcmp( n, "ns_t_avc" ) ) { return ns_t_avc; } -+ if( !strcmp( n, "ns_t_ta" ) ) { return ns_t_ta; } -+ if( !strcmp( n, "ns_t_dlv" ) ) { return ns_t_dlv; } - - C_SYSTEM_FAILURE( BGL_ERROR, "resolv", "bad query type", name ); - } diff --git a/bigloo-openssl11.patch b/bigloo-openssl11.patch deleted file mode 100644 index 01e4a4d..0000000 --- a/bigloo-openssl11.patch +++ /dev/null @@ -1,641 +0,0 @@ ---- api/ssl/src/C/bglssl.c.orig 2015-12-21 05:31:11.000000000 -0700 -+++ api/ssl/src/C/bglssl.c 2017-01-26 00:13:39.000000000 -0700 -@@ -3,8 +3,8 @@ - /* ------------------------------------------------------------- */ - /* Author : Manuel Serrano & Stephane Epardaud */ - /* Creation : Wed Mar 23 16:54:42 2005 */ --/* Last change : Wed Nov 18 05:25:26 2015 (serrano) */ --/* Copyright : 2005-15 Manuel Serrano */ -+/* Last change : Wed Nov 30 07:40:42 2016 (serrano) */ -+/* Copyright : 2005-16 Manuel Serrano */ - /* ------------------------------------------------------------- */ - /* SSL socket client-side support */ - /*=====================================================================*/ -@@ -190,21 +190,25 @@ bgl_ssl_init() { - #if( BGLSSL_HAVE_SSLV23 ) - ctxc[ BGLSSL_SSLV23 ] = SSL_CTX_new( SSLv23_client_method() ); - #endif -+#if( BGLSSL_HAVE_TLSV1 ) - ctxc[ BGLSSL_TLSV1 ] = SSL_CTX_new( TLSv1_client_method() ); -+#else -+ ctxc[ BGLSSL_TLSV1 ] = SSL_CTX_new( TLS_client_method() ); -+#endif - #if( BGLSSL_HAVE_TLSV1_1 ) - ctxc[ BGLSSL_TLSV1_1 ] = SSL_CTX_new( TLSv1_1_client_method() ); - #else -- ctxc[ BGLSSL_TLSV1_1 ] = SSL_CTX_new( TLSv1_client_method() ); -+ ctxc[ BGLSSL_TLSV1_1 ] = ctxc[ BGLSSL_TLSV1 ]; - #endif - #if( BGLSSL_HAVE_TLSV1_2 ) - ctxc[ BGLSSL_TLSV1_2 ] = SSL_CTX_new( TLSv1_2_client_method() ); - #else -- ctxc[ BGLSSL_TLSV1_2 ] = SSL_CTX_new( TLSv1_client_method() ); -+ ctxc[ BGLSSL_TLSV1_2 ] = ctxc[ BGLSSL_TLSV1 ]; - #endif - #if( BGLSSL_HAVE_DTLS ) - ctxc[ BGLSSL_DTLSV1 ] = SSL_CTX_new( DTLSv1_client_method() ); - #else -- ctxc[ BGLSSL_DTLSV1 ] = 0; -+ ctxc[ BGLSSL_DTLSV1 ] = SSL_CTX_new( DTLS_client_method() ); - #endif - - #if( BGLSSL_HAVE_SSLV2 ) -@@ -216,21 +220,25 @@ bgl_ssl_init() { - #if( BGLSSL_HAVE_SSLV23 ) - ctxs[ BGLSSL_SSLV23 ] = SSL_CTX_new( SSLv23_server_method() ); - #endif -+#if( BGLSSL_HAVE_TLSV1 ) - ctxs[ BGLSSL_TLSV1 ] = SSL_CTX_new( TLSv1_server_method() ); -+#else -+ ctxs[ BGLSSL_TLSV1 ] = SSL_CTX_new( TLS_server_method() ); -+#endif - #if( BGLSSL_HAVE_TLSV1_1 ) - ctxs[ BGLSSL_TLSV1_1 ] = SSL_CTX_new( TLSv1_1_server_method() ); - #else -- ctxs[ BGLSSL_TLSV1_1 ] = SSL_CTX_new( TLSv1_server_method() ); -+ ctxs[ BGLSSL_TLSV1_1 ] = ctxs[ BGLSSL_TLSV1 ]; - #endif - #if( BGLSSL_HAVE_TLSV1_2 ) - ctxs[ BGLSSL_TLSV1_2 ] = SSL_CTX_new( TLSv1_2_server_method() ); - #else -- ctxs[ BGLSSL_TLSV1_2 ] = SSL_CTX_new( TLSv1_server_method() ); -+ ctxs[ BGLSSL_TLSV1_2 ] = ctxs[ BGLSSL_TLSV1 ]; - #endif - #if( BGLSSL_HAVE_DTLS ) - ctxs[ BGLSSL_DTLSV1 ] = SSL_CTX_new( DTLSv1_server_method() ); - #else -- ctxs[ BGLSSL_DTLSV1 ] = 0; -+ ctxs[ BGLSSL_DTLSV1 ] = SSL_CTX_new( DTLS_server_method() ); - #endif - } - -@@ -417,7 +425,7 @@ socket_enable_ssl( obj_t s, char accept, - /* keep the ca_list away from the GC */ - drag = MAKE_PAIR( ca_list, drag ); - -- ctx = SSL_CTX_new( ctx->method ); -+ ctx = SSL_CTX_new( BGL_SSL_CTX_get_ssl_method( ctx ) ); - if( ctx == NULL ) - C_SYSTEM_FAILURE( BGL_IO_ERROR, - "make-client-ssl-socket, cannot create SSL context", -@@ -890,7 +898,7 @@ SSL_CTX_use_certificate_chain( SSL_CTX * - x = PEM_read_bio_X509_AUX( in, NULL, NULL, NULL ); - - if( x == NULL ) { -- SSLerr(SSL_F_SSL_CTX_USE_CERTIFICATE_CHAIN_FILE, ERR_R_PEM_LIB ); -+ SSLerr( SSL_F_SSL_CTX_USE_CERTIFICATE_CHAIN_FILE, ERR_R_PEM_LIB ); - goto end; - } - -@@ -908,10 +916,14 @@ SSL_CTX_use_certificate_chain( SSL_CTX * - int r; - unsigned long err; - -- if( ctx->extra_certs != NULL ) { -- sk_X509_pop_free( ctx->extra_certs, X509_free ); -- ctx->extra_certs = NULL; -- } -+ // MS 28 Novembre 2016: WARNING !!! -+ // before openssl 1.1, used to be -+ // if( ctx->extra_certs != NULL ) { -+ // sk_X509_pop_free( ctx->extra_certs, X509_free ); -+ // ctx->extra_certs = NULL; -+ // } -+ // see bglss.h for the definition of BGL_SSL_CTX_clear_extra_chain_certs -+ BGL_SSL_CTX_clear_extra_chain_certs( ctx ); - - while( (ca = PEM_read_bio_X509( in, NULL, NULL, NULL )) ) { - r = SSL_CTX_add_extra_chain_cert( ctx, ca ); -@@ -1732,9 +1744,12 @@ bgl_new_session_callback( SSL *ssl, SSL_ - C_SYSTEM_FAILURE( BGL_TYPE_ERROR, "ssl-session", - "wrong callback arity", cb ); - } else { -+ unsigned int sidlen; -+ const char *sid = BGL_SSL_SESSION_get_id( sess, sidlen ); -+ - PROCEDURE_ENTRY( cb ) - ( cb, -- string_to_bstring_len( sess->session_id, sess->session_id_length ), -+ string_to_bstring_len( (char *)sid, sidlen ), - serialized, - BEOA ); - return 0; -@@ -2206,12 +2221,13 @@ bgl_ssl_connection_get_peer_certificate( - RSA *rsa = NULL; - if( NULL != (pkey = X509_get_pubkey( peer_cert )) - && NULL != (rsa = EVP_PKEY_get1_RSA( pkey )) ) { -- BN_print( bio, rsa->n ); -+ const BIGNUM *z; -+ BN_print( bio, BGL_RSA_N( rsa, z ) ); - BIO_get_mem_ptr( bio, &mem ); - info = MAKE_PAIR( cons( "modulus", mem ), info ); - BIO_reset( bio ); - -- BN_print( bio, rsa->e ); -+ BN_print( bio, BGL_RSA_E( rsa, z ) ); - BIO_get_mem_ptr( bio, &mem ); - info = MAKE_PAIR( cons( "exponent", mem ), info ); - BIO_reset( bio ); -@@ -2260,7 +2276,7 @@ bgl_ssl_connection_get_peer_certificate( - info ); - } - -- ASN1_OBJECT *eku = -+ STACK_OF(ASN1_OBJECT) *eku = - (ASN1_OBJECT *)X509_get_ext_d2i( peer_cert, NID_ext_key_usage, NULL, NULL ); - if( eku != NULL ) { - char buf[ 256 ]; -@@ -2404,11 +2420,23 @@ bgl_ssl_ctx_init( secure_context sc ) { - goto unsupported; - #endif - } else if( !strcmp( sslmethod, "TLSv1_method" ) ) { -+#if( BGLSSL_HAVE_TLSV1 ) - sc->BgL_z42nativez42 = SSL_CTX_new( TLSv1_method() ); -+#else -+ sc->BgL_z42nativez42 = SSL_CTX_new( TLS_method() ); -+#endif - } else if( !strcmp( sslmethod, "TLSv1_server_method" ) ) { -+#if( BGLSSL_HAVE_TLSV1 ) - sc->BgL_z42nativez42 = SSL_CTX_new( TLSv1_server_method() ); -+#else -+ sc->BgL_z42nativez42 = SSL_CTX_new( TLS_server_method() ); -+#endif - } else if( !strcmp( sslmethod, "TLSv1_client_method" ) ) { -+#if( BGLSSL_HAVE_TLSV1 ) - sc->BgL_z42nativez42 = SSL_CTX_new( TLSv1_client_method() ); -+#else -+ sc->BgL_z42nativez42 = SSL_CTX_new( TLS_client_method() ); -+#endif - } else { - goto unsupported; - } -@@ -2513,12 +2541,24 @@ bgl_bn_bin2bn( char *s, int len ) { - } - - /*---------------------------------------------------------------------*/ -+/* BGL_RUNTIME_DEF void */ -+/* bgl_dh_pub_priv_key_set ... */ -+/*---------------------------------------------------------------------*/ -+BGL_RUNTIME_DEF void -+bgl_dh_pub_priv_key_set( DH *dh, BIGNUM *pub, BIGNUM *priv ) { -+ if( pub != 0 && priv !=0 ) { -+ BGL_DH_SET_PUB_PRIV( dh, pub, priv ); -+ } -+} -+ -+/*---------------------------------------------------------------------*/ - /* BIGNUM * */ - /* bgl_dh_private_key ... */ - /*---------------------------------------------------------------------*/ - BGL_RUNTIME_DEF BIGNUM * - bgl_dh_private_key( DH *dh ) { -- return dh->priv_key; -+ const BIGNUM *priv_key; -+ return (BIGNUM *)BGL_DH_GET_PRIV( dh, priv_key ); - } - - /*---------------------------------------------------------------------*/ -@@ -2527,7 +2567,7 @@ bgl_dh_private_key( DH *dh ) { - /*---------------------------------------------------------------------*/ - BGL_RUNTIME_DEF void - bgl_dh_private_key_set( DH *dh, BIGNUM *v ) { -- dh->priv_key = v; -+ BGL_DH_SET_PRIV( dh, v ); - } - - /*---------------------------------------------------------------------*/ -@@ -2536,7 +2576,8 @@ bgl_dh_private_key_set( DH *dh, BIGNUM * - /*---------------------------------------------------------------------*/ - BGL_RUNTIME_DEF BIGNUM * - bgl_dh_public_key( DH *dh ) { -- return dh->pub_key; -+ const BIGNUM *pub_key; -+ return (BIGNUM *)BGL_DH_GET_PUB( dh, pub_key ); - } - - /*---------------------------------------------------------------------*/ -@@ -2545,7 +2586,18 @@ bgl_dh_public_key( DH *dh ) { - /*---------------------------------------------------------------------*/ - BGL_RUNTIME_DEF void - bgl_dh_public_key_set( DH *dh, BIGNUM *v ) { -- dh->pub_key = v; -+ BGL_DH_SET_PUB( dh, v ); -+} -+ -+/*---------------------------------------------------------------------*/ -+/* void */ -+/* bgl_dh_pqg_set ... */ -+/*---------------------------------------------------------------------*/ -+BGL_RUNTIME_DEF void -+bgl_dh_pqg_set( DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g ) { -+ if( p != 0 && g != 0 ) { -+ BGL_DH_SET_PQG( dh, p, q, g ); -+ } - } - - /*---------------------------------------------------------------------*/ -@@ -2554,7 +2606,8 @@ bgl_dh_public_key_set( DH *dh, BIGNUM *v - /*---------------------------------------------------------------------*/ - BGL_RUNTIME_DEF BIGNUM * - bgl_dh_p( DH *dh ) { -- return dh->p; -+ const BIGNUM *key; -+ return (BIGNUM *)BGL_DH_GET_P( dh, key ); - } - - /*---------------------------------------------------------------------*/ -@@ -2563,7 +2616,26 @@ bgl_dh_p( DH *dh ) { - /*---------------------------------------------------------------------*/ - BGL_RUNTIME_DEF void - bgl_dh_p_set( DH *dh, BIGNUM *v ) { -- dh->p = v; -+ BGL_DH_SET_P( dh, v ); -+} -+ -+/*---------------------------------------------------------------------*/ -+/* BIGNUM * */ -+/* bgl_dh_q ... */ -+/*---------------------------------------------------------------------*/ -+BGL_RUNTIME_DEF BIGNUM * -+bgl_dh_q( DH *dh ) { -+ const BIGNUM *key; -+ return (BIGNUM *)BGL_DH_GET_Q( dh, key ); -+} -+ -+/*---------------------------------------------------------------------*/ -+/* void */ -+/* bgl_dh_q_set ... */ -+/*---------------------------------------------------------------------*/ -+BGL_RUNTIME_DEF void -+bgl_dh_q_set( DH *dh, BIGNUM *v ) { -+ BGL_DH_SET_Q( dh, v ); - } - - /*---------------------------------------------------------------------*/ -@@ -2572,7 +2644,8 @@ bgl_dh_p_set( DH *dh, BIGNUM *v ) { - /*---------------------------------------------------------------------*/ - BGL_RUNTIME_DEF BIGNUM * - bgl_dh_g( DH *dh ) { -- return dh->g; -+ const BIGNUM *key; -+ return (BIGNUM *)BGL_DH_GET_G( dh, key ); - } - - /*---------------------------------------------------------------------*/ -@@ -2581,7 +2654,7 @@ bgl_dh_g( DH *dh ) { - /*---------------------------------------------------------------------*/ - BGL_RUNTIME_DEF void - bgl_dh_g_set( DH *dh, BIGNUM *v ) { -- dh->g = v; -+ BGL_DH_SET_G( dh, v ); - } - - /*---------------------------------------------------------------------*/ -@@ -2605,8 +2678,12 @@ bgl_ssl_get_ciphers() { - #else - bgl_ssl_init(); - #endif -- -+ -+#if( BGLSSL_HAVE_TLSV1 ) - ctx = SSL_CTX_new( TLSv1_server_method() ); -+#else -+ ctx = SSL_CTX_new( TLS_server_method() ); -+#endif - if( ctx == NULL ) { - C_SYSTEM_FAILURE( BGL_IO_ERROR, - "ssl-get-ciphers", -@@ -2630,7 +2707,7 @@ bgl_ssl_get_ciphers() { - res = create_vector( sk_SSL_CIPHER_num( ciphers ) ); - - for( i = 0; i < sk_SSL_CIPHER_num( ciphers ); ++i ) { -- SSL_CIPHER *c = sk_SSL_CIPHER_value( ciphers, i ); -+ const SSL_CIPHER *c = sk_SSL_CIPHER_value( ciphers, i ); - VECTOR_SET( res, i, string_to_bstring( (char *)SSL_CIPHER_get_name( c ) ) ); - } - -@@ -2719,7 +2796,8 @@ bgl_ssl_hash_init( ssl_hash hash ) { - (void *)EVP_get_digestbyname( (const char *)BSTRING_TO_STRING( hash->BgL_typez00 ) ); - if( !(hash->BgL_z42mdz42) ) return 0; - -- hash->BgL_z42mdzd2ctxz90 = GC_MALLOC( sizeof( EVP_MD_CTX ) ); -+ hash->BgL_z42mdzd2ctxz90 = BGL_EVP_MD_CTX_new(); -+ - EVP_MD_CTX_init( hash->BgL_z42mdzd2ctxz90 ); - - EVP_DigestInit_ex( hash->BgL_z42mdzd2ctxz90, hash->BgL_z42mdz42, NULL ); -@@ -2755,7 +2833,8 @@ bgl_ssl_hash_digest( ssl_hash hash ) { - unsigned int md_len; - - EVP_DigestFinal_ex( hash->BgL_z42mdzd2ctxz90, md_value, &md_len ); -- EVP_MD_CTX_cleanup( hash->BgL_z42mdzd2ctxz90 ); -+ BGL_EVP_MD_CTX_reset( hash->BgL_z42mdzd2ctxz90 ); -+ BGL_EVP_MD_CTX_free( hash->BgL_z42mdzd2ctxz90 ); - hash->BgL_z42mdzd2ctxz90 = 0L; - - return string_to_bstring_len( md_value, md_len ); -@@ -2786,19 +2865,19 @@ bgl_ssl_hmac_init( ssl_hmac hmac, obj_t - (void *)EVP_get_digestbyname( (const char *)BSTRING_TO_STRING( type ) ); - if( !(hmac->BgL_z42mdz42) ) return BFALSE; - -- hmac->BgL_z42mdzd2ctxz90 = GC_MALLOC( sizeof( HMAC_CTX ) ); -- HMAC_CTX_init( hmac->BgL_z42mdzd2ctxz90 ); -+ hmac->BgL_z42mdzd2ctxz90 = BGL_HMAC_CTX_new(); -+ BGL_HMAC_CTX_init( hmac->BgL_z42mdzd2ctxz90 ); - - if( !STRINGP( key ) ) { -- HMAC_Init( hmac->BgL_z42mdzd2ctxz90, -- "", -- 0, -- hmac->BgL_z42mdz42 ); -+ BGL_HMAC_Init( hmac->BgL_z42mdzd2ctxz90, -+ "", -+ 0, -+ hmac->BgL_z42mdz42 ); - } else { -- HMAC_Init( hmac->BgL_z42mdzd2ctxz90, -- BSTRING_TO_STRING( key ), -- STRING_LENGTH( key ), -- hmac->BgL_z42mdz42 ); -+ BGL_HMAC_Init( hmac->BgL_z42mdzd2ctxz90, -+ BSTRING_TO_STRING( key ), -+ STRING_LENGTH( key ), -+ hmac->BgL_z42mdz42 ); - } - return BTRUE; - } -@@ -2832,7 +2911,8 @@ bgl_ssl_hmac_digest( ssl_hmac hmac ) { - unsigned int md_len; - - HMAC_Final( hmac->BgL_z42mdzd2ctxz90, md_value, &md_len ); -- HMAC_CTX_cleanup( hmac->BgL_z42mdzd2ctxz90 ); -+ BGL_HMAC_CTX_reset( hmac->BgL_z42mdzd2ctxz90 ); -+ BGL_HMAC_CTX_free( hmac->BgL_z42mdzd2ctxz90 ); - hmac->BgL_z42mdzd2ctxz90 = 0L; - - return string_to_bstring_len( md_value, md_len ); -@@ -2858,12 +2938,12 @@ bgl_ssl_sign_init( ssl_sign sign, obj_t - #else - bgl_ssl_init(); - #endif -- -+ - sign->BgL_z42mdz42 = - (void *)EVP_get_digestbyname( (const char *)BSTRING_TO_STRING( type ) ); - if( !(sign->BgL_z42mdz42) ) return 0; - -- sign->BgL_z42mdzd2ctxz90 = GC_MALLOC( sizeof( EVP_MD_CTX ) ); -+ sign->BgL_z42mdzd2ctxz90 = BGL_EVP_MD_CTX_new(); - EVP_MD_CTX_init( sign->BgL_z42mdzd2ctxz90 ); - - EVP_SignInit_ex( sign->BgL_z42mdzd2ctxz90, sign->BgL_z42mdz42, NULL ); -@@ -2916,7 +2996,8 @@ bgl_ssl_sign_sign( ssl_sign sign, obj_t - return BFALSE; - } - -- EVP_MD_CTX_cleanup( sign->BgL_z42mdzd2ctxz90 ); -+ BGL_EVP_MD_CTX_reset( sign->BgL_z42mdzd2ctxz90 ); -+ BGL_EVP_MD_CTX_free( sign->BgL_z42mdzd2ctxz90 ); - sign->BgL_z42mdzd2ctxz90 = 0L; - - EVP_PKEY_free( pkey ); -@@ -2950,7 +3031,7 @@ bgl_ssl_verify_init( ssl_verify verify, - (void *)EVP_get_digestbyname( (const char *)BSTRING_TO_STRING( type ) ); - if( !(verify->BgL_z42mdz42) ) return 0; - -- verify->BgL_z42mdzd2ctxz90 = GC_MALLOC( sizeof( EVP_MD_CTX ) ); -+ verify->BgL_z42mdzd2ctxz90 = BGL_EVP_MD_CTX_new(); - EVP_MD_CTX_init( verify->BgL_z42mdzd2ctxz90 ); - - EVP_VerifyInit_ex( verify->BgL_z42mdzd2ctxz90, verify->BgL_z42mdz42, NULL ); -@@ -3062,7 +3143,8 @@ bgl_ssl_verify_final( ssl_verify verify, - if( pkey ) EVP_PKEY_free( pkey ); - if( x509 ) X509_free( x509 ); - if( bp ) BIO_free( bp ); -- EVP_MD_CTX_cleanup( verify->BgL_z42mdzd2ctxz90 ); -+ BGL_EVP_MD_CTX_reset( verify->BgL_z42mdzd2ctxz90 ); -+ BGL_EVP_MD_CTX_free( verify->BgL_z42mdzd2ctxz90 ); - verify->BgL_z42mdzd2ctxz90 = 0; - - return r && (r != -1); -@@ -3101,7 +3183,7 @@ bgl_ssl_cipher_init( ssl_cipher cipher, - EVP_md5(), NULL, - &(STRING_REF( keybuf, koffset )), klen, - 1, key, iv ); -- EVP_CIPHER_CTX *ctx = (EVP_CIPHER_CTX *)GC_MALLOC( sizeof( EVP_CIPHER_CTX ) ); -+ EVP_CIPHER_CTX *ctx = BGL_EVP_CIPHER_CTX_new(); - cipher->BgL_z42cipherzd2ctxz90 = ctx; - - EVP_CIPHER_CTX_init( ctx ); -@@ -3110,7 +3192,8 @@ bgl_ssl_cipher_init( ssl_cipher cipher, - - if( !EVP_CIPHER_CTX_set_key_length( ctx, key_len )) { - fprintf( stderr, "node-crypto : Invalid key length %d\n", klen ); -- EVP_CIPHER_CTX_cleanup( ctx ); -+ BGL_EVP_CIPHER_CTX_reset( ctx ); -+ BGL_EVP_CIPHER_CTX_free( ctx ); - return 0; - } - EVP_CipherInit_ex( ctx, NULL, NULL, -@@ -3131,7 +3214,7 @@ bgl_ssl_cipher_initiv( ssl_cipher cipher - obj_t iv, long ivoffset, long ivlen, bool_t enc ) { - #if( SSL_DEBUG ) - BGL_MUTEX_LOCK( bigloo_mutex ); -- -+ - if( !init ) { - init = 1; - bgl_ssl_library_init(); -@@ -3142,11 +3225,11 @@ bgl_ssl_cipher_initiv( ssl_cipher cipher - #else - bgl_ssl_init(); - #endif -- -+ - cipher->BgL_z42cipherz42 = - (void *)EVP_get_cipherbyname( (const char *)BSTRING_TO_STRING( type ) ); - -- if( !cipher ) { -+ if( !cipher->BgL_z42cipherz42 ) { - fprintf( stderr, "node-crypto : Unknown cipher %s\n", - (const char *)BSTRING_TO_STRING( type )); - return 0; -@@ -3160,15 +3243,16 @@ bgl_ssl_cipher_initiv( ssl_cipher cipher - fprintf( stderr, "node-crypto : Invalid IV length %d\n", ivlen ); - return 0; - } else { -- EVP_CIPHER_CTX *ctx = (EVP_CIPHER_CTX *)GC_MALLOC( sizeof( EVP_CIPHER_CTX ) ); -+ EVP_CIPHER_CTX *ctx = BGL_EVP_CIPHER_CTX_new(); - cipher->BgL_z42cipherzd2ctxz90 = ctx; -- -+ - EVP_CIPHER_CTX_init( ctx ); -- EVP_CipherInit_ex( ctx, cipher->BgL_z42cipherz42, NULL, NULL, NULL, 1 ); -+ EVP_CipherInit_ex( ctx, cipher->BgL_z42cipherz42, NULL, NULL, NULL, enc ); - - if( !EVP_CIPHER_CTX_set_key_length( ctx, klen ) ) { - fprintf( stderr, "node-crypto : Invalid key length %d\n", klen ); -- EVP_CIPHER_CTX_cleanup( ctx ); -+ BGL_EVP_CIPHER_CTX_reset( ctx ); -+ BGL_EVP_CIPHER_CTX_free( ctx ); - return 0; - } - -@@ -3176,6 +3260,7 @@ bgl_ssl_cipher_initiv( ssl_cipher cipher - &(STRING_REF( key, koffset )), - &(STRING_REF( iv, ivoffset )), - enc ); -+ - return 1; - } - } -@@ -3232,8 +3317,10 @@ bgl_cipher_final( ssl_cipher cipher ) { - obj_t obj = make_string( size, ' ' ); - int r; - -- r = EVP_CipherFinal_ex( ctx, &(STRING_REF( obj, 0 )), &size ); -- EVP_CIPHER_CTX_cleanup( ctx ); -+ r = EVP_CipherFinal_ex( ctx, BSTRING_TO_STRING( obj ), &size ); -+ -+ BGL_EVP_CIPHER_CTX_reset( ctx ); -+ BGL_EVP_CIPHER_CTX_free( ctx ); - cipher->BgL_z42cipherzd2ctxz90 = 0L; - - if( r ) { -@@ -3269,3 +3356,14 @@ bgl_pkcs5_pbkdf2_hmac_sha1( obj_t pass, - } - } - -+/*---------------------------------------------------------------------*/ -+/* bgl_ssl_error_string */ -+/*---------------------------------------------------------------------*/ -+obj_t bgl_ssl_error_string() { -+ int err = ERR_get_error(); -+ obj_t errmsg = make_string( 128, 0 ); -+ -+ ERR_error_string_n(err, BSTRING_TO_STRING( errmsg ), 128 ); -+ -+ return errmsg; -+} ---- api/ssl/src/C/bglssl.h.in.orig 2015-12-21 05:31:11.000000000 -0700 -+++ api/ssl/src/C/bglssl.h.in 2017-02-11 16:43:49.192028737 -0700 -@@ -21,6 +21,7 @@ - #define BGLSSL_TLSV1_1 6 - #define BGLSSL_TLSV1_2 7 - -+#define BGLSSL_HAVE_TLSV1 1 - #define BGLSSL_HAVE_TLSV1_1 @HAVETLS1_1@ - #define BGLSSL_HAVE_TLSV1_2 @HAVETLS1_2@ - #define BGLSSL_HAVE_DTLS @HAVEDTLS@ -@@ -29,5 +30,111 @@ - #define BGLSSL_HAVE_SSLV23 @HAVEV23@ - #define BGLSSL_HAVE_RAND_STATUS @HAVERANDSTATUS@ - #define BGLSSL_HAVE_RAND_POLL @HAVERANDPOLL@ -+#define BGLSSL_HAVE_GETTER 1 - -+#if( !defined( SSL_F_SSL_CTX_USE_CERTIFICATE_CHAIN_FILE ) ) -+# define SSL_F_SSL_CTX_USE_CERTIFICATE_CHAIN_FILE \ -+ SSL_F_SSL_CTX_USE_CERTIFICATE_FILE -+#endif -+ -+#if BGLSSL_HAVE_GETTER -+# define BGL_SSL_CTX_get_ssl_method( ctx ) SSL_CTX_get_ssl_method( ctx ) -+#else -+# define BGL_SSL_CTX_get_ssl_method( ctx ) (ctx->method) -+#endif -+ -+#if BGLSSL_HAVE_GETTER -+# define BGL_SSL_CTX_clear_extra_chain_certs( ctx ) \ -+ SSL_CTX_clear_extra_chain_certs( ctx ) -+#else -+# define BGL_SSL_CTX_clear_extra_chain_certs( ctx ) \ -+ ((ctx->extra_certs != NULL) ? \ -+ (sk_X509_pop_free( ctx->extra_certs, X509_free ), ctx->extra_certs = NULL) \ -+ : 0) -+#endif -+ -+#if BGLSSL_HAVE_GETTER -+# define BGL_SSL_SESSION_get_id( sess, len ) \ -+ SSL_SESSION_get_id( sess, &len ) -+#else -+# define BGL_SSL_SESSION_get_id( sess, len ) \ -+ (len = sess->session_id_length, sess->session_id) -+#endif -+ -+#if( !defined( STACK_OF ) ) -+# define STACK_OF( type ) type -+#endif -+ -+#if BGLSSL_HAVE_GETTER -+# define BGL_EVP_MD_CTX_new() EVP_MD_CTX_new() -+# define BGL_EVP_MD_CTX_free( evp ) EVP_MD_CTX_free( evp ) -+# define BGL_EVP_MD_CTX_reset( evp ) EVP_MD_CTX_reset( evp ) -+#else -+# define BGL_EVP_MD_CTX_new() ((EVP_MD_CTX *)GC_MALLOC( sizeof( EVP_MD_CTX ) )) -+# define BGL_EVP_MD_CTX_free( evp ) -+# define BGL_EVP_MD_CTX_reset( evp ) EVP_MD_CTX_cleanup( evp ) -+#endif -+ -+#if BGLSSL_HAVE_GETTER -+# define BGL_EVP_CIPHER_CTX_new() EVP_CIPHER_CTX_new() -+# define BGL_EVP_CIPHER_CTX_free( evp ) EVP_CIPHER_CTX_free( evp ) -+# define BGL_EVP_CIPHER_CTX_reset( evp ) EVP_CIPHER_CTX_reset( evp ) -+#else -+# define BGL_EVP_CIPHER_CTX_new() ((EVP_CIPHER_CTX *)GC_MALLOC( sizeof( EVP_CIPHER_CTX ) )) -+# define BGL_EVP_CIPHER_CTX_free( evp ) -+# define BGL_EVP_CIPHER_CTX_reset( evp ) EVP_CIPHER_CTX_cleanup( evp ) -+#endif - -+#if BGLSSL_HAVE_GETTER -+# define BGL_HMAC_CTX_new() HMAC_CTX_new() -+# define BGL_HMAC_CTX_init( hmac ) -+# define BGL_HMAC_CTX_free( hmac ) HMAC_CTX_free( hmac ) -+# define BGL_HMAC_CTX_reset( hmac ) HMAC_CTX_reset( hmac ) -+# define BGL_HMAC_Init( c, k, l, m ) HMAC_Init_ex( c, k, l, m, 0 ) -+#else -+# define BGL_HMAC_CTX_new() ((HMAC_CTX *)GC_MALLOC( sizeof( HMAC_CTX ) )) -+# define BGL_HMAC_CTX_init( hmac ) HMAC_CTX_init( hmac ) -+# define BGL_HMAC_CTX_free( hmac) -+# define BGL_HMAC_CTX_reset( hmac ) HMAC_CTX_cleanup( hmac ) -+# define BGL_HMAC_Init( c, k, l, m ) HMAC_Init( c, k, l, m ) -+#endif -+ -+#if BGLSSL_HAVE_GETTER -+# define BGL_DH_SET_PUB_PRIV( dh, pub, priv ) DH_set0_key( dh, pub, priv ) -+# define BGL_DH_GET_PUB( dh, kres ) (DH_get0_key( dh, &kres, 0 ), kres) -+# define BGL_DH_GET_PRIV( dh, kres ) (DH_get0_key( dh, 0, &kres ), kres) -+# define BGL_DH_SET_PUB( dh, key ) DH_set0_key( dh, key, 0 ) -+# define BGL_DH_SET_PRIV( dh, key ) DH_set0_key( dh, 0, key ) -+# define BGL_DH_SET_PQG( dh, p, q, g ) DH_set0_pqg( dh, p, q, g ) -+# define BGL_DH_GET_P( dh, kres ) (DH_get0_pqg( dh, &kres, 0, 0 ), kres) -+# define BGL_DH_SET_P( dh, key ) DH_set0_pqg( dh, key, 0, 0 ) -+# define BGL_DH_GET_Q( dh, kres ) (DH_get0_pqg( dh, 0, &kres, 0 ), kres) -+# define BGL_DH_SET_Q( dh, key ) DH_set0_pqg( dh, 0, key, 0 ) -+# define BGL_DH_GET_G( dh, kres ) (DH_get0_pqg( dh, 0, 0, &kres ), kres) -+# define BGL_DH_SET_G( dh, key ) DH_set0_pqg( dh, 0, 0, key ) -+#else -+# define BGL_DH_SET_PUB_PRIV( dh, pub, priv ) \ -+ (BGL_DH_SET_PUB( dh, pub ), BGL_DH_SET_PRIV( dh, priv )) -+# define BGL_DH_GET_PUB( dh, kres ) dh->pub_key -+# define BGL_DH_GET_PRIV( dh, kres ) dh->priv_key -+# define BGL_DH_SET_PUB( dh, key ) dh->pub_key = key -+# define BGL_DH_SET_PRIV( dh, key ) dh->priv_key = key -+# define BGL_DH_SET_PQG( dh, p, q, g ) \ -+ (BGL_DH_SET_P( dh, p ), BGL_DH_SET_Q( dh, q ), BGL_DH_SET_G( dh, g )) -+# define BGL_DH_GET_P( dh, kres ) dh->p -+# define BGL_DH_SET_P( dh, key ) (dh->p = key) -+# define BGL_DH_GET_Q( dh, kres ) dh->q -+# define BGL_DH_SET_Q( dh, key ) (dh->q = key) -+# define BGL_DH_GET_G( dh, kres ) dh->g -+# define BGL_DH_SET_G( dh, key ) (dh->g = key) -+#endif -+ -+#if BGLSSL_HAVE_GETTER -+# define BGL_RSA_N( rsa, kres ) (RSA_get0_key( rsa, &kres, 0, 0 ), kres) -+# define BGL_RSA_E( rsa, kres ) (RSA_get0_key( rsa, 0, &kres, 0 ), kres) -+# define BGL_RSA_D( rsa, kres ) (RSA_get0_key( rsa, 0, 0, &kres ), kres) -+#else -+# define BGL_RSA_N( rsa, kres ) (kres = rsa->n) -+# define BGL_RSA_E( rsa, kres ) (kres = rsa->e) -+# define BGL_RSA_D( rsa, kres ) (kres = rsa->d) -+#endif diff --git a/bigloo-stat64.patch b/bigloo-stat64.patch index c3a5b2e..4177582 100644 --- a/bigloo-stat64.patch +++ b/bigloo-stat64.patch @@ -1,5 +1,5 @@ ---- ./runtime/Clib/cports.c.orig 2015-09-15 23:48:40.000000000 -0600 -+++ ./runtime/Clib/cports.c 2015-09-17 19:13:23.845676921 -0600 +--- runtime/Clib/cports.c.orig 2017-04-18 01:33:52.000000000 -0600 ++++ runtime/Clib/cports.c 2017-04-18 07:58:03.442793433 -0600 @@ -158,7 +158,7 @@ static int posix_close( FILE *f ) { } @@ -21,7 +21,7 @@ return n ? n : sz; } -@@ -2247,7 +2247,7 @@ bgl_file_to_string( char *path ) { +@@ -2252,7 +2252,7 @@ bgl_file_to_string( char *path ) { string_to_bstring( path ) ); } else { obj_t res = make_string_sans_fill( sin.st_size ); @@ -30,7 +30,7 @@ close( fd ); -@@ -2526,7 +2526,7 @@ bgl_sendchars( obj_t ip, obj_t op, long +@@ -2540,7 +2540,7 @@ bgl_sendchars( obj_t ip, obj_t op, long } #if( BGL_HAVE_SENDFILE ) } else { @@ -39,7 +39,7 @@ if( sz != 0 ) { #if( BGL_GC_HAVE_BLOCKING ) -@@ -2636,7 +2636,7 @@ bgl_sendfile( obj_t name, obj_t op, long +@@ -2650,7 +2650,7 @@ bgl_sendfile( obj_t name, obj_t op, long C_SYSTEM_FAILURE( BGL_IO_PORT_ERROR, "send-file", strerror( errno ), name ); } diff --git a/bigloo.spec b/bigloo.spec index 4caf205..0f22039 100644 --- a/bigloo.spec +++ b/bigloo.spec @@ -18,11 +18,10 @@ %global pkgname Bigloo Name: bigloo -Version: 4.2c -Release: 3%{?patch_ver:.%{patch_ver}}%{?prerel:.%{prerel}}%{?dist} +Version: 4.3a +Release: 1%{?patch_ver:.%{patch_ver}}%{?prerel:.%{prerel}}%{?dist} Summary: A compiler for the Scheme programming language -Group: Development/Languages License: GPLv2+ URL: http://www-sop.inria.fr/mimosa/fp/Bigloo Source0: ftp://ftp-sop.inria.fr/indes/fp/Bigloo/%{name}%{version}%{?patch_suffix}%{?ver_suffix}.tar.gz @@ -31,18 +30,13 @@ Source0: ftp://ftp-sop.inria.fr/indes/fp/Bigloo/%{name}%{version}%{?patch Patch0: %{name}-emacs.patch # Not yet sent upstream. Support 64-bit stat on 32-bit platforms. Patch1: %{name}-stat64.patch -# Sent upstream 3 Feb 2017: adapt to changes in the nameser interface -Patch2: %{name}-nameser.patch -# Backport openssl 1.1.0 compatible code from the latest prerelease -Patch3: %{name}-openssl11.patch # Sent upstream 3 Feb 2017: fix format specifiers -Patch4: %{name}-format.patch -# Support Emacs 25 -Patch5: %{name}-emacs25.patch +Patch2: %{name}-format.patch BuildRequires: emacs BuildRequires: xemacs BuildRequires: xemacs-packages-extra +BuildRequires: gcc BuildRequires: indent BuildRequires: java-devel BuildRequires: jpackage-utils @@ -59,8 +53,10 @@ BuildRequires: gstreamer-plugins-base-devel BuildRequires: libphidget-devel BuildRequires: libunistring-devel BuildRequires: libuv-devel +BuildRequires: mpg123-devel BuildRequires: openssl-devel BuildRequires: pcre-devel +BuildRequires: pulseaudio-libs-devel BuildRequires: sqlite-devel BuildRequires: texinfo-tex BuildRequires: texi2html @@ -81,16 +77,6 @@ Requires(postun): info ExcludeArch: ppc64 -# This can be removed when Fedora 22 reaches EOL -Obsoletes: emacs-%{pkg} < 4.1a-8.2%{?dist} -Provides: emacs-%{pkg} = %{version}-%{release} -Obsoletes: emacs-%{pkg}-el < 4.1a-8.2%{?dist} -Provides: emacs-%{pkg}-el = %{version}-%{release} -Obsoletes: xemacs-%{pkg} < 4.1a-8.2%{?dist} -Provides: xemacs-%{pkg} = %{version}-%{release} -Obsoletes: xemacs-%{pkg}-el < 4.1a-8.2%{?dist} -Provides: xemacs-%{pkg}-el = %{version}-%{release} - %description Bigloo is a Scheme implementation devoted to one goal: enabling a Scheme @@ -104,7 +90,6 @@ connections between Scheme and C programs. %package libs Summary: Bigloo runtime libraries -Group: System Environment/Libraries %description libs Runtime libraries for Bigloo compiled programs. @@ -112,7 +97,6 @@ Runtime libraries for Bigloo compiled programs. %package doc Summary: Bigloo documentation -Group: Documentation BuildArch: noarch %description doc @@ -125,14 +109,11 @@ environment. %patch0 %patch1 %patch2 -%patch3 -%patch4 -%patch5 # encoding fixes -for f in README examples/Socket/socket.scm manuals/bigloo.info-2 \ - manuals/bigloo.info-3; do - iconv -f ISO8859-1 -t UTF8 $f -o $f.utf8 +for f in README examples/Socket/socket.scm manuals/bigloo*.html \ + manuals/bigloo.info-2 manuals/bigloo.info-3; do + iconv -f ISO8859-1 -t UTF8 $f | sed 's/=ISO-8859-1/=UTF-8/' > $f.utf8 touch -r $f $f.utf8 mv -f $f.utf8 $f done @@ -157,12 +138,20 @@ sed -i 's/LDOPTS=\"/&-Wl,--as-needed -lgc /' Makefile.misc # Defeat attempts at inserting unnecessary rpaths sed -ri 's/ ?-Wl,-rpath=[^"]+(")/\1/' configure +# Get reproducible builds by setting the compiling username for XEmacs +mkdir ~/.xemacs +echo >> ~/.xemacs/custom.el << EOF +(custom-set-variables + '(user-mail-address "mockbuild@fedoraproject.org")) +EOF + + %build %define inplace $PWD/inplace # Enable UTF-8 filename support -export LOCALE="en_US.utf8" -export CFLAGS="$RPM_OPT_FLAGS -D_FILE_OFFSET_BITS=64 -Wno-unused" +export LOCALE="C.utf8" +export CFLAGS="$RPM_OPT_FLAGS -fwrapv -D_FILE_OFFSET_BITS=64 -Wno-unused" export LDFLAGS="-Wl,-z,relro -Wl,--as-needed" sed -i -e "s/^jcflags=-O$/jcflags=-deprecation/" configure ./configure \ @@ -187,6 +176,9 @@ sed -i -e "s/^jcflags=-O$/jcflags=-deprecation/" configure --strip=no \ --configureinfo=yes +# Remove extraneous rpath +sed -i '/^RPATH=/s,\$(DESTDIR).*:,,' Makefile.config + # _smp_mflags breaks the build env LD_LIBRARY_PATH=$PWD/lib/bigloo/%{version} make env LD_LIBRARY_PATH=$PWD/lib/bigloo/%{version} \ @@ -264,6 +256,7 @@ mkdir -p ../../etc/bigloo mv etc/* ../../etc/bigloo rmdir etc %{_xemacs_bytecompile} bmacs.el bmacs-config.el bmacs-xemacs.el xemacs-etags.el +sed -i 's|$RPM_BUILD_ROOT||' bmacs.elc bmacs-config.elc popd mkdir -p $RPM_BUILD_ROOT%{_xemacs_sitestartdir} @@ -320,6 +313,12 @@ make test %changelog +* Sat Jul 22 2017 Jerry James - 4.3a-1 +- Update to 4.3a +- Drop upstreamed -nameser, -openssl11, and -emacs25 patches +- Add -fwrapv to CFLAGS to address overflow in the Unicode code +- Enable pulseaudio and mpg123 support + * Fri Feb 10 2017 Fedora Release Engineering - 4.2c-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild diff --git a/sources b/sources index 9dc33b3..583de81 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c2208e166954cf8476898a28cfc975be bigloo4.2c.tar.gz +SHA512 (bigloo4.3a.tar.gz) = fe2acc232d6cf84fef5ce36aae35baac584b4166d11cf887c60ad1da6c5f8face5ef02f0780e994b48d984fecd7d110637c1e56a219d2e73a214a7dc7c94a600