Last active
November 12, 2021 14:35
-
-
Save Metaxal/13c4effc483c5ef9f5797ace4950f97a to your computer and use it in GitHub Desktop.
When installing a new version of racket, run this script instead of just `raco pkg migrate <version-number-you-have-to-remember>`
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/racket | |
#lang racket/base | |
;;; License: [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) or | |
;;; [MIT license](http://opensource.org/licenses/MIT) at your option. | |
;; When installing a new version of Racket, | |
;; running this script setups all existing packages that had been installed | |
;; in the *user* scope. | |
;; | |
;; Notes: | |
;; * installation-wide packages are not migrated. | |
;; In particular, bundled packages that were updated with `raco pkg update --link ...`, | |
;; for example, will not be migrated and the bundled packages will take their place. | |
;; (Moreover, since this script is run with the new version of Racket, it's difficult | |
;; to discover these packages.) | |
;; * 'releases' and 'snapshot' packages are separated, and this script will migrate | |
;; only from the same type. | |
(require racket/string | |
racket/future | |
pkg/path | |
setup/setup) | |
(define h (read-pkgs-db 'user)) | |
(define pkgs (hash-keys h)) | |
(displayln (string-join (sort pkgs string<?) "\n")) | |
(setup #:pkgs pkgs #:make-doc-index? #t #:jobs (min (processor-count) 8)) ; no benefit after 8? |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment