devops 0.11: Build new upstream 10.1 with 10.1 build hosts. mit-scheme-pucked-devops-0.11
authorMatt Birkholz <matt@birchwood-abbey.net>
Sat, 5 Jan 2019 05:11:37 +0000 (22:11 -0700)
committerMatt Birkholz <matt@birchwood-abbey.net>
Sat, 5 Jan 2019 05:11:37 +0000 (22:11 -0700)
Drop cross-compiling to svm on the build hosts.  Fix version<?.

src/devops/NEWS
src/devops/build.scm
src/devops/build.texi
src/devops/configure.ac
src/devops/debian/changelog
src/devops/devops.scm
src/devops/make.scm
src/devops/pucked.texi

index 3a7ae7ac4f8ed8460c3f01795bc930d607b7b10e..fdc241d313feb43f224e338ff582dc87a8d57d38 100644 (file)
@@ -20,6 +20,12 @@ You should have received a copy of the GNU General Public License
 along with this plugin; if not, write to the Free Software Foundation,
 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 
+mit-scheme-pucked-devops 0.11 - Matt Birkholz, 2019-01-04
+=========================================================
+
+Build new upstream 10.1 with 10.1 build hosts.  Drop cross-compiling
+to svm on the build hosts.  Fix version<?.
+
 mit-scheme-pucked-devops 0.10 - Matt Birkholz, 2018-11-27
 =========================================================
 
index 2403d61a3b80fa59cecf1b43e3664b685fe85f00..3527ca11b57295314e1f5ff21abba74efd783321 100644 (file)
@@ -40,7 +40,7 @@ Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
        (let ((todo (find-work)))
         (log (number->string (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)
index b5beeb6c38cdd23b62588e5744c362883ebf3b12..d1a9ef99ea24f6796debe574692ede6b65df99b1 100644 (file)
@@ -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
index 239258f403d5341fee2cf142ea31095360dd3693..ec1dfe9a663ce240430740bb78663dab51932444 100644 (file)
@@ -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])
index 4400c0e12e916ff1db53c9a479cf1290aa9d630f..fc2112e3f15d97f3490f26b04c2261392964c73d 100644 (file)
@@ -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<?.
+
+ -- Matt Birkholz <matt@birchwood-abbey.net>  Fri, 04 Jan 2019 00:00:00 -0000
+
 mit-scheme-pucked-devops (0.10) birchwood; urgency=low
 
   * New release upstream supporting Unicode and plugins.
index 8d97afbfb17e87374f4b5bc8bc0d8944f8d88ce4..b6b25ae7df10d46f74fa65aaf63de8dcd232c49c 100644 (file)
@@ -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"
index 82612e4c97ebe23845d96fbd124487d2067b11dc..aa01a49fe10eeea4bc36bedff94681f817667902 100644 (file)
@@ -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
index dedff3a6931963f41487a792b66bccd6c126dea8..852d26c8a1e50ef87c77b30b8807293529d72c61 100644 (file)
@@ -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{<screen>} and the concrete class @code{<tty-screen>}.  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