- Update to 9.0.
* Racket supports parallel threads. For more information see the new
blog post on the topic.
* Parallel threads can be created using the #:pool argument to
thread creation.
* Threads created with #:keep set to 'results will record their
results for later retrieval with thread-wait.
* The black-box wrapper prevents the optimizing compiler from
optimizing away certain computations entirely. This can be helpful
in ensuring that benchmarks are accurate.
* The decompile-linklet function can map linklets back to
s-expressions.
* When using BC Racket, the processor-count function is changed to
always return the parallel count.
* We now distribute "natipkg" packages for AArch64, useful for
package-build and package-testing infrastructure.
* Check Syntax tracks identifiers more deeply nested in the "origin"
field of syntax objects.
* The math library includes Weibull distributions.
* There are many other repairs and documentation improvements!
OBS-URL: https://build.opensuse.org/request/show/1320248
OBS-URL: https://build.opensuse.org/package/show/devel:languages:misc/racket?expand=0&rev=101
- Refresh patch:
* racket-fortify.patch
- Update to 8.18.
* The racket-lang.org website no longer distributes Racket BC
bundles, but it includes pre-built bundles for two flavors of ARM
linux, AArch64 and 32-bit ARMv6 VFP.
* XML structures are serializable.
* Scribble's HTML generation conforms better to modern standards.
* Racket uses Unicode 16.0 for character and string operations.
* The redex-check default generation strategy always uses random
generation to supplement the enumerator.
* DrRacket supports the use of shift-tab to go backward to previous
indentation positions.
* The macro stepper supports the string-constants library, allowing
internationalization of the stepper itself.
* The struct form supports #:properties prop-list-expr, making it
more convenient to attach multiple property values to a structure
type.
* Build-system improvements support containers registered at Docker
Hub to build for all platforms that have downloads from the main
Racket download site; improvements also support Unix-style builds
for Mac OS in the style of MacPorts.
* The expt function produces a more accurate result when its first
argument is a flonum and its second argument is an exact integer
that has no equivalent flonum representation than it did in prior
versions.
* TCP ports use SO_KEEPALIVE correctly.
* Unsafe code can use “uninterruptible mode” instead of “atomic
mode” to allow futures to run concurrently while preventing
OBS-URL: https://build.opensuse.org/request/show/1302388
OBS-URL: https://build.opensuse.org/package/show/devel:languages:misc/racket?expand=0&rev=98
- Refresh patch:
* racket-doc.patch
- Update to 8.16. Changes down below:
* Racket has expanded support for immutable and mutable treelists:
- A variety of new treelist utility functions are available:
treelist-filter, treelist-flatten, et cetera.
- The mutable-treelist-prepend! function allows prepending to
mutable treelists.
- Mutable treelists are serializable.
* The serialize-structs module allows the minimization of
dependencies by providing only a handful of core forms.
* The flbit-field function allows access to the binary
representation of IEEE floating-point numbers.
* The top-left search box in the documentation works once more.
* The XML reader is 2-3x faster on inputs with long CDATA and
* comments, and avoids some internal contract checks to obtain a 25%
* speedup on large documents generally.
* The pregexp syntax includes "\X" to match a grapheme cluster),
* following Perl and PCRE.
* The read-json* and write-json* functions allow customization of
the Racket representation of JSON elements, eliminating the need for
a separate "translation" pass.
* Racket has new port I/O functions:
- The open-input-nowhere function creates an empty input port.
- The pipe-port? function makes it possible to determine whether a
port is created by make-pipe.
- The port-file-stat function allows gathering information about the
file that is the source or target of a file-stream port.
* A revised representation of pointers improves the performance of
foreign function calls. As a result, ptr-ref and ptr-set! are
OBS-URL: https://build.opensuse.org/request/show/1251243
OBS-URL: https://build.opensuse.org/package/show/devel:languages:misc/racket?expand=0&rev=93
- Update to 8.15. Changes down below:
* Documentation search results are ordered, with visual cues
indicating what their source is (core, main-distribution, etc.).
* DrRacket offers to restore previously open files when starting,
which can be made the default.
* In DrRacket, Picts can be saved by right-clicking.
raco pkg introduces the uninstall command as the opposite of
install. The remove name for this functionality is retained for
compatibility.
* raco pkg improves the handling of --clone and --unclone.
* iOS is a compilation target, distinct from macOS.
* Racket supports falling back to IPv4 during hostname resolution when IPv6 fails.
* Memory allocated using the ffi/unsafe library can be initially zeroed,
using the 'zeroed-atomic and 'zeroed-atomic-interior flags.
OBS-URL: https://build.opensuse.org/request/show/1227195
OBS-URL: https://build.opensuse.org/package/show/devel:languages:misc/racket?expand=0&rev=91
- Update to 8.14. Changes down below:
* The compiler/demod language integrates demodularization into the
program rather than an external tool. Using the language approach
cooperates with other Racket tools and allows demodularization to be
used on libraries. Additionally, demodularization handles submodules
and can prune definitions, significantly shrinking the size of some
programs.
* The contract-in form enables contracts to be specified in an
importing module.
* The #%declare form supports the #:flatten-requires and
#:unlimited-compile keywords
* Identifiers such as case-λ, match-λ and λ are equivalent to
their Latin-alphabet equivalents (case-lambda, match-lambda, and
lambda) in more contexts, including uses of match.
* The hash-filter function allows the use of a predicate to select a
sub-table of a hash table.
* The module browser can perform filtering on submodules.
* The raco test command-line form respects the
current-test-invocation-directory parameter, and shows well-formed
module paths in its output.
* Racket CS allows the use of in-memory boot files.
* The raco/testing collection brings together a variety of testing-
related functions and forms.
OBS-URL: https://build.opensuse.org/request/show/1196365
OBS-URL: https://build.opensuse.org/package/show/devel:languages:misc/racket?expand=0&rev=89
- add mzdyn3m.o which gets built on s390x (possibly replacing mzdyn3m.lo)
This time I even have a successful build :-) (see openSUSE_Factory_zSystems)
As a side note: there is a very long time in the build without any output:
[ 13s] cc -O2 -DZUO_LIB_PATH='"'".././zuo/lib"'"' -o bin/zuo ./zuo/zuo.c
[ 9616s] bin/zuo . all MAKE="/usr/bin/make"
Depending on the load on the mainframe, this time can even be longer, and causes the build to abort because there's no output for a very long time.
From the openSUSE_Factory / s390x build log (which seems to have a shorter timeout of "only" 90 minutes):
[ 12s] cc -O2 -DZUO_LIB_PATH='"'".././zuo/lib"'"' -o bin/zuo ./zuo/zuo.c
[ 5417s] qemu-system-s390x: terminating on signal 15 from pid 99276 (<unknown process>)
If there is a way to make that cc call faster and/or more verbose, please do it ;-)
OBS-URL: https://build.opensuse.org/request/show/1169536
OBS-URL: https://build.opensuse.org/package/show/devel:languages:misc/racket?expand=0&rev=86
- Update to 8.13.
- Changes from 8.13:
* The racket/treelist and racket/mutable-treelist libraries provide
list-like containers that support many operations in effectively
constant time, including appending and extracting sub-lists without
mutating the given list. Treelists are implemented as RRB Vectors,
invented by Stucki, Riompf, Ureche, and Bagwell.
* The hash-filter-keys and hash-filter-values functions allow users
to filter hashes using a predicate on either keys or values.
* The vector-extend and vector*-extend functions provide a way to
pre-populate the prefix of a newly allocated vector using the
elements of an existing vector.
* Command-line raco setup, package update, and package installation
use terminal control (when available) to show what they are working
on more compactly and with a progress bar.
* Racket v8.13 uses Unicode 15.1 for character and string
operations.
* Machine-specific cross-module optimization allows improved support for
static generation of foreign-function bindings.
* The scribble/acmart language uses v2.01, which avoids errors
concerning the hyperref package in some latex installations.
- Changes from 8.12:
* The "Die Macht der Abstraktion" language levels are no longer
present, replaced by the "Schreibe dein Programm" language levels
OBS-URL: https://build.opensuse.org/request/show/1176761
OBS-URL: https://build.opensuse.org/package/show/devel:languages:misc/racket?expand=0&rev=84
- Update to 8.2:
* Racket CS improved the performance of large-integer arithmetic.
* Racket has improved support for layered and tethered installation.
* Racket CS supports nonatomic allocation via ffi/unsafe.
* Cross-compilation works fully with the raco cross tool, which
is distributed separately as the “raco-cross” package.
* DrRacket has performance improvements when editing files with
picts containing large bitmaps.
* Typed Racket more consistently refines field types of
non-polymorphic structs.
* Printing of values is unified across the teaching language
implementations and the stepper.
- Rebase racket-doc.patch
OBS-URL: https://build.opensuse.org/request/show/924663
OBS-URL: https://build.opensuse.org/package/show/devel:languages:misc/racket?expand=0&rev=51
- Update to 8.1:
* DrRacket tabs can be dragged, and have new close buttons.
* Racket CS supports cross-compilation using raco exe.
* Racket CS supports Android on 32-bit and 64-bit ARM processors.
* The database library supports running queries in OS threads.
* Check-Syntax arrows correctly identify the definition site of
identifiers with contracts.
* Racket CS performance has improved for structure predicates
and accessors
* Racket CS is faster at multiplying extremely large numbers
and dividing large integers.
* Racket CS allows callbacks to raise exceptions if they are
annotated with #:callback-exns?.
* New ephemeron hash tables simplify the implementation of
tables where keys can refer to values.
* Typed Racket supports for/foldr.
* The stepper works for #lang htdp/*sl.
* Struct signatures work for the ASL teaching language.
- Update to 8.0:
* Racket CS is the default implementation
(except for ppc64le and s390x)
* Racket CS has better parallel garbage collection, a 10%–30% reduction
in the size of generated code, and various targeted optimizations.
* A rewrite of the test-engine package allows the #lang versions of
teaching languages to produce linked test-failure messages.
* The release comes with a new mark-up DSL for composing text to appear
in the REPL (simple-tree-text-markup).
* Redex has an added define-overriding-judgment form and improved
error source location reporting.
* Windows scrolling speed reflects the system preference.
* The db package uses the utf8mb4 charset for MySQL connections.
- Rebase dont-strip.patch
OBS-URL: https://build.opensuse.org/request/show/896608
OBS-URL: https://build.opensuse.org/package/show/devel:languages:misc/racket?expand=0&rev=47
- Update to 7.8:
* Racket CS supports AArch32 and AArch64, including places and
futures.
* Racket CS supports an "incremental" garbage-collection mode that can
eliminate long GC pauses for some applications, such as animations and
interactive games.
* Racket CS unboxes local floating-point arithmetic
* DrRacket's spell check features lower overhead and has fewer bugs.
* Web Server performance under high concurrency is better by up to an
order of magnitude
* The math library includes the Kronecker product.
* The new prop:struct-field-info property provides static information
about field names.
* In `plot`, the legend font and the plot font can be controlled
independently, and error-bars have an `#:invert?` option.
* Racket CS uses a new HAMT implementation, dramatically reducing the memory
required for immutable hash tables.
* GC callbacks are reliably called on major collections in Racket CS.
Also, Garbage collection is 10-20% faster.
* DrRacket can recover much more quickly from errors involving large
stack traces.
* Call-with-current-language allows more reliable tests for language
level code.
* Use of the Cairo library can be multi-threaded.
* DrRacket's scrolling has been made more responsive.
* DrRacket's dark mode support is improved for Mac OS and Unix.
* The Web Server provides fine-grained control over various aspects of
handling client connections (timeouts, buffer sizes, maximum header
counts, etc.) via the new "safety limits" construct.
* The Web Server's handling of large files is improved, and its
latency for long-running request handlers is reduced.
OBS-URL: https://build.opensuse.org/request/show/828522
OBS-URL: https://build.opensuse.org/package/show/devel:languages:misc/racket?expand=0&rev=44
- Add patch extflvector-length-inlined.patch from upstream commit
80f84f21 to get extflvector-length work even on i586
- Spec file clean up
- Try to get it work on some ix86 CPU versions
- Require some missed libraries and certificates for build
as well as for installation even if rmplint cries
- Update to racket 7.2
* The contract system supports collapsible contracts, which avoid
repeated wrappers in certain pathological situations. Thanks to Daniel
Feltey.
* Quickscript, a scripting tool for DrRacket, has become part of the
standard distribution. Thanks to Laurent Orseau.
* The web server's built-in configuration for serving static files
recognizes the ".mjs" extension for JavaScript modules.
* The `data/enumerate` library supports an additional form of
subtraction via `but-not/e`, following Yorgey and Foner's ICFP'18
paper. Thanks to Max New.
* The `letrec.rkt` example model in Redex has been changed to more
closely match Racket, which led to some bug fixes in Racket's
implementation of `letrec` and `set!`.
* The racklog library has seen a number of improvements, including fixes
to logic variable binding, logic variables containing predicates being
applicable, and the introduction of an `%andmap` higher-order predicate.
OBS-URL: https://build.opensuse.org/request/show/690400
OBS-URL: https://build.opensuse.org/package/show/devel:languages:misc/racket?expand=0&rev=32
- Racket version bumped to 6.10.1.
- Spec changes
* Drop --collectsdir in %configure in favour of --prefix (%configure
would fail otherwise)
* Drop 0-size file guard. This used to delete lock files (LOCKpkgs.rktd)
lack of which would result in errors in many contexts, including
basic usage of both DrRacket and raco (package manager)
* Drop %_datadir/%name/collects from %dir, because parent folder is already
included in another %dir entry. This fixes a warning about collects folder
being listed twice.
* Added reference to starter-sh.
* Drop DrRacket's -singleInstance option from %suse_update_desktop_file. This
option caused error messages coming from %suse_update_desktop_file itself.
OBS-URL: https://build.opensuse.org/request/show/530201
OBS-URL: https://build.opensuse.org/package/show/devel:languages:misc/racket?expand=0&rev=23