Commit Graph

35041 Commits

Author SHA1 Message Date
Matthew Flatt
06c82877db raco pkg: add trash directory for removed/updated package installations
Packages that are installed as other than a link are not meant to be
edited, but work can get lost if a package is edited and then removed
or updated. Avoid that work loss by moving removed or updated packages
to a trash folder.

By default, the trash folder holds up to 512 packages for up to 48
hours. To disable the trash folder (for a given scope), use

 raco pkg config --set max-trash-packages 0

(I expect that some variant of Greenspun's rule predicted the eventual
inclusion of "backup" management in the package system.)
2014-12-08 16:44:31 -07:00
Matthew Flatt
4bcdb9a3a3 pkg info.rkt: refine specification of distribution-preference 2014-12-08 12:33:00 -07:00
Matthew Flatt
0adf62bfb9 doc clarification on beg0 bytecode form
From Gustavo, and intended to be part of commit
2d95c39051.
2014-12-08 09:17:05 -07:00
Matthew Flatt
8e3ea24b48 get-pkg-context: add #:use-cache? and #:quiet? arguments 2014-12-08 08:57:54 -07:00
Matthew Flatt
99c6f529e5 add makefile step to adjust for movements within "pkgs"
The step doesn't currently adapt to additionals or removals
from "pkgs", so further support may be needed in the future.
2014-12-08 06:36:17 -07:00
Matthew Flatt
4b36a8e9b5 fix handling of "links.rktd" errors 2014-12-08 05:33:09 -07:00
Matthew Flatt
2d4f3e2ac9 remove the "racket-pkgs" directory layer
The layer is now redundant, since everything left in "pkgs" is in the
"racket-pkgs" category.
2014-12-08 05:22:59 -07:00
Matthew Flatt
d6b4523336 pkg/dirs-catalog added
This utility that is needed by `make` turns out to be useful in other
scripts.
2014-12-07 11:19:29 -07:00
Matthew Flatt
25023835b9 adjust status reporting for raco pkg update
Reduce a little noise that was recently introduced.
2014-12-07 10:09:12 -07:00
Matthew Flatt
d400a7fcb1 move unix-installer test to "distro-build-test" 2014-12-07 10:01:58 -07:00
Matthew Flatt
39a9526f35 raco pkg update: recognize a directory that coresponds to a clone link
For example,

 raco pkg update --clone my/clone/test-pkg
 raco pkg update my/clone/test-pkg

will check for updates in the second case, not change the installation
to a directory link.
2014-12-07 10:01:57 -07:00
Matthew Flatt
9c75238cf2 raco pkg: fix path problems with updating a clone-linked package 2014-12-07 09:08:11 -07:00
Matthew Flatt
1cf985031d raco pkg update: allow --update-deps with a linked package
The linked package cannot be updated, but maybe its dependencies
can, so just alert the user that the linked package is skipped
instead of rejecting the request.
2014-12-07 09:08:11 -07:00
Matthew Flatt
8d2e32855e raco pkg: change default answer on clone-sharing conversion to "Y" 2014-12-07 09:08:11 -07:00
Matthew Flatt
2c3f13fe26 raco pkg update: make update to non-clone suggest more non-clone conversions
In other words, suggestion conversions in the non-clone direction the
same as conversions in the clone direction. As a way of disambiguation
the right direction, the non-clone direction is only suggested for
sharing that is immediately discovered from the command-line arguments
(as opposed to sharing that becomes apparent as other packages are
updated or installed via dependencies).
2014-12-07 09:08:11 -07:00
Sam Tobin-Hochstadt
74b86f9104 Now that this isn't an actual package, it doesn't need metadata. 2014-12-07 09:48:35 -05:00
Sam Tobin-Hochstadt
3b71166f8b Move unix installer test to the "racket-test" pkg. 2014-12-07 09:48:27 -05:00
Sam Tobin-Hochstadt
6e3815dcbe Remove mkheart.rkt, which has been moved to the racket/drracket
repository.
2014-12-07 09:41:25 -05:00
Sam Tobin-Hochstadt
755dc4a852 Split meta/images/taking-screenshots from the repository.
This is now in the `racket/taking-screenshots` repository.
2014-12-07 09:26:55 -05:00
Sam Tobin-Hochstadt
93d1fbd0ad Remove release announcements.
These are now in the `racket/racket-lang-org` repository.
2014-12-07 09:24:45 -05:00
Sam Tobin-Hochstadt
93ca457c56 Fix external packages built on drdr. 2014-12-06 23:35:45 -05:00
Matthew Flatt
e2bad60213 make: always raco setup in default target
Use `--no-setup` when installing packages to avoid a
definitely-reundant setup.
2014-12-05 16:57:36 -07:00
Matthew Flatt
f660d47d8b package "info.rkt": define distribution-preference
For now, the client is "distro-build".
2014-12-05 16:57:36 -07:00
Matthew Flatt
846be68ec1 makefile: remove lingering references to special native packages 2014-12-05 16:57:36 -07:00
Matthew Flatt
5af2611704 pkg-directory: add #:cache argument
The cache enables multiple calls to `pkg-directory` to load
installed-package information only once.
2014-12-05 16:57:36 -07:00
Asumu Takikawa
468d77e8d0 More hyperlinks between info.rkt docs
This adds links between most of the pages that
are hits for "info.rkt" in the doc search so that
it's easier to find the field specifications.
2014-12-05 15:29:41 -05:00
Matthew Flatt
2837c995a9 fix continuation reuse in non-JIT mode
The continuation mark to generate stack traces interfered with the
detection of equivalent continuations.
2014-12-05 10:16:56 -07:00
Matthew Flatt
38da2aa2e7 fix a problem mixing JIT and non-JIT code
Crashes the "optimize.rktl" test suite when the JIT supported but
disabled, because that test suite re-enables the JIT.
2014-12-05 10:16:40 -07:00
Matthew Flatt
b7039106e6 restore non-places parallel build
The build protocol had evolved to include paths in messages passed
between places/processes, and that doesn't work with processes.
2014-12-05 10:16:23 -07:00
Gustavo Massaccesi
2d95c39051 simplify treatmenet of begin0 and discarding expressions
Since `begin0` at the bytecode level always evaluates an initial
expression in non-tail position, we don't have to work so hard
to ensure that an extra expression sticks around.
2014-12-05 07:00:40 -07:00
Gustavo Massaccesi
60934f1415 optimizer: more optimizations for begin0
Move begin0 inside begin, for example
(begin0 (begin X Y) Z) ==> (begin X (begin0 Y Z))
Try to replace more begin0 with begin when the first expression is movable
Drop the begin0 when it has only one non omitable expression that preserves
the continuation marks.
2014-12-05 06:56:29 -07:00
Phil Nguyen
fbb6ae98b9 fix tiny typo in arith.rkt in racket guide 2014-12-04 21:56:41 -05:00
Juan Francisco Cantero Hurtado
2e48112cdb Combine some of the tests proposed initially to reduce the number of builds in Travis 2014-12-04 21:56:41 -05:00
Juan Francisco Cantero Hurtado
d0892df1dd Enable some extra tests in Travis CI. 2014-12-04 21:56:41 -05:00
Matthew Butterick
1e06b936cb correct inverted sentences 2014-12-04 21:47:42 -05:00
Matthew Flatt
a4abf116cb raco pkg: fix a test 2014-12-04 19:30:01 -07:00
Matthew Flatt
c140105068 raco pkg: fix removal before re-instal of extra clone-sharing packages 2014-12-04 19:30:01 -07:00
Matthew Flatt
c6d2548e22 make: fix Unix-style build 2014-12-04 19:30:01 -07:00
Sam Tobin-Hochstadt
0b461f98bd A file for this already existed. 2014-12-04 17:23:48 -05:00
Matthew Flatt
ae1e459a53 make: clear out "local" installer mode
The "local" installer mode made sense only with a "pkgs"
directory that had everything to be included in the installer.
2014-12-04 14:21:34 -07:00
Matthew Flatt
038da2b0e9 make: fix Windows build 2014-12-04 14:21:34 -07:00
Sam Tobin-Hochstadt
960d8f5cf4 Fix Travis tests by using collection paths instead for file paths. 2014-12-04 15:48:30 -05:00
Matthew Flatt
d05c00de3e fix build for a fresh checkout 2014-12-04 13:05:53 -07:00
Matthew Flatt
d593f5420b make: link packages via local catalog
Change the way that packages in "pkgs" are handled by `make`:
create a catalog that causes them to be installed on demand
as directory links.
2014-12-04 12:46:03 -07:00
Matthew Flatt
47f2f5483c remove "native-pkgs"
Treat native-library packages like all the others that are now
served from the catalog.
2014-12-04 10:11:15 -07:00
Matthew Flatt
344bffc959 package manager: "file://" URLs and "?type=..." queries
Allow a "file://" URL to specify a type that causes the path
to be installed as a link or static link. A type query like
that is mainly intended for use in a catalog, where a catalog
of local directories could create links as needed for other
packages (that might be pulled from other catalogs).
2014-12-04 10:03:52 -07:00
Matthew Flatt
e7264d2d98 package manager: adjust parsing of file:// URLs
For some reason, I previously made the package manager parse file URLs
by stripping away "file://" and treating the rest directly as a
path. Maybe it was to support relative paths, or maybe it was to
implicitly disallow query and fragment parts of the URL, but it seems
like a terrible idea; I've switched to `string->url` plus `url->path`.

As a result, parsing now implicitly allows and ignores query and
fragment parts of a "file://" URL. That's intended as a feature,
allowing extra information to be attached to a path in, for example,
a catalog.
2014-12-04 10:03:52 -07:00
Sam Tobin-Hochstadt
7b5d6fa130 Ignore extra-pkgs/ 2014-12-04 10:44:14 -05:00
Sam Tobin-Hochstadt
2987338218 Split almost everything else from the main repository.
The source to the split packages is in repositories under the
`racket` organization on GitHub. The repositories are all named
according to the pkg name, except for multiple-package
repositories such as `racket/compiler` which is named based on the
old directory name without the `-pkgs` suffix. Thus

   `pkgs/compiler-pkgs` -> https://github.com/racket/compiler

The Makefile has also been adjusted to pull packages from the
catalog when you type `make`. This currently relies on some tricks
that will break if you try to specify a particular set of `PKGS` on
the command line. We plan to improve this soon.

The packages in `pkgs/racket-pkgs` and `pkgs/base` are staying in
the repository, since they logically belong with the core code.

The `plt-services` package is still in the repository, but will
move out soon.
2014-12-04 10:33:19 -05:00
Matthew Flatt
f3dba3eb6b fix over-eager shortcut in the implementaiton of continuation jumps
Don't jump past a prompt when jumping to a continuation that is
a prefix of the current one.

Reported by Max New
2014-12-03 07:15:34 -07:00