Hi, On Saturday, February 26, 2022 8:47:45 AM EST Liliana Marie Prikler wrote: > First, can we simplify "make-installation-layer.rkt" to "make- > installation-layer"? I don't think the file extension conveys much > meaning here, or does it? To me (I don't know about anyone else), the ".rtk" extension tells me that I have to pass the file as an argument to `racket`, i.e. that the file is not a launcher from `raco exe` or a script with a shebang that I could `invoke` directly. > > Second, can we find an abbreviation for > > > + (extract-package-source* > > + `((,(origin > > + (method git-fetch) > > + (uri (git-reference > > + (url "https://github.com/racket/2d") > > + (commit %racket-commit))) > > + (sha256 (base32 > > + > > "1zzcz5qyjv7syi41vb8jkxjp1rqgj61zbsdrg0nlc4qy9qsafzgr")) > > + (file-name > > + (git-file-name "racket-2d" %racket-version))) > > + "2d" "2d-doc" "2d-lib") > > + (,(origin > > + (method git-fetch) > > + (uri (git-reference > > + (url "https://github.com/racket/algol60") > > + (commit %racket-commit))) > > + (sha256 (base32 > > + > > "09kj6asypmc24n29w0izc9p0q8hpga2hpkchsypfwn5c8zpvihlx")) > > + (file-name > > + (git-file-name "racket-algol60" %racket-version))) > > + ("algol60" ".")) > > + (,%racket-origin > > + ("base" "pkgs/base") ;; FIXME belongs in racket-minimal > > + ("racket-lib" "pkgs/racket-lib") ;; FIXME belongs in > > racket-minimal > > + ("at-exp-lib" "pkgs/at-exp-lib") > > + ("compiler" "pkgs/compiler") > > + ("compiler-lib" "pkgs/compiler-lib") > > + ("net" "pkgs/net") > > + ("net-doc" "pkgs/net-doc") > > + ("net-lib" "pkgs/net-lib") > > + ("racket-doc" "pkgs/racket-doc") > > + ("racket-index" "pkgs/racket-index") > > + ("sandbox-lib" "pkgs/sandbox-lib") > > + ("zo-lib" "pkgs/zo-lib")) > > + (,(origin > > + (method git-fetch) > > + (uri (git-reference > > + (url "https://github.com/racket/cext-lib") > > + (commit %racket-commit))) > > + (sha256 (base32 > > + > > "00w38jpv88fpl4pgj6ndnysvn0s21rjvj0xhznay80msan0vc341")) > > + (file-name (git-file-name "racket-cext-lib" %racket- > > version))) > > + "cext-lib" "dynext-lib") > > [...] > > I think some way to shorten those origins would do wonders in terms of > the number of lines this patch adds. > At one point, I had abbreviated the origins as something like: (REPO-SPEC SHA256 [COMMIT]) where REPO-SPEC is one of: (GITHUB-OWNER GITHUB-REPO) ; ^ e.g. for https://github.com/RenaissanceBug/racket-cookies GITHUB-REPO ; "racket" is owner and COMMIT defaults to `%racket-commit`, but could be overridden for . I think I'd given SHA256 as a literal string, but it could be e.g.: (extract-package-source* `((("2d" ,(base32 "1zzcz5qyjv7syi41vb8jkxjp1rqgj61zbsdrg0nlc4qy9qsafzgr")) "2d" "2d-doc" "2d-lib") ...)) if that seems better. I wasn't sure about the trade-off between being slightly more cryptic than explicit origins, but a lot shorter. -Philip