From: Matt Birkholz Date: Sat, 5 Jan 2019 05:11:37 +0000 (-0700) Subject: devops 0.11: Build new upstream 10.1 with 10.1 build hosts. X-Git-Tag: mit-scheme-pucked-devops-0.11^0 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=400be46979d932bbf6ff72ef72bbd8460d1179e9;p=mit-scheme.git devops 0.11: Build new upstream 10.1 with 10.1 build hosts. Drop cross-compiling to svm on the build hosts. Fix versionstring (length todo) 10) " binaries to build.\n") - (flush-output) + (flush-output-port) (if (null? todo) 'done (begin @@ -48,7 +48,7 @@ Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. (lambda () (for-each (lambda (work) (work)) todo)) release-lock-file) (log "Looking for more work.\n") - (flush-output) + (flush-output-port) (loop)))))))) (define (find-work) @@ -99,18 +99,14 @@ Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. (rename-file elogfile logfile)))))) (define (build-core-pkg name vers) - (let* ((sarch build-scheme-architecture) - (target (if (string-prefix? "svm" sarch) "svm" sarch)) - (pkgdir (string build-dir"/"name"-"vers)) - (host (shell-output - "echo \"(display microcode-id/compiled-code-type)\"" - " | ${MIT_SCHEME_EXE=mit-scheme} --batch-mode")) - (cross (if (string=? target host) - "" - " --enable-cross-compiling"))) + (let ((sarch build-scheme-architecture) + (pkgdir (string build-dir"/"name"-"vers)) + (options (if (string-prefix? "svm1" build-scheme-architecture) + " --enable-native-code=svm1" + ""))) (run "rm -rf "pkgdir) (run "cd "build-dir" && tar xzf "name"-"vers".tar.gz") - (run "cd "pkgdir"/src && ./configure"cross" --enable-native-code="target) + (run "cd "pkgdir"/src && ./configure" options) (run "cd "pkgdir"/src && make") (run "cd "pkgdir"/src/microcode && make distclean") (run "cd "pkgdir"/doc && ./configure") @@ -120,8 +116,8 @@ Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. (set-file-modes! (string pkgdir"-"sarch".tar.gz") #o444) (run "rm -rf "pkgdir) (run "cd "build-dir" && tar xzf "name"-"vers"-"sarch".tar.gz") - (run "cd "pkgdir"/src && ./configure"cross" --enable-native-code="target) - (run "cd "pkgdir"/src && make compile-microcode") + (run "cd "pkgdir"/src && ./configure" options) + (run "cd "pkgdir"/src && make") (run "cd "pkgdir"/src && umask 022 && make install") (run "cd "pkgdir"/doc && ./configure") (run "cd "pkgdir"/doc && umask 022 && make install install-pdf") @@ -223,8 +219,8 @@ Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. (define (in-batch thunk) (fresh-line) (write-string "OK\n") - (flush-output) - (%exit + (flush-output-port) + (exit (with-output-to-file (string build-dir"/daemon.log") (lambda () (call-with-current-continuation @@ -235,13 +231,13 @@ Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. (log-timestamp) (write-condition-report condition (current-output-port)) (newline) - (flush-output) + (flush-output-port) (abort-batch-job 7)) (lambda () (log-timestamp) - (flush-output) + (flush-output-port) (log "Batch job started.\n") - (flush-output) + (flush-output-port) (thunk) (log "Batch job succeeded.\n") 0)))))))) @@ -260,7 +256,8 @@ Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. (close-port out) (throw condition)) (lambda () - (with-output-to-port out thunk))))) + (parameterize ((current-output-port out)) + (thunk)))))) #f)))) (set-file-modes! filename #o444) (if (condition? value) @@ -311,7 +308,7 @@ Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. (define (shell* cmdln . options) (let ((status (apply run-shell-command cmdln 'environment scheme-subprocess-environment - 'redisplay-hook flush-output + 'redisplay-hook flush-output-port options))) (if (not (zero? status)) (error "Shell command failed:" status cmdln)) @@ -320,7 +317,7 @@ Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. (define (shell*-noerror cmdln . options) (apply run-shell-command cmdln 'environment scheme-subprocess-environment - 'redisplay-hook flush-output + 'redisplay-hook flush-output-port options)) (define (with-subprocess-environment-variable name value thunk) diff --git a/src/devops/build.texi b/src/devops/build.texi index b5beeb6c3..d1a9ef99e 100644 --- a/src/devops/build.texi +++ b/src/devops/build.texi @@ -268,12 +268,6 @@ set -e exec dpkg --install "/home/puck/mit-scheme/$1" @end example -@emph{Temporarily:} the host Scheme must be the unofficial version -9.2.2, recently created from the @code{release-9.2} branch of the -MIT/GNU Scheme project repository on Savannah. Debian packages and -source and binary distributions for 9.2.2 can be found on the pucked -project web site. @uref{http://birchwood-abbey.net/~puck/Scheme/} - @node Lint Detection @section Lint Detection @@ -288,7 +282,7 @@ happen in the lint hooks. If true, the value of this binding is applied to three arguments. @enumerate @item -@var{version}---A string like @code{"9.2.7"}. +@var{version}---A string like @code{"10.1.7"}. @item @var{changes}---A list of strings, the paths (relative to the root of the git working directory tree) to files that have changed since the @@ -353,10 +347,9 @@ and in @file{debian/changelog} should match. If there is a change in any file in the core source, the project version should have incremented. -@c @item -@c The version numbers in the documentation (variables named -@c @code{SCMVERS} in @file{doc/**/*.texinfo}) agree with -@c @file{src/runtime/version.scm}. +@c @item The version numbers in the documentation (variables named +@c @code{SCMVERS} in @file{doc/**/*.texinfo}, and the first line of +@c mit-scheme-pucked.1) agree with @file{src/runtime/version.scm}. @c @item @c All source files should contain a header with the same copyright diff --git a/src/devops/configure.ac b/src/devops/configure.ac index 239258f40..ec1dfe9a6 100644 --- a/src/devops/configure.ac +++ b/src/devops/configure.ac @@ -1,7 +1,7 @@ dnl Process this file with autoconf to produce a configure script. AC_INIT([MIT/GNU Scheme Pucked Developer Operations plugin], - [0.10], + [0.11], [matt@birchwood-abbey.net], [mit-scheme-pucked-devops]) AC_CONFIG_SRCDIR([devops.pkg]) diff --git a/src/devops/debian/changelog b/src/devops/debian/changelog index 4400c0e12..fc2112e3f 100644 --- a/src/devops/debian/changelog +++ b/src/devops/debian/changelog @@ -1,3 +1,10 @@ +mit-scheme-pucked-devops (0.11) birchwood; urgency=low + + * Build new upstream 10.1 with 10.1 build hosts. Drop cross-compiling + to svm on the build hosts. Fix version Fri, 04 Jan 2019 00:00:00 -0000 + mit-scheme-pucked-devops (0.10) birchwood; urgency=low * New release upstream supporting Unicode and plugins. diff --git a/src/devops/devops.scm b/src/devops/devops.scm index 8d97afbfb..b6b25ae7d 100644 --- a/src/devops/devops.scm +++ b/src/devops/devops.scm @@ -781,8 +781,7 @@ Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. (a.v (read-host-arch.version host-exe)) (host-arch (symbol->string (car a.v))) (host-version (cdr a.v)) - (cross? (or (and target (not (string=? target host-arch))) - (not (version>? host-version '(9 2))))) + (cross? (and target (not (string=? target host-arch)))) (master? (cond ((file-directory? ".git") (not (file-directory? "debian"))) ((file-directory? "../.git") @@ -859,17 +858,26 @@ Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. (trun "cd src/ && make check") (trun "cd src/ && umask 022 && make install") - (if (not master?) - (let ((plugin-errors - (with-subprocess-environment-variable - "MIT_SCHEME_EXE" (string prefix"/bin/"(project-name)) - (lambda () - (reduce + 0 - (map (lambda (plugin) - (make-install-plugin plugin prefix master?)) - plugin-list)))))) - (if (not (zero? plugin-errors)) - (error "Plugins failed to build:" plugin-errors)))))) + (let ((plugin-errors + (with-EXE-environment-variables + master? (string prefix"/bin/"(project-name)) + (lambda () + (reduce + 0 + (map (lambda (plugin) + (make-install-plugin plugin prefix master?)) + plugin-list)))))) + (if (not (zero? plugin-errors)) + (error "Plugins failed to build:" plugin-errors))))) + +(define (with-EXE-environment-variables master? exe thunk) + (with-subprocess-environment-variable + "MIT_SCHEME_EXE" exe + (lambda () + (if master? + (with-subprocess-environment-variable + "MIT_SCHEME_TOOLCHAIN_EXE" exe + thunk) + (thunk))))) (define (read-host-arch.version exe) (let ((expr (string "(write-line" diff --git a/src/devops/make.scm b/src/devops/make.scm index 82612e4c9..aa01a49fe 100644 --- a/src/devops/make.scm +++ b/src/devops/make.scm @@ -6,4 +6,4 @@ Load the Developer Operations plugin. |# (with-loader-base-uri (system-library-uri "devops/") (lambda () (load-package-set "devops"))) -(add-subsystem-identification! "DevOps" '(0 10)) \ No newline at end of file +(add-subsystem-identification! "DevOps" '(0 11)) \ No newline at end of file diff --git a/src/devops/pucked.texi b/src/devops/pucked.texi index dedff3a69..852d26c8a 100644 --- a/src/devops/pucked.texi +++ b/src/devops/pucked.texi @@ -1,8 +1,8 @@ @node Changes @chapter How so ``pucked?'' -The user visible differences between MIT/GNU Scheme version 9.2.2 and -MIT/GNU Scheme Pucked version 9.2.11 are detailed in @ref{Release +The user visible differences between MIT/GNU Scheme version 10.1.3 and +MIT/GNU Scheme Pucked version 10.1.7 are detailed in @ref{Release Notes, , , user, MIT/GNU Scheme Pucked User Manual}. This chapter is a review of @emph{all} source code changes, with reference to the output of specific @code{git diff} commands. @@ -28,11 +28,10 @@ plugin code was removed from the core source distribution. @item $cmd doc/ The project name, email and version were changed. The manpage and -user's manual were renamed and updated. The Imail manual was moved to -the Imail plugin's source directory. All manuals were changed to fit -inside a new, top-level @file{mit-scheme-pucked.info} file, the only -Info file installed in the system Directory node. HTML versions of -the manuals are installed in @file{htmldir} with an index and style +user's manual were renamed and updated. All manuals were changed to +fit inside a new, top-level @file{mit-scheme-pucked.info} file, the +only Info file installed in the system Directory node. HTML versions +of the manuals are installed in @file{htmldir} with an index and style sheet. Plugin manuals are also installed there and added to the index. @@ -45,23 +44,12 @@ version and copyright notice. Support for multiple executables (for multiple Scheme architectures) was dropped. @item $cmd src/runtime/ -The @code{pucked} feature was introduced. The @code{--edit} command -line argument handler was stolen from Edwin as well as the -@code{edit}, @code{edwin} and @code{spawn-edwin} procedures, which now -autoload Edwin. And runtime source is now included (installed) so -runtime options need not be installed specially. +The @code{pucked} feature was introduced. The runtime source is now +included (installed) so runtime options need not be installed +specially. @item $cmd src/edwin/ -A number of Debian/GNU standard files were added to make this a -standalone plugin ready for @code{dpkg-buildpackage}. These include a -@file{Makefile.am} and a @file{configure.ac} as well as @file{NEWS}, -@file{AUTHORS}, @file{COPYING}, etc. Files specific to X11 -(@file{key-x11.scm}, @file{xcom.scm}, @file{xmodef.scm} and -@file{xterm.scm}) were moved into the X11 Screen plugin. The -@code{edit}, @code{edwin} and @code{spawn-edwin} procedures were -stolen by the runtime system. - -Edwin also changed to accommodate a new Gtk Screen plugin. The old +Edwin was changed to accommodate a new Gtk Screen plugin. The old @code{screen} structure type became the abstract SOS class @code{} and the concrete class @code{}. Most of the existing, tty-specific screen procedures were renamed with a @@ -69,26 +57,31 @@ the existing, tty-specific screen procedures were renamed with a The few (20) that handle @emph{any} type of screen became SOS generic procedures. -@item $cmd src/imail/ -A number of Debian/GNU standard files were added and the manual -was moved here from the @file{doc/} directory. - @item $cmd src/etc/ The Emacs tutorial was moved to the Edwin plugin's source directory. -Both Edwin and Imail were removed from @file{optiondb.scm} and scripts -like @file{build-bands.sh}. -@item $cmd src/compiler/ src/cref/ src/ffi/ src/sf/ src/star-parser/ +@item $cmd src/imail/ +The IMAIL manual was renamed and edited for installation in a new, +top-level @file{mit-scheme-pucked.info} file in the +@verb{|${scmdocdir}/info/|} directory. A few minor changes were needed +to make this plugin buildable separately from the core. + +@item $cmd src/compiler/ src/cref/ src/sf/ src/star-parser/ No changes were made to the rest of the core subsystems except their @file{Makefile-fragment}s. These now install all source files. +@item $cmd src/ffi/ +The procedures for updating indices of plugins and their documentation +needed some adjustment to avoid creating a second list of plugins in +@code{scmdocdir}. And like the other subsystems above, +@file{Makefile-fragment} was simplified; it now installs all source +files. + @item $cmd src/6001/ src/sos/ src/ssp/ src/win32/ src/xdoc/ src/xml/ No changes were made to the rest of the standard subsystems except their @file{Makefile-fragment}s. @item $cmd tests -No changes were made to the test suite except to load the synchronous -subprocess option, which is no longer in the default band (along with -Edwin). +No changes were made to the test suites. @end table