Commit Graph

6065 Commits

Author SHA1 Message Date
Matthew Flatt
7e42b8dea2 scribblings/main: fix installation start page to avoid user-specific packages 2013-07-03 19:49:06 -06:00
Matthew Flatt
aabbfdc3d5 make packages single-collection by default
The `single-collection' "info.rkt" definition is no longer supported.
2013-07-03 19:49:06 -06:00
Matthew Flatt
df95e83eb2 raco pkg: configuration inherited: installation -> shared -> user 2013-07-03 19:49:06 -06:00
Robby Findler
964e1382f4 adjust the pkg/main.rkt exports to be of the form
pkt-<X>-command to avoid conflicting with pkg/lib
2013-07-03 07:19:01 -05:00
Sam Tobin-Hochstadt
37c87ec2e0 Move json tests to racket-test pkg. 2013-07-02 18:23:56 -04:00
Sam Tobin-Hochstadt
45c276b5db Fix reading of config.rktd file when in strange readtable. 2013-07-02 16:23:18 -04:00
Matthew Flatt
3264f16b63 Generalize use of farm config file
Change `FARM_CONFIG' to just `CONFIG' and use it on the server, too.
2013-07-02 06:40:16 -06:00
Matthew Flatt
00a4cb611b make doc-search URL configurable for installer builds
Also, add an initial-catalogs configuration to clients and
`farm' builds.
2013-07-02 06:40:16 -06:00
Robby Findler
dfafc9675e change exports from the 'pkg' module so they are all prefixed with pkg-
(the goal is to avoid shadowing 'remove')
2013-07-01 19:18:41 -05:00
Matthew Flatt
81f29602d0 raco pkg: fix handling of overlapping provided-package sets 2013-07-01 13:47:35 -06:00
Matthew Flatt
9b4940d6a6 fix build on version change 2013-07-01 10:53:04 -06:00
Matthew Flatt
b12cdecb9f fixup for mzscheme' -> racket/base' conversion 2013-07-01 10:49:07 -06:00
Sam Tobin-Hochstadt
3ad009070e Move most of the compiler collection to compiler-lib. 2013-07-01 12:08:42 -04:00
Sam Tobin-Hochstadt
d54c1e4e49 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.
2013-07-01 12:08:42 -04:00
Sam Tobin-Hochstadt
d0a0e31abc Fix uses of 'mzscheme' in comments. 2013-07-01 11:27:14 -04:00
Sam Tobin-Hochstadt
9f31b8bb30 Copy many fewer files for xform. 2013-07-01 11:27:14 -04:00
Sam Tobin-Hochstadt
2b1fb036c6 Move most of the net collection out of the core.
- Most units and signatures from the `net` collection
  are now in `compatibility-lib`.
- Most of the actual libraries are in the `net-lib`
  package.
2013-07-01 11:27:14 -04:00
Matthew Flatt
513436e5b2 fix arity checking of `call-with-file-lock/timeout' 2013-07-01 06:42:58 -06:00
Matthew Flatt
1423be581d raco setup: fix dependency checking for more nested directories
I'm not sure why a problem with the "package closure" operation
didn't create problems earlier for `raco setup' --- or maybe it
did, but they're difficult to see.

Also, reduce redundancy in reporting of reasons for dependency
mismatches (but keep multiple reports of the same missing
dependency but for different reasons).
2013-06-29 18:38:17 -06:00
Matthew Flatt
5ff8f33661 adjust `raco setup' package-dependency reporting
Report packages that have no dependency declarations as "warnings"
(to stdout instead of stderr).

Report specific information when a dependency is discoeverd missing,
insteda of reporting it only in verbose mode.
2013-06-29 09:36:51 -06:00
Robby Findler
d412afa426 removed unused variable 2013-06-29 10:33:37 -05:00
Matthew Flatt
04d5d9bd55 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.
2013-06-29 06:51:18 -06:00
Matthew Flatt
336d6ebc09 ditto on build repair (missed two places) 2013-06-29 06:19:09 -06:00
Matthew Flatt
0fdc7ec1a1 build repair for case that "etc" does not exist 2013-06-28 08:32:33 -06:00
Matthew Flatt
a89ba74f4e raco pkg: fix dependency checking for user and shared scopes 2013-06-28 06:57:20 -06:00
Matthew Flatt
47f1b4498f setup/infotab: drop (require string-constants)' and (string-constant <id>)'
The problem with allowing `(require string-constants)' in an
"info.rkt" file is that "string-constants-lib" is a package that might
not be installed.  Removing it allows any "info.rkt" file to be loaded
with just the core.

Strings constants were used for `textbook-pls' and
`drscheme-language-positions' entries. To enable access to string
constants for those specifications, DrRacket now recognizes
`get-textbook-pls' and `get-drscheme-language-positions' as
module path plus symbol specifications.

Also, fix up conflict checking in `raco pkg install' so that ".zo"
files without source do not count as provided modules unless an
"info.rkt" declares `assume-virtual-sources' (which is where we
got into trouble, again, with `string-constants'), making it
consistent with the way that `raco setup' removes ".zo" files.
2013-06-28 06:06:01 -06:00
Matthew Flatt
d450ee9707 link development-mode packages in a separate pkg database
Use `PKGS' with the top-level makefile to select packages for
a development-mode build. The default is "main-distribution",
which includes all packages in "pkgs".
2013-06-27 21:52:23 -06:00
Sam Tobin-Hochstadt
4d6bf3192d Move mzlib/restart back to fix build. 2013-06-27 23:37:33 -04:00
Sam Tobin-Hochstadt
5ec754803e Fix some mzlib references. 2013-06-27 23:13:46 -04:00
Robby Findler
40b2b19089 move mzlib/contract into compatibility-lib 2013-06-27 21:48:39 -05:00
Robby Findler
000c74ced5 adjust mzlib/contract so that it doesn't require any racket/contract/private stuff 2013-06-27 21:48:38 -05:00
Robby Findler
5eca63699c rewrite mzlib/contract to racket/contract 2013-06-27 21:48:38 -05:00
Asumu Takikawa
42b5cfe8b2 Use racket/cmdline instead of mzlib/cmdline
This should fix the build
2013-06-27 22:17:15 -04:00
Matthew Flatt
53d68e2149 switch "config.rktd" dirs back to "collects"-relative
Making them "etc"-relative intercts badly with redirecting
a configuration to override just a few values --- such as
the links path, which is what `make core' needs.
2013-06-27 17:04:16 -06:00
Sam Tobin-Hochstadt
52af4ed52e Move rackunit to the rackunit-lib package.
The `rackunit/log` utility stays in the core, because it's
used by `raco test` and very small.
2013-06-27 13:53:52 -04:00
Sam Tobin-Hochstadt
7917f32d0c Move much of mzlib to compatibility-lib package. 2013-06-27 13:53:52 -04:00
Sam Tobin-Hochstadt
59c6519cd3 Move compatibility, pconvert, and mutable pairs to new packages. 2013-06-27 13:53:52 -04:00
Sam Tobin-Hochstadt
e934ce2963 Move unstable/contract and unstable/options to their own packages. 2013-06-27 13:53:52 -04:00
Sam Tobin-Hochstadt
45f3fddee5 Move help collection out of the core. 2013-06-27 13:53:52 -04:00
Sam Tobin-Hochstadt
a0ddf78db8 Move various data structures to data-lib pkg. 2013-06-27 13:53:52 -04:00
Sam Tobin-Hochstadt
6521f950d6 Move srfi/4 out of the core. 2013-06-27 13:53:52 -04:00
Sam Tobin-Hochstadt
6c22c7ce3c Move errortrace collection and documentation to new packages. 2013-06-27 13:53:52 -04:00
Sam Tobin-Hochstadt
549310ea0c Move racket/sandbox etc to sandbox-lib package. 2013-06-27 13:53:52 -04:00
Matthew Flatt
a5ce399dcf .gitignore fixups 2013-06-27 07:52:28 -06:00
Matthew Flatt
4dc8050f75 catch up on documentation for some library changes
The library changes were made as part of the package reoganization.
2013-06-26 13:00:17 -07:00
Matthew Flatt
dc11090f6b repair interaction of taints and submodule expansion 2013-06-26 12:59:44 -07:00
Matthew Flatt
5f35290bbe remove testing hack 2013-06-26 12:59:44 -07:00
Eli Barzilay
555c300c72 .gitignore cleanups
* Clarified bogosity of toplevel .gitignore (and other such files)

* Removed "doc/" in the toplevel file -- looks like this was some broken
  leftover, and it's dangerous for at least "scribble/doc" (which
  contains code).

* Collapse more common patterns into worksp instead of in each file.

* Use a trailing "/" for directories.

* racket/lib/collects/pkg/.gitignore looks like a leftover that is no
  longer needed.
2013-06-26 00:52:01 -04:00
Robby Findler
bb955cead7 unbreak build (probably) 2013-06-25 19:01:31 -05:00
Matthew Flatt
c738a6aa3e 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.
2013-06-25 22:46:23 +02:00
Matthew Flatt
1ee88e2721 links file and pkg directrory location and search paths in "config.rktd"
Allow the location of the installation-specific "links.rktd" file to
be specified in "config.rktd", and also allow extra link files to
be provided.

Allow the same for package directories.

The main file/directory in each case corresponds to the file/directory
that can be modified by an installation-scope install. Extra files
or directories in a search path supports constant links and libraries
that are shared across installations --- like "/usr/lib" versus "/lib".
2013-06-25 22:46:23 +02:00
Matthew Flatt
2aed2138a6 raco link: "user" versus "shared" links
By default, `raco link' is now more like `raco pkg' in terms of scope,
and version-specific information doesn't pile up in a user's "links.rktd"
file.
2013-06-25 22:46:23 +02:00
Matthew Flatt
e51ac9cc61 fix `local-transformer-expand' with 'top-level context 2013-06-25 11:02:10 +02:00
Matthew Flatt
b8591a5a98 fix `path->relative-string/setup'
Need to make `path->relative-string/setup/pkg' have a better name
and be more accessible, though --- possibly replacing
`path->relative-string/setup'.
2013-06-22 06:29:55 -06:00
Matthew Flatt
208c7d23a6 detect changes to "links.rktd" by content instead of timestamp
The 1-second granularity of filesystem timestamps is not
good enough to deetct changes to the file --- especially
when `raco pkg' installs links and runs `raco setup' (in
the same Rcket process), in which case a newly installed link
might not be detected.

The longer-term repair is probably to add file-changed
events to Racket (based on `inotify' and similar interfaces
provided by OSes).
2013-06-21 13:16:03 -06:00
Matthew Flatt
2ff05e2dda win32: fix destination of COPYING files in build 2013-06-20 07:21:46 -06:00
Matthew Flatt
fc79d744d1 win32: make "doc" dir for core install 2013-06-20 06:41:09 -06:00
Matthew Flatt
fa6f56fcb1 move release notes in appropriate packages
A collection declares release notes with a `release-notes' field in
"info.rkt".

The "doc" directory is now populated exclusively by generated content,
instead of having a static "release-notes" directory (and a "keep-dirs.rktd"
file to record the static directories).
2013-06-19 21:01:52 -06:00
Matthew Flatt
8bd81d456b raco setup: better tracking of provides in database
Keep track of the out<n>.sxref timestamps, so that `raco setup'
can detect when the database is out of sync (instead of assuming that
it's always in sync with out<n>.sxref files).
2013-06-19 21:01:52 -06:00
Matthew Flatt
2e781d32f7 mzcom: set mzobj interface version to bogus value, for now
MzCOM and its build process need some sort of overhaul, but
it's on the backburner for now.
2013-06-19 21:01:52 -06:00
Matthew Flatt
8f2b08d0f5 win32: fix `win32-in-place' target on existing tree 2013-06-19 21:01:51 -06:00
Matthew Flatt
a63972b33b raco setup: fix some info-dmain problems
Info for "lib/collects" collections could be put in the wrong place,
and `--tidy' mode could miss some caches.
2013-06-19 12:39:33 -06:00
Matthew Flatt
a3c7be1a9c win32: fix version info in executables
Also, remove the need for a cron job that patches the version
number in resource and manifest files.
2013-06-19 11:20:03 -06:00
Matthew Flatt
092db5414a fix for `find-relevant-directory-records'
Multiple package-based instances of the same collection were not
handled correctly.
2013-06-19 09:01:38 -06:00
Matthew Flatt
b2ebb0a28b 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.
2013-06-19 09:01:37 -06:00