Commit Graph

373 Commits

Author SHA1 Message Date
Jay McCarthy
b94fd95bbf Continue fixing PR14175 by looking at all links files
original commit: 8e2622857f
2013-11-19 14:20:59 -07:00
Jay McCarthy
f35ba28b1f Fix PR14175
original commit: 80ba30eaab
2013-11-19 13:22:48 -07:00
Matthew Flatt
758ee94a41 "racket-test" clean-up
Move a few tests, and clear out a lot of junk.

original commit: 29a0c44c98
2013-11-09 08:30:37 -07:00
Matthew Flatt
15430e3fce move raco exe tests to the compiler-test package
Also, enable the `raco exe` tests for DrDr

original commit: 0bc89dc641
2013-11-08 18:13:43 -07:00
Matthew Flatt
d0d458e1a3 raco exe: fix problem with dynamically resolved relative submodules
original commit: 846c247aa3
2013-11-08 18:13:43 -07:00
Matthew Flatt
dfa0381b92 raco expand & decompile: add --columns option
original commit: 9b04d516ba
2013-11-07 13:52:38 -07:00
Matthew Flatt
afe7f46d35 move some test & doc collections out of "racket-" pkgs to new pkgs
original commit: 1920ac59ab
2013-10-15 17:50:32 -06:00
Jay McCarthy
7ce8c7c434 Racket now works, but was broken before
original commit: 11b784236e
2013-10-15 10:38:26 -06:00
Jay McCarthy
0a855e73cf Base now works, but was broken before
original commit: e6e95f1029
2013-10-15 10:38:26 -06:00
Matthew Flatt
6ebcb502de fix .zo marshal of a syntax object containing a hash table in a list
Also, fix `zo-parse` unmarshaling of syntax-object hash tables.

Closes PR 14087

original commit: 70b6f6464f
2013-10-09 07:09:36 -06:00
Sam Tobin-Hochstadt
007d3fe205 Remove units in parts of compiler, dynext, setup and create the cext-lib package.
`cext-lib` contains much of the contents of `dynext`, which
is no longer very widely used.

Also moved the implementation of the `mzc` executable
to a more appropriate package.

Also, used `lazy-require` consistently for dynamically
loading implementations.

original commit: 9f2755116d
2013-09-26 14:53:51 -04:00
Matthew Flatt
b3553a342f move stray rackunit module
original commit: a30d80a9c4
2013-09-02 10:10:31 -06:00
Matthew Flatt
181c8ea6df include license with each package
original commit: ff9da94cfb
2013-08-31 06:25:31 -06:00
Carl Eastlund
0203850c3c Changed set? to generic-set?.
original commit: 6665f42e33
2013-08-28 00:10:18 -04:00
Matthew Flatt
b51a206bf5 auto-fix dependencies for "scheme-lib" and "srfi-lite-lib"
original commit: c709af5bf4
2013-08-27 15:20:58 -06:00
Matthew Flatt
ae6ce5f2fa move "scheme" collection to a "scheme-lib" package
Also, move remaining "srfi" libraries to "srfi-lite-lib".

In principle, "base" should depend on "scheme-lib" and
"srfi-lite-lib", and a new "base2" package would represent the new,
smaller base. But I don't think the window has yet closed on
determining the initial "base" package.

The "srfi" libraries moved to "srfi-lite-lib", instead of "srfi-lib",
to avoid creating many extra dependencies on "srfi-lib" and all of its
dependencies. The SRFIs in "srfi-lite-lib" depend only on "base",
and they are used relatively widely.

original commit: d175c3949c
2013-08-27 15:19:24 -06:00
Matthew Flatt
be324be798 Add ".desktop" file support
A launcher can have a ".desktop" file (found like other files: as the
same name as the main launcher file, but with a ".desktop" suffix),
where the "Exec" and "Icon" fields are added automatically. A ".png"
or ".ico" file can be supplied for the icon (where the ".ico" file
is already used for Windows launchers).

Closes PR 13953

Fix various problems with Unix-style install from an installer.

Also, add an ugly icon for the Racket Package Manager, with the hope
that it will provoke someone to create a nicer one.

original commit: 58c0074a71
2013-08-10 12:52:17 -06:00
Matthew Flatt
377b06a352 adjust `compiler/zo-marshal' for bytecode-file change
Forgot to fix as part of b8db5aacb3.

original commit: 3b76628eb1
2013-08-07 08:41:43 -07:00
Matthew Flatt
3e1e9a6357 fix bytecode-format bug
The range of values used to represent "improper lists"
of length 36 to 65 overlapped with the range of values
used to represent other things.

This bug is the new chapion of the "how did we not hit that
earlier?" category. The bug was introduced around v300, at
the latest.

original commit: b8db5aacb3
2013-08-07 08:37:50 -07:00
Matthew Flatt
3a67e505ba fix some tests that need to find `racket'
original commit: 4492cf2555
2013-08-02 14:22:28 -06:00
Matthew Flatt
b7f32c3cf3 add pkg-desc' and pkg-authors' to each package
This information will be used to construct a catalog from the
package directories.

original commit: 057bfc2ea1
2013-07-31 07:06:24 -06:00
Matthew Flatt
05a7459d8e fix some tests
original commit: 1708fb43b4
2013-07-21 19:55:10 -06:00
Matthew Flatt
7ef3b0c72a add "share", move "collects" back out of "lib", move "pkgs"
The "share" directory holds platform-independent files, while
"lib" holds platform-specific files.

In principle, the "collects" directory belongs in "share",
as does "doc". Those directories are put into "share"
by a Unix-style install, but left at top level for an
in-place install.

Packages in installation scope are put in "share" instead
of "lib", and the top-level Makefile puts development links
in "share/devel-pkgs".

The `configure' script now supports `--docdir' and `--collectsdir'.

Changed the version to 5.90.0.1.

original commit: 67a9889ef7
2013-07-19 11:52:02 -06:00
Matthew Flatt
47148430d2 enable compilation of tests formerly in "racket-test"; reorganize
A package like "gui" does not depend on a package like "gui-test",
which means that you have to specifically ask for a test package if
you want the tests. A new "main-distribution-test" package
aggregates the tests for packages that are in "main-distribution".

The "plt-services" package, meanwhile, depends on the
"main-distribution-test" package, which means that all tests are
compiled by default for an in-place build.

original commit: d50d0f8bca
2013-07-16 18:45:05 -06:00
Sam Tobin-Hochstadt
5a758b6ecc Use #lang info instead of #lang setup/infotab.
original commit: 5a7ca7ebb5
2013-07-04 16:46:32 -04:00
Matthew Flatt
b63d902657 make packages single-collection by default
The `single-collection' "info.rkt" definition is no longer supported.

original commit: aabbfdc3d5
2013-07-03 19:49:06 -06:00
Sam Tobin-Hochstadt
4ebcdce773 Move most of the compiler collection to compiler-lib.
original commit: 3ad009070e
2013-07-01 12:08:42 -04:00
Sam Tobin-Hochstadt
1c93e0f023 Remove most uses of mzscheme in the core.
Remaining are:
 - parts of unit200 that Matthew plans to remove.
 - the `mzscheme` implementation itself.

The implementation of `mzscheme` has been moved
to the `mzscheme` collection (from the `racket` and
`scheme` collections). The `scheme/mzscheme`
language, which was undocumented, has been removed.

This is slightly backwards-incompatible, because
the `xform` handling of precompiled headers now
evaluates code in a `racket/base`-like namespace,
instead of in a `mzscheme`-like namespace.

original commit: d54c1e4e49
2013-07-01 12:08:42 -04:00
Matthew Flatt
3ef406b5c6 auto-fix dependencies in "pkgs"
Left one dependency broken: "drracket" currently depends on "htdp" for
a test. That needs to be fixed by removing the dependency (moving the
test to "htdp?), instead of changing the declared dependencies.

original commit: 51290fd2a9
2013-06-29 06:51:19 -06:00
Matthew Flatt
04efdd405d raco setup: add package-dependency checking
The new `--no-pkg-deps' or `-K' flag skips the check.

If a module in package X refers to a module in package Y, check that
package X declares a dependency on Y.  Note that package X must
specifically depend on Y --- not another package that at the moment
happens to declare a dependency on Y.

A new "base" package represents the content of the core (so that, if
the core shrinks, a new "base2" can represent the smaller core).
Most every package now needs a dependency on "base".

Sometimes, it makes sense for X to access Y when X declares a
dependency on Z, because Z promises to always depend on Y.  For
example, the "gui" package is defined to combne "gui-lib" and
"gui-doc", so it's appropriate to use the modules of "gui-lib" when
depending on "gui". A package's "info.rkt" can therefore define
`implies' as a subset of the dependencies listed in `deps', which
means that depending on the package implies a dependency on the listed
packages. (It's even possible for packages to mutually imply each
other, which is why the dependency checking code ends up with a
union-find.)

Dependency checking distinguishes between run-time dependencies and
build-time dependencies: anything listed in a ".dep" file is a build
dependency, at least. To imply a run-time dependency, a reference must
appear in a bytecode file's imports, and not in a subdirectory or
submodule that would be pruned for a binary package.

The `--fix-pkg-deps' flag attempts to automatically fix package
dependency declarations (i.e., modify a package's "info.rkt" file)
based on inferred dependencies.

original commit: 04d5d9bd55
2013-06-29 06:51:18 -06:00
Sam Tobin-Hochstadt
986ec9297b Move much of mzlib to compatibility-lib package.
original commit: 7917f32d0c
2013-06-27 13:53:52 -04:00
Matthew Flatt
f2627708e9 a step toward single-collection packages as default
A package's "info.rkt" file should define `collection' as a
string to name a single-collection package's collection, or as
the symbol 'multi to declare the package as multi-collection.
If `collection' is 'same-as-pkg, then the package name is used
as the collection name.

The default for `collection' is 'multi for now, but the intent
is to change the default to 'same-as-pkg after a conversion
period. Also, support for a `single-collection' definition remains
in place, but it wil be removed.

original commit: c738a6aa3e
2013-06-25 22:46:23 +02:00
Matthew Flatt
e828d319f8 reorganize into core plus packages
The "racket" directory contains a pared-back version of the
repository, roughly.

The "pkgs" directory everything else in the repository, but
organized into packages.

original commit: b2ebb0a28b
2013-06-19 09:01:37 -06:00
Kimball Germane
f4abd52fa7 Language-level demodularizer.
original commit: c9f4b96f88
2013-06-12 05:56:52 -06:00
Matthew Flatt
4cdad9dec2 raco pkg create: support "source" and "binary" bundling
Adds `--from-dir' and `--from-install' flags to select the interpretation
of the argument as a directory or as the name of an installed package.
Relevant to PR 13669

Adds `--as-is' (the default), `--source', and `--binary' flags to
select a pruning mode.

The `raco setup' tool recognizes a `rendered-scribblings' specification
in "info.rkt" to trigger moving rendered documentation into place,
registering its tags in the cross-reference database, and fixing up
references to "local-redirect.js"; the presence of a "synced.rktd"
indicates when those fixups have been performed (since, if the package
is installed in a user-specific scope, the documentation doesn't actually
move anywhere). Finally, "out<n>.sxref" needs to report paths relative to
the documentation's directory, and then the relative-directory references
need to be suitably resolved at derserialization; some support for such
relative paths was in place, but it wasn't quite general enough before.

original commit: 198a65a5fc
2013-05-16 11:50:04 -06:00
Matthew Flatt
2837513428 fix `raco exe' test
original commit: b3e2d35be9
2013-05-08 12:31:34 -04:00
Matthew Flatt
8254cd3d98 add `configure-runtime' submodule support
A language can now introduce a `configure-runtime' submodule that
is `dynamic-require'd before the enclosing module.

This new submodule protocol provides a more general and
easier-to-understand way of configuring the run-time environment for
a module's language, as compared to the `module->language-info'
path (through a `get-info' function, via a 'configure-runtime value,
and finally loading the specified module).

The `module->language-info' path remains in place, and it is
checked after a `configure-runtime' submodule is run, since
that order is likely to be the most backward compatible.

original commit: 27f1b39294
2013-05-07 08:31:16 -04:00
Matthew Flatt
0416b4a5ff raco setup: allow foreign-lib and man-page installation
This change hopefully fills out the things that a distribution
can do and that packages should be able to extend.

original commit: 03b35cd846
2013-05-03 09:13:41 -06:00
Jay McCarthy
bd9cf60613 Adding summary mode, quiet program mode and changing tests/eli-tester to cooperate so it adds useful information in summary mode
original commit: ccf1119b68
2013-05-02 14:49:58 -06:00
Matthew Flatt
072bc1110c raco setup: add --doc-index; raco pkg: use --doc-index
This combination of changes moves the decision about rebuilding
"scribblings/main" and "scribblings/main/user" to `raco setup',
which is in a better position to know whether documentation should
be built at all.

original commit: 413ca68435
2013-05-02 12:18:40 -06:00
Eli Barzilay
45310eee82 raco test: make -r' and -x' mutually exclusive.
original commit: 02d7f58cc1
2013-04-20 02:04:42 -04:00
Matthew Flatt
58ce10c2ee demote some `raco' commands
The commands `link', `pack', and `unpack' are now
discouraged in favor of `pkg'.

original commit: 3e1ecc41b4
2013-04-17 12:28:50 -06:00
Matthew Flatt
cdbe3e0aaf raco setup: --tidy mode (as needed by `raco pkg remove') and more
When a collection disappears, then documentation and metadata
cross-references need fixing up based on everything that remains
available, even though other setup actions are confined to
collections that are specifically relevant to the packages. The
new `--tidy' mode takes care of that.

Package installation now also provides `--avoid-main' when working
with packages in a scope other than installation scope, and `raco
setup' now better respects `--avoid-main' to avoid creating
executables or re-running documentation.

Also, revise the `raco' documentation to better orient it toward the
package manager.

original commit: 51d48f3ab4
2013-04-17 12:28:50 -06:00
Matthew Flatt
4af90112d0 pkg/lib: lock clean-up, and add `path->pkg'
Make the installed-package database lock reentrant, change some
functions to take the lock, and fix the documentation on when a
lock is expected to be taken outside of functions.

original commit: 10e53e3bf4
2013-04-16 08:58:19 -06:00
Matthew Flatt
77833ba35b pkg/lib: clean up names and package-scope parameter
More consistent exported names and parameters that better match the
three scope choices (installation, user, or shared) --- cleaning up
after myself.

original commit: 267ac03279
2013-04-16 08:58:19 -06:00
Jay McCarthy
ab3a963a1b Removing the planet2 name from the code
original commit: 9f337c632a
2013-03-22 07:45:14 -06:00
Jay McCarthy
8bde42b9d5 Adding test logging facility to rackunit and eli-tester, with its own test and docs
original commit: 804791b011
2013-03-21 07:02:50 -06:00
Eli Barzilay
caa7435c1a Fix lots of indentation mistakes.
(Found by my ayatollah script...)

original commit: af6be85ff5
2013-03-14 10:55:47 -04:00
Matthew Flatt
bd39158cab terminology change again: "cross-phases persistent" modules
original commit: 88a36a077c
2013-02-27 08:53:43 -07:00
Matthew Flatt
02fb754fac minor decompiler tweak
original commit: a46849f3b9
2013-02-27 08:53:43 -07:00