The package rpms/racket.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/racket.git/commit/?id=d219a714005...
https://src.fedoraproject.org/cgit/rpms/racket.git/commit/?id=72f9e792878...
https://src.fedoraproject.org/cgit/rpms/racket.git/commit/?id=fb079f8fd8b....
Change:
+ExcludeArch: %{arm} s390x ppc64le
+%ifarch %{arm} s390x
-%ifarch %{arm} s390x
Thanks.
Full change:
============
commit 29976eee2d7ea8af10aa0a3e5f37dea42dbf0174
Author: Jens Petersen <petersen(a)redhat.com>
Date: Mon Aug 28 23:43:55 2023 +0800
update to 7.9
diff --git a/.gitignore b/.gitignore
index dd3082f..fd6caef 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
/racket-7.0-src.tgz
/racket-7.4-src.tgz
+/racket-7.9-src.tgz
diff --git a/racket-7.4-remove-nonfree.patch b/racket-7.4-remove-nonfree.patch
deleted file mode 100644
index b670cbc..0000000
--- a/racket-7.4-remove-nonfree.patch
+++ /dev/null
@@ -1,967 +0,0 @@
-diff -urN racket-7.4-orig/share/links.rktd racket-7.4-remove-nonfree/share/links.rktd
---- racket-7.4-orig/share/links.rktd 2019-08-03 23:31:24.000000000 -0400
-+++ racket-7.4-remove-nonfree/share/links.rktd 2019-08-28 09:27:21.416018118 -0400
-@@ -177,7 +177,6 @@
- (root "pkgs/slideshow-exe")
- (root "pkgs/slideshow-plugin")
- (root "pkgs/srfi-doc")
-- (root "pkgs/srfi-doc-nonfree")
- (root "pkgs/syntax-color-doc")
- (root "pkgs/web-server-lib")
- (root "pkgs/unix-socket-lib")
-diff -urN racket-7.4-orig/share/pkgs/pkgs.rktd
racket-7.4-remove-nonfree/share/pkgs/pkgs.rktd
---- racket-7.4-orig/share/pkgs/pkgs.rktd 2019-08-03 23:31:24.000000000 -0400
-+++ racket-7.4-remove-nonfree/share/pkgs/pkgs.rktd 2019-08-28 09:28:17.804384118 -0400
-@@ -1 +1 @@
--#hash(("2d" . #s(pkg-info (catalog "2d")
"fc82a7bd227d7f3b8852351fc6bf34948a7750b8" #t)) ("2d-doc" .
#s((sc-pkg-info pkg-info 3) (catalog "2d-doc")
"209614ab3da685f46ece52c2efdf976f1e7697b1" #t "2d"))
("2d-lib" . #s((sc-pkg-info pkg-info 3) (catalog "2d-lib")
"8f5dd908df23ee2a698b178971be4e18d1937393" #t "2d"))
("algol60" . #s((sc-pkg-info pkg-info 3) (catalog "algol60")
"5a67faec1e3f59e98d5d5c4ee4687a9e9a34962f" #t "algol60"))
("at-exp-lib" . #s(pkg-info (catalog "at-exp-lib")
"68787a39b1d862726969eb03e54c6fcbab05d8d4" #t)) ("base" . #s(pkg-info
(catalog "base") "249d2a371f12382b1360dd7a77702fb28551133b" #t))
("cext-lib" . #s(pkg-info (catalog "cext-lib")
"1ce5c3f8ef512216a402de1e139a242cf6593999" #t)) ("class-iop-lib" .
#s(pkg-info (catalog "class-iop-lib")
"29c5747600fa93d2dac540e3381291e45fa09300" #t)) ("compatibility" .
#s(pkg-info (catalog "compatibility")
"0fd2da43b30b0f27aaafa5d67af21ddf7fe02dd6" #t)) ("compatibility-doc" .
#s(pkg-info (catalog "compatibility-doc")
"fee62d07a8e143615c24f365c7c48c30e1eebe8c" #t)) ("compatibility-lib" .
#s(pkg-info (catalog "compatibility-lib")
"8d1011f2f86192a07714e4088ff5e23ca794471a" #t)) ("compiler" .
#s(pkg-info (catalog "compiler")
"b1a38a648d3cb1adaca66e1d9fb2a3636421f4f8" #t)) ("compiler-lib" .
#s(pkg-info (catalog "compiler-lib")
"b60403b4873befa5811e5fabb65970a24e0bb950" #t)) ("contract-profile" .
#s((sc-pkg-info pkg-info 3) (catalog "contract-profile")
"001eec9d842dcd35b6f082934e614ba86a2ab4c0" #t "contract-profile"))
("data" . #s(pkg-info (catalog "data")
"98ef519ebf74d40ba645d00933e47fa0a516c96f" #t)) ("data-doc" .
#s(pkg-info (catalog "data-doc")
"ebfdbebb77721a087efc803f30bec6afe2292097" #t)) ("data-enumerate-lib"
. #s(pkg-info (catalog "data-enumerate-lib")
"f70dcd6ce6d7b14d1f1cc76b908df7cb2fd61929" #t)) ("data-lib" .
#s(pkg-info (catalog "data-lib")
"7fb6940020f610c669df432877213bfe79caebc7" #t)) ("datalog" .
#s((sc-pkg-info pkg-info 3) (catalog "datalog")
"411342493d6022b7d74f7e13955dfdfcf6e62f91" #t "datalog"))
("db" . #s(pkg-info (catalog "db")
"13af2037227b04af20e85e2fef78cc9686fc6e3d" #t)) ("db-doc" .
#s(pkg-info (catalog "db-doc")
"ed6cb9e0f165f5e390347d9a979f994c80e09e6a" #t)) ("db-lib" .
#s(pkg-info (catalog "db-lib")
"5c97b5ac2a3cf661d85cd7177029ce4686a9391e" #t)) ("deinprogramm" .
#s(pkg-info (catalog "deinprogramm")
"9e908294790f919de34f67ab3321f57a53f52e36" #t))
("deinprogramm-signature" . #s(pkg-info (catalog
"deinprogramm-signature") "433e0dc1f4f74ef73074ce1c387b06e9e260e212"
#t)) ("distributed-places" . #s(pkg-info (catalog
"distributed-places") "145c1cedf46768adf061fade24893965840f1643" #t))
("distributed-places-doc" . #s(pkg-info (catalog
"distributed-places-doc") "fda0badbab4441172b33ae31c3b2272ce59bcd3c"
#t)) ("distributed-places-lib" . #s(pkg-info (catalog
"distributed-places-lib") "db733a858f67c295196d3d5e62d4d1047dbe10c4"
#t)) ("draw" . #s(pkg-info (catalog "draw")
"1e57984e4a7e93fc30e6f42382b3bdf2d5162759" #t)) ("draw-doc" .
#s(pkg-info (catalog "draw-doc")
"e7348bde06b88e4261d46eeeb7a1b69cb1c4b5bb" #t)) ("draw-lib" .
#s(pkg-info (catalog "draw-lib")
"8343a0e4d9c082e2b5da7f36590f3d6f81a90815" #t)) ("drracket" .
#s(pkg-info (catalog "drracket")
"0233b83af527c6866ce458d5869c02f1c3148569" #t)) ("drracket-plugin-lib"
. #s(pkg-info (catalog "drracket-plugin-lib")
"c4715aa5984bf8dfe48d44038b4eb81525f7cac7" #t)) ("drracket-tool" .
#s(pkg-info (catalog "drracket-tool")
"93dcb297ed4ad62cf4605d632da64023bdfc1e69" #t)) ("drracket-tool-doc" .
#s(pkg-info (catalog "drracket-tool-doc")
"f44fa4ef2a14aaff04d3b26d5b4a701678e42b68" #t)) ("drracket-tool-lib" .
#s(pkg-info (catalog "drracket-tool-lib")
"f3ca7e15b2592b40c4aaf734cf00126d71e0876d" #t)) ("ds-store" .
#s((sc-pkg-info pkg-info 3) (catalog "ds-store")
"f3b74900e431d9ca6ee1038fb7dd1e08d759b009" #t "ds-store"))
("ds-store-doc" . #s((sc-pkg-info pkg-info 3) (catalog "ds-store-doc")
"06b754e0bc7ed6bd6ebf26b8ab4b3ae223ff9e3d" #t "ds-store"))
("ds-store-lib" . #s((sc-pkg-info pkg-info 3) (catalog "ds-store-lib")
"517b5f727a5df1d7230cfeae5c208433d9717d2a" #t "ds-store"))
("dynext-lib" . #s(pkg-info (catalog "dynext-lib")
"6327a91cf80c504524e1de84f2613263e62da80e" #t)) ("eli-tester" .
#s(pkg-info (catalog "eli-tester")
"0c9bfc31ad180898a7f10af252009084b0de30eb" #t)) ("eopl" .
#s((sc-pkg-info pkg-info 3) (catalog "eopl")
"b7725c60cac4f51be2fefef5bc393857c07dc0af" #t "eopl"))
("errortrace" . #s(pkg-info (catalog "errortrace")
"f8d7f00c7dacc7d1bb2bc99c76129798319881e7" #t)) ("errortrace-doc" .
#s(pkg-info (catalog "errortrace-doc")
"aea79310a7f250d43325f82467b4c4126338a425" #t)) ("errortrace-lib" .
#s(pkg-info (catalog "errortrace-lib")
"0b7417f006208d6c8fb5f4fa61e1099a970f1fc2" #t)) ("frtime" .
#s((sc-pkg-info pkg-info 3) (catalog "frtime")
"83bf86eb4a5f6b1a2f53ac8f7b0c265ca8e27839" #t "frtime"))
("future-visualizer" . #s(pkg-info (catalog "future-visualizer")
"76bc592353681f3d673841d65230deecd901ee8f" #t))
("future-visualizer-typed" . #s(pkg-info (catalog
"future-visualizer-typed") "a1698d4264a5267ac49b2451211e3391216a4e82"
#t)) ("games" . #s((sc-pkg-info pkg-info 3) (catalog "games")
"0ad78fb4ec37b6f19435b7599a566c1bb2e5847c" #t "games"))
("gui" . #s(pkg-info (catalog "gui")
"a74759a9030789bdea8a324bd69cad5e162c5937" #t)) ("gui-doc" .
#s(pkg-info (catalog "gui-doc")
"e79b96b5ded5e81a5beeb33d905d7e7ccd893074" #t)) ("gui-lib" .
#s(pkg-info (catalog "gui-lib")
"35c5e9a5dd69ba6839210d49e6c967ba418e9cc4" #t)) ("gui-pkg-manager-lib"
. #s(pkg-info (catalog "gui-pkg-manager-lib")
"1e0d8a3f2a60642e785c0459108f1be6034dbcb1" #t)) ("htdp" . #s(pkg-info
(catalog "htdp") "6e222eff85bae1b326f4282d8b82fc5c83202cfe" #t))
("htdp-doc" . #s(pkg-info (catalog "htdp-doc")
"e5892b0ae846f64e997e34ae2afb165b35f290b9" #t)) ("htdp-lib" .
#s(pkg-info (catalog "htdp-lib")
"1f18bce701e14d76fa2e4f14f8cded185b00a66d" #t)) ("html" . #s(pkg-info
(catalog "html") "59ab0bddd4935969e2af0469ad48a9c30f33ef60" #t))
("html-doc" . #s(pkg-info (catalog "html-doc")
"3cd2a18da0b91b209d196f0cf669f2e59829d2bc" #t)) ("html-lib" .
#s(pkg-info (catalog "html-lib")
"2b17b0447932ee0a5287581269d24b5e3e9dcbb5" #t)) ("icons" .
#s((sc-pkg-info pkg-info 3) (catalog "icons")
"77e8f436f370ce8d88aa39622c5921664b56845b" #t "icons"))
("images" . #s(pkg-info (catalog "images")
"98c6a0e120eb1115db9d376759b245db0591b07b" #t)) ("images-doc" .
#s(pkg-info (catalog "images-doc")
"99e114a7c7e234b6eaa23f99f863d03986bd62b5" #t)) ("images-gui-lib" .
#s(pkg-info (catalog "images-gui-lib")
"fef0ec840d82ed975370087fdcb049e0cce8e339" #t)) ("images-lib" .
#s(pkg-info (catalog "images-lib")
"9dcdc2e2388c63063a4a161e09585119d8d18e88" #t)) ("lazy" .
#s((sc-pkg-info pkg-info 3) (catalog "lazy")
"8038fc1a353a1618a5c19feecd7de1150719a9fc" #t "lazy"))
("macro-debugger" . #s(pkg-info (catalog "macro-debugger")
"448277bb97132d25236deb785dce8c81933235d2" #t))
("macro-debugger-text-lib" . #s(pkg-info (catalog
"macro-debugger-text-lib") "0549dc476d9f071569d59359dbe6e4039f8af250"
#t)) ("main-distribution" . #s(pkg-info (catalog "main-distribution")
"3d0f4e0314c4b437feb7c3b86ff69cf20ad1e0f0" #f)) ("make" .
#s((sc-pkg-info pkg-info 3) (catalog "make")
"93e3f1b4144e3a04392b753cedc34c7c49e63fe5" #t "make"))
("math" . #s(pkg-info (catalog "math")
"bc288b3ed293e90ef3a4eb05971d388265dc7065" #t)) ("math-doc" .
#s(pkg-info (catalog "math-doc")
"119b215101c0f1f82b6d28e06f5288812f38f2c3" #t)) ("math-lib" .
#s(pkg-info (catalog "math-lib")
"4e159abc47c306364ad02549853c1ddf82d6f8a2" #t)) ("mysterx" .
#s((sc-pkg-info pkg-info 3) (catalog "mysterx")
"23487c08b23cb7d965b97b0c45e6e3553854b869" #t "mysterx"))
("mzcom" . #s((sc-pkg-info pkg-info 3) (catalog "mzcom")
"ac97bd1dc80a2f867d17f75254a8bbb9faa24afd" #t "mzcom"))
("mzscheme" . #s(pkg-info (catalog "mzscheme")
"2a45b98e73f899324f2c5678d93df74f1792d23c" #t)) ("mzscheme-doc" .
#s(pkg-info (catalog "mzscheme-doc")
"de48e8b819047025177fac06b6f254e6f939fd23" #t)) ("mzscheme-lib" .
#s(pkg-info (catalog "mzscheme-lib")
"a6a2ec7fd0946a46c5368dbe1d7602419f8e7b53" #t)) ("net" . #s(pkg-info
(catalog "net") "5df16fb466651bbb270a30296b1e8ee5f86af6fe" #t))
("net-cookies" . #s(pkg-info (catalog "net-cookies")
"51f6db09a36adbeb73e6bfc25bcd7d2123cc563e" #t)) ("net-cookies-doc" .
#s(pkg-info (catalog "net-cookies-doc")
"c1380af8407ce13dc993830db20250d7348117a8" #t)) ("net-cookies-lib" .
#s(pkg-info (catalog "net-cookies-lib")
"12f95b8fa1d9d562cd2bc7b499dd2fdc7111d122" #t)) ("net-doc" .
#s(pkg-info (catalog "net-doc")
"effd2e00136f037f9c524e25973ffa0b4b5f6ab8" #t)) ("net-lib" .
#s(pkg-info (catalog "net-lib")
"c0e7e3b3d55d067fa1fa3d13736877f33fe4fe76" #t)) ("optimization-coach"
. #s(pkg-info (catalog "optimization-coach")
"79ef3e4ec8de133f6f0b1838218b9478ba22d9bc" #t)) ("option-contract" .
#s(pkg-info (catalog "option-contract")
"14f8553d264972db98ecb25007f0c62f72c88837" #t)) ("option-contract-doc"
. #s(pkg-info (catalog "option-contract-doc")
"12d4da169785f5af1e8e38357713656385b4a75d" #t)) ("option-contract-lib"
. #s(pkg-info (catalog "option-contract-lib")
"f01bff6dccd0e6cf8721ac9cf3a819c5a9fd25b7" #t)) ("parser-tools" .
#s(pkg-info (catalog "parser-tools")
"7c90da6b7e8b13a5faed4d196f29f74d24c308a3" #t)) ("parser-tools-doc" .
#s(pkg-info (catalog "parser-tools-doc")
"d3d05e4f5f175f790775c835317034e8f6b6394e" #t)) ("parser-tools-lib" .
#s(pkg-info (catalog "parser-tools-lib")
"22eaaae7d2dc79755eaf96029554ebb48fb7ccaf" #t)) ("pconvert-lib" .
#s(pkg-info (catalog "pconvert-lib")
"cf75aa36ac881f36c9f845f9b3d5c75bb016caac" #t)) ("pict" . #s(pkg-info
(catalog "pict") "b58b1e3ff96f16f62a8ca6e52efcf143d02c2552" #t))
("pict-doc" . #s(pkg-info (catalog "pict-doc")
"8e95db03fae67b105bd6afdce6c4dfcaf587c2c9" #t)) ("pict-lib" .
#s(pkg-info (catalog "pict-lib")
"2abed1569d91f15fa61d95e11f53d5cbbef610e1" #t)) ("pict-snip" .
#s(pkg-info (catalog "pict-snip")
"07039265dc698b136044724e4802b64517ba5209" #t)) ("pict-snip-doc" .
#s(pkg-info (catalog "pict-snip-doc")
"2453a4852fc2987b42f4ad4f6e92a1a448418db5" #t)) ("pict-snip-lib" .
#s(pkg-info (catalog "pict-snip-lib")
"28f4f45649589e010ab6c6cdc3e82ac9ff1fbe7f" #t)) ("picturing-programs"
. #s(pkg-info (catalog "picturing-programs")
"325870110f44e006c228f41619b5c77f331b82a1" #t)) ("plai" . #s(pkg-info
(catalog "plai") "6ac6f533410efd33f655d51314228c77c83172ac" #t))
("plai-doc" . #s((sc-pkg-info pkg-info 3) (catalog "plai-doc")
"c8363060f66e1bd1ddc72c8271e86cf3fcbeff9e" #t "plai"))
("plai-lib" . #s((sc-pkg-info pkg-info 3) (catalog "plai-lib")
"978f240e75c6ad1a4843a010fe250d9977e93339" #t "plai"))
("planet" . #s(pkg-info (catalog "planet")
"e1a53854ddae4cf4eef667a91f3c944eb1481371" #t)) ("planet-doc" .
#s(pkg-info (catalog "planet-doc")
"0356d590361d2b909c717e97dc4f9eb2b567461a" #t)) ("planet-lib" .
#s(pkg-info (catalog "planet-lib")
"a0993c8b1c3ae0f08f75a6e70d785dfa3e7adf66" #t)) ("plot" . #s(pkg-info
(catalog "plot") "898a4c570ed38396d684f260efa240d66accead9" #t))
("plot-compat" . #s(pkg-info (catalog "plot-compat")
"01b129e6ee41080f090c02054d07c7856ae2c06c" #t)) ("plot-doc" .
#s(pkg-info (catalog "plot-doc")
"70b006d5da401955e00000fcf6a3aacc296cd687" #t)) ("plot-gui-lib" .
#s(pkg-info (catalog "plot-gui-lib")
"57d49ac10de7a4d2520fe8a3c625eb91e6af8359" #t)) ("plot-lib" .
#s(pkg-info (catalog "plot-lib")
"84fecbb718ed024176c79f271f30579f5d753339" #t)) ("preprocessor" .
#s((sc-pkg-info pkg-info 3) (catalog "preprocessor")
"38fc7981a096322c67e4f7d9afac6f1fe664529e" #t "preprocessor"))
("profile" . #s(pkg-info (catalog "profile")
"2183f9722eb2efbe2c8feb400b73602ad97fe221" #t)) ("profile-doc" .
#s(pkg-info (catalog "profile-doc")
"1d7c7dd2ad37e0d6c842cf30c7a01a631b18a39e" #t)) ("profile-lib" .
#s((sc-pkg-info pkg-info 3) (catalog "profile-lib")
"4eed8ba01f406d199604b3727c405c2bf368a617" #t "profile"))
("quickscript" . #s((sc-pkg-info pkg-info 3) (catalog "quickscript")
"0c531a78067442fb5ac2b404f92c92427cff8bec" #t "quickscript"))
("r5rs" . #s(pkg-info (catalog "r5rs")
"febae235a352df6df59a2e2c45b8658322793103" #t)) ("r5rs-doc" .
#s(pkg-info (catalog "r5rs-doc")
"3b842a310c928a0647b0c29cb3eabe215270f8e2" #t)) ("r5rs-lib" .
#s(pkg-info (catalog "r5rs-lib")
"9fcc4ebda67e44abd34e6c97a1448cd9a3947b77" #t)) ("r6rs" . #s(pkg-info
(catalog "r6rs") "2ba0a84b06e7ab0ab49308fb6b58c23b29e39662" #t))
("r6rs-doc" . #s(pkg-info (catalog "r6rs-doc")
"972c5762a28dd773190c7aa46f9b972ac7c4c44e" #t)) ("r6rs-lib" .
#s(pkg-info (catalog "r6rs-lib")
"0a80a45a9666924b02b7e41002b3122b0b0606e3" #t)) ("racket-cheat" .
#s((sc-pkg-info pkg-info 3) (catalog "racket-cheat")
"11ef1c76f6459d0039e13cdc04326f5c54c28714" #t "racket-cheat"))
("racket-doc" . #s(pkg-info (catalog "racket-doc")
"7c41f0b0ae91a7d77da4d4f15c2e5e2f6ab5c689" #t)) ("racket-index" .
#s(pkg-info (catalog "racket-index")
"ec294cafcf79f9a7034d02b4b3ff8c2e2a717622" #t)) ("racket-lib" .
#s(pkg-info (catalog "racket-lib")
"addde48592db0ba3db8686c37951f20c7112d368" #f)) ("racklog" .
#s((sc-pkg-info pkg-info 3) (catalog "racklog")
"a587b4aa82ff470e0646185cce033900e1bdafa8" #t "racklog"))
("rackunit" . #s(pkg-info (catalog "rackunit")
"4b9de5253bfc93a4ba11e527bed3314d48ab0fc8" #t)) ("rackunit-doc" .
#s(pkg-info (catalog "rackunit-doc")
"26d22124d6eab4c79b73d778deef7b9bc73c2dec" #t)) ("rackunit-gui" .
#s(pkg-info (catalog "rackunit-gui")
"4cb8bc7487ff6bd55f653708d51f29fb75b490e2" #t)) ("rackunit-lib" .
#s(pkg-info (catalog "rackunit-lib")
"0069571fffeb268232fab1db7e9c6e8ea124f1ac" #t)) ("rackunit-plugin-lib"
. #s(pkg-info (catalog "rackunit-plugin-lib")
"a663951f3c13e3a6c0228949d97c6b2eef4a5b6c" #t)) ("rackunit-typed" .
#s((sc-pkg-info pkg-info 3) (catalog "rackunit-typed")
"d3ea39520e71e1fdcdaee0a4218575592c44a41a" #t "typed"))
("readline" . #s(pkg-info (catalog "readline")
"4c7e66cd27cf4408832c87e3ee86df7a6eefa09d" #t)) ("readline-doc" .
#s(pkg-info (catalog "readline-doc")
"3bded5f74e621afb05b47f4fb05e455d8c2ee3f7" #t)) ("readline-lib" .
#s(pkg-info (catalog "readline-lib")
"a5182fa3edd32b9d63e6c355ccb372e0310a9d6d" #t)) ("realm" .
#s((sc-pkg-info pkg-info 3) (catalog "realm")
"f013fc3db6882ece583015d48f0ad8e1e971601d" #t "realm"))
("redex" . #s(pkg-info (catalog "redex")
"57c8ddc62fd86b0ede08e92a7e47d35527768e99" #t)) ("redex-benchmark" .
#s(pkg-info (catalog "redex-benchmark")
"2433d94442a5f32f16d152656b168d1e6218aaa7" #t)) ("redex-doc" .
#s(pkg-info (catalog "redex-doc")
"6cedd1cfdc891d7ac3b46fcfe7767a4681443515" #t)) ("redex-examples" .
#s(pkg-info (catalog "redex-examples")
"98a38101bd790fa6bd8ff16ce8e2fb65245cb87c" #t)) ("redex-gui-lib" .
#s(pkg-info (catalog "redex-gui-lib")
"80083d5cded16afb0d45a59cdd655ddd396b8685" #t)) ("redex-lib" .
#s(pkg-info (catalog "redex-lib")
"04c6bc3954bf30293e0b5cfe76294a799e2f1aae" #t)) ("redex-pict-lib" .
#s(pkg-info (catalog "redex-pict-lib")
"9b13a5976edd63728d8914fc20bffb5ad981302f" #t)) ("sandbox-lib" .
#s(pkg-info (catalog "sandbox-lib")
"5b6080ff4052f881c343f6ccc847f860acb501a9" #t)) ("sasl" .
#s((sc-pkg-info pkg-info 3) (catalog "sasl")
"8dc49968c1ef11c5dd77f56c5979453a36d2c750" #t "sasl"))
("sasl-doc" . #s((sc-pkg-info pkg-info 3) (catalog "sasl-doc")
"02b6cf131a97af9caa622a77592bb851f5d58fa3" #t "sasl"))
("sasl-lib" . #s((sc-pkg-info pkg-info 3) (catalog "sasl-lib")
"d4ecdad04e42658a69d70d2f7d5eadae7ed7d16e" #t "sasl"))
("scheme-lib" . #s(pkg-info (catalog "scheme-lib")
"22e71c59ac20b09cd156062ce0fb0afb86aaa851" #t)) ("schemeunit" .
#s((sc-pkg-info pkg-info 3) (catalog "schemeunit")
"03986b499744194a9e06a66dfe988bed9fb8cc40" #t "schemeunit"))
("scribble" . #s(pkg-info (catalog "scribble")
"862cac10d6934b0dca35b4ebace9ffa0faa3a381" #t)) ("scribble-doc" .
#s(pkg-info (catalog "scribble-doc")
"fc38088b2924e7d902ceafc94243fd3ca2a52b45" #t)) ("scribble-html-lib" .
#s(pkg-info (catalog "scribble-html-lib")
"13105ce2064fa963c535187a657792e1ec95d284" #t)) ("scribble-lib" .
#s(pkg-info (catalog "scribble-lib")
"9be1c71d1c0f3f0d41031416689f012a16ba535a" #t)) ("scribble-text-lib" .
#s(pkg-info (catalog "scribble-text-lib")
"1d816dcc95b5f6d77ff6633b82a6dd40f7effe4e" #t))
("serialize-cstruct-lib" . #s(pkg-info (catalog
"serialize-cstruct-lib") "caeab596cb494273bcb84b917205a66bd06d0528"
#t)) ("sgl" . #s((sc-pkg-info pkg-info 3) (catalog "sgl")
"a2feb4952e01c7e02af068978ade81d0a213e035" #t "sgl"))
("shell-completion" . #s((sc-pkg-info pkg-info 3) (catalog
"shell-completion") "900d6f81d7f78d17ac1789436c36a3314f09fcec" #t
"shell-completion")) ("slatex" . #s((sc-pkg-info pkg-info 3) (catalog
"slatex") "7a36270767b37d0336b4d72c7ca89140f395f9af" #t
"slatex")) ("slideshow" . #s(pkg-info (catalog "slideshow")
"62d9fa5b5fc8f1b82fb7acae427e474488fb1c2a" #t)) ("slideshow-doc" .
#s(pkg-info (catalog "slideshow-doc")
"d023178269517583e08ea3afc13bd8e867e86eaa" #t)) ("slideshow-exe" .
#s(pkg-info (catalog "slideshow-exe")
"4764478f8f62ba0a9d66ef064945af605cac48cc" #t)) ("slideshow-lib" .
#s(pkg-info (catalog "slideshow-lib")
"b7d301d8496d23dd950606d50a2c9565067f77f5" #t)) ("slideshow-plugin" .
#s(pkg-info (catalog "slideshow-plugin")
"50fe3549998180cf9391d355fce67c1b95fee846" #t)) ("snip" . #s(pkg-info
(catalog "snip") "f6401933decce0674344953461fc80be6b600748" #t))
("snip-lib" . #s(pkg-info (catalog "snip-lib")
"8cf6a919d5d9021f782423b3712a0e73cf93842a" #t)) ("source-syntax" .
#s((sc-pkg-info pkg-info 3) (catalog "source-syntax")
"b6dde72b228b3e8e7da35fbc25cce395c8dce9cb" #t "syntax"))
("srfi" . #s(pkg-info (catalog "srfi")
"810795b1c70213bba3e3f02c29c0ec0be774d551" #t)) ("srfi-doc" .
#s(pkg-info (catalog "srfi-doc")
"9bcb860c00d8023421c3ab3e2785ab8ee92b8f9d" #t)) ("srfi-doc-nonfree" .
#s(pkg-info (catalog "srfi-doc-nonfree")
"6ac01197bd6a33c21ff69684704e73739708d92c" #t)) ("srfi-lib" .
#s(pkg-info (catalog "srfi-lib")
"8dd9d951c94054ec60a4e1d59fa2c1a462e8fff6" #t)) ("srfi-lite-lib" .
#s(pkg-info (catalog "srfi-lite-lib")
"2a40a8ecf4a2368b6c84d8f0bdd1c72df4f3cc7f" #t)) ("string-constants" .
#s(pkg-info (catalog "string-constants")
"602234aee270ea040b993f8146548aa0c835ee41" #t))
("string-constants-doc" . #s(pkg-info (catalog "string-constants-doc")
"627c9a564c187d9dbd2a1c6de302e38ed8cd105e" #t))
("string-constants-lib" . #s(pkg-info (catalog "string-constants-lib")
"85764e7ecf8df819142221a84380340c23607e18" #t)) ("swindle" .
#s((sc-pkg-info pkg-info 3) (catalog "swindle")
"56793a3d43336a0dfc1fb6d4933a6a7d0a6f18a6" #t "swindle"))
("syntax-color" . #s(pkg-info (catalog "syntax-color")
"0ab7c010c146aacbc26f81d73050e5dcb1ec44a4" #t)) ("syntax-color-doc" .
#s(pkg-info (catalog "syntax-color-doc")
"ebc23963c2f235893a2ae998311c439ca5f2de5e" #t)) ("syntax-color-lib" .
#s(pkg-info (catalog "syntax-color-lib")
"c496941837238109ebf69e6a2a3740136baf077e" #t)) ("testing-util-lib" .
#s(pkg-info (catalog "testing-util-lib")
"6ad76708f90cc3938a72d556458f92cde3e30578" #t)) ("tex-table" .
#s((sc-pkg-info pkg-info 3) (catalog "tex-table")
"c6127491120f723f26dbba30d217e4f2aeb12084" #t "mrlib"))
("trace" . #s((sc-pkg-info pkg-info 3) (catalog "trace")
"953c7b5e344cfc8859006ffbfce4fdf360647d81" #t "trace"))
("typed-racket" . #s(pkg-info (catalog "typed-racket")
"7896fb7492e6230f58d73d202ce9e6f77e3f98b7" #t))
("typed-racket-compatibility" . #s(pkg-info (catalog
"typed-racket-compatibility")
"1bf2425d25d54c653d693290f41e9587847357a6" #t)) ("typed-racket-doc" .
#s(pkg-info (catalog "typed-racket-doc")
"d338099f40c47dbfb62f699206e99cfdfa7e32d6" #t)) ("typed-racket-lib" .
#s(pkg-info (catalog "typed-racket-lib")
"3eff82ebcceeab467c35cf19044013c83a47bd32" #t)) ("typed-racket-more" .
#s(pkg-info (catalog "typed-racket-more")
"600a695a0f59fe2740cf9e2080a13e25310a5114" #t)) ("unix-socket" .
#s(pkg-info (catalog "unix-socket")
"c015b6081883e19b3f1d2343bddca9895499832c" #t)) ("unix-socket-doc" .
#s(pkg-info (catalog "unix-socket-doc")
"b5d7f058cd0984aef1d8214968e79c202b972636" #t)) ("unix-socket-lib" .
#s(pkg-info (catalog "unix-socket-lib")
"e8d16e6cf98e03dc141ce410e7fddb83eb420e54" #t)) ("web-server" .
#s(pkg-info (catalog "web-server")
"9e01035046e279382ab2c1aa5c3f68d7533afd64" #t)) ("web-server-doc" .
#s(pkg-info (catalog "web-server-doc")
"afb48732580aaf70f2d13dc0f3115f25672a0fb6" #t)) ("web-server-lib" .
#s(pkg-info (catalog "web-server-lib")
"1fb4a0c9718b0e835d730f92289f9855018dfee3" #t)) ("wxme" . #s(pkg-info
(catalog "wxme") "a56f70bd66b595d03baa8fb60046c3826b3abaaa" #t))
("wxme-lib" . #s(pkg-info (catalog "wxme-lib")
"75d7ad58da6d6fe5e3b5d81fe3f1e73b37460ae5" #t)) ("xrepl" . #s(pkg-info
(catalog "xrepl") "c577bf792fde613ada8dc08f3b76b9daf3fc6814" #t))
("xrepl-doc" . #s(pkg-info (catalog "xrepl-doc")
"1724207363217dc4e931ac92e017c594a7a2a44b" #t)) ("xrepl-lib" .
#s(pkg-info (catalog "xrepl-lib")
"829e38b7ffcd0508842871b5aa354a531ddee4fa" #t)) ("zo-lib" .
#s(pkg-info (catalog "zo-lib")
"0f00c96ccaf933002e5c1e9f6b9e8856cbcd04eb" #t)))
-+#hash(("2d" . #s(pkg-info (catalog "2d")
"fc82a7bd227d7f3b8852351fc6bf34948a7750b8" #t)) ("2d-doc" .
#s((sc-pkg-info pkg-info 3) (catalog "2d-doc")
"209614ab3da685f46ece52c2efdf976f1e7697b1" #t "2d"))
("2d-lib" . #s((sc-pkg-info pkg-info 3) (catalog "2d-lib")
"8f5dd908df23ee2a698b178971be4e18d1937393" #t "2d"))
("algol60" . #s((sc-pkg-info pkg-info 3) (catalog "algol60")
"5a67faec1e3f59e98d5d5c4ee4687a9e9a34962f" #t "algol60"))
("at-exp-lib" . #s(pkg-info (catalog "at-exp-lib")
"68787a39b1d862726969eb03e54c6fcbab05d8d4" #t)) ("base" . #s(pkg-info
(catalog "base") "249d2a371f12382b1360dd7a77702fb28551133b" #t))
("cext-lib" . #s(pkg-info (catalog "cext-lib")
"1ce5c3f8ef512216a402de1e139a242cf6593999" #t)) ("class-iop-lib" .
#s(pkg-info (catalog "class-iop-lib")
"29c5747600fa93d2dac540e3381291e45fa09300" #t)) ("compatibility" .
#s(pkg-info (catalog "compatibility")
"0fd2da43b30b0f27aaafa5d67af21ddf7fe02dd6" #t)) ("compatibility-doc" .
#s(pkg-info (catalog "compatibility-doc")
"fee62d07a8e143615c24f365c7c48c30e1eebe8c" #t)) ("compatibility-lib" .
#s(pkg-info (catalog "compatibility-lib")
"8d1011f2f86192a07714e4088ff5e23ca794471a" #t)) ("compiler" .
#s(pkg-info (catalog "compiler")
"b1a38a648d3cb1adaca66e1d9fb2a3636421f4f8" #t)) ("compiler-lib" .
#s(pkg-info (catalog "compiler-lib")
"b60403b4873befa5811e5fabb65970a24e0bb950" #t)) ("contract-profile" .
#s((sc-pkg-info pkg-info 3) (catalog "contract-profile")
"001eec9d842dcd35b6f082934e614ba86a2ab4c0" #t "contract-profile"))
("data" . #s(pkg-info (catalog "data")
"98ef519ebf74d40ba645d00933e47fa0a516c96f" #t)) ("data-doc" .
#s(pkg-info (catalog "data-doc")
"ebfdbebb77721a087efc803f30bec6afe2292097" #t)) ("data-enumerate-lib"
. #s(pkg-info (catalog "data-enumerate-lib")
"f70dcd6ce6d7b14d1f1cc76b908df7cb2fd61929" #t)) ("data-lib" .
#s(pkg-info (catalog "data-lib")
"7fb6940020f610c669df432877213bfe79caebc7" #t)) ("datalog" .
#s((sc-pkg-info pkg-info 3) (catalog "datalog")
"411342493d6022b7d74f7e13955dfdfcf6e62f91" #t "datalog"))
("db" . #s(pkg-info (catalog "db")
"13af2037227b04af20e85e2fef78cc9686fc6e3d" #t)) ("db-doc" .
#s(pkg-info (catalog "db-doc")
"ed6cb9e0f165f5e390347d9a979f994c80e09e6a" #t)) ("db-lib" .
#s(pkg-info (catalog "db-lib")
"5c97b5ac2a3cf661d85cd7177029ce4686a9391e" #t)) ("deinprogramm" .
#s(pkg-info (catalog "deinprogramm")
"9e908294790f919de34f67ab3321f57a53f52e36" #t))
("deinprogramm-signature" . #s(pkg-info (catalog
"deinprogramm-signature") "433e0dc1f4f74ef73074ce1c387b06e9e260e212"
#t)) ("distributed-places" . #s(pkg-info (catalog
"distributed-places") "145c1cedf46768adf061fade24893965840f1643" #t))
("distributed-places-doc" . #s(pkg-info (catalog
"distributed-places-doc") "fda0badbab4441172b33ae31c3b2272ce59bcd3c"
#t)) ("distributed-places-lib" . #s(pkg-info (catalog
"distributed-places-lib") "db733a858f67c295196d3d5e62d4d1047dbe10c4"
#t)) ("draw" . #s(pkg-info (catalog "draw")
"1e57984e4a7e93fc30e6f42382b3bdf2d5162759" #t)) ("draw-doc" .
#s(pkg-info (catalog "draw-doc")
"e7348bde06b88e4261d46eeeb7a1b69cb1c4b5bb" #t)) ("draw-lib" .
#s(pkg-info (catalog "draw-lib")
"8343a0e4d9c082e2b5da7f36590f3d6f81a90815" #t)) ("drracket" .
#s(pkg-info (catalog "drracket")
"0233b83af527c6866ce458d5869c02f1c3148569" #t)) ("drracket-plugin-lib"
. #s(pkg-info (catalog "drracket-plugin-lib")
"c4715aa5984bf8dfe48d44038b4eb81525f7cac7" #t)) ("drracket-tool" .
#s(pkg-info (catalog "drracket-tool")
"93dcb297ed4ad62cf4605d632da64023bdfc1e69" #t)) ("drracket-tool-doc" .
#s(pkg-info (catalog "drracket-tool-doc")
"f44fa4ef2a14aaff04d3b26d5b4a701678e42b68" #t)) ("drracket-tool-lib" .
#s(pkg-info (catalog "drracket-tool-lib")
"f3ca7e15b2592b40c4aaf734cf00126d71e0876d" #t)) ("ds-store" .
#s((sc-pkg-info pkg-info 3) (catalog "ds-store")
"f3b74900e431d9ca6ee1038fb7dd1e08d759b009" #t "ds-store"))
("ds-store-doc" . #s((sc-pkg-info pkg-info 3) (catalog "ds-store-doc")
"06b754e0bc7ed6bd6ebf26b8ab4b3ae223ff9e3d" #t "ds-store"))
("ds-store-lib" . #s((sc-pkg-info pkg-info 3) (catalog "ds-store-lib")
"517b5f727a5df1d7230cfeae5c208433d9717d2a" #t "ds-store"))
("dynext-lib" . #s(pkg-info (catalog "dynext-lib")
"6327a91cf80c504524e1de84f2613263e62da80e" #t)) ("eli-tester" .
#s(pkg-info (catalog "eli-tester")
"0c9bfc31ad180898a7f10af252009084b0de30eb" #t)) ("eopl" .
#s((sc-pkg-info pkg-info 3) (catalog "eopl")
"b7725c60cac4f51be2fefef5bc393857c07dc0af" #t "eopl"))
("errortrace" . #s(pkg-info (catalog "errortrace")
"f8d7f00c7dacc7d1bb2bc99c76129798319881e7" #t)) ("errortrace-doc" .
#s(pkg-info (catalog "errortrace-doc")
"aea79310a7f250d43325f82467b4c4126338a425" #t)) ("errortrace-lib" .
#s(pkg-info (catalog "errortrace-lib")
"0b7417f006208d6c8fb5f4fa61e1099a970f1fc2" #t)) ("frtime" .
#s((sc-pkg-info pkg-info 3) (catalog "frtime")
"83bf86eb4a5f6b1a2f53ac8f7b0c265ca8e27839" #t "frtime"))
("future-visualizer" . #s(pkg-info (catalog "future-visualizer")
"76bc592353681f3d673841d65230deecd901ee8f" #t))
("future-visualizer-typed" . #s(pkg-info (catalog
"future-visualizer-typed") "a1698d4264a5267ac49b2451211e3391216a4e82"
#t)) ("games" . #s((sc-pkg-info pkg-info 3) (catalog "games")
"0ad78fb4ec37b6f19435b7599a566c1bb2e5847c" #t "games"))
("gui" . #s(pkg-info (catalog "gui")
"a74759a9030789bdea8a324bd69cad5e162c5937" #t)) ("gui-doc" .
#s(pkg-info (catalog "gui-doc")
"e79b96b5ded5e81a5beeb33d905d7e7ccd893074" #t)) ("gui-lib" .
#s(pkg-info (catalog "gui-lib")
"35c5e9a5dd69ba6839210d49e6c967ba418e9cc4" #t)) ("gui-pkg-manager-lib"
. #s(pkg-info (catalog "gui-pkg-manager-lib")
"1e0d8a3f2a60642e785c0459108f1be6034dbcb1" #t)) ("htdp" . #s(pkg-info
(catalog "htdp") "6e222eff85bae1b326f4282d8b82fc5c83202cfe" #t))
("htdp-doc" . #s(pkg-info (catalog "htdp-doc")
"e5892b0ae846f64e997e34ae2afb165b35f290b9" #t)) ("htdp-lib" .
#s(pkg-info (catalog "htdp-lib")
"1f18bce701e14d76fa2e4f14f8cded185b00a66d" #t)) ("html" . #s(pkg-info
(catalog "html") "59ab0bddd4935969e2af0469ad48a9c30f33ef60" #t))
("html-doc" . #s(pkg-info (catalog "html-doc")
"3cd2a18da0b91b209d196f0cf669f2e59829d2bc" #t)) ("html-lib" .
#s(pkg-info (catalog "html-lib")
"2b17b0447932ee0a5287581269d24b5e3e9dcbb5" #t)) ("icons" .
#s((sc-pkg-info pkg-info 3) (catalog "icons")
"77e8f436f370ce8d88aa39622c5921664b56845b" #t "icons"))
("images" . #s(pkg-info (catalog "images")
"98c6a0e120eb1115db9d376759b245db0591b07b" #t)) ("images-doc" .
#s(pkg-info (catalog "images-doc")
"99e114a7c7e234b6eaa23f99f863d03986bd62b5" #t)) ("images-gui-lib" .
#s(pkg-info (catalog "images-gui-lib")
"fef0ec840d82ed975370087fdcb049e0cce8e339" #t)) ("images-lib" .
#s(pkg-info (catalog "images-lib")
"9dcdc2e2388c63063a4a161e09585119d8d18e88" #t)) ("lazy" .
#s((sc-pkg-info pkg-info 3) (catalog "lazy")
"8038fc1a353a1618a5c19feecd7de1150719a9fc" #t "lazy"))
("macro-debugger" . #s(pkg-info (catalog "macro-debugger")
"448277bb97132d25236deb785dce8c81933235d2" #t))
("macro-debugger-text-lib" . #s(pkg-info (catalog
"macro-debugger-text-lib") "0549dc476d9f071569d59359dbe6e4039f8af250"
#t)) ("main-distribution" . #s(pkg-info (catalog "main-distribution")
"3d0f4e0314c4b437feb7c3b86ff69cf20ad1e0f0" #f)) ("make" .
#s((sc-pkg-info pkg-info 3) (catalog "make")
"93e3f1b4144e3a04392b753cedc34c7c49e63fe5" #t "make"))
("math" . #s(pkg-info (catalog "math")
"bc288b3ed293e90ef3a4eb05971d388265dc7065" #t)) ("math-doc" .
#s(pkg-info (catalog "math-doc")
"119b215101c0f1f82b6d28e06f5288812f38f2c3" #t)) ("math-lib" .
#s(pkg-info (catalog "math-lib")
"4e159abc47c306364ad02549853c1ddf82d6f8a2" #t)) ("mysterx" .
#s((sc-pkg-info pkg-info 3) (catalog "mysterx")
"23487c08b23cb7d965b97b0c45e6e3553854b869" #t "mysterx"))
("mzcom" . #s((sc-pkg-info pkg-info 3) (catalog "mzcom")
"ac97bd1dc80a2f867d17f75254a8bbb9faa24afd" #t "mzcom"))
("mzscheme" . #s(pkg-info (catalog "mzscheme")
"2a45b98e73f899324f2c5678d93df74f1792d23c" #t)) ("mzscheme-doc" .
#s(pkg-info (catalog "mzscheme-doc")
"de48e8b819047025177fac06b6f254e6f939fd23" #t)) ("mzscheme-lib" .
#s(pkg-info (catalog "mzscheme-lib")
"a6a2ec7fd0946a46c5368dbe1d7602419f8e7b53" #t)) ("net" . #s(pkg-info
(catalog "net") "5df16fb466651bbb270a30296b1e8ee5f86af6fe" #t))
("net-cookies" . #s(pkg-info (catalog "net-cookies")
"51f6db09a36adbeb73e6bfc25bcd7d2123cc563e" #t)) ("net-cookies-doc" .
#s(pkg-info (catalog "net-cookies-doc")
"c1380af8407ce13dc993830db20250d7348117a8" #t)) ("net-cookies-lib" .
#s(pkg-info (catalog "net-cookies-lib")
"12f95b8fa1d9d562cd2bc7b499dd2fdc7111d122" #t)) ("net-doc" .
#s(pkg-info (catalog "net-doc")
"effd2e00136f037f9c524e25973ffa0b4b5f6ab8" #t)) ("net-lib" .
#s(pkg-info (catalog "net-lib")
"c0e7e3b3d55d067fa1fa3d13736877f33fe4fe76" #t)) ("optimization-coach"
. #s(pkg-info (catalog "optimization-coach")
"79ef3e4ec8de133f6f0b1838218b9478ba22d9bc" #t)) ("option-contract" .
#s(pkg-info (catalog "option-contract")
"14f8553d264972db98ecb25007f0c62f72c88837" #t)) ("option-contract-doc"
. #s(pkg-info (catalog "option-contract-doc")
"12d4da169785f5af1e8e38357713656385b4a75d" #t)) ("option-contract-lib"
. #s(pkg-info (catalog "option-contract-lib")
"f01bff6dccd0e6cf8721ac9cf3a819c5a9fd25b7" #t)) ("parser-tools" .
#s(pkg-info (catalog "parser-tools")
"7c90da6b7e8b13a5faed4d196f29f74d24c308a3" #t)) ("parser-tools-doc" .
#s(pkg-info (catalog "parser-tools-doc")
"d3d05e4f5f175f790775c835317034e8f6b6394e" #t)) ("parser-tools-lib" .
#s(pkg-info (catalog "parser-tools-lib")
"22eaaae7d2dc79755eaf96029554ebb48fb7ccaf" #t)) ("pconvert-lib" .
#s(pkg-info (catalog "pconvert-lib")
"cf75aa36ac881f36c9f845f9b3d5c75bb016caac" #t)) ("pict" . #s(pkg-info
(catalog "pict") "b58b1e3ff96f16f62a8ca6e52efcf143d02c2552" #t))
("pict-doc" . #s(pkg-info (catalog "pict-doc")
"8e95db03fae67b105bd6afdce6c4dfcaf587c2c9" #t)) ("pict-lib" .
#s(pkg-info (catalog "pict-lib")
"2abed1569d91f15fa61d95e11f53d5cbbef610e1" #t)) ("pict-snip" .
#s(pkg-info (catalog "pict-snip")
"07039265dc698b136044724e4802b64517ba5209" #t)) ("pict-snip-doc" .
#s(pkg-info (catalog "pict-snip-doc")
"2453a4852fc2987b42f4ad4f6e92a1a448418db5" #t)) ("pict-snip-lib" .
#s(pkg-info (catalog "pict-snip-lib")
"28f4f45649589e010ab6c6cdc3e82ac9ff1fbe7f" #t)) ("picturing-programs"
. #s(pkg-info (catalog "picturing-programs")
"325870110f44e006c228f41619b5c77f331b82a1" #t)) ("plai" . #s(pkg-info
(catalog "plai") "6ac6f533410efd33f655d51314228c77c83172ac" #t))
("plai-doc" . #s((sc-pkg-info pkg-info 3) (catalog "plai-doc")
"c8363060f66e1bd1ddc72c8271e86cf3fcbeff9e" #t "plai"))
("plai-lib" . #s((sc-pkg-info pkg-info 3) (catalog "plai-lib")
"978f240e75c6ad1a4843a010fe250d9977e93339" #t "plai"))
("planet" . #s(pkg-info (catalog "planet")
"e1a53854ddae4cf4eef667a91f3c944eb1481371" #t)) ("planet-doc" .
#s(pkg-info (catalog "planet-doc")
"0356d590361d2b909c717e97dc4f9eb2b567461a" #t)) ("planet-lib" .
#s(pkg-info (catalog "planet-lib")
"a0993c8b1c3ae0f08f75a6e70d785dfa3e7adf66" #t)) ("plot" . #s(pkg-info
(catalog "plot") "898a4c570ed38396d684f260efa240d66accead9" #t))
("plot-compat" . #s(pkg-info (catalog "plot-compat")
"01b129e6ee41080f090c02054d07c7856ae2c06c" #t)) ("plot-doc" .
#s(pkg-info (catalog "plot-doc")
"70b006d5da401955e00000fcf6a3aacc296cd687" #t)) ("plot-gui-lib" .
#s(pkg-info (catalog "plot-gui-lib")
"57d49ac10de7a4d2520fe8a3c625eb91e6af8359" #t)) ("plot-lib" .
#s(pkg-info (catalog "plot-lib")
"84fecbb718ed024176c79f271f30579f5d753339" #t)) ("preprocessor" .
#s((sc-pkg-info pkg-info 3) (catalog "preprocessor")
"38fc7981a096322c67e4f7d9afac6f1fe664529e" #t "preprocessor"))
("profile" . #s(pkg-info (catalog "profile")
"2183f9722eb2efbe2c8feb400b73602ad97fe221" #t)) ("profile-doc" .
#s(pkg-info (catalog "profile-doc")
"1d7c7dd2ad37e0d6c842cf30c7a01a631b18a39e" #t)) ("profile-lib" .
#s((sc-pkg-info pkg-info 3) (catalog "profile-lib")
"4eed8ba01f406d199604b3727c405c2bf368a617" #t "profile"))
("quickscript" . #s((sc-pkg-info pkg-info 3) (catalog "quickscript")
"0c531a78067442fb5ac2b404f92c92427cff8bec" #t "quickscript"))
("r5rs" . #s(pkg-info (catalog "r5rs")
"febae235a352df6df59a2e2c45b8658322793103" #t)) ("r5rs-doc" .
#s(pkg-info (catalog "r5rs-doc")
"3b842a310c928a0647b0c29cb3eabe215270f8e2" #t)) ("r5rs-lib" .
#s(pkg-info (catalog "r5rs-lib")
"9fcc4ebda67e44abd34e6c97a1448cd9a3947b77" #t)) ("r6rs" . #s(pkg-info
(catalog "r6rs") "2ba0a84b06e7ab0ab49308fb6b58c23b29e39662" #t))
("r6rs-doc" . #s(pkg-info (catalog "r6rs-doc")
"972c5762a28dd773190c7aa46f9b972ac7c4c44e" #t)) ("r6rs-lib" .
#s(pkg-info (catalog "r6rs-lib")
"0a80a45a9666924b02b7e41002b3122b0b0606e3" #t)) ("racket-cheat" .
#s((sc-pkg-info pkg-info 3) (catalog "racket-cheat")
"11ef1c76f6459d0039e13cdc04326f5c54c28714" #t "racket-cheat"))
("racket-doc" . #s(pkg-info (catalog "racket-doc")
"7c41f0b0ae91a7d77da4d4f15c2e5e2f6ab5c689" #t)) ("racket-index" .
#s(pkg-info (catalog "racket-index")
"ec294cafcf79f9a7034d02b4b3ff8c2e2a717622" #t)) ("racket-lib" .
#s(pkg-info (catalog "racket-lib")
"addde48592db0ba3db8686c37951f20c7112d368" #f)) ("racklog" .
#s((sc-pkg-info pkg-info 3) (catalog "racklog")
"a587b4aa82ff470e0646185cce033900e1bdafa8" #t "racklog"))
("rackunit" . #s(pkg-info (catalog "rackunit")
"4b9de5253bfc93a4ba11e527bed3314d48ab0fc8" #t)) ("rackunit-doc" .
#s(pkg-info (catalog "rackunit-doc")
"26d22124d6eab4c79b73d778deef7b9bc73c2dec" #t)) ("rackunit-gui" .
#s(pkg-info (catalog "rackunit-gui")
"4cb8bc7487ff6bd55f653708d51f29fb75b490e2" #t)) ("rackunit-lib" .
#s(pkg-info (catalog "rackunit-lib")
"0069571fffeb268232fab1db7e9c6e8ea124f1ac" #t)) ("rackunit-plugin-lib"
. #s(pkg-info (catalog "rackunit-plugin-lib")
"a663951f3c13e3a6c0228949d97c6b2eef4a5b6c" #t)) ("rackunit-typed" .
#s((sc-pkg-info pkg-info 3) (catalog "rackunit-typed")
"d3ea39520e71e1fdcdaee0a4218575592c44a41a" #t "typed"))
("readline" . #s(pkg-info (catalog "readline")
"4c7e66cd27cf4408832c87e3ee86df7a6eefa09d" #t)) ("readline-doc" .
#s(pkg-info (catalog "readline-doc")
"3bded5f74e621afb05b47f4fb05e455d8c2ee3f7" #t)) ("readline-lib" .
#s(pkg-info (catalog "readline-lib")
"a5182fa3edd32b9d63e6c355ccb372e0310a9d6d" #t)) ("realm" .
#s((sc-pkg-info pkg-info 3) (catalog "realm")
"f013fc3db6882ece583015d48f0ad8e1e971601d" #t "realm"))
("redex" . #s(pkg-info (catalog "redex")
"57c8ddc62fd86b0ede08e92a7e47d35527768e99" #t)) ("redex-benchmark" .
#s(pkg-info (catalog "redex-benchmark")
"2433d94442a5f32f16d152656b168d1e6218aaa7" #t)) ("redex-doc" .
#s(pkg-info (catalog "redex-doc")
"6cedd1cfdc891d7ac3b46fcfe7767a4681443515" #t)) ("redex-examples" .
#s(pkg-info (catalog "redex-examples")
"98a38101bd790fa6bd8ff16ce8e2fb65245cb87c" #t)) ("redex-gui-lib" .
#s(pkg-info (catalog "redex-gui-lib")
"80083d5cded16afb0d45a59cdd655ddd396b8685" #t)) ("redex-lib" .
#s(pkg-info (catalog "redex-lib")
"04c6bc3954bf30293e0b5cfe76294a799e2f1aae" #t)) ("redex-pict-lib" .
#s(pkg-info (catalog "redex-pict-lib")
"9b13a5976edd63728d8914fc20bffb5ad981302f" #t)) ("sandbox-lib" .
#s(pkg-info (catalog "sandbox-lib")
"5b6080ff4052f881c343f6ccc847f860acb501a9" #t)) ("sasl" .
#s((sc-pkg-info pkg-info 3) (catalog "sasl")
"8dc49968c1ef11c5dd77f56c5979453a36d2c750" #t "sasl"))
("sasl-doc" . #s((sc-pkg-info pkg-info 3) (catalog "sasl-doc")
"02b6cf131a97af9caa622a77592bb851f5d58fa3" #t "sasl"))
("sasl-lib" . #s((sc-pkg-info pkg-info 3) (catalog "sasl-lib")
"d4ecdad04e42658a69d70d2f7d5eadae7ed7d16e" #t "sasl"))
("scheme-lib" . #s(pkg-info (catalog "scheme-lib")
"22e71c59ac20b09cd156062ce0fb0afb86aaa851" #t)) ("schemeunit" .
#s((sc-pkg-info pkg-info 3) (catalog "schemeunit")
"03986b499744194a9e06a66dfe988bed9fb8cc40" #t "schemeunit"))
("scribble" . #s(pkg-info (catalog "scribble")
"862cac10d6934b0dca35b4ebace9ffa0faa3a381" #t)) ("scribble-doc" .
#s(pkg-info (catalog "scribble-doc")
"fc38088b2924e7d902ceafc94243fd3ca2a52b45" #t)) ("scribble-html-lib" .
#s(pkg-info (catalog "scribble-html-lib")
"13105ce2064fa963c535187a657792e1ec95d284" #t)) ("scribble-lib" .
#s(pkg-info (catalog "scribble-lib")
"9be1c71d1c0f3f0d41031416689f012a16ba535a" #t)) ("scribble-text-lib" .
#s(pkg-info (catalog "scribble-text-lib")
"1d816dcc95b5f6d77ff6633b82a6dd40f7effe4e" #t))
("serialize-cstruct-lib" . #s(pkg-info (catalog
"serialize-cstruct-lib") "caeab596cb494273bcb84b917205a66bd06d0528"
#t)) ("sgl" . #s((sc-pkg-info pkg-info 3) (catalog "sgl")
"a2feb4952e01c7e02af068978ade81d0a213e035" #t "sgl"))
("shell-completion" . #s((sc-pkg-info pkg-info 3) (catalog
"shell-completion") "900d6f81d7f78d17ac1789436c36a3314f09fcec" #t
"shell-completion")) ("slatex" . #s((sc-pkg-info pkg-info 3) (catalog
"slatex") "7a36270767b37d0336b4d72c7ca89140f395f9af" #t
"slatex")) ("slideshow" . #s(pkg-info (catalog "slideshow")
"62d9fa5b5fc8f1b82fb7acae427e474488fb1c2a" #t)) ("slideshow-doc" .
#s(pkg-info (catalog "slideshow-doc")
"d023178269517583e08ea3afc13bd8e867e86eaa" #t)) ("slideshow-exe" .
#s(pkg-info (catalog "slideshow-exe")
"4764478f8f62ba0a9d66ef064945af605cac48cc" #t)) ("slideshow-lib" .
#s(pkg-info (catalog "slideshow-lib")
"b7d301d8496d23dd950606d50a2c9565067f77f5" #t)) ("slideshow-plugin" .
#s(pkg-info (catalog "slideshow-plugin")
"50fe3549998180cf9391d355fce67c1b95fee846" #t)) ("snip" . #s(pkg-info
(catalog "snip") "f6401933decce0674344953461fc80be6b600748" #t))
("snip-lib" . #s(pkg-info (catalog "snip-lib")
"8cf6a919d5d9021f782423b3712a0e73cf93842a" #t)) ("source-syntax" .
#s((sc-pkg-info pkg-info 3) (catalog "source-syntax")
"b6dde72b228b3e8e7da35fbc25cce395c8dce9cb" #t "syntax"))
("srfi" . #s(pkg-info (catalog "srfi")
"810795b1c70213bba3e3f02c29c0ec0be774d551" #t)) ("srfi-doc" .
#s(pkg-info (catalog "srfi-doc")
"9bcb860c00d8023421c3ab3e2785ab8ee92b8f9d" #t)) ("srfi-lib" .
#s(pkg-info (catalog "srfi-lib")
"8dd9d951c94054ec60a4e1d59fa2c1a462e8fff6" #t)) ("srfi-lite-lib" .
#s(pkg-info (catalog "srfi-lite-lib")
"2a40a8ecf4a2368b6c84d8f0bdd1c72df4f3cc7f" #t)) ("string-constants" .
#s(pkg-info (catalog "string-constants")
"602234aee270ea040b993f8146548aa0c835ee41" #t))
("string-constants-doc" . #s(pkg-info (catalog "string-constants-doc")
"627c9a564c187d9dbd2a1c6de302e38ed8cd105e" #t))
("string-constants-lib" . #s(pkg-info (catalog "string-constants-lib")
"85764e7ecf8df819142221a84380340c23607e18" #t)) ("swindle" .
#s((sc-pkg-info pkg-info 3) (catalog "swindle")
"56793a3d43336a0dfc1fb6d4933a6a7d0a6f18a6" #t "swindle"))
("syntax-color" . #s(pkg-info (catalog "syntax-color")
"0ab7c010c146aacbc26f81d73050e5dcb1ec44a4" #t)) ("syntax-color-doc" .
#s(pkg-info (catalog "syntax-color-doc")
"ebc23963c2f235893a2ae998311c439ca5f2de5e" #t)) ("syntax-color-lib" .
#s(pkg-info (catalog "syntax-color-lib")
"c496941837238109ebf69e6a2a3740136baf077e" #t)) ("testing-util-lib" .
#s(pkg-info (catalog "testing-util-lib")
"6ad76708f90cc3938a72d556458f92cde3e30578" #t)) ("tex-table" .
#s((sc-pkg-info pkg-info 3) (catalog "tex-table")
"c6127491120f723f26dbba30d217e4f2aeb12084" #t "mrlib"))
("trace" . #s((sc-pkg-info pkg-info 3) (catalog "trace")
"953c7b5e344cfc8859006ffbfce4fdf360647d81" #t "trace"))
("typed-racket" . #s(pkg-info (catalog "typed-racket")
"7896fb7492e6230f58d73d202ce9e6f77e3f98b7" #t))
("typed-racket-compatibility" . #s(pkg-info (catalog
"typed-racket-compatibility")
"1bf2425d25d54c653d693290f41e9587847357a6" #t)) ("typed-racket-doc" .
#s(pkg-info (catalog "typed-racket-doc")
"d338099f40c47dbfb62f699206e99cfdfa7e32d6" #t)) ("typed-racket-lib" .
#s(pkg-info (catalog "typed-racket-lib")
"3eff82ebcceeab467c35cf19044013c83a47bd32" #t)) ("typed-racket-more" .
#s(pkg-info (catalog "typed-racket-more")
"600a695a0f59fe2740cf9e2080a13e25310a5114" #t)) ("unix-socket" .
#s(pkg-info (catalog "unix-socket")
"c015b6081883e19b3f1d2343bddca9895499832c" #t)) ("unix-socket-doc" .
#s(pkg-info (catalog "unix-socket-doc")
"b5d7f058cd0984aef1d8214968e79c202b972636" #t)) ("unix-socket-lib" .
#s(pkg-info (catalog "unix-socket-lib")
"e8d16e6cf98e03dc141ce410e7fddb83eb420e54" #t)) ("web-server" .
#s(pkg-info (catalog "web-server")
"9e01035046e279382ab2c1aa5c3f68d7533afd64" #t)) ("web-server-doc" .
#s(pkg-info (catalog "web-server-doc")
"afb48732580aaf70f2d13dc0f3115f25672a0fb6" #t)) ("web-server-lib" .
#s(pkg-info (catalog "web-server-lib")
"1fb4a0c9718b0e835d730f92289f9855018dfee3" #t)) ("wxme" . #s(pkg-info
(catalog "wxme") "a56f70bd66b595d03baa8fb60046c3826b3abaaa" #t))
("wxme-lib" . #s(pkg-info (catalog "wxme-lib")
"75d7ad58da6d6fe5e3b5d81fe3f1e73b37460ae5" #t)) ("xrepl" . #s(pkg-info
(catalog "xrepl") "c577bf792fde613ada8dc08f3b76b9daf3fc6814" #t))
("xrepl-doc" . #s(pkg-info (catalog "xrepl-doc")
"1724207363217dc4e931ac92e017c594a7a2a44b" #t)) ("xrepl-lib" .
#s(pkg-info (catalog "xrepl-lib")
"829e38b7ffcd0508842871b5aa354a531ddee4fa" #t)) ("zo-lib" .
#s(pkg-info (catalog "zo-lib")
"0f00c96ccaf933002e5c1e9f6b9e8856cbcd04eb" #t)))
-diff -urN racket-7.4-orig/share/pkgs/srfi/info.rkt
racket-7.4-remove-nonfree/share/pkgs/srfi/info.rkt
---- racket-7.4-orig/share/pkgs/srfi/info.rkt 2019-08-03 23:24:08.000000000 -0400
-+++ racket-7.4-remove-nonfree/share/pkgs/srfi/info.rkt 2019-08-28 09:26:35.582382386
-0400
-@@ -1 +1 @@
--(module info setup/infotab (#%module-begin (define package-content-state (quote (built
"7.4"))) (define collection (quote multi)) (define deps (quote
("srfi-lib" "srfi-doc" "srfi-doc-nonfree"))) (define implies
(quote ("srfi-lib" "srfi-doc" "srfi-doc-nonfree"))) (define
pkg-desc "Legacy SRFI (Scheme) libraries") (define pkg-authors (quote (mflatt
noel chongkai jay)))))
-+(module info setup/infotab (#%module-begin (define package-content-state (quote (built
"7.4"))) (define collection (quote multi)) (define deps (quote
("srfi-lib" "srfi-doc"))) (define implies (quote ("srfi-lib"
"srfi-doc"))) (define pkg-desc "Legacy SRFI (Scheme) libraries")
(define pkg-authors (quote (mflatt noel chongkai jay)))))
-diff -urN racket-7.4-orig/share/pkgs/srfi-doc-nonfree/info.rkt
racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/info.rkt
---- racket-7.4-orig/share/pkgs/srfi-doc-nonfree/info.rkt 2019-08-03 23:24:10.000000000
-0400
-+++ racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/info.rkt 1969-12-31
19:00:00.000000000 -0500
-@@ -1 +0,0 @@
--(module info setup/infotab (#%module-begin (define package-content-state (quote (built
"7.4"))) (define collection (quote multi)) (define build-deps (quote
("mzscheme-doc" "scheme-lib" "base" "scribble-lib"
"srfi-doc" "racket-doc" "r5rs-doc" "r6rs-doc"
"compatibility-lib"))) (define pkg-desc "non-free documentation for
\"srfi-lib\"") (define pkg-authors (quote (mflatt noel chongkai jay)))))
-diff -urN racket-7.4-orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/info.rkt
racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/srfi/scribblings/info.rkt
---- racket-7.4-orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/info.rkt 2019-08-03
21:32:26.000000000 -0400
-+++
racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/srfi/scribblings/info.rkt 1969-12-31
19:00:00.000000000 -0500
-@@ -1,3 +0,0 @@
--#lang info
--
--(define scribblings '(("srfi-nf.scrbl" (multi-page) (library 100))))
-diff -urN racket-7.4-orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-nf.scrbl
racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-nf.scrbl
---- racket-7.4-orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-nf.scrbl 2019-08-03
21:32:26.000000000 -0400
-+++
racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-nf.scrbl 1969-12-31
19:00:00.000000000 -0500
-@@ -1,68 +0,0 @@
--#lang scribble/doc
--@(require srfi/scribblings/util
-- scribble/manual
-- scribble/eval
-- scriblib/render-cond
-- scribble/core
-- scribble/html-properties
-- (for-syntax scheme/base)
-- (for-label scheme/base
-- racket/stream))
--
--@; ----------------------------------------------------------------------
--
--@title{SRFI Nonfree Libraries and Documentation}
--
--The @link[#:style srfi-std "http://srfi.schemers.org/"]{Scheme Requests for
--Implementation} (a.k.a. @deftech{SRFI}) process allows individual
--members of the Scheme community to propose libraries and extensions to
--be supported by multiple Scheme implementations.
--
--Racket is distributed with implementations of many SRFIs, most of
--which can be implemented as libraries. To import the bindings of SRFI
--@math{n}, use
--
--@racketblock[
--(require @#,elem{@racketidfont{srfi/}@math{n}})
--]
--
--This document lists the SRFIs that are supported by Racket and
--provides a link to the original SRFI specification (which is also
--distributed as part of Racket's documentation).
--
--The following SRFI specification documents are licensed restrictively.
--
--@table-of-contents[]
--
--
--@; ----------------------------------------
--
--@srfi[5]{A compatible let form with signatures and rest arguments}
--
--@redirect[5 '(
-- (let #t "unnamed")
--)]
--
--Racket provides a free implementation of this SRFI in the @racket[srfi-lib] package.
--Only the SRFI specification document is nonfree.
--
--@; ----------------------------------------
--
--@srfi[29]{Localization}
--
--@redirect[29 '(
-- (current-language #f "current-language")
-- (current-country #f "current-country")
-- (current-locale-details #f "current-locale-details")
-- (declare-bundle! #f "declare-bundle!")
-- (store-bundle #f "store-bundle")
-- (load-bundle! #f "load-bundle!")
-- (localized-template #f "localized-template")
--)]
--
--Racket provides a free implementation of this SRFI in the @racket[srfi-lib] package.
--Only the SRFI specification document is nonfree.
--
--@; ----------------------------------------
--
--@index-section[]
-diff -urN
racket-7.4-orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-29.html
racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-29.html
----
racket-7.4-orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-29.html 2019-08-03
21:32:26.000000000 -0400
-+++
racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-29.html 1969-12-31
19:00:00.000000000 -0500
-@@ -1,507 +0,0 @@
--<!DOCTYPE html PUBLIC "-//IETF//DTD HTML//EN">
--<html>
-- <head>
-- <meta name="generator" content="HTML Tidy, see
www.w3.org">
-- <title>SRFI 29: Localization</title>
-- <meta name="author" content="Scott G. Miller">
-- <meta name="description" content="Localization">
-- </head>
-- <body>
-- <H1>Title</H1>
--
-- SRFI 29: Localization
--
-- <H1>Author</H1>
--
-- Scott G. Miller
--
-- <H1>Abstract</H1>
--
-- This document specifies an interface to retrieving and
-- displaying locale sensitive messages. A Scheme program can
-- register one or more translations of templated messages, and
-- then write Scheme code that can transparently retrieve the
-- appropriate message for the locale under which the Scheme
-- system is running. <br>
--
--
-- <H1>Rationale</H1>
--
-- <p>As any programmer that has ever had to deal with making his
-- or her code readable in more than one locale, the process of
-- sufficiently abstracting program messages from their
-- presentation to the user is non-trivial without help from the
-- programming language. Most modern programming language
-- libraries do provide some mechanism for performing this
-- separation.</p>
--
-- <p>A portable API that allows a piece of code to run without
-- modification in different countries and under different
-- languages is a must for any non-trivial software project.
-- The interface should separate the logic of a program from
-- the myriad of translations that may be necessary.</p>
--
-- <p>The interface described in this document provides such
-- functionality. The underlying implementation is also allowed to
-- use whatever datastructures it likes to provide access to the
-- translations in the most efficient manner possible. In
-- addition, the implementation is provided with standardized
-- functions that programs will use for accessing an external,
-- unspecified repository of translations.</p>
--
-- <p>This interface <i>does not</i> cover all aspects of
-- localization, including support for non-latin characters,
-- number and date formatting, etc. Such functionality is the
-- scope of a future SRFI that may extend this one.</p>
--
-- <H1>Dependencies</H1>
--
-- An SRFI-29 conformant implementation must also implement
-- SRFI-28, Basic Format Strings. Message templates are strings
-- that must be processed by the <tt>format</tt> function
-- specified in that SRFI.
--
-- <H1>Specification</H1>
--
-- <h3>Message Bundles</h3>
--
-- <p>A Message Bundle is a set of message templates and their
-- identifying keys. Each bundle contains one or more such
-- key/value pairs. The bundle itself is associated with a
-- <i>bundle specifier</i> which uniquely identifies the
-- bundle.</p>
--
-- <h3>Bundle Specifiers</h3>
--
-- <p>A Bundle Specifier is a Scheme list that describes, in order
-- of importance, the package and locale of a message bundle.
-- In most cases, a locale specifier will have between one
-- and three elements. The first element is a symbol denoting the
-- package for which this bundle applies. The second and third
-- elements denote a <i>locale</i>. The second element (first
-- element of the locale) if present, is the two letter, ISO 639-1
-- language code for the bundle. The third element, if present, is
-- a two letter ISO 3166-1 country code. In some cases, a
-- fourth element may be present, specifying the encoding used for
-- the bundle. All bundle specifier elements are Scheme
-- symbols.</p>
--
-- <p>If only one translation is provided, it should be designated
-- only by a package name, for example <tt>(mathlib)</tt>. This
-- translation is called the <i>default</i> translation.</p>
--
-- <h3>Bundle Searching</h3>
--
-- <p>When a message template is retrieved from a bundle, the
-- Scheme implementation will provide the locale under which the
-- system is currently running. When the template is retrieved,
-- the package name will be specified. The Scheme system should
-- construct a Bundle Specifier from the provided package name and
-- the active locale. For example, when retrieving a message
-- template for French Canadian, in the <tt>mathlib</tt> package,
-- the bundle specifier '<tt>(mathlib fr ca)</tt>' is used. A
-- program may also retrieve the elements of the current locale
-- using the no-argument procedures:</p>
--
-- <p><b><a
name="current-language"></a><tt>current-language</tt></b>
<tt>->
-- <i>symbol</i></tt><br>
-- <tt><b>current-language</b> <i>symbol</i> ->
-- undefined</tt><br>
-- </p>
--
-- <blockquote>
-- When given no arguments, returns the current ISO 639-1
-- language code as a symbol. If provided with an
-- argument, the current language is set to that named by the
-- symbol for the currently executing Scheme thread (or for the
-- entire Scheme system if such a distinction is not possible).
--
-- </blockquote>
--
-- <p><b><a
name="current-country"></a><tt>current-country</tt></b>
<tt>->
-- <i>symbol</i></tt><br>
-- <tt><b>current-country</b> <i>symbol</i> ->
-- undefined</tt><br>
-- </p>
--
-- <blockquote>
-- returns the current ISO 3166-1 country code as a symbol.
-- If provided with an argument, the current country is
-- set to that named by the symbol for the currently executing
-- Scheme thread (or for the entire Scheme system if such a
-- distinction is not possible).
-- </blockquote>
--
-- <p><b><a
name="current-locale-details"></a><tt>current-locale-details</tt></b>
<tt>-> <i>list of
-- symbol</i></tt>s<br>
-- <tt><b>current-locale-details</b>
<i>list-of-symbols</i> ->
-- undefined</tt><br>
-- </p>
--
-- <blockquote>
-- Returns a list of additional locale details as a list of
-- symbols. This list may contain information about
-- encodings or other more specific information. If
-- provided with an argument, the current locale details are set
-- to those given in the currently executing Scheme thread (or
-- for the entire Scheme system if such a distinction is not
-- possible).
-- </blockquote>
--
-- <p>The Scheme System should first check for a bundle with the
-- exact name provided. If no such bundle is found, the last
-- element from the list is removed and a search is tried for a
-- bundle with that name. If no bundle is then found, the list is
-- shortened by removing the last element again. If no message is
-- found and the bundle specifier is now the empty list, an error
-- should be raised.</p>
--
-- <p>The reason for this search order is to provide the most
-- locale sensitive template possible, but to fall back on more
-- general templates if a translation has not yet been provided
-- for the given locale.</p>
--
-- <h3>Message Templates</h3>
--
-- <p>A message template is a localized message that may or may
-- not contain one of a number of formatting codes. A message
-- template is a Scheme string. The string is of a form that can
-- be processed by the <tt>format</tt> procedure found in many
-- Scheme systems and formally specified in SRFI-28 (Basic Format
-- Strings).</p>
--
-- <p>This SRFI also extends SRFI-28 to provide an additional
-- <tt>format</tt> escape code:</p>
--
-- <blockquote>
-- <tt>~[n]@*</tt> - Causes a value-requiring escape code that
-- follows this code immediately to reference the [N]'th
-- optional value absolutely, rather than the next unconsumed
-- value. The referenced value is <i>not</i> consumed.
-- </blockquote>
-- This extension allows optional values to be positionally
-- referenced, so that message templates can be constructed that
-- can produce the proper word ordering for a language.
--
-- <h3>Preparing Bundles</h3>
-- Before a bundle may be used by the Scheme system to retrieve
-- localized template messages, they must be made available to the
-- Scheme system. This SRFI specifies a way to portably
-- define the bundles, as well as store them in and retrieve them
-- from an unspecified system which may be provided by resources
-- outside the Scheme system.<br>
--
--
-- <p><b><a
name="declare-bundle!"></a><tt>declare-bundle!</tt></b>
<tt><i>bundle-specifier
-- association-list</i> -> undefined<br>
-- </tt></p>
--
-- <blockquote>
-- Declares a new bundle named by the given bundle-specifier.
-- The contents of the bundle are defined by the provided
-- association list. The list contains associations
-- between Scheme symbols and the message templates (Scheme
-- strings) they name. If a bundle already exists with the
-- given name, it is overwritten with the newly declared
-- bundle.<br>
-- </blockquote>
-- <tt><a
name="store-bundle"></a><b>store-bundle</b>
<i>bundle-specifier</i> ->
-- boolean</tt><br>
--
--
-- <blockquote>
-- Attempts to store a bundle named by the given bundle
-- specifier, and previously made available using
-- <tt>declare-bundle!</tt> or <tt>load-bundle!</tt>, in an
-- unspecified mechanism that may be persistent across Scheme
-- system restarts. If successful, a non-false value is
-- returned. If unsuccessful, <tt>#f</tt> is
returned.<br>
-- </blockquote>
-- <tt><a
name="load-bundle!"></a><b>load-bundle!</b>
<i>bundle-specifier</i> ->
-- boolean</tt><br>
--
--
-- <blockquote>
-- Attempts to retrieve a bundle from an unspecified mechanism
-- which stores bundles outside the Scheme system. If the
-- bundle was retrieved successfully, the function returns a
-- non-false value, and the bundle is immediately available to
-- the Scheme system. If the bundle could not be found or loaded
-- successfully, the function returns <tt>#f</tt>, and the
-- Scheme system's bundle registry remains unaffected.<br>
-- </blockquote>
-- A compliant Scheme system may choose not to provide any
-- external mechanism to store localized bundles. If it does
-- not, it must still provide implementations for
-- <tt>store-bundle</tt> and <tt>load-bundle!</tt>. In such a
-- case, both functions must return <tt>#f</tt> regardless of the
-- arguments given. Users of this SRFI should recognize that the
-- inability to load or store a localized bundle in an external
-- repository is <i>not</i> a fatal error.<br>
--
--
-- <h3>Retrieving Localized Message Templates</h3>
--
-- <p><a
name="localized-template"></a><b><tt>localized-template</tt></b>
<i><tt>package-name
-- message-template-name</tt></i> <tt>-> <i>string or
#f<br>
-- </i></tt></p>
--
-- <blockquote>
-- Retrieves a localized message template for the given package
-- name and the given message template name (both symbols).
-- If no such message could be found, false (#f) is
-- returned.<br>
-- <br>
-- </blockquote>
-- After retrieving a template, the calling program can use
-- <tt>format</tt> to produce a string that can be displayed to
-- the user.<br>
--
--
-- <h2>Examples</h2>
-- The below example makes use of SRFI-29 to display simple,
-- localized messages. It also defines its bundles in such a
-- way that the Scheme system may store and retrieve the bundles
-- from a more efficient system catalog, if available.<br>
--
--<pre>
--(let ((translations
-- '(((en) . ((time . "Its ~a, ~a.")
-- (goodbye . "Goodbye, ~a.")))
-- ((fr) . ((time . "~1@*~a, c'est ~a.")
-- (goodbye . "Au revoir, ~a."))))))
-- (for-each (lambda (translation)
-- (let ((bundle-name (cons 'hello-program (car translation))))
-- (if (not (load-bundle! bundle-name))
-- (begin
-- (declare-bundle! bundle-name (cdr translation))
-- (store-bundle! bundle-name)))))
-- translations))
--
--(define localized-message
-- (lambda (message-name . args)
-- (apply format (cons (localized-template 'hello-program
-- message-name)
-- args))))
--
--(let ((myname "Fred"))
-- (display (localized-message 'time "12:00" myname))
-- (display #\newline)
--
-- (display (localized-message 'goodbye myname))
-- (display #\newline))
--
--;; Displays (English):
--;; Its 12:00, Fred.
--;; Goodbye, Fred.
--;;
--;; French:
--;; Fred, c'est 12:00.
--;; Au revoir, Fred.
--</pre>
--
-- <H1>Implementation</H1>
--
-- <p>The implementation requires that the Scheme system provide a
-- definition for <tt>current-language</tt> and
-- <tt>current-country</tt> capable of distinguishing the correct
-- locale present during a Scheme session. The definitions of
-- those functions in the reference implementation are not capable
-- of that distinction. Their implementation is provided only so
-- that the following code can run in any R4RS scheme system.
-- <br>
-- </p>
--
-- <p>In addition, the below implementation of a compliant
-- <tt>format</tt> requires SRFI-6 (Basic String Ports) and
-- SRFI-23 (Error reporting)</p>
--<pre>
--;; The association list in which bundles will be stored
--(define *localization-bundles* '())
--
--;; The current-language and current-country functions provided
--;; here must be rewritten for each Scheme system to default to the
--;; actual locale of the session
--(define current-language
-- (let ((current-language-value 'en))
-- (lambda args
-- (if (null? args)
-- current-language-value
-- (set! current-language-value (car args))))))
--
--(define current-country
-- (let ((current-country-value 'us))
-- (lambda args
-- (if (null? args)
-- current-country-value
-- (set! current-country-value (car args))))))
--
--;; The load-bundle! and store-bundle! both return #f in this
--;; reference implementation. A compliant implementation need
--;; not rewrite these procedures.
--(define load-bundle!
-- (lambda (bundle-specifier)
-- #f))
--
--(define store-bundle!
-- (lambda (bundle-specifier)
-- #f))
--
--;; Declare a bundle of templates with a given bundle specifier
--(define declare-bundle!
-- (letrec ((remove-old-bundle
-- (lambda (specifier bundle)
-- (cond ((null? bundle) '())
-- ((equal? (caar bundle) specifier)
-- (cdr bundle))
-- (else (cons (car bundle)
-- (remove-old-bundle specifier
-- (cdr bundle))))))))
-- (lambda (bundle-specifier bundle-assoc-list)
-- (set! *localization-bundles*
-- (cons (cons bundle-specifier bundle-assoc-list)
-- (remove-old-bundle bundle-specifier
-- *localization-bundles*))))))
--
--;;Retrieve a localized template given its package name and a template name
--(define localized-template
-- (letrec ((rdc
-- (lambda (ls)
-- (if (null? (cdr ls))
-- '()
-- (cons (car ls) (rdc (cdr ls))))))
-- (find-bundle
-- (lambda (specifier template-name)
-- (cond ((assoc specifier *localization-bundles*) =>
-- (lambda (bundle) bundle))
-- ((null? specifier) #f)
-- (else (find-bundle (rdc specifier)
-- template-name))))))
-- (lambda (package-name template-name)
-- (let loop ((specifier (cons package-name
-- (list (current-language)
-- (current-country)))))
-- (and (not (null? specifier))
-- (let ((bundle (find-bundle specifier template-name)))
-- (and bundle
-- (cond ((assq template-name bundle) => cdr)
-- ((null? (cdr specifier)) #f)
-- (else (loop (rdc specifier)))))))))))
--
--;;An SRFI-28 and SRFI-29 compliant version of format. It requires
--;;SRFI-23 for error reporting.
--(define format
-- (lambda (format-string . objects)
-- (let ((buffer (open-output-string)))
-- (let loop ((format-list (string->list format-string))
-- (objects objects)
-- (object-override #f))
-- (cond ((null? format-list) (get-output-string buffer))
-- ((char=? (car format-list) #\~)
-- (cond ((null? (cdr format-list))
-- (error 'format "Incomplete escape sequence"))
-- ((char-numeric? (cadr format-list))
-- (let posloop ((fl (cddr format-list))
-- (pos (string->number
-- (string (cadr format-list)))))
-- (cond ((null? fl)
-- (error 'format "Incomplete escape
sequence"))
-- ((and (eq? (car fl) '#\@)
-- (null? (cdr fl)))
-- (error 'format "Incomplete escape
sequence"))
-- ((and (eq? (car fl) '#\@)
-- (eq? (cadr fl) '#\*))
-- (loop (cddr fl) objects (list-ref objects pos)))
-- (else
-- (posloop (cdr fl)
-- (+ (* 10 pos)
-- (string->number
-- (string (car fl)))))))))
-- (else
-- (case (cadr format-list)
-- ((#\a)
-- (cond (object-override
-- (begin
-- (display object-override buffer)
-- (loop (cddr format-list) objects #f)))
-- ((null? objects)
-- (error 'format "No value for escape
sequence"))
-- (else
-- (begin
-- (display (car objects) buffer)
-- (loop (cddr format-list)
-- (cdr objects) #f)))))
-- ((#\s)
-- (cond (object-override
-- (begin
-- (display object-override buffer)
-- (loop (cddr format-list) objects #f)))
-- ((null? objects)
-- (error 'format "No value for escape
sequence"))
-- (else
-- (begin
-- (write (car objects) buffer)
-- (loop (cddr format-list)
-- (cdr objects) #f)))))
-- ((#\%)
-- (if object-override
-- (error 'format "Escape sequence following
positional override does not require a value"))
-- (display #\newline buffer)
-- (loop (cddr format-list) objects #f))
-- ((#\~)
-- (if object-override
-- (error 'format "Escape sequence following
positional override does not require a value"))
-- (display #\~ buffer)
-- (loop (cddr format-list) objects #f))
-- (else
-- (error 'format "Unrecognized escape
sequence"))))))
-- (else (display (car format-list) buffer)
-- (loop (cdr format-list) objects #f)))))))
--
--</pre>
--
-- <H1>Copyright</H1>
--
-- Copyright (C) Scott G. Miller (2002). All Rights Reserved.
--
-- <p>This document and translations of it may be copied and
-- furnished to others, and derivative works that comment on or
-- otherwise explain it or assist in its implementation may be
-- prepared, copied, published and distributed, in whole or in
-- part, without restriction of any kind, provided that the above
-- copyright notice and this paragraph are included on all such
-- copies and derivative works. However, this document itself may
-- not be modified in any way, such as by removing the copyright
-- notice or references to the Scheme Request For Implementation
-- process or editors, except as needed for the purpose of
-- developing SRFIs in which case the procedures for copyrights
-- defined in the SRFI process must be followed, or as required to
-- translate it into languages other than English.</p>
--
-- <p>The limited permissions granted above are perpetual and will
-- not be revoked by the authors or their successors or
-- assigns.</p>
--
-- <p>This document and the information contained herein is
-- provided on an "AS IS" basis and THE AUTHOR AND THE SRFI
-- EDITORS DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
-- BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
-- HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES
-- OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.</p>
-- <hr>
--
-- <address>
-- Editor: <a href="mailto:srfi-editors@srfi.schemers.org">David
-- Rush</a>
-- </address>
--
-- <address>
-- Author: <a href="mailto:scgmille@freenetproject.org">Scott G.
-- Miller</a>
-- </address>
-- <!-- Created: Tue Sep 29 19:20:08 EDT 1998 -->
-- <!-- hhmts start -->Last modified: Mon Jun 17 12:00:08 Pacific
-- Daylight Time 2002 <!-- hhmts end --> <br>
-- </body>
--</html>
--
-diff -urN
racket-7.4-orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-5.html
racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-5.html
----
racket-7.4-orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-5.html 2019-08-03
21:32:26.000000000 -0400
-+++
racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-5.html 1969-12-31
19:00:00.000000000 -0500
-@@ -1,345 +0,0 @@
--<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.2//EN">
--<html>
--<head>
-- <title>SRFI 5: A compatible let form with signatures and rest
arguments</title>
--</head>
--<body>
--
--<H1>Title</H1>
--
--SRFI-5: A compatible <code>let</code> form with signatures and rest
arguments
--
--<H1>Author</H1>
--
--Andy Gaynor
--
--<H1>Status</H1>
--
--This SRFI is currently in ``final'' status. To see an explanation of each
status that a SRFI can hold, see <A
HREF="http://srfi.schemers.org/srfi-process.html">here</A>.
--You can access the discussion on this SRFI via <A
HREF="http://srfi.schemers.org/srfi-5/mail-archive/maillist.html&quo... archive
of the mailing list</A>.
--<P><UL>
--<LI>Received: 1999/2/2
--<LI>Draft: 1999/2/10-1999/04/12
--<LI>Final: 1999/4/26
--<LI>Revised reference implementation: 2003/01/27
--</UL>
--
--<H1>Abstract</H1>
--
--The <i>named-let</i> incarnation of the <code>let</code> form
has two slight
--inconsistencies with the <code>define</code> form. As defined, the
<code>let</code>
--form makes no accommodation for rest arguments, an issue of functionality
--and consistency. As defined, the <code>let</code> form does not
accommodate
--signature-style syntax, an issue of aesthetics and consistency. Both
--issues are addressed here in a manner which is compatible with the traditional
--<code>let</code> form but for minor extensions.
--
--<H1>Rationale</H1>
--
--<H2>Signature-style Syntax</H2>
--
--Consider the following two equivalent definitions:
--
--<p><pre>
--(define fibonacci
-- (lambda (n i f0 f1)
-- (if (= i n)
-- f0
-- (fibonacci n (+ i 1) f1 (+ f0 f1)))))
--
--(define (fibonacci n i f0 f1)
-- (if (= i n)
-- f0
-- (fibonacci n (+ i 1) f1 (+ f0 f1))))
--</pre>
--
--Although there is a named-let analog for the former form, there is none
--for the latter. To wit, suppose one wished to compute the 10th element
--of the Fibonacci sequence using a named let:
--
--<p>
--<pre>
--(let fibonacci ((n 10) (i 0) (f0 0) (f1 1))
-- (if (= i n)
-- f0
-- (fibonacci n (+ i 1) f1 (+ f0 f1))))
--Values: 55
--</pre>
--
--As it stands, one cannot equivalently write
--
--<p>
--<pre>
--(let (fibonacci (n 10) (i 0) (f0 0) (f1 1))
-- (if (= i n)
-- f0
-- (fibonacci n (+ i 1) f1 (+ f0 f1))))
--</pre>
--
--which is consistent with <code>define</code>'s signature-style form.
--<p>Those that favor the signature style may prefer this extension.
--In any case, it may be more appropriate to include all bound names within
--the binding section. As presented, this straightforward extension
--introduces no ambiguity or incompatibility with the existing definition
--of let.
--
--<H2>Rest Arguments</H2>
--
--As it stands, one cannot write a named let with rest arguments, as in
--
--<p>
--<pre>
--(let (blast (port (current-output-port)) . (x (+ 1 2) 4 5))
-- (if (null? x)
-- 'just-a-silly-contrived-example
-- (begin
-- (write (car x) port)
-- (apply blast port (cdr x)))))
--</pre>
--
--otherwise equivalent to
--
--<p>
--<pre>
--(letrec ((blast (lambda (port . x)
-- (if (null? x)
-- 'just-a-silly-contrived-example
-- (begin
-- (write (car x) port)
-- (apply blast port (cdr x)))))))
-- (blast (current-output-port) (+ 1 2) 4 5))
--</pre>
--
--While this example is rather contrived, the functionality is not.
--There are several times when the author has used this construct in practice.
--Regardless, there is little reason to deny the <code>let</code> form access
to
--all the features of lambda functionality.
--
--<H2>Symbols in Binding Sections</H2>
--
--Both the features above rely upon the placement of symbols in
<code>let</code>
--binding lists (this statement is intentially simplistic). The only
--other apparent use of such symbol placement is to tersely bind variables
--to unspecified values. For example, one might desire to use
--<code>(let (foo bar baz) ...)</code>
--to bind <code>foo</code>, <code>bar</code>, and
<code>baz</code> to
--unspecified values.
--
--<p>This usage is considered less important in light of the rationales
--presented above, and an alternate syntax is immediately apparent, as
--in <code>(let ((foo) (bar) (baz)) ...)</code> This may even
--be preferable, consistently parenthesizing normal binding clauses.
--
--<H1>Specification</H1>
--
--<H2>Syntax</H2>
--
--<p>
--A formal specification of the syntax follows. Below, body, expression,
--and identifier are free. Each instantiation of binding-name must be
--unique.
--</p>
--
--<p>
--<pre>
-- let = "(" "let" let-bindings body ")"
-- expressions = nothing | expression expressions
-- let-bindings = let-name bindings
-- | "(" let-name "." bindings ")"
-- let-name = identifier
-- bindings = "(" ")"
-- | rest-binding
-- | "(" normal-bindings ["." rest-binding]
")"
--normal-bindings = nothing
-- | normal-binding normal-bindings
-- normal-binding = "(" binding-name expression ")"
-- binding-name = identifier
-- rest-binding = "(" binding-name expressions ")"
--</pre>
--
--<p>
--For clarity and convenience, an informal specification follows.
--</p>
--
--<ol>
--<li><a name="unnamed">Unnamed</a>
--
--<p><pre>
--(let ((<parameter> <argument>)...)
-- <body>...)
--</pre>
--</li>
--
--<li><a name="named-non-sig">
--Named, non-signature-style, no rest argument</a>
--
--<p><pre>
--(let <name> ((<parameter> <argument>)...)
-- <body>...)
--</pre>
--</li>
--
--<li><a name="named-sig">Named, signature-style, no rest
argument</a>
--
--<p><pre>
--(let (<name> (<parameter> <argument>)...)
-- <body>...)
--</pre>
--</li>
--
--<li><a name="named-non-sig-rest">Named, non-signature-style, rest
argument</a>
--
--<p><pre>
--(let <name> ((<parameter> <argument>)...
--
--. (<rest-parameter> <rest-argument>...))
-- <body>...)
--</pre>
--
--<li><a name="named-sig-rest">Named, signature-style, rest
argument</a>
--
--<p><pre>
--(let (<name> (<parameter> <argument>)...
--
--. (<rest-parameter> <rest-argument>...))
-- <body>...)
--</pre>
--</li>
--</ol>
--
--<H2>Semantics</H2>
--
--Let <code>$lambda</code> and <code>$letrec</code> be hygienic
bindings for the <code>lambda</code>
--and <code>letrec</code> forms, respectively.
--
--<ul>
--<li>For informal syntax 1:
--
--<p><pre>
--(($lambda (<parameter>...) <body>...)
<argument>...)
--</pre>
--</li>
--
--<li>For informal syntaxes 2 and 3:
--
--<p>
--<pre>
--($letrec ((<name> ($lambda (<parameter>...)
<body>...)))
-- (<name> <argument>...))
--</pre>
--</li>
--
--<li>For informal syntaxes 4 and 5:
--
--<p>
--<pre>
--($letrec ((<name> ($lambda (<parameter>...
--
--. <rest-parameter>) <body>...)))
-- (<name> <argument>... <rest-argument>...))
--</pre>
--</li>
--</ul>
--
--<H1>Implementation</H1>
--
--Here is an implementation using <code>SYNTAX-RULES</code>.
--
--<p>
--<pre>
--;; Use your own standard let.
--;; Or call a lambda.
--;; (define-syntax standard-let
--;;
--;; (syntax-rules ()
--;;
--;; ((let ((var val) ...) body ...)
--;; ((lambda (var ...) body ...) val ...))))
--
--(define-syntax let
--
-- (syntax-rules ()
--
-- ;; No bindings: use standard-let.
-- ((let () body ...)
-- (standard-let () body ...))
-- ;; Or call a lambda.
-- ;; ((lambda () body ...))
--
-- ;; All standard bindings: use standard-let.
-- ((let ((var val) ...) body ...)
-- (standard-let ((var val) ...) body ...))
-- ;; Or call a lambda.
-- ;; ((lambda (var ...) body ...) val ...)
--
-- ;; One standard binding: loop.
-- ;; The all-standard-bindings clause didn't match,
-- ;; so there must be a rest binding.
-- ((let ((var val) . bindings) body ...)
-- (let-loop #f bindings (var) (val) (body ...)))
--
-- ;; Signature-style name: loop.
-- ((let (name binding ...) body ...)
-- (let-loop name (binding ...) () () (body ...)))
--
-- ;; defun-style name: loop.
-- ((let name bindings body ...)
-- (let-loop name bindings () () (body ...)))))
--
--(define-syntax let-loop
--
-- (syntax-rules ()
--
-- ;; Standard binding: destructure and loop.
-- ((let-loop name ((var0 val0) binding ...) (var ... ) (val ... ) body)
-- (let-loop name ( binding ...) (var ... var0) (val ... val0) body))
--
-- ;; Rest binding, no name: use standard-let, listing the rest values.
-- ;; Because of let's first clause, there is no "no bindings, no name"
clause.
-- ((let-loop #f (rest-var rest-val ...) (var ...) (val ...) body)
-- (standard-let ((var val) ... (rest-var (list rest-val ...))) . body))
-- ;; Or call a lambda with a rest parameter on all values.
-- ;; ((lambda (var ... . rest-var) . body) val ... rest-val ...))
-- ;; Or use one of several other reasonable alternatives.
--
-- ;; No bindings, name: call a letrec'ed lambda.
-- ((let-loop name () (var ...) (val ...) body)
-- ((letrec ((name (lambda (var ...) . body)))
-- name)
-- val ...))
--
-- ;; Rest binding, name: call a letrec'ed lambda.
-- ((let-loop name (rest-var rest-val ...) (var ...) (val ...) body)
-- ((letrec ((name (lambda (var ... . rest-var) . body)))
-- name)
-- val ... rest-val ...))))
--</pre>
--
--
--<H1>Copyright</H1>
--
--Copyright (C) Andy Gaynor (1999). All Rights Reserved.
--<p>This document and translations of it may be copied and furnished to
--others, and derivative works that comment on or otherwise explain it or
--assist in its implementation may be prepared, copied, published and distributed,
--in whole or in part, without restriction of any kind, provided that the
--above copyright notice and this paragraph are included on all such copies
--and derivative works. However, this document itself may not be modified
--in any way, such as by removing the copyright notice or references to the
--Scheme Request For Implementation process or editors, except as needed
--for the purpose of developing SRFIs in which case the procedures for copyrights
--defined in the SRFI process must be followed, or as required to translate
--it into languages other than English.
--<p>The limited permissions granted above are perpetual and will not be
--revoked by the authors or their successors or assigns.
--<p>This document and the information contained herein is provided on an
--"AS IS" basis and THE AUTHOR AND THE SRFI EDITORS DISCLAIM ALL WARRANTIES,
--EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE
--USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
--WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
--
-- <hr>
-- <address>Editor: <a
href="mailto:srfi-editors@srfi.schemers.org">Mike
Sperber</a></address>
--
--</body>
--</html>
diff --git a/racket.spec b/racket.spec
index d61a0c4..955e062 100644
--- a/racket.spec
+++ b/racket.spec
@@ -1,21 +1,13 @@
Name: racket
-Version: 7.4
-Release: 12%{?dist}
+Version: 7.9
+Release: 1%{?dist}
Summary: General purpose programming language
-License: GPLv3 and LGPLv3 and MIT
+# see LICENSE.txt
+# libscheme: MIT License Modern Variant
+License: MIT AND Apache-2.0 AND LGPLv3 AND MIT-Modern-Variant
URL:
https://racket-lang.org
Source0:
https://mirror.racket-lang.org/installers/%{version}/%{name}-%{version}-s...
-
-# Remove SRFI library and docs with restrictive licensing.
-# See:
https://github.com/racket/srfi/issues/4 (open)
-# Note: Upstream maintainers have confirmed this
-# is safe, since the removed components are
-# extra elements which nothing else in the
-# package depends on.
-# Note: SRFI 5 was replaced with a FOSS implementation. Only
-# nonfree docs need to be removed by this patch now.
-Patch0: racket-7.4-remove-nonfree.patch
Patch1: racket-configure-c99.patch
# ppc64le:
https://bugzilla.redhat.com/show_bug.cgi?id=2226390
@@ -65,10 +57,10 @@ already available.
%prep
-%autosetup -v -p1
+%autosetup -p1
# Remove bundled libffi
-rm -r src/foreign/libffi
+rm -r src/bc/foreign/libffi
%build
cd src
@@ -91,36 +83,29 @@ cd src
--enable-pthread \
--enable-shared \
--enable-libffi \
+ --disable-libs \
--disable-strip
%make_build
%install
-cd src
-%make_install
+%make_install -C src
# Delete mred binaries and replace them with links.
-rm -vf %{buildroot}%{_bindir}/mred
-rm -vf %{buildroot}%{_bindir}/mred-text
-ln -vs %{_bindir}/gracket %{buildroot}%{_bindir}/mred
-ln -vs %{_bindir}/gracket-text %{buildroot}%{_bindir}/mred-text
-
-# Delete static library. Apperently --disable-libs does not stop it.
-rm -vf %{buildroot}%{_libdir}/libracket3m.a
-
-# Delete duplicate license files
-rm -rf %{buildroot}%{_datadir}/racket/COPYING*txt
+rm %{buildroot}%{_bindir}/mred
+rm %{buildroot}%{_bindir}/mred-text
+ln -s gracket %{buildroot}%{_bindir}/mred
+ln -s gracket-text %{buildroot}%{_bindir}/mred-text
# Fix the rpath error.
chrpath --delete %{buildroot}%{_bindir}/racket
chrpath --delete %{buildroot}%{_libdir}/racket/gracket
# Remove the libtool files.
-rm -f %{buildroot}%{_libdir}/*.la
+rm %{buildroot}%{_libdir}/*.la
# Fix paths in the desktop files.
-sed -i "s#%{buildroot}##g" \
- %{buildroot}/%{_datadir}/applications/*.desktop
+sed -i "s#%{buildroot}##g" %{buildroot}/%{_datadir}/applications/*.desktop
# Validate desktop files
desktop-file-validate %{buildroot}/%{_datadir}/applications/*.desktop
@@ -178,7 +163,7 @@ BuildArch: noarch
A local installation of the Racket documentation system.
%files
-%license src/COPYING.txt src/COPYING_LESSER.txt src/COPYING-libscheme.txt
+%license src/LICENSE*.txt
%{_bindir}/drracket
%{_bindir}/gracket
%{_bindir}/gracket-text
@@ -202,27 +187,25 @@ A local installation of the Racket documentation system.
%{_datadir}/applications/
%files collects
-%license src/COPYING.txt src/COPYING_LESSER.txt src/COPYING-libscheme.txt
+%license src/LICENSE*.txt
%{_datadir}/racket/collects
%files minimal
-%license src/COPYING.txt src/COPYING_LESSER.txt src/COPYING-libscheme.txt
+%license src/LICENSE*.txt
%{_bindir}/racket
%{_bindir}/raco
%{_libdir}/racket
%{_libdir}/libracket3m-%{version}.so
+%dir %{_datadir}/racket/
%{_datadir}/racket/links.rktd
%{_datadir}/racket/pkgs/racket-lib
%{_datadir}/man/man1/racket*
%{_datadir}/man/man1/raco*
-%dir %{_datadir}/racket
-%dir %{_datadir}/doc/racket
%dir %{_sysconfdir}/racket/
%config %{_sysconfdir}/racket/config.rktd
-%exclude %{_libdir}/libracket3m.so
%files pkgs
-%license src/COPYING.txt src/COPYING_LESSER.txt src/COPYING-libscheme.txt
+%license src/LICENSE*.txt
%{_datadir}/racket
%{_datadir}/man/man1/drracket*
%{_datadir}/man/man1/gracket*
@@ -236,15 +219,19 @@ A local installation of the Racket documentation system.
%exclude %dir %{_datadir}/racket/collects
%files devel
-%license src/COPYING.txt src/COPYING_LESSER.txt src/COPYING-libscheme.txt
+%license src/LICENSE-*.txt
%{_includedir}/racket
%{_libdir}/libracket3m.so
%files doc
-%license src/COPYING.txt src/COPYING_LESSER.txt src/COPYING-libscheme.txt
+%license src/LICENSE*.txt
%{_datadir}/doc/racket
%changelog
+* Mon Aug 28 2023 Jens Petersen <petersen(a)redhat.com> - 7.9-1
+- update to 7.9
+- drop the nonfree doc patch
+
* Sat Aug 26 2023 Jens Petersen <petersen(a)redhat.com> - 7.4-12
- disable ppc64le (#2226390)
diff --git a/sources b/sources
index 433eb3e..dfb0800 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (racket-7.4-src.tgz) =
a5ef2ce3157bee3b12abcaeeb4c1ec3b41e78fb6ec04d399e3505a38234a73a098398bb762a99ffef7bc01301aef8db559cbd47c043365df8711fccdc3386df0
+SHA512 (racket-7.9-src.tgz) =
e8bfd713879bba766a3f7c74202ee9407d02df6971339c632dae2523b33e927061f371823d8294b5bb10fc838668e9cbedb0e651fe22128d6427fe2e5b4a3225
commit 78bfc4f6b39ecceaaf6ccfd6f34ae091ed3ee0b6
Author: Jens Petersen <petersen(a)redhat.com>
Date: Mon Aug 28 13:44:06 2023 +0800
fix buildroot appearing in guide/exns.html
/builddir/build/BUILDROOT/racket-7.5-1.fc40.x86_64/usr/share/doc/racket/guide/exns.html
Found '/builddir/build/BUILDROOT/racket-7.5-1.fc40.x86_64' in installed files;
aborting
diff --git a/racket.spec b/racket.spec
index 329c359..d61a0c4 100644
--- a/racket.spec
+++ b/racket.spec
@@ -125,14 +125,9 @@ sed -i "s#%{buildroot}##g" \
# Validate desktop files
desktop-file-validate %{buildroot}/%{_datadir}/applications/*.desktop
-# Fix paths in html docs
-DOCS_TO_FIX="
-syntax/module-helpers.html
-rackunit/api.html
-reference/collects.html"
-for i in $DOCS_TO_FIX; do
- sed -i "s#${RPM_BUILD_ROOT}##g" \
- ${RPM_BUILD_ROOT}/%{_datadir}/doc/racket/$i
+# Fix buildroot references in html docs
+for i in $(find %{buildroot}/%{_datadir}/doc/racket/ -name '*.html'); do
+ sed -i "s#%{buildroot}##g" $i
done
# Remove the executable bit on legacy template file
commit b97cef4a69cf1d7926826159c10242ddf0ff6a6e
Author: Jens Petersen <petersen(a)redhat.com>
Date: Mon Aug 28 13:43:41 2023 +0800
use %buildroot
diff --git a/racket.spec b/racket.spec
index 726dc97..329c359 100644
--- a/racket.spec
+++ b/racket.spec
@@ -100,27 +100,27 @@ cd src
%make_install
# Delete mred binaries and replace them with links.
-rm -vf ${RPM_BUILD_ROOT}%{_bindir}/mred
-rm -vf ${RPM_BUILD_ROOT}%{_bindir}/mred-text
-ln -vs %{_bindir}/gracket ${RPM_BUILD_ROOT}%{_bindir}/mred
-ln -vs %{_bindir}/gracket-text ${RPM_BUILD_ROOT}%{_bindir}/mred-text
+rm -vf %{buildroot}%{_bindir}/mred
+rm -vf %{buildroot}%{_bindir}/mred-text
+ln -vs %{_bindir}/gracket %{buildroot}%{_bindir}/mred
+ln -vs %{_bindir}/gracket-text %{buildroot}%{_bindir}/mred-text
# Delete static library. Apperently --disable-libs does not stop it.
-rm -vf ${RPM_BUILD_ROOT}%{_libdir}/libracket3m.a
+rm -vf %{buildroot}%{_libdir}/libracket3m.a
# Delete duplicate license files
rm -rf %{buildroot}%{_datadir}/racket/COPYING*txt
# Fix the rpath error.
-chrpath --delete ${RPM_BUILD_ROOT}%{_bindir}/racket
-chrpath --delete ${RPM_BUILD_ROOT}%{_libdir}/racket/gracket
+chrpath --delete %{buildroot}%{_bindir}/racket
+chrpath --delete %{buildroot}%{_libdir}/racket/gracket
# Remove the libtool files.
-rm -f ${RPM_BUILD_ROOT}%{_libdir}/*.la
+rm -f %{buildroot}%{_libdir}/*.la
# Fix paths in the desktop files.
-sed -i "s#${RPM_BUILD_ROOT}##g" \
- ${RPM_BUILD_ROOT}/%{_datadir}/applications/*.desktop
+sed -i "s#%{buildroot}##g" \
+ %{buildroot}/%{_datadir}/applications/*.desktop
# Validate desktop files
desktop-file-validate %{buildroot}/%{_datadir}/applications/*.desktop
@@ -136,7 +136,7 @@ for i in $DOCS_TO_FIX; do
done
# Remove the executable bit on legacy template file
-chmod -x ${RPM_BUILD_ROOT}%{_libdir}/racket/starter-sh
+chmod -x %{buildroot}%{_libdir}/racket/starter-sh
%ldconfig_scriptlets
commit dc8b02606595204350286d64e7c1e6f4682e1c45
Author: Jens Petersen <petersen(a)redhat.com>
Date: Sat Aug 26 14:24:31 2023 +0800
drop trailing whitespace
diff --git a/racket.spec b/racket.spec
index 4cfc79f..726dc97 100644
--- a/racket.spec
+++ b/racket.spec
@@ -7,10 +7,10 @@ License: GPLv3 and LGPLv3 and MIT
URL:
https://racket-lang.org
Source0:
https://mirror.racket-lang.org/installers/%{version}/%{name}-%{version}-s...
-# Remove SRFI library and docs with restrictive licensing.
+# Remove SRFI library and docs with restrictive licensing.
# See:
https://github.com/racket/srfi/issues/4 (open)
# Note: Upstream maintainers have confirmed this
-# is safe, since the removed components are
+# is safe, since the removed components are
# extra elements which nothing else in the
# package depends on.
# Note: SRFI 5 was replaced with a FOSS implementation. Only
@@ -33,19 +33,19 @@ BuildRequires: libffi-devel
# For the racket/gui library (via libffi)
#
https://github.com/racket/gui/blob/master/gui-lib/mred/private/wx/gtk/gtk...
-BuildRequires: gtk3
+BuildRequires: gtk3
# For the racket/draw library (via libffi)
#
https://github.com/racket/draw/blob/master/draw-lib/racket/draw/unsafe/ca...
-BuildRequires: cairo
+BuildRequires: cairo
#
https://github.com/racket/draw/blob/master/draw-lib/racket/draw/unsafe/pa...
-BuildRequires: pango
+BuildRequires: pango
#
https://github.com/racket/draw/blob/master/draw-lib/racket/draw/unsafe/pn...
-BuildRequires: libpng
+BuildRequires: libpng
#
https://github.com/racket/draw/blob/master/draw-lib/racket/draw/unsafe/jp...
-BuildRequires: libjpeg-turbo
+BuildRequires: libjpeg-turbo
#
https://github.com/racket/draw/blob/master/draw-lib/racket/draw/unsafe/gl...
-BuildRequires: glib2
+BuildRequires: glib2
# To validate desktop file
BuildRequires: desktop-file-utils
@@ -58,9 +58,9 @@ Requires: racket-pkgs = %{version}-%{release}
Recommends: racket-doc = %{version}-%{release}
%description
-Racket is a general-purpose programming language as well as
-the world's first ecosystem for developing and deploying new
-languages. Make your dream language, or use one of the dozens
+Racket is a general-purpose programming language as well as
+the world's first ecosystem for developing and deploying new
+languages. Make your dream language, or use one of the dozens
already available.
%prep
@@ -97,7 +97,7 @@ cd src
%install
cd src
-%make_install
+%make_install
# Delete mred binaries and replace them with links.
rm -vf ${RPM_BUILD_ROOT}%{_bindir}/mred
@@ -135,7 +135,7 @@ for i in $DOCS_TO_FIX; do
${RPM_BUILD_ROOT}/%{_datadir}/doc/racket/$i
done
-# Remove the executable bit on legacy template file
+# Remove the executable bit on legacy template file
chmod -x ${RPM_BUILD_ROOT}%{_libdir}/racket/starter-sh
%ldconfig_scriptlets
@@ -312,8 +312,8 @@ A local installation of the Racket documentation system.
* Wed Sep 5 2018 David Benoit <dbenoit(a)redhat.com> 7.0-2
- Disable SSE math on i686 until issue is fixed upstream
-- Exclude ppc due to issue building Racket v7.0 and
- arch being deprecated in next release
+- Exclude ppc due to issue building Racket v7.0 and
+ arch being deprecated in next release
* Fri Aug 17 2018 David Benoit <dbenoit(a)redhat.com> 7.0-1
- Update sources to Racket v7.0
@@ -340,15 +340,15 @@ A local installation of the Racket documentation system.
- remove update-database post scripts
- move libracket3m.so link into -devel
- add ldconfig_scriptlets after install
-- remove disable debug_package and configure
+- remove disable debug_package and configure
with --disable-strip instead
-- add license to files section and update
+- add license to files section and update
license header field
- validate desktop files
- change ownership of /etc/racket
- update changelog with release info
- use specific man directory man/man1/*
-- refactor racket into subpackages
+- refactor racket into subpackages
racket-minimal, racket-collects, and racket-pkgs
* Wed Apr 4 2018 David Benoit <dbenoit(a)redhat.com> 6.12-4
@@ -379,7 +379,7 @@ A local installation of the Racket documentation system.
- Update to current stable version
- Remove libedit readline patch (fixed upstream)
- Break docs into separate package
-- Add scriptlets to set doc-open-url based on
+- Add scriptlets to set doc-open-url based on
whether docs are installed
- Exclude armv7hl and s390x as target arches
- Update description to match website
commit d219a714005b43692351ab7bbc824129a7a1355d
Author: Jens Petersen <petersen(a)redhat.com>
Date: Sat Aug 26 14:23:59 2023 +0800
disable failing ppc64le
diff --git a/racket.spec b/racket.spec
index 1135c4b..4cfc79f 100644
--- a/racket.spec
+++ b/racket.spec
@@ -1,6 +1,6 @@
Name: racket
Version: 7.4
-Release: 11%{?dist}
+Release: 12%{?dist}
Summary: General purpose programming language
License: GPLv3 and LGPLv3 and MIT
@@ -18,8 +18,8 @@ Source0:
https://mirror.racket-lang.org/installers/%{version}/%{name}-%{v
Patch0: racket-7.4-remove-nonfree.patch
Patch1: racket-configure-c99.patch
-# Issue Building for armv7hl in koji
-ExcludeArch: %{arm} s390x
+# ppc64le:
https://bugzilla.redhat.com/show_bug.cgi?id=2226390
+ExcludeArch: %{arm} s390x ppc64le
# To compile the program
BuildRequires: make
@@ -83,7 +83,7 @@ cd src
# do not use generations on architectures
# where it is broken
# (this is currently a no-op, since arm and s390x are not enabled yet.
-# It is art of a fix that will land in a future release)
+# It is part of a fix that will land in a future release)
%configure \
%ifarch %{arm} s390x
--disable-generations \
@@ -250,6 +250,9 @@ A local installation of the Racket documentation system.
%{_datadir}/doc/racket
%changelog
+* Sat Aug 26 2023 Jens Petersen <petersen(a)redhat.com> - 7.4-12
+- disable ppc64le (#2226390)
+
* Fri Jul 21 2023 Fedora Release Engineering <releng(a)fedoraproject.org> - 7.4-11
- Rebuilt for
https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
commit 72f9e792878cc750676626f35515a95f2aa35431
Author: Tomas Hrcka <thrcka(a)redhat.com>
Date: Mon Aug 21 12:02:39 2023 +0200
Unretirement request:
https://pagure.io/releng/issue/11638
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..dd3082f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+/racket-7.0-src.tgz
+/racket-7.4-src.tgz
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..dd16930
--- /dev/null
+++ b/README.md
@@ -0,0 +1,3 @@
+# racket
+
+The racket package
\ No newline at end of file
diff --git a/dead.package b/dead.package
deleted file mode 100644
index ab7426e..0000000
--- a/dead.package
+++ /dev/null
@@ -1 +0,0 @@
-Retired: Long term failure to build
diff --git a/racket-7.4-remove-nonfree.patch b/racket-7.4-remove-nonfree.patch
new file mode 100644
index 0000000..b670cbc
--- /dev/null
+++ b/racket-7.4-remove-nonfree.patch
@@ -0,0 +1,967 @@
+diff -urN racket-7.4-orig/share/links.rktd racket-7.4-remove-nonfree/share/links.rktd
+--- racket-7.4-orig/share/links.rktd 2019-08-03 23:31:24.000000000 -0400
++++ racket-7.4-remove-nonfree/share/links.rktd 2019-08-28 09:27:21.416018118 -0400
+@@ -177,7 +177,6 @@
+ (root "pkgs/slideshow-exe")
+ (root "pkgs/slideshow-plugin")
+ (root "pkgs/srfi-doc")
+- (root "pkgs/srfi-doc-nonfree")
+ (root "pkgs/syntax-color-doc")
+ (root "pkgs/web-server-lib")
+ (root "pkgs/unix-socket-lib")
+diff -urN racket-7.4-orig/share/pkgs/pkgs.rktd
racket-7.4-remove-nonfree/share/pkgs/pkgs.rktd
+--- racket-7.4-orig/share/pkgs/pkgs.rktd 2019-08-03 23:31:24.000000000 -0400
++++ racket-7.4-remove-nonfree/share/pkgs/pkgs.rktd 2019-08-28 09:28:17.804384118 -0400
+@@ -1 +1 @@
+-#hash(("2d" . #s(pkg-info (catalog "2d")
"fc82a7bd227d7f3b8852351fc6bf34948a7750b8" #t)) ("2d-doc" .
#s((sc-pkg-info pkg-info 3) (catalog "2d-doc")
"209614ab3da685f46ece52c2efdf976f1e7697b1" #t "2d"))
("2d-lib" . #s((sc-pkg-info pkg-info 3) (catalog "2d-lib")
"8f5dd908df23ee2a698b178971be4e18d1937393" #t "2d"))
("algol60" . #s((sc-pkg-info pkg-info 3) (catalog "algol60")
"5a67faec1e3f59e98d5d5c4ee4687a9e9a34962f" #t "algol60"))
("at-exp-lib" . #s(pkg-info (catalog "at-exp-lib")
"68787a39b1d862726969eb03e54c6fcbab05d8d4" #t)) ("base" . #s(pkg-info
(catalog "base") "249d2a371f12382b1360dd7a77702fb28551133b" #t))
("cext-lib" . #s(pkg-info (catalog "cext-lib")
"1ce5c3f8ef512216a402de1e139a242cf6593999" #t)) ("class-iop-lib" .
#s(pkg-info (catalog "class-iop-lib")
"29c5747600fa93d2dac540e3381291e45fa09300" #t)) ("compatibility" .
#s(pkg-info (catalog "compatibility")
"0fd2da43b30b0f27aaafa5d67af21ddf7fe02dd6" #t)) ("compatibility-doc" .
#s(pkg-info (catalog "compatibility-doc")
"fee62d07a8e143615c24f365c7c48c30e1eebe8c" #t)) ("compatibility-lib" .
#s(pkg-info (catalog "compatibility-lib")
"8d1011f2f86192a07714e4088ff5e23ca794471a" #t)) ("compiler" .
#s(pkg-info (catalog "compiler")
"b1a38a648d3cb1adaca66e1d9fb2a3636421f4f8" #t)) ("compiler-lib" .
#s(pkg-info (catalog "compiler-lib")
"b60403b4873befa5811e5fabb65970a24e0bb950" #t)) ("contract-profile" .
#s((sc-pkg-info pkg-info 3) (catalog "contract-profile")
"001eec9d842dcd35b6f082934e614ba86a2ab4c0" #t "contract-profile"))
("data" . #s(pkg-info (catalog "data")
"98ef519ebf74d40ba645d00933e47fa0a516c96f" #t)) ("data-doc" .
#s(pkg-info (catalog "data-doc")
"ebfdbebb77721a087efc803f30bec6afe2292097" #t)) ("data-enumerate-lib"
. #s(pkg-info (catalog "data-enumerate-lib")
"f70dcd6ce6d7b14d1f1cc76b908df7cb2fd61929" #t)) ("data-lib" .
#s(pkg-info (catalog "data-lib")
"7fb6940020f610c669df432877213bfe79caebc7" #t)) ("datalog" .
#s((sc-pkg-info pkg-info 3) (catalog "datalog")
"411342493d6022b7d74f7e13955dfdfcf6e62f91" #t "datalog"))
("db" . #s(pkg-info (catalog "db")
"13af2037227b04af20e85e2fef78cc9686fc6e3d" #t)) ("db-doc" .
#s(pkg-info (catalog "db-doc")
"ed6cb9e0f165f5e390347d9a979f994c80e09e6a" #t)) ("db-lib" .
#s(pkg-info (catalog "db-lib")
"5c97b5ac2a3cf661d85cd7177029ce4686a9391e" #t)) ("deinprogramm" .
#s(pkg-info (catalog "deinprogramm")
"9e908294790f919de34f67ab3321f57a53f52e36" #t))
("deinprogramm-signature" . #s(pkg-info (catalog
"deinprogramm-signature") "433e0dc1f4f74ef73074ce1c387b06e9e260e212"
#t)) ("distributed-places" . #s(pkg-info (catalog
"distributed-places") "145c1cedf46768adf061fade24893965840f1643" #t))
("distributed-places-doc" . #s(pkg-info (catalog
"distributed-places-doc") "fda0badbab4441172b33ae31c3b2272ce59bcd3c"
#t)) ("distributed-places-lib" . #s(pkg-info (catalog
"distributed-places-lib") "db733a858f67c295196d3d5e62d4d1047dbe10c4"
#t)) ("draw" . #s(pkg-info (catalog "draw")
"1e57984e4a7e93fc30e6f42382b3bdf2d5162759" #t)) ("draw-doc" .
#s(pkg-info (catalog "draw-doc")
"e7348bde06b88e4261d46eeeb7a1b69cb1c4b5bb" #t)) ("draw-lib" .
#s(pkg-info (catalog "draw-lib")
"8343a0e4d9c082e2b5da7f36590f3d6f81a90815" #t)) ("drracket" .
#s(pkg-info (catalog "drracket")
"0233b83af527c6866ce458d5869c02f1c3148569" #t)) ("drracket-plugin-lib"
. #s(pkg-info (catalog "drracket-plugin-lib")
"c4715aa5984bf8dfe48d44038b4eb81525f7cac7" #t)) ("drracket-tool" .
#s(pkg-info (catalog "drracket-tool")
"93dcb297ed4ad62cf4605d632da64023bdfc1e69" #t)) ("drracket-tool-doc" .
#s(pkg-info (catalog "drracket-tool-doc")
"f44fa4ef2a14aaff04d3b26d5b4a701678e42b68" #t)) ("drracket-tool-lib" .
#s(pkg-info (catalog "drracket-tool-lib")
"f3ca7e15b2592b40c4aaf734cf00126d71e0876d" #t)) ("ds-store" .
#s((sc-pkg-info pkg-info 3) (catalog "ds-store")
"f3b74900e431d9ca6ee1038fb7dd1e08d759b009" #t "ds-store"))
("ds-store-doc" . #s((sc-pkg-info pkg-info 3) (catalog "ds-store-doc")
"06b754e0bc7ed6bd6ebf26b8ab4b3ae223ff9e3d" #t "ds-store"))
("ds-store-lib" . #s((sc-pkg-info pkg-info 3) (catalog "ds-store-lib")
"517b5f727a5df1d7230cfeae5c208433d9717d2a" #t "ds-store"))
("dynext-lib" . #s(pkg-info (catalog "dynext-lib")
"6327a91cf80c504524e1de84f2613263e62da80e" #t)) ("eli-tester" .
#s(pkg-info (catalog "eli-tester")
"0c9bfc31ad180898a7f10af252009084b0de30eb" #t)) ("eopl" .
#s((sc-pkg-info pkg-info 3) (catalog "eopl")
"b7725c60cac4f51be2fefef5bc393857c07dc0af" #t "eopl"))
("errortrace" . #s(pkg-info (catalog "errortrace")
"f8d7f00c7dacc7d1bb2bc99c76129798319881e7" #t)) ("errortrace-doc" .
#s(pkg-info (catalog "errortrace-doc")
"aea79310a7f250d43325f82467b4c4126338a425" #t)) ("errortrace-lib" .
#s(pkg-info (catalog "errortrace-lib")
"0b7417f006208d6c8fb5f4fa61e1099a970f1fc2" #t)) ("frtime" .
#s((sc-pkg-info pkg-info 3) (catalog "frtime")
"83bf86eb4a5f6b1a2f53ac8f7b0c265ca8e27839" #t "frtime"))
("future-visualizer" . #s(pkg-info (catalog "future-visualizer")
"76bc592353681f3d673841d65230deecd901ee8f" #t))
("future-visualizer-typed" . #s(pkg-info (catalog
"future-visualizer-typed") "a1698d4264a5267ac49b2451211e3391216a4e82"
#t)) ("games" . #s((sc-pkg-info pkg-info 3) (catalog "games")
"0ad78fb4ec37b6f19435b7599a566c1bb2e5847c" #t "games"))
("gui" . #s(pkg-info (catalog "gui")
"a74759a9030789bdea8a324bd69cad5e162c5937" #t)) ("gui-doc" .
#s(pkg-info (catalog "gui-doc")
"e79b96b5ded5e81a5beeb33d905d7e7ccd893074" #t)) ("gui-lib" .
#s(pkg-info (catalog "gui-lib")
"35c5e9a5dd69ba6839210d49e6c967ba418e9cc4" #t)) ("gui-pkg-manager-lib"
. #s(pkg-info (catalog "gui-pkg-manager-lib")
"1e0d8a3f2a60642e785c0459108f1be6034dbcb1" #t)) ("htdp" . #s(pkg-info
(catalog "htdp") "6e222eff85bae1b326f4282d8b82fc5c83202cfe" #t))
("htdp-doc" . #s(pkg-info (catalog "htdp-doc")
"e5892b0ae846f64e997e34ae2afb165b35f290b9" #t)) ("htdp-lib" .
#s(pkg-info (catalog "htdp-lib")
"1f18bce701e14d76fa2e4f14f8cded185b00a66d" #t)) ("html" . #s(pkg-info
(catalog "html") "59ab0bddd4935969e2af0469ad48a9c30f33ef60" #t))
("html-doc" . #s(pkg-info (catalog "html-doc")
"3cd2a18da0b91b209d196f0cf669f2e59829d2bc" #t)) ("html-lib" .
#s(pkg-info (catalog "html-lib")
"2b17b0447932ee0a5287581269d24b5e3e9dcbb5" #t)) ("icons" .
#s((sc-pkg-info pkg-info 3) (catalog "icons")
"77e8f436f370ce8d88aa39622c5921664b56845b" #t "icons"))
("images" . #s(pkg-info (catalog "images")
"98c6a0e120eb1115db9d376759b245db0591b07b" #t)) ("images-doc" .
#s(pkg-info (catalog "images-doc")
"99e114a7c7e234b6eaa23f99f863d03986bd62b5" #t)) ("images-gui-lib" .
#s(pkg-info (catalog "images-gui-lib")
"fef0ec840d82ed975370087fdcb049e0cce8e339" #t)) ("images-lib" .
#s(pkg-info (catalog "images-lib")
"9dcdc2e2388c63063a4a161e09585119d8d18e88" #t)) ("lazy" .
#s((sc-pkg-info pkg-info 3) (catalog "lazy")
"8038fc1a353a1618a5c19feecd7de1150719a9fc" #t "lazy"))
("macro-debugger" . #s(pkg-info (catalog "macro-debugger")
"448277bb97132d25236deb785dce8c81933235d2" #t))
("macro-debugger-text-lib" . #s(pkg-info (catalog
"macro-debugger-text-lib") "0549dc476d9f071569d59359dbe6e4039f8af250"
#t)) ("main-distribution" . #s(pkg-info (catalog "main-distribution")
"3d0f4e0314c4b437feb7c3b86ff69cf20ad1e0f0" #f)) ("make" .
#s((sc-pkg-info pkg-info 3) (catalog "make")
"93e3f1b4144e3a04392b753cedc34c7c49e63fe5" #t "make"))
("math" . #s(pkg-info (catalog "math")
"bc288b3ed293e90ef3a4eb05971d388265dc7065" #t)) ("math-doc" .
#s(pkg-info (catalog "math-doc")
"119b215101c0f1f82b6d28e06f5288812f38f2c3" #t)) ("math-lib" .
#s(pkg-info (catalog "math-lib")
"4e159abc47c306364ad02549853c1ddf82d6f8a2" #t)) ("mysterx" .
#s((sc-pkg-info pkg-info 3) (catalog "mysterx")
"23487c08b23cb7d965b97b0c45e6e3553854b869" #t "mysterx"))
("mzcom" . #s((sc-pkg-info pkg-info 3) (catalog "mzcom")
"ac97bd1dc80a2f867d17f75254a8bbb9faa24afd" #t "mzcom"))
("mzscheme" . #s(pkg-info (catalog "mzscheme")
"2a45b98e73f899324f2c5678d93df74f1792d23c" #t)) ("mzscheme-doc" .
#s(pkg-info (catalog "mzscheme-doc")
"de48e8b819047025177fac06b6f254e6f939fd23" #t)) ("mzscheme-lib" .
#s(pkg-info (catalog "mzscheme-lib")
"a6a2ec7fd0946a46c5368dbe1d7602419f8e7b53" #t)) ("net" . #s(pkg-info
(catalog "net") "5df16fb466651bbb270a30296b1e8ee5f86af6fe" #t))
("net-cookies" . #s(pkg-info (catalog "net-cookies")
"51f6db09a36adbeb73e6bfc25bcd7d2123cc563e" #t)) ("net-cookies-doc" .
#s(pkg-info (catalog "net-cookies-doc")
"c1380af8407ce13dc993830db20250d7348117a8" #t)) ("net-cookies-lib" .
#s(pkg-info (catalog "net-cookies-lib")
"12f95b8fa1d9d562cd2bc7b499dd2fdc7111d122" #t)) ("net-doc" .
#s(pkg-info (catalog "net-doc")
"effd2e00136f037f9c524e25973ffa0b4b5f6ab8" #t)) ("net-lib" .
#s(pkg-info (catalog "net-lib")
"c0e7e3b3d55d067fa1fa3d13736877f33fe4fe76" #t)) ("optimization-coach"
. #s(pkg-info (catalog "optimization-coach")
"79ef3e4ec8de133f6f0b1838218b9478ba22d9bc" #t)) ("option-contract" .
#s(pkg-info (catalog "option-contract")
"14f8553d264972db98ecb25007f0c62f72c88837" #t)) ("option-contract-doc"
. #s(pkg-info (catalog "option-contract-doc")
"12d4da169785f5af1e8e38357713656385b4a75d" #t)) ("option-contract-lib"
. #s(pkg-info (catalog "option-contract-lib")
"f01bff6dccd0e6cf8721ac9cf3a819c5a9fd25b7" #t)) ("parser-tools" .
#s(pkg-info (catalog "parser-tools")
"7c90da6b7e8b13a5faed4d196f29f74d24c308a3" #t)) ("parser-tools-doc" .
#s(pkg-info (catalog "parser-tools-doc")
"d3d05e4f5f175f790775c835317034e8f6b6394e" #t)) ("parser-tools-lib" .
#s(pkg-info (catalog "parser-tools-lib")
"22eaaae7d2dc79755eaf96029554ebb48fb7ccaf" #t)) ("pconvert-lib" .
#s(pkg-info (catalog "pconvert-lib")
"cf75aa36ac881f36c9f845f9b3d5c75bb016caac" #t)) ("pict" . #s(pkg-info
(catalog "pict") "b58b1e3ff96f16f62a8ca6e52efcf143d02c2552" #t))
("pict-doc" . #s(pkg-info (catalog "pict-doc")
"8e95db03fae67b105bd6afdce6c4dfcaf587c2c9" #t)) ("pict-lib" .
#s(pkg-info (catalog "pict-lib")
"2abed1569d91f15fa61d95e11f53d5cbbef610e1" #t)) ("pict-snip" .
#s(pkg-info (catalog "pict-snip")
"07039265dc698b136044724e4802b64517ba5209" #t)) ("pict-snip-doc" .
#s(pkg-info (catalog "pict-snip-doc")
"2453a4852fc2987b42f4ad4f6e92a1a448418db5" #t)) ("pict-snip-lib" .
#s(pkg-info (catalog "pict-snip-lib")
"28f4f45649589e010ab6c6cdc3e82ac9ff1fbe7f" #t)) ("picturing-programs"
. #s(pkg-info (catalog "picturing-programs")
"325870110f44e006c228f41619b5c77f331b82a1" #t)) ("plai" . #s(pkg-info
(catalog "plai") "6ac6f533410efd33f655d51314228c77c83172ac" #t))
("plai-doc" . #s((sc-pkg-info pkg-info 3) (catalog "plai-doc")
"c8363060f66e1bd1ddc72c8271e86cf3fcbeff9e" #t "plai"))
("plai-lib" . #s((sc-pkg-info pkg-info 3) (catalog "plai-lib")
"978f240e75c6ad1a4843a010fe250d9977e93339" #t "plai"))
("planet" . #s(pkg-info (catalog "planet")
"e1a53854ddae4cf4eef667a91f3c944eb1481371" #t)) ("planet-doc" .
#s(pkg-info (catalog "planet-doc")
"0356d590361d2b909c717e97dc4f9eb2b567461a" #t)) ("planet-lib" .
#s(pkg-info (catalog "planet-lib")
"a0993c8b1c3ae0f08f75a6e70d785dfa3e7adf66" #t)) ("plot" . #s(pkg-info
(catalog "plot") "898a4c570ed38396d684f260efa240d66accead9" #t))
("plot-compat" . #s(pkg-info (catalog "plot-compat")
"01b129e6ee41080f090c02054d07c7856ae2c06c" #t)) ("plot-doc" .
#s(pkg-info (catalog "plot-doc")
"70b006d5da401955e00000fcf6a3aacc296cd687" #t)) ("plot-gui-lib" .
#s(pkg-info (catalog "plot-gui-lib")
"57d49ac10de7a4d2520fe8a3c625eb91e6af8359" #t)) ("plot-lib" .
#s(pkg-info (catalog "plot-lib")
"84fecbb718ed024176c79f271f30579f5d753339" #t)) ("preprocessor" .
#s((sc-pkg-info pkg-info 3) (catalog "preprocessor")
"38fc7981a096322c67e4f7d9afac6f1fe664529e" #t "preprocessor"))
("profile" . #s(pkg-info (catalog "profile")
"2183f9722eb2efbe2c8feb400b73602ad97fe221" #t)) ("profile-doc" .
#s(pkg-info (catalog "profile-doc")
"1d7c7dd2ad37e0d6c842cf30c7a01a631b18a39e" #t)) ("profile-lib" .
#s((sc-pkg-info pkg-info 3) (catalog "profile-lib")
"4eed8ba01f406d199604b3727c405c2bf368a617" #t "profile"))
("quickscript" . #s((sc-pkg-info pkg-info 3) (catalog "quickscript")
"0c531a78067442fb5ac2b404f92c92427cff8bec" #t "quickscript"))
("r5rs" . #s(pkg-info (catalog "r5rs")
"febae235a352df6df59a2e2c45b8658322793103" #t)) ("r5rs-doc" .
#s(pkg-info (catalog "r5rs-doc")
"3b842a310c928a0647b0c29cb3eabe215270f8e2" #t)) ("r5rs-lib" .
#s(pkg-info (catalog "r5rs-lib")
"9fcc4ebda67e44abd34e6c97a1448cd9a3947b77" #t)) ("r6rs" . #s(pkg-info
(catalog "r6rs") "2ba0a84b06e7ab0ab49308fb6b58c23b29e39662" #t))
("r6rs-doc" . #s(pkg-info (catalog "r6rs-doc")
"972c5762a28dd773190c7aa46f9b972ac7c4c44e" #t)) ("r6rs-lib" .
#s(pkg-info (catalog "r6rs-lib")
"0a80a45a9666924b02b7e41002b3122b0b0606e3" #t)) ("racket-cheat" .
#s((sc-pkg-info pkg-info 3) (catalog "racket-cheat")
"11ef1c76f6459d0039e13cdc04326f5c54c28714" #t "racket-cheat"))
("racket-doc" . #s(pkg-info (catalog "racket-doc")
"7c41f0b0ae91a7d77da4d4f15c2e5e2f6ab5c689" #t)) ("racket-index" .
#s(pkg-info (catalog "racket-index")
"ec294cafcf79f9a7034d02b4b3ff8c2e2a717622" #t)) ("racket-lib" .
#s(pkg-info (catalog "racket-lib")
"addde48592db0ba3db8686c37951f20c7112d368" #f)) ("racklog" .
#s((sc-pkg-info pkg-info 3) (catalog "racklog")
"a587b4aa82ff470e0646185cce033900e1bdafa8" #t "racklog"))
("rackunit" . #s(pkg-info (catalog "rackunit")
"4b9de5253bfc93a4ba11e527bed3314d48ab0fc8" #t)) ("rackunit-doc" .
#s(pkg-info (catalog "rackunit-doc")
"26d22124d6eab4c79b73d778deef7b9bc73c2dec" #t)) ("rackunit-gui" .
#s(pkg-info (catalog "rackunit-gui")
"4cb8bc7487ff6bd55f653708d51f29fb75b490e2" #t)) ("rackunit-lib" .
#s(pkg-info (catalog "rackunit-lib")
"0069571fffeb268232fab1db7e9c6e8ea124f1ac" #t)) ("rackunit-plugin-lib"
. #s(pkg-info (catalog "rackunit-plugin-lib")
"a663951f3c13e3a6c0228949d97c6b2eef4a5b6c" #t)) ("rackunit-typed" .
#s((sc-pkg-info pkg-info 3) (catalog "rackunit-typed")
"d3ea39520e71e1fdcdaee0a4218575592c44a41a" #t "typed"))
("readline" . #s(pkg-info (catalog "readline")
"4c7e66cd27cf4408832c87e3ee86df7a6eefa09d" #t)) ("readline-doc" .
#s(pkg-info (catalog "readline-doc")
"3bded5f74e621afb05b47f4fb05e455d8c2ee3f7" #t)) ("readline-lib" .
#s(pkg-info (catalog "readline-lib")
"a5182fa3edd32b9d63e6c355ccb372e0310a9d6d" #t)) ("realm" .
#s((sc-pkg-info pkg-info 3) (catalog "realm")
"f013fc3db6882ece583015d48f0ad8e1e971601d" #t "realm"))
("redex" . #s(pkg-info (catalog "redex")
"57c8ddc62fd86b0ede08e92a7e47d35527768e99" #t)) ("redex-benchmark" .
#s(pkg-info (catalog "redex-benchmark")
"2433d94442a5f32f16d152656b168d1e6218aaa7" #t)) ("redex-doc" .
#s(pkg-info (catalog "redex-doc")
"6cedd1cfdc891d7ac3b46fcfe7767a4681443515" #t)) ("redex-examples" .
#s(pkg-info (catalog "redex-examples")
"98a38101bd790fa6bd8ff16ce8e2fb65245cb87c" #t)) ("redex-gui-lib" .
#s(pkg-info (catalog "redex-gui-lib")
"80083d5cded16afb0d45a59cdd655ddd396b8685" #t)) ("redex-lib" .
#s(pkg-info (catalog "redex-lib")
"04c6bc3954bf30293e0b5cfe76294a799e2f1aae" #t)) ("redex-pict-lib" .
#s(pkg-info (catalog "redex-pict-lib")
"9b13a5976edd63728d8914fc20bffb5ad981302f" #t)) ("sandbox-lib" .
#s(pkg-info (catalog "sandbox-lib")
"5b6080ff4052f881c343f6ccc847f860acb501a9" #t)) ("sasl" .
#s((sc-pkg-info pkg-info 3) (catalog "sasl")
"8dc49968c1ef11c5dd77f56c5979453a36d2c750" #t "sasl"))
("sasl-doc" . #s((sc-pkg-info pkg-info 3) (catalog "sasl-doc")
"02b6cf131a97af9caa622a77592bb851f5d58fa3" #t "sasl"))
("sasl-lib" . #s((sc-pkg-info pkg-info 3) (catalog "sasl-lib")
"d4ecdad04e42658a69d70d2f7d5eadae7ed7d16e" #t "sasl"))
("scheme-lib" . #s(pkg-info (catalog "scheme-lib")
"22e71c59ac20b09cd156062ce0fb0afb86aaa851" #t)) ("schemeunit" .
#s((sc-pkg-info pkg-info 3) (catalog "schemeunit")
"03986b499744194a9e06a66dfe988bed9fb8cc40" #t "schemeunit"))
("scribble" . #s(pkg-info (catalog "scribble")
"862cac10d6934b0dca35b4ebace9ffa0faa3a381" #t)) ("scribble-doc" .
#s(pkg-info (catalog "scribble-doc")
"fc38088b2924e7d902ceafc94243fd3ca2a52b45" #t)) ("scribble-html-lib" .
#s(pkg-info (catalog "scribble-html-lib")
"13105ce2064fa963c535187a657792e1ec95d284" #t)) ("scribble-lib" .
#s(pkg-info (catalog "scribble-lib")
"9be1c71d1c0f3f0d41031416689f012a16ba535a" #t)) ("scribble-text-lib" .
#s(pkg-info (catalog "scribble-text-lib")
"1d816dcc95b5f6d77ff6633b82a6dd40f7effe4e" #t))
("serialize-cstruct-lib" . #s(pkg-info (catalog
"serialize-cstruct-lib") "caeab596cb494273bcb84b917205a66bd06d0528"
#t)) ("sgl" . #s((sc-pkg-info pkg-info 3) (catalog "sgl")
"a2feb4952e01c7e02af068978ade81d0a213e035" #t "sgl"))
("shell-completion" . #s((sc-pkg-info pkg-info 3) (catalog
"shell-completion") "900d6f81d7f78d17ac1789436c36a3314f09fcec" #t
"shell-completion")) ("slatex" . #s((sc-pkg-info pkg-info 3) (catalog
"slatex") "7a36270767b37d0336b4d72c7ca89140f395f9af" #t
"slatex")) ("slideshow" . #s(pkg-info (catalog "slideshow")
"62d9fa5b5fc8f1b82fb7acae427e474488fb1c2a" #t)) ("slideshow-doc" .
#s(pkg-info (catalog "slideshow-doc")
"d023178269517583e08ea3afc13bd8e867e86eaa" #t)) ("slideshow-exe" .
#s(pkg-info (catalog "slideshow-exe")
"4764478f8f62ba0a9d66ef064945af605cac48cc" #t)) ("slideshow-lib" .
#s(pkg-info (catalog "slideshow-lib")
"b7d301d8496d23dd950606d50a2c9565067f77f5" #t)) ("slideshow-plugin" .
#s(pkg-info (catalog "slideshow-plugin")
"50fe3549998180cf9391d355fce67c1b95fee846" #t)) ("snip" . #s(pkg-info
(catalog "snip") "f6401933decce0674344953461fc80be6b600748" #t))
("snip-lib" . #s(pkg-info (catalog "snip-lib")
"8cf6a919d5d9021f782423b3712a0e73cf93842a" #t)) ("source-syntax" .
#s((sc-pkg-info pkg-info 3) (catalog "source-syntax")
"b6dde72b228b3e8e7da35fbc25cce395c8dce9cb" #t "syntax"))
("srfi" . #s(pkg-info (catalog "srfi")
"810795b1c70213bba3e3f02c29c0ec0be774d551" #t)) ("srfi-doc" .
#s(pkg-info (catalog "srfi-doc")
"9bcb860c00d8023421c3ab3e2785ab8ee92b8f9d" #t)) ("srfi-doc-nonfree" .
#s(pkg-info (catalog "srfi-doc-nonfree")
"6ac01197bd6a33c21ff69684704e73739708d92c" #t)) ("srfi-lib" .
#s(pkg-info (catalog "srfi-lib")
"8dd9d951c94054ec60a4e1d59fa2c1a462e8fff6" #t)) ("srfi-lite-lib" .
#s(pkg-info (catalog "srfi-lite-lib")
"2a40a8ecf4a2368b6c84d8f0bdd1c72df4f3cc7f" #t)) ("string-constants" .
#s(pkg-info (catalog "string-constants")
"602234aee270ea040b993f8146548aa0c835ee41" #t))
("string-constants-doc" . #s(pkg-info (catalog "string-constants-doc")
"627c9a564c187d9dbd2a1c6de302e38ed8cd105e" #t))
("string-constants-lib" . #s(pkg-info (catalog "string-constants-lib")
"85764e7ecf8df819142221a84380340c23607e18" #t)) ("swindle" .
#s((sc-pkg-info pkg-info 3) (catalog "swindle")
"56793a3d43336a0dfc1fb6d4933a6a7d0a6f18a6" #t "swindle"))
("syntax-color" . #s(pkg-info (catalog "syntax-color")
"0ab7c010c146aacbc26f81d73050e5dcb1ec44a4" #t)) ("syntax-color-doc" .
#s(pkg-info (catalog "syntax-color-doc")
"ebc23963c2f235893a2ae998311c439ca5f2de5e" #t)) ("syntax-color-lib" .
#s(pkg-info (catalog "syntax-color-lib")
"c496941837238109ebf69e6a2a3740136baf077e" #t)) ("testing-util-lib" .
#s(pkg-info (catalog "testing-util-lib")
"6ad76708f90cc3938a72d556458f92cde3e30578" #t)) ("tex-table" .
#s((sc-pkg-info pkg-info 3) (catalog "tex-table")
"c6127491120f723f26dbba30d217e4f2aeb12084" #t "mrlib"))
("trace" . #s((sc-pkg-info pkg-info 3) (catalog "trace")
"953c7b5e344cfc8859006ffbfce4fdf360647d81" #t "trace"))
("typed-racket" . #s(pkg-info (catalog "typed-racket")
"7896fb7492e6230f58d73d202ce9e6f77e3f98b7" #t))
("typed-racket-compatibility" . #s(pkg-info (catalog
"typed-racket-compatibility")
"1bf2425d25d54c653d693290f41e9587847357a6" #t)) ("typed-racket-doc" .
#s(pkg-info (catalog "typed-racket-doc")
"d338099f40c47dbfb62f699206e99cfdfa7e32d6" #t)) ("typed-racket-lib" .
#s(pkg-info (catalog "typed-racket-lib")
"3eff82ebcceeab467c35cf19044013c83a47bd32" #t)) ("typed-racket-more" .
#s(pkg-info (catalog "typed-racket-more")
"600a695a0f59fe2740cf9e2080a13e25310a5114" #t)) ("unix-socket" .
#s(pkg-info (catalog "unix-socket")
"c015b6081883e19b3f1d2343bddca9895499832c" #t)) ("unix-socket-doc" .
#s(pkg-info (catalog "unix-socket-doc")
"b5d7f058cd0984aef1d8214968e79c202b972636" #t)) ("unix-socket-lib" .
#s(pkg-info (catalog "unix-socket-lib")
"e8d16e6cf98e03dc141ce410e7fddb83eb420e54" #t)) ("web-server" .
#s(pkg-info (catalog "web-server")
"9e01035046e279382ab2c1aa5c3f68d7533afd64" #t)) ("web-server-doc" .
#s(pkg-info (catalog "web-server-doc")
"afb48732580aaf70f2d13dc0f3115f25672a0fb6" #t)) ("web-server-lib" .
#s(pkg-info (catalog "web-server-lib")
"1fb4a0c9718b0e835d730f92289f9855018dfee3" #t)) ("wxme" . #s(pkg-info
(catalog "wxme") "a56f70bd66b595d03baa8fb60046c3826b3abaaa" #t))
("wxme-lib" . #s(pkg-info (catalog "wxme-lib")
"75d7ad58da6d6fe5e3b5d81fe3f1e73b37460ae5" #t)) ("xrepl" . #s(pkg-info
(catalog "xrepl") "c577bf792fde613ada8dc08f3b76b9daf3fc6814" #t))
("xrepl-doc" . #s(pkg-info (catalog "xrepl-doc")
"1724207363217dc4e931ac92e017c594a7a2a44b" #t)) ("xrepl-lib" .
#s(pkg-info (catalog "xrepl-lib")
"829e38b7ffcd0508842871b5aa354a531ddee4fa" #t)) ("zo-lib" .
#s(pkg-info (catalog "zo-lib")
"0f00c96ccaf933002e5c1e9f6b9e8856cbcd04eb" #t)))
++#hash(("2d" . #s(pkg-info (catalog "2d")
"fc82a7bd227d7f3b8852351fc6bf34948a7750b8" #t)) ("2d-doc" .
#s((sc-pkg-info pkg-info 3) (catalog "2d-doc")
"209614ab3da685f46ece52c2efdf976f1e7697b1" #t "2d"))
("2d-lib" . #s((sc-pkg-info pkg-info 3) (catalog "2d-lib")
"8f5dd908df23ee2a698b178971be4e18d1937393" #t "2d"))
("algol60" . #s((sc-pkg-info pkg-info 3) (catalog "algol60")
"5a67faec1e3f59e98d5d5c4ee4687a9e9a34962f" #t "algol60"))
("at-exp-lib" . #s(pkg-info (catalog "at-exp-lib")
"68787a39b1d862726969eb03e54c6fcbab05d8d4" #t)) ("base" . #s(pkg-info
(catalog "base") "249d2a371f12382b1360dd7a77702fb28551133b" #t))
("cext-lib" . #s(pkg-info (catalog "cext-lib")
"1ce5c3f8ef512216a402de1e139a242cf6593999" #t)) ("class-iop-lib" .
#s(pkg-info (catalog "class-iop-lib")
"29c5747600fa93d2dac540e3381291e45fa09300" #t)) ("compatibility" .
#s(pkg-info (catalog "compatibility")
"0fd2da43b30b0f27aaafa5d67af21ddf7fe02dd6" #t)) ("compatibility-doc" .
#s(pkg-info (catalog "compatibility-doc")
"fee62d07a8e143615c24f365c7c48c30e1eebe8c" #t)) ("compatibility-lib" .
#s(pkg-info (catalog "compatibility-lib")
"8d1011f2f86192a07714e4088ff5e23ca794471a" #t)) ("compiler" .
#s(pkg-info (catalog "compiler")
"b1a38a648d3cb1adaca66e1d9fb2a3636421f4f8" #t)) ("compiler-lib" .
#s(pkg-info (catalog "compiler-lib")
"b60403b4873befa5811e5fabb65970a24e0bb950" #t)) ("contract-profile" .
#s((sc-pkg-info pkg-info 3) (catalog "contract-profile")
"001eec9d842dcd35b6f082934e614ba86a2ab4c0" #t "contract-profile"))
("data" . #s(pkg-info (catalog "data")
"98ef519ebf74d40ba645d00933e47fa0a516c96f" #t)) ("data-doc" .
#s(pkg-info (catalog "data-doc")
"ebfdbebb77721a087efc803f30bec6afe2292097" #t)) ("data-enumerate-lib"
. #s(pkg-info (catalog "data-enumerate-lib")
"f70dcd6ce6d7b14d1f1cc76b908df7cb2fd61929" #t)) ("data-lib" .
#s(pkg-info (catalog "data-lib")
"7fb6940020f610c669df432877213bfe79caebc7" #t)) ("datalog" .
#s((sc-pkg-info pkg-info 3) (catalog "datalog")
"411342493d6022b7d74f7e13955dfdfcf6e62f91" #t "datalog"))
("db" . #s(pkg-info (catalog "db")
"13af2037227b04af20e85e2fef78cc9686fc6e3d" #t)) ("db-doc" .
#s(pkg-info (catalog "db-doc")
"ed6cb9e0f165f5e390347d9a979f994c80e09e6a" #t)) ("db-lib" .
#s(pkg-info (catalog "db-lib")
"5c97b5ac2a3cf661d85cd7177029ce4686a9391e" #t)) ("deinprogramm" .
#s(pkg-info (catalog "deinprogramm")
"9e908294790f919de34f67ab3321f57a53f52e36" #t))
("deinprogramm-signature" . #s(pkg-info (catalog
"deinprogramm-signature") "433e0dc1f4f74ef73074ce1c387b06e9e260e212"
#t)) ("distributed-places" . #s(pkg-info (catalog
"distributed-places") "145c1cedf46768adf061fade24893965840f1643" #t))
("distributed-places-doc" . #s(pkg-info (catalog
"distributed-places-doc") "fda0badbab4441172b33ae31c3b2272ce59bcd3c"
#t)) ("distributed-places-lib" . #s(pkg-info (catalog
"distributed-places-lib") "db733a858f67c295196d3d5e62d4d1047dbe10c4"
#t)) ("draw" . #s(pkg-info (catalog "draw")
"1e57984e4a7e93fc30e6f42382b3bdf2d5162759" #t)) ("draw-doc" .
#s(pkg-info (catalog "draw-doc")
"e7348bde06b88e4261d46eeeb7a1b69cb1c4b5bb" #t)) ("draw-lib" .
#s(pkg-info (catalog "draw-lib")
"8343a0e4d9c082e2b5da7f36590f3d6f81a90815" #t)) ("drracket" .
#s(pkg-info (catalog "drracket")
"0233b83af527c6866ce458d5869c02f1c3148569" #t)) ("drracket-plugin-lib"
. #s(pkg-info (catalog "drracket-plugin-lib")
"c4715aa5984bf8dfe48d44038b4eb81525f7cac7" #t)) ("drracket-tool" .
#s(pkg-info (catalog "drracket-tool")
"93dcb297ed4ad62cf4605d632da64023bdfc1e69" #t)) ("drracket-tool-doc" .
#s(pkg-info (catalog "drracket-tool-doc")
"f44fa4ef2a14aaff04d3b26d5b4a701678e42b68" #t)) ("drracket-tool-lib" .
#s(pkg-info (catalog "drracket-tool-lib")
"f3ca7e15b2592b40c4aaf734cf00126d71e0876d" #t)) ("ds-store" .
#s((sc-pkg-info pkg-info 3) (catalog "ds-store")
"f3b74900e431d9ca6ee1038fb7dd1e08d759b009" #t "ds-store"))
("ds-store-doc" . #s((sc-pkg-info pkg-info 3) (catalog "ds-store-doc")
"06b754e0bc7ed6bd6ebf26b8ab4b3ae223ff9e3d" #t "ds-store"))
("ds-store-lib" . #s((sc-pkg-info pkg-info 3) (catalog "ds-store-lib")
"517b5f727a5df1d7230cfeae5c208433d9717d2a" #t "ds-store"))
("dynext-lib" . #s(pkg-info (catalog "dynext-lib")
"6327a91cf80c504524e1de84f2613263e62da80e" #t)) ("eli-tester" .
#s(pkg-info (catalog "eli-tester")
"0c9bfc31ad180898a7f10af252009084b0de30eb" #t)) ("eopl" .
#s((sc-pkg-info pkg-info 3) (catalog "eopl")
"b7725c60cac4f51be2fefef5bc393857c07dc0af" #t "eopl"))
("errortrace" . #s(pkg-info (catalog "errortrace")
"f8d7f00c7dacc7d1bb2bc99c76129798319881e7" #t)) ("errortrace-doc" .
#s(pkg-info (catalog "errortrace-doc")
"aea79310a7f250d43325f82467b4c4126338a425" #t)) ("errortrace-lib" .
#s(pkg-info (catalog "errortrace-lib")
"0b7417f006208d6c8fb5f4fa61e1099a970f1fc2" #t)) ("frtime" .
#s((sc-pkg-info pkg-info 3) (catalog "frtime")
"83bf86eb4a5f6b1a2f53ac8f7b0c265ca8e27839" #t "frtime"))
("future-visualizer" . #s(pkg-info (catalog "future-visualizer")
"76bc592353681f3d673841d65230deecd901ee8f" #t))
("future-visualizer-typed" . #s(pkg-info (catalog
"future-visualizer-typed") "a1698d4264a5267ac49b2451211e3391216a4e82"
#t)) ("games" . #s((sc-pkg-info pkg-info 3) (catalog "games")
"0ad78fb4ec37b6f19435b7599a566c1bb2e5847c" #t "games"))
("gui" . #s(pkg-info (catalog "gui")
"a74759a9030789bdea8a324bd69cad5e162c5937" #t)) ("gui-doc" .
#s(pkg-info (catalog "gui-doc")
"e79b96b5ded5e81a5beeb33d905d7e7ccd893074" #t)) ("gui-lib" .
#s(pkg-info (catalog "gui-lib")
"35c5e9a5dd69ba6839210d49e6c967ba418e9cc4" #t)) ("gui-pkg-manager-lib"
. #s(pkg-info (catalog "gui-pkg-manager-lib")
"1e0d8a3f2a60642e785c0459108f1be6034dbcb1" #t)) ("htdp" . #s(pkg-info
(catalog "htdp") "6e222eff85bae1b326f4282d8b82fc5c83202cfe" #t))
("htdp-doc" . #s(pkg-info (catalog "htdp-doc")
"e5892b0ae846f64e997e34ae2afb165b35f290b9" #t)) ("htdp-lib" .
#s(pkg-info (catalog "htdp-lib")
"1f18bce701e14d76fa2e4f14f8cded185b00a66d" #t)) ("html" . #s(pkg-info
(catalog "html") "59ab0bddd4935969e2af0469ad48a9c30f33ef60" #t))
("html-doc" . #s(pkg-info (catalog "html-doc")
"3cd2a18da0b91b209d196f0cf669f2e59829d2bc" #t)) ("html-lib" .
#s(pkg-info (catalog "html-lib")
"2b17b0447932ee0a5287581269d24b5e3e9dcbb5" #t)) ("icons" .
#s((sc-pkg-info pkg-info 3) (catalog "icons")
"77e8f436f370ce8d88aa39622c5921664b56845b" #t "icons"))
("images" . #s(pkg-info (catalog "images")
"98c6a0e120eb1115db9d376759b245db0591b07b" #t)) ("images-doc" .
#s(pkg-info (catalog "images-doc")
"99e114a7c7e234b6eaa23f99f863d03986bd62b5" #t)) ("images-gui-lib" .
#s(pkg-info (catalog "images-gui-lib")
"fef0ec840d82ed975370087fdcb049e0cce8e339" #t)) ("images-lib" .
#s(pkg-info (catalog "images-lib")
"9dcdc2e2388c63063a4a161e09585119d8d18e88" #t)) ("lazy" .
#s((sc-pkg-info pkg-info 3) (catalog "lazy")
"8038fc1a353a1618a5c19feecd7de1150719a9fc" #t "lazy"))
("macro-debugger" . #s(pkg-info (catalog "macro-debugger")
"448277bb97132d25236deb785dce8c81933235d2" #t))
("macro-debugger-text-lib" . #s(pkg-info (catalog
"macro-debugger-text-lib") "0549dc476d9f071569d59359dbe6e4039f8af250"
#t)) ("main-distribution" . #s(pkg-info (catalog "main-distribution")
"3d0f4e0314c4b437feb7c3b86ff69cf20ad1e0f0" #f)) ("make" .
#s((sc-pkg-info pkg-info 3) (catalog "make")
"93e3f1b4144e3a04392b753cedc34c7c49e63fe5" #t "make"))
("math" . #s(pkg-info (catalog "math")
"bc288b3ed293e90ef3a4eb05971d388265dc7065" #t)) ("math-doc" .
#s(pkg-info (catalog "math-doc")
"119b215101c0f1f82b6d28e06f5288812f38f2c3" #t)) ("math-lib" .
#s(pkg-info (catalog "math-lib")
"4e159abc47c306364ad02549853c1ddf82d6f8a2" #t)) ("mysterx" .
#s((sc-pkg-info pkg-info 3) (catalog "mysterx")
"23487c08b23cb7d965b97b0c45e6e3553854b869" #t "mysterx"))
("mzcom" . #s((sc-pkg-info pkg-info 3) (catalog "mzcom")
"ac97bd1dc80a2f867d17f75254a8bbb9faa24afd" #t "mzcom"))
("mzscheme" . #s(pkg-info (catalog "mzscheme")
"2a45b98e73f899324f2c5678d93df74f1792d23c" #t)) ("mzscheme-doc" .
#s(pkg-info (catalog "mzscheme-doc")
"de48e8b819047025177fac06b6f254e6f939fd23" #t)) ("mzscheme-lib" .
#s(pkg-info (catalog "mzscheme-lib")
"a6a2ec7fd0946a46c5368dbe1d7602419f8e7b53" #t)) ("net" . #s(pkg-info
(catalog "net") "5df16fb466651bbb270a30296b1e8ee5f86af6fe" #t))
("net-cookies" . #s(pkg-info (catalog "net-cookies")
"51f6db09a36adbeb73e6bfc25bcd7d2123cc563e" #t)) ("net-cookies-doc" .
#s(pkg-info (catalog "net-cookies-doc")
"c1380af8407ce13dc993830db20250d7348117a8" #t)) ("net-cookies-lib" .
#s(pkg-info (catalog "net-cookies-lib")
"12f95b8fa1d9d562cd2bc7b499dd2fdc7111d122" #t)) ("net-doc" .
#s(pkg-info (catalog "net-doc")
"effd2e00136f037f9c524e25973ffa0b4b5f6ab8" #t)) ("net-lib" .
#s(pkg-info (catalog "net-lib")
"c0e7e3b3d55d067fa1fa3d13736877f33fe4fe76" #t)) ("optimization-coach"
. #s(pkg-info (catalog "optimization-coach")
"79ef3e4ec8de133f6f0b1838218b9478ba22d9bc" #t)) ("option-contract" .
#s(pkg-info (catalog "option-contract")
"14f8553d264972db98ecb25007f0c62f72c88837" #t)) ("option-contract-doc"
. #s(pkg-info (catalog "option-contract-doc")
"12d4da169785f5af1e8e38357713656385b4a75d" #t)) ("option-contract-lib"
. #s(pkg-info (catalog "option-contract-lib")
"f01bff6dccd0e6cf8721ac9cf3a819c5a9fd25b7" #t)) ("parser-tools" .
#s(pkg-info (catalog "parser-tools")
"7c90da6b7e8b13a5faed4d196f29f74d24c308a3" #t)) ("parser-tools-doc" .
#s(pkg-info (catalog "parser-tools-doc")
"d3d05e4f5f175f790775c835317034e8f6b6394e" #t)) ("parser-tools-lib" .
#s(pkg-info (catalog "parser-tools-lib")
"22eaaae7d2dc79755eaf96029554ebb48fb7ccaf" #t)) ("pconvert-lib" .
#s(pkg-info (catalog "pconvert-lib")
"cf75aa36ac881f36c9f845f9b3d5c75bb016caac" #t)) ("pict" . #s(pkg-info
(catalog "pict") "b58b1e3ff96f16f62a8ca6e52efcf143d02c2552" #t))
("pict-doc" . #s(pkg-info (catalog "pict-doc")
"8e95db03fae67b105bd6afdce6c4dfcaf587c2c9" #t)) ("pict-lib" .
#s(pkg-info (catalog "pict-lib")
"2abed1569d91f15fa61d95e11f53d5cbbef610e1" #t)) ("pict-snip" .
#s(pkg-info (catalog "pict-snip")
"07039265dc698b136044724e4802b64517ba5209" #t)) ("pict-snip-doc" .
#s(pkg-info (catalog "pict-snip-doc")
"2453a4852fc2987b42f4ad4f6e92a1a448418db5" #t)) ("pict-snip-lib" .
#s(pkg-info (catalog "pict-snip-lib")
"28f4f45649589e010ab6c6cdc3e82ac9ff1fbe7f" #t)) ("picturing-programs"
. #s(pkg-info (catalog "picturing-programs")
"325870110f44e006c228f41619b5c77f331b82a1" #t)) ("plai" . #s(pkg-info
(catalog "plai") "6ac6f533410efd33f655d51314228c77c83172ac" #t))
("plai-doc" . #s((sc-pkg-info pkg-info 3) (catalog "plai-doc")
"c8363060f66e1bd1ddc72c8271e86cf3fcbeff9e" #t "plai"))
("plai-lib" . #s((sc-pkg-info pkg-info 3) (catalog "plai-lib")
"978f240e75c6ad1a4843a010fe250d9977e93339" #t "plai"))
("planet" . #s(pkg-info (catalog "planet")
"e1a53854ddae4cf4eef667a91f3c944eb1481371" #t)) ("planet-doc" .
#s(pkg-info (catalog "planet-doc")
"0356d590361d2b909c717e97dc4f9eb2b567461a" #t)) ("planet-lib" .
#s(pkg-info (catalog "planet-lib")
"a0993c8b1c3ae0f08f75a6e70d785dfa3e7adf66" #t)) ("plot" . #s(pkg-info
(catalog "plot") "898a4c570ed38396d684f260efa240d66accead9" #t))
("plot-compat" . #s(pkg-info (catalog "plot-compat")
"01b129e6ee41080f090c02054d07c7856ae2c06c" #t)) ("plot-doc" .
#s(pkg-info (catalog "plot-doc")
"70b006d5da401955e00000fcf6a3aacc296cd687" #t)) ("plot-gui-lib" .
#s(pkg-info (catalog "plot-gui-lib")
"57d49ac10de7a4d2520fe8a3c625eb91e6af8359" #t)) ("plot-lib" .
#s(pkg-info (catalog "plot-lib")
"84fecbb718ed024176c79f271f30579f5d753339" #t)) ("preprocessor" .
#s((sc-pkg-info pkg-info 3) (catalog "preprocessor")
"38fc7981a096322c67e4f7d9afac6f1fe664529e" #t "preprocessor"))
("profile" . #s(pkg-info (catalog "profile")
"2183f9722eb2efbe2c8feb400b73602ad97fe221" #t)) ("profile-doc" .
#s(pkg-info (catalog "profile-doc")
"1d7c7dd2ad37e0d6c842cf30c7a01a631b18a39e" #t)) ("profile-lib" .
#s((sc-pkg-info pkg-info 3) (catalog "profile-lib")
"4eed8ba01f406d199604b3727c405c2bf368a617" #t "profile"))
("quickscript" . #s((sc-pkg-info pkg-info 3) (catalog "quickscript")
"0c531a78067442fb5ac2b404f92c92427cff8bec" #t "quickscript"))
("r5rs" . #s(pkg-info (catalog "r5rs")
"febae235a352df6df59a2e2c45b8658322793103" #t)) ("r5rs-doc" .
#s(pkg-info (catalog "r5rs-doc")
"3b842a310c928a0647b0c29cb3eabe215270f8e2" #t)) ("r5rs-lib" .
#s(pkg-info (catalog "r5rs-lib")
"9fcc4ebda67e44abd34e6c97a1448cd9a3947b77" #t)) ("r6rs" . #s(pkg-info
(catalog "r6rs") "2ba0a84b06e7ab0ab49308fb6b58c23b29e39662" #t))
("r6rs-doc" . #s(pkg-info (catalog "r6rs-doc")
"972c5762a28dd773190c7aa46f9b972ac7c4c44e" #t)) ("r6rs-lib" .
#s(pkg-info (catalog "r6rs-lib")
"0a80a45a9666924b02b7e41002b3122b0b0606e3" #t)) ("racket-cheat" .
#s((sc-pkg-info pkg-info 3) (catalog "racket-cheat")
"11ef1c76f6459d0039e13cdc04326f5c54c28714" #t "racket-cheat"))
("racket-doc" . #s(pkg-info (catalog "racket-doc")
"7c41f0b0ae91a7d77da4d4f15c2e5e2f6ab5c689" #t)) ("racket-index" .
#s(pkg-info (catalog "racket-index")
"ec294cafcf79f9a7034d02b4b3ff8c2e2a717622" #t)) ("racket-lib" .
#s(pkg-info (catalog "racket-lib")
"addde48592db0ba3db8686c37951f20c7112d368" #f)) ("racklog" .
#s((sc-pkg-info pkg-info 3) (catalog "racklog")
"a587b4aa82ff470e0646185cce033900e1bdafa8" #t "racklog"))
("rackunit" . #s(pkg-info (catalog "rackunit")
"4b9de5253bfc93a4ba11e527bed3314d48ab0fc8" #t)) ("rackunit-doc" .
#s(pkg-info (catalog "rackunit-doc")
"26d22124d6eab4c79b73d778deef7b9bc73c2dec" #t)) ("rackunit-gui" .
#s(pkg-info (catalog "rackunit-gui")
"4cb8bc7487ff6bd55f653708d51f29fb75b490e2" #t)) ("rackunit-lib" .
#s(pkg-info (catalog "rackunit-lib")
"0069571fffeb268232fab1db7e9c6e8ea124f1ac" #t)) ("rackunit-plugin-lib"
. #s(pkg-info (catalog "rackunit-plugin-lib")
"a663951f3c13e3a6c0228949d97c6b2eef4a5b6c" #t)) ("rackunit-typed" .
#s((sc-pkg-info pkg-info 3) (catalog "rackunit-typed")
"d3ea39520e71e1fdcdaee0a4218575592c44a41a" #t "typed"))
("readline" . #s(pkg-info (catalog "readline")
"4c7e66cd27cf4408832c87e3ee86df7a6eefa09d" #t)) ("readline-doc" .
#s(pkg-info (catalog "readline-doc")
"3bded5f74e621afb05b47f4fb05e455d8c2ee3f7" #t)) ("readline-lib" .
#s(pkg-info (catalog "readline-lib")
"a5182fa3edd32b9d63e6c355ccb372e0310a9d6d" #t)) ("realm" .
#s((sc-pkg-info pkg-info 3) (catalog "realm")
"f013fc3db6882ece583015d48f0ad8e1e971601d" #t "realm"))
("redex" . #s(pkg-info (catalog "redex")
"57c8ddc62fd86b0ede08e92a7e47d35527768e99" #t)) ("redex-benchmark" .
#s(pkg-info (catalog "redex-benchmark")
"2433d94442a5f32f16d152656b168d1e6218aaa7" #t)) ("redex-doc" .
#s(pkg-info (catalog "redex-doc")
"6cedd1cfdc891d7ac3b46fcfe7767a4681443515" #t)) ("redex-examples" .
#s(pkg-info (catalog "redex-examples")
"98a38101bd790fa6bd8ff16ce8e2fb65245cb87c" #t)) ("redex-gui-lib" .
#s(pkg-info (catalog "redex-gui-lib")
"80083d5cded16afb0d45a59cdd655ddd396b8685" #t)) ("redex-lib" .
#s(pkg-info (catalog "redex-lib")
"04c6bc3954bf30293e0b5cfe76294a799e2f1aae" #t)) ("redex-pict-lib" .
#s(pkg-info (catalog "redex-pict-lib")
"9b13a5976edd63728d8914fc20bffb5ad981302f" #t)) ("sandbox-lib" .
#s(pkg-info (catalog "sandbox-lib")
"5b6080ff4052f881c343f6ccc847f860acb501a9" #t)) ("sasl" .
#s((sc-pkg-info pkg-info 3) (catalog "sasl")
"8dc49968c1ef11c5dd77f56c5979453a36d2c750" #t "sasl"))
("sasl-doc" . #s((sc-pkg-info pkg-info 3) (catalog "sasl-doc")
"02b6cf131a97af9caa622a77592bb851f5d58fa3" #t "sasl"))
("sasl-lib" . #s((sc-pkg-info pkg-info 3) (catalog "sasl-lib")
"d4ecdad04e42658a69d70d2f7d5eadae7ed7d16e" #t "sasl"))
("scheme-lib" . #s(pkg-info (catalog "scheme-lib")
"22e71c59ac20b09cd156062ce0fb0afb86aaa851" #t)) ("schemeunit" .
#s((sc-pkg-info pkg-info 3) (catalog "schemeunit")
"03986b499744194a9e06a66dfe988bed9fb8cc40" #t "schemeunit"))
("scribble" . #s(pkg-info (catalog "scribble")
"862cac10d6934b0dca35b4ebace9ffa0faa3a381" #t)) ("scribble-doc" .
#s(pkg-info (catalog "scribble-doc")
"fc38088b2924e7d902ceafc94243fd3ca2a52b45" #t)) ("scribble-html-lib" .
#s(pkg-info (catalog "scribble-html-lib")
"13105ce2064fa963c535187a657792e1ec95d284" #t)) ("scribble-lib" .
#s(pkg-info (catalog "scribble-lib")
"9be1c71d1c0f3f0d41031416689f012a16ba535a" #t)) ("scribble-text-lib" .
#s(pkg-info (catalog "scribble-text-lib")
"1d816dcc95b5f6d77ff6633b82a6dd40f7effe4e" #t))
("serialize-cstruct-lib" . #s(pkg-info (catalog
"serialize-cstruct-lib") "caeab596cb494273bcb84b917205a66bd06d0528"
#t)) ("sgl" . #s((sc-pkg-info pkg-info 3) (catalog "sgl")
"a2feb4952e01c7e02af068978ade81d0a213e035" #t "sgl"))
("shell-completion" . #s((sc-pkg-info pkg-info 3) (catalog
"shell-completion") "900d6f81d7f78d17ac1789436c36a3314f09fcec" #t
"shell-completion")) ("slatex" . #s((sc-pkg-info pkg-info 3) (catalog
"slatex") "7a36270767b37d0336b4d72c7ca89140f395f9af" #t
"slatex")) ("slideshow" . #s(pkg-info (catalog "slideshow")
"62d9fa5b5fc8f1b82fb7acae427e474488fb1c2a" #t)) ("slideshow-doc" .
#s(pkg-info (catalog "slideshow-doc")
"d023178269517583e08ea3afc13bd8e867e86eaa" #t)) ("slideshow-exe" .
#s(pkg-info (catalog "slideshow-exe")
"4764478f8f62ba0a9d66ef064945af605cac48cc" #t)) ("slideshow-lib" .
#s(pkg-info (catalog "slideshow-lib")
"b7d301d8496d23dd950606d50a2c9565067f77f5" #t)) ("slideshow-plugin" .
#s(pkg-info (catalog "slideshow-plugin")
"50fe3549998180cf9391d355fce67c1b95fee846" #t)) ("snip" . #s(pkg-info
(catalog "snip") "f6401933decce0674344953461fc80be6b600748" #t))
("snip-lib" . #s(pkg-info (catalog "snip-lib")
"8cf6a919d5d9021f782423b3712a0e73cf93842a" #t)) ("source-syntax" .
#s((sc-pkg-info pkg-info 3) (catalog "source-syntax")
"b6dde72b228b3e8e7da35fbc25cce395c8dce9cb" #t "syntax"))
("srfi" . #s(pkg-info (catalog "srfi")
"810795b1c70213bba3e3f02c29c0ec0be774d551" #t)) ("srfi-doc" .
#s(pkg-info (catalog "srfi-doc")
"9bcb860c00d8023421c3ab3e2785ab8ee92b8f9d" #t)) ("srfi-lib" .
#s(pkg-info (catalog "srfi-lib")
"8dd9d951c94054ec60a4e1d59fa2c1a462e8fff6" #t)) ("srfi-lite-lib" .
#s(pkg-info (catalog "srfi-lite-lib")
"2a40a8ecf4a2368b6c84d8f0bdd1c72df4f3cc7f" #t)) ("string-constants" .
#s(pkg-info (catalog "string-constants")
"602234aee270ea040b993f8146548aa0c835ee41" #t))
("string-constants-doc" . #s(pkg-info (catalog "string-constants-doc")
"627c9a564c187d9dbd2a1c6de302e38ed8cd105e" #t))
("string-constants-lib" . #s(pkg-info (catalog "string-constants-lib")
"85764e7ecf8df819142221a84380340c23607e18" #t)) ("swindle" .
#s((sc-pkg-info pkg-info 3) (catalog "swindle")
"56793a3d43336a0dfc1fb6d4933a6a7d0a6f18a6" #t "swindle"))
("syntax-color" . #s(pkg-info (catalog "syntax-color")
"0ab7c010c146aacbc26f81d73050e5dcb1ec44a4" #t)) ("syntax-color-doc" .
#s(pkg-info (catalog "syntax-color-doc")
"ebc23963c2f235893a2ae998311c439ca5f2de5e" #t)) ("syntax-color-lib" .
#s(pkg-info (catalog "syntax-color-lib")
"c496941837238109ebf69e6a2a3740136baf077e" #t)) ("testing-util-lib" .
#s(pkg-info (catalog "testing-util-lib")
"6ad76708f90cc3938a72d556458f92cde3e30578" #t)) ("tex-table" .
#s((sc-pkg-info pkg-info 3) (catalog "tex-table")
"c6127491120f723f26dbba30d217e4f2aeb12084" #t "mrlib"))
("trace" . #s((sc-pkg-info pkg-info 3) (catalog "trace")
"953c7b5e344cfc8859006ffbfce4fdf360647d81" #t "trace"))
("typed-racket" . #s(pkg-info (catalog "typed-racket")
"7896fb7492e6230f58d73d202ce9e6f77e3f98b7" #t))
("typed-racket-compatibility" . #s(pkg-info (catalog
"typed-racket-compatibility")
"1bf2425d25d54c653d693290f41e9587847357a6" #t)) ("typed-racket-doc" .
#s(pkg-info (catalog "typed-racket-doc")
"d338099f40c47dbfb62f699206e99cfdfa7e32d6" #t)) ("typed-racket-lib" .
#s(pkg-info (catalog "typed-racket-lib")
"3eff82ebcceeab467c35cf19044013c83a47bd32" #t)) ("typed-racket-more" .
#s(pkg-info (catalog "typed-racket-more")
"600a695a0f59fe2740cf9e2080a13e25310a5114" #t)) ("unix-socket" .
#s(pkg-info (catalog "unix-socket")
"c015b6081883e19b3f1d2343bddca9895499832c" #t)) ("unix-socket-doc" .
#s(pkg-info (catalog "unix-socket-doc")
"b5d7f058cd0984aef1d8214968e79c202b972636" #t)) ("unix-socket-lib" .
#s(pkg-info (catalog "unix-socket-lib")
"e8d16e6cf98e03dc141ce410e7fddb83eb420e54" #t)) ("web-server" .
#s(pkg-info (catalog "web-server")
"9e01035046e279382ab2c1aa5c3f68d7533afd64" #t)) ("web-server-doc" .
#s(pkg-info (catalog "web-server-doc")
"afb48732580aaf70f2d13dc0f3115f25672a0fb6" #t)) ("web-server-lib" .
#s(pkg-info (catalog "web-server-lib")
"1fb4a0c9718b0e835d730f92289f9855018dfee3" #t)) ("wxme" . #s(pkg-info
(catalog "wxme") "a56f70bd66b595d03baa8fb60046c3826b3abaaa" #t))
("wxme-lib" . #s(pkg-info (catalog "wxme-lib")
"75d7ad58da6d6fe5e3b5d81fe3f1e73b37460ae5" #t)) ("xrepl" . #s(pkg-info
(catalog "xrepl") "c577bf792fde613ada8dc08f3b76b9daf3fc6814" #t))
("xrepl-doc" . #s(pkg-info (catalog "xrepl-doc")
"1724207363217dc4e931ac92e017c594a7a2a44b" #t)) ("xrepl-lib" .
#s(pkg-info (catalog "xrepl-lib")
"829e38b7ffcd0508842871b5aa354a531ddee4fa" #t)) ("zo-lib" .
#s(pkg-info (catalog "zo-lib")
"0f00c96ccaf933002e5c1e9f6b9e8856cbcd04eb" #t)))
+diff -urN racket-7.4-orig/share/pkgs/srfi/info.rkt
racket-7.4-remove-nonfree/share/pkgs/srfi/info.rkt
+--- racket-7.4-orig/share/pkgs/srfi/info.rkt 2019-08-03 23:24:08.000000000 -0400
++++ racket-7.4-remove-nonfree/share/pkgs/srfi/info.rkt 2019-08-28 09:26:35.582382386
-0400
+@@ -1 +1 @@
+-(module info setup/infotab (#%module-begin (define package-content-state (quote (built
"7.4"))) (define collection (quote multi)) (define deps (quote
("srfi-lib" "srfi-doc" "srfi-doc-nonfree"))) (define implies
(quote ("srfi-lib" "srfi-doc" "srfi-doc-nonfree"))) (define
pkg-desc "Legacy SRFI (Scheme) libraries") (define pkg-authors (quote (mflatt
noel chongkai jay)))))
++(module info setup/infotab (#%module-begin (define package-content-state (quote (built
"7.4"))) (define collection (quote multi)) (define deps (quote
("srfi-lib" "srfi-doc"))) (define implies (quote ("srfi-lib"
"srfi-doc"))) (define pkg-desc "Legacy SRFI (Scheme) libraries")
(define pkg-authors (quote (mflatt noel chongkai jay)))))
+diff -urN racket-7.4-orig/share/pkgs/srfi-doc-nonfree/info.rkt
racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/info.rkt
+--- racket-7.4-orig/share/pkgs/srfi-doc-nonfree/info.rkt 2019-08-03 23:24:10.000000000
-0400
++++ racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/info.rkt 1969-12-31
19:00:00.000000000 -0500
+@@ -1 +0,0 @@
+-(module info setup/infotab (#%module-begin (define package-content-state (quote (built
"7.4"))) (define collection (quote multi)) (define build-deps (quote
("mzscheme-doc" "scheme-lib" "base" "scribble-lib"
"srfi-doc" "racket-doc" "r5rs-doc" "r6rs-doc"
"compatibility-lib"))) (define pkg-desc "non-free documentation for
\"srfi-lib\"") (define pkg-authors (quote (mflatt noel chongkai jay)))))
+diff -urN racket-7.4-orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/info.rkt
racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/srfi/scribblings/info.rkt
+--- racket-7.4-orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/info.rkt 2019-08-03
21:32:26.000000000 -0400
++++
racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/srfi/scribblings/info.rkt 1969-12-31
19:00:00.000000000 -0500
+@@ -1,3 +0,0 @@
+-#lang info
+-
+-(define scribblings '(("srfi-nf.scrbl" (multi-page) (library 100))))
+diff -urN racket-7.4-orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-nf.scrbl
racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-nf.scrbl
+--- racket-7.4-orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-nf.scrbl 2019-08-03
21:32:26.000000000 -0400
++++
racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-nf.scrbl 1969-12-31
19:00:00.000000000 -0500
+@@ -1,68 +0,0 @@
+-#lang scribble/doc
+-@(require srfi/scribblings/util
+- scribble/manual
+- scribble/eval
+- scriblib/render-cond
+- scribble/core
+- scribble/html-properties
+- (for-syntax scheme/base)
+- (for-label scheme/base
+- racket/stream))
+-
+-@; ----------------------------------------------------------------------
+-
+-@title{SRFI Nonfree Libraries and Documentation}
+-
+-The @link[#:style srfi-std "http://srfi.schemers.org/"]{Scheme Requests for
+-Implementation} (a.k.a. @deftech{SRFI}) process allows individual
+-members of the Scheme community to propose libraries and extensions to
+-be supported by multiple Scheme implementations.
+-
+-Racket is distributed with implementations of many SRFIs, most of
+-which can be implemented as libraries. To import the bindings of SRFI
+-@math{n}, use
+-
+-@racketblock[
+-(require @#,elem{@racketidfont{srfi/}@math{n}})
+-]
+-
+-This document lists the SRFIs that are supported by Racket and
+-provides a link to the original SRFI specification (which is also
+-distributed as part of Racket's documentation).
+-
+-The following SRFI specification documents are licensed restrictively.
+-
+-@table-of-contents[]
+-
+-
+-@; ----------------------------------------
+-
+-@srfi[5]{A compatible let form with signatures and rest arguments}
+-
+-@redirect[5 '(
+- (let #t "unnamed")
+-)]
+-
+-Racket provides a free implementation of this SRFI in the @racket[srfi-lib] package.
+-Only the SRFI specification document is nonfree.
+-
+-@; ----------------------------------------
+-
+-@srfi[29]{Localization}
+-
+-@redirect[29 '(
+- (current-language #f "current-language")
+- (current-country #f "current-country")
+- (current-locale-details #f "current-locale-details")
+- (declare-bundle! #f "declare-bundle!")
+- (store-bundle #f "store-bundle")
+- (load-bundle! #f "load-bundle!")
+- (localized-template #f "localized-template")
+-)]
+-
+-Racket provides a free implementation of this SRFI in the @racket[srfi-lib] package.
+-Only the SRFI specification document is nonfree.
+-
+-@; ----------------------------------------
+-
+-@index-section[]
+diff -urN
racket-7.4-orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-29.html
racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-29.html
+---
racket-7.4-orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-29.html 2019-08-03
21:32:26.000000000 -0400
++++
racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-29.html 1969-12-31
19:00:00.000000000 -0500
+@@ -1,507 +0,0 @@
+-<!DOCTYPE html PUBLIC "-//IETF//DTD HTML//EN">
+-<html>
+- <head>
+- <meta name="generator" content="HTML Tidy, see
www.w3.org">
+- <title>SRFI 29: Localization</title>
+- <meta name="author" content="Scott G. Miller">
+- <meta name="description" content="Localization">
+- </head>
+- <body>
+- <H1>Title</H1>
+-
+- SRFI 29: Localization
+-
+- <H1>Author</H1>
+-
+- Scott G. Miller
+-
+- <H1>Abstract</H1>
+-
+- This document specifies an interface to retrieving and
+- displaying locale sensitive messages. A Scheme program can
+- register one or more translations of templated messages, and
+- then write Scheme code that can transparently retrieve the
+- appropriate message for the locale under which the Scheme
+- system is running. <br>
+-
+-
+- <H1>Rationale</H1>
+-
+- <p>As any programmer that has ever had to deal with making his
+- or her code readable in more than one locale, the process of
+- sufficiently abstracting program messages from their
+- presentation to the user is non-trivial without help from the
+- programming language. Most modern programming language
+- libraries do provide some mechanism for performing this
+- separation.</p>
+-
+- <p>A portable API that allows a piece of code to run without
+- modification in different countries and under different
+- languages is a must for any non-trivial software project.
+- The interface should separate the logic of a program from
+- the myriad of translations that may be necessary.</p>
+-
+- <p>The interface described in this document provides such
+- functionality. The underlying implementation is also allowed to
+- use whatever datastructures it likes to provide access to the
+- translations in the most efficient manner possible. In
+- addition, the implementation is provided with standardized
+- functions that programs will use for accessing an external,
+- unspecified repository of translations.</p>
+-
+- <p>This interface <i>does not</i> cover all aspects of
+- localization, including support for non-latin characters,
+- number and date formatting, etc. Such functionality is the
+- scope of a future SRFI that may extend this one.</p>
+-
+- <H1>Dependencies</H1>
+-
+- An SRFI-29 conformant implementation must also implement
+- SRFI-28, Basic Format Strings. Message templates are strings
+- that must be processed by the <tt>format</tt> function
+- specified in that SRFI.
+-
+- <H1>Specification</H1>
+-
+- <h3>Message Bundles</h3>
+-
+- <p>A Message Bundle is a set of message templates and their
+- identifying keys. Each bundle contains one or more such
+- key/value pairs. The bundle itself is associated with a
+- <i>bundle specifier</i> which uniquely identifies the
+- bundle.</p>
+-
+- <h3>Bundle Specifiers</h3>
+-
+- <p>A Bundle Specifier is a Scheme list that describes, in order
+- of importance, the package and locale of a message bundle.
+- In most cases, a locale specifier will have between one
+- and three elements. The first element is a symbol denoting the
+- package for which this bundle applies. The second and third
+- elements denote a <i>locale</i>. The second element (first
+- element of the locale) if present, is the two letter, ISO 639-1
+- language code for the bundle. The third element, if present, is
+- a two letter ISO 3166-1 country code. In some cases, a
+- fourth element may be present, specifying the encoding used for
+- the bundle. All bundle specifier elements are Scheme
+- symbols.</p>
+-
+- <p>If only one translation is provided, it should be designated
+- only by a package name, for example <tt>(mathlib)</tt>. This
+- translation is called the <i>default</i> translation.</p>
+-
+- <h3>Bundle Searching</h3>
+-
+- <p>When a message template is retrieved from a bundle, the
+- Scheme implementation will provide the locale under which the
+- system is currently running. When the template is retrieved,
+- the package name will be specified. The Scheme system should
+- construct a Bundle Specifier from the provided package name and
+- the active locale. For example, when retrieving a message
+- template for French Canadian, in the <tt>mathlib</tt> package,
+- the bundle specifier '<tt>(mathlib fr ca)</tt>' is used. A
+- program may also retrieve the elements of the current locale
+- using the no-argument procedures:</p>
+-
+- <p><b><a
name="current-language"></a><tt>current-language</tt></b>
<tt>->
+- <i>symbol</i></tt><br>
+- <tt><b>current-language</b> <i>symbol</i> ->
+- undefined</tt><br>
+- </p>
+-
+- <blockquote>
+- When given no arguments, returns the current ISO 639-1
+- language code as a symbol. If provided with an
+- argument, the current language is set to that named by the
+- symbol for the currently executing Scheme thread (or for the
+- entire Scheme system if such a distinction is not possible).
+-
+- </blockquote>
+-
+- <p><b><a
name="current-country"></a><tt>current-country</tt></b>
<tt>->
+- <i>symbol</i></tt><br>
+- <tt><b>current-country</b> <i>symbol</i> ->
+- undefined</tt><br>
+- </p>
+-
+- <blockquote>
+- returns the current ISO 3166-1 country code as a symbol.
+- If provided with an argument, the current country is
+- set to that named by the symbol for the currently executing
+- Scheme thread (or for the entire Scheme system if such a
+- distinction is not possible).
+- </blockquote>
+-
+- <p><b><a
name="current-locale-details"></a><tt>current-locale-details</tt></b>
<tt>-> <i>list of
+- symbol</i></tt>s<br>
+- <tt><b>current-locale-details</b>
<i>list-of-symbols</i> ->
+- undefined</tt><br>
+- </p>
+-
+- <blockquote>
+- Returns a list of additional locale details as a list of
+- symbols. This list may contain information about
+- encodings or other more specific information. If
+- provided with an argument, the current locale details are set
+- to those given in the currently executing Scheme thread (or
+- for the entire Scheme system if such a distinction is not
+- possible).
+- </blockquote>
+-
+- <p>The Scheme System should first check for a bundle with the
+- exact name provided. If no such bundle is found, the last
+- element from the list is removed and a search is tried for a
+- bundle with that name. If no bundle is then found, the list is
+- shortened by removing the last element again. If no message is
+- found and the bundle specifier is now the empty list, an error
+- should be raised.</p>
+-
+- <p>The reason for this search order is to provide the most
+- locale sensitive template possible, but to fall back on more
+- general templates if a translation has not yet been provided
+- for the given locale.</p>
+-
+- <h3>Message Templates</h3>
+-
+- <p>A message template is a localized message that may or may
+- not contain one of a number of formatting codes. A message
+- template is a Scheme string. The string is of a form that can
+- be processed by the <tt>format</tt> procedure found in many
+- Scheme systems and formally specified in SRFI-28 (Basic Format
+- Strings).</p>
+-
+- <p>This SRFI also extends SRFI-28 to provide an additional
+- <tt>format</tt> escape code:</p>
+-
+- <blockquote>
+- <tt>~[n]@*</tt> - Causes a value-requiring escape code that
+- follows this code immediately to reference the [N]'th
+- optional value absolutely, rather than the next unconsumed
+- value. The referenced value is <i>not</i> consumed.
+- </blockquote>
+- This extension allows optional values to be positionally
+- referenced, so that message templates can be constructed that
+- can produce the proper word ordering for a language.
+-
+- <h3>Preparing Bundles</h3>
+- Before a bundle may be used by the Scheme system to retrieve
+- localized template messages, they must be made available to the
+- Scheme system. This SRFI specifies a way to portably
+- define the bundles, as well as store them in and retrieve them
+- from an unspecified system which may be provided by resources
+- outside the Scheme system.<br>
+-
+-
+- <p><b><a
name="declare-bundle!"></a><tt>declare-bundle!</tt></b>
<tt><i>bundle-specifier
+- association-list</i> -> undefined<br>
+- </tt></p>
+-
+- <blockquote>
+- Declares a new bundle named by the given bundle-specifier.
+- The contents of the bundle are defined by the provided
+- association list. The list contains associations
+- between Scheme symbols and the message templates (Scheme
+- strings) they name. If a bundle already exists with the
+- given name, it is overwritten with the newly declared
+- bundle.<br>
+- </blockquote>
+- <tt><a
name="store-bundle"></a><b>store-bundle</b>
<i>bundle-specifier</i> ->
+- boolean</tt><br>
+-
+-
+- <blockquote>
+- Attempts to store a bundle named by the given bundle
+- specifier, and previously made available using
+- <tt>declare-bundle!</tt> or <tt>load-bundle!</tt>, in an
+- unspecified mechanism that may be persistent across Scheme
+- system restarts. If successful, a non-false value is
+- returned. If unsuccessful, <tt>#f</tt> is
returned.<br>
+- </blockquote>
+- <tt><a
name="load-bundle!"></a><b>load-bundle!</b>
<i>bundle-specifier</i> ->
+- boolean</tt><br>
+-
+-
+- <blockquote>
+- Attempts to retrieve a bundle from an unspecified mechanism
+- which stores bundles outside the Scheme system. If the
+- bundle was retrieved successfully, the function returns a
+- non-false value, and the bundle is immediately available to
+- the Scheme system. If the bundle could not be found or loaded
+- successfully, the function returns <tt>#f</tt>, and the
+- Scheme system's bundle registry remains unaffected.<br>
+- </blockquote>
+- A compliant Scheme system may choose not to provide any
+- external mechanism to store localized bundles. If it does
+- not, it must still provide implementations for
+- <tt>store-bundle</tt> and <tt>load-bundle!</tt>. In such a
+- case, both functions must return <tt>#f</tt> regardless of the
+- arguments given. Users of this SRFI should recognize that the
+- inability to load or store a localized bundle in an external
+- repository is <i>not</i> a fatal error.<br>
+-
+-
+- <h3>Retrieving Localized Message Templates</h3>
+-
+- <p><a
name="localized-template"></a><b><tt>localized-template</tt></b>
<i><tt>package-name
+- message-template-name</tt></i> <tt>-> <i>string or
#f<br>
+- </i></tt></p>
+-
+- <blockquote>
+- Retrieves a localized message template for the given package
+- name and the given message template name (both symbols).
+- If no such message could be found, false (#f) is
+- returned.<br>
+- <br>
+- </blockquote>
+- After retrieving a template, the calling program can use
+- <tt>format</tt> to produce a string that can be displayed to
+- the user.<br>
+-
+-
+- <h2>Examples</h2>
+- The below example makes use of SRFI-29 to display simple,
+- localized messages. It also defines its bundles in such a
+- way that the Scheme system may store and retrieve the bundles
+- from a more efficient system catalog, if available.<br>
+-
+-<pre>
+-(let ((translations
+- '(((en) . ((time . "Its ~a, ~a.")
+- (goodbye . "Goodbye, ~a.")))
+- ((fr) . ((time . "~1@*~a, c'est ~a.")
+- (goodbye . "Au revoir, ~a."))))))
+- (for-each (lambda (translation)
+- (let ((bundle-name (cons 'hello-program (car translation))))
+- (if (not (load-bundle! bundle-name))
+- (begin
+- (declare-bundle! bundle-name (cdr translation))
+- (store-bundle! bundle-name)))))
+- translations))
+-
+-(define localized-message
+- (lambda (message-name . args)
+- (apply format (cons (localized-template 'hello-program
+- message-name)
+- args))))
+-
+-(let ((myname "Fred"))
+- (display (localized-message 'time "12:00" myname))
+- (display #\newline)
+-
+- (display (localized-message 'goodbye myname))
+- (display #\newline))
+-
+-;; Displays (English):
+-;; Its 12:00, Fred.
+-;; Goodbye, Fred.
+-;;
+-;; French:
+-;; Fred, c'est 12:00.
+-;; Au revoir, Fred.
+-</pre>
+-
+- <H1>Implementation</H1>
+-
+- <p>The implementation requires that the Scheme system provide a
+- definition for <tt>current-language</tt> and
+- <tt>current-country</tt> capable of distinguishing the correct
+- locale present during a Scheme session. The definitions of
+- those functions in the reference implementation are not capable
+- of that distinction. Their implementation is provided only so
+- that the following code can run in any R4RS scheme system.
+- <br>
+- </p>
+-
+- <p>In addition, the below implementation of a compliant
+- <tt>format</tt> requires SRFI-6 (Basic String Ports) and
+- SRFI-23 (Error reporting)</p>
+-<pre>
+-;; The association list in which bundles will be stored
+-(define *localization-bundles* '())
+-
+-;; The current-language and current-country functions provided
+-;; here must be rewritten for each Scheme system to default to the
+-;; actual locale of the session
+-(define current-language
+- (let ((current-language-value 'en))
+- (lambda args
+- (if (null? args)
+- current-language-value
+- (set! current-language-value (car args))))))
+-
+-(define current-country
+- (let ((current-country-value 'us))
+- (lambda args
+- (if (null? args)
+- current-country-value
+- (set! current-country-value (car args))))))
+-
+-;; The load-bundle! and store-bundle! both return #f in this
+-;; reference implementation. A compliant implementation need
+-;; not rewrite these procedures.
+-(define load-bundle!
+- (lambda (bundle-specifier)
+- #f))
+-
+-(define store-bundle!
+- (lambda (bundle-specifier)
+- #f))
+-
+-;; Declare a bundle of templates with a given bundle specifier
+-(define declare-bundle!
+- (letrec ((remove-old-bundle
+- (lambda (specifier bundle)
+- (cond ((null? bundle) '())
+- ((equal? (caar bundle) specifier)
+- (cdr bundle))
+- (else (cons (car bundle)
+- (remove-old-bundle specifier
+- (cdr bundle))))))))
+- (lambda (bundle-specifier bundle-assoc-list)
+- (set! *localization-bundles*
+- (cons (cons bundle-specifier bundle-assoc-list)
+- (remove-old-bundle bundle-specifier
+- *localization-bundles*))))))
+-
+-;;Retrieve a localized template given its package name and a template name
+-(define localized-template
+- (letrec ((rdc
+- (lambda (ls)
+- (if (null? (cdr ls))
+- '()
+- (cons (car ls) (rdc (cdr ls))))))
+- (find-bundle
+- (lambda (specifier template-name)
+- (cond ((assoc specifier *localization-bundles*) =>
+- (lambda (bundle) bundle))
+- ((null? specifier) #f)
+- (else (find-bundle (rdc specifier)
+- template-name))))))
+- (lambda (package-name template-name)
+- (let loop ((specifier (cons package-name
+- (list (current-language)
+- (current-country)))))
+- (and (not (null? specifier))
+- (let ((bundle (find-bundle specifier template-name)))
+- (and bundle
+- (cond ((assq template-name bundle) => cdr)
+- ((null? (cdr specifier)) #f)
+- (else (loop (rdc specifier)))))))))))
+-
+-;;An SRFI-28 and SRFI-29 compliant version of format. It requires
+-;;SRFI-23 for error reporting.
+-(define format
+- (lambda (format-string . objects)
+- (let ((buffer (open-output-string)))
+- (let loop ((format-list (string->list format-string))
+- (objects objects)
+- (object-override #f))
+- (cond ((null? format-list) (get-output-string buffer))
+- ((char=? (car format-list) #\~)
+- (cond ((null? (cdr format-list))
+- (error 'format "Incomplete escape sequence"))
+- ((char-numeric? (cadr format-list))
+- (let posloop ((fl (cddr format-list))
+- (pos (string->number
+- (string (cadr format-list)))))
+- (cond ((null? fl)
+- (error 'format "Incomplete escape
sequence"))
+- ((and (eq? (car fl) '#\@)
+- (null? (cdr fl)))
+- (error 'format "Incomplete escape
sequence"))
+- ((and (eq? (car fl) '#\@)
+- (eq? (cadr fl) '#\*))
+- (loop (cddr fl) objects (list-ref objects pos)))
+- (else
+- (posloop (cdr fl)
+- (+ (* 10 pos)
+- (string->number
+- (string (car fl)))))))))
+- (else
+- (case (cadr format-list)
+- ((#\a)
+- (cond (object-override
+- (begin
+- (display object-override buffer)
+- (loop (cddr format-list) objects #f)))
+- ((null? objects)
+- (error 'format "No value for escape
sequence"))
+- (else
+- (begin
+- (display (car objects) buffer)
+- (loop (cddr format-list)
+- (cdr objects) #f)))))
+- ((#\s)
+- (cond (object-override
+- (begin
+- (display object-override buffer)
+- (loop (cddr format-list) objects #f)))
+- ((null? objects)
+- (error 'format "No value for escape
sequence"))
+- (else
+- (begin
+- (write (car objects) buffer)
+- (loop (cddr format-list)
+- (cdr objects) #f)))))
+- ((#\%)
+- (if object-override
+- (error 'format "Escape sequence following
positional override does not require a value"))
+- (display #\newline buffer)
+- (loop (cddr format-list) objects #f))
+- ((#\~)
+- (if object-override
+- (error 'format "Escape sequence following
positional override does not require a value"))
+- (display #\~ buffer)
+- (loop (cddr format-list) objects #f))
+- (else
+- (error 'format "Unrecognized escape
sequence"))))))
+- (else (display (car format-list) buffer)
+- (loop (cdr format-list) objects #f)))))))
+-
+-</pre>
+-
+- <H1>Copyright</H1>
+-
+- Copyright (C) Scott G. Miller (2002). All Rights Reserved.
+-
+- <p>This document and translations of it may be copied and
+- furnished to others, and derivative works that comment on or
+- otherwise explain it or assist in its implementation may be
+- prepared, copied, published and distributed, in whole or in
+- part, without restriction of any kind, provided that the above
+- copyright notice and this paragraph are included on all such
+- copies and derivative works. However, this document itself may
+- not be modified in any way, such as by removing the copyright
+- notice or references to the Scheme Request For Implementation
+- process or editors, except as needed for the purpose of
+- developing SRFIs in which case the procedures for copyrights
+- defined in the SRFI process must be followed, or as required to
+- translate it into languages other than English.</p>
+-
+- <p>The limited permissions granted above are perpetual and will
+- not be revoked by the authors or their successors or
+- assigns.</p>
+-
+- <p>This document and the information contained herein is
+- provided on an "AS IS" basis and THE AUTHOR AND THE SRFI
+- EDITORS DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+- BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+- HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES
+- OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.</p>
+- <hr>
+-
+- <address>
+- Editor: <a href="mailto:srfi-editors@srfi.schemers.org">David
+- Rush</a>
+- </address>
+-
+- <address>
+- Author: <a href="mailto:scgmille@freenetproject.org">Scott G.
+- Miller</a>
+- </address>
+- <!-- Created: Tue Sep 29 19:20:08 EDT 1998 -->
+- <!-- hhmts start -->Last modified: Mon Jun 17 12:00:08 Pacific
+- Daylight Time 2002 <!-- hhmts end --> <br>
+- </body>
+-</html>
+-
+diff -urN
racket-7.4-orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-5.html
racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-5.html
+---
racket-7.4-orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-5.html 2019-08-03
21:32:26.000000000 -0400
++++
racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-5.html 1969-12-31
19:00:00.000000000 -0500
+@@ -1,345 +0,0 @@
+-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.2//EN">
+-<html>
+-<head>
+- <title>SRFI 5: A compatible let form with signatures and rest
arguments</title>
+-</head>
+-<body>
+-
+-<H1>Title</H1>
+-
+-SRFI-5: A compatible <code>let</code> form with signatures and rest
arguments
+-
+-<H1>Author</H1>
+-
+-Andy Gaynor
+-
+-<H1>Status</H1>
+-
+-This SRFI is currently in ``final'' status. To see an explanation of each
status that a SRFI can hold, see <A
HREF="http://srfi.schemers.org/srfi-process.html">here</A>.
+-You can access the discussion on this SRFI via <A
HREF="http://srfi.schemers.org/srfi-5/mail-archive/maillist.html&quo... archive
of the mailing list</A>.
+-<P><UL>
+-<LI>Received: 1999/2/2
+-<LI>Draft: 1999/2/10-1999/04/12
+-<LI>Final: 1999/4/26
+-<LI>Revised reference implementation: 2003/01/27
+-</UL>
+-
+-<H1>Abstract</H1>
+-
+-The <i>named-let</i> incarnation of the <code>let</code> form
has two slight
+-inconsistencies with the <code>define</code> form. As defined, the
<code>let</code>
+-form makes no accommodation for rest arguments, an issue of functionality
+-and consistency. As defined, the <code>let</code> form does not
accommodate
+-signature-style syntax, an issue of aesthetics and consistency. Both
+-issues are addressed here in a manner which is compatible with the traditional
+-<code>let</code> form but for minor extensions.
+-
+-<H1>Rationale</H1>
+-
+-<H2>Signature-style Syntax</H2>
+-
+-Consider the following two equivalent definitions:
+-
+-<p><pre>
+-(define fibonacci
+- (lambda (n i f0 f1)
+- (if (= i n)
+- f0
+- (fibonacci n (+ i 1) f1 (+ f0 f1)))))
+-
+-(define (fibonacci n i f0 f1)
+- (if (= i n)
+- f0
+- (fibonacci n (+ i 1) f1 (+ f0 f1))))
+-</pre>
+-
+-Although there is a named-let analog for the former form, there is none
+-for the latter. To wit, suppose one wished to compute the 10th element
+-of the Fibonacci sequence using a named let:
+-
+-<p>
+-<pre>
+-(let fibonacci ((n 10) (i 0) (f0 0) (f1 1))
+- (if (= i n)
+- f0
+- (fibonacci n (+ i 1) f1 (+ f0 f1))))
+-Values: 55
+-</pre>
+-
+-As it stands, one cannot equivalently write
+-
+-<p>
+-<pre>
+-(let (fibonacci (n 10) (i 0) (f0 0) (f1 1))
+- (if (= i n)
+- f0
+- (fibonacci n (+ i 1) f1 (+ f0 f1))))
+-</pre>
+-
+-which is consistent with <code>define</code>'s signature-style form.
+-<p>Those that favor the signature style may prefer this extension.
+-In any case, it may be more appropriate to include all bound names within
+-the binding section. As presented, this straightforward extension
+-introduces no ambiguity or incompatibility with the existing definition
+-of let.
+-
+-<H2>Rest Arguments</H2>
+-
+-As it stands, one cannot write a named let with rest arguments, as in
+-
+-<p>
+-<pre>
+-(let (blast (port (current-output-port)) . (x (+ 1 2) 4 5))
+- (if (null? x)
+- 'just-a-silly-contrived-example
+- (begin
+- (write (car x) port)
+- (apply blast port (cdr x)))))
+-</pre>
+-
+-otherwise equivalent to
+-
+-<p>
+-<pre>
+-(letrec ((blast (lambda (port . x)
+- (if (null? x)
+- 'just-a-silly-contrived-example
+- (begin
+- (write (car x) port)
+- (apply blast port (cdr x)))))))
+- (blast (current-output-port) (+ 1 2) 4 5))
+-</pre>
+-
+-While this example is rather contrived, the functionality is not.
+-There are several times when the author has used this construct in practice.
+-Regardless, there is little reason to deny the <code>let</code> form access
to
+-all the features of lambda functionality.
+-
+-<H2>Symbols in Binding Sections</H2>
+-
+-Both the features above rely upon the placement of symbols in
<code>let</code>
+-binding lists (this statement is intentially simplistic). The only
+-other apparent use of such symbol placement is to tersely bind variables
+-to unspecified values. For example, one might desire to use
+-<code>(let (foo bar baz) ...)</code>
+-to bind <code>foo</code>, <code>bar</code>, and
<code>baz</code> to
+-unspecified values.
+-
+-<p>This usage is considered less important in light of the rationales
+-presented above, and an alternate syntax is immediately apparent, as
+-in <code>(let ((foo) (bar) (baz)) ...)</code> This may even
+-be preferable, consistently parenthesizing normal binding clauses.
+-
+-<H1>Specification</H1>
+-
+-<H2>Syntax</H2>
+-
+-<p>
+-A formal specification of the syntax follows. Below, body, expression,
+-and identifier are free. Each instantiation of binding-name must be
+-unique.
+-</p>
+-
+-<p>
+-<pre>
+- let = "(" "let" let-bindings body ")"
+- expressions = nothing | expression expressions
+- let-bindings = let-name bindings
+- | "(" let-name "." bindings ")"
+- let-name = identifier
+- bindings = "(" ")"
+- | rest-binding
+- | "(" normal-bindings ["." rest-binding]
")"
+-normal-bindings = nothing
+- | normal-binding normal-bindings
+- normal-binding = "(" binding-name expression ")"
+- binding-name = identifier
+- rest-binding = "(" binding-name expressions ")"
+-</pre>
+-
+-<p>
+-For clarity and convenience, an informal specification follows.
+-</p>
+-
+-<ol>
+-<li><a name="unnamed">Unnamed</a>
+-
+-<p><pre>
+-(let ((<parameter> <argument>)...)
+- <body>...)
+-</pre>
+-</li>
+-
+-<li><a name="named-non-sig">
+-Named, non-signature-style, no rest argument</a>
+-
+-<p><pre>
+-(let <name> ((<parameter> <argument>)...)
+- <body>...)
+-</pre>
+-</li>
+-
+-<li><a name="named-sig">Named, signature-style, no rest
argument</a>
+-
+-<p><pre>
+-(let (<name> (<parameter> <argument>)...)
+- <body>...)
+-</pre>
+-</li>
+-
+-<li><a name="named-non-sig-rest">Named, non-signature-style, rest
argument</a>
+-
+-<p><pre>
+-(let <name> ((<parameter> <argument>)...
+-
+-. (<rest-parameter> <rest-argument>...))
+- <body>...)
+-</pre>
+-
+-<li><a name="named-sig-rest">Named, signature-style, rest
argument</a>
+-
+-<p><pre>
+-(let (<name> (<parameter> <argument>)...
+-
+-. (<rest-parameter> <rest-argument>...))
+- <body>...)
+-</pre>
+-</li>
+-</ol>
+-
+-<H2>Semantics</H2>
+-
+-Let <code>$lambda</code> and <code>$letrec</code> be hygienic
bindings for the <code>lambda</code>
+-and <code>letrec</code> forms, respectively.
+-
+-<ul>
+-<li>For informal syntax 1:
+-
+-<p><pre>
+-(($lambda (<parameter>...) <body>...)
<argument>...)
+-</pre>
+-</li>
+-
+-<li>For informal syntaxes 2 and 3:
+-
+-<p>
+-<pre>
+-($letrec ((<name> ($lambda (<parameter>...)
<body>...)))
+- (<name> <argument>...))
+-</pre>
+-</li>
+-
+-<li>For informal syntaxes 4 and 5:
+-
+-<p>
+-<pre>
+-($letrec ((<name> ($lambda (<parameter>...
+-
+-. <rest-parameter>) <body>...)))
+- (<name> <argument>... <rest-argument>...))
+-</pre>
+-</li>
+-</ul>
+-
+-<H1>Implementation</H1>
+-
+-Here is an implementation using <code>SYNTAX-RULES</code>.
+-
+-<p>
+-<pre>
+-;; Use your own standard let.
+-;; Or call a lambda.
+-;; (define-syntax standard-let
+-;;
+-;; (syntax-rules ()
+-;;
+-;; ((let ((var val) ...) body ...)
+-;; ((lambda (var ...) body ...) val ...))))
+-
+-(define-syntax let
+-
+- (syntax-rules ()
+-
+- ;; No bindings: use standard-let.
+- ((let () body ...)
+- (standard-let () body ...))
+- ;; Or call a lambda.
+- ;; ((lambda () body ...))
+-
+- ;; All standard bindings: use standard-let.
+- ((let ((var val) ...) body ...)
+- (standard-let ((var val) ...) body ...))
+- ;; Or call a lambda.
+- ;; ((lambda (var ...) body ...) val ...)
+-
+- ;; One standard binding: loop.
+- ;; The all-standard-bindings clause didn't match,
+- ;; so there must be a rest binding.
+- ((let ((var val) . bindings) body ...)
+- (let-loop #f bindings (var) (val) (body ...)))
+-
+- ;; Signature-style name: loop.
+- ((let (name binding ...) body ...)
+- (let-loop name (binding ...) () () (body ...)))
+-
+- ;; defun-style name: loop.
+- ((let name bindings body ...)
+- (let-loop name bindings () () (body ...)))))
+-
+-(define-syntax let-loop
+-
+- (syntax-rules ()
+-
+- ;; Standard binding: destructure and loop.
+- ((let-loop name ((var0 val0) binding ...) (var ... ) (val ... ) body)
+- (let-loop name ( binding ...) (var ... var0) (val ... val0) body))
+-
+- ;; Rest binding, no name: use standard-let, listing the rest values.
+- ;; Because of let's first clause, there is no "no bindings, no name"
clause.
+- ((let-loop #f (rest-var rest-val ...) (var ...) (val ...) body)
+- (standard-let ((var val) ... (rest-var (list rest-val ...))) . body))
+- ;; Or call a lambda with a rest parameter on all values.
+- ;; ((lambda (var ... . rest-var) . body) val ... rest-val ...))
+- ;; Or use one of several other reasonable alternatives.
+-
+- ;; No bindings, name: call a letrec'ed lambda.
+- ((let-loop name () (var ...) (val ...) body)
+- ((letrec ((name (lambda (var ...) . body)))
+- name)
+- val ...))
+-
+- ;; Rest binding, name: call a letrec'ed lambda.
+- ((let-loop name (rest-var rest-val ...) (var ...) (val ...) body)
+- ((letrec ((name (lambda (var ... . rest-var) . body)))
+- name)
+- val ... rest-val ...))))
+-</pre>
+-
+-
+-<H1>Copyright</H1>
+-
+-Copyright (C) Andy Gaynor (1999). All Rights Reserved.
+-<p>This document and translations of it may be copied and furnished to
+-others, and derivative works that comment on or otherwise explain it or
+-assist in its implementation may be prepared, copied, published and distributed,
+-in whole or in part, without restriction of any kind, provided that the
+-above copyright notice and this paragraph are included on all such copies
+-and derivative works. However, this document itself may not be modified
+-in any way, such as by removing the copyright notice or references to the
+-Scheme Request For Implementation process or editors, except as needed
+-for the purpose of developing SRFIs in which case the procedures for copyrights
+-defined in the SRFI process must be followed, or as required to translate
+-it into languages other than English.
+-<p>The limited permissions granted above are perpetual and will not be
+-revoked by the authors or their successors or assigns.
+-<p>This document and the information contained herein is provided on an
+-"AS IS" basis and THE AUTHOR AND THE SRFI EDITORS DISCLAIM ALL WARRANTIES,
+-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE
+-USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
+-WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+-
+- <hr>
+- <address>Editor: <a
href="mailto:srfi-editors@srfi.schemers.org">Mike
Sperber</a></address>
+-
+-</body>
+-</html>
diff --git a/racket-configure-c99.patch b/racket-configure-c99.patch
new file mode 100644
index 0000000..f4f4014
--- /dev/null
+++ b/racket-configure-c99.patch
@@ -0,0 +1,29 @@
+Fix generic C99 compatibility issue in the configure script because it
+was generated by a historic autoconf version. This will go away once
+upstream re-runs autoconf, and until then, the patch will keep
+applying, so there is no need to upstream it.
+
+diff --git a/src/lt/configure b/src/lt/configure
+index e3f5aa6ed9a21307..aa4f50637331d427 100755
+--- a/src/lt/configure
++++ b/src/lt/configure
+@@ -2465,7 +2465,7 @@ if { (eval echo "$as_me:$LINENO:
\"$ac_compile\"") >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ for ac_declaration in \
+- '' \
++ '#include <stdlib.h>' \
+ 'extern "C" void std::exit (int) throw (); using std::exit;' \
+ 'extern "C" void std::exit (int); using std::exit;' \
+ 'extern "C" void exit (int) throw ();' \
+@@ -3640,8 +3640,8 @@ main ()
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+- exit(2);
+- exit (0);
++ return 2;
++ return 0;
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
diff --git a/racket.spec b/racket.spec
new file mode 100644
index 0000000..1135c4b
--- /dev/null
+++ b/racket.spec
@@ -0,0 +1,442 @@
+Name: racket
+Version: 7.4
+Release: 11%{?dist}
+Summary: General purpose programming language
+
+License: GPLv3 and LGPLv3 and MIT
+URL:
https://racket-lang.org
+Source0:
https://mirror.racket-lang.org/installers/%{version}/%{name}-%{version}-s...
+
+# Remove SRFI library and docs with restrictive licensing.
+# See:
https://github.com/racket/srfi/issues/4 (open)
+# Note: Upstream maintainers have confirmed this
+# is safe, since the removed components are
+# extra elements which nothing else in the
+# package depends on.
+# Note: SRFI 5 was replaced with a FOSS implementation. Only
+# nonfree docs need to be removed by this patch now.
+Patch0: racket-7.4-remove-nonfree.patch
+Patch1: racket-configure-c99.patch
+
+# Issue Building for armv7hl in koji
+ExcludeArch: %{arm} s390x
+
+# To compile the program
+BuildRequires: make
+BuildRequires: gcc
+
+# To fix rpath issue with executables.
+BuildRequires: chrpath
+
+# Racket heavily utilizes the system ffi library.
+BuildRequires: libffi-devel
+
+# For the racket/gui library (via libffi)
+#
https://github.com/racket/gui/blob/master/gui-lib/mred/private/wx/gtk/gtk...
+BuildRequires: gtk3
+
+# For the racket/draw library (via libffi)
+#
https://github.com/racket/draw/blob/master/draw-lib/racket/draw/unsafe/ca...
+BuildRequires: cairo
+#
https://github.com/racket/draw/blob/master/draw-lib/racket/draw/unsafe/pa...
+BuildRequires: pango
+#
https://github.com/racket/draw/blob/master/draw-lib/racket/draw/unsafe/pn...
+BuildRequires: libpng
+#
https://github.com/racket/draw/blob/master/draw-lib/racket/draw/unsafe/jp...
+BuildRequires: libjpeg-turbo
+#
https://github.com/racket/draw/blob/master/draw-lib/racket/draw/unsafe/gl...
+BuildRequires: glib2
+
+# To validate desktop file
+BuildRequires: desktop-file-utils
+
+BuildRequires: git
+
+# Require the subpackages
+Requires: racket-minimal%{?_isa} = %{version}-%{release}
+Requires: racket-pkgs = %{version}-%{release}
+Recommends: racket-doc = %{version}-%{release}
+
+%description
+Racket is a general-purpose programming language as well as
+the world's first ecosystem for developing and deploying new
+languages. Make your dream language, or use one of the dozens
+already available.
+
+%prep
+
+%autosetup -v -p1
+
+# Remove bundled libffi
+rm -r src/foreign/libffi
+
+%build
+cd src
+
+# Disable SSE on i686 until fixed upstream
+#
https://github.com/racket/racket/issues/2245
+%ifarch %{ix86}
+ %set_build_flags
+ export CFLAGS=$(echo $CFLAGS | sed -e "s/-mfpmath=sse *//")
+%endif
+
+# do not use generations on architectures
+# where it is broken
+# (this is currently a no-op, since arm and s390x are not enabled yet.
+# It is art of a fix that will land in a future release)
+%configure \
+%ifarch %{arm} s390x
+ --disable-generations \
+%endif
+ --enable-pthread \
+ --enable-shared \
+ --enable-libffi \
+ --disable-strip
+
+%make_build
+
+%install
+cd src
+%make_install
+
+# Delete mred binaries and replace them with links.
+rm -vf ${RPM_BUILD_ROOT}%{_bindir}/mred
+rm -vf ${RPM_BUILD_ROOT}%{_bindir}/mred-text
+ln -vs %{_bindir}/gracket ${RPM_BUILD_ROOT}%{_bindir}/mred
+ln -vs %{_bindir}/gracket-text ${RPM_BUILD_ROOT}%{_bindir}/mred-text
+
+# Delete static library. Apperently --disable-libs does not stop it.
+rm -vf ${RPM_BUILD_ROOT}%{_libdir}/libracket3m.a
+
+# Delete duplicate license files
+rm -rf %{buildroot}%{_datadir}/racket/COPYING*txt
+
+# Fix the rpath error.
+chrpath --delete ${RPM_BUILD_ROOT}%{_bindir}/racket
+chrpath --delete ${RPM_BUILD_ROOT}%{_libdir}/racket/gracket
+
+# Remove the libtool files.
+rm -f ${RPM_BUILD_ROOT}%{_libdir}/*.la
+
+# Fix paths in the desktop files.
+sed -i "s#${RPM_BUILD_ROOT}##g" \
+ ${RPM_BUILD_ROOT}/%{_datadir}/applications/*.desktop
+
+# Validate desktop files
+desktop-file-validate %{buildroot}/%{_datadir}/applications/*.desktop
+
+# Fix paths in html docs
+DOCS_TO_FIX="
+syntax/module-helpers.html
+rackunit/api.html
+reference/collects.html"
+for i in $DOCS_TO_FIX; do
+ sed -i "s#${RPM_BUILD_ROOT}##g" \
+ ${RPM_BUILD_ROOT}/%{_datadir}/doc/racket/$i
+done
+
+# Remove the executable bit on legacy template file
+chmod -x ${RPM_BUILD_ROOT}%{_libdir}/racket/starter-sh
+
+%ldconfig_scriptlets
+
+# Equivalent to upstream's minimal-racket release
+%package minimal
+Summary: A minimal Racket installation
+Requires: racket-collects = %{version}-%{release}
+%description minimal
+Racket's core runtime
+
+%package collects
+Summary: Racket's core collections libraries
+BuildArch: noarch
+%description collects
+Libraries providing Racket's core functionality
+
+# Arch independent source and bytecode files
+%package pkgs
+Summary: Racket package collections
+# See BuildRequires section for details on dependencies
+Requires: gtk3
+Requires: cairo
+Requires: pango
+Requires: libpng
+Requires: glib2
+Requires: libjpeg-turbo
+Requires: racket-minimal = %{version}-%{release}
+BuildArch: noarch
+%description pkgs
+Additional packages and libraries for Racket
+
+# Development headers and links
+%package devel
+Summary: Development files for Racket
+Requires: racket-minimal%{?_isa} = %{version}-%{release}
+%description devel
+Files needed to link against Racket.
+
+# HTML documentation
+%package doc
+Summary: Documentation files for Racket
+BuildArch: noarch
+%description doc
+A local installation of the Racket documentation system.
+
+%files
+%license src/COPYING.txt src/COPYING_LESSER.txt src/COPYING-libscheme.txt
+%{_bindir}/drracket
+%{_bindir}/gracket
+%{_bindir}/gracket-text
+%{_bindir}/mred-text
+%{_bindir}/mred
+%{_bindir}/mzc
+%{_bindir}/mzpp
+%{_bindir}/mzscheme
+%{_bindir}/mztext
+%{_bindir}/pdf-slatex
+%{_bindir}/plt-games
+%{_bindir}/plt-help
+%{_bindir}/plt-r5rs
+%{_bindir}/plt-r6rs
+%{_bindir}/plt-web-server
+%{_bindir}/scribble
+%{_bindir}/setup-plt
+%{_bindir}/slatex
+%{_bindir}/slideshow
+%{_bindir}/swindle
+%{_datadir}/applications/
+
+%files collects
+%license src/COPYING.txt src/COPYING_LESSER.txt src/COPYING-libscheme.txt
+%{_datadir}/racket/collects
+
+%files minimal
+%license src/COPYING.txt src/COPYING_LESSER.txt src/COPYING-libscheme.txt
+%{_bindir}/racket
+%{_bindir}/raco
+%{_libdir}/racket
+%{_libdir}/libracket3m-%{version}.so
+%{_datadir}/racket/links.rktd
+%{_datadir}/racket/pkgs/racket-lib
+%{_datadir}/man/man1/racket*
+%{_datadir}/man/man1/raco*
+%dir %{_datadir}/racket
+%dir %{_datadir}/doc/racket
+%dir %{_sysconfdir}/racket/
+%config %{_sysconfdir}/racket/config.rktd
+%exclude %{_libdir}/libracket3m.so
+
+%files pkgs
+%license src/COPYING.txt src/COPYING_LESSER.txt src/COPYING-libscheme.txt
+%{_datadir}/racket
+%{_datadir}/man/man1/drracket*
+%{_datadir}/man/man1/gracket*
+%{_datadir}/man/man1/mred*
+%{_datadir}/man/man1/mzc*
+%{_datadir}/man/man1/mzscheme*
+%{_datadir}/man/man1/plt-help*
+%{_datadir}/man/man1/setup-plt*
+%exclude %{_datadir}/racket/links.rktd
+%exclude %dir %{_datadir}/racket/pkgs/racket-lib
+%exclude %dir %{_datadir}/racket/collects
+
+%files devel
+%license src/COPYING.txt src/COPYING_LESSER.txt src/COPYING-libscheme.txt
+%{_includedir}/racket
+%{_libdir}/libracket3m.so
+
+%files doc
+%license src/COPYING.txt src/COPYING_LESSER.txt src/COPYING-libscheme.txt
+%{_datadir}/doc/racket
+
+%changelog
+* Fri Jul 21 2023 Fedora Release Engineering <releng(a)fedoraproject.org> - 7.4-11
+- Rebuilt for
https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
+
+* Wed Apr 26 2023 Florian Weimer <fweimer(a)redhat.com> - 7.4-10
+- Port configure script to C99
+
+* Fri Jan 20 2023 Fedora Release Engineering <releng(a)fedoraproject.org> - 7.4-9
+- Rebuilt for
https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
+
+* Sat Jul 23 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 7.4-8
+- Rebuilt for
https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
+
+* Fri Jan 21 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 7.4-7
+- Rebuilt for
https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
+
+* Sat Jan 08 2022 Miro Hrončok <mhroncok(a)redhat.com> - 7.4-6
+- Rebuilt for
https://fedoraproject.org/wiki/Changes/LIBFFI34
+
+* Fri Jul 23 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 7.4-5
+- Rebuilt for
https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Wed Jan 27 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 7.4-4
+- Rebuilt for
https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Wed Jul 29 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 7.4-3
+- Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Thu Jan 30 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 7.4-2
+- Rebuilt for
https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Wed Aug 28 2019 David Benoit <dbenoit(a)redhat.com> - 7.4.1
+- Update package version
+- Remove doc-open-url patch (fixed upstream)
+- Update remove-nonfree patch
+
+* Fri Jul 26 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 7.0-8
+- Rebuilt for
https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
+* Sat Feb 02 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 7.0-7
+- Rebuilt for
https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Mon Sep 24 2018 David Benoit <dbenoit(a)redhat.com> 7.0-6
+- Fix buildarch
+
+* Sat Sep 22 2018 David Benoit <dbenoit(a)redhat.com> 7.0-5
+- Remove links.rktd scriptlets and instead make docs
+ a weak dependency
+
+* Fri Sep 21 2018 David Benoit <dbenoit(a)redhat.com> 7.0-4
+- Add scriptlets to handle updating links.rktd based on
+ whether racket-pkgs is installed
+- fix owenership of docs dir
+- update docs patch
+
+* Thu Sep 6 2018 David Benoit <dbenoit(a)redhat.com> 7.0-3
+- use arm macro instead of armv7hl
+
+* Wed Sep 5 2018 David Benoit <dbenoit(a)redhat.com> 7.0-2
+- Disable SSE math on i686 until issue is fixed upstream
+- Exclude ppc due to issue building Racket v7.0 and
+ arch being deprecated in next release
+
+* Fri Aug 17 2018 David Benoit <dbenoit(a)redhat.com> 7.0-1
+- Update sources to Racket v7.0
+- Remove 6.12 patches and add update remove nonfree
+ srfi patch to 7.0
+
+* Mon Jul 30 2018 David Benoit <dbenoit(a)redhat.com> 6.12-8
+- Annotate dependencies with links to source code
+- Move dependencies to racket-pkgs, since they are only used
+ by that subpackage
+- Update mred symbolic links
+- Fix ownership of directories
+- Remove executable bit from starter-sh
+
+* Thu Jul 12 2018 David Benoit <dbenoit(a)redhat.com> 6.12-7
+- Remove hardened build since it is enabled by default
+- Add gcc to BuildRequires
+- Remove wildcards from directory listings in files section
+
+* Fri Apr 13 2018 David Benoit <dbenoit(a)redhat.com> 6.12-6
+- Remove license wildcard and add license field to each subpackage
+
+* Fri Apr 6 2018 David Benoit <dbenoit(a)redhat.com> 6.12-5
+- remove update-database post scripts
+- move libracket3m.so link into -devel
+- add ldconfig_scriptlets after install
+- remove disable debug_package and configure
+ with --disable-strip instead
+- add license to files section and update
+ license header field
+- validate desktop files
+- change ownership of /etc/racket
+- update changelog with release info
+- use specific man directory man/man1/*
+- refactor racket into subpackages
+ racket-minimal, racket-collects, and racket-pkgs
+
+* Wed Apr 4 2018 David Benoit <dbenoit(a)redhat.com> 6.12-4
+- noarch -docs subpackage
+
+* Tue Mar 20 2018 David Benoit <dbenoit(a)redhat.com> 6.12-3
+- fix text encoding issue in description section
+- remove doc-open-url scriptlets
+- add scriptlet to fix paths in html docs
+- add patch2 to backport rpaths fix in compiled .zo files
+- add patch3 to backport rpaths fix in web-server-lib
+- add patch4 to configure doc open url dynamically at runtime
+- remove override of __arch_install_post to allow full
+ checking of buildroot.
+
+* Thu Feb 1 2018 David Benoit <dbenoit(a)redhat.com> - 6.12-2
+- Fix duplication of object files
+- Add version to racket-devel requirements
+- Remove base package as a dependency of racket-doc
+- Remove Groups tag
+
+* Wed Jan 31 2018 David Benoit <dbenoit(a)redhat.com> - 6.12-1
+- Update to current stable version
+- Add patch0 to update SRFIs to latest upstream
+- Add patch1 to remove nonfree SRFI components
+
+* Thu Oct 26 2017 David Benoit <dbenoit(a)redhat.com> - 6.10-1
+- Update to current stable version
+- Remove libedit readline patch (fixed upstream)
+- Break docs into separate package
+- Add scriptlets to set doc-open-url based on
+ whether docs are installed
+- Exclude armv7hl and s390x as target arches
+- Update description to match website
+- Change URLs to use https instead of http
+
+
+* Thu Jul 6 2017 David Benoit <dbenoit(a)redhat.com> - 6.9-1
+- Update to current stable version
+- Patch libedit readline error
+- Remove ExclusiveArch to test all builds in koji
+
+* Fri Jan 22 2016 Brandon Thomas <bthomaszx(a)gmail.com> - 6.3-1
+- Update to current stable version.
+- Updated description to match website.
+- Removed build requirement "racket-packaging".
+- Updated to gtk+3.
+- Let Autoprovides determine provides.
+- Debuginfo package is empty and preventing the package from building.
+- Removed uneeded file copies.
+- Remove possible extra static library.
+
+* Sun Dec 14 2014 Jan Dvorak <mordae(a)anilinux.org> - 6.1.1.6-1
+- Update to current snapshot to fix match hash-table expander.
+
+* Mon Dec 01 2014 Jan Dvorak <mordae(a)anilinux.org> - 6.1.1-1
+- Update to current stable version.
+
+* Fri Sep 05 2014 Jan Dvorak <mordae(a)anilinux.org> - 6.1.0.5-4
+- Use racket-packaging to capture module dependencies.
+
+* Tue Aug 19 2014 Jan Dvorak <mordae(a)anilinux.org> - 6.1.0.5-1
+- Updated to 6.1.0.5
+- Merged the -doc package back in.
+
+* Fri Aug 08 2014 Jan Dvorak <mordae(a)anilinux.org> - 6.1.0.4-2
+- Do not alter .zo files, prevent check-buildroot from being run instead.
+
+* Thu Aug 07 2014 Jan Dvorak <mordae(a)anilinux.org> - 6.1.0.4-1
+- Updated to 6.1.0.4
+- Split-off -doc package.
+
+* Fri Jul 25 2014 Jan Dvorak <mordae(a)anilinux.org> - 6.1.0.3-4
+- Updated to 6.1.0.3
+- Dropped the unnecessary static library.
+- Dropped mred programs to enable debug package.
+
+* Sat Jun 22 2013 Daniel E. Wilson <danw(a)bureau-13.org> - 5.3.5-1
+- Changed to use 5.3.5 version of Racket.
+- Created static package for developers who may need static libraries.
+- Added RPM optimization options to CFLAGS for build.
+- Added macro to use SMP build options in make.
+
+* Thu May 16 2013 Daniel E. Wilson <danw(a)bureau-13.org> - 5.3.4-1
+- Changed to use 5.3.4 version of Racket.
+
+* Tue May 14 2013 Daniel E. Wilson <danw(a)bureau-13.org> - 5.3.3-3
+- Moved documentation to /usr/doc directory.
+
+* Mon May 13 2013 Daniel E. Wilson <danw(a)bureau-13.org> - 5.3.3-2
+- Remove bundled libffi from racket before building program.
+
+* Thu May 9 2013 Daniel E. Wilson <danw(a)bureau-13.org> - 5.3.3-1
+- Initial Revision.
diff --git a/sources b/sources
new file mode 100644
index 0000000..433eb3e
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (racket-7.4-src.tgz) =
a5ef2ce3157bee3b12abcaeeb4c1ec3b41e78fb6ec04d399e3505a38234a73a098398bb762a99ffef7bc01301aef8db559cbd47c043365df8711fccdc3386df0
commit fb079f8fd8be94df9b996c49230393e34298c785
Author: Miro Hrončok <miro(a)hroncok.cz>
Date: Wed Aug 2 00:38:57 2023 +0200
Retired: Long term failure to build
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index dd3082f..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-/racket-7.0-src.tgz
-/racket-7.4-src.tgz
diff --git a/README.md b/README.md
deleted file mode 100644
index dd16930..0000000
--- a/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# racket
-
-The racket package
\ No newline at end of file
diff --git a/dead.package b/dead.package
new file mode 100644
index 0000000..ab7426e
--- /dev/null
+++ b/dead.package
@@ -0,0 +1 @@
+Retired: Long term failure to build
diff --git a/racket-7.4-remove-nonfree.patch b/racket-7.4-remove-nonfree.patch
deleted file mode 100644
index b670cbc..0000000
--- a/racket-7.4-remove-nonfree.patch
+++ /dev/null
@@ -1,967 +0,0 @@
-diff -urN racket-7.4-orig/share/links.rktd racket-7.4-remove-nonfree/share/links.rktd
---- racket-7.4-orig/share/links.rktd 2019-08-03 23:31:24.000000000 -0400
-+++ racket-7.4-remove-nonfree/share/links.rktd 2019-08-28 09:27:21.416018118 -0400
-@@ -177,7 +177,6 @@
- (root "pkgs/slideshow-exe")
- (root "pkgs/slideshow-plugin")
- (root "pkgs/srfi-doc")
-- (root "pkgs/srfi-doc-nonfree")
- (root "pkgs/syntax-color-doc")
- (root "pkgs/web-server-lib")
- (root "pkgs/unix-socket-lib")
-diff -urN racket-7.4-orig/share/pkgs/pkgs.rktd
racket-7.4-remove-nonfree/share/pkgs/pkgs.rktd
---- racket-7.4-orig/share/pkgs/pkgs.rktd 2019-08-03 23:31:24.000000000 -0400
-+++ racket-7.4-remove-nonfree/share/pkgs/pkgs.rktd 2019-08-28 09:28:17.804384118 -0400
-@@ -1 +1 @@
--#hash(("2d" . #s(pkg-info (catalog "2d")
"fc82a7bd227d7f3b8852351fc6bf34948a7750b8" #t)) ("2d-doc" .
#s((sc-pkg-info pkg-info 3) (catalog "2d-doc")
"209614ab3da685f46ece52c2efdf976f1e7697b1" #t "2d"))
("2d-lib" . #s((sc-pkg-info pkg-info 3) (catalog "2d-lib")
"8f5dd908df23ee2a698b178971be4e18d1937393" #t "2d"))
("algol60" . #s((sc-pkg-info pkg-info 3) (catalog "algol60")
"5a67faec1e3f59e98d5d5c4ee4687a9e9a34962f" #t "algol60"))
("at-exp-lib" . #s(pkg-info (catalog "at-exp-lib")
"68787a39b1d862726969eb03e54c6fcbab05d8d4" #t)) ("base" . #s(pkg-info
(catalog "base") "249d2a371f12382b1360dd7a77702fb28551133b" #t))
("cext-lib" . #s(pkg-info (catalog "cext-lib")
"1ce5c3f8ef512216a402de1e139a242cf6593999" #t)) ("class-iop-lib" .
#s(pkg-info (catalog "class-iop-lib")
"29c5747600fa93d2dac540e3381291e45fa09300" #t)) ("compatibility" .
#s(pkg-info (catalog "compatibility")
"0fd2da43b30b0f27aaafa5d67af21ddf7fe02dd6" #t)) ("compatibility-doc" .
#s(pkg-info (catalog "compatibility-doc")
"fee62d07a8e143615c24f365c7c48c30e1eebe8c" #t)) ("compatibility-lib" .
#s(pkg-info (catalog "compatibility-lib")
"8d1011f2f86192a07714e4088ff5e23ca794471a" #t)) ("compiler" .
#s(pkg-info (catalog "compiler")
"b1a38a648d3cb1adaca66e1d9fb2a3636421f4f8" #t)) ("compiler-lib" .
#s(pkg-info (catalog "compiler-lib")
"b60403b4873befa5811e5fabb65970a24e0bb950" #t)) ("contract-profile" .
#s((sc-pkg-info pkg-info 3) (catalog "contract-profile")
"001eec9d842dcd35b6f082934e614ba86a2ab4c0" #t "contract-profile"))
("data" . #s(pkg-info (catalog "data")
"98ef519ebf74d40ba645d00933e47fa0a516c96f" #t)) ("data-doc" .
#s(pkg-info (catalog "data-doc")
"ebfdbebb77721a087efc803f30bec6afe2292097" #t)) ("data-enumerate-lib"
. #s(pkg-info (catalog "data-enumerate-lib")
"f70dcd6ce6d7b14d1f1cc76b908df7cb2fd61929" #t)) ("data-lib" .
#s(pkg-info (catalog "data-lib")
"7fb6940020f610c669df432877213bfe79caebc7" #t)) ("datalog" .
#s((sc-pkg-info pkg-info 3) (catalog "datalog")
"411342493d6022b7d74f7e13955dfdfcf6e62f91" #t "datalog"))
("db" . #s(pkg-info (catalog "db")
"13af2037227b04af20e85e2fef78cc9686fc6e3d" #t)) ("db-doc" .
#s(pkg-info (catalog "db-doc")
"ed6cb9e0f165f5e390347d9a979f994c80e09e6a" #t)) ("db-lib" .
#s(pkg-info (catalog "db-lib")
"5c97b5ac2a3cf661d85cd7177029ce4686a9391e" #t)) ("deinprogramm" .
#s(pkg-info (catalog "deinprogramm")
"9e908294790f919de34f67ab3321f57a53f52e36" #t))
("deinprogramm-signature" . #s(pkg-info (catalog
"deinprogramm-signature") "433e0dc1f4f74ef73074ce1c387b06e9e260e212"
#t)) ("distributed-places" . #s(pkg-info (catalog
"distributed-places") "145c1cedf46768adf061fade24893965840f1643" #t))
("distributed-places-doc" . #s(pkg-info (catalog
"distributed-places-doc") "fda0badbab4441172b33ae31c3b2272ce59bcd3c"
#t)) ("distributed-places-lib" . #s(pkg-info (catalog
"distributed-places-lib") "db733a858f67c295196d3d5e62d4d1047dbe10c4"
#t)) ("draw" . #s(pkg-info (catalog "draw")
"1e57984e4a7e93fc30e6f42382b3bdf2d5162759" #t)) ("draw-doc" .
#s(pkg-info (catalog "draw-doc")
"e7348bde06b88e4261d46eeeb7a1b69cb1c4b5bb" #t)) ("draw-lib" .
#s(pkg-info (catalog "draw-lib")
"8343a0e4d9c082e2b5da7f36590f3d6f81a90815" #t)) ("drracket" .
#s(pkg-info (catalog "drracket")
"0233b83af527c6866ce458d5869c02f1c3148569" #t)) ("drracket-plugin-lib"
. #s(pkg-info (catalog "drracket-plugin-lib")
"c4715aa5984bf8dfe48d44038b4eb81525f7cac7" #t)) ("drracket-tool" .
#s(pkg-info (catalog "drracket-tool")
"93dcb297ed4ad62cf4605d632da64023bdfc1e69" #t)) ("drracket-tool-doc" .
#s(pkg-info (catalog "drracket-tool-doc")
"f44fa4ef2a14aaff04d3b26d5b4a701678e42b68" #t)) ("drracket-tool-lib" .
#s(pkg-info (catalog "drracket-tool-lib")
"f3ca7e15b2592b40c4aaf734cf00126d71e0876d" #t)) ("ds-store" .
#s((sc-pkg-info pkg-info 3) (catalog "ds-store")
"f3b74900e431d9ca6ee1038fb7dd1e08d759b009" #t "ds-store"))
("ds-store-doc" . #s((sc-pkg-info pkg-info 3) (catalog "ds-store-doc")
"06b754e0bc7ed6bd6ebf26b8ab4b3ae223ff9e3d" #t "ds-store"))
("ds-store-lib" . #s((sc-pkg-info pkg-info 3) (catalog "ds-store-lib")
"517b5f727a5df1d7230cfeae5c208433d9717d2a" #t "ds-store"))
("dynext-lib" . #s(pkg-info (catalog "dynext-lib")
"6327a91cf80c504524e1de84f2613263e62da80e" #t)) ("eli-tester" .
#s(pkg-info (catalog "eli-tester")
"0c9bfc31ad180898a7f10af252009084b0de30eb" #t)) ("eopl" .
#s((sc-pkg-info pkg-info 3) (catalog "eopl")
"b7725c60cac4f51be2fefef5bc393857c07dc0af" #t "eopl"))
("errortrace" . #s(pkg-info (catalog "errortrace")
"f8d7f00c7dacc7d1bb2bc99c76129798319881e7" #t)) ("errortrace-doc" .
#s(pkg-info (catalog "errortrace-doc")
"aea79310a7f250d43325f82467b4c4126338a425" #t)) ("errortrace-lib" .
#s(pkg-info (catalog "errortrace-lib")
"0b7417f006208d6c8fb5f4fa61e1099a970f1fc2" #t)) ("frtime" .
#s((sc-pkg-info pkg-info 3) (catalog "frtime")
"83bf86eb4a5f6b1a2f53ac8f7b0c265ca8e27839" #t "frtime"))
("future-visualizer" . #s(pkg-info (catalog "future-visualizer")
"76bc592353681f3d673841d65230deecd901ee8f" #t))
("future-visualizer-typed" . #s(pkg-info (catalog
"future-visualizer-typed") "a1698d4264a5267ac49b2451211e3391216a4e82"
#t)) ("games" . #s((sc-pkg-info pkg-info 3) (catalog "games")
"0ad78fb4ec37b6f19435b7599a566c1bb2e5847c" #t "games"))
("gui" . #s(pkg-info (catalog "gui")
"a74759a9030789bdea8a324bd69cad5e162c5937" #t)) ("gui-doc" .
#s(pkg-info (catalog "gui-doc")
"e79b96b5ded5e81a5beeb33d905d7e7ccd893074" #t)) ("gui-lib" .
#s(pkg-info (catalog "gui-lib")
"35c5e9a5dd69ba6839210d49e6c967ba418e9cc4" #t)) ("gui-pkg-manager-lib"
. #s(pkg-info (catalog "gui-pkg-manager-lib")
"1e0d8a3f2a60642e785c0459108f1be6034dbcb1" #t)) ("htdp" . #s(pkg-info
(catalog "htdp") "6e222eff85bae1b326f4282d8b82fc5c83202cfe" #t))
("htdp-doc" . #s(pkg-info (catalog "htdp-doc")
"e5892b0ae846f64e997e34ae2afb165b35f290b9" #t)) ("htdp-lib" .
#s(pkg-info (catalog "htdp-lib")
"1f18bce701e14d76fa2e4f14f8cded185b00a66d" #t)) ("html" . #s(pkg-info
(catalog "html") "59ab0bddd4935969e2af0469ad48a9c30f33ef60" #t))
("html-doc" . #s(pkg-info (catalog "html-doc")
"3cd2a18da0b91b209d196f0cf669f2e59829d2bc" #t)) ("html-lib" .
#s(pkg-info (catalog "html-lib")
"2b17b0447932ee0a5287581269d24b5e3e9dcbb5" #t)) ("icons" .
#s((sc-pkg-info pkg-info 3) (catalog "icons")
"77e8f436f370ce8d88aa39622c5921664b56845b" #t "icons"))
("images" . #s(pkg-info (catalog "images")
"98c6a0e120eb1115db9d376759b245db0591b07b" #t)) ("images-doc" .
#s(pkg-info (catalog "images-doc")
"99e114a7c7e234b6eaa23f99f863d03986bd62b5" #t)) ("images-gui-lib" .
#s(pkg-info (catalog "images-gui-lib")
"fef0ec840d82ed975370087fdcb049e0cce8e339" #t)) ("images-lib" .
#s(pkg-info (catalog "images-lib")
"9dcdc2e2388c63063a4a161e09585119d8d18e88" #t)) ("lazy" .
#s((sc-pkg-info pkg-info 3) (catalog "lazy")
"8038fc1a353a1618a5c19feecd7de1150719a9fc" #t "lazy"))
("macro-debugger" . #s(pkg-info (catalog "macro-debugger")
"448277bb97132d25236deb785dce8c81933235d2" #t))
("macro-debugger-text-lib" . #s(pkg-info (catalog
"macro-debugger-text-lib") "0549dc476d9f071569d59359dbe6e4039f8af250"
#t)) ("main-distribution" . #s(pkg-info (catalog "main-distribution")
"3d0f4e0314c4b437feb7c3b86ff69cf20ad1e0f0" #f)) ("make" .
#s((sc-pkg-info pkg-info 3) (catalog "make")
"93e3f1b4144e3a04392b753cedc34c7c49e63fe5" #t "make"))
("math" . #s(pkg-info (catalog "math")
"bc288b3ed293e90ef3a4eb05971d388265dc7065" #t)) ("math-doc" .
#s(pkg-info (catalog "math-doc")
"119b215101c0f1f82b6d28e06f5288812f38f2c3" #t)) ("math-lib" .
#s(pkg-info (catalog "math-lib")
"4e159abc47c306364ad02549853c1ddf82d6f8a2" #t)) ("mysterx" .
#s((sc-pkg-info pkg-info 3) (catalog "mysterx")
"23487c08b23cb7d965b97b0c45e6e3553854b869" #t "mysterx"))
("mzcom" . #s((sc-pkg-info pkg-info 3) (catalog "mzcom")
"ac97bd1dc80a2f867d17f75254a8bbb9faa24afd" #t "mzcom"))
("mzscheme" . #s(pkg-info (catalog "mzscheme")
"2a45b98e73f899324f2c5678d93df74f1792d23c" #t)) ("mzscheme-doc" .
#s(pkg-info (catalog "mzscheme-doc")
"de48e8b819047025177fac06b6f254e6f939fd23" #t)) ("mzscheme-lib" .
#s(pkg-info (catalog "mzscheme-lib")
"a6a2ec7fd0946a46c5368dbe1d7602419f8e7b53" #t)) ("net" . #s(pkg-info
(catalog "net") "5df16fb466651bbb270a30296b1e8ee5f86af6fe" #t))
("net-cookies" . #s(pkg-info (catalog "net-cookies")
"51f6db09a36adbeb73e6bfc25bcd7d2123cc563e" #t)) ("net-cookies-doc" .
#s(pkg-info (catalog "net-cookies-doc")
"c1380af8407ce13dc993830db20250d7348117a8" #t)) ("net-cookies-lib" .
#s(pkg-info (catalog "net-cookies-lib")
"12f95b8fa1d9d562cd2bc7b499dd2fdc7111d122" #t)) ("net-doc" .
#s(pkg-info (catalog "net-doc")
"effd2e00136f037f9c524e25973ffa0b4b5f6ab8" #t)) ("net-lib" .
#s(pkg-info (catalog "net-lib")
"c0e7e3b3d55d067fa1fa3d13736877f33fe4fe76" #t)) ("optimization-coach"
. #s(pkg-info (catalog "optimization-coach")
"79ef3e4ec8de133f6f0b1838218b9478ba22d9bc" #t)) ("option-contract" .
#s(pkg-info (catalog "option-contract")
"14f8553d264972db98ecb25007f0c62f72c88837" #t)) ("option-contract-doc"
. #s(pkg-info (catalog "option-contract-doc")
"12d4da169785f5af1e8e38357713656385b4a75d" #t)) ("option-contract-lib"
. #s(pkg-info (catalog "option-contract-lib")
"f01bff6dccd0e6cf8721ac9cf3a819c5a9fd25b7" #t)) ("parser-tools" .
#s(pkg-info (catalog "parser-tools")
"7c90da6b7e8b13a5faed4d196f29f74d24c308a3" #t)) ("parser-tools-doc" .
#s(pkg-info (catalog "parser-tools-doc")
"d3d05e4f5f175f790775c835317034e8f6b6394e" #t)) ("parser-tools-lib" .
#s(pkg-info (catalog "parser-tools-lib")
"22eaaae7d2dc79755eaf96029554ebb48fb7ccaf" #t)) ("pconvert-lib" .
#s(pkg-info (catalog "pconvert-lib")
"cf75aa36ac881f36c9f845f9b3d5c75bb016caac" #t)) ("pict" . #s(pkg-info
(catalog "pict") "b58b1e3ff96f16f62a8ca6e52efcf143d02c2552" #t))
("pict-doc" . #s(pkg-info (catalog "pict-doc")
"8e95db03fae67b105bd6afdce6c4dfcaf587c2c9" #t)) ("pict-lib" .
#s(pkg-info (catalog "pict-lib")
"2abed1569d91f15fa61d95e11f53d5cbbef610e1" #t)) ("pict-snip" .
#s(pkg-info (catalog "pict-snip")
"07039265dc698b136044724e4802b64517ba5209" #t)) ("pict-snip-doc" .
#s(pkg-info (catalog "pict-snip-doc")
"2453a4852fc2987b42f4ad4f6e92a1a448418db5" #t)) ("pict-snip-lib" .
#s(pkg-info (catalog "pict-snip-lib")
"28f4f45649589e010ab6c6cdc3e82ac9ff1fbe7f" #t)) ("picturing-programs"
. #s(pkg-info (catalog "picturing-programs")
"325870110f44e006c228f41619b5c77f331b82a1" #t)) ("plai" . #s(pkg-info
(catalog "plai") "6ac6f533410efd33f655d51314228c77c83172ac" #t))
("plai-doc" . #s((sc-pkg-info pkg-info 3) (catalog "plai-doc")
"c8363060f66e1bd1ddc72c8271e86cf3fcbeff9e" #t "plai"))
("plai-lib" . #s((sc-pkg-info pkg-info 3) (catalog "plai-lib")
"978f240e75c6ad1a4843a010fe250d9977e93339" #t "plai"))
("planet" . #s(pkg-info (catalog "planet")
"e1a53854ddae4cf4eef667a91f3c944eb1481371" #t)) ("planet-doc" .
#s(pkg-info (catalog "planet-doc")
"0356d590361d2b909c717e97dc4f9eb2b567461a" #t)) ("planet-lib" .
#s(pkg-info (catalog "planet-lib")
"a0993c8b1c3ae0f08f75a6e70d785dfa3e7adf66" #t)) ("plot" . #s(pkg-info
(catalog "plot") "898a4c570ed38396d684f260efa240d66accead9" #t))
("plot-compat" . #s(pkg-info (catalog "plot-compat")
"01b129e6ee41080f090c02054d07c7856ae2c06c" #t)) ("plot-doc" .
#s(pkg-info (catalog "plot-doc")
"70b006d5da401955e00000fcf6a3aacc296cd687" #t)) ("plot-gui-lib" .
#s(pkg-info (catalog "plot-gui-lib")
"57d49ac10de7a4d2520fe8a3c625eb91e6af8359" #t)) ("plot-lib" .
#s(pkg-info (catalog "plot-lib")
"84fecbb718ed024176c79f271f30579f5d753339" #t)) ("preprocessor" .
#s((sc-pkg-info pkg-info 3) (catalog "preprocessor")
"38fc7981a096322c67e4f7d9afac6f1fe664529e" #t "preprocessor"))
("profile" . #s(pkg-info (catalog "profile")
"2183f9722eb2efbe2c8feb400b73602ad97fe221" #t)) ("profile-doc" .
#s(pkg-info (catalog "profile-doc")
"1d7c7dd2ad37e0d6c842cf30c7a01a631b18a39e" #t)) ("profile-lib" .
#s((sc-pkg-info pkg-info 3) (catalog "profile-lib")
"4eed8ba01f406d199604b3727c405c2bf368a617" #t "profile"))
("quickscript" . #s((sc-pkg-info pkg-info 3) (catalog "quickscript")
"0c531a78067442fb5ac2b404f92c92427cff8bec" #t "quickscript"))
("r5rs" . #s(pkg-info (catalog "r5rs")
"febae235a352df6df59a2e2c45b8658322793103" #t)) ("r5rs-doc" .
#s(pkg-info (catalog "r5rs-doc")
"3b842a310c928a0647b0c29cb3eabe215270f8e2" #t)) ("r5rs-lib" .
#s(pkg-info (catalog "r5rs-lib")
"9fcc4ebda67e44abd34e6c97a1448cd9a3947b77" #t)) ("r6rs" . #s(pkg-info
(catalog "r6rs") "2ba0a84b06e7ab0ab49308fb6b58c23b29e39662" #t))
("r6rs-doc" . #s(pkg-info (catalog "r6rs-doc")
"972c5762a28dd773190c7aa46f9b972ac7c4c44e" #t)) ("r6rs-lib" .
#s(pkg-info (catalog "r6rs-lib")
"0a80a45a9666924b02b7e41002b3122b0b0606e3" #t)) ("racket-cheat" .
#s((sc-pkg-info pkg-info 3) (catalog "racket-cheat")
"11ef1c76f6459d0039e13cdc04326f5c54c28714" #t "racket-cheat"))
("racket-doc" . #s(pkg-info (catalog "racket-doc")
"7c41f0b0ae91a7d77da4d4f15c2e5e2f6ab5c689" #t)) ("racket-index" .
#s(pkg-info (catalog "racket-index")
"ec294cafcf79f9a7034d02b4b3ff8c2e2a717622" #t)) ("racket-lib" .
#s(pkg-info (catalog "racket-lib")
"addde48592db0ba3db8686c37951f20c7112d368" #f)) ("racklog" .
#s((sc-pkg-info pkg-info 3) (catalog "racklog")
"a587b4aa82ff470e0646185cce033900e1bdafa8" #t "racklog"))
("rackunit" . #s(pkg-info (catalog "rackunit")
"4b9de5253bfc93a4ba11e527bed3314d48ab0fc8" #t)) ("rackunit-doc" .
#s(pkg-info (catalog "rackunit-doc")
"26d22124d6eab4c79b73d778deef7b9bc73c2dec" #t)) ("rackunit-gui" .
#s(pkg-info (catalog "rackunit-gui")
"4cb8bc7487ff6bd55f653708d51f29fb75b490e2" #t)) ("rackunit-lib" .
#s(pkg-info (catalog "rackunit-lib")
"0069571fffeb268232fab1db7e9c6e8ea124f1ac" #t)) ("rackunit-plugin-lib"
. #s(pkg-info (catalog "rackunit-plugin-lib")
"a663951f3c13e3a6c0228949d97c6b2eef4a5b6c" #t)) ("rackunit-typed" .
#s((sc-pkg-info pkg-info 3) (catalog "rackunit-typed")
"d3ea39520e71e1fdcdaee0a4218575592c44a41a" #t "typed"))
("readline" . #s(pkg-info (catalog "readline")
"4c7e66cd27cf4408832c87e3ee86df7a6eefa09d" #t)) ("readline-doc" .
#s(pkg-info (catalog "readline-doc")
"3bded5f74e621afb05b47f4fb05e455d8c2ee3f7" #t)) ("readline-lib" .
#s(pkg-info (catalog "readline-lib")
"a5182fa3edd32b9d63e6c355ccb372e0310a9d6d" #t)) ("realm" .
#s((sc-pkg-info pkg-info 3) (catalog "realm")
"f013fc3db6882ece583015d48f0ad8e1e971601d" #t "realm"))
("redex" . #s(pkg-info (catalog "redex")
"57c8ddc62fd86b0ede08e92a7e47d35527768e99" #t)) ("redex-benchmark" .
#s(pkg-info (catalog "redex-benchmark")
"2433d94442a5f32f16d152656b168d1e6218aaa7" #t)) ("redex-doc" .
#s(pkg-info (catalog "redex-doc")
"6cedd1cfdc891d7ac3b46fcfe7767a4681443515" #t)) ("redex-examples" .
#s(pkg-info (catalog "redex-examples")
"98a38101bd790fa6bd8ff16ce8e2fb65245cb87c" #t)) ("redex-gui-lib" .
#s(pkg-info (catalog "redex-gui-lib")
"80083d5cded16afb0d45a59cdd655ddd396b8685" #t)) ("redex-lib" .
#s(pkg-info (catalog "redex-lib")
"04c6bc3954bf30293e0b5cfe76294a799e2f1aae" #t)) ("redex-pict-lib" .
#s(pkg-info (catalog "redex-pict-lib")
"9b13a5976edd63728d8914fc20bffb5ad981302f" #t)) ("sandbox-lib" .
#s(pkg-info (catalog "sandbox-lib")
"5b6080ff4052f881c343f6ccc847f860acb501a9" #t)) ("sasl" .
#s((sc-pkg-info pkg-info 3) (catalog "sasl")
"8dc49968c1ef11c5dd77f56c5979453a36d2c750" #t "sasl"))
("sasl-doc" . #s((sc-pkg-info pkg-info 3) (catalog "sasl-doc")
"02b6cf131a97af9caa622a77592bb851f5d58fa3" #t "sasl"))
("sasl-lib" . #s((sc-pkg-info pkg-info 3) (catalog "sasl-lib")
"d4ecdad04e42658a69d70d2f7d5eadae7ed7d16e" #t "sasl"))
("scheme-lib" . #s(pkg-info (catalog "scheme-lib")
"22e71c59ac20b09cd156062ce0fb0afb86aaa851" #t)) ("schemeunit" .
#s((sc-pkg-info pkg-info 3) (catalog "schemeunit")
"03986b499744194a9e06a66dfe988bed9fb8cc40" #t "schemeunit"))
("scribble" . #s(pkg-info (catalog "scribble")
"862cac10d6934b0dca35b4ebace9ffa0faa3a381" #t)) ("scribble-doc" .
#s(pkg-info (catalog "scribble-doc")
"fc38088b2924e7d902ceafc94243fd3ca2a52b45" #t)) ("scribble-html-lib" .
#s(pkg-info (catalog "scribble-html-lib")
"13105ce2064fa963c535187a657792e1ec95d284" #t)) ("scribble-lib" .
#s(pkg-info (catalog "scribble-lib")
"9be1c71d1c0f3f0d41031416689f012a16ba535a" #t)) ("scribble-text-lib" .
#s(pkg-info (catalog "scribble-text-lib")
"1d816dcc95b5f6d77ff6633b82a6dd40f7effe4e" #t))
("serialize-cstruct-lib" . #s(pkg-info (catalog
"serialize-cstruct-lib") "caeab596cb494273bcb84b917205a66bd06d0528"
#t)) ("sgl" . #s((sc-pkg-info pkg-info 3) (catalog "sgl")
"a2feb4952e01c7e02af068978ade81d0a213e035" #t "sgl"))
("shell-completion" . #s((sc-pkg-info pkg-info 3) (catalog
"shell-completion") "900d6f81d7f78d17ac1789436c36a3314f09fcec" #t
"shell-completion")) ("slatex" . #s((sc-pkg-info pkg-info 3) (catalog
"slatex") "7a36270767b37d0336b4d72c7ca89140f395f9af" #t
"slatex")) ("slideshow" . #s(pkg-info (catalog "slideshow")
"62d9fa5b5fc8f1b82fb7acae427e474488fb1c2a" #t)) ("slideshow-doc" .
#s(pkg-info (catalog "slideshow-doc")
"d023178269517583e08ea3afc13bd8e867e86eaa" #t)) ("slideshow-exe" .
#s(pkg-info (catalog "slideshow-exe")
"4764478f8f62ba0a9d66ef064945af605cac48cc" #t)) ("slideshow-lib" .
#s(pkg-info (catalog "slideshow-lib")
"b7d301d8496d23dd950606d50a2c9565067f77f5" #t)) ("slideshow-plugin" .
#s(pkg-info (catalog "slideshow-plugin")
"50fe3549998180cf9391d355fce67c1b95fee846" #t)) ("snip" . #s(pkg-info
(catalog "snip") "f6401933decce0674344953461fc80be6b600748" #t))
("snip-lib" . #s(pkg-info (catalog "snip-lib")
"8cf6a919d5d9021f782423b3712a0e73cf93842a" #t)) ("source-syntax" .
#s((sc-pkg-info pkg-info 3) (catalog "source-syntax")
"b6dde72b228b3e8e7da35fbc25cce395c8dce9cb" #t "syntax"))
("srfi" . #s(pkg-info (catalog "srfi")
"810795b1c70213bba3e3f02c29c0ec0be774d551" #t)) ("srfi-doc" .
#s(pkg-info (catalog "srfi-doc")
"9bcb860c00d8023421c3ab3e2785ab8ee92b8f9d" #t)) ("srfi-doc-nonfree" .
#s(pkg-info (catalog "srfi-doc-nonfree")
"6ac01197bd6a33c21ff69684704e73739708d92c" #t)) ("srfi-lib" .
#s(pkg-info (catalog "srfi-lib")
"8dd9d951c94054ec60a4e1d59fa2c1a462e8fff6" #t)) ("srfi-lite-lib" .
#s(pkg-info (catalog "srfi-lite-lib")
"2a40a8ecf4a2368b6c84d8f0bdd1c72df4f3cc7f" #t)) ("string-constants" .
#s(pkg-info (catalog "string-constants")
"602234aee270ea040b993f8146548aa0c835ee41" #t))
("string-constants-doc" . #s(pkg-info (catalog "string-constants-doc")
"627c9a564c187d9dbd2a1c6de302e38ed8cd105e" #t))
("string-constants-lib" . #s(pkg-info (catalog "string-constants-lib")
"85764e7ecf8df819142221a84380340c23607e18" #t)) ("swindle" .
#s((sc-pkg-info pkg-info 3) (catalog "swindle")
"56793a3d43336a0dfc1fb6d4933a6a7d0a6f18a6" #t "swindle"))
("syntax-color" . #s(pkg-info (catalog "syntax-color")
"0ab7c010c146aacbc26f81d73050e5dcb1ec44a4" #t)) ("syntax-color-doc" .
#s(pkg-info (catalog "syntax-color-doc")
"ebc23963c2f235893a2ae998311c439ca5f2de5e" #t)) ("syntax-color-lib" .
#s(pkg-info (catalog "syntax-color-lib")
"c496941837238109ebf69e6a2a3740136baf077e" #t)) ("testing-util-lib" .
#s(pkg-info (catalog "testing-util-lib")
"6ad76708f90cc3938a72d556458f92cde3e30578" #t)) ("tex-table" .
#s((sc-pkg-info pkg-info 3) (catalog "tex-table")
"c6127491120f723f26dbba30d217e4f2aeb12084" #t "mrlib"))
("trace" . #s((sc-pkg-info pkg-info 3) (catalog "trace")
"953c7b5e344cfc8859006ffbfce4fdf360647d81" #t "trace"))
("typed-racket" . #s(pkg-info (catalog "typed-racket")
"7896fb7492e6230f58d73d202ce9e6f77e3f98b7" #t))
("typed-racket-compatibility" . #s(pkg-info (catalog
"typed-racket-compatibility")
"1bf2425d25d54c653d693290f41e9587847357a6" #t)) ("typed-racket-doc" .
#s(pkg-info (catalog "typed-racket-doc")
"d338099f40c47dbfb62f699206e99cfdfa7e32d6" #t)) ("typed-racket-lib" .
#s(pkg-info (catalog "typed-racket-lib")
"3eff82ebcceeab467c35cf19044013c83a47bd32" #t)) ("typed-racket-more" .
#s(pkg-info (catalog "typed-racket-more")
"600a695a0f59fe2740cf9e2080a13e25310a5114" #t)) ("unix-socket" .
#s(pkg-info (catalog "unix-socket")
"c015b6081883e19b3f1d2343bddca9895499832c" #t)) ("unix-socket-doc" .
#s(pkg-info (catalog "unix-socket-doc")
"b5d7f058cd0984aef1d8214968e79c202b972636" #t)) ("unix-socket-lib" .
#s(pkg-info (catalog "unix-socket-lib")
"e8d16e6cf98e03dc141ce410e7fddb83eb420e54" #t)) ("web-server" .
#s(pkg-info (catalog "web-server")
"9e01035046e279382ab2c1aa5c3f68d7533afd64" #t)) ("web-server-doc" .
#s(pkg-info (catalog "web-server-doc")
"afb48732580aaf70f2d13dc0f3115f25672a0fb6" #t)) ("web-server-lib" .
#s(pkg-info (catalog "web-server-lib")
"1fb4a0c9718b0e835d730f92289f9855018dfee3" #t)) ("wxme" . #s(pkg-info
(catalog "wxme") "a56f70bd66b595d03baa8fb60046c3826b3abaaa" #t))
("wxme-lib" . #s(pkg-info (catalog "wxme-lib")
"75d7ad58da6d6fe5e3b5d81fe3f1e73b37460ae5" #t)) ("xrepl" . #s(pkg-info
(catalog "xrepl") "c577bf792fde613ada8dc08f3b76b9daf3fc6814" #t))
("xrepl-doc" . #s(pkg-info (catalog "xrepl-doc")
"1724207363217dc4e931ac92e017c594a7a2a44b" #t)) ("xrepl-lib" .
#s(pkg-info (catalog "xrepl-lib")
"829e38b7ffcd0508842871b5aa354a531ddee4fa" #t)) ("zo-lib" .
#s(pkg-info (catalog "zo-lib")
"0f00c96ccaf933002e5c1e9f6b9e8856cbcd04eb" #t)))
-+#hash(("2d" . #s(pkg-info (catalog "2d")
"fc82a7bd227d7f3b8852351fc6bf34948a7750b8" #t)) ("2d-doc" .
#s((sc-pkg-info pkg-info 3) (catalog "2d-doc")
"209614ab3da685f46ece52c2efdf976f1e7697b1" #t "2d"))
("2d-lib" . #s((sc-pkg-info pkg-info 3) (catalog "2d-lib")
"8f5dd908df23ee2a698b178971be4e18d1937393" #t "2d"))
("algol60" . #s((sc-pkg-info pkg-info 3) (catalog "algol60")
"5a67faec1e3f59e98d5d5c4ee4687a9e9a34962f" #t "algol60"))
("at-exp-lib" . #s(pkg-info (catalog "at-exp-lib")
"68787a39b1d862726969eb03e54c6fcbab05d8d4" #t)) ("base" . #s(pkg-info
(catalog "base") "249d2a371f12382b1360dd7a77702fb28551133b" #t))
("cext-lib" . #s(pkg-info (catalog "cext-lib")
"1ce5c3f8ef512216a402de1e139a242cf6593999" #t)) ("class-iop-lib" .
#s(pkg-info (catalog "class-iop-lib")
"29c5747600fa93d2dac540e3381291e45fa09300" #t)) ("compatibility" .
#s(pkg-info (catalog "compatibility")
"0fd2da43b30b0f27aaafa5d67af21ddf7fe02dd6" #t)) ("compatibility-doc" .
#s(pkg-info (catalog "compatibility-doc")
"fee62d07a8e143615c24f365c7c48c30e1eebe8c" #t)) ("compatibility-lib" .
#s(pkg-info (catalog "compatibility-lib")
"8d1011f2f86192a07714e4088ff5e23ca794471a" #t)) ("compiler" .
#s(pkg-info (catalog "compiler")
"b1a38a648d3cb1adaca66e1d9fb2a3636421f4f8" #t)) ("compiler-lib" .
#s(pkg-info (catalog "compiler-lib")
"b60403b4873befa5811e5fabb65970a24e0bb950" #t)) ("contract-profile" .
#s((sc-pkg-info pkg-info 3) (catalog "contract-profile")
"001eec9d842dcd35b6f082934e614ba86a2ab4c0" #t "contract-profile"))
("data" . #s(pkg-info (catalog "data")
"98ef519ebf74d40ba645d00933e47fa0a516c96f" #t)) ("data-doc" .
#s(pkg-info (catalog "data-doc")
"ebfdbebb77721a087efc803f30bec6afe2292097" #t)) ("data-enumerate-lib"
. #s(pkg-info (catalog "data-enumerate-lib")
"f70dcd6ce6d7b14d1f1cc76b908df7cb2fd61929" #t)) ("data-lib" .
#s(pkg-info (catalog "data-lib")
"7fb6940020f610c669df432877213bfe79caebc7" #t)) ("datalog" .
#s((sc-pkg-info pkg-info 3) (catalog "datalog")
"411342493d6022b7d74f7e13955dfdfcf6e62f91" #t "datalog"))
("db" . #s(pkg-info (catalog "db")
"13af2037227b04af20e85e2fef78cc9686fc6e3d" #t)) ("db-doc" .
#s(pkg-info (catalog "db-doc")
"ed6cb9e0f165f5e390347d9a979f994c80e09e6a" #t)) ("db-lib" .
#s(pkg-info (catalog "db-lib")
"5c97b5ac2a3cf661d85cd7177029ce4686a9391e" #t)) ("deinprogramm" .
#s(pkg-info (catalog "deinprogramm")
"9e908294790f919de34f67ab3321f57a53f52e36" #t))
("deinprogramm-signature" . #s(pkg-info (catalog
"deinprogramm-signature") "433e0dc1f4f74ef73074ce1c387b06e9e260e212"
#t)) ("distributed-places" . #s(pkg-info (catalog
"distributed-places") "145c1cedf46768adf061fade24893965840f1643" #t))
("distributed-places-doc" . #s(pkg-info (catalog
"distributed-places-doc") "fda0badbab4441172b33ae31c3b2272ce59bcd3c"
#t)) ("distributed-places-lib" . #s(pkg-info (catalog
"distributed-places-lib") "db733a858f67c295196d3d5e62d4d1047dbe10c4"
#t)) ("draw" . #s(pkg-info (catalog "draw")
"1e57984e4a7e93fc30e6f42382b3bdf2d5162759" #t)) ("draw-doc" .
#s(pkg-info (catalog "draw-doc")
"e7348bde06b88e4261d46eeeb7a1b69cb1c4b5bb" #t)) ("draw-lib" .
#s(pkg-info (catalog "draw-lib")
"8343a0e4d9c082e2b5da7f36590f3d6f81a90815" #t)) ("drracket" .
#s(pkg-info (catalog "drracket")
"0233b83af527c6866ce458d5869c02f1c3148569" #t)) ("drracket-plugin-lib"
. #s(pkg-info (catalog "drracket-plugin-lib")
"c4715aa5984bf8dfe48d44038b4eb81525f7cac7" #t)) ("drracket-tool" .
#s(pkg-info (catalog "drracket-tool")
"93dcb297ed4ad62cf4605d632da64023bdfc1e69" #t)) ("drracket-tool-doc" .
#s(pkg-info (catalog "drracket-tool-doc")
"f44fa4ef2a14aaff04d3b26d5b4a701678e42b68" #t)) ("drracket-tool-lib" .
#s(pkg-info (catalog "drracket-tool-lib")
"f3ca7e15b2592b40c4aaf734cf00126d71e0876d" #t)) ("ds-store" .
#s((sc-pkg-info pkg-info 3) (catalog "ds-store")
"f3b74900e431d9ca6ee1038fb7dd1e08d759b009" #t "ds-store"))
("ds-store-doc" . #s((sc-pkg-info pkg-info 3) (catalog "ds-store-doc")
"06b754e0bc7ed6bd6ebf26b8ab4b3ae223ff9e3d" #t "ds-store"))
("ds-store-lib" . #s((sc-pkg-info pkg-info 3) (catalog "ds-store-lib")
"517b5f727a5df1d7230cfeae5c208433d9717d2a" #t "ds-store"))
("dynext-lib" . #s(pkg-info (catalog "dynext-lib")
"6327a91cf80c504524e1de84f2613263e62da80e" #t)) ("eli-tester" .
#s(pkg-info (catalog "eli-tester")
"0c9bfc31ad180898a7f10af252009084b0de30eb" #t)) ("eopl" .
#s((sc-pkg-info pkg-info 3) (catalog "eopl")
"b7725c60cac4f51be2fefef5bc393857c07dc0af" #t "eopl"))
("errortrace" . #s(pkg-info (catalog "errortrace")
"f8d7f00c7dacc7d1bb2bc99c76129798319881e7" #t)) ("errortrace-doc" .
#s(pkg-info (catalog "errortrace-doc")
"aea79310a7f250d43325f82467b4c4126338a425" #t)) ("errortrace-lib" .
#s(pkg-info (catalog "errortrace-lib")
"0b7417f006208d6c8fb5f4fa61e1099a970f1fc2" #t)) ("frtime" .
#s((sc-pkg-info pkg-info 3) (catalog "frtime")
"83bf86eb4a5f6b1a2f53ac8f7b0c265ca8e27839" #t "frtime"))
("future-visualizer" . #s(pkg-info (catalog "future-visualizer")
"76bc592353681f3d673841d65230deecd901ee8f" #t))
("future-visualizer-typed" . #s(pkg-info (catalog
"future-visualizer-typed") "a1698d4264a5267ac49b2451211e3391216a4e82"
#t)) ("games" . #s((sc-pkg-info pkg-info 3) (catalog "games")
"0ad78fb4ec37b6f19435b7599a566c1bb2e5847c" #t "games"))
("gui" . #s(pkg-info (catalog "gui")
"a74759a9030789bdea8a324bd69cad5e162c5937" #t)) ("gui-doc" .
#s(pkg-info (catalog "gui-doc")
"e79b96b5ded5e81a5beeb33d905d7e7ccd893074" #t)) ("gui-lib" .
#s(pkg-info (catalog "gui-lib")
"35c5e9a5dd69ba6839210d49e6c967ba418e9cc4" #t)) ("gui-pkg-manager-lib"
. #s(pkg-info (catalog "gui-pkg-manager-lib")
"1e0d8a3f2a60642e785c0459108f1be6034dbcb1" #t)) ("htdp" . #s(pkg-info
(catalog "htdp") "6e222eff85bae1b326f4282d8b82fc5c83202cfe" #t))
("htdp-doc" . #s(pkg-info (catalog "htdp-doc")
"e5892b0ae846f64e997e34ae2afb165b35f290b9" #t)) ("htdp-lib" .
#s(pkg-info (catalog "htdp-lib")
"1f18bce701e14d76fa2e4f14f8cded185b00a66d" #t)) ("html" . #s(pkg-info
(catalog "html") "59ab0bddd4935969e2af0469ad48a9c30f33ef60" #t))
("html-doc" . #s(pkg-info (catalog "html-doc")
"3cd2a18da0b91b209d196f0cf669f2e59829d2bc" #t)) ("html-lib" .
#s(pkg-info (catalog "html-lib")
"2b17b0447932ee0a5287581269d24b5e3e9dcbb5" #t)) ("icons" .
#s((sc-pkg-info pkg-info 3) (catalog "icons")
"77e8f436f370ce8d88aa39622c5921664b56845b" #t "icons"))
("images" . #s(pkg-info (catalog "images")
"98c6a0e120eb1115db9d376759b245db0591b07b" #t)) ("images-doc" .
#s(pkg-info (catalog "images-doc")
"99e114a7c7e234b6eaa23f99f863d03986bd62b5" #t)) ("images-gui-lib" .
#s(pkg-info (catalog "images-gui-lib")
"fef0ec840d82ed975370087fdcb049e0cce8e339" #t)) ("images-lib" .
#s(pkg-info (catalog "images-lib")
"9dcdc2e2388c63063a4a161e09585119d8d18e88" #t)) ("lazy" .
#s((sc-pkg-info pkg-info 3) (catalog "lazy")
"8038fc1a353a1618a5c19feecd7de1150719a9fc" #t "lazy"))
("macro-debugger" . #s(pkg-info (catalog "macro-debugger")
"448277bb97132d25236deb785dce8c81933235d2" #t))
("macro-debugger-text-lib" . #s(pkg-info (catalog
"macro-debugger-text-lib") "0549dc476d9f071569d59359dbe6e4039f8af250"
#t)) ("main-distribution" . #s(pkg-info (catalog "main-distribution")
"3d0f4e0314c4b437feb7c3b86ff69cf20ad1e0f0" #f)) ("make" .
#s((sc-pkg-info pkg-info 3) (catalog "make")
"93e3f1b4144e3a04392b753cedc34c7c49e63fe5" #t "make"))
("math" . #s(pkg-info (catalog "math")
"bc288b3ed293e90ef3a4eb05971d388265dc7065" #t)) ("math-doc" .
#s(pkg-info (catalog "math-doc")
"119b215101c0f1f82b6d28e06f5288812f38f2c3" #t)) ("math-lib" .
#s(pkg-info (catalog "math-lib")
"4e159abc47c306364ad02549853c1ddf82d6f8a2" #t)) ("mysterx" .
#s((sc-pkg-info pkg-info 3) (catalog "mysterx")
"23487c08b23cb7d965b97b0c45e6e3553854b869" #t "mysterx"))
("mzcom" . #s((sc-pkg-info pkg-info 3) (catalog "mzcom")
"ac97bd1dc80a2f867d17f75254a8bbb9faa24afd" #t "mzcom"))
("mzscheme" . #s(pkg-info (catalog "mzscheme")
"2a45b98e73f899324f2c5678d93df74f1792d23c" #t)) ("mzscheme-doc" .
#s(pkg-info (catalog "mzscheme-doc")
"de48e8b819047025177fac06b6f254e6f939fd23" #t)) ("mzscheme-lib" .
#s(pkg-info (catalog "mzscheme-lib")
"a6a2ec7fd0946a46c5368dbe1d7602419f8e7b53" #t)) ("net" . #s(pkg-info
(catalog "net") "5df16fb466651bbb270a30296b1e8ee5f86af6fe" #t))
("net-cookies" . #s(pkg-info (catalog "net-cookies")
"51f6db09a36adbeb73e6bfc25bcd7d2123cc563e" #t)) ("net-cookies-doc" .
#s(pkg-info (catalog "net-cookies-doc")
"c1380af8407ce13dc993830db20250d7348117a8" #t)) ("net-cookies-lib" .
#s(pkg-info (catalog "net-cookies-lib")
"12f95b8fa1d9d562cd2bc7b499dd2fdc7111d122" #t)) ("net-doc" .
#s(pkg-info (catalog "net-doc")
"effd2e00136f037f9c524e25973ffa0b4b5f6ab8" #t)) ("net-lib" .
#s(pkg-info (catalog "net-lib")
"c0e7e3b3d55d067fa1fa3d13736877f33fe4fe76" #t)) ("optimization-coach"
. #s(pkg-info (catalog "optimization-coach")
"79ef3e4ec8de133f6f0b1838218b9478ba22d9bc" #t)) ("option-contract" .
#s(pkg-info (catalog "option-contract")
"14f8553d264972db98ecb25007f0c62f72c88837" #t)) ("option-contract-doc"
. #s(pkg-info (catalog "option-contract-doc")
"12d4da169785f5af1e8e38357713656385b4a75d" #t)) ("option-contract-lib"
. #s(pkg-info (catalog "option-contract-lib")
"f01bff6dccd0e6cf8721ac9cf3a819c5a9fd25b7" #t)) ("parser-tools" .
#s(pkg-info (catalog "parser-tools")
"7c90da6b7e8b13a5faed4d196f29f74d24c308a3" #t)) ("parser-tools-doc" .
#s(pkg-info (catalog "parser-tools-doc")
"d3d05e4f5f175f790775c835317034e8f6b6394e" #t)) ("parser-tools-lib" .
#s(pkg-info (catalog "parser-tools-lib")
"22eaaae7d2dc79755eaf96029554ebb48fb7ccaf" #t)) ("pconvert-lib" .
#s(pkg-info (catalog "pconvert-lib")
"cf75aa36ac881f36c9f845f9b3d5c75bb016caac" #t)) ("pict" . #s(pkg-info
(catalog "pict") "b58b1e3ff96f16f62a8ca6e52efcf143d02c2552" #t))
("pict-doc" . #s(pkg-info (catalog "pict-doc")
"8e95db03fae67b105bd6afdce6c4dfcaf587c2c9" #t)) ("pict-lib" .
#s(pkg-info (catalog "pict-lib")
"2abed1569d91f15fa61d95e11f53d5cbbef610e1" #t)) ("pict-snip" .
#s(pkg-info (catalog "pict-snip")
"07039265dc698b136044724e4802b64517ba5209" #t)) ("pict-snip-doc" .
#s(pkg-info (catalog "pict-snip-doc")
"2453a4852fc2987b42f4ad4f6e92a1a448418db5" #t)) ("pict-snip-lib" .
#s(pkg-info (catalog "pict-snip-lib")
"28f4f45649589e010ab6c6cdc3e82ac9ff1fbe7f" #t)) ("picturing-programs"
. #s(pkg-info (catalog "picturing-programs")
"325870110f44e006c228f41619b5c77f331b82a1" #t)) ("plai" . #s(pkg-info
(catalog "plai") "6ac6f533410efd33f655d51314228c77c83172ac" #t))
("plai-doc" . #s((sc-pkg-info pkg-info 3) (catalog "plai-doc")
"c8363060f66e1bd1ddc72c8271e86cf3fcbeff9e" #t "plai"))
("plai-lib" . #s((sc-pkg-info pkg-info 3) (catalog "plai-lib")
"978f240e75c6ad1a4843a010fe250d9977e93339" #t "plai"))
("planet" . #s(pkg-info (catalog "planet")
"e1a53854ddae4cf4eef667a91f3c944eb1481371" #t)) ("planet-doc" .
#s(pkg-info (catalog "planet-doc")
"0356d590361d2b909c717e97dc4f9eb2b567461a" #t)) ("planet-lib" .
#s(pkg-info (catalog "planet-lib")
"a0993c8b1c3ae0f08f75a6e70d785dfa3e7adf66" #t)) ("plot" . #s(pkg-info
(catalog "plot") "898a4c570ed38396d684f260efa240d66accead9" #t))
("plot-compat" . #s(pkg-info (catalog "plot-compat")
"01b129e6ee41080f090c02054d07c7856ae2c06c" #t)) ("plot-doc" .
#s(pkg-info (catalog "plot-doc")
"70b006d5da401955e00000fcf6a3aacc296cd687" #t)) ("plot-gui-lib" .
#s(pkg-info (catalog "plot-gui-lib")
"57d49ac10de7a4d2520fe8a3c625eb91e6af8359" #t)) ("plot-lib" .
#s(pkg-info (catalog "plot-lib")
"84fecbb718ed024176c79f271f30579f5d753339" #t)) ("preprocessor" .
#s((sc-pkg-info pkg-info 3) (catalog "preprocessor")
"38fc7981a096322c67e4f7d9afac6f1fe664529e" #t "preprocessor"))
("profile" . #s(pkg-info (catalog "profile")
"2183f9722eb2efbe2c8feb400b73602ad97fe221" #t)) ("profile-doc" .
#s(pkg-info (catalog "profile-doc")
"1d7c7dd2ad37e0d6c842cf30c7a01a631b18a39e" #t)) ("profile-lib" .
#s((sc-pkg-info pkg-info 3) (catalog "profile-lib")
"4eed8ba01f406d199604b3727c405c2bf368a617" #t "profile"))
("quickscript" . #s((sc-pkg-info pkg-info 3) (catalog "quickscript")
"0c531a78067442fb5ac2b404f92c92427cff8bec" #t "quickscript"))
("r5rs" . #s(pkg-info (catalog "r5rs")
"febae235a352df6df59a2e2c45b8658322793103" #t)) ("r5rs-doc" .
#s(pkg-info (catalog "r5rs-doc")
"3b842a310c928a0647b0c29cb3eabe215270f8e2" #t)) ("r5rs-lib" .
#s(pkg-info (catalog "r5rs-lib")
"9fcc4ebda67e44abd34e6c97a1448cd9a3947b77" #t)) ("r6rs" . #s(pkg-info
(catalog "r6rs") "2ba0a84b06e7ab0ab49308fb6b58c23b29e39662" #t))
("r6rs-doc" . #s(pkg-info (catalog "r6rs-doc")
"972c5762a28dd773190c7aa46f9b972ac7c4c44e" #t)) ("r6rs-lib" .
#s(pkg-info (catalog "r6rs-lib")
"0a80a45a9666924b02b7e41002b3122b0b0606e3" #t)) ("racket-cheat" .
#s((sc-pkg-info pkg-info 3) (catalog "racket-cheat")
"11ef1c76f6459d0039e13cdc04326f5c54c28714" #t "racket-cheat"))
("racket-doc" . #s(pkg-info (catalog "racket-doc")
"7c41f0b0ae91a7d77da4d4f15c2e5e2f6ab5c689" #t)) ("racket-index" .
#s(pkg-info (catalog "racket-index")
"ec294cafcf79f9a7034d02b4b3ff8c2e2a717622" #t)) ("racket-lib" .
#s(pkg-info (catalog "racket-lib")
"addde48592db0ba3db8686c37951f20c7112d368" #f)) ("racklog" .
#s((sc-pkg-info pkg-info 3) (catalog "racklog")
"a587b4aa82ff470e0646185cce033900e1bdafa8" #t "racklog"))
("rackunit" . #s(pkg-info (catalog "rackunit")
"4b9de5253bfc93a4ba11e527bed3314d48ab0fc8" #t)) ("rackunit-doc" .
#s(pkg-info (catalog "rackunit-doc")
"26d22124d6eab4c79b73d778deef7b9bc73c2dec" #t)) ("rackunit-gui" .
#s(pkg-info (catalog "rackunit-gui")
"4cb8bc7487ff6bd55f653708d51f29fb75b490e2" #t)) ("rackunit-lib" .
#s(pkg-info (catalog "rackunit-lib")
"0069571fffeb268232fab1db7e9c6e8ea124f1ac" #t)) ("rackunit-plugin-lib"
. #s(pkg-info (catalog "rackunit-plugin-lib")
"a663951f3c13e3a6c0228949d97c6b2eef4a5b6c" #t)) ("rackunit-typed" .
#s((sc-pkg-info pkg-info 3) (catalog "rackunit-typed")
"d3ea39520e71e1fdcdaee0a4218575592c44a41a" #t "typed"))
("readline" . #s(pkg-info (catalog "readline")
"4c7e66cd27cf4408832c87e3ee86df7a6eefa09d" #t)) ("readline-doc" .
#s(pkg-info (catalog "readline-doc")
"3bded5f74e621afb05b47f4fb05e455d8c2ee3f7" #t)) ("readline-lib" .
#s(pkg-info (catalog "readline-lib")
"a5182fa3edd32b9d63e6c355ccb372e0310a9d6d" #t)) ("realm" .
#s((sc-pkg-info pkg-info 3) (catalog "realm")
"f013fc3db6882ece583015d48f0ad8e1e971601d" #t "realm"))
("redex" . #s(pkg-info (catalog "redex")
"57c8ddc62fd86b0ede08e92a7e47d35527768e99" #t)) ("redex-benchmark" .
#s(pkg-info (catalog "redex-benchmark")
"2433d94442a5f32f16d152656b168d1e6218aaa7" #t)) ("redex-doc" .
#s(pkg-info (catalog "redex-doc")
"6cedd1cfdc891d7ac3b46fcfe7767a4681443515" #t)) ("redex-examples" .
#s(pkg-info (catalog "redex-examples")
"98a38101bd790fa6bd8ff16ce8e2fb65245cb87c" #t)) ("redex-gui-lib" .
#s(pkg-info (catalog "redex-gui-lib")
"80083d5cded16afb0d45a59cdd655ddd396b8685" #t)) ("redex-lib" .
#s(pkg-info (catalog "redex-lib")
"04c6bc3954bf30293e0b5cfe76294a799e2f1aae" #t)) ("redex-pict-lib" .
#s(pkg-info (catalog "redex-pict-lib")
"9b13a5976edd63728d8914fc20bffb5ad981302f" #t)) ("sandbox-lib" .
#s(pkg-info (catalog "sandbox-lib")
"5b6080ff4052f881c343f6ccc847f860acb501a9" #t)) ("sasl" .
#s((sc-pkg-info pkg-info 3) (catalog "sasl")
"8dc49968c1ef11c5dd77f56c5979453a36d2c750" #t "sasl"))
("sasl-doc" . #s((sc-pkg-info pkg-info 3) (catalog "sasl-doc")
"02b6cf131a97af9caa622a77592bb851f5d58fa3" #t "sasl"))
("sasl-lib" . #s((sc-pkg-info pkg-info 3) (catalog "sasl-lib")
"d4ecdad04e42658a69d70d2f7d5eadae7ed7d16e" #t "sasl"))
("scheme-lib" . #s(pkg-info (catalog "scheme-lib")
"22e71c59ac20b09cd156062ce0fb0afb86aaa851" #t)) ("schemeunit" .
#s((sc-pkg-info pkg-info 3) (catalog "schemeunit")
"03986b499744194a9e06a66dfe988bed9fb8cc40" #t "schemeunit"))
("scribble" . #s(pkg-info (catalog "scribble")
"862cac10d6934b0dca35b4ebace9ffa0faa3a381" #t)) ("scribble-doc" .
#s(pkg-info (catalog "scribble-doc")
"fc38088b2924e7d902ceafc94243fd3ca2a52b45" #t)) ("scribble-html-lib" .
#s(pkg-info (catalog "scribble-html-lib")
"13105ce2064fa963c535187a657792e1ec95d284" #t)) ("scribble-lib" .
#s(pkg-info (catalog "scribble-lib")
"9be1c71d1c0f3f0d41031416689f012a16ba535a" #t)) ("scribble-text-lib" .
#s(pkg-info (catalog "scribble-text-lib")
"1d816dcc95b5f6d77ff6633b82a6dd40f7effe4e" #t))
("serialize-cstruct-lib" . #s(pkg-info (catalog
"serialize-cstruct-lib") "caeab596cb494273bcb84b917205a66bd06d0528"
#t)) ("sgl" . #s((sc-pkg-info pkg-info 3) (catalog "sgl")
"a2feb4952e01c7e02af068978ade81d0a213e035" #t "sgl"))
("shell-completion" . #s((sc-pkg-info pkg-info 3) (catalog
"shell-completion") "900d6f81d7f78d17ac1789436c36a3314f09fcec" #t
"shell-completion")) ("slatex" . #s((sc-pkg-info pkg-info 3) (catalog
"slatex") "7a36270767b37d0336b4d72c7ca89140f395f9af" #t
"slatex")) ("slideshow" . #s(pkg-info (catalog "slideshow")
"62d9fa5b5fc8f1b82fb7acae427e474488fb1c2a" #t)) ("slideshow-doc" .
#s(pkg-info (catalog "slideshow-doc")
"d023178269517583e08ea3afc13bd8e867e86eaa" #t)) ("slideshow-exe" .
#s(pkg-info (catalog "slideshow-exe")
"4764478f8f62ba0a9d66ef064945af605cac48cc" #t)) ("slideshow-lib" .
#s(pkg-info (catalog "slideshow-lib")
"b7d301d8496d23dd950606d50a2c9565067f77f5" #t)) ("slideshow-plugin" .
#s(pkg-info (catalog "slideshow-plugin")
"50fe3549998180cf9391d355fce67c1b95fee846" #t)) ("snip" . #s(pkg-info
(catalog "snip") "f6401933decce0674344953461fc80be6b600748" #t))
("snip-lib" . #s(pkg-info (catalog "snip-lib")
"8cf6a919d5d9021f782423b3712a0e73cf93842a" #t)) ("source-syntax" .
#s((sc-pkg-info pkg-info 3) (catalog "source-syntax")
"b6dde72b228b3e8e7da35fbc25cce395c8dce9cb" #t "syntax"))
("srfi" . #s(pkg-info (catalog "srfi")
"810795b1c70213bba3e3f02c29c0ec0be774d551" #t)) ("srfi-doc" .
#s(pkg-info (catalog "srfi-doc")
"9bcb860c00d8023421c3ab3e2785ab8ee92b8f9d" #t)) ("srfi-lib" .
#s(pkg-info (catalog "srfi-lib")
"8dd9d951c94054ec60a4e1d59fa2c1a462e8fff6" #t)) ("srfi-lite-lib" .
#s(pkg-info (catalog "srfi-lite-lib")
"2a40a8ecf4a2368b6c84d8f0bdd1c72df4f3cc7f" #t)) ("string-constants" .
#s(pkg-info (catalog "string-constants")
"602234aee270ea040b993f8146548aa0c835ee41" #t))
("string-constants-doc" . #s(pkg-info (catalog "string-constants-doc")
"627c9a564c187d9dbd2a1c6de302e38ed8cd105e" #t))
("string-constants-lib" . #s(pkg-info (catalog "string-constants-lib")
"85764e7ecf8df819142221a84380340c23607e18" #t)) ("swindle" .
#s((sc-pkg-info pkg-info 3) (catalog "swindle")
"56793a3d43336a0dfc1fb6d4933a6a7d0a6f18a6" #t "swindle"))
("syntax-color" . #s(pkg-info (catalog "syntax-color")
"0ab7c010c146aacbc26f81d73050e5dcb1ec44a4" #t)) ("syntax-color-doc" .
#s(pkg-info (catalog "syntax-color-doc")
"ebc23963c2f235893a2ae998311c439ca5f2de5e" #t)) ("syntax-color-lib" .
#s(pkg-info (catalog "syntax-color-lib")
"c496941837238109ebf69e6a2a3740136baf077e" #t)) ("testing-util-lib" .
#s(pkg-info (catalog "testing-util-lib")
"6ad76708f90cc3938a72d556458f92cde3e30578" #t)) ("tex-table" .
#s((sc-pkg-info pkg-info 3) (catalog "tex-table")
"c6127491120f723f26dbba30d217e4f2aeb12084" #t "mrlib"))
("trace" . #s((sc-pkg-info pkg-info 3) (catalog "trace")
"953c7b5e344cfc8859006ffbfce4fdf360647d81" #t "trace"))
("typed-racket" . #s(pkg-info (catalog "typed-racket")
"7896fb7492e6230f58d73d202ce9e6f77e3f98b7" #t))
("typed-racket-compatibility" . #s(pkg-info (catalog
"typed-racket-compatibility")
"1bf2425d25d54c653d693290f41e9587847357a6" #t)) ("typed-racket-doc" .
#s(pkg-info (catalog "typed-racket-doc")
"d338099f40c47dbfb62f699206e99cfdfa7e32d6" #t)) ("typed-racket-lib" .
#s(pkg-info (catalog "typed-racket-lib")
"3eff82ebcceeab467c35cf19044013c83a47bd32" #t)) ("typed-racket-more" .
#s(pkg-info (catalog "typed-racket-more")
"600a695a0f59fe2740cf9e2080a13e25310a5114" #t)) ("unix-socket" .
#s(pkg-info (catalog "unix-socket")
"c015b6081883e19b3f1d2343bddca9895499832c" #t)) ("unix-socket-doc" .
#s(pkg-info (catalog "unix-socket-doc")
"b5d7f058cd0984aef1d8214968e79c202b972636" #t)) ("unix-socket-lib" .
#s(pkg-info (catalog "unix-socket-lib")
"e8d16e6cf98e03dc141ce410e7fddb83eb420e54" #t)) ("web-server" .
#s(pkg-info (catalog "web-server")
"9e01035046e279382ab2c1aa5c3f68d7533afd64" #t)) ("web-server-doc" .
#s(pkg-info (catalog "web-server-doc")
"afb48732580aaf70f2d13dc0f3115f25672a0fb6" #t)) ("web-server-lib" .
#s(pkg-info (catalog "web-server-lib")
"1fb4a0c9718b0e835d730f92289f9855018dfee3" #t)) ("wxme" . #s(pkg-info
(catalog "wxme") "a56f70bd66b595d03baa8fb60046c3826b3abaaa" #t))
("wxme-lib" . #s(pkg-info (catalog "wxme-lib")
"75d7ad58da6d6fe5e3b5d81fe3f1e73b37460ae5" #t)) ("xrepl" . #s(pkg-info
(catalog "xrepl") "c577bf792fde613ada8dc08f3b76b9daf3fc6814" #t))
("xrepl-doc" . #s(pkg-info (catalog "xrepl-doc")
"1724207363217dc4e931ac92e017c594a7a2a44b" #t)) ("xrepl-lib" .
#s(pkg-info (catalog "xrepl-lib")
"829e38b7ffcd0508842871b5aa354a531ddee4fa" #t)) ("zo-lib" .
#s(pkg-info (catalog "zo-lib")
"0f00c96ccaf933002e5c1e9f6b9e8856cbcd04eb" #t)))
-diff -urN racket-7.4-orig/share/pkgs/srfi/info.rkt
racket-7.4-remove-nonfree/share/pkgs/srfi/info.rkt
---- racket-7.4-orig/share/pkgs/srfi/info.rkt 2019-08-03 23:24:08.000000000 -0400
-+++ racket-7.4-remove-nonfree/share/pkgs/srfi/info.rkt 2019-08-28 09:26:35.582382386
-0400
-@@ -1 +1 @@
--(module info setup/infotab (#%module-begin (define package-content-state (quote (built
"7.4"))) (define collection (quote multi)) (define deps (quote
("srfi-lib" "srfi-doc" "srfi-doc-nonfree"))) (define implies
(quote ("srfi-lib" "srfi-doc" "srfi-doc-nonfree"))) (define
pkg-desc "Legacy SRFI (Scheme) libraries") (define pkg-authors (quote (mflatt
noel chongkai jay)))))
-+(module info setup/infotab (#%module-begin (define package-content-state (quote (built
"7.4"))) (define collection (quote multi)) (define deps (quote
("srfi-lib" "srfi-doc"))) (define implies (quote ("srfi-lib"
"srfi-doc"))) (define pkg-desc "Legacy SRFI (Scheme) libraries")
(define pkg-authors (quote (mflatt noel chongkai jay)))))
-diff -urN racket-7.4-orig/share/pkgs/srfi-doc-nonfree/info.rkt
racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/info.rkt
---- racket-7.4-orig/share/pkgs/srfi-doc-nonfree/info.rkt 2019-08-03 23:24:10.000000000
-0400
-+++ racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/info.rkt 1969-12-31
19:00:00.000000000 -0500
-@@ -1 +0,0 @@
--(module info setup/infotab (#%module-begin (define package-content-state (quote (built
"7.4"))) (define collection (quote multi)) (define build-deps (quote
("mzscheme-doc" "scheme-lib" "base" "scribble-lib"
"srfi-doc" "racket-doc" "r5rs-doc" "r6rs-doc"
"compatibility-lib"))) (define pkg-desc "non-free documentation for
\"srfi-lib\"") (define pkg-authors (quote (mflatt noel chongkai jay)))))
-diff -urN racket-7.4-orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/info.rkt
racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/srfi/scribblings/info.rkt
---- racket-7.4-orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/info.rkt 2019-08-03
21:32:26.000000000 -0400
-+++
racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/srfi/scribblings/info.rkt 1969-12-31
19:00:00.000000000 -0500
-@@ -1,3 +0,0 @@
--#lang info
--
--(define scribblings '(("srfi-nf.scrbl" (multi-page) (library 100))))
-diff -urN racket-7.4-orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-nf.scrbl
racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-nf.scrbl
---- racket-7.4-orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-nf.scrbl 2019-08-03
21:32:26.000000000 -0400
-+++
racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-nf.scrbl 1969-12-31
19:00:00.000000000 -0500
-@@ -1,68 +0,0 @@
--#lang scribble/doc
--@(require srfi/scribblings/util
-- scribble/manual
-- scribble/eval
-- scriblib/render-cond
-- scribble/core
-- scribble/html-properties
-- (for-syntax scheme/base)
-- (for-label scheme/base
-- racket/stream))
--
--@; ----------------------------------------------------------------------
--
--@title{SRFI Nonfree Libraries and Documentation}
--
--The @link[#:style srfi-std "http://srfi.schemers.org/"]{Scheme Requests for
--Implementation} (a.k.a. @deftech{SRFI}) process allows individual
--members of the Scheme community to propose libraries and extensions to
--be supported by multiple Scheme implementations.
--
--Racket is distributed with implementations of many SRFIs, most of
--which can be implemented as libraries. To import the bindings of SRFI
--@math{n}, use
--
--@racketblock[
--(require @#,elem{@racketidfont{srfi/}@math{n}})
--]
--
--This document lists the SRFIs that are supported by Racket and
--provides a link to the original SRFI specification (which is also
--distributed as part of Racket's documentation).
--
--The following SRFI specification documents are licensed restrictively.
--
--@table-of-contents[]
--
--
--@; ----------------------------------------
--
--@srfi[5]{A compatible let form with signatures and rest arguments}
--
--@redirect[5 '(
-- (let #t "unnamed")
--)]
--
--Racket provides a free implementation of this SRFI in the @racket[srfi-lib] package.
--Only the SRFI specification document is nonfree.
--
--@; ----------------------------------------
--
--@srfi[29]{Localization}
--
--@redirect[29 '(
-- (current-language #f "current-language")
-- (current-country #f "current-country")
-- (current-locale-details #f "current-locale-details")
-- (declare-bundle! #f "declare-bundle!")
-- (store-bundle #f "store-bundle")
-- (load-bundle! #f "load-bundle!")
-- (localized-template #f "localized-template")
--)]
--
--Racket provides a free implementation of this SRFI in the @racket[srfi-lib] package.
--Only the SRFI specification document is nonfree.
--
--@; ----------------------------------------
--
--@index-section[]
-diff -urN
racket-7.4-orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-29.html
racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-29.html
----
racket-7.4-orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-29.html 2019-08-03
21:32:26.000000000 -0400
-+++
racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-29.html 1969-12-31
19:00:00.000000000 -0500
-@@ -1,507 +0,0 @@
--<!DOCTYPE html PUBLIC "-//IETF//DTD HTML//EN">
--<html>
-- <head>
-- <meta name="generator" content="HTML Tidy, see
www.w3.org">
-- <title>SRFI 29: Localization</title>
-- <meta name="author" content="Scott G. Miller">
-- <meta name="description" content="Localization">
-- </head>
-- <body>
-- <H1>Title</H1>
--
-- SRFI 29: Localization
--
-- <H1>Author</H1>
--
-- Scott G. Miller
--
-- <H1>Abstract</H1>
--
-- This document specifies an interface to retrieving and
-- displaying locale sensitive messages. A Scheme program can
-- register one or more translations of templated messages, and
-- then write Scheme code that can transparently retrieve the
-- appropriate message for the locale under which the Scheme
-- system is running. <br>
--
--
-- <H1>Rationale</H1>
--
-- <p>As any programmer that has ever had to deal with making his
-- or her code readable in more than one locale, the process of
-- sufficiently abstracting program messages from their
-- presentation to the user is non-trivial without help from the
-- programming language. Most modern programming language
-- libraries do provide some mechanism for performing this
-- separation.</p>
--
-- <p>A portable API that allows a piece of code to run without
-- modification in different countries and under different
-- languages is a must for any non-trivial software project.
-- The interface should separate the logic of a program from
-- the myriad of translations that may be necessary.</p>
--
-- <p>The interface described in this document provides such
-- functionality. The underlying implementation is also allowed to
-- use whatever datastructures it likes to provide access to the
-- translations in the most efficient manner possible. In
-- addition, the implementation is provided with standardized
-- functions that programs will use for accessing an external,
-- unspecified repository of translations.</p>
--
-- <p>This interface <i>does not</i> cover all aspects of
-- localization, including support for non-latin characters,
-- number and date formatting, etc. Such functionality is the
-- scope of a future SRFI that may extend this one.</p>
--
-- <H1>Dependencies</H1>
--
-- An SRFI-29 conformant implementation must also implement
-- SRFI-28, Basic Format Strings. Message templates are strings
-- that must be processed by the <tt>format</tt> function
-- specified in that SRFI.
--
-- <H1>Specification</H1>
--
-- <h3>Message Bundles</h3>
--
-- <p>A Message Bundle is a set of message templates and their
-- identifying keys. Each bundle contains one or more such
-- key/value pairs. The bundle itself is associated with a
-- <i>bundle specifier</i> which uniquely identifies the
-- bundle.</p>
--
-- <h3>Bundle Specifiers</h3>
--
-- <p>A Bundle Specifier is a Scheme list that describes, in order
-- of importance, the package and locale of a message bundle.
-- In most cases, a locale specifier will have between one
-- and three elements. The first element is a symbol denoting the
-- package for which this bundle applies. The second and third
-- elements denote a <i>locale</i>. The second element (first
-- element of the locale) if present, is the two letter, ISO 639-1
-- language code for the bundle. The third element, if present, is
-- a two letter ISO 3166-1 country code. In some cases, a
-- fourth element may be present, specifying the encoding used for
-- the bundle. All bundle specifier elements are Scheme
-- symbols.</p>
--
-- <p>If only one translation is provided, it should be designated
-- only by a package name, for example <tt>(mathlib)</tt>. This
-- translation is called the <i>default</i> translation.</p>
--
-- <h3>Bundle Searching</h3>
--
-- <p>When a message template is retrieved from a bundle, the
-- Scheme implementation will provide the locale under which the
-- system is currently running. When the template is retrieved,
-- the package name will be specified. The Scheme system should
-- construct a Bundle Specifier from the provided package name and
-- the active locale. For example, when retrieving a message
-- template for French Canadian, in the <tt>mathlib</tt> package,
-- the bundle specifier '<tt>(mathlib fr ca)</tt>' is used. A
-- program may also retrieve the elements of the current locale
-- using the no-argument procedures:</p>
--
-- <p><b><a
name="current-language"></a><tt>current-language</tt></b>
<tt>->
-- <i>symbol</i></tt><br>
-- <tt><b>current-language</b> <i>symbol</i> ->
-- undefined</tt><br>
-- </p>
--
-- <blockquote>
-- When given no arguments, returns the current ISO 639-1
-- language code as a symbol. If provided with an
-- argument, the current language is set to that named by the
-- symbol for the currently executing Scheme thread (or for the
-- entire Scheme system if such a distinction is not possible).
--
-- </blockquote>
--
-- <p><b><a
name="current-country"></a><tt>current-country</tt></b>
<tt>->
-- <i>symbol</i></tt><br>
-- <tt><b>current-country</b> <i>symbol</i> ->
-- undefined</tt><br>
-- </p>
--
-- <blockquote>
-- returns the current ISO 3166-1 country code as a symbol.
-- If provided with an argument, the current country is
-- set to that named by the symbol for the currently executing
-- Scheme thread (or for the entire Scheme system if such a
-- distinction is not possible).
-- </blockquote>
--
-- <p><b><a
name="current-locale-details"></a><tt>current-locale-details</tt></b>
<tt>-> <i>list of
-- symbol</i></tt>s<br>
-- <tt><b>current-locale-details</b>
<i>list-of-symbols</i> ->
-- undefined</tt><br>
-- </p>
--
-- <blockquote>
-- Returns a list of additional locale details as a list of
-- symbols. This list may contain information about
-- encodings or other more specific information. If
-- provided with an argument, the current locale details are set
-- to those given in the currently executing Scheme thread (or
-- for the entire Scheme system if such a distinction is not
-- possible).
-- </blockquote>
--
-- <p>The Scheme System should first check for a bundle with the
-- exact name provided. If no such bundle is found, the last
-- element from the list is removed and a search is tried for a
-- bundle with that name. If no bundle is then found, the list is
-- shortened by removing the last element again. If no message is
-- found and the bundle specifier is now the empty list, an error
-- should be raised.</p>
--
-- <p>The reason for this search order is to provide the most
-- locale sensitive template possible, but to fall back on more
-- general templates if a translation has not yet been provided
-- for the given locale.</p>
--
-- <h3>Message Templates</h3>
--
-- <p>A message template is a localized message that may or may
-- not contain one of a number of formatting codes. A message
-- template is a Scheme string. The string is of a form that can
-- be processed by the <tt>format</tt> procedure found in many
-- Scheme systems and formally specified in SRFI-28 (Basic Format
-- Strings).</p>
--
-- <p>This SRFI also extends SRFI-28 to provide an additional
-- <tt>format</tt> escape code:</p>
--
-- <blockquote>
-- <tt>~[n]@*</tt> - Causes a value-requiring escape code that
-- follows this code immediately to reference the [N]'th
-- optional value absolutely, rather than the next unconsumed
-- value. The referenced value is <i>not</i> consumed.
-- </blockquote>
-- This extension allows optional values to be positionally
-- referenced, so that message templates can be constructed that
-- can produce the proper word ordering for a language.
--
-- <h3>Preparing Bundles</h3>
-- Before a bundle may be used by the Scheme system to retrieve
-- localized template messages, they must be made available to the
-- Scheme system. This SRFI specifies a way to portably
-- define the bundles, as well as store them in and retrieve them
-- from an unspecified system which may be provided by resources
-- outside the Scheme system.<br>
--
--
-- <p><b><a
name="declare-bundle!"></a><tt>declare-bundle!</tt></b>
<tt><i>bundle-specifier
-- association-list</i> -> undefined<br>
-- </tt></p>
--
-- <blockquote>
-- Declares a new bundle named by the given bundle-specifier.
-- The contents of the bundle are defined by the provided
-- association list. The list contains associations
-- between Scheme symbols and the message templates (Scheme
-- strings) they name. If a bundle already exists with the
-- given name, it is overwritten with the newly declared
-- bundle.<br>
-- </blockquote>
-- <tt><a
name="store-bundle"></a><b>store-bundle</b>
<i>bundle-specifier</i> ->
-- boolean</tt><br>
--
--
-- <blockquote>
-- Attempts to store a bundle named by the given bundle
-- specifier, and previously made available using
-- <tt>declare-bundle!</tt> or <tt>load-bundle!</tt>, in an
-- unspecified mechanism that may be persistent across Scheme
-- system restarts. If successful, a non-false value is
-- returned. If unsuccessful, <tt>#f</tt> is
returned.<br>
-- </blockquote>
-- <tt><a
name="load-bundle!"></a><b>load-bundle!</b>
<i>bundle-specifier</i> ->
-- boolean</tt><br>
--
--
-- <blockquote>
-- Attempts to retrieve a bundle from an unspecified mechanism
-- which stores bundles outside the Scheme system. If the
-- bundle was retrieved successfully, the function returns a
-- non-false value, and the bundle is immediately available to
-- the Scheme system. If the bundle could not be found or loaded
-- successfully, the function returns <tt>#f</tt>, and the
-- Scheme system's bundle registry remains unaffected.<br>
-- </blockquote>
-- A compliant Scheme system may choose not to provide any
-- external mechanism to store localized bundles. If it does
-- not, it must still provide implementations for
-- <tt>store-bundle</tt> and <tt>load-bundle!</tt>. In such a
-- case, both functions must return <tt>#f</tt> regardless of the
-- arguments given. Users of this SRFI should recognize that the
-- inability to load or store a localized bundle in an external
-- repository is <i>not</i> a fatal error.<br>
--
--
-- <h3>Retrieving Localized Message Templates</h3>
--
-- <p><a
name="localized-template"></a><b><tt>localized-template</tt></b>
<i><tt>package-name
-- message-template-name</tt></i> <tt>-> <i>string or
#f<br>
-- </i></tt></p>
--
-- <blockquote>
-- Retrieves a localized message template for the given package
-- name and the given message template name (both symbols).
-- If no such message could be found, false (#f) is
-- returned.<br>
-- <br>
-- </blockquote>
-- After retrieving a template, the calling program can use
-- <tt>format</tt> to produce a string that can be displayed to
-- the user.<br>
--
--
-- <h2>Examples</h2>
-- The below example makes use of SRFI-29 to display simple,
-- localized messages. It also defines its bundles in such a
-- way that the Scheme system may store and retrieve the bundles
-- from a more efficient system catalog, if available.<br>
--
--<pre>
--(let ((translations
-- '(((en) . ((time . "Its ~a, ~a.")
-- (goodbye . "Goodbye, ~a.")))
-- ((fr) . ((time . "~1@*~a, c'est ~a.")
-- (goodbye . "Au revoir, ~a."))))))
-- (for-each (lambda (translation)
-- (let ((bundle-name (cons 'hello-program (car translation))))
-- (if (not (load-bundle! bundle-name))
-- (begin
-- (declare-bundle! bundle-name (cdr translation))
-- (store-bundle! bundle-name)))))
-- translations))
--
--(define localized-message
-- (lambda (message-name . args)
-- (apply format (cons (localized-template 'hello-program
-- message-name)
-- args))))
--
--(let ((myname "Fred"))
-- (display (localized-message 'time "12:00" myname))
-- (display #\newline)
--
-- (display (localized-message 'goodbye myname))
-- (display #\newline))
--
--;; Displays (English):
--;; Its 12:00, Fred.
--;; Goodbye, Fred.
--;;
--;; French:
--;; Fred, c'est 12:00.
--;; Au revoir, Fred.
--</pre>
--
-- <H1>Implementation</H1>
--
-- <p>The implementation requires that the Scheme system provide a
-- definition for <tt>current-language</tt> and
-- <tt>current-country</tt> capable of distinguishing the correct
-- locale present during a Scheme session. The definitions of
-- those functions in the reference implementation are not capable
-- of that distinction. Their implementation is provided only so
-- that the following code can run in any R4RS scheme system.
-- <br>
-- </p>
--
-- <p>In addition, the below implementation of a compliant
-- <tt>format</tt> requires SRFI-6 (Basic String Ports) and
-- SRFI-23 (Error reporting)</p>
--<pre>
--;; The association list in which bundles will be stored
--(define *localization-bundles* '())
--
--;; The current-language and current-country functions provided
--;; here must be rewritten for each Scheme system to default to the
--;; actual locale of the session
--(define current-language
-- (let ((current-language-value 'en))
-- (lambda args
-- (if (null? args)
-- current-language-value
-- (set! current-language-value (car args))))))
--
--(define current-country
-- (let ((current-country-value 'us))
-- (lambda args
-- (if (null? args)
-- current-country-value
-- (set! current-country-value (car args))))))
--
--;; The load-bundle! and store-bundle! both return #f in this
--;; reference implementation. A compliant implementation need
--;; not rewrite these procedures.
--(define load-bundle!
-- (lambda (bundle-specifier)
-- #f))
--
--(define store-bundle!
-- (lambda (bundle-specifier)
-- #f))
--
--;; Declare a bundle of templates with a given bundle specifier
--(define declare-bundle!
-- (letrec ((remove-old-bundle
-- (lambda (specifier bundle)
-- (cond ((null? bundle) '())
-- ((equal? (caar bundle) specifier)
-- (cdr bundle))
-- (else (cons (car bundle)
-- (remove-old-bundle specifier
-- (cdr bundle))))))))
-- (lambda (bundle-specifier bundle-assoc-list)
-- (set! *localization-bundles*
-- (cons (cons bundle-specifier bundle-assoc-list)
-- (remove-old-bundle bundle-specifier
-- *localization-bundles*))))))
--
--;;Retrieve a localized template given its package name and a template name
--(define localized-template
-- (letrec ((rdc
-- (lambda (ls)
-- (if (null? (cdr ls))
-- '()
-- (cons (car ls) (rdc (cdr ls))))))
-- (find-bundle
-- (lambda (specifier template-name)
-- (cond ((assoc specifier *localization-bundles*) =>
-- (lambda (bundle) bundle))
-- ((null? specifier) #f)
-- (else (find-bundle (rdc specifier)
-- template-name))))))
-- (lambda (package-name template-name)
-- (let loop ((specifier (cons package-name
-- (list (current-language)
-- (current-country)))))
-- (and (not (null? specifier))
-- (let ((bundle (find-bundle specifier template-name)))
-- (and bundle
-- (cond ((assq template-name bundle) => cdr)
-- ((null? (cdr specifier)) #f)
-- (else (loop (rdc specifier)))))))))))
--
--;;An SRFI-28 and SRFI-29 compliant version of format. It requires
--;;SRFI-23 for error reporting.
--(define format
-- (lambda (format-string . objects)
-- (let ((buffer (open-output-string)))
-- (let loop ((format-list (string->list format-string))
-- (objects objects)
-- (object-override #f))
-- (cond ((null? format-list) (get-output-string buffer))
-- ((char=? (car format-list) #\~)
-- (cond ((null? (cdr format-list))
-- (error 'format "Incomplete escape sequence"))
-- ((char-numeric? (cadr format-list))
-- (let posloop ((fl (cddr format-list))
-- (pos (string->number
-- (string (cadr format-list)))))
-- (cond ((null? fl)
-- (error 'format "Incomplete escape
sequence"))
-- ((and (eq? (car fl) '#\@)
-- (null? (cdr fl)))
-- (error 'format "Incomplete escape
sequence"))
-- ((and (eq? (car fl) '#\@)
-- (eq? (cadr fl) '#\*))
-- (loop (cddr fl) objects (list-ref objects pos)))
-- (else
-- (posloop (cdr fl)
-- (+ (* 10 pos)
-- (string->number
-- (string (car fl)))))))))
-- (else
-- (case (cadr format-list)
-- ((#\a)
-- (cond (object-override
-- (begin
-- (display object-override buffer)
-- (loop (cddr format-list) objects #f)))
-- ((null? objects)
-- (error 'format "No value for escape
sequence"))
-- (else
-- (begin
-- (display (car objects) buffer)
-- (loop (cddr format-list)
-- (cdr objects) #f)))))
-- ((#\s)
-- (cond (object-override
-- (begin
-- (display object-override buffer)
-- (loop (cddr format-list) objects #f)))
-- ((null? objects)
-- (error 'format "No value for escape
sequence"))
-- (else
-- (begin
-- (write (car objects) buffer)
-- (loop (cddr format-list)
-- (cdr objects) #f)))))
-- ((#\%)
-- (if object-override
-- (error 'format "Escape sequence following
positional override does not require a value"))
-- (display #\newline buffer)
-- (loop (cddr format-list) objects #f))
-- ((#\~)
-- (if object-override
-- (error 'format "Escape sequence following
positional override does not require a value"))
-- (display #\~ buffer)
-- (loop (cddr format-list) objects #f))
-- (else
-- (error 'format "Unrecognized escape
sequence"))))))
-- (else (display (car format-list) buffer)
-- (loop (cdr format-list) objects #f)))))))
--
--</pre>
--
-- <H1>Copyright</H1>
--
-- Copyright (C) Scott G. Miller (2002). All Rights Reserved.
--
-- <p>This document and translations of it may be copied and
-- furnished to others, and derivative works that comment on or
-- otherwise explain it or assist in its implementation may be
-- prepared, copied, published and distributed, in whole or in
-- part, without restriction of any kind, provided that the above
-- copyright notice and this paragraph are included on all such
-- copies and derivative works. However, this document itself may
-- not be modified in any way, such as by removing the copyright
-- notice or references to the Scheme Request For Implementation
-- process or editors, except as needed for the purpose of
-- developing SRFIs in which case the procedures for copyrights
-- defined in the SRFI process must be followed, or as required to
-- translate it into languages other than English.</p>
--
-- <p>The limited permissions granted above are perpetual and will
-- not be revoked by the authors or their successors or
-- assigns.</p>
--
-- <p>This document and the information contained herein is
-- provided on an "AS IS" basis and THE AUTHOR AND THE SRFI
-- EDITORS DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
-- BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
-- HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES
-- OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.</p>
-- <hr>
--
-- <address>
-- Editor: <a href="mailto:srfi-editors@srfi.schemers.org">David
-- Rush</a>
-- </address>
--
-- <address>
-- Author: <a href="mailto:scgmille@freenetproject.org">Scott G.
-- Miller</a>
-- </address>
-- <!-- Created: Tue Sep 29 19:20:08 EDT 1998 -->
-- <!-- hhmts start -->Last modified: Mon Jun 17 12:00:08 Pacific
-- Daylight Time 2002 <!-- hhmts end --> <br>
-- </body>
--</html>
--
-diff -urN
racket-7.4-orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-5.html
racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-5.html
----
racket-7.4-orig/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-5.html 2019-08-03
21:32:26.000000000 -0400
-+++
racket-7.4-remove-nonfree/share/pkgs/srfi-doc-nonfree/srfi/scribblings/srfi-std/srfi-5.html 1969-12-31
19:00:00.000000000 -0500
-@@ -1,345 +0,0 @@
--<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.2//EN">
--<html>
--<head>
-- <title>SRFI 5: A compatible let form with signatures and rest
arguments</title>
--</head>
--<body>
--
--<H1>Title</H1>
--
--SRFI-5: A compatible <code>let</code> form with signatures and rest
arguments
--
--<H1>Author</H1>
--
--Andy Gaynor
--
--<H1>Status</H1>
--
--This SRFI is currently in ``final'' status. To see an explanation of each
status that a SRFI can hold, see <A
HREF="http://srfi.schemers.org/srfi-process.html">here</A>.
--You can access the discussion on this SRFI via <A
HREF="http://srfi.schemers.org/srfi-5/mail-archive/maillist.html&quo... archive
of the mailing list</A>.
--<P><UL>
--<LI>Received: 1999/2/2
--<LI>Draft: 1999/2/10-1999/04/12
--<LI>Final: 1999/4/26
--<LI>Revised reference implementation: 2003/01/27
--</UL>
--
--<H1>Abstract</H1>
--
--The <i>named-let</i> incarnation of the <code>let</code> form
has two slight
--inconsistencies with the <code>define</code> form. As defined, the
<code>let</code>
--form makes no accommodation for rest arguments, an issue of functionality
--and consistency. As defined, the <code>let</code> form does not
accommodate
--signature-style syntax, an issue of aesthetics and consistency. Both
--issues are addressed here in a manner which is compatible with the traditional
--<code>let</code> form but for minor extensions.
--
--<H1>Rationale</H1>
--
--<H2>Signature-style Syntax</H2>
--
--Consider the following two equivalent definitions:
--
--<p><pre>
--(define fibonacci
-- (lambda (n i f0 f1)
-- (if (= i n)
-- f0
-- (fibonacci n (+ i 1) f1 (+ f0 f1)))))
--
--(define (fibonacci n i f0 f1)
-- (if (= i n)
-- f0
-- (fibonacci n (+ i 1) f1 (+ f0 f1))))
--</pre>
--
--Although there is a named-let analog for the former form, there is none
--for the latter. To wit, suppose one wished to compute the 10th element
--of the Fibonacci sequence using a named let:
--
--<p>
--<pre>
--(let fibonacci ((n 10) (i 0) (f0 0) (f1 1))
-- (if (= i n)
-- f0
-- (fibonacci n (+ i 1) f1 (+ f0 f1))))
--Values: 55
--</pre>
--
--As it stands, one cannot equivalently write
--
--<p>
--<pre>
--(let (fibonacci (n 10) (i 0) (f0 0) (f1 1))
-- (if (= i n)
-- f0
-- (fibonacci n (+ i 1) f1 (+ f0 f1))))
--</pre>
--
--which is consistent with <code>define</code>'s signature-style form.
--<p>Those that favor the signature style may prefer this extension.
--In any case, it may be more appropriate to include all bound names within
--the binding section. As presented, this straightforward extension
--introduces no ambiguity or incompatibility with the existing definition
--of let.
--
--<H2>Rest Arguments</H2>
--
--As it stands, one cannot write a named let with rest arguments, as in
--
--<p>
--<pre>
--(let (blast (port (current-output-port)) . (x (+ 1 2) 4 5))
-- (if (null? x)
-- 'just-a-silly-contrived-example
-- (begin
-- (write (car x) port)
-- (apply blast port (cdr x)))))
--</pre>
--
--otherwise equivalent to
--
--<p>
--<pre>
--(letrec ((blast (lambda (port . x)
-- (if (null? x)
-- 'just-a-silly-contrived-example
-- (begin
-- (write (car x) port)
-- (apply blast port (cdr x)))))))
-- (blast (current-output-port) (+ 1 2) 4 5))
--</pre>
--
--While this example is rather contrived, the functionality is not.
--There are several times when the author has used this construct in practice.
--Regardless, there is little reason to deny the <code>let</code> form access
to
--all the features of lambda functionality.
--
--<H2>Symbols in Binding Sections</H2>
--
--Both the features above rely upon the placement of symbols in
<code>let</code>
--binding lists (this statement is intentially simplistic). The only
--other apparent use of such symbol placement is to tersely bind variables
--to unspecified values. For example, one might desire to use
--<code>(let (foo bar baz) ...)</code>
--to bind <code>foo</code>, <code>bar</code>, and
<code>baz</code> to
--unspecified values.
--
--<p>This usage is considered less important in light of the rationales
--presented above, and an alternate syntax is immediately apparent, as
--in <code>(let ((foo) (bar) (baz)) ...)</code> This may even
--be preferable, consistently parenthesizing normal binding clauses.
--
--<H1>Specification</H1>
--
--<H2>Syntax</H2>
--
--<p>
--A formal specification of the syntax follows. Below, body, expression,
--and identifier are free. Each instantiation of binding-name must be
--unique.
--</p>
--
--<p>
--<pre>
-- let = "(" "let" let-bindings body ")"
-- expressions = nothing | expression expressions
-- let-bindings = let-name bindings
-- | "(" let-name "." bindings ")"
-- let-name = identifier
-- bindings = "(" ")"
-- | rest-binding
-- | "(" normal-bindings ["." rest-binding]
")"
--normal-bindings = nothing
-- | normal-binding normal-bindings
-- normal-binding = "(" binding-name expression ")"
-- binding-name = identifier
-- rest-binding = "(" binding-name expressions ")"
--</pre>
--
--<p>
--For clarity and convenience, an informal specification follows.
--</p>
--
--<ol>
--<li><a name="unnamed">Unnamed</a>
--
--<p><pre>
--(let ((<parameter> <argument>)...)
-- <body>...)
--</pre>
--</li>
--
--<li><a name="named-non-sig">
--Named, non-signature-style, no rest argument</a>
--
--<p><pre>
--(let <name> ((<parameter> <argument>)...)
-- <body>...)
--</pre>
--</li>
--
--<li><a name="named-sig">Named, signature-style, no rest
argument</a>
--
--<p><pre>
--(let (<name> (<parameter> <argument>)...)
-- <body>...)
--</pre>
--</li>
--
--<li><a name="named-non-sig-rest">Named, non-signature-style, rest
argument</a>
--
--<p><pre>
--(let <name> ((<parameter> <argument>)...
--
--. (<rest-parameter> <rest-argument>...))
-- <body>...)
--</pre>
--
--<li><a name="named-sig-rest">Named, signature-style, rest
argument</a>
--
--<p><pre>
--(let (<name> (<parameter> <argument>)...
--
--. (<rest-parameter> <rest-argument>...))
-- <body>...)
--</pre>
--</li>
--</ol>
--
--<H2>Semantics</H2>
--
--Let <code>$lambda</code> and <code>$letrec</code> be hygienic
bindings for the <code>lambda</code>
--and <code>letrec</code> forms, respectively.
--
--<ul>
--<li>For informal syntax 1:
--
--<p><pre>
--(($lambda (<parameter>...) <body>...)
<argument>...)
--</pre>
--</li>
--
--<li>For informal syntaxes 2 and 3:
--
--<p>
--<pre>
--($letrec ((<name> ($lambda (<parameter>...)
<body>...)))
-- (<name> <argument>...))
--</pre>
--</li>
--
--<li>For informal syntaxes 4 and 5:
--
--<p>
--<pre>
--($letrec ((<name> ($lambda (<parameter>...
--
--. <rest-parameter>) <body>...)))
-- (<name> <argument>... <rest-argument>...))
--</pre>
--</li>
--</ul>
--
--<H1>Implementation</H1>
--
--Here is an implementation using <code>SYNTAX-RULES</code>.
--
--<p>
--<pre>
--;; Use your own standard let.
--;; Or call a lambda.
--;; (define-syntax standard-let
--;;
--;; (syntax-rules ()
--;;
--;; ((let ((var val) ...) body ...)
--;; ((lambda (var ...) body ...) val ...))))
--
--(define-syntax let
--
-- (syntax-rules ()
--
-- ;; No bindings: use standard-let.
-- ((let () body ...)
-- (standard-let () body ...))
-- ;; Or call a lambda.
-- ;; ((lambda () body ...))
--
-- ;; All standard bindings: use standard-let.
-- ((let ((var val) ...) body ...)
-- (standard-let ((var val) ...) body ...))
-- ;; Or call a lambda.
-- ;; ((lambda (var ...) body ...) val ...)
--
-- ;; One standard binding: loop.
-- ;; The all-standard-bindings clause didn't match,
-- ;; so there must be a rest binding.
-- ((let ((var val) . bindings) body ...)
-- (let-loop #f bindings (var) (val) (body ...)))
--
-- ;; Signature-style name: loop.
-- ((let (name binding ...) body ...)
-- (let-loop name (binding ...) () () (body ...)))
--
-- ;; defun-style name: loop.
-- ((let name bindings body ...)
-- (let-loop name bindings () () (body ...)))))
--
--(define-syntax let-loop
--
-- (syntax-rules ()
--
-- ;; Standard binding: destructure and loop.
-- ((let-loop name ((var0 val0) binding ...) (var ... ) (val ... ) body)
-- (let-loop name ( binding ...) (var ... var0) (val ... val0) body))
--
-- ;; Rest binding, no name: use standard-let, listing the rest values.
-- ;; Because of let's first clause, there is no "no bindings, no name"
clause.
-- ((let-loop #f (rest-var rest-val ...) (var ...) (val ...) body)
-- (standard-let ((var val) ... (rest-var (list rest-val ...))) . body))
-- ;; Or call a lambda with a rest parameter on all values.
-- ;; ((lambda (var ... . rest-var) . body) val ... rest-val ...))
-- ;; Or use one of several other reasonable alternatives.
--
-- ;; No bindings, name: call a letrec'ed lambda.
-- ((let-loop name () (var ...) (val ...) body)
-- ((letrec ((name (lambda (var ...) . body)))
-- name)
-- val ...))
--
-- ;; Rest binding, name: call a letrec'ed lambda.
-- ((let-loop name (rest-var rest-val ...) (var ...) (val ...) body)
-- ((letrec ((name (lambda (var ... . rest-var) . body)))
-- name)
-- val ... rest-val ...))))
--</pre>
--
--
--<H1>Copyright</H1>
--
--Copyright (C) Andy Gaynor (1999). All Rights Reserved.
--<p>This document and translations of it may be copied and furnished to
--others, and derivative works that comment on or otherwise explain it or
--assist in its implementation may be prepared, copied, published and distributed,
--in whole or in part, without restriction of any kind, provided that the
--above copyright notice and this paragraph are included on all such copies
--and derivative works. However, this document itself may not be modified
--in any way, such as by removing the copyright notice or references to the
--Scheme Request For Implementation process or editors, except as needed
--for the purpose of developing SRFIs in which case the procedures for copyrights
--defined in the SRFI process must be followed, or as required to translate
--it into languages other than English.
--<p>The limited permissions granted above are perpetual and will not be
--revoked by the authors or their successors or assigns.
--<p>This document and the information contained herein is provided on an
--"AS IS" basis and THE AUTHOR AND THE SRFI EDITORS DISCLAIM ALL WARRANTIES,
--EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE
--USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
--WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
--
-- <hr>
-- <address>Editor: <a
href="mailto:srfi-editors@srfi.schemers.org">Mike
Sperber</a></address>
--
--</body>
--</html>
diff --git a/racket-configure-c99.patch b/racket-configure-c99.patch
deleted file mode 100644
index f4f4014..0000000
--- a/racket-configure-c99.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-Fix generic C99 compatibility issue in the configure script because it
-was generated by a historic autoconf version. This will go away once
-upstream re-runs autoconf, and until then, the patch will keep
-applying, so there is no need to upstream it.
-
-diff --git a/src/lt/configure b/src/lt/configure
-index e3f5aa6ed9a21307..aa4f50637331d427 100755
---- a/src/lt/configure
-+++ b/src/lt/configure
-@@ -2465,7 +2465,7 @@ if { (eval echo "$as_me:$LINENO:
\"$ac_compile\"") >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- for ac_declaration in \
-- '' \
-+ '#include <stdlib.h>' \
- 'extern "C" void std::exit (int) throw (); using std::exit;' \
- 'extern "C" void std::exit (int); using std::exit;' \
- 'extern "C" void exit (int) throw ();' \
-@@ -3640,8 +3640,8 @@ main ()
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
-- exit(2);
-- exit (0);
-+ return 2;
-+ return 0;
- }
- _ACEOF
- rm -f conftest$ac_exeext
diff --git a/racket.spec b/racket.spec
deleted file mode 100644
index 1135c4b..0000000
--- a/racket.spec
+++ /dev/null
@@ -1,442 +0,0 @@
-Name: racket
-Version: 7.4
-Release: 11%{?dist}
-Summary: General purpose programming language
-
-License: GPLv3 and LGPLv3 and MIT
-URL:
https://racket-lang.org
-Source0:
https://mirror.racket-lang.org/installers/%{version}/%{name}-%{version}-s...
-
-# Remove SRFI library and docs with restrictive licensing.
-# See:
https://github.com/racket/srfi/issues/4 (open)
-# Note: Upstream maintainers have confirmed this
-# is safe, since the removed components are
-# extra elements which nothing else in the
-# package depends on.
-# Note: SRFI 5 was replaced with a FOSS implementation. Only
-# nonfree docs need to be removed by this patch now.
-Patch0: racket-7.4-remove-nonfree.patch
-Patch1: racket-configure-c99.patch
-
-# Issue Building for armv7hl in koji
-ExcludeArch: %{arm} s390x
-
-# To compile the program
-BuildRequires: make
-BuildRequires: gcc
-
-# To fix rpath issue with executables.
-BuildRequires: chrpath
-
-# Racket heavily utilizes the system ffi library.
-BuildRequires: libffi-devel
-
-# For the racket/gui library (via libffi)
-#
https://github.com/racket/gui/blob/master/gui-lib/mred/private/wx/gtk/gtk...
-BuildRequires: gtk3
-
-# For the racket/draw library (via libffi)
-#
https://github.com/racket/draw/blob/master/draw-lib/racket/draw/unsafe/ca...
-BuildRequires: cairo
-#
https://github.com/racket/draw/blob/master/draw-lib/racket/draw/unsafe/pa...
-BuildRequires: pango
-#
https://github.com/racket/draw/blob/master/draw-lib/racket/draw/unsafe/pn...
-BuildRequires: libpng
-#
https://github.com/racket/draw/blob/master/draw-lib/racket/draw/unsafe/jp...
-BuildRequires: libjpeg-turbo
-#
https://github.com/racket/draw/blob/master/draw-lib/racket/draw/unsafe/gl...
-BuildRequires: glib2
-
-# To validate desktop file
-BuildRequires: desktop-file-utils
-
-BuildRequires: git
-
-# Require the subpackages
-Requires: racket-minimal%{?_isa} = %{version}-%{release}
-Requires: racket-pkgs = %{version}-%{release}
-Recommends: racket-doc = %{version}-%{release}
-
-%description
-Racket is a general-purpose programming language as well as
-the world's first ecosystem for developing and deploying new
-languages. Make your dream language, or use one of the dozens
-already available.
-
-%prep
-
-%autosetup -v -p1
-
-# Remove bundled libffi
-rm -r src/foreign/libffi
-
-%build
-cd src
-
-# Disable SSE on i686 until fixed upstream
-#
https://github.com/racket/racket/issues/2245
-%ifarch %{ix86}
- %set_build_flags
- export CFLAGS=$(echo $CFLAGS | sed -e "s/-mfpmath=sse *//")
-%endif
-
-# do not use generations on architectures
-# where it is broken
-# (this is currently a no-op, since arm and s390x are not enabled yet.
-# It is art of a fix that will land in a future release)
-%configure \
-%ifarch %{arm} s390x
- --disable-generations \
-%endif
- --enable-pthread \
- --enable-shared \
- --enable-libffi \
- --disable-strip
-
-%make_build
-
-%install
-cd src
-%make_install
-
-# Delete mred binaries and replace them with links.
-rm -vf ${RPM_BUILD_ROOT}%{_bindir}/mred
-rm -vf ${RPM_BUILD_ROOT}%{_bindir}/mred-text
-ln -vs %{_bindir}/gracket ${RPM_BUILD_ROOT}%{_bindir}/mred
-ln -vs %{_bindir}/gracket-text ${RPM_BUILD_ROOT}%{_bindir}/mred-text
-
-# Delete static library. Apperently --disable-libs does not stop it.
-rm -vf ${RPM_BUILD_ROOT}%{_libdir}/libracket3m.a
-
-# Delete duplicate license files
-rm -rf %{buildroot}%{_datadir}/racket/COPYING*txt
-
-# Fix the rpath error.
-chrpath --delete ${RPM_BUILD_ROOT}%{_bindir}/racket
-chrpath --delete ${RPM_BUILD_ROOT}%{_libdir}/racket/gracket
-
-# Remove the libtool files.
-rm -f ${RPM_BUILD_ROOT}%{_libdir}/*.la
-
-# Fix paths in the desktop files.
-sed -i "s#${RPM_BUILD_ROOT}##g" \
- ${RPM_BUILD_ROOT}/%{_datadir}/applications/*.desktop
-
-# Validate desktop files
-desktop-file-validate %{buildroot}/%{_datadir}/applications/*.desktop
-
-# Fix paths in html docs
-DOCS_TO_FIX="
-syntax/module-helpers.html
-rackunit/api.html
-reference/collects.html"
-for i in $DOCS_TO_FIX; do
- sed -i "s#${RPM_BUILD_ROOT}##g" \
- ${RPM_BUILD_ROOT}/%{_datadir}/doc/racket/$i
-done
-
-# Remove the executable bit on legacy template file
-chmod -x ${RPM_BUILD_ROOT}%{_libdir}/racket/starter-sh
-
-%ldconfig_scriptlets
-
-# Equivalent to upstream's minimal-racket release
-%package minimal
-Summary: A minimal Racket installation
-Requires: racket-collects = %{version}-%{release}
-%description minimal
-Racket's core runtime
-
-%package collects
-Summary: Racket's core collections libraries
-BuildArch: noarch
-%description collects
-Libraries providing Racket's core functionality
-
-# Arch independent source and bytecode files
-%package pkgs
-Summary: Racket package collections
-# See BuildRequires section for details on dependencies
-Requires: gtk3
-Requires: cairo
-Requires: pango
-Requires: libpng
-Requires: glib2
-Requires: libjpeg-turbo
-Requires: racket-minimal = %{version}-%{release}
-BuildArch: noarch
-%description pkgs
-Additional packages and libraries for Racket
-
-# Development headers and links
-%package devel
-Summary: Development files for Racket
-Requires: racket-minimal%{?_isa} = %{version}-%{release}
-%description devel
-Files needed to link against Racket.
-
-# HTML documentation
-%package doc
-Summary: Documentation files for Racket
-BuildArch: noarch
-%description doc
-A local installation of the Racket documentation system.
-
-%files
-%license src/COPYING.txt src/COPYING_LESSER.txt src/COPYING-libscheme.txt
-%{_bindir}/drracket
-%{_bindir}/gracket
-%{_bindir}/gracket-text
-%{_bindir}/mred-text
-%{_bindir}/mred
-%{_bindir}/mzc
-%{_bindir}/mzpp
-%{_bindir}/mzscheme
-%{_bindir}/mztext
-%{_bindir}/pdf-slatex
-%{_bindir}/plt-games
-%{_bindir}/plt-help
-%{_bindir}/plt-r5rs
-%{_bindir}/plt-r6rs
-%{_bindir}/plt-web-server
-%{_bindir}/scribble
-%{_bindir}/setup-plt
-%{_bindir}/slatex
-%{_bindir}/slideshow
-%{_bindir}/swindle
-%{_datadir}/applications/
-
-%files collects
-%license src/COPYING.txt src/COPYING_LESSER.txt src/COPYING-libscheme.txt
-%{_datadir}/racket/collects
-
-%files minimal
-%license src/COPYING.txt src/COPYING_LESSER.txt src/COPYING-libscheme.txt
-%{_bindir}/racket
-%{_bindir}/raco
-%{_libdir}/racket
-%{_libdir}/libracket3m-%{version}.so
-%{_datadir}/racket/links.rktd
-%{_datadir}/racket/pkgs/racket-lib
-%{_datadir}/man/man1/racket*
-%{_datadir}/man/man1/raco*
-%dir %{_datadir}/racket
-%dir %{_datadir}/doc/racket
-%dir %{_sysconfdir}/racket/
-%config %{_sysconfdir}/racket/config.rktd
-%exclude %{_libdir}/libracket3m.so
-
-%files pkgs
-%license src/COPYING.txt src/COPYING_LESSER.txt src/COPYING-libscheme.txt
-%{_datadir}/racket
-%{_datadir}/man/man1/drracket*
-%{_datadir}/man/man1/gracket*
-%{_datadir}/man/man1/mred*
-%{_datadir}/man/man1/mzc*
-%{_datadir}/man/man1/mzscheme*
-%{_datadir}/man/man1/plt-help*
-%{_datadir}/man/man1/setup-plt*
-%exclude %{_datadir}/racket/links.rktd
-%exclude %dir %{_datadir}/racket/pkgs/racket-lib
-%exclude %dir %{_datadir}/racket/collects
-
-%files devel
-%license src/COPYING.txt src/COPYING_LESSER.txt src/COPYING-libscheme.txt
-%{_includedir}/racket
-%{_libdir}/libracket3m.so
-
-%files doc
-%license src/COPYING.txt src/COPYING_LESSER.txt src/COPYING-libscheme.txt
-%{_datadir}/doc/racket
-
-%changelog
-* Fri Jul 21 2023 Fedora Release Engineering <releng(a)fedoraproject.org> - 7.4-11
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
-
-* Wed Apr 26 2023 Florian Weimer <fweimer(a)redhat.com> - 7.4-10
-- Port configure script to C99
-
-* Fri Jan 20 2023 Fedora Release Engineering <releng(a)fedoraproject.org> - 7.4-9
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
-
-* Sat Jul 23 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 7.4-8
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
-
-* Fri Jan 21 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 7.4-7
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
-
-* Sat Jan 08 2022 Miro Hrončok <mhroncok(a)redhat.com> - 7.4-6
-- Rebuilt for
https://fedoraproject.org/wiki/Changes/LIBFFI34
-
-* Fri Jul 23 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 7.4-5
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
-
-* Wed Jan 27 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 7.4-4
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
-
-* Wed Jul 29 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 7.4-3
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
-
-* Thu Jan 30 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 7.4-2
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
-
-* Wed Aug 28 2019 David Benoit <dbenoit(a)redhat.com> - 7.4.1
-- Update package version
-- Remove doc-open-url patch (fixed upstream)
-- Update remove-nonfree patch
-
-* Fri Jul 26 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 7.0-8
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
-
-* Sat Feb 02 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 7.0-7
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
-
-* Mon Sep 24 2018 David Benoit <dbenoit(a)redhat.com> 7.0-6
-- Fix buildarch
-
-* Sat Sep 22 2018 David Benoit <dbenoit(a)redhat.com> 7.0-5
-- Remove links.rktd scriptlets and instead make docs
- a weak dependency
-
-* Fri Sep 21 2018 David Benoit <dbenoit(a)redhat.com> 7.0-4
-- Add scriptlets to handle updating links.rktd based on
- whether racket-pkgs is installed
-- fix owenership of docs dir
-- update docs patch
-
-* Thu Sep 6 2018 David Benoit <dbenoit(a)redhat.com> 7.0-3
-- use arm macro instead of armv7hl
-
-* Wed Sep 5 2018 David Benoit <dbenoit(a)redhat.com> 7.0-2
-- Disable SSE math on i686 until issue is fixed upstream
-- Exclude ppc due to issue building Racket v7.0 and
- arch being deprecated in next release
-
-* Fri Aug 17 2018 David Benoit <dbenoit(a)redhat.com> 7.0-1
-- Update sources to Racket v7.0
-- Remove 6.12 patches and add update remove nonfree
- srfi patch to 7.0
-
-* Mon Jul 30 2018 David Benoit <dbenoit(a)redhat.com> 6.12-8
-- Annotate dependencies with links to source code
-- Move dependencies to racket-pkgs, since they are only used
- by that subpackage
-- Update mred symbolic links
-- Fix ownership of directories
-- Remove executable bit from starter-sh
-
-* Thu Jul 12 2018 David Benoit <dbenoit(a)redhat.com> 6.12-7
-- Remove hardened build since it is enabled by default
-- Add gcc to BuildRequires
-- Remove wildcards from directory listings in files section
-
-* Fri Apr 13 2018 David Benoit <dbenoit(a)redhat.com> 6.12-6
-- Remove license wildcard and add license field to each subpackage
-
-* Fri Apr 6 2018 David Benoit <dbenoit(a)redhat.com> 6.12-5
-- remove update-database post scripts
-- move libracket3m.so link into -devel
-- add ldconfig_scriptlets after install
-- remove disable debug_package and configure
- with --disable-strip instead
-- add license to files section and update
- license header field
-- validate desktop files
-- change ownership of /etc/racket
-- update changelog with release info
-- use specific man directory man/man1/*
-- refactor racket into subpackages
- racket-minimal, racket-collects, and racket-pkgs
-
-* Wed Apr 4 2018 David Benoit <dbenoit(a)redhat.com> 6.12-4
-- noarch -docs subpackage
-
-* Tue Mar 20 2018 David Benoit <dbenoit(a)redhat.com> 6.12-3
-- fix text encoding issue in description section
-- remove doc-open-url scriptlets
-- add scriptlet to fix paths in html docs
-- add patch2 to backport rpaths fix in compiled .zo files
-- add patch3 to backport rpaths fix in web-server-lib
-- add patch4 to configure doc open url dynamically at runtime
-- remove override of __arch_install_post to allow full
- checking of buildroot.
-
-* Thu Feb 1 2018 David Benoit <dbenoit(a)redhat.com> - 6.12-2
-- Fix duplication of object files
-- Add version to racket-devel requirements
-- Remove base package as a dependency of racket-doc
-- Remove Groups tag
-
-* Wed Jan 31 2018 David Benoit <dbenoit(a)redhat.com> - 6.12-1
-- Update to current stable version
-- Add patch0 to update SRFIs to latest upstream
-- Add patch1 to remove nonfree SRFI components
-
-* Thu Oct 26 2017 David Benoit <dbenoit(a)redhat.com> - 6.10-1
-- Update to current stable version
-- Remove libedit readline patch (fixed upstream)
-- Break docs into separate package
-- Add scriptlets to set doc-open-url based on
- whether docs are installed
-- Exclude armv7hl and s390x as target arches
-- Update description to match website
-- Change URLs to use https instead of http
-
-
-* Thu Jul 6 2017 David Benoit <dbenoit(a)redhat.com> - 6.9-1
-- Update to current stable version
-- Patch libedit readline error
-- Remove ExclusiveArch to test all builds in koji
-
-* Fri Jan 22 2016 Brandon Thomas <bthomaszx(a)gmail.com> - 6.3-1
-- Update to current stable version.
-- Updated description to match website.
-- Removed build requirement "racket-packaging".
-- Updated to gtk+3.
-- Let Autoprovides determine provides.
-- Debuginfo package is empty and preventing the package from building.
-- Removed uneeded file copies.
-- Remove possible extra static library.
-
-* Sun Dec 14 2014 Jan Dvorak <mordae(a)anilinux.org> - 6.1.1.6-1
-- Update to current snapshot to fix match hash-table expander.
-
-* Mon Dec 01 2014 Jan Dvorak <mordae(a)anilinux.org> - 6.1.1-1
-- Update to current stable version.
-
-* Fri Sep 05 2014 Jan Dvorak <mordae(a)anilinux.org> - 6.1.0.5-4
-- Use racket-packaging to capture module dependencies.
-
-* Tue Aug 19 2014 Jan Dvorak <mordae(a)anilinux.org> - 6.1.0.5-1
-- Updated to 6.1.0.5
-- Merged the -doc package back in.
-
-* Fri Aug 08 2014 Jan Dvorak <mordae(a)anilinux.org> - 6.1.0.4-2
-- Do not alter .zo files, prevent check-buildroot from being run instead.
-
-* Thu Aug 07 2014 Jan Dvorak <mordae(a)anilinux.org> - 6.1.0.4-1
-- Updated to 6.1.0.4
-- Split-off -doc package.
-
-* Fri Jul 25 2014 Jan Dvorak <mordae(a)anilinux.org> - 6.1.0.3-4
-- Updated to 6.1.0.3
-- Dropped the unnecessary static library.
-- Dropped mred programs to enable debug package.
-
-* Sat Jun 22 2013 Daniel E. Wilson <danw(a)bureau-13.org> - 5.3.5-1
-- Changed to use 5.3.5 version of Racket.
-- Created static package for developers who may need static libraries.
-- Added RPM optimization options to CFLAGS for build.
-- Added macro to use SMP build options in make.
-
-* Thu May 16 2013 Daniel E. Wilson <danw(a)bureau-13.org> - 5.3.4-1
-- Changed to use 5.3.4 version of Racket.
-
-* Tue May 14 2013 Daniel E. Wilson <danw(a)bureau-13.org> - 5.3.3-3
-- Moved documentation to /usr/doc directory.
-
-* Mon May 13 2013 Daniel E. Wilson <danw(a)bureau-13.org> - 5.3.3-2
-- Remove bundled libffi from racket before building program.
-
-* Thu May 9 2013 Daniel E. Wilson <danw(a)bureau-13.org> - 5.3.3-1
-- Initial Revision.
diff --git a/sources b/sources
deleted file mode 100644
index 433eb3e..0000000
--- a/sources
+++ /dev/null
@@ -1 +0,0 @@
-SHA512 (racket-7.4-src.tgz) =
a5ef2ce3157bee3b12abcaeeb4c1ec3b41e78fb6ec04d399e3505a38234a73a098398bb762a99ffef7bc01301aef8db559cbd47c043365df8711fccdc3386df0
commit a7fce89d96d54123dc490e89dc0e08f2a4b73929
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Fri Jul 21 16:26:40 2023 +0000
Rebuilt for
https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
diff --git a/racket.spec b/racket.spec
index 10e7203..1135c4b 100644
--- a/racket.spec
+++ b/racket.spec
@@ -1,6 +1,6 @@
Name: racket
Version: 7.4
-Release: 10%{?dist}
+Release: 11%{?dist}
Summary: General purpose programming language
License: GPLv3 and LGPLv3 and MIT
@@ -250,6 +250,9 @@ A local installation of the Racket documentation system.
%{_datadir}/doc/racket
%changelog
+* Fri Jul 21 2023 Fedora Release Engineering <releng(a)fedoraproject.org> - 7.4-11
+- Rebuilt for
https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
+
* Wed Apr 26 2023 Florian Weimer <fweimer(a)redhat.com> - 7.4-10
- Port configure script to C99
commit 6b016cbc234db489468ac8b40f941a2afc47514a
Author: Florian Weimer <fweimer(a)redhat.com>
Date: Wed Apr 26 21:24:05 2023 +0200
Port configure script to C99
Related to:
<
https://fedoraproject.org/wiki/Changes/PortingToModernC>
<
https://fedoraproject.org/wiki/Toolchain/PortingToModernC>
diff --git a/racket-configure-c99.patch b/racket-configure-c99.patch
new file mode 100644
index 0000000..f4f4014
--- /dev/null
+++ b/racket-configure-c99.patch
@@ -0,0 +1,29 @@
+Fix generic C99 compatibility issue in the configure script because it
+was generated by a historic autoconf version. This will go away once
+upstream re-runs autoconf, and until then, the patch will keep
+applying, so there is no need to upstream it.
+
+diff --git a/src/lt/configure b/src/lt/configure
+index e3f5aa6ed9a21307..aa4f50637331d427 100755
+--- a/src/lt/configure
++++ b/src/lt/configure
+@@ -2465,7 +2465,7 @@ if { (eval echo "$as_me:$LINENO:
\"$ac_compile\"") >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ for ac_declaration in \
+- '' \
++ '#include <stdlib.h>' \
+ 'extern "C" void std::exit (int) throw (); using std::exit;' \
+ 'extern "C" void std::exit (int); using std::exit;' \
+ 'extern "C" void exit (int) throw ();' \
+@@ -3640,8 +3640,8 @@ main ()
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+- exit(2);
+- exit (0);
++ return 2;
++ return 0;
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
diff --git a/racket.spec b/racket.spec
index 16914bf..10e7203 100644
--- a/racket.spec
+++ b/racket.spec
@@ -1,6 +1,6 @@
Name: racket
Version: 7.4
-Release: 9%{?dist}
+Release: 10%{?dist}
Summary: General purpose programming language
License: GPLv3 and LGPLv3 and MIT
@@ -16,6 +16,7 @@ Source0:
https://mirror.racket-lang.org/installers/%{version}/%{name}-%{v
# Note: SRFI 5 was replaced with a FOSS implementation. Only
# nonfree docs need to be removed by this patch now.
Patch0: racket-7.4-remove-nonfree.patch
+Patch1: racket-configure-c99.patch
# Issue Building for armv7hl in koji
ExcludeArch: %{arm} s390x
@@ -249,6 +250,9 @@ A local installation of the Racket documentation system.
%{_datadir}/doc/racket
%changelog
+* Wed Apr 26 2023 Florian Weimer <fweimer(a)redhat.com> - 7.4-10
+- Port configure script to C99
+
* Fri Jan 20 2023 Fedora Release Engineering <releng(a)fedoraproject.org> - 7.4-9
- Rebuilt for
https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
commit 061baf1df649b3163f43da3b9fee00620e3753f8
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Fri Jan 20 19:23:05 2023 +0000
Rebuilt for
https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
diff --git a/racket.spec b/racket.spec
index f80990a..16914bf 100644
--- a/racket.spec
+++ b/racket.spec
@@ -1,6 +1,6 @@
Name: racket
Version: 7.4
-Release: 8%{?dist}
+Release: 9%{?dist}
Summary: General purpose programming language
License: GPLv3 and LGPLv3 and MIT
@@ -249,6 +249,9 @@ A local installation of the Racket documentation system.
%{_datadir}/doc/racket
%changelog
+* Fri Jan 20 2023 Fedora Release Engineering <releng(a)fedoraproject.org> - 7.4-9
+- Rebuilt for
https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
+
* Sat Jul 23 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 7.4-8
- Rebuilt for
https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild