The package rpms/racket.git has added or updated architecture specific content in its spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s): https://src.fedoraproject.org/cgit/rpms/racket.git/commit/?id=a0226331d19802....
Change: +%ifarch %{arm} s390x
Thanks.
Full change: ============
commit a0226331d198027be9586095a7a5142e8d99108d Author: dbenoit dbenoit@redhat.com Date: Wed Aug 28 17:37:06 2019 -0400
update to 7.4
diff --git a/.gitignore b/.gitignore index 4fd1ad5..dd3082f 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /racket-7.0-src.tgz +/racket-7.4-src.tgz diff --git a/racket-7.0-fix-doc-open-url.patch b/racket-7.0-fix-doc-open-url.patch deleted file mode 100644 index 93f5f98..0000000 --- a/racket-7.0-fix-doc-open-url.patch +++ /dev/null @@ -1,77 +0,0 @@ -diff -ruN racket-7.0/doc/racket-doc-installed racket-7.0.docfix/doc/racket-doc-installed ---- racket-7.0/doc/racket-doc-installed 1969-12-31 19:00:00.000000000 -0500 -+++ racket-7.0.docfix/doc/racket-doc-installed 2018-09-21 14:57:42.002194864 -0400 -@@ -0,0 +1,3 @@ -+# do not modify this file -+# racket uses this file to determine whether -+# the racket-doc package is installed -diff -ruN racket-7.0/share/pkgs/scribble-lib/help/search.rkt racket-7.0.docfix/share/pkgs/scribble-lib/help/search.rkt ---- racket-7.0/share/pkgs/scribble-lib/help/search.rkt 2018-07-27 11:33:46.000000000 -0400 -+++ racket-7.0.docfix/share/pkgs/scribble-lib/help/search.rkt 2018-09-21 15:25:16.110996675 -0400 -@@ -17,33 +17,39 @@ - #:notify [notify void]) - (define open-url (get-doc-open-url)) - (cond -- [open-url -- (define dest-url (let ([u (string->url open-url)]) -- (combine-url/relative -- u -- (string-join -- (for/list ([s (explode-path sub)]) -- (if (path? s) -- (path-element->string s) -- (format "~a" s))) -- "/")))) -- (notify (url->string dest-url)) -- (send-url (url->string -- (struct-copy url dest-url -- [fragment (or fragment -- (url-fragment dest-url))] -- [query (append -- (url-query dest-url) -- (if query -- (url-query -- (string->url -- (format "q?~a" query))) -- null))])))] -- [else -- (let* ([path (build-path (find-user-doc-dir) sub)] -- [path (if (file-exists? path) path (build-path (find-doc-dir) sub))]) -- (notify path) -- (send-url/file path #:fragment fragment #:query query))])) -+ [open-url -+ (define dest-url (let ([u (string->url open-url)]) -+ (combine-url/relative -+ u -+ (string-join -+ (for/list ([s (explode-path sub)]) -+ (if (path? s) -+ (path-element->string s) -+ (format "~a" s))) -+ "/")))) -+ (notify (url->string dest-url)) -+ (send-url (url->string -+ (struct-copy url dest-url -+ [fragment (or fragment -+ (url-fragment dest-url))] -+ [query (append -+ (url-query dest-url) -+ (if query -+ (url-query -+ (string->url -+ (format "q?~a" query))) -+ null))])))] -+ [else -+ (let* ([path (build-path (find-user-doc-dir) sub)] -+ [path (if (file-exists? path) path (build-path (find-doc-dir) sub))]) -+ (notify path) -+ (if (and (file-exists? path) -+ (file-exists? (build-path (find-doc-dir) "racket-doc-installed"))) -+ (send-url/file path #:fragment fragment #:query query) -+ (let ([part (lambda (pfx x) (if x (string-append pfx x) ""))]) -+ (send-url (string-append -+ "https://docs.racket-lang.org/" -+ sub (part "#" fragment) (part "?" query))))))])) - - ;; This is an example of changing this code to use the online manuals. - ;; Normally, it's better to set `doc-open-url` in "etc/config.rktd", diff --git a/racket-7.0-remove-nonfree.patch b/racket-7.0-remove-nonfree.patch deleted file mode 100644 index 778001a..0000000 --- a/racket-7.0-remove-nonfree.patch +++ /dev/null @@ -1,1074 +0,0 @@ -diff -urN racket-7.0.orig/share/links.rktd racket-7.0/share/links.rktd ---- racket-7.0.orig/share/links.rktd 2018-08-03 15:23:48.604561727 -0400 -+++ racket-7.0/share/links.rktd 2018-08-03 15:23:45.481540939 -0400 -@@ -175,9 +175,7 @@ - ("sasl" "pkgs/sasl-doc") - (root "pkgs/slideshow-exe") - (root "pkgs/slideshow-plugin") -- (root "pkgs/srfi-lib-nonfree") - (root "pkgs/srfi-doc") -- (root "pkgs/srfi-doc-nonfree") - (root "pkgs/syntax-color-doc") - (root "pkgs/web-server-lib") - (root "pkgs/unix-socket-lib") -diff -urN racket-7.0.orig/share/pkgs/srfi/info.rkt racket-7.0/share/pkgs/srfi/info.rkt ---- racket-7.0.orig/share/pkgs/srfi/info.rkt 2018-08-03 15:23:48.891563638 -0400 -+++ racket-7.0/share/pkgs/srfi/info.rkt 2018-08-03 15:23:45.424540559 -0400 -@@ -1 +1 @@ --(module info setup/infotab (#%module-begin (define package-content-state (quote (built "7.0"))) (define collection (quote multi)) (define deps (quote ("srfi-lib" "srfi-lib-nonfree" "srfi-doc" "srfi-doc-nonfree"))) (define implies (quote ("srfi-lib" "srfi-lib-nonfree" "srfi-doc" "srfi-doc-nonfree"))) (define pkg-desc "Legacy SRFI (Scheme) libraries") (define pkg-authors (quote (mflatt noel chongkai jay))))) -+(module info setup/infotab (#%module-begin (define package-content-state (quote (built "7.0"))) (define collection (quote multi)) (define deps (quote ("srfi-lib" "srfi-doc"))) (define implies (quote ("srfi-lib" "srfi-doc"))) (define pkg-desc "Legacy SRFI (Scheme) libraries") (define pkg-authors (quote (mflatt noel chongkai jay))))) -diff -urN racket-7.0.orig/share/pkgs/srfi-doc-nonfree/info.rkt racket-7.0/share/pkgs/srfi-doc-nonfree/info.rkt ---- racket-7.0.orig/share/pkgs/srfi-doc-nonfree/info.rkt 2018-08-03 15:23:48.895563664 -0400 -+++ racket-7.0/share/pkgs/srfi-doc-nonfree/info.rkt 1969-12-31 19:00:00.000000000 -0500 -@@ -1 +0,0 @@ --(module info setup/infotab (#%module-begin (define package-content-state (quote (built "7.0"))) (define collection (quote multi)) (define build-deps (quote ("mzscheme-doc" "scheme-lib" "base" "scribble-lib" "srfi-doc" "srfi-lib-nonfree" "racket-doc" "r5rs-doc" "r6rs-doc" "compatibility-lib"))) (define update-implies (quote ("srfi-lib-nonfree"))) (define pkg-desc "documentation part of "srfi nonfree"") (define pkg-authors (quote (mflatt noel chongkai jay))))) -diff -urN racket-7.0.orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/info.rkt racket-7.0/share/pkgs/srfi-doc-nonfree/srfi/scribblings/info.rkt ---- racket-7.0.orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/info.rkt 2018-08-03 15:23:48.895563664 -0400 -+++ racket-7.0/share/pkgs/srfi-doc-nonfree/srfi/scribblings/info.rkt 1969-12-31 19:00:00.000000000 -0500 -@@ -1,3 +0,0 @@ --#lang info -- --(define scribblings '(("srfi-nf.scrbl" (multi-page) (library 100)))) -diff -urN racket-7.0.orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-nf.scrbl racket-7.0/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-nf.scrbl ---- racket-7.0.orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-nf.scrbl 2018-08-03 15:23:48.895563664 -0400 -+++ racket-7.0/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-nf.scrbl 1969-12-31 19:00:00.000000000 -0500 -@@ -1,66 +0,0 @@ --#lang scribble/doc --@(require srfi/scribblings/util -- scribble/manual -- scribble/eval -- scriblib/render-cond -- scribble/core -- scribble/html-properties -- (for-syntax scheme/base) -- (for-label scheme/base -- racket/stream)) -- --@; ---------------------------------------------------------------------- -- --@title{SRFI Nonfree Libraries and Documentation} -- --The @link[#:style srfi-std "http://srfi.schemers.org/%22%5D%7BScheme Requests for --Implementation} (a.k.a. @deftech{SRFI}) process allows individual --members of the Scheme community to propose libraries and extensions to --be supported by multiple Scheme implementations. -- --Racket is distributed with implementations of many SRFIs, most of --which can be implemented as libraries. To import the bindings of SRFI --@math{n}, use -- --@racketblock[ --(require @#,elem{@racketidfont{srfi/}@math{n}}) --] -- --This document lists the SRFIs that are supported by Racket and --provides a link to the original SRFI specification (which is also --distributed as part of Racket's documentation). -- --The following SRFI specification documents are licensed restrictively. -- --@table-of-contents[] -- -- --@; ---------------------------------------- -- --@srfi[5]{A compatible let form with signatures and rest arguments} -- --@redirect[5 '( -- (let #t "unnamed") --)] -- --Racket provides this SRFI in the @racket[srfi-lib-nonfree] package. -- --@; ---------------------------------------- -- --@srfi[29]{Localization} -- --@redirect[29 '( -- (current-language #f "current-language") -- (current-country #f "current-country") -- (current-locale-details #f "current-locale-details") -- (declare-bundle! #f "declare-bundle!") -- (store-bundle #f "store-bundle") -- (load-bundle! #f "load-bundle!") -- (localized-template #f "localized-template") --)] -- --Racket provides a free implementation of this SRFI in the @racket[srfi-lib] package. Only the SRFI specification document is nonfree. -- --@; ---------------------------------------- -- --@index-section[] -diff -urN racket-7.0.orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-29.html racket-7.0/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-29.html ---- racket-7.0.orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-29.html 2018-08-03 15:23:48.895563664 -0400 -+++ racket-7.0/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-29.html 1969-12-31 19:00:00.000000000 -0500 -@@ -1,507 +0,0 @@ --<!DOCTYPE html PUBLIC "-//IETF//DTD HTML//EN"> --<html> -- <head> -- <meta name="generator" content="HTML Tidy, see www.w3.org"> -- <title>SRFI 29: Localization</title> -- <meta name="author" content="Scott G. Miller"> -- <meta name="description" content="Localization"> -- </head> -- <body> -- <H1>Title</H1> -- -- SRFI 29: Localization -- -- <H1>Author</H1> -- -- Scott G. Miller -- -- <H1>Abstract</H1> -- -- This document specifies an interface to retrieving and -- displaying locale sensitive messages. A Scheme program can -- register one or more translations of templated messages, and -- then write Scheme code that can transparently retrieve the -- appropriate message for the locale under which the Scheme -- system is running. <br> -- -- -- <H1>Rationale</H1> -- -- <p>As any programmer that has ever had to deal with making his -- or her code readable in more than one locale, the process of -- sufficiently abstracting program messages from their -- presentation to the user is non-trivial without help from the -- programming language. Most modern programming language -- libraries do provide some mechanism for performing this -- separation.</p> -- -- <p>A portable API that allows a piece of code to run without -- modification in different countries and under different -- languages is a must for any non-trivial software project. -- The interface should separate the logic of a program from -- the myriad of translations that may be necessary.</p> -- -- <p>The interface described in this document provides such -- functionality. The underlying implementation is also allowed to -- use whatever datastructures it likes to provide access to the -- translations in the most efficient manner possible. In -- addition, the implementation is provided with standardized -- functions that programs will use for accessing an external, -- unspecified repository of translations.</p> -- -- <p>This interface <i>does not</i> cover all aspects of -- localization, including support for non-latin characters, -- number and date formatting, etc. Such functionality is the -- scope of a future SRFI that may extend this one.</p> -- -- <H1>Dependencies</H1> -- -- An SRFI-29 conformant implementation must also implement -- SRFI-28, Basic Format Strings. Message templates are strings -- that must be processed by the <tt>format</tt> function -- specified in that SRFI. -- -- <H1>Specification</H1> -- -- <h3>Message Bundles</h3> -- -- <p>A Message Bundle is a set of message templates and their -- identifying keys. Each bundle contains one or more such -- key/value pairs. The bundle itself is associated with a -- <i>bundle specifier</i> which uniquely identifies the -- bundle.</p> -- -- <h3>Bundle Specifiers</h3> -- -- <p>A Bundle Specifier is a Scheme list that describes, in order -- of importance, the package and locale of a message bundle. -- In most cases, a locale specifier will have between one -- and three elements. The first element is a symbol denoting the -- package for which this bundle applies. The second and third -- elements denote a <i>locale</i>. The second element (first -- element of the locale) if present, is the two letter, ISO 639-1 -- language code for the bundle. The third element, if present, is -- a two letter ISO 3166-1 country code. In some cases, a -- fourth element may be present, specifying the encoding used for -- the bundle. All bundle specifier elements are Scheme -- symbols.</p> -- -- <p>If only one translation is provided, it should be designated -- only by a package name, for example <tt>(mathlib)</tt>. This -- translation is called the <i>default</i> translation.</p> -- -- <h3>Bundle Searching</h3> -- -- <p>When a message template is retrieved from a bundle, the -- Scheme implementation will provide the locale under which the -- system is currently running. When the template is retrieved, -- the package name will be specified. The Scheme system should -- construct a Bundle Specifier from the provided package name and -- the active locale. For example, when retrieving a message -- template for French Canadian, in the <tt>mathlib</tt> package, -- the bundle specifier '<tt>(mathlib fr ca)</tt>' is used. A -- program may also retrieve the elements of the current locale -- using the no-argument procedures:</p> -- -- <p><b><a name="current-language"></a><tt>current-language</tt></b> <tt>-> -- <i>symbol</i></tt><br> -- <tt><b>current-language</b> <i>symbol</i> -> -- undefined</tt><br> -- </p> -- -- <blockquote> -- When given no arguments, returns the current ISO 639-1 -- language code as a symbol. If provided with an -- argument, the current language is set to that named by the -- symbol for the currently executing Scheme thread (or for the -- entire Scheme system if such a distinction is not possible). -- -- </blockquote> -- -- <p><b><a name="current-country"></a><tt>current-country</tt></b> <tt>-> -- <i>symbol</i></tt><br> -- <tt><b>current-country</b> <i>symbol</i> -> -- undefined</tt><br> -- </p> -- -- <blockquote> -- returns the current ISO 3166-1 country code as a symbol. -- If provided with an argument, the current country is -- set to that named by the symbol for the currently executing -- Scheme thread (or for the entire Scheme system if such a -- distinction is not possible). -- </blockquote> -- -- <p><b><a name="current-locale-details"></a><tt>current-locale-details</tt></b> <tt>-> <i>list of -- symbol</i></tt>s<br> -- <tt><b>current-locale-details</b> <i>list-of-symbols</i> -> -- undefined</tt><br> -- </p> -- -- <blockquote> -- Returns a list of additional locale details as a list of -- symbols. This list may contain information about -- encodings or other more specific information. If -- provided with an argument, the current locale details are set -- to those given in the currently executing Scheme thread (or -- for the entire Scheme system if such a distinction is not -- possible). -- </blockquote> -- -- <p>The Scheme System should first check for a bundle with the -- exact name provided. If no such bundle is found, the last -- element from the list is removed and a search is tried for a -- bundle with that name. If no bundle is then found, the list is -- shortened by removing the last element again. If no message is -- found and the bundle specifier is now the empty list, an error -- should be raised.</p> -- -- <p>The reason for this search order is to provide the most -- locale sensitive template possible, but to fall back on more -- general templates if a translation has not yet been provided -- for the given locale.</p> -- -- <h3>Message Templates</h3> -- -- <p>A message template is a localized message that may or may -- not contain one of a number of formatting codes. A message -- template is a Scheme string. The string is of a form that can -- be processed by the <tt>format</tt> procedure found in many -- Scheme systems and formally specified in SRFI-28 (Basic Format -- Strings).</p> -- -- <p>This SRFI also extends SRFI-28 to provide an additional -- <tt>format</tt> escape code:</p> -- -- <blockquote> -- <tt>~[n]@*</tt> - Causes a value-requiring escape code that -- follows this code immediately to reference the [N]'th -- optional value absolutely, rather than the next unconsumed -- value. The referenced value is <i>not</i> consumed. -- </blockquote> -- This extension allows optional values to be positionally -- referenced, so that message templates can be constructed that -- can produce the proper word ordering for a language. -- -- <h3>Preparing Bundles</h3> -- Before a bundle may be used by the Scheme system to retrieve -- localized template messages, they must be made available to the -- Scheme system. This SRFI specifies a way to portably -- define the bundles, as well as store them in and retrieve them -- from an unspecified system which may be provided by resources -- outside the Scheme system.<br> -- -- -- <p><b><a name="declare-bundle!"></a><tt>declare-bundle!</tt></b> <tt><i>bundle-specifier -- association-list</i> -> undefined<br> -- </tt></p> -- -- <blockquote> -- Declares a new bundle named by the given bundle-specifier. -- The contents of the bundle are defined by the provided -- association list. The list contains associations -- between Scheme symbols and the message templates (Scheme -- strings) they name. If a bundle already exists with the -- given name, it is overwritten with the newly declared -- bundle.<br> -- </blockquote> -- <tt><a name="store-bundle"></a><b>store-bundle</b> <i>bundle-specifier</i> -> -- boolean</tt><br> -- -- -- <blockquote> -- Attempts to store a bundle named by the given bundle -- specifier, and previously made available using -- <tt>declare-bundle!</tt> or <tt>load-bundle!</tt>, in an -- unspecified mechanism that may be persistent across Scheme -- system restarts. If successful, a non-false value is -- returned. If unsuccessful, <tt>#f</tt> is returned.<br> -- </blockquote> -- <tt><a name="load-bundle!"></a><b>load-bundle!</b> <i>bundle-specifier</i> -> -- boolean</tt><br> -- -- -- <blockquote> -- Attempts to retrieve a bundle from an unspecified mechanism -- which stores bundles outside the Scheme system. If the -- bundle was retrieved successfully, the function returns a -- non-false value, and the bundle is immediately available to -- the Scheme system. If the bundle could not be found or loaded -- successfully, the function returns <tt>#f</tt>, and the -- Scheme system's bundle registry remains unaffected.<br> -- </blockquote> -- A compliant Scheme system may choose not to provide any -- external mechanism to store localized bundles. If it does -- not, it must still provide implementations for -- <tt>store-bundle</tt> and <tt>load-bundle!</tt>. In such a -- case, both functions must return <tt>#f</tt> regardless of the -- arguments given. Users of this SRFI should recognize that the -- inability to load or store a localized bundle in an external -- repository is <i>not</i> a fatal error.<br> -- -- -- <h3>Retrieving Localized Message Templates</h3> -- -- <p><a name="localized-template"></a><b><tt>localized-template</tt></b> <i><tt>package-name -- message-template-name</tt></i> <tt>-> <i>string or #f<br> -- </i></tt></p> -- -- <blockquote> -- Retrieves a localized message template for the given package -- name and the given message template name (both symbols). -- If no such message could be found, false (#f) is -- returned.<br> -- <br> -- </blockquote> -- After retrieving a template, the calling program can use -- <tt>format</tt> to produce a string that can be displayed to -- the user.<br> -- -- -- <h2>Examples</h2> -- The below example makes use of SRFI-29 to display simple, -- localized messages. It also defines its bundles in such a -- way that the Scheme system may store and retrieve the bundles -- from a more efficient system catalog, if available.<br> -- --<pre> --(let ((translations -- '(((en) . ((time . "Its ~a, ~a.") -- (goodbye . "Goodbye, ~a."))) -- ((fr) . ((time . "~1@*~a, c'est ~a.") -- (goodbye . "Au revoir, ~a.")))))) -- (for-each (lambda (translation) -- (let ((bundle-name (cons 'hello-program (car translation)))) -- (if (not (load-bundle! bundle-name)) -- (begin -- (declare-bundle! bundle-name (cdr translation)) -- (store-bundle! bundle-name))))) -- translations)) -- --(define localized-message -- (lambda (message-name . args) -- (apply format (cons (localized-template 'hello-program -- message-name) -- args)))) -- --(let ((myname "Fred")) -- (display (localized-message 'time "12:00" myname)) -- (display #\newline) -- -- (display (localized-message 'goodbye myname)) -- (display #\newline)) -- --;; Displays (English): --;; Its 12:00, Fred. --;; Goodbye, Fred. --;; --;; French: --;; Fred, c'est 12:00. --;; Au revoir, Fred. --</pre> -- -- <H1>Implementation</H1> -- -- <p>The implementation requires that the Scheme system provide a -- definition for <tt>current-language</tt> and -- <tt>current-country</tt> capable of distinguishing the correct -- locale present during a Scheme session. The definitions of -- those functions in the reference implementation are not capable -- of that distinction. Their implementation is provided only so -- that the following code can run in any R4RS scheme system. -- <br> -- </p> -- -- <p>In addition, the below implementation of a compliant -- <tt>format</tt> requires SRFI-6 (Basic String Ports) and -- SRFI-23 (Error reporting)</p> --<pre> --;; The association list in which bundles will be stored --(define *localization-bundles* '()) -- --;; The current-language and current-country functions provided --;; here must be rewritten for each Scheme system to default to the --;; actual locale of the session --(define current-language -- (let ((current-language-value 'en)) -- (lambda args -- (if (null? args) -- current-language-value -- (set! current-language-value (car args)))))) -- --(define current-country -- (let ((current-country-value 'us)) -- (lambda args -- (if (null? args) -- current-country-value -- (set! current-country-value (car args)))))) -- --;; The load-bundle! and store-bundle! both return #f in this --;; reference implementation. A compliant implementation need --;; not rewrite these procedures. --(define load-bundle! -- (lambda (bundle-specifier) -- #f)) -- --(define store-bundle! -- (lambda (bundle-specifier) -- #f)) -- --;; Declare a bundle of templates with a given bundle specifier --(define declare-bundle! -- (letrec ((remove-old-bundle -- (lambda (specifier bundle) -- (cond ((null? bundle) '()) -- ((equal? (caar bundle) specifier) -- (cdr bundle)) -- (else (cons (car bundle) -- (remove-old-bundle specifier -- (cdr bundle)))))))) -- (lambda (bundle-specifier bundle-assoc-list) -- (set! *localization-bundles* -- (cons (cons bundle-specifier bundle-assoc-list) -- (remove-old-bundle bundle-specifier -- *localization-bundles*)))))) -- --;;Retrieve a localized template given its package name and a template name --(define localized-template -- (letrec ((rdc -- (lambda (ls) -- (if (null? (cdr ls)) -- '() -- (cons (car ls) (rdc (cdr ls)))))) -- (find-bundle -- (lambda (specifier template-name) -- (cond ((assoc specifier *localization-bundles*) => -- (lambda (bundle) bundle)) -- ((null? specifier) #f) -- (else (find-bundle (rdc specifier) -- template-name)))))) -- (lambda (package-name template-name) -- (let loop ((specifier (cons package-name -- (list (current-language) -- (current-country))))) -- (and (not (null? specifier)) -- (let ((bundle (find-bundle specifier template-name))) -- (and bundle -- (cond ((assq template-name bundle) => cdr) -- ((null? (cdr specifier)) #f) -- (else (loop (rdc specifier))))))))))) -- --;;An SRFI-28 and SRFI-29 compliant version of format. It requires --;;SRFI-23 for error reporting. --(define format -- (lambda (format-string . objects) -- (let ((buffer (open-output-string))) -- (let loop ((format-list (string->list format-string)) -- (objects objects) -- (object-override #f)) -- (cond ((null? format-list) (get-output-string buffer)) -- ((char=? (car format-list) #~) -- (cond ((null? (cdr format-list)) -- (error 'format "Incomplete escape sequence")) -- ((char-numeric? (cadr format-list)) -- (let posloop ((fl (cddr format-list)) -- (pos (string->number -- (string (cadr format-list))))) -- (cond ((null? fl) -- (error 'format "Incomplete escape sequence")) -- ((and (eq? (car fl) '#@) -- (null? (cdr fl))) -- (error 'format "Incomplete escape sequence")) -- ((and (eq? (car fl) '#@) -- (eq? (cadr fl) '#*)) -- (loop (cddr fl) objects (list-ref objects pos))) -- (else -- (posloop (cdr fl) -- (+ (* 10 pos) -- (string->number -- (string (car fl))))))))) -- (else -- (case (cadr format-list) -- ((#\a) -- (cond (object-override -- (begin -- (display object-override buffer) -- (loop (cddr format-list) objects #f))) -- ((null? objects) -- (error 'format "No value for escape sequence")) -- (else -- (begin -- (display (car objects) buffer) -- (loop (cddr format-list) -- (cdr objects) #f))))) -- ((#\s) -- (cond (object-override -- (begin -- (display object-override buffer) -- (loop (cddr format-list) objects #f))) -- ((null? objects) -- (error 'format "No value for escape sequence")) -- (else -- (begin -- (write (car objects) buffer) -- (loop (cddr format-list) -- (cdr objects) #f))))) -- ((#%) -- (if object-override -- (error 'format "Escape sequence following positional override does not require a value")) -- (display #\newline buffer) -- (loop (cddr format-list) objects #f)) -- ((#~) -- (if object-override -- (error 'format "Escape sequence following positional override does not require a value")) -- (display #~ buffer) -- (loop (cddr format-list) objects #f)) -- (else -- (error 'format "Unrecognized escape sequence")))))) -- (else (display (car format-list) buffer) -- (loop (cdr format-list) objects #f))))))) -- --</pre> -- -- <H1>Copyright</H1> -- -- Copyright (C) Scott G. Miller (2002). All Rights Reserved. -- -- <p>This document and translations of it may be copied and -- furnished to others, and derivative works that comment on or -- otherwise explain it or assist in its implementation may be -- prepared, copied, published and distributed, in whole or in -- part, without restriction of any kind, provided that the above -- copyright notice and this paragraph are included on all such -- copies and derivative works. However, this document itself may -- not be modified in any way, such as by removing the copyright -- notice or references to the Scheme Request For Implementation -- process or editors, except as needed for the purpose of -- developing SRFIs in which case the procedures for copyrights -- defined in the SRFI process must be followed, or as required to -- translate it into languages other than English.</p> -- -- <p>The limited permissions granted above are perpetual and will -- not be revoked by the authors or their successors or -- assigns.</p> -- -- <p>This document and the information contained herein is -- provided on an "AS IS" basis and THE AUTHOR AND THE SRFI -- EDITORS DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING -- BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION -- HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES -- OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.</p> -- <hr> -- -- <address> -- Editor: <a href="mailto:srfi-editors@srfi.schemers.org">David -- Rush</a> -- </address> -- -- <address> -- Author: <a href="mailto:scgmille@freenetproject.org">Scott G. -- Miller</a> -- </address> -- <!-- Created: Tue Sep 29 19:20:08 EDT 1998 --> -- <!-- hhmts start -->Last modified: Mon Jun 17 12:00:08 Pacific -- Daylight Time 2002 <!-- hhmts end --> <br> -- </body> --</html> -- -diff -urN racket-7.0.orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-5.html racket-7.0/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-5.html ---- racket-7.0.orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-5.html 2018-08-03 15:23:48.895563664 -0400 -+++ racket-7.0/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-5.html 1969-12-31 19:00:00.000000000 -0500 -@@ -1,345 +0,0 @@ --<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.2//EN"> --<html> --<head> -- <title>SRFI 5: A compatible let form with signatures and rest arguments</title> --</head> --<body> -- --<H1>Title</H1> -- --SRFI-5: A compatible <code>let</code> form with signatures and rest arguments -- --<H1>Author</H1> -- --Andy Gaynor -- --<H1>Status</H1> -- --This SRFI is currently in ``final'' status. To see an explanation of each status that a SRFI can hold, see <A HREF="http://srfi.schemers.org/srfi-process.html">here</A>. --You can access the discussion on this SRFI via <A HREF="http://srfi.schemers.org/srfi-5/mail-archive/maillist.html">the archive of the mailing list</A>. --<P><UL> --<LI>Received: 1999/2/2 --<LI>Draft: 1999/2/10-1999/04/12 --<LI>Final: 1999/4/26 --<LI>Revised reference implementation: 2003/01/27 --</UL> -- --<H1>Abstract</H1> -- --The <i>named-let</i> incarnation of the <code>let</code> form has two slight --inconsistencies with the <code>define</code> form. As defined, the <code>let</code> --form makes no accommodation for rest arguments, an issue of functionality --and consistency. As defined, the <code>let</code> form does not accommodate --signature-style syntax, an issue of aesthetics and consistency. Both --issues are addressed here in a manner which is compatible with the traditional --<code>let</code> form but for minor extensions. -- --<H1>Rationale</H1> -- --<H2>Signature-style Syntax</H2> -- --Consider the following two equivalent definitions: -- --<p><pre> --(define fibonacci -- (lambda (n i f0 f1) -- (if (= i n) -- f0 -- (fibonacci n (+ i 1) f1 (+ f0 f1))))) -- --(define (fibonacci n i f0 f1) -- (if (= i n) -- f0 -- (fibonacci n (+ i 1) f1 (+ f0 f1)))) --</pre> -- --Although there is a named-let analog for the former form, there is none --for the latter. To wit, suppose one wished to compute the 10th element --of the Fibonacci sequence using a named let: -- --<p> --<pre> --(let fibonacci ((n 10) (i 0) (f0 0) (f1 1)) -- (if (= i n) -- f0 -- (fibonacci n (+ i 1) f1 (+ f0 f1)))) --Values: 55 --</pre> -- --As it stands, one cannot equivalently write -- --<p> --<pre> --(let (fibonacci (n 10) (i 0) (f0 0) (f1 1)) -- (if (= i n) -- f0 -- (fibonacci n (+ i 1) f1 (+ f0 f1)))) --</pre> -- --which is consistent with <code>define</code>'s signature-style form. --<p>Those that favor the signature style may prefer this extension. --In any case, it may be more appropriate to include all bound names within --the binding section. As presented, this straightforward extension --introduces no ambiguity or incompatibility with the existing definition --of let. -- --<H2>Rest Arguments</H2> -- --As it stands, one cannot write a named let with rest arguments, as in -- --<p> --<pre> --(let (blast (port (current-output-port)) . (x (+ 1 2) 4 5)) -- (if (null? x) -- 'just-a-silly-contrived-example -- (begin -- (write (car x) port) -- (apply blast port (cdr x))))) --</pre> -- --otherwise equivalent to -- --<p> --<pre> --(letrec ((blast (lambda (port . x) -- (if (null? x) -- 'just-a-silly-contrived-example -- (begin -- (write (car x) port) -- (apply blast port (cdr x))))))) -- (blast (current-output-port) (+ 1 2) 4 5)) --</pre> -- --While this example is rather contrived, the functionality is not. --There are several times when the author has used this construct in practice. --Regardless, there is little reason to deny the <code>let</code> form access to --all the features of lambda functionality. -- --<H2>Symbols in Binding Sections</H2> -- --Both the features above rely upon the placement of symbols in <code>let</code> --binding lists (this statement is intentially simplistic). The only --other apparent use of such symbol placement is to tersely bind variables --to unspecified values. For example, one might desire to use --<code>(let (foo bar baz) ...)</code> --to bind <code>foo</code>, <code>bar</code>, and <code>baz</code> to --unspecified values. -- --<p>This usage is considered less important in light of the rationales --presented above, and an alternate syntax is immediately apparent, as --in <code>(let ((foo) (bar) (baz)) ...)</code> This may even --be preferable, consistently parenthesizing normal binding clauses. -- --<H1>Specification</H1> -- --<H2>Syntax</H2> -- --<p> --A formal specification of the syntax follows. Below, body, expression, --and identifier are free. Each instantiation of binding-name must be --unique. --</p> -- --<p> --<pre> -- let = "(" "let" let-bindings body ")" -- expressions = nothing | expression expressions -- let-bindings = let-name bindings -- |"(" let-name "." bindings ")" -- let-name = identifier -- bindings = "(" ")" -- | rest-binding -- | "(" normal-bindings ["." rest-binding] ")" --normal-bindings = nothing -- | normal-binding normal-bindings --normal-binding = "(" binding-name expression ")" -- binding-name = identifier -- rest-binding = "(" binding-name expressions ")" --</pre> -- --<p> --For clarity and convenience, an informal specification follows. --</p> -- --<ol> --<li><a name="unnamed">Unnamed</a> -- --<p><pre> --(let ((<parameter> <argument>)...) -- <body>...) --</pre> --</li> -- --<li><a name="named-non-sig"> --Named, non-signature-style, no rest argument</a> -- --<p><pre> --(let <name> ((<parameter> <argument>)...) -- <body>...) --</pre> --</li> -- --<li><a name="named-sig">Named, signature-style, no rest argument</a> -- --<p><pre> --(let (<name> (<parameter> <argument>)...) -- <body>...) --</pre> --</li> -- --<li><a name="named-non-sig-rest">Named, non-signature-style, rest argument</a> -- --<p><pre> --(let <name> ((<parameter> <argument>)... -- --. (<rest-parameter> <rest-argument>...)) -- <body>...) --</pre> -- --<li><a name="named-sig-rest">Named, signature-style, rest argument</a> -- --<p><pre> --(let (<name> (<parameter> <argument>)... -- --. (<rest-parameter> <rest-argument>...)) -- <body>...) --</pre> --</li> --</ol> -- --<H2>Semantics</H2> -- --Let <code>$lambda</code> and <code>$letrec</code> be hygienic bindings for the <code>lambda</code> --and <code>letrec</code> forms, respectively. -- --<ul> --<li>For informal syntax 1: -- --<p><pre> --(($lambda (<parameter>...) <body>...) <argument>...) --</pre> --</li> -- --<li>For informal syntaxes 2 and 3: -- --<p> --<pre> --($letrec ((<name> ($lambda (<parameter>...) <body>...))) -- (<name> <argument>...)) --</pre> --</li> -- --<li>For informal syntaxes 4 and 5: -- --<p> --<pre> --($letrec ((<name> ($lambda (<parameter>... -- --. <rest-parameter>) <body>...))) -- (<name> <argument>... <rest-argument>...)) --</pre> --</li> --</ul> -- --<H1>Implementation</H1> -- --Here is an implementation using <code>SYNTAX-RULES</code>. -- --<p> --<pre> --;; Use your own standard let. --;; Or call a lambda. --;; (define-syntax standard-let --;; --;; (syntax-rules () --;; --;; ((let ((var val) ...) body ...) --;; ((lambda (var ...) body ...) val ...)))) -- --(define-syntax let -- -- (syntax-rules () -- -- ;; No bindings: use standard-let. -- ((let () body ...) -- (standard-let () body ...)) -- ;; Or call a lambda. -- ;; ((lambda () body ...)) -- -- ;; All standard bindings: use standard-let. -- ((let ((var val) ...) body ...) -- (standard-let ((var val) ...) body ...)) -- ;; Or call a lambda. -- ;; ((lambda (var ...) body ...) val ...) -- -- ;; One standard binding: loop. -- ;; The all-standard-bindings clause didn't match, -- ;; so there must be a rest binding. -- ((let ((var val) . bindings) body ...) -- (let-loop #f bindings (var) (val) (body ...))) -- -- ;; Signature-style name: loop. -- ((let (name binding ...) body ...) -- (let-loop name (binding ...) () () (body ...))) -- -- ;; defun-style name: loop. -- ((let name bindings body ...) -- (let-loop name bindings () () (body ...))))) -- --(define-syntax let-loop -- -- (syntax-rules () -- -- ;; Standard binding: destructure and loop. -- ((let-loop name ((var0 val0) binding ...) (var ... ) (val ... ) body) -- (let-loop name ( binding ...) (var ... var0) (val ... val0) body)) -- -- ;; Rest binding, no name: use standard-let, listing the rest values. -- ;; Because of let's first clause, there is no "no bindings, no name" clause. -- ((let-loop #f (rest-var rest-val ...) (var ...) (val ...) body) -- (standard-let ((var val) ... (rest-var (list rest-val ...))) . body)) -- ;; Or call a lambda with a rest parameter on all values. -- ;; ((lambda (var ... . rest-var) . body) val ... rest-val ...)) -- ;; Or use one of several other reasonable alternatives. -- -- ;; No bindings, name: call a letrec'ed lambda. -- ((let-loop name () (var ...) (val ...) body) -- ((letrec ((name (lambda (var ...) . body))) -- name) -- val ...)) -- -- ;; Rest binding, name: call a letrec'ed lambda. -- ((let-loop name (rest-var rest-val ...) (var ...) (val ...) body) -- ((letrec ((name (lambda (var ... . rest-var) . body))) -- name) -- val ... rest-val ...)))) --</pre> -- -- --<H1>Copyright</H1> -- --Copyright (C) Andy Gaynor (1999). All Rights Reserved. --<p>This document and translations of it may be copied and furnished to --others, and derivative works that comment on or otherwise explain it or --assist in its implementation may be prepared, copied, published and distributed, --in whole or in part, without restriction of any kind, provided that the --above copyright notice and this paragraph are included on all such copies --and derivative works. However, this document itself may not be modified --in any way, such as by removing the copyright notice or references to the --Scheme Request For Implementation process or editors, except as needed --for the purpose of developing SRFIs in which case the procedures for copyrights --defined in the SRFI process must be followed, or as required to translate --it into languages other than English. --<p>The limited permissions granted above are perpetual and will not be --revoked by the authors or their successors or assigns. --<p>This document and the information contained herein is provided on an --"AS IS" basis and THE AUTHOR AND THE SRFI EDITORS DISCLAIM ALL WARRANTIES, --EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE --USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED --WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. -- -- <hr> -- <address>Editor: <a href="mailto:srfi-editors@srfi.schemers.org">Mike Sperber</a></address> -- --</body> --</html> -diff -urN racket-7.0.orig/share/pkgs/srfi-lib-nonfree/info.rkt racket-7.0/share/pkgs/srfi-lib-nonfree/info.rkt ---- racket-7.0.orig/share/pkgs/srfi-lib-nonfree/info.rkt 2018-08-03 15:23:48.906563738 -0400 -+++ racket-7.0/share/pkgs/srfi-lib-nonfree/info.rkt 1969-12-31 19:00:00.000000000 -0500 -@@ -1 +0,0 @@ --(module info setup/infotab (#%module-begin (define package-content-state (quote (built "7.0"))) (define collection (quote multi)) (define deps (quote ("scheme-lib" "base" "r6rs-lib" "srfi-lib" "compatibility-lib"))) (define pkg-desc "implementation (no documentation) part of "srfi nonfree"") (define pkg-authors (quote (mflatt noel chongkai jay))))) -diff -urN racket-7.0.orig/share/pkgs/srfi-lib-nonfree/srfi/%3a5/let.rkt racket-7.0/share/pkgs/srfi-lib-nonfree/srfi/%3a5/let.rkt ---- racket-7.0.orig/share/pkgs/srfi-lib-nonfree/srfi/%3a5/let.rkt 2018-08-03 15:23:48.906563738 -0400 -+++ racket-7.0/share/pkgs/srfi-lib-nonfree/srfi/%3a5/let.rkt 1969-12-31 19:00:00.000000000 -0500 -@@ -1 +0,0 @@ --#lang s-exp srfi/provider srfi/%3a5 -diff -urN racket-7.0.orig/share/pkgs/srfi-lib-nonfree/srfi/%3a5.rkt racket-7.0/share/pkgs/srfi-lib-nonfree/srfi/%3a5.rkt ---- racket-7.0.orig/share/pkgs/srfi-lib-nonfree/srfi/%3a5.rkt 2018-08-03 15:23:48.906563738 -0400 -+++ racket-7.0/share/pkgs/srfi-lib-nonfree/srfi/%3a5.rkt 1969-12-31 19:00:00.000000000 -0500 -@@ -1,3 +0,0 @@ --#lang s-exp srfi/provider srfi/5 -- --;; FIXME: "rest arguments" need to generate mutable lists -diff -urN racket-7.0.orig/share/pkgs/srfi-lib-nonfree/srfi/5/let.rkt racket-7.0/share/pkgs/srfi-lib-nonfree/srfi/5/let.rkt ---- racket-7.0.orig/share/pkgs/srfi-lib-nonfree/srfi/5/let.rkt 2018-08-03 15:23:48.906563738 -0400 -+++ racket-7.0/share/pkgs/srfi-lib-nonfree/srfi/5/let.rkt 1969-12-31 19:00:00.000000000 -0500 -@@ -1,86 +0,0 @@ --;;; --;;; <let.rkt> ---- SRFI 5 A compatible let form with signatures and rest arguments --;;; Time-stamp: <03/04/08 09:56:06 solsona> --;;; --;;; Usually, I would add a copyright notice, and the announce that --;;; this code is under the LGPL licence. Nevertheless, I only did the --;;; port to PLT Scheme v200, and here is the copyright notice, --;;; comments, and licence from the original source: --;;; --;;; Copyright (C) Andy Gaynor (1999-2003) --;;; --;;; The version of my-let here was cleaned up by: Paul Schlie schlie@attbi.com. --;;; Renamed to s:let by Eli Barzilay -- --#lang scheme/base --(provide s:let) -- --(define-syntax s:let -- (syntax-rules () -- ;; standard -- ((s:let () body ...) -- (let () body ...)) -- ((s:let ((var val) ...) body ...) -- (let ((var val) ...) body ...)) -- -- ;; rest style -- ((s:let ((var val) . bindings) body ...) -- (let-loop #f bindings (var) (val) (body ...))) -- -- ;; signature style -- ((s:let (name bindings ...) body ...) -- (let-loop name (bindings ...) () () (body ...))) -- -- ;; standard named style -- ((s:let name (bindings ...) body ...) -- (let-loop name (bindings ...) () () (body ...))) -- -- )) -- --;; A loop to walk down the list of bindings. -- --(define-syntax let-loop -- (syntax-rules () -- -- ;; No more bindings - make a LETREC. -- ((let-loop name () (vars ...) (vals ...) body) -- ((letrec ((name (lambda (vars ...) . body))) -- name) -- vals ...)) -- -- ;; Rest binding, no name -- ((let-loop #f (rest-var rest-val ...) (var ...) (val ...) body) -- (let ((var val) ... (rest-var (list rest-val ...))) . body)) -- -- ;; Process a (var val) pair. -- ((let-loop name ((var val) more ...) (vars ...) (vals ...) body) -- (let-loop name (more ...) (vars ... var) (vals ... val) body)) -- -- ;; End with a rest variable - make a LETREC. -- ((let-loop name (rest-var rest-vals ...) (vars ...) (vals ...) body) -- ((letrec ((name (lambda (vars ... . rest-var) . body))) -- name) -- vals ... rest-vals ...)))) -- --;; Four loops - normal and `signature-style', each with and without a rest --;; binding. --;; --;;(let fibonacci ((n 10) (i 0) (f0 0) (f1 1)) --;; (if (= i n) --;; f0 --;; (fibonacci n (+ i 1) f1 (+ f0 f1)))) --;; --;;(let (fibonacci (n 10) (i 0) (f0 0) (f1 1)) --;; (if (= i n) --;; f0 --;; (fibonacci n (+ i 1) f1 (+ f0 f1)))) --;; --;;(let fibonacci ((n 10) (i 0) . (f 0 1)) --;; (if (= i n) --;; (car f) --;; (fibonacci n (+ i 1) (cadr f) (+ (car f) (cadr f))))) --;; --;;(let (fibonacci (n 10) (i 0) . (f 0 1)) --;; (if (= i n) --;; (car f) --;; (fibonacci n (+ i 1) (cadr f) (+ (car f) (cadr f))))) -diff -urN racket-7.0.orig/share/pkgs/srfi-lib-nonfree/srfi/5.rkt racket-7.0/share/pkgs/srfi-lib-nonfree/srfi/5.rkt ---- racket-7.0.orig/share/pkgs/srfi-lib-nonfree/srfi/5.rkt 2018-08-03 15:23:48.906563738 -0400 -+++ racket-7.0/share/pkgs/srfi-lib-nonfree/srfi/5.rkt 1969-12-31 19:00:00.000000000 -0500 -@@ -1,2 +0,0 @@ --;; module loader for SRFI-5 --#lang s-exp srfi/provider srfi/5/let #:unprefix s: diff --git a/racket-7.4-remove-nonfree.patch b/racket-7.4-remove-nonfree.patch new file mode 100644 index 0000000..b670cbc --- /dev/null +++ b/racket-7.4-remove-nonfree.patch @@ -0,0 +1,967 @@ +diff -urN racket-7.4-orig/share/links.rktd racket-7.4-remove-nonfree/share/links.rktd +--- racket-7.4-orig/share/links.rktd 2019-08-03 23:31:24.000000000 -0400 ++++ racket-7.4-remove-nonfree/share/links.rktd 2019-08-28 09:27:21.416018118 -0400 +@@ -177,7 +177,6 @@ + (root "pkgs/slideshow-exe") + (root "pkgs/slideshow-plugin") + (root "pkgs/srfi-doc") +- (root "pkgs/srfi-doc-nonfree") + (root "pkgs/syntax-color-doc") + (root "pkgs/web-server-lib") + (root "pkgs/unix-socket-lib") +diff -urN racket-7.4-orig/share/pkgs/pkgs.rktd racket-7.4-remove-nonfree/share/pkgs/pkgs.rktd +--- racket-7.4-orig/share/pkgs/pkgs.rktd 2019-08-03 23:31:24.000000000 -0400 ++++ racket-7.4-remove-nonfree/share/pkgs/pkgs.rktd 2019-08-28 09:28:17.804384118 -0400 +@@ -1 +1 @@ +-#hash(("2d" . #s(pkg-info (catalog "2d") "fc82a7bd227d7f3b8852351fc6bf34948a7750b8" #t)) ("2d-doc" . #s((sc-pkg-info pkg-info 3) (catalog "2d-doc") "209614ab3da685f46ece52c2efdf976f1e7697b1" #t "2d")) ("2d-lib" . #s((sc-pkg-info pkg-info 3) (catalog "2d-lib") "8f5dd908df23ee2a698b178971be4e18d1937393" #t "2d")) ("algol60" . #s((sc-pkg-info pkg-info 3) (catalog "algol60") "5a67faec1e3f59e98d5d5c4ee4687a9e9a34962f" #t "algol60")) ("at-exp-lib" . #s(pkg-info (catalog "at-exp-lib") "68787a39b1d862726969eb03e54c6fcbab05d8d4" #t)) ("base" . #s(pkg-info (catalog "base") "249d2a371f12382b1360dd7a77702fb28551133b" #t)) ("cext-lib" . #s(pkg-info (catalog "cext-lib") "1ce5c3f8ef512216a402de1e139a242cf6593999" #t)) ("class-iop-lib" . #s(pkg-info (catalog "class-iop-lib") "29c5747600fa93d2dac540e3381291e45fa09300" #t)) ("compatibility" . #s(pkg-info (catalog "compatibility") "0fd2da43b30b0f27aaafa5d67af21ddf7fe02dd6" #t)) ("compatibility-doc" . #s(pkg-info (catalog "compatibility-doc") "fee62d07a8e143615c24f365c7c48c30e1eebe8c" #t)) ("compatibility-lib" . #s(pkg-info (catalog "compatibility-lib") "8d1011f2f86192a07714e4088ff5e23ca794471a" #t)) ("compiler" . #s(pkg-info (catalog "compiler") "b1a38a648d3cb1adaca66e1d9fb2a3636421f4f8" #t)) ("compiler-lib" . #s(pkg-info (catalog "compiler-lib") "b60403b4873befa5811e5fabb65970a24e0bb950" #t)) ("contract-profile" . #s((sc-pkg-info pkg-info 3) (catalog "contract-profile") "001eec9d842dcd35b6f082934e614ba86a2ab4c0" #t "contract-profile")) ("data" . #s(pkg-info (catalog "data") "98ef519ebf74d40ba645d00933e47fa0a516c96f" #t)) ("data-doc" . #s(pkg-info (catalog "data-doc") "ebfdbebb77721a087efc803f30bec6afe2292097" #t)) ("data-enumerate-lib" . #s(pkg-info (catalog "data-enumerate-lib") "f70dcd6ce6d7b14d1f1cc76b908df7cb2fd61929" #t)) ("data-lib" . #s(pkg-info (catalog "data-lib") "7fb6940020f610c669df432877213bfe79caebc7" #t)) ("datalog" . #s((sc-pkg-info pkg-info 3) (catalog "datalog") "411342493d6022b7d74f7e13955dfdfcf6e62f91" #t "datalog")) ("db" . #s(pkg-info (catalog "db") "13af2037227b04af20e85e2fef78cc9686fc6e3d" #t)) ("db-doc" . #s(pkg-info (catalog "db-doc") "ed6cb9e0f165f5e390347d9a979f994c80e09e6a" #t)) ("db-lib" . #s(pkg-info (catalog "db-lib") "5c97b5ac2a3cf661d85cd7177029ce4686a9391e" #t)) ("deinprogramm" . #s(pkg-info (catalog "deinprogramm") "9e908294790f919de34f67ab3321f57a53f52e36" #t)) ("deinprogramm-signature" . #s(pkg-info (catalog "deinprogramm-signature") "433e0dc1f4f74ef73074ce1c387b06e9e260e212" #t)) ("distributed-places" . #s(pkg-info (catalog "distributed-places") "145c1cedf46768adf061fade24893965840f1643" #t)) ("distributed-places-doc" . #s(pkg-info (catalog "distributed-places-doc") "fda0badbab4441172b33ae31c3b2272ce59bcd3c" #t)) ("distributed-places-lib" . #s(pkg-info (catalog "distributed-places-lib") "db733a858f67c295196d3d5e62d4d1047dbe10c4" #t)) ("draw" . #s(pkg-info (catalog "draw") "1e57984e4a7e93fc30e6f42382b3bdf2d5162759" #t)) ("draw-doc" . #s(pkg-info (catalog "draw-doc") "e7348bde06b88e4261d46eeeb7a1b69cb1c4b5bb" #t)) ("draw-lib" . #s(pkg-info (catalog "draw-lib") "8343a0e4d9c082e2b5da7f36590f3d6f81a90815" #t)) ("drracket" . #s(pkg-info (catalog "drracket") "0233b83af527c6866ce458d5869c02f1c3148569" #t)) ("drracket-plugin-lib" . #s(pkg-info (catalog "drracket-plugin-lib") "c4715aa5984bf8dfe48d44038b4eb81525f7cac7" #t)) ("drracket-tool" . #s(pkg-info (catalog "drracket-tool") "93dcb297ed4ad62cf4605d632da64023bdfc1e69" #t)) ("drracket-tool-doc" . #s(pkg-info (catalog "drracket-tool-doc") "f44fa4ef2a14aaff04d3b26d5b4a701678e42b68" #t)) ("drracket-tool-lib" . #s(pkg-info (catalog "drracket-tool-lib") "f3ca7e15b2592b40c4aaf734cf00126d71e0876d" #t)) ("ds-store" . #s((sc-pkg-info pkg-info 3) (catalog "ds-store") "f3b74900e431d9ca6ee1038fb7dd1e08d759b009" #t "ds-store")) ("ds-store-doc" . #s((sc-pkg-info pkg-info 3) (catalog "ds-store-doc") "06b754e0bc7ed6bd6ebf26b8ab4b3ae223ff9e3d" #t "ds-store")) ("ds-store-lib" . #s((sc-pkg-info pkg-info 3) (catalog "ds-store-lib") "517b5f727a5df1d7230cfeae5c208433d9717d2a" #t "ds-store")) ("dynext-lib" . #s(pkg-info (catalog "dynext-lib") "6327a91cf80c504524e1de84f2613263e62da80e" #t)) ("eli-tester" . #s(pkg-info (catalog "eli-tester") "0c9bfc31ad180898a7f10af252009084b0de30eb" #t)) ("eopl" . #s((sc-pkg-info pkg-info 3) (catalog "eopl") "b7725c60cac4f51be2fefef5bc393857c07dc0af" #t "eopl")) ("errortrace" . #s(pkg-info (catalog "errortrace") "f8d7f00c7dacc7d1bb2bc99c76129798319881e7" #t)) ("errortrace-doc" . #s(pkg-info (catalog "errortrace-doc") "aea79310a7f250d43325f82467b4c4126338a425" #t)) ("errortrace-lib" . #s(pkg-info (catalog "errortrace-lib") "0b7417f006208d6c8fb5f4fa61e1099a970f1fc2" #t)) ("frtime" . #s((sc-pkg-info pkg-info 3) (catalog "frtime") "83bf86eb4a5f6b1a2f53ac8f7b0c265ca8e27839" #t "frtime")) ("future-visualizer" . #s(pkg-info (catalog "future-visualizer") "76bc592353681f3d673841d65230deecd901ee8f" #t)) ("future-visualizer-typed" . #s(pkg-info (catalog "future-visualizer-typed") "a1698d4264a5267ac49b2451211e3391216a4e82" #t)) ("games" . #s((sc-pkg-info pkg-info 3) (catalog "games") "0ad78fb4ec37b6f19435b7599a566c1bb2e5847c" #t "games")) ("gui" . #s(pkg-info (catalog "gui") "a74759a9030789bdea8a324bd69cad5e162c5937" #t)) ("gui-doc" . #s(pkg-info (catalog "gui-doc") "e79b96b5ded5e81a5beeb33d905d7e7ccd893074" #t)) ("gui-lib" . #s(pkg-info (catalog "gui-lib") "35c5e9a5dd69ba6839210d49e6c967ba418e9cc4" #t)) ("gui-pkg-manager-lib" . #s(pkg-info (catalog "gui-pkg-manager-lib") "1e0d8a3f2a60642e785c0459108f1be6034dbcb1" #t)) ("htdp" . #s(pkg-info (catalog "htdp") "6e222eff85bae1b326f4282d8b82fc5c83202cfe" #t)) ("htdp-doc" . #s(pkg-info (catalog "htdp-doc") "e5892b0ae846f64e997e34ae2afb165b35f290b9" #t)) ("htdp-lib" . #s(pkg-info (catalog "htdp-lib") "1f18bce701e14d76fa2e4f14f8cded185b00a66d" #t)) ("html" . #s(pkg-info (catalog "html") "59ab0bddd4935969e2af0469ad48a9c30f33ef60" #t)) ("html-doc" . #s(pkg-info (catalog "html-doc") "3cd2a18da0b91b209d196f0cf669f2e59829d2bc" #t)) ("html-lib" . #s(pkg-info (catalog "html-lib") "2b17b0447932ee0a5287581269d24b5e3e9dcbb5" #t)) ("icons" . #s((sc-pkg-info pkg-info 3) (catalog "icons") "77e8f436f370ce8d88aa39622c5921664b56845b" #t "icons")) ("images" . #s(pkg-info (catalog "images") "98c6a0e120eb1115db9d376759b245db0591b07b" #t)) ("images-doc" . #s(pkg-info (catalog "images-doc") "99e114a7c7e234b6eaa23f99f863d03986bd62b5" #t)) ("images-gui-lib" . #s(pkg-info (catalog "images-gui-lib") "fef0ec840d82ed975370087fdcb049e0cce8e339" #t)) ("images-lib" . #s(pkg-info (catalog "images-lib") "9dcdc2e2388c63063a4a161e09585119d8d18e88" #t)) ("lazy" . #s((sc-pkg-info pkg-info 3) (catalog "lazy") "8038fc1a353a1618a5c19feecd7de1150719a9fc" #t "lazy")) ("macro-debugger" . #s(pkg-info (catalog "macro-debugger") "448277bb97132d25236deb785dce8c81933235d2" #t)) ("macro-debugger-text-lib" . #s(pkg-info (catalog "macro-debugger-text-lib") "0549dc476d9f071569d59359dbe6e4039f8af250" #t)) ("main-distribution" . #s(pkg-info (catalog "main-distribution") "3d0f4e0314c4b437feb7c3b86ff69cf20ad1e0f0" #f)) ("make" . #s((sc-pkg-info pkg-info 3) (catalog "make") "93e3f1b4144e3a04392b753cedc34c7c49e63fe5" #t "make")) ("math" . #s(pkg-info (catalog "math") "bc288b3ed293e90ef3a4eb05971d388265dc7065" #t)) ("math-doc" . #s(pkg-info (catalog "math-doc") "119b215101c0f1f82b6d28e06f5288812f38f2c3" #t)) ("math-lib" . #s(pkg-info (catalog "math-lib") "4e159abc47c306364ad02549853c1ddf82d6f8a2" #t)) ("mysterx" . #s((sc-pkg-info pkg-info 3) (catalog "mysterx") "23487c08b23cb7d965b97b0c45e6e3553854b869" #t "mysterx")) ("mzcom" . #s((sc-pkg-info pkg-info 3) (catalog "mzcom") "ac97bd1dc80a2f867d17f75254a8bbb9faa24afd" #t "mzcom")) ("mzscheme" . #s(pkg-info (catalog "mzscheme") "2a45b98e73f899324f2c5678d93df74f1792d23c" #t)) ("mzscheme-doc" . #s(pkg-info (catalog "mzscheme-doc") "de48e8b819047025177fac06b6f254e6f939fd23" #t)) ("mzscheme-lib" . #s(pkg-info (catalog "mzscheme-lib") "a6a2ec7fd0946a46c5368dbe1d7602419f8e7b53" #t)) ("net" . #s(pkg-info (catalog "net") "5df16fb466651bbb270a30296b1e8ee5f86af6fe" #t)) ("net-cookies" . #s(pkg-info (catalog "net-cookies") "51f6db09a36adbeb73e6bfc25bcd7d2123cc563e" #t)) ("net-cookies-doc" . #s(pkg-info (catalog "net-cookies-doc") "c1380af8407ce13dc993830db20250d7348117a8" #t)) ("net-cookies-lib" . #s(pkg-info (catalog "net-cookies-lib") "12f95b8fa1d9d562cd2bc7b499dd2fdc7111d122" #t)) ("net-doc" . #s(pkg-info (catalog "net-doc") "effd2e00136f037f9c524e25973ffa0b4b5f6ab8" #t)) ("net-lib" . #s(pkg-info (catalog "net-lib") "c0e7e3b3d55d067fa1fa3d13736877f33fe4fe76" #t)) ("optimization-coach" . #s(pkg-info (catalog "optimization-coach") "79ef3e4ec8de133f6f0b1838218b9478ba22d9bc" #t)) ("option-contract" . #s(pkg-info (catalog "option-contract") "14f8553d264972db98ecb25007f0c62f72c88837" #t)) ("option-contract-doc" . #s(pkg-info (catalog "option-contract-doc") "12d4da169785f5af1e8e38357713656385b4a75d" #t)) ("option-contract-lib" . #s(pkg-info (catalog "option-contract-lib") "f01bff6dccd0e6cf8721ac9cf3a819c5a9fd25b7" #t)) ("parser-tools" . #s(pkg-info (catalog "parser-tools") "7c90da6b7e8b13a5faed4d196f29f74d24c308a3" #t)) ("parser-tools-doc" . #s(pkg-info (catalog "parser-tools-doc") "d3d05e4f5f175f790775c835317034e8f6b6394e" #t)) ("parser-tools-lib" . #s(pkg-info (catalog "parser-tools-lib") "22eaaae7d2dc79755eaf96029554ebb48fb7ccaf" #t)) ("pconvert-lib" . #s(pkg-info (catalog "pconvert-lib") "cf75aa36ac881f36c9f845f9b3d5c75bb016caac" #t)) ("pict" . #s(pkg-info (catalog "pict") "b58b1e3ff96f16f62a8ca6e52efcf143d02c2552" #t)) ("pict-doc" . #s(pkg-info (catalog "pict-doc") "8e95db03fae67b105bd6afdce6c4dfcaf587c2c9" #t)) ("pict-lib" . #s(pkg-info (catalog "pict-lib") "2abed1569d91f15fa61d95e11f53d5cbbef610e1" #t)) ("pict-snip" . #s(pkg-info (catalog "pict-snip") "07039265dc698b136044724e4802b64517ba5209" #t)) ("pict-snip-doc" . #s(pkg-info (catalog "pict-snip-doc") "2453a4852fc2987b42f4ad4f6e92a1a448418db5" #t)) ("pict-snip-lib" . #s(pkg-info (catalog "pict-snip-lib") "28f4f45649589e010ab6c6cdc3e82ac9ff1fbe7f" #t)) ("picturing-programs" . #s(pkg-info (catalog "picturing-programs") "325870110f44e006c228f41619b5c77f331b82a1" #t)) ("plai" . #s(pkg-info (catalog "plai") "6ac6f533410efd33f655d51314228c77c83172ac" #t)) ("plai-doc" . #s((sc-pkg-info pkg-info 3) (catalog "plai-doc") "c8363060f66e1bd1ddc72c8271e86cf3fcbeff9e" #t "plai")) ("plai-lib" . #s((sc-pkg-info pkg-info 3) (catalog "plai-lib") "978f240e75c6ad1a4843a010fe250d9977e93339" #t "plai")) ("planet" . #s(pkg-info (catalog "planet") "e1a53854ddae4cf4eef667a91f3c944eb1481371" #t)) ("planet-doc" . #s(pkg-info (catalog "planet-doc") "0356d590361d2b909c717e97dc4f9eb2b567461a" #t)) ("planet-lib" . #s(pkg-info (catalog "planet-lib") "a0993c8b1c3ae0f08f75a6e70d785dfa3e7adf66" #t)) ("plot" . #s(pkg-info (catalog "plot") "898a4c570ed38396d684f260efa240d66accead9" #t)) ("plot-compat" . #s(pkg-info (catalog "plot-compat") "01b129e6ee41080f090c02054d07c7856ae2c06c" #t)) ("plot-doc" . #s(pkg-info (catalog "plot-doc") "70b006d5da401955e00000fcf6a3aacc296cd687" #t)) ("plot-gui-lib" . #s(pkg-info (catalog "plot-gui-lib") "57d49ac10de7a4d2520fe8a3c625eb91e6af8359" #t)) ("plot-lib" . #s(pkg-info (catalog "plot-lib") "84fecbb718ed024176c79f271f30579f5d753339" #t)) ("preprocessor" . #s((sc-pkg-info pkg-info 3) (catalog "preprocessor") "38fc7981a096322c67e4f7d9afac6f1fe664529e" #t "preprocessor")) ("profile" . #s(pkg-info (catalog "profile") "2183f9722eb2efbe2c8feb400b73602ad97fe221" #t)) ("profile-doc" . #s(pkg-info (catalog "profile-doc") "1d7c7dd2ad37e0d6c842cf30c7a01a631b18a39e" #t)) ("profile-lib" . #s((sc-pkg-info pkg-info 3) (catalog "profile-lib") "4eed8ba01f406d199604b3727c405c2bf368a617" #t "profile")) ("quickscript" . #s((sc-pkg-info pkg-info 3) (catalog "quickscript") "0c531a78067442fb5ac2b404f92c92427cff8bec" #t "quickscript")) ("r5rs" . #s(pkg-info (catalog "r5rs") "febae235a352df6df59a2e2c45b8658322793103" #t)) ("r5rs-doc" . #s(pkg-info (catalog "r5rs-doc") "3b842a310c928a0647b0c29cb3eabe215270f8e2" #t)) ("r5rs-lib" . #s(pkg-info (catalog "r5rs-lib") "9fcc4ebda67e44abd34e6c97a1448cd9a3947b77" #t)) ("r6rs" . #s(pkg-info (catalog "r6rs") "2ba0a84b06e7ab0ab49308fb6b58c23b29e39662" #t)) ("r6rs-doc" . #s(pkg-info (catalog "r6rs-doc") "972c5762a28dd773190c7aa46f9b972ac7c4c44e" #t)) ("r6rs-lib" . #s(pkg-info (catalog "r6rs-lib") "0a80a45a9666924b02b7e41002b3122b0b0606e3" #t)) ("racket-cheat" . #s((sc-pkg-info pkg-info 3) (catalog "racket-cheat") "11ef1c76f6459d0039e13cdc04326f5c54c28714" #t "racket-cheat")) ("racket-doc" . #s(pkg-info (catalog "racket-doc") "7c41f0b0ae91a7d77da4d4f15c2e5e2f6ab5c689" #t)) ("racket-index" . #s(pkg-info (catalog "racket-index") "ec294cafcf79f9a7034d02b4b3ff8c2e2a717622" #t)) ("racket-lib" . #s(pkg-info (catalog "racket-lib") "addde48592db0ba3db8686c37951f20c7112d368" #f)) ("racklog" . #s((sc-pkg-info pkg-info 3) (catalog "racklog") "a587b4aa82ff470e0646185cce033900e1bdafa8" #t "racklog")) ("rackunit" . #s(pkg-info (catalog "rackunit") "4b9de5253bfc93a4ba11e527bed3314d48ab0fc8" #t)) ("rackunit-doc" . #s(pkg-info (catalog "rackunit-doc") "26d22124d6eab4c79b73d778deef7b9bc73c2dec" #t)) ("rackunit-gui" . #s(pkg-info (catalog "rackunit-gui") "4cb8bc7487ff6bd55f653708d51f29fb75b490e2" #t)) ("rackunit-lib" . #s(pkg-info (catalog "rackunit-lib") "0069571fffeb268232fab1db7e9c6e8ea124f1ac" #t)) ("rackunit-plugin-lib" . #s(pkg-info (catalog "rackunit-plugin-lib") "a663951f3c13e3a6c0228949d97c6b2eef4a5b6c" #t)) ("rackunit-typed" . #s((sc-pkg-info pkg-info 3) (catalog "rackunit-typed") "d3ea39520e71e1fdcdaee0a4218575592c44a41a" #t "typed")) ("readline" . #s(pkg-info (catalog "readline") "4c7e66cd27cf4408832c87e3ee86df7a6eefa09d" #t)) ("readline-doc" . #s(pkg-info (catalog "readline-doc") "3bded5f74e621afb05b47f4fb05e455d8c2ee3f7" #t)) ("readline-lib" . #s(pkg-info (catalog "readline-lib") "a5182fa3edd32b9d63e6c355ccb372e0310a9d6d" #t)) ("realm" . #s((sc-pkg-info pkg-info 3) (catalog "realm") "f013fc3db6882ece583015d48f0ad8e1e971601d" #t "realm")) ("redex" . #s(pkg-info (catalog "redex") "57c8ddc62fd86b0ede08e92a7e47d35527768e99" #t)) ("redex-benchmark" . #s(pkg-info (catalog "redex-benchmark") "2433d94442a5f32f16d152656b168d1e6218aaa7" #t)) ("redex-doc" . #s(pkg-info (catalog "redex-doc") "6cedd1cfdc891d7ac3b46fcfe7767a4681443515" #t)) ("redex-examples" . #s(pkg-info (catalog "redex-examples") "98a38101bd790fa6bd8ff16ce8e2fb65245cb87c" #t)) ("redex-gui-lib" . #s(pkg-info (catalog "redex-gui-lib") "80083d5cded16afb0d45a59cdd655ddd396b8685" #t)) ("redex-lib" . #s(pkg-info (catalog "redex-lib") "04c6bc3954bf30293e0b5cfe76294a799e2f1aae" #t)) ("redex-pict-lib" . #s(pkg-info (catalog "redex-pict-lib") "9b13a5976edd63728d8914fc20bffb5ad981302f" #t)) ("sandbox-lib" . #s(pkg-info (catalog "sandbox-lib") "5b6080ff4052f881c343f6ccc847f860acb501a9" #t)) ("sasl" . #s((sc-pkg-info pkg-info 3) (catalog "sasl") "8dc49968c1ef11c5dd77f56c5979453a36d2c750" #t "sasl")) ("sasl-doc" . #s((sc-pkg-info pkg-info 3) (catalog "sasl-doc") "02b6cf131a97af9caa622a77592bb851f5d58fa3" #t "sasl")) ("sasl-lib" . #s((sc-pkg-info pkg-info 3) (catalog "sasl-lib") "d4ecdad04e42658a69d70d2f7d5eadae7ed7d16e" #t "sasl")) ("scheme-lib" . #s(pkg-info (catalog "scheme-lib") "22e71c59ac20b09cd156062ce0fb0afb86aaa851" #t)) ("schemeunit" . #s((sc-pkg-info pkg-info 3) (catalog "schemeunit") "03986b499744194a9e06a66dfe988bed9fb8cc40" #t "schemeunit")) ("scribble" . #s(pkg-info (catalog "scribble") "862cac10d6934b0dca35b4ebace9ffa0faa3a381" #t)) ("scribble-doc" . #s(pkg-info (catalog "scribble-doc") "fc38088b2924e7d902ceafc94243fd3ca2a52b45" #t)) ("scribble-html-lib" . #s(pkg-info (catalog "scribble-html-lib") "13105ce2064fa963c535187a657792e1ec95d284" #t)) ("scribble-lib" . #s(pkg-info (catalog "scribble-lib") "9be1c71d1c0f3f0d41031416689f012a16ba535a" #t)) ("scribble-text-lib" . #s(pkg-info (catalog "scribble-text-lib") "1d816dcc95b5f6d77ff6633b82a6dd40f7effe4e" #t)) ("serialize-cstruct-lib" . #s(pkg-info (catalog "serialize-cstruct-lib") "caeab596cb494273bcb84b917205a66bd06d0528" #t)) ("sgl" . #s((sc-pkg-info pkg-info 3) (catalog "sgl") "a2feb4952e01c7e02af068978ade81d0a213e035" #t "sgl")) ("shell-completion" . #s((sc-pkg-info pkg-info 3) (catalog "shell-completion") "900d6f81d7f78d17ac1789436c36a3314f09fcec" #t "shell-completion")) ("slatex" . #s((sc-pkg-info pkg-info 3) (catalog "slatex") "7a36270767b37d0336b4d72c7ca89140f395f9af" #t "slatex")) ("slideshow" . #s(pkg-info (catalog "slideshow") "62d9fa5b5fc8f1b82fb7acae427e474488fb1c2a" #t)) ("slideshow-doc" . #s(pkg-info (catalog "slideshow-doc") "d023178269517583e08ea3afc13bd8e867e86eaa" #t)) ("slideshow-exe" . #s(pkg-info (catalog "slideshow-exe") "4764478f8f62ba0a9d66ef064945af605cac48cc" #t)) ("slideshow-lib" . #s(pkg-info (catalog "slideshow-lib") "b7d301d8496d23dd950606d50a2c9565067f77f5" #t)) ("slideshow-plugin" . #s(pkg-info (catalog "slideshow-plugin") "50fe3549998180cf9391d355fce67c1b95fee846" #t)) ("snip" . #s(pkg-info (catalog "snip") "f6401933decce0674344953461fc80be6b600748" #t)) ("snip-lib" . #s(pkg-info (catalog "snip-lib") "8cf6a919d5d9021f782423b3712a0e73cf93842a" #t)) ("source-syntax" . #s((sc-pkg-info pkg-info 3) (catalog "source-syntax") "b6dde72b228b3e8e7da35fbc25cce395c8dce9cb" #t "syntax")) ("srfi" . #s(pkg-info (catalog "srfi") "810795b1c70213bba3e3f02c29c0ec0be774d551" #t)) ("srfi-doc" . #s(pkg-info (catalog "srfi-doc") "9bcb860c00d8023421c3ab3e2785ab8ee92b8f9d" #t)) ("srfi-doc-nonfree" . #s(pkg-info (catalog "srfi-doc-nonfree") "6ac01197bd6a33c21ff69684704e73739708d92c" #t)) ("srfi-lib" . #s(pkg-info (catalog "srfi-lib") "8dd9d951c94054ec60a4e1d59fa2c1a462e8fff6" #t)) ("srfi-lite-lib" . #s(pkg-info (catalog "srfi-lite-lib") "2a40a8ecf4a2368b6c84d8f0bdd1c72df4f3cc7f" #t)) ("string-constants" . #s(pkg-info (catalog "string-constants") "602234aee270ea040b993f8146548aa0c835ee41" #t)) ("string-constants-doc" . #s(pkg-info (catalog "string-constants-doc") "627c9a564c187d9dbd2a1c6de302e38ed8cd105e" #t)) ("string-constants-lib" . #s(pkg-info (catalog "string-constants-lib") "85764e7ecf8df819142221a84380340c23607e18" #t)) ("swindle" . #s((sc-pkg-info pkg-info 3) (catalog "swindle") "56793a3d43336a0dfc1fb6d4933a6a7d0a6f18a6" #t "swindle")) ("syntax-color" . #s(pkg-info (catalog "syntax-color") "0ab7c010c146aacbc26f81d73050e5dcb1ec44a4" #t)) ("syntax-color-doc" . #s(pkg-info (catalog "syntax-color-doc") "ebc23963c2f235893a2ae998311c439ca5f2de5e" #t)) ("syntax-color-lib" . #s(pkg-info (catalog "syntax-color-lib") "c496941837238109ebf69e6a2a3740136baf077e" #t)) ("testing-util-lib" . #s(pkg-info (catalog "testing-util-lib") "6ad76708f90cc3938a72d556458f92cde3e30578" #t)) ("tex-table" . #s((sc-pkg-info pkg-info 3) (catalog "tex-table") "c6127491120f723f26dbba30d217e4f2aeb12084" #t "mrlib")) ("trace" . #s((sc-pkg-info pkg-info 3) (catalog "trace") "953c7b5e344cfc8859006ffbfce4fdf360647d81" #t "trace")) ("typed-racket" . #s(pkg-info (catalog "typed-racket") "7896fb7492e6230f58d73d202ce9e6f77e3f98b7" #t)) ("typed-racket-compatibility" . #s(pkg-info (catalog "typed-racket-compatibility") "1bf2425d25d54c653d693290f41e9587847357a6" #t)) ("typed-racket-doc" . #s(pkg-info (catalog "typed-racket-doc") "d338099f40c47dbfb62f699206e99cfdfa7e32d6" #t)) ("typed-racket-lib" . #s(pkg-info (catalog "typed-racket-lib") "3eff82ebcceeab467c35cf19044013c83a47bd32" #t)) ("typed-racket-more" . #s(pkg-info (catalog "typed-racket-more") "600a695a0f59fe2740cf9e2080a13e25310a5114" #t)) ("unix-socket" . #s(pkg-info (catalog "unix-socket") "c015b6081883e19b3f1d2343bddca9895499832c" #t)) ("unix-socket-doc" . #s(pkg-info (catalog "unix-socket-doc") "b5d7f058cd0984aef1d8214968e79c202b972636" #t)) ("unix-socket-lib" . #s(pkg-info (catalog "unix-socket-lib") "e8d16e6cf98e03dc141ce410e7fddb83eb420e54" #t)) ("web-server" . #s(pkg-info (catalog "web-server") "9e01035046e279382ab2c1aa5c3f68d7533afd64" #t)) ("web-server-doc" . #s(pkg-info (catalog "web-server-doc") "afb48732580aaf70f2d13dc0f3115f25672a0fb6" #t)) ("web-server-lib" . #s(pkg-info (catalog "web-server-lib") "1fb4a0c9718b0e835d730f92289f9855018dfee3" #t)) ("wxme" . #s(pkg-info (catalog "wxme") "a56f70bd66b595d03baa8fb60046c3826b3abaaa" #t)) ("wxme-lib" . #s(pkg-info (catalog "wxme-lib") "75d7ad58da6d6fe5e3b5d81fe3f1e73b37460ae5" #t)) ("xrepl" . #s(pkg-info (catalog "xrepl") "c577bf792fde613ada8dc08f3b76b9daf3fc6814" #t)) ("xrepl-doc" . #s(pkg-info (catalog "xrepl-doc") "1724207363217dc4e931ac92e017c594a7a2a44b" #t)) ("xrepl-lib" . #s(pkg-info (catalog "xrepl-lib") "829e38b7ffcd0508842871b5aa354a531ddee4fa" #t)) ("zo-lib" . #s(pkg-info (catalog "zo-lib") "0f00c96ccaf933002e5c1e9f6b9e8856cbcd04eb" #t))) ++#hash(("2d" . #s(pkg-info (catalog "2d") "fc82a7bd227d7f3b8852351fc6bf34948a7750b8" #t)) ("2d-doc" . #s((sc-pkg-info pkg-info 3) (catalog "2d-doc") "209614ab3da685f46ece52c2efdf976f1e7697b1" #t "2d")) ("2d-lib" . #s((sc-pkg-info pkg-info 3) (catalog "2d-lib") "8f5dd908df23ee2a698b178971be4e18d1937393" #t "2d")) ("algol60" . #s((sc-pkg-info pkg-info 3) (catalog "algol60") "5a67faec1e3f59e98d5d5c4ee4687a9e9a34962f" #t "algol60")) ("at-exp-lib" . #s(pkg-info (catalog "at-exp-lib") "68787a39b1d862726969eb03e54c6fcbab05d8d4" #t)) ("base" . #s(pkg-info (catalog "base") "249d2a371f12382b1360dd7a77702fb28551133b" #t)) ("cext-lib" . #s(pkg-info (catalog "cext-lib") "1ce5c3f8ef512216a402de1e139a242cf6593999" #t)) ("class-iop-lib" . #s(pkg-info (catalog "class-iop-lib") "29c5747600fa93d2dac540e3381291e45fa09300" #t)) ("compatibility" . #s(pkg-info (catalog "compatibility") "0fd2da43b30b0f27aaafa5d67af21ddf7fe02dd6" #t)) ("compatibility-doc" . #s(pkg-info (catalog "compatibility-doc") "fee62d07a8e143615c24f365c7c48c30e1eebe8c" #t)) ("compatibility-lib" . #s(pkg-info (catalog "compatibility-lib") "8d1011f2f86192a07714e4088ff5e23ca794471a" #t)) ("compiler" . #s(pkg-info (catalog "compiler") "b1a38a648d3cb1adaca66e1d9fb2a3636421f4f8" #t)) ("compiler-lib" . #s(pkg-info (catalog "compiler-lib") "b60403b4873befa5811e5fabb65970a24e0bb950" #t)) ("contract-profile" . #s((sc-pkg-info pkg-info 3) (catalog "contract-profile") "001eec9d842dcd35b6f082934e614ba86a2ab4c0" #t "contract-profile")) ("data" . #s(pkg-info (catalog "data") "98ef519ebf74d40ba645d00933e47fa0a516c96f" #t)) ("data-doc" . #s(pkg-info (catalog "data-doc") "ebfdbebb77721a087efc803f30bec6afe2292097" #t)) ("data-enumerate-lib" . #s(pkg-info (catalog "data-enumerate-lib") "f70dcd6ce6d7b14d1f1cc76b908df7cb2fd61929" #t)) ("data-lib" . #s(pkg-info (catalog "data-lib") "7fb6940020f610c669df432877213bfe79caebc7" #t)) ("datalog" . #s((sc-pkg-info pkg-info 3) (catalog "datalog") "411342493d6022b7d74f7e13955dfdfcf6e62f91" #t "datalog")) ("db" . #s(pkg-info (catalog "db") "13af2037227b04af20e85e2fef78cc9686fc6e3d" #t)) ("db-doc" . #s(pkg-info (catalog "db-doc") "ed6cb9e0f165f5e390347d9a979f994c80e09e6a" #t)) ("db-lib" . #s(pkg-info (catalog "db-lib") "5c97b5ac2a3cf661d85cd7177029ce4686a9391e" #t)) ("deinprogramm" . #s(pkg-info (catalog "deinprogramm") "9e908294790f919de34f67ab3321f57a53f52e36" #t)) ("deinprogramm-signature" . #s(pkg-info (catalog "deinprogramm-signature") "433e0dc1f4f74ef73074ce1c387b06e9e260e212" #t)) ("distributed-places" . #s(pkg-info (catalog "distributed-places") "145c1cedf46768adf061fade24893965840f1643" #t)) ("distributed-places-doc" . #s(pkg-info (catalog "distributed-places-doc") "fda0badbab4441172b33ae31c3b2272ce59bcd3c" #t)) ("distributed-places-lib" . #s(pkg-info (catalog "distributed-places-lib") "db733a858f67c295196d3d5e62d4d1047dbe10c4" #t)) ("draw" . #s(pkg-info (catalog "draw") "1e57984e4a7e93fc30e6f42382b3bdf2d5162759" #t)) ("draw-doc" . #s(pkg-info (catalog "draw-doc") "e7348bde06b88e4261d46eeeb7a1b69cb1c4b5bb" #t)) ("draw-lib" . #s(pkg-info (catalog "draw-lib") "8343a0e4d9c082e2b5da7f36590f3d6f81a90815" #t)) ("drracket" . #s(pkg-info (catalog "drracket") "0233b83af527c6866ce458d5869c02f1c3148569" #t)) ("drracket-plugin-lib" . #s(pkg-info (catalog "drracket-plugin-lib") "c4715aa5984bf8dfe48d44038b4eb81525f7cac7" #t)) ("drracket-tool" . #s(pkg-info (catalog "drracket-tool") "93dcb297ed4ad62cf4605d632da64023bdfc1e69" #t)) ("drracket-tool-doc" . #s(pkg-info (catalog "drracket-tool-doc") "f44fa4ef2a14aaff04d3b26d5b4a701678e42b68" #t)) ("drracket-tool-lib" . #s(pkg-info (catalog "drracket-tool-lib") "f3ca7e15b2592b40c4aaf734cf00126d71e0876d" #t)) ("ds-store" . #s((sc-pkg-info pkg-info 3) (catalog "ds-store") "f3b74900e431d9ca6ee1038fb7dd1e08d759b009" #t "ds-store")) ("ds-store-doc" . #s((sc-pkg-info pkg-info 3) (catalog "ds-store-doc") "06b754e0bc7ed6bd6ebf26b8ab4b3ae223ff9e3d" #t "ds-store")) ("ds-store-lib" . #s((sc-pkg-info pkg-info 3) (catalog "ds-store-lib") "517b5f727a5df1d7230cfeae5c208433d9717d2a" #t "ds-store")) ("dynext-lib" . #s(pkg-info (catalog "dynext-lib") "6327a91cf80c504524e1de84f2613263e62da80e" #t)) ("eli-tester" . #s(pkg-info (catalog "eli-tester") "0c9bfc31ad180898a7f10af252009084b0de30eb" #t)) ("eopl" . #s((sc-pkg-info pkg-info 3) (catalog "eopl") "b7725c60cac4f51be2fefef5bc393857c07dc0af" #t "eopl")) ("errortrace" . #s(pkg-info (catalog "errortrace") "f8d7f00c7dacc7d1bb2bc99c76129798319881e7" #t)) ("errortrace-doc" . #s(pkg-info (catalog "errortrace-doc") "aea79310a7f250d43325f82467b4c4126338a425" #t)) ("errortrace-lib" . #s(pkg-info (catalog "errortrace-lib") "0b7417f006208d6c8fb5f4fa61e1099a970f1fc2" #t)) ("frtime" . #s((sc-pkg-info pkg-info 3) (catalog "frtime") "83bf86eb4a5f6b1a2f53ac8f7b0c265ca8e27839" #t "frtime")) ("future-visualizer" . #s(pkg-info (catalog "future-visualizer") "76bc592353681f3d673841d65230deecd901ee8f" #t)) ("future-visualizer-typed" . #s(pkg-info (catalog "future-visualizer-typed") "a1698d4264a5267ac49b2451211e3391216a4e82" #t)) ("games" . #s((sc-pkg-info pkg-info 3) (catalog "games") "0ad78fb4ec37b6f19435b7599a566c1bb2e5847c" #t "games")) ("gui" . #s(pkg-info (catalog "gui") "a74759a9030789bdea8a324bd69cad5e162c5937" #t)) ("gui-doc" . #s(pkg-info (catalog "gui-doc") "e79b96b5ded5e81a5beeb33d905d7e7ccd893074" #t)) ("gui-lib" . #s(pkg-info (catalog "gui-lib") "35c5e9a5dd69ba6839210d49e6c967ba418e9cc4" #t)) ("gui-pkg-manager-lib" . #s(pkg-info (catalog "gui-pkg-manager-lib") "1e0d8a3f2a60642e785c0459108f1be6034dbcb1" #t)) ("htdp" . #s(pkg-info (catalog "htdp") "6e222eff85bae1b326f4282d8b82fc5c83202cfe" #t)) ("htdp-doc" . #s(pkg-info (catalog "htdp-doc") "e5892b0ae846f64e997e34ae2afb165b35f290b9" #t)) ("htdp-lib" . #s(pkg-info (catalog "htdp-lib") "1f18bce701e14d76fa2e4f14f8cded185b00a66d" #t)) ("html" . #s(pkg-info (catalog "html") "59ab0bddd4935969e2af0469ad48a9c30f33ef60" #t)) ("html-doc" . #s(pkg-info (catalog "html-doc") "3cd2a18da0b91b209d196f0cf669f2e59829d2bc" #t)) ("html-lib" . #s(pkg-info (catalog "html-lib") "2b17b0447932ee0a5287581269d24b5e3e9dcbb5" #t)) ("icons" . #s((sc-pkg-info pkg-info 3) (catalog "icons") "77e8f436f370ce8d88aa39622c5921664b56845b" #t "icons")) ("images" . #s(pkg-info (catalog "images") "98c6a0e120eb1115db9d376759b245db0591b07b" #t)) ("images-doc" . #s(pkg-info (catalog "images-doc") "99e114a7c7e234b6eaa23f99f863d03986bd62b5" #t)) ("images-gui-lib" . #s(pkg-info (catalog "images-gui-lib") "fef0ec840d82ed975370087fdcb049e0cce8e339" #t)) ("images-lib" . #s(pkg-info (catalog "images-lib") "9dcdc2e2388c63063a4a161e09585119d8d18e88" #t)) ("lazy" . #s((sc-pkg-info pkg-info 3) (catalog "lazy") "8038fc1a353a1618a5c19feecd7de1150719a9fc" #t "lazy")) ("macro-debugger" . #s(pkg-info (catalog "macro-debugger") "448277bb97132d25236deb785dce8c81933235d2" #t)) ("macro-debugger-text-lib" . #s(pkg-info (catalog "macro-debugger-text-lib") "0549dc476d9f071569d59359dbe6e4039f8af250" #t)) ("main-distribution" . #s(pkg-info (catalog "main-distribution") "3d0f4e0314c4b437feb7c3b86ff69cf20ad1e0f0" #f)) ("make" . #s((sc-pkg-info pkg-info 3) (catalog "make") "93e3f1b4144e3a04392b753cedc34c7c49e63fe5" #t "make")) ("math" . #s(pkg-info (catalog "math") "bc288b3ed293e90ef3a4eb05971d388265dc7065" #t)) ("math-doc" . #s(pkg-info (catalog "math-doc") "119b215101c0f1f82b6d28e06f5288812f38f2c3" #t)) ("math-lib" . #s(pkg-info (catalog "math-lib") "4e159abc47c306364ad02549853c1ddf82d6f8a2" #t)) ("mysterx" . #s((sc-pkg-info pkg-info 3) (catalog "mysterx") "23487c08b23cb7d965b97b0c45e6e3553854b869" #t "mysterx")) ("mzcom" . #s((sc-pkg-info pkg-info 3) (catalog "mzcom") "ac97bd1dc80a2f867d17f75254a8bbb9faa24afd" #t "mzcom")) ("mzscheme" . #s(pkg-info (catalog "mzscheme") "2a45b98e73f899324f2c5678d93df74f1792d23c" #t)) ("mzscheme-doc" . #s(pkg-info (catalog "mzscheme-doc") "de48e8b819047025177fac06b6f254e6f939fd23" #t)) ("mzscheme-lib" . #s(pkg-info (catalog "mzscheme-lib") "a6a2ec7fd0946a46c5368dbe1d7602419f8e7b53" #t)) ("net" . #s(pkg-info (catalog "net") "5df16fb466651bbb270a30296b1e8ee5f86af6fe" #t)) ("net-cookies" . #s(pkg-info (catalog "net-cookies") "51f6db09a36adbeb73e6bfc25bcd7d2123cc563e" #t)) ("net-cookies-doc" . #s(pkg-info (catalog "net-cookies-doc") "c1380af8407ce13dc993830db20250d7348117a8" #t)) ("net-cookies-lib" . #s(pkg-info (catalog "net-cookies-lib") "12f95b8fa1d9d562cd2bc7b499dd2fdc7111d122" #t)) ("net-doc" . #s(pkg-info (catalog "net-doc") "effd2e00136f037f9c524e25973ffa0b4b5f6ab8" #t)) ("net-lib" . #s(pkg-info (catalog "net-lib") "c0e7e3b3d55d067fa1fa3d13736877f33fe4fe76" #t)) ("optimization-coach" . #s(pkg-info (catalog "optimization-coach") "79ef3e4ec8de133f6f0b1838218b9478ba22d9bc" #t)) ("option-contract" . #s(pkg-info (catalog "option-contract") "14f8553d264972db98ecb25007f0c62f72c88837" #t)) ("option-contract-doc" . #s(pkg-info (catalog "option-contract-doc") "12d4da169785f5af1e8e38357713656385b4a75d" #t)) ("option-contract-lib" . #s(pkg-info (catalog "option-contract-lib") "f01bff6dccd0e6cf8721ac9cf3a819c5a9fd25b7" #t)) ("parser-tools" . #s(pkg-info (catalog "parser-tools") "7c90da6b7e8b13a5faed4d196f29f74d24c308a3" #t)) ("parser-tools-doc" . #s(pkg-info (catalog "parser-tools-doc") "d3d05e4f5f175f790775c835317034e8f6b6394e" #t)) ("parser-tools-lib" . #s(pkg-info (catalog "parser-tools-lib") "22eaaae7d2dc79755eaf96029554ebb48fb7ccaf" #t)) ("pconvert-lib" . #s(pkg-info (catalog "pconvert-lib") "cf75aa36ac881f36c9f845f9b3d5c75bb016caac" #t)) ("pict" . #s(pkg-info (catalog "pict") "b58b1e3ff96f16f62a8ca6e52efcf143d02c2552" #t)) ("pict-doc" . #s(pkg-info (catalog "pict-doc") "8e95db03fae67b105bd6afdce6c4dfcaf587c2c9" #t)) ("pict-lib" . #s(pkg-info (catalog "pict-lib") "2abed1569d91f15fa61d95e11f53d5cbbef610e1" #t)) ("pict-snip" . #s(pkg-info (catalog "pict-snip") "07039265dc698b136044724e4802b64517ba5209" #t)) ("pict-snip-doc" . #s(pkg-info (catalog "pict-snip-doc") "2453a4852fc2987b42f4ad4f6e92a1a448418db5" #t)) ("pict-snip-lib" . #s(pkg-info (catalog "pict-snip-lib") "28f4f45649589e010ab6c6cdc3e82ac9ff1fbe7f" #t)) ("picturing-programs" . #s(pkg-info (catalog "picturing-programs") "325870110f44e006c228f41619b5c77f331b82a1" #t)) ("plai" . #s(pkg-info (catalog "plai") "6ac6f533410efd33f655d51314228c77c83172ac" #t)) ("plai-doc" . #s((sc-pkg-info pkg-info 3) (catalog "plai-doc") "c8363060f66e1bd1ddc72c8271e86cf3fcbeff9e" #t "plai")) ("plai-lib" . #s((sc-pkg-info pkg-info 3) (catalog "plai-lib") "978f240e75c6ad1a4843a010fe250d9977e93339" #t "plai")) ("planet" . #s(pkg-info (catalog "planet") "e1a53854ddae4cf4eef667a91f3c944eb1481371" #t)) ("planet-doc" . #s(pkg-info (catalog "planet-doc") "0356d590361d2b909c717e97dc4f9eb2b567461a" #t)) ("planet-lib" . #s(pkg-info (catalog "planet-lib") "a0993c8b1c3ae0f08f75a6e70d785dfa3e7adf66" #t)) ("plot" . #s(pkg-info (catalog "plot") "898a4c570ed38396d684f260efa240d66accead9" #t)) ("plot-compat" . #s(pkg-info (catalog "plot-compat") "01b129e6ee41080f090c02054d07c7856ae2c06c" #t)) ("plot-doc" . #s(pkg-info (catalog "plot-doc") "70b006d5da401955e00000fcf6a3aacc296cd687" #t)) ("plot-gui-lib" . #s(pkg-info (catalog "plot-gui-lib") "57d49ac10de7a4d2520fe8a3c625eb91e6af8359" #t)) ("plot-lib" . #s(pkg-info (catalog "plot-lib") "84fecbb718ed024176c79f271f30579f5d753339" #t)) ("preprocessor" . #s((sc-pkg-info pkg-info 3) (catalog "preprocessor") "38fc7981a096322c67e4f7d9afac6f1fe664529e" #t "preprocessor")) ("profile" . #s(pkg-info (catalog "profile") "2183f9722eb2efbe2c8feb400b73602ad97fe221" #t)) ("profile-doc" . #s(pkg-info (catalog "profile-doc") "1d7c7dd2ad37e0d6c842cf30c7a01a631b18a39e" #t)) ("profile-lib" . #s((sc-pkg-info pkg-info 3) (catalog "profile-lib") "4eed8ba01f406d199604b3727c405c2bf368a617" #t "profile")) ("quickscript" . #s((sc-pkg-info pkg-info 3) (catalog "quickscript") "0c531a78067442fb5ac2b404f92c92427cff8bec" #t "quickscript")) ("r5rs" . #s(pkg-info (catalog "r5rs") "febae235a352df6df59a2e2c45b8658322793103" #t)) ("r5rs-doc" . #s(pkg-info (catalog "r5rs-doc") "3b842a310c928a0647b0c29cb3eabe215270f8e2" #t)) ("r5rs-lib" . #s(pkg-info (catalog "r5rs-lib") "9fcc4ebda67e44abd34e6c97a1448cd9a3947b77" #t)) ("r6rs" . #s(pkg-info (catalog "r6rs") "2ba0a84b06e7ab0ab49308fb6b58c23b29e39662" #t)) ("r6rs-doc" . #s(pkg-info (catalog "r6rs-doc") "972c5762a28dd773190c7aa46f9b972ac7c4c44e" #t)) ("r6rs-lib" . #s(pkg-info (catalog "r6rs-lib") "0a80a45a9666924b02b7e41002b3122b0b0606e3" #t)) ("racket-cheat" . #s((sc-pkg-info pkg-info 3) (catalog "racket-cheat") "11ef1c76f6459d0039e13cdc04326f5c54c28714" #t "racket-cheat")) ("racket-doc" . #s(pkg-info (catalog "racket-doc") "7c41f0b0ae91a7d77da4d4f15c2e5e2f6ab5c689" #t)) ("racket-index" . #s(pkg-info (catalog "racket-index") "ec294cafcf79f9a7034d02b4b3ff8c2e2a717622" #t)) ("racket-lib" . #s(pkg-info (catalog "racket-lib") "addde48592db0ba3db8686c37951f20c7112d368" #f)) ("racklog" . #s((sc-pkg-info pkg-info 3) (catalog "racklog") "a587b4aa82ff470e0646185cce033900e1bdafa8" #t "racklog")) ("rackunit" . #s(pkg-info (catalog "rackunit") "4b9de5253bfc93a4ba11e527bed3314d48ab0fc8" #t)) ("rackunit-doc" . #s(pkg-info (catalog "rackunit-doc") "26d22124d6eab4c79b73d778deef7b9bc73c2dec" #t)) ("rackunit-gui" . #s(pkg-info (catalog "rackunit-gui") "4cb8bc7487ff6bd55f653708d51f29fb75b490e2" #t)) ("rackunit-lib" . #s(pkg-info (catalog "rackunit-lib") "0069571fffeb268232fab1db7e9c6e8ea124f1ac" #t)) ("rackunit-plugin-lib" . #s(pkg-info (catalog "rackunit-plugin-lib") "a663951f3c13e3a6c0228949d97c6b2eef4a5b6c" #t)) ("rackunit-typed" . #s((sc-pkg-info pkg-info 3) (catalog "rackunit-typed") "d3ea39520e71e1fdcdaee0a4218575592c44a41a" #t "typed")) ("readline" . #s(pkg-info (catalog "readline") "4c7e66cd27cf4408832c87e3ee86df7a6eefa09d" #t)) ("readline-doc" . #s(pkg-info (catalog "readline-doc") "3bded5f74e621afb05b47f4fb05e455d8c2ee3f7" #t)) ("readline-lib" . #s(pkg-info (catalog "readline-lib") "a5182fa3edd32b9d63e6c355ccb372e0310a9d6d" #t)) ("realm" . #s((sc-pkg-info pkg-info 3) (catalog "realm") "f013fc3db6882ece583015d48f0ad8e1e971601d" #t "realm")) ("redex" . #s(pkg-info (catalog "redex") "57c8ddc62fd86b0ede08e92a7e47d35527768e99" #t)) ("redex-benchmark" . #s(pkg-info (catalog "redex-benchmark") "2433d94442a5f32f16d152656b168d1e6218aaa7" #t)) ("redex-doc" . #s(pkg-info (catalog "redex-doc") "6cedd1cfdc891d7ac3b46fcfe7767a4681443515" #t)) ("redex-examples" . #s(pkg-info (catalog "redex-examples") "98a38101bd790fa6bd8ff16ce8e2fb65245cb87c" #t)) ("redex-gui-lib" . #s(pkg-info (catalog "redex-gui-lib") "80083d5cded16afb0d45a59cdd655ddd396b8685" #t)) ("redex-lib" . #s(pkg-info (catalog "redex-lib") "04c6bc3954bf30293e0b5cfe76294a799e2f1aae" #t)) ("redex-pict-lib" . #s(pkg-info (catalog "redex-pict-lib") "9b13a5976edd63728d8914fc20bffb5ad981302f" #t)) ("sandbox-lib" . #s(pkg-info (catalog "sandbox-lib") "5b6080ff4052f881c343f6ccc847f860acb501a9" #t)) ("sasl" . #s((sc-pkg-info pkg-info 3) (catalog "sasl") "8dc49968c1ef11c5dd77f56c5979453a36d2c750" #t "sasl")) ("sasl-doc" . #s((sc-pkg-info pkg-info 3) (catalog "sasl-doc") "02b6cf131a97af9caa622a77592bb851f5d58fa3" #t "sasl")) ("sasl-lib" . #s((sc-pkg-info pkg-info 3) (catalog "sasl-lib") "d4ecdad04e42658a69d70d2f7d5eadae7ed7d16e" #t "sasl")) ("scheme-lib" . #s(pkg-info (catalog "scheme-lib") "22e71c59ac20b09cd156062ce0fb0afb86aaa851" #t)) ("schemeunit" . #s((sc-pkg-info pkg-info 3) (catalog "schemeunit") "03986b499744194a9e06a66dfe988bed9fb8cc40" #t "schemeunit")) ("scribble" . #s(pkg-info (catalog "scribble") "862cac10d6934b0dca35b4ebace9ffa0faa3a381" #t)) ("scribble-doc" . #s(pkg-info (catalog "scribble-doc") "fc38088b2924e7d902ceafc94243fd3ca2a52b45" #t)) ("scribble-html-lib" . #s(pkg-info (catalog "scribble-html-lib") "13105ce2064fa963c535187a657792e1ec95d284" #t)) ("scribble-lib" . #s(pkg-info (catalog "scribble-lib") "9be1c71d1c0f3f0d41031416689f012a16ba535a" #t)) ("scribble-text-lib" . #s(pkg-info (catalog "scribble-text-lib") "1d816dcc95b5f6d77ff6633b82a6dd40f7effe4e" #t)) ("serialize-cstruct-lib" . #s(pkg-info (catalog "serialize-cstruct-lib") "caeab596cb494273bcb84b917205a66bd06d0528" #t)) ("sgl" . #s((sc-pkg-info pkg-info 3) (catalog "sgl") "a2feb4952e01c7e02af068978ade81d0a213e035" #t "sgl")) ("shell-completion" . #s((sc-pkg-info pkg-info 3) (catalog "shell-completion") "900d6f81d7f78d17ac1789436c36a3314f09fcec" #t "shell-completion")) ("slatex" . #s((sc-pkg-info pkg-info 3) (catalog "slatex") "7a36270767b37d0336b4d72c7ca89140f395f9af" #t "slatex")) ("slideshow" . #s(pkg-info (catalog "slideshow") "62d9fa5b5fc8f1b82fb7acae427e474488fb1c2a" #t)) ("slideshow-doc" . #s(pkg-info (catalog "slideshow-doc") "d023178269517583e08ea3afc13bd8e867e86eaa" #t)) ("slideshow-exe" . #s(pkg-info (catalog "slideshow-exe") "4764478f8f62ba0a9d66ef064945af605cac48cc" #t)) ("slideshow-lib" . #s(pkg-info (catalog "slideshow-lib") "b7d301d8496d23dd950606d50a2c9565067f77f5" #t)) ("slideshow-plugin" . #s(pkg-info (catalog "slideshow-plugin") "50fe3549998180cf9391d355fce67c1b95fee846" #t)) ("snip" . #s(pkg-info (catalog "snip") "f6401933decce0674344953461fc80be6b600748" #t)) ("snip-lib" . #s(pkg-info (catalog "snip-lib") "8cf6a919d5d9021f782423b3712a0e73cf93842a" #t)) ("source-syntax" . #s((sc-pkg-info pkg-info 3) (catalog "source-syntax") "b6dde72b228b3e8e7da35fbc25cce395c8dce9cb" #t "syntax")) ("srfi" . #s(pkg-info (catalog "srfi") "810795b1c70213bba3e3f02c29c0ec0be774d551" #t)) ("srfi-doc" . #s(pkg-info (catalog "srfi-doc") "9bcb860c00d8023421c3ab3e2785ab8ee92b8f9d" #t)) ("srfi-lib" . #s(pkg-info (catalog "srfi-lib") "8dd9d951c94054ec60a4e1d59fa2c1a462e8fff6" #t)) ("srfi-lite-lib" . #s(pkg-info (catalog "srfi-lite-lib") "2a40a8ecf4a2368b6c84d8f0bdd1c72df4f3cc7f" #t)) ("string-constants" . #s(pkg-info (catalog "string-constants") "602234aee270ea040b993f8146548aa0c835ee41" #t)) ("string-constants-doc" . #s(pkg-info (catalog "string-constants-doc") "627c9a564c187d9dbd2a1c6de302e38ed8cd105e" #t)) ("string-constants-lib" . #s(pkg-info (catalog "string-constants-lib") "85764e7ecf8df819142221a84380340c23607e18" #t)) ("swindle" . #s((sc-pkg-info pkg-info 3) (catalog "swindle") "56793a3d43336a0dfc1fb6d4933a6a7d0a6f18a6" #t "swindle")) ("syntax-color" . #s(pkg-info (catalog "syntax-color") "0ab7c010c146aacbc26f81d73050e5dcb1ec44a4" #t)) ("syntax-color-doc" . #s(pkg-info (catalog "syntax-color-doc") "ebc23963c2f235893a2ae998311c439ca5f2de5e" #t)) ("syntax-color-lib" . #s(pkg-info (catalog "syntax-color-lib") "c496941837238109ebf69e6a2a3740136baf077e" #t)) ("testing-util-lib" . #s(pkg-info (catalog "testing-util-lib") "6ad76708f90cc3938a72d556458f92cde3e30578" #t)) ("tex-table" . #s((sc-pkg-info pkg-info 3) (catalog "tex-table") "c6127491120f723f26dbba30d217e4f2aeb12084" #t "mrlib")) ("trace" . #s((sc-pkg-info pkg-info 3) (catalog "trace") "953c7b5e344cfc8859006ffbfce4fdf360647d81" #t "trace")) ("typed-racket" . #s(pkg-info (catalog "typed-racket") "7896fb7492e6230f58d73d202ce9e6f77e3f98b7" #t)) ("typed-racket-compatibility" . #s(pkg-info (catalog "typed-racket-compatibility") "1bf2425d25d54c653d693290f41e9587847357a6" #t)) ("typed-racket-doc" . #s(pkg-info (catalog "typed-racket-doc") "d338099f40c47dbfb62f699206e99cfdfa7e32d6" #t)) ("typed-racket-lib" . #s(pkg-info (catalog "typed-racket-lib") "3eff82ebcceeab467c35cf19044013c83a47bd32" #t)) ("typed-racket-more" . #s(pkg-info (catalog "typed-racket-more") "600a695a0f59fe2740cf9e2080a13e25310a5114" #t)) ("unix-socket" . #s(pkg-info (catalog "unix-socket") "c015b6081883e19b3f1d2343bddca9895499832c" #t)) ("unix-socket-doc" . #s(pkg-info (catalog "unix-socket-doc") "b5d7f058cd0984aef1d8214968e79c202b972636" #t)) ("unix-socket-lib" . #s(pkg-info (catalog "unix-socket-lib") "e8d16e6cf98e03dc141ce410e7fddb83eb420e54" #t)) ("web-server" . #s(pkg-info (catalog "web-server") "9e01035046e279382ab2c1aa5c3f68d7533afd64" #t)) ("web-server-doc" . #s(pkg-info (catalog "web-server-doc") "afb48732580aaf70f2d13dc0f3115f25672a0fb6" #t)) ("web-server-lib" . #s(pkg-info (catalog "web-server-lib") "1fb4a0c9718b0e835d730f92289f9855018dfee3" #t)) ("wxme" . #s(pkg-info (catalog "wxme") "a56f70bd66b595d03baa8fb60046c3826b3abaaa" #t)) ("wxme-lib" . #s(pkg-info (catalog "wxme-lib") "75d7ad58da6d6fe5e3b5d81fe3f1e73b37460ae5" #t)) ("xrepl" . #s(pkg-info (catalog "xrepl") "c577bf792fde613ada8dc08f3b76b9daf3fc6814" #t)) ("xrepl-doc" . #s(pkg-info (catalog "xrepl-doc") "1724207363217dc4e931ac92e017c594a7a2a44b" #t)) ("xrepl-lib" . #s(pkg-info (catalog "xrepl-lib") "829e38b7ffcd0508842871b5aa354a531ddee4fa" #t)) ("zo-lib" . #s(pkg-info (catalog "zo-lib") "0f00c96ccaf933002e5c1e9f6b9e8856cbcd04eb" #t))) +diff -urN racket-7.4-orig/share/pkgs/srfi/info.rkt racket-7.4-remove-nonfree/share/pkgs/srfi/info.rkt +--- racket-7.4-orig/share/pkgs/srfi/info.rkt 2019-08-03 23:24:08.000000000 -0400 ++++ racket-7.4-remove-nonfree/share/pkgs/srfi/info.rkt 2019-08-28 09:26:35.582382386 -0400 +@@ -1 +1 @@ +-(module info setup/infotab (#%module-begin (define package-content-state (quote (built "7.4"))) (define collection (quote multi)) (define deps (quote ("srfi-lib" "srfi-doc" "srfi-doc-nonfree"))) (define implies (quote ("srfi-lib" "srfi-doc" "srfi-doc-nonfree"))) (define pkg-desc "Legacy SRFI (Scheme) libraries") (define pkg-authors (quote (mflatt noel chongkai jay))))) ++(module info setup/infotab (#%module-begin (define package-content-state (quote (built "7.4"))) (define collection (quote multi)) (define deps (quote ("srfi-lib" "srfi-doc"))) (define implies (quote ("srfi-lib" "srfi-doc"))) (define pkg-desc "Legacy SRFI (Scheme) libraries") (define pkg-authors (quote (mflatt noel chongkai jay))))) +diff -urN racket-7.4-orig/share/pkgs/srfi-doc-nonfree/info.rkt racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/info.rkt +--- racket-7.4-orig/share/pkgs/srfi-doc-nonfree/info.rkt 2019-08-03 23:24:10.000000000 -0400 ++++ racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/info.rkt 1969-12-31 19:00:00.000000000 -0500 +@@ -1 +0,0 @@ +-(module info setup/infotab (#%module-begin (define package-content-state (quote (built "7.4"))) (define collection (quote multi)) (define build-deps (quote ("mzscheme-doc" "scheme-lib" "base" "scribble-lib" "srfi-doc" "racket-doc" "r5rs-doc" "r6rs-doc" "compatibility-lib"))) (define pkg-desc "non-free documentation for "srfi-lib"") (define pkg-authors (quote (mflatt noel chongkai jay))))) +diff -urN racket-7.4-orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/info.rkt racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/srfi/scribblings/info.rkt +--- racket-7.4-orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/info.rkt 2019-08-03 21:32:26.000000000 -0400 ++++ racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/srfi/scribblings/info.rkt 1969-12-31 19:00:00.000000000 -0500 +@@ -1,3 +0,0 @@ +-#lang info +- +-(define scribblings '(("srfi-nf.scrbl" (multi-page) (library 100)))) +diff -urN racket-7.4-orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-nf.scrbl racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-nf.scrbl +--- racket-7.4-orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-nf.scrbl 2019-08-03 21:32:26.000000000 -0400 ++++ racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-nf.scrbl 1969-12-31 19:00:00.000000000 -0500 +@@ -1,68 +0,0 @@ +-#lang scribble/doc +-@(require srfi/scribblings/util +- scribble/manual +- scribble/eval +- scriblib/render-cond +- scribble/core +- scribble/html-properties +- (for-syntax scheme/base) +- (for-label scheme/base +- racket/stream)) +- +-@; ---------------------------------------------------------------------- +- +-@title{SRFI Nonfree Libraries and Documentation} +- +-The @link[#:style srfi-std "http://srfi.schemers.org/%22%5D%7BScheme Requests for +-Implementation} (a.k.a. @deftech{SRFI}) process allows individual +-members of the Scheme community to propose libraries and extensions to +-be supported by multiple Scheme implementations. +- +-Racket is distributed with implementations of many SRFIs, most of +-which can be implemented as libraries. To import the bindings of SRFI +-@math{n}, use +- +-@racketblock[ +-(require @#,elem{@racketidfont{srfi/}@math{n}}) +-] +- +-This document lists the SRFIs that are supported by Racket and +-provides a link to the original SRFI specification (which is also +-distributed as part of Racket's documentation). +- +-The following SRFI specification documents are licensed restrictively. +- +-@table-of-contents[] +- +- +-@; ---------------------------------------- +- +-@srfi[5]{A compatible let form with signatures and rest arguments} +- +-@redirect[5 '( +- (let #t "unnamed") +-)] +- +-Racket provides a free implementation of this SRFI in the @racket[srfi-lib] package. +-Only the SRFI specification document is nonfree. +- +-@; ---------------------------------------- +- +-@srfi[29]{Localization} +- +-@redirect[29 '( +- (current-language #f "current-language") +- (current-country #f "current-country") +- (current-locale-details #f "current-locale-details") +- (declare-bundle! #f "declare-bundle!") +- (store-bundle #f "store-bundle") +- (load-bundle! #f "load-bundle!") +- (localized-template #f "localized-template") +-)] +- +-Racket provides a free implementation of this SRFI in the @racket[srfi-lib] package. +-Only the SRFI specification document is nonfree. +- +-@; ---------------------------------------- +- +-@index-section[] +diff -urN racket-7.4-orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-29.html racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-29.html +--- racket-7.4-orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-29.html 2019-08-03 21:32:26.000000000 -0400 ++++ racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-29.html 1969-12-31 19:00:00.000000000 -0500 +@@ -1,507 +0,0 @@ +-<!DOCTYPE html PUBLIC "-//IETF//DTD HTML//EN"> +-<html> +- <head> +- <meta name="generator" content="HTML Tidy, see www.w3.org"> +- <title>SRFI 29: Localization</title> +- <meta name="author" content="Scott G. Miller"> +- <meta name="description" content="Localization"> +- </head> +- <body> +- <H1>Title</H1> +- +- SRFI 29: Localization +- +- <H1>Author</H1> +- +- Scott G. Miller +- +- <H1>Abstract</H1> +- +- This document specifies an interface to retrieving and +- displaying locale sensitive messages. A Scheme program can +- register one or more translations of templated messages, and +- then write Scheme code that can transparently retrieve the +- appropriate message for the locale under which the Scheme +- system is running. <br> +- +- +- <H1>Rationale</H1> +- +- <p>As any programmer that has ever had to deal with making his +- or her code readable in more than one locale, the process of +- sufficiently abstracting program messages from their +- presentation to the user is non-trivial without help from the +- programming language. Most modern programming language +- libraries do provide some mechanism for performing this +- separation.</p> +- +- <p>A portable API that allows a piece of code to run without +- modification in different countries and under different +- languages is a must for any non-trivial software project. +- The interface should separate the logic of a program from +- the myriad of translations that may be necessary.</p> +- +- <p>The interface described in this document provides such +- functionality. The underlying implementation is also allowed to +- use whatever datastructures it likes to provide access to the +- translations in the most efficient manner possible. In +- addition, the implementation is provided with standardized +- functions that programs will use for accessing an external, +- unspecified repository of translations.</p> +- +- <p>This interface <i>does not</i> cover all aspects of +- localization, including support for non-latin characters, +- number and date formatting, etc. Such functionality is the +- scope of a future SRFI that may extend this one.</p> +- +- <H1>Dependencies</H1> +- +- An SRFI-29 conformant implementation must also implement +- SRFI-28, Basic Format Strings. Message templates are strings +- that must be processed by the <tt>format</tt> function +- specified in that SRFI. +- +- <H1>Specification</H1> +- +- <h3>Message Bundles</h3> +- +- <p>A Message Bundle is a set of message templates and their +- identifying keys. Each bundle contains one or more such +- key/value pairs. The bundle itself is associated with a +- <i>bundle specifier</i> which uniquely identifies the +- bundle.</p> +- +- <h3>Bundle Specifiers</h3> +- +- <p>A Bundle Specifier is a Scheme list that describes, in order +- of importance, the package and locale of a message bundle. +- In most cases, a locale specifier will have between one +- and three elements. The first element is a symbol denoting the +- package for which this bundle applies. The second and third +- elements denote a <i>locale</i>. The second element (first +- element of the locale) if present, is the two letter, ISO 639-1 +- language code for the bundle. The third element, if present, is +- a two letter ISO 3166-1 country code. In some cases, a +- fourth element may be present, specifying the encoding used for +- the bundle. All bundle specifier elements are Scheme +- symbols.</p> +- +- <p>If only one translation is provided, it should be designated +- only by a package name, for example <tt>(mathlib)</tt>. This +- translation is called the <i>default</i> translation.</p> +- +- <h3>Bundle Searching</h3> +- +- <p>When a message template is retrieved from a bundle, the +- Scheme implementation will provide the locale under which the +- system is currently running. When the template is retrieved, +- the package name will be specified. The Scheme system should +- construct a Bundle Specifier from the provided package name and +- the active locale. For example, when retrieving a message +- template for French Canadian, in the <tt>mathlib</tt> package, +- the bundle specifier '<tt>(mathlib fr ca)</tt>' is used. A +- program may also retrieve the elements of the current locale +- using the no-argument procedures:</p> +- +- <p><b><a name="current-language"></a><tt>current-language</tt></b> <tt>-> +- <i>symbol</i></tt><br> +- <tt><b>current-language</b> <i>symbol</i> -> +- undefined</tt><br> +- </p> +- +- <blockquote> +- When given no arguments, returns the current ISO 639-1 +- language code as a symbol. If provided with an +- argument, the current language is set to that named by the +- symbol for the currently executing Scheme thread (or for the +- entire Scheme system if such a distinction is not possible). +- +- </blockquote> +- +- <p><b><a name="current-country"></a><tt>current-country</tt></b> <tt>-> +- <i>symbol</i></tt><br> +- <tt><b>current-country</b> <i>symbol</i> -> +- undefined</tt><br> +- </p> +- +- <blockquote> +- returns the current ISO 3166-1 country code as a symbol. +- If provided with an argument, the current country is +- set to that named by the symbol for the currently executing +- Scheme thread (or for the entire Scheme system if such a +- distinction is not possible). +- </blockquote> +- +- <p><b><a name="current-locale-details"></a><tt>current-locale-details</tt></b> <tt>-> <i>list of +- symbol</i></tt>s<br> +- <tt><b>current-locale-details</b> <i>list-of-symbols</i> -> +- undefined</tt><br> +- </p> +- +- <blockquote> +- Returns a list of additional locale details as a list of +- symbols. This list may contain information about +- encodings or other more specific information. If +- provided with an argument, the current locale details are set +- to those given in the currently executing Scheme thread (or +- for the entire Scheme system if such a distinction is not +- possible). +- </blockquote> +- +- <p>The Scheme System should first check for a bundle with the +- exact name provided. If no such bundle is found, the last +- element from the list is removed and a search is tried for a +- bundle with that name. If no bundle is then found, the list is +- shortened by removing the last element again. If no message is +- found and the bundle specifier is now the empty list, an error +- should be raised.</p> +- +- <p>The reason for this search order is to provide the most +- locale sensitive template possible, but to fall back on more +- general templates if a translation has not yet been provided +- for the given locale.</p> +- +- <h3>Message Templates</h3> +- +- <p>A message template is a localized message that may or may +- not contain one of a number of formatting codes. A message +- template is a Scheme string. The string is of a form that can +- be processed by the <tt>format</tt> procedure found in many +- Scheme systems and formally specified in SRFI-28 (Basic Format +- Strings).</p> +- +- <p>This SRFI also extends SRFI-28 to provide an additional +- <tt>format</tt> escape code:</p> +- +- <blockquote> +- <tt>~[n]@*</tt> - Causes a value-requiring escape code that +- follows this code immediately to reference the [N]'th +- optional value absolutely, rather than the next unconsumed +- value. The referenced value is <i>not</i> consumed. +- </blockquote> +- This extension allows optional values to be positionally +- referenced, so that message templates can be constructed that +- can produce the proper word ordering for a language. +- +- <h3>Preparing Bundles</h3> +- Before a bundle may be used by the Scheme system to retrieve +- localized template messages, they must be made available to the +- Scheme system. This SRFI specifies a way to portably +- define the bundles, as well as store them in and retrieve them +- from an unspecified system which may be provided by resources +- outside the Scheme system.<br> +- +- +- <p><b><a name="declare-bundle!"></a><tt>declare-bundle!</tt></b> <tt><i>bundle-specifier +- association-list</i> -> undefined<br> +- </tt></p> +- +- <blockquote> +- Declares a new bundle named by the given bundle-specifier. +- The contents of the bundle are defined by the provided +- association list. The list contains associations +- between Scheme symbols and the message templates (Scheme +- strings) they name. If a bundle already exists with the +- given name, it is overwritten with the newly declared +- bundle.<br> +- </blockquote> +- <tt><a name="store-bundle"></a><b>store-bundle</b> <i>bundle-specifier</i> -> +- boolean</tt><br> +- +- +- <blockquote> +- Attempts to store a bundle named by the given bundle +- specifier, and previously made available using +- <tt>declare-bundle!</tt> or <tt>load-bundle!</tt>, in an +- unspecified mechanism that may be persistent across Scheme +- system restarts. If successful, a non-false value is +- returned. If unsuccessful, <tt>#f</tt> is returned.<br> +- </blockquote> +- <tt><a name="load-bundle!"></a><b>load-bundle!</b> <i>bundle-specifier</i> -> +- boolean</tt><br> +- +- +- <blockquote> +- Attempts to retrieve a bundle from an unspecified mechanism +- which stores bundles outside the Scheme system. If the +- bundle was retrieved successfully, the function returns a +- non-false value, and the bundle is immediately available to +- the Scheme system. If the bundle could not be found or loaded +- successfully, the function returns <tt>#f</tt>, and the +- Scheme system's bundle registry remains unaffected.<br> +- </blockquote> +- A compliant Scheme system may choose not to provide any +- external mechanism to store localized bundles. If it does +- not, it must still provide implementations for +- <tt>store-bundle</tt> and <tt>load-bundle!</tt>. In such a +- case, both functions must return <tt>#f</tt> regardless of the +- arguments given. Users of this SRFI should recognize that the +- inability to load or store a localized bundle in an external +- repository is <i>not</i> a fatal error.<br> +- +- +- <h3>Retrieving Localized Message Templates</h3> +- +- <p><a name="localized-template"></a><b><tt>localized-template</tt></b> <i><tt>package-name +- message-template-name</tt></i> <tt>-> <i>string or #f<br> +- </i></tt></p> +- +- <blockquote> +- Retrieves a localized message template for the given package +- name and the given message template name (both symbols). +- If no such message could be found, false (#f) is +- returned.<br> +- <br> +- </blockquote> +- After retrieving a template, the calling program can use +- <tt>format</tt> to produce a string that can be displayed to +- the user.<br> +- +- +- <h2>Examples</h2> +- The below example makes use of SRFI-29 to display simple, +- localized messages. It also defines its bundles in such a +- way that the Scheme system may store and retrieve the bundles +- from a more efficient system catalog, if available.<br> +- +-<pre> +-(let ((translations +- '(((en) . ((time . "Its ~a, ~a.") +- (goodbye . "Goodbye, ~a."))) +- ((fr) . ((time . "~1@*~a, c'est ~a.") +- (goodbye . "Au revoir, ~a.")))))) +- (for-each (lambda (translation) +- (let ((bundle-name (cons 'hello-program (car translation)))) +- (if (not (load-bundle! bundle-name)) +- (begin +- (declare-bundle! bundle-name (cdr translation)) +- (store-bundle! bundle-name))))) +- translations)) +- +-(define localized-message +- (lambda (message-name . args) +- (apply format (cons (localized-template 'hello-program +- message-name) +- args)))) +- +-(let ((myname "Fred")) +- (display (localized-message 'time "12:00" myname)) +- (display #\newline) +- +- (display (localized-message 'goodbye myname)) +- (display #\newline)) +- +-;; Displays (English): +-;; Its 12:00, Fred. +-;; Goodbye, Fred. +-;; +-;; French: +-;; Fred, c'est 12:00. +-;; Au revoir, Fred. +-</pre> +- +- <H1>Implementation</H1> +- +- <p>The implementation requires that the Scheme system provide a +- definition for <tt>current-language</tt> and +- <tt>current-country</tt> capable of distinguishing the correct +- locale present during a Scheme session. The definitions of +- those functions in the reference implementation are not capable +- of that distinction. Their implementation is provided only so +- that the following code can run in any R4RS scheme system. +- <br> +- </p> +- +- <p>In addition, the below implementation of a compliant +- <tt>format</tt> requires SRFI-6 (Basic String Ports) and +- SRFI-23 (Error reporting)</p> +-<pre> +-;; The association list in which bundles will be stored +-(define *localization-bundles* '()) +- +-;; The current-language and current-country functions provided +-;; here must be rewritten for each Scheme system to default to the +-;; actual locale of the session +-(define current-language +- (let ((current-language-value 'en)) +- (lambda args +- (if (null? args) +- current-language-value +- (set! current-language-value (car args)))))) +- +-(define current-country +- (let ((current-country-value 'us)) +- (lambda args +- (if (null? args) +- current-country-value +- (set! current-country-value (car args)))))) +- +-;; The load-bundle! and store-bundle! both return #f in this +-;; reference implementation. A compliant implementation need +-;; not rewrite these procedures. +-(define load-bundle! +- (lambda (bundle-specifier) +- #f)) +- +-(define store-bundle! +- (lambda (bundle-specifier) +- #f)) +- +-;; Declare a bundle of templates with a given bundle specifier +-(define declare-bundle! +- (letrec ((remove-old-bundle +- (lambda (specifier bundle) +- (cond ((null? bundle) '()) +- ((equal? (caar bundle) specifier) +- (cdr bundle)) +- (else (cons (car bundle) +- (remove-old-bundle specifier +- (cdr bundle)))))))) +- (lambda (bundle-specifier bundle-assoc-list) +- (set! *localization-bundles* +- (cons (cons bundle-specifier bundle-assoc-list) +- (remove-old-bundle bundle-specifier +- *localization-bundles*)))))) +- +-;;Retrieve a localized template given its package name and a template name +-(define localized-template +- (letrec ((rdc +- (lambda (ls) +- (if (null? (cdr ls)) +- '() +- (cons (car ls) (rdc (cdr ls)))))) +- (find-bundle +- (lambda (specifier template-name) +- (cond ((assoc specifier *localization-bundles*) => +- (lambda (bundle) bundle)) +- ((null? specifier) #f) +- (else (find-bundle (rdc specifier) +- template-name)))))) +- (lambda (package-name template-name) +- (let loop ((specifier (cons package-name +- (list (current-language) +- (current-country))))) +- (and (not (null? specifier)) +- (let ((bundle (find-bundle specifier template-name))) +- (and bundle +- (cond ((assq template-name bundle) => cdr) +- ((null? (cdr specifier)) #f) +- (else (loop (rdc specifier))))))))))) +- +-;;An SRFI-28 and SRFI-29 compliant version of format. It requires +-;;SRFI-23 for error reporting. +-(define format +- (lambda (format-string . objects) +- (let ((buffer (open-output-string))) +- (let loop ((format-list (string->list format-string)) +- (objects objects) +- (object-override #f)) +- (cond ((null? format-list) (get-output-string buffer)) +- ((char=? (car format-list) #~) +- (cond ((null? (cdr format-list)) +- (error 'format "Incomplete escape sequence")) +- ((char-numeric? (cadr format-list)) +- (let posloop ((fl (cddr format-list)) +- (pos (string->number +- (string (cadr format-list))))) +- (cond ((null? fl) +- (error 'format "Incomplete escape sequence")) +- ((and (eq? (car fl) '#@) +- (null? (cdr fl))) +- (error 'format "Incomplete escape sequence")) +- ((and (eq? (car fl) '#@) +- (eq? (cadr fl) '#*)) +- (loop (cddr fl) objects (list-ref objects pos))) +- (else +- (posloop (cdr fl) +- (+ (* 10 pos) +- (string->number +- (string (car fl))))))))) +- (else +- (case (cadr format-list) +- ((#\a) +- (cond (object-override +- (begin +- (display object-override buffer) +- (loop (cddr format-list) objects #f))) +- ((null? objects) +- (error 'format "No value for escape sequence")) +- (else +- (begin +- (display (car objects) buffer) +- (loop (cddr format-list) +- (cdr objects) #f))))) +- ((#\s) +- (cond (object-override +- (begin +- (display object-override buffer) +- (loop (cddr format-list) objects #f))) +- ((null? objects) +- (error 'format "No value for escape sequence")) +- (else +- (begin +- (write (car objects) buffer) +- (loop (cddr format-list) +- (cdr objects) #f))))) +- ((#%) +- (if object-override +- (error 'format "Escape sequence following positional override does not require a value")) +- (display #\newline buffer) +- (loop (cddr format-list) objects #f)) +- ((#~) +- (if object-override +- (error 'format "Escape sequence following positional override does not require a value")) +- (display #~ buffer) +- (loop (cddr format-list) objects #f)) +- (else +- (error 'format "Unrecognized escape sequence")))))) +- (else (display (car format-list) buffer) +- (loop (cdr format-list) objects #f))))))) +- +-</pre> +- +- <H1>Copyright</H1> +- +- Copyright (C) Scott G. Miller (2002). All Rights Reserved. +- +- <p>This document and translations of it may be copied and +- furnished to others, and derivative works that comment on or +- otherwise explain it or assist in its implementation may be +- prepared, copied, published and distributed, in whole or in +- part, without restriction of any kind, provided that the above +- copyright notice and this paragraph are included on all such +- copies and derivative works. However, this document itself may +- not be modified in any way, such as by removing the copyright +- notice or references to the Scheme Request For Implementation +- process or editors, except as needed for the purpose of +- developing SRFIs in which case the procedures for copyrights +- defined in the SRFI process must be followed, or as required to +- translate it into languages other than English.</p> +- +- <p>The limited permissions granted above are perpetual and will +- not be revoked by the authors or their successors or +- assigns.</p> +- +- <p>This document and the information contained herein is +- provided on an "AS IS" basis and THE AUTHOR AND THE SRFI +- EDITORS DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING +- BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION +- HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES +- OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.</p> +- <hr> +- +- <address> +- Editor: <a href="mailto:srfi-editors@srfi.schemers.org">David +- Rush</a> +- </address> +- +- <address> +- Author: <a href="mailto:scgmille@freenetproject.org">Scott G. +- Miller</a> +- </address> +- <!-- Created: Tue Sep 29 19:20:08 EDT 1998 --> +- <!-- hhmts start -->Last modified: Mon Jun 17 12:00:08 Pacific +- Daylight Time 2002 <!-- hhmts end --> <br> +- </body> +-</html> +- +diff -urN racket-7.4-orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-5.html racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-5.html +--- racket-7.4-orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-5.html 2019-08-03 21:32:26.000000000 -0400 ++++ racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-5.html 1969-12-31 19:00:00.000000000 -0500 +@@ -1,345 +0,0 @@ +-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.2//EN"> +-<html> +-<head> +- <title>SRFI 5: A compatible let form with signatures and rest arguments</title> +-</head> +-<body> +- +-<H1>Title</H1> +- +-SRFI-5: A compatible <code>let</code> form with signatures and rest arguments +- +-<H1>Author</H1> +- +-Andy Gaynor +- +-<H1>Status</H1> +- +-This SRFI is currently in ``final'' status. To see an explanation of each status that a SRFI can hold, see <A HREF="http://srfi.schemers.org/srfi-process.html">here</A>. +-You can access the discussion on this SRFI via <A HREF="http://srfi.schemers.org/srfi-5/mail-archive/maillist.html">the archive of the mailing list</A>. +-<P><UL> +-<LI>Received: 1999/2/2 +-<LI>Draft: 1999/2/10-1999/04/12 +-<LI>Final: 1999/4/26 +-<LI>Revised reference implementation: 2003/01/27 +-</UL> +- +-<H1>Abstract</H1> +- +-The <i>named-let</i> incarnation of the <code>let</code> form has two slight +-inconsistencies with the <code>define</code> form. As defined, the <code>let</code> +-form makes no accommodation for rest arguments, an issue of functionality +-and consistency. As defined, the <code>let</code> form does not accommodate +-signature-style syntax, an issue of aesthetics and consistency. Both +-issues are addressed here in a manner which is compatible with the traditional +-<code>let</code> form but for minor extensions. +- +-<H1>Rationale</H1> +- +-<H2>Signature-style Syntax</H2> +- +-Consider the following two equivalent definitions: +- +-<p><pre> +-(define fibonacci +- (lambda (n i f0 f1) +- (if (= i n) +- f0 +- (fibonacci n (+ i 1) f1 (+ f0 f1))))) +- +-(define (fibonacci n i f0 f1) +- (if (= i n) +- f0 +- (fibonacci n (+ i 1) f1 (+ f0 f1)))) +-</pre> +- +-Although there is a named-let analog for the former form, there is none +-for the latter. To wit, suppose one wished to compute the 10th element +-of the Fibonacci sequence using a named let: +- +-<p> +-<pre> +-(let fibonacci ((n 10) (i 0) (f0 0) (f1 1)) +- (if (= i n) +- f0 +- (fibonacci n (+ i 1) f1 (+ f0 f1)))) +-Values: 55 +-</pre> +- +-As it stands, one cannot equivalently write +- +-<p> +-<pre> +-(let (fibonacci (n 10) (i 0) (f0 0) (f1 1)) +- (if (= i n) +- f0 +- (fibonacci n (+ i 1) f1 (+ f0 f1)))) +-</pre> +- +-which is consistent with <code>define</code>'s signature-style form. +-<p>Those that favor the signature style may prefer this extension. +-In any case, it may be more appropriate to include all bound names within +-the binding section. As presented, this straightforward extension +-introduces no ambiguity or incompatibility with the existing definition +-of let. +- +-<H2>Rest Arguments</H2> +- +-As it stands, one cannot write a named let with rest arguments, as in +- +-<p> +-<pre> +-(let (blast (port (current-output-port)) . (x (+ 1 2) 4 5)) +- (if (null? x) +- 'just-a-silly-contrived-example +- (begin +- (write (car x) port) +- (apply blast port (cdr x))))) +-</pre> +- +-otherwise equivalent to +- +-<p> +-<pre> +-(letrec ((blast (lambda (port . x) +- (if (null? x) +- 'just-a-silly-contrived-example +- (begin +- (write (car x) port) +- (apply blast port (cdr x))))))) +- (blast (current-output-port) (+ 1 2) 4 5)) +-</pre> +- +-While this example is rather contrived, the functionality is not. +-There are several times when the author has used this construct in practice. +-Regardless, there is little reason to deny the <code>let</code> form access to +-all the features of lambda functionality. +- +-<H2>Symbols in Binding Sections</H2> +- +-Both the features above rely upon the placement of symbols in <code>let</code> +-binding lists (this statement is intentially simplistic). The only +-other apparent use of such symbol placement is to tersely bind variables +-to unspecified values. For example, one might desire to use +-<code>(let (foo bar baz) ...)</code> +-to bind <code>foo</code>, <code>bar</code>, and <code>baz</code> to +-unspecified values. +- +-<p>This usage is considered less important in light of the rationales +-presented above, and an alternate syntax is immediately apparent, as +-in <code>(let ((foo) (bar) (baz)) ...)</code> This may even +-be preferable, consistently parenthesizing normal binding clauses. +- +-<H1>Specification</H1> +- +-<H2>Syntax</H2> +- +-<p> +-A formal specification of the syntax follows. Below, body, expression, +-and identifier are free. Each instantiation of binding-name must be +-unique. +-</p> +- +-<p> +-<pre> +- let = "(" "let" let-bindings body ")" +- expressions = nothing | expression expressions +- let-bindings = let-name bindings +- |"(" let-name "." bindings ")" +- let-name = identifier +- bindings = "(" ")" +- | rest-binding +- | "(" normal-bindings ["." rest-binding] ")" +-normal-bindings = nothing +- | normal-binding normal-bindings +-normal-binding = "(" binding-name expression ")" +- binding-name = identifier +- rest-binding = "(" binding-name expressions ")" +-</pre> +- +-<p> +-For clarity and convenience, an informal specification follows. +-</p> +- +-<ol> +-<li><a name="unnamed">Unnamed</a> +- +-<p><pre> +-(let ((<parameter> <argument>)...) +- <body>...) +-</pre> +-</li> +- +-<li><a name="named-non-sig"> +-Named, non-signature-style, no rest argument</a> +- +-<p><pre> +-(let <name> ((<parameter> <argument>)...) +- <body>...) +-</pre> +-</li> +- +-<li><a name="named-sig">Named, signature-style, no rest argument</a> +- +-<p><pre> +-(let (<name> (<parameter> <argument>)...) +- <body>...) +-</pre> +-</li> +- +-<li><a name="named-non-sig-rest">Named, non-signature-style, rest argument</a> +- +-<p><pre> +-(let <name> ((<parameter> <argument>)... +- +-. (<rest-parameter> <rest-argument>...)) +- <body>...) +-</pre> +- +-<li><a name="named-sig-rest">Named, signature-style, rest argument</a> +- +-<p><pre> +-(let (<name> (<parameter> <argument>)... +- +-. (<rest-parameter> <rest-argument>...)) +- <body>...) +-</pre> +-</li> +-</ol> +- +-<H2>Semantics</H2> +- +-Let <code>$lambda</code> and <code>$letrec</code> be hygienic bindings for the <code>lambda</code> +-and <code>letrec</code> forms, respectively. +- +-<ul> +-<li>For informal syntax 1: +- +-<p><pre> +-(($lambda (<parameter>...) <body>...) <argument>...) +-</pre> +-</li> +- +-<li>For informal syntaxes 2 and 3: +- +-<p> +-<pre> +-($letrec ((<name> ($lambda (<parameter>...) <body>...))) +- (<name> <argument>...)) +-</pre> +-</li> +- +-<li>For informal syntaxes 4 and 5: +- +-<p> +-<pre> +-($letrec ((<name> ($lambda (<parameter>... +- +-. <rest-parameter>) <body>...))) +- (<name> <argument>... <rest-argument>...)) +-</pre> +-</li> +-</ul> +- +-<H1>Implementation</H1> +- +-Here is an implementation using <code>SYNTAX-RULES</code>. +- +-<p> +-<pre> +-;; Use your own standard let. +-;; Or call a lambda. +-;; (define-syntax standard-let +-;; +-;; (syntax-rules () +-;; +-;; ((let ((var val) ...) body ...) +-;; ((lambda (var ...) body ...) val ...)))) +- +-(define-syntax let +- +- (syntax-rules () +- +- ;; No bindings: use standard-let. +- ((let () body ...) +- (standard-let () body ...)) +- ;; Or call a lambda. +- ;; ((lambda () body ...)) +- +- ;; All standard bindings: use standard-let. +- ((let ((var val) ...) body ...) +- (standard-let ((var val) ...) body ...)) +- ;; Or call a lambda. +- ;; ((lambda (var ...) body ...) val ...) +- +- ;; One standard binding: loop. +- ;; The all-standard-bindings clause didn't match, +- ;; so there must be a rest binding. +- ((let ((var val) . bindings) body ...) +- (let-loop #f bindings (var) (val) (body ...))) +- +- ;; Signature-style name: loop. +- ((let (name binding ...) body ...) +- (let-loop name (binding ...) () () (body ...))) +- +- ;; defun-style name: loop. +- ((let name bindings body ...) +- (let-loop name bindings () () (body ...))))) +- +-(define-syntax let-loop +- +- (syntax-rules () +- +- ;; Standard binding: destructure and loop. +- ((let-loop name ((var0 val0) binding ...) (var ... ) (val ... ) body) +- (let-loop name ( binding ...) (var ... var0) (val ... val0) body)) +- +- ;; Rest binding, no name: use standard-let, listing the rest values. +- ;; Because of let's first clause, there is no "no bindings, no name" clause. +- ((let-loop #f (rest-var rest-val ...) (var ...) (val ...) body) +- (standard-let ((var val) ... (rest-var (list rest-val ...))) . body)) +- ;; Or call a lambda with a rest parameter on all values. +- ;; ((lambda (var ... . rest-var) . body) val ... rest-val ...)) +- ;; Or use one of several other reasonable alternatives. +- +- ;; No bindings, name: call a letrec'ed lambda. +- ((let-loop name () (var ...) (val ...) body) +- ((letrec ((name (lambda (var ...) . body))) +- name) +- val ...)) +- +- ;; Rest binding, name: call a letrec'ed lambda. +- ((let-loop name (rest-var rest-val ...) (var ...) (val ...) body) +- ((letrec ((name (lambda (var ... . rest-var) . body))) +- name) +- val ... rest-val ...)))) +-</pre> +- +- +-<H1>Copyright</H1> +- +-Copyright (C) Andy Gaynor (1999). All Rights Reserved. +-<p>This document and translations of it may be copied and furnished to +-others, and derivative works that comment on or otherwise explain it or +-assist in its implementation may be prepared, copied, published and distributed, +-in whole or in part, without restriction of any kind, provided that the +-above copyright notice and this paragraph are included on all such copies +-and derivative works. However, this document itself may not be modified +-in any way, such as by removing the copyright notice or references to the +-Scheme Request For Implementation process or editors, except as needed +-for the purpose of developing SRFIs in which case the procedures for copyrights +-defined in the SRFI process must be followed, or as required to translate +-it into languages other than English. +-<p>The limited permissions granted above are perpetual and will not be +-revoked by the authors or their successors or assigns. +-<p>This document and the information contained herein is provided on an +-"AS IS" basis and THE AUTHOR AND THE SRFI EDITORS DISCLAIM ALL WARRANTIES, +-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE +-USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED +-WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +- +- <hr> +- <address>Editor: <a href="mailto:srfi-editors@srfi.schemers.org">Mike Sperber</a></address> +- +-</body> +-</html> diff --git a/racket.spec b/racket.spec index c3d1235..7a76a0b 100644 --- a/racket.spec +++ b/racket.spec @@ -1,6 +1,6 @@ Name: racket -Version: 7.0 -Release: 8%{?dist} +Version: 7.4 +Release: 1%{?dist} Summary: General purpose programming language
License: GPLv3 and LGPLv3 and MIT @@ -13,15 +13,12 @@ Source0: https://mirror.racket-lang.org/installers/%%7Bversion%7D/%%7Bname%7D-%%7Bv # is safe, since the removed components are # extra elements which nothing else in the # package depends on. -Patch0: racket-7.0-remove-nonfree.patch +# Note: SRFI 5 was replaced with a FOSS implementation. Only +# nonfree docs need to be removed by this patch now. +Patch0: racket-7.4-remove-nonfree.patch
-# Update racket-doc/search to use https://docs.racket-lang.org -# when no docs exist locally -# https://github.com/racket/scribble/pull/164 (open) -Patch1: racket-7.0-fix-doc-open-url.patch - -# Issue Building for s390x, armv7hl, and ppc64 in koji -ExcludeArch: s390x %{arm} ppc64 +# Issue Building for armv7hl in koji +ExcludeArch: %{arm} s390x
# To compile the program BuildRequires: gcc @@ -81,7 +78,14 @@ cd src export CFLAGS=$(echo $CFLAGS | sed -e "s/-mfpmath=sse *//") %endif
+# do not use generations on architectures +# where it is broken +# (this is currently a no-op, since arm and s390x are not enabled yet. +# It is art of a fix that will land in a future release) %configure \ +%ifarch %{arm} s390x + --disable-generations \ +%endif --enable-pthread \ --enable-shared \ --enable-libffi \ @@ -244,6 +248,11 @@ A local installation of the Racket documentation system. %{_datadir}/doc/racket
%changelog +* Wed Aug 28 2019 David Benoit dbenoit@redhat.com - 7.4.1 +- Update package version +- Remove doc-open-url patch (fixed upstream) +- Update remove-nonfree patch + * Fri Jul 26 2019 Fedora Release Engineering releng@fedoraproject.org - 7.0-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
diff --git a/sources b/sources index e43e6a3..433eb3e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (racket-7.0-src.tgz) = 98be3a7f0fbe38ae5febd2a9a3c81baede7dd7b3f3a9ed3ce68321389a68f74c6a8e24170013f7ca4fd725a79a3d5cfbda2e26f0f75163076e3b98f43094507f +SHA512 (racket-7.4-src.tgz) = a5ef2ce3157bee3b12abcaeeb4c1ec3b41e78fb6ec04d399e3505a38234a73a098398bb762a99ffef7bc01301aef8db559cbd47c043365df8711fccdc3386df0
commit 562f367be1ad56b5be12c502fc13176e6260ed35 Author: Fedora Release Engineering releng@fedoraproject.org Date: Fri Jul 26 18:07:11 2019 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering releng@fedoraproject.org
diff --git a/racket.spec b/racket.spec index b9d50b3..c3d1235 100644 --- a/racket.spec +++ b/racket.spec @@ -1,6 +1,6 @@ Name: racket Version: 7.0 -Release: 7%{?dist} +Release: 8%{?dist} Summary: General purpose programming language
License: GPLv3 and LGPLv3 and MIT @@ -244,6 +244,9 @@ A local installation of the Racket documentation system. %{_datadir}/doc/racket
%changelog +* Fri Jul 26 2019 Fedora Release Engineering releng@fedoraproject.org - 7.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Sat Feb 02 2019 Fedora Release Engineering releng@fedoraproject.org - 7.0-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
commit 0974446b75718abdb6399502344df4f0397d092a Author: Fedora Release Engineering releng@fedoraproject.org Date: Sat Feb 2 10:58:40 2019 +0000
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering releng@fedoraproject.org
diff --git a/racket.spec b/racket.spec index e75fb10..b9d50b3 100644 --- a/racket.spec +++ b/racket.spec @@ -1,6 +1,6 @@ Name: racket Version: 7.0 -Release: 6%{?dist} +Release: 7%{?dist} Summary: General purpose programming language
License: GPLv3 and LGPLv3 and MIT @@ -244,6 +244,9 @@ A local installation of the Racket documentation system. %{_datadir}/doc/racket
%changelog +* Sat Feb 02 2019 Fedora Release Engineering releng@fedoraproject.org - 7.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Mon Sep 24 2018 David Benoit dbenoit@redhat.com 7.0-6 - Fix buildarch
arch-excludes@lists.fedoraproject.org