Architecture specific change in rpms/jacktrip.git
by githook-noreply@fedoraproject.org
The package rpms/jacktrip.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/jacktrip.git/commit/?id=3e1c3ccd6....
Change:
+%ifnarch %{qt6_qtwebengine_arches}
Thanks.
Full change:
============
commit 3e1c3ccd6e267dfffaf1edc1554a791d3383845f
Author: Iñaki Úcar <iucar(a)fedoraproject.org>
Date: Wed Aug 30 00:46:54 2023 +0200
Update 2.0.0 - Enable Virtual Studio only in WebEngine arches
diff --git a/jacktrip.spec b/jacktrip.spec
index 06261b0..78f03bf 100644
--- a/jacktrip.spec
+++ b/jacktrip.spec
@@ -22,8 +22,10 @@ BuildRequires: cmake(Qt6QuickControls2)
BuildRequires: cmake(Qt6Qml)
BuildRequires: cmake(Qt6Svg)
BuildRequires: cmake(Qt6WebSockets)
+%ifarch %{qt6_qtwebengine_arches}
BuildRequires: cmake(Qt6WebEngineCore)
BuildRequires: cmake(Qt6WebChannel)
+%endif
BuildRequires: hicolor-icon-theme
BuildRequires: desktop-file-utils
BuildRequires: libappstream-glib
@@ -42,7 +44,11 @@ bidirectional, high quality, uncompressed audio signal steaming.
%autosetup -p1
%build
-%meson -Drtaudio=enabled
+%meson \
+%ifnarch %{qt6_qtwebengine_arches}
+ -Dnovs=true \
+%endif
+ -Drtaudio=enabled
%meson_build
%install
8 months, 1 week
Architecture specific change in rpms/racket.git
by githook-noreply@fedoraproject.org
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">the 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">the 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">the 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
8 months, 1 week
Architecture specific change in rpms/openshot.git
by githook-noreply@fedoraproject.org
The package rpms/openshot.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/openshot.git/commit/?id=61b118b09....
Change:
+ExcludeArch: ppc64le
Thanks.
Full change:
============
commit 61b118b09642a11c3f6e7737f1e9ece2966b31bb
Author: Neal Gompa <ngompa(a)fedoraproject.org>
Date: Tue Aug 29 07:24:29 2023 -0400
Initial import into Fedora
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..966480b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/openshot-qt-3.1.1.tar.gz
diff --git a/openshot.spec b/openshot.spec
new file mode 100644
index 0000000..b28a04e
--- /dev/null
+++ b/openshot.spec
@@ -0,0 +1,351 @@
+%global distname %{name}-qt
+%global distrdnn org.openshot.OpenShot
+
+%global minlibver 0.3.2
+
+Name: openshot
+Version: 3.1.1
+Release: 4%{?dist}
+Summary: Create and edit videos and movies
+License: GPL-3.0-or-later and Apache-2.0 and MIT and CC-BY-SA-4.0
+URL: http://www.openshot.org
+
+Source0: https://github.com/OpenShot/%{distname}/archive/v%{version}/%{distname}-%...
+
+BuildArch: noarch
+# libopenshot is unavailable on ppc64le, see rfbz #5528
+ExcludeArch: ppc64le
+
+# For appdata
+BuildRequires: libappstream-glib
+
+BuildRequires: python%{python3_pkgversion}-devel
+BuildRequires: python%{python3_pkgversion}-qt5-devel
+BuildRequires: python%{python3_pkgversion}-setuptools
+BuildRequires: libopenshot >= %{minlibver}
+BuildRequires: libopenshot-audio >= %{minlibver}
+BuildRequires: desktop-file-utils
+
+Requires: python%{python3_pkgversion}-httplib2
+Requires: python%{python3_pkgversion}-qt5
+Requires: (python%{python3_pkgversion}-qt5-webengine or python%{python3_pkgversion}-qt5-webkit)
+Requires: python%{python3_pkgversion}-requests
+Requires: python%{python3_pkgversion}-setuptools
+Requires: python%{python3_pkgversion}-zmq
+Requires: python%{python3_pkgversion}-libopenshot >= %{minlibver}
+# Use to indicate we need ffmpeg at runtime
+Requires: /usr/bin/ffmpeg
+
+Recommends: openshot-lang
+Recommends: font(bitstreamverasans)
+Recommends: blender >= 2.80
+Recommends: python%{python3_pkgversion}-defusedxml
+Recommends: python%{python3_pkgversion}-distro
+Recommends: python%{python3_pkgversion}-sentry-sdk
+
+# Support the actual name of this tool
+Provides: %{distname} = %{version}-%{release}
+
+%description
+OpenShot Video Editor is a free, open-source, non-linear video editor. It
+can create and edit videos and movies using many popular video, audio,
+image formats. Create videos for YouTube, Flickr, Vimeo, Metacafe, iPod,
+Xbox, and many more common formats!
+
+Features include:
+* Multiple tracks (layers)
+* Compositing, image overlays, and watermarks
+* Audio mixing and editing
+* Support for image sequences (rotoscoping)
+* Key-frame animation
+* Video effects (chroma-key)
+* Transitions (lumas and masks)
+* Titles with integrated editor and templates
+* 3D animation (titles and effects)
+
+
+%package lang
+Summary: Additional languages for OpenShot
+Requires: %{name} = %{version}-%{release}
+
+%description lang
+%{summary}.
+
+
+%prep
+%autosetup -p1 -n %{distname}-%{version}
+
+
+%build
+%py3_build
+
+
+%install
+%py3_install
+
+# We strip bad shebangs (/usr/bin/env) instead of fixing them
+# since these files are not executable anyways
+find %{buildroot}/%{python3_sitelib} -name '*.py' \
+ -exec grep -q '^#!' '{}' \; -print | while read F
+do
+ awk '/^#!/ {if (FNR == 1) next;} {print}' $F >chopped
+ touch -r $F chopped
+ mv chopped $F
+done
+
+# Remove an outdated file installed into /usr/lib/mime/
+rm -v %{buildroot}%{_prefix}/lib/mime/packages/openshot-qt
+rmdir -p --ignore-fail-on-non-empty %{buildroot}%{_prefix}/lib/mime/packages
+
+%find_lang OpenShot --with-qt
+
+
+%check
+# Validate desktop file
+desktop-file-validate %{buildroot}/%{_datadir}/applications/*.desktop
+
+# Validate appdata file
+appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.appdata.xml
+
+%files
+%license COPYING
+%doc AUTHORS README.md
+%{_bindir}/%{distname}
+%{_datadir}/applications/%{distrdnn}.desktop
+%{_datadir}/icons/hicolor/*/apps/%{distname}.png
+%{_datadir}/icons/hicolor/scalable/apps/%{distname}.svg
+%{_datadir}/icons/hicolor/scalable/mimetypes/%{distname}-doc.svg
+%{_datadir}/pixmaps/%{distname}.svg
+%{_datadir}/mime/packages/%{distrdnn}.xml
+%{_metainfodir}/%{distrdnn}.appdata.xml
+%{python3_sitelib}/%{name}_qt/
+%exclude %{python3_sitelib}/%{name}_qt/language/*
+%{python3_sitelib}/*egg-info/
+
+%files lang -f OpenShot.lang
+%dir %{python3_sitelib}/%{name}_qt/language
+%{python3_sitelib}/%{name}_qt/language/%{name}_lang.py
+%{python3_sitelib}/%{name}_qt/language/%{name}_lang.qrc
+
+
+%changelog
+* Mon Aug 28 2023 Neal Gompa <ngompa(a)fedoraproject.org> - 3.1.1-4
+- Adapt to Fedora
+
+* Wed Aug 02 2023 RPM Fusion Release Engineering <sergiomb(a)rpmfusion.org> - 3.1.1-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
+
+* Sat Jul 08 2023 Leigh Scott <leigh123linux(a)gmail.com> - 3.1.1-2
+- Rebuilt for Python 3.12
+
+* Sat Apr 22 2023 Leigh Scott <leigh123linux(a)gmail.com> - 3.1.1-1
+- New upstream release
+
+* Fri Apr 07 2023 Leigh Scott <leigh123linux(a)gmail.com> - 3.1.0-1
+- New upstream release
+
+* Fri Dec 02 2022 Leigh Scott <leigh123linux(a)gmail.com> - 3.0.0-1
+- New upstream release
+
+* Sun Aug 07 2022 RPM Fusion Release Engineering <sergiomb(a)rpmfusion.org> - 2.6.2-0.4.20211104gitb72327d
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild and ffmpeg
+ 5.1
+
+* Sat Jun 25 2022 Robert-André Mauchin <zebob.m(a)gmail.com> - 2.6.2-0.3.20211104gitb72327d
+- Rebuilt for Python 3.11
+
+* Wed Feb 09 2022 RPM Fusion Release Engineering <sergiomb(a)rpmfusion.org> - 2.6.2-0.2.20211104gitb72327d
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
+
+* Mon Nov 08 2021 Leigh Scott <leigh123linux(a)gmail.com> - 2.6.2-0.1.20211104gitb72327d
+- Update to git snapshot
+- Patch for python-3.10
+
+* Tue Sep 07 2021 Leigh Scott <leigh123linux(a)gmail.com> - 2.6.1-1
+- New upstream release
+
+* Thu Aug 26 2021 Leigh Scott <leigh123linux(a)gmail.com> - 2.6.0-1
+- New upstream release
+
+* Tue Aug 03 2021 RPM Fusion Release Engineering <leigh123linux(a)gmail.com> - 2.5.1-8
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Tue Jun 15 2021 Leigh Scott <leigh123linux(a)gmail.com> - 2.5.1-7
+- Rebuild for python-3.10
+
+* Wed Feb 03 2021 RPM Fusion Release Engineering <leigh123linux(a)gmail.com> - 2.5.1-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Wed Jan 13 2021 FeRD (Frank Dana) <ferdnyc(a)gmail.com> - 2.5.1-5
+- Add Recommends: dependencies for defusedxml and distro, on Fedora
+
+* Sun Dec 27 2020 FeRD (Frank Dana) <ferdnyc(a)gmail.com> - 2.5.1-4
+- Backport fix to remove Ubuntu Unity integration, causing crashes in
+ Python 3.9.
+
+* Tue Aug 18 2020 RPM Fusion Release Engineering <leigh123linux(a)gmail.com> - 2.5.1-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Tue Jun 02 2020 Leigh Scott <leigh123linux(a)gmail.com> - 2.5.1-2
+- Rebuild for python-3.9
+
+* Sat Mar 07 2020 FeRD (Frank Dana) <ferdnyc(a)gmail.com> - 2.5.1-1
+- New upstream release
+
+* Fri Feb 14 2020 FeRD (Frank Dana) <ferdnyc(a)gmail.com> - 2.5.0-1
+- New upstream release
+
+* Wed Feb 05 2020 RPM Fusion Release Engineering <leigh123linux(a)gmail.com> - 2.4.4-5.20191002git5f08a30
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Mon Sep 16 2019 FeRD (Frank Dana) <ferdnyc(a)gmail.com> - 2.4.4-4
+- Update to git HEAD for compatibility with new Blender 2.80 release
+- Handle renamed metadata files
+
+* Wed Aug 07 2019 Leigh Scott <leigh123linux(a)gmail.com> - 2.4.4-3
+- Rebuild for new ffmpeg version
+
+* Mon Apr 29 2019 FeRD (Frank Dana) <ferdnyc(a)gmail.com> - 2.4.4-3
+- Remove simplejson require, not actually a dependency after all
+- setuptools, however, is also a runtime dependency
+
+* Sun Apr 28 2019 FeRD (Frank Dana) <ferdnyc(a)gmail.com> - 2.4.4-2
+- Declare dependency on requests, simplejson Python modules
+
+* Fri Mar 22 2019 FeRD (Frank Dana) <ferdnyc AT gmail com> - 2.4.4-1
+- New upstream release
+
+* Mon Mar 04 2019 RPM Fusion Release Engineering <leigh123linux(a)gmail.com> - 2.4.3-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Wed Nov 14 2018 FeRD (Frank Dana) <ferdnyc AT gmail com> - 2.4.3-2
+- Add patch to fix opening files via commandline / .desktop
+
+* Mon Sep 3 2018 FeRD (Frank Dana) <ferdnyc AT gmail com> - 2.4.3-1
+- New upstream release 2.4.3
+- Update libopenshot dependency version to new 0.2.2 release
+- Drop several upstreamed build fixes
+- Use upstream appdata file instead of our own
+- Patch upstream appdata file for missed release tag
+- Add openshot-owner(a)rpmfusion.org as update contact in appdata
+- Clean up installed files
+- New translations path, update find logic and packaging
+
+* Sat Sep 1 2018 FeRD (Frank Dana) <ferdnyc AT gmail com> - 2.4.2-2
+- Updated package description
+- Rebuild for updated libopenshot (with new ImageMagick)
+
+* Tue Jul 31 2018 FeRD (Frank Dana) <ferdnyc AT gmail com> - 2.4.2-1
+- New upstream release
+
+* Fri Jul 27 2018 RPM Fusion Release Engineering <leigh123linux(a)gmail.com> - 2.4.1-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Tue Jul 10 2018 Miro Hrončok <mhroncok(a)redhat.com> - 2.4.1-6
+- Rebuilt for Python 3.7
+
+* Thu Mar 01 2018 Richard Shaw <hobbes1069(a)gmail.com> - 2.4.1-5
+- Fix package ownership of locale directory, fixes RFBZ#4809.
+
+* Thu Mar 01 2018 RPM Fusion Release Engineering <leigh123linux(a)googlemail.com> - 2.4.1-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Sat Feb 17 2018 Sérgio Basto <sergio(a)serjux.com> - 2.4.1-3
+- Add some recommends to spec
+- Merge epel7 work, but we still haven't python-qt5 in epel7
+
+* Thu Jan 18 2018 Leigh Scott <leigh123linux(a)googlemail.com> - 2.4.1-2
+- Rebuilt for ffmpeg-3.5 git
+
+* Sat Jan 13 2018 Richard Shaw <hobbes1069(a)gmail.com> - 2.4.1-1
+- Update to latest upstream release.
+
+* Wed Oct 25 2017 Richard Shaw <hobbes1069(a)gmail.com> - 2.4.0-3
+- Add recommends for Vera Sans font, fixes RFBZ#5677.
+
+* Mon Sep 11 2017 Sérgio Basto <sergio(a)serjux.com> - 2.4.0-2
+- Also requires libopenshot >= 0.1.8
+
+* Fri Sep 08 2017 Leigh Scott <leigh123linux(a)googlemail.com> - 2.4.0-1
+- Update to 2.4.0
+- Use python macros
+- Remove obsolete scriptlets
+
+* Sun Sep 03 2017 Sérgio Basto <sergio(a)serjux.com> - 2.3.4-1
+- Update to 2.3.4
+
+* Thu Aug 31 2017 RPM Fusion Release Engineering <kwizart(a)rpmfusion.org> - 2.3.3-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Fri May 12 2017 Richard Shaw <hobbes1069(a)gmail.com> - 2.3.2-1
+- Update to latest upstream release.
+
+* Sat Apr 29 2017 Leigh Scott <leigh123linux(a)googlemail.com> - 2.3.1-2
+- Rebuild for ffmpeg update
+
+* Mon Apr 03 2017 Sérgio Basto <sergio(a)serjux.com> - 2.3.1-1
+- Update to 2.3.1
+
+* Fri Mar 31 2017 Richard Shaw <hobbes1069(a)gmail.com> - 2.3.0-1
+- Update to latest upstream release.
+
+* Sat Mar 25 2017 Sérgio Basto <sergio(a)serjux.com> - 2.2.0-1
+- Update openshot to 2.2.0
+
+* Mon Mar 20 2017 RPM Fusion Release Engineering <kwizart(a)rpmfusion.org>
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Sun Dec 4 2016 Richard Shaw <hobbes1069(a)gmail.com> - 2.1.0-2
+- All translation files now included in openshot-lang, fixes RFBZ#4358.
+- Change dependency on openshot-lang from Requires to Recommends.
+
+* Tue Aug 30 2016 Richard Shaw <hobbes1069(a)gmail.com> - 2.1.0-1
+- Update to latest upstream release.
+
+* Tue Aug 23 2016 Richard Shaw <hobbes1069(a)gmail.com> - 2.0.7-5
+- Install locale files.
+
+* Sat Jul 30 2016 Julian Sikorski <belegdol(a)fedoraproject.org> - 2.0.7-4
+- Rebuilt for ffmpeg-3.1.1
+
+* Wed Jul 20 2016 Sérgio Basto <sergio(a)serjux.com> - 2.0.7-3
+- Add python3-qt5-webkit to package requires
+
+* Mon Apr 18 2016 Richard Shaw <hobbes1069(a)gmail.com> - 2.0.7-2
+- Update to require python3-libopenshot.
+
+* Fri Apr 8 2016 Richard Shaw <hobbes1069(a)gmail.com> - 2.0.7-1
+- Update to latest upstream release.
+
+* Fri Mar 4 2016 Richard Shaw <hobbes1069(a)gmail.com> - 2.0.6-1
+- Update to latest upstream release.
+
+* Mon Jan 11 2016 Richard Shaw <hobbes1069(a)gmail.com> - 2.0.4-1
+- Update to latest upstream release.
+
+* Mon Apr 6 2015 Richard Shaw <hobbes1069(a)gmail.com> - 1.4.3-3
+- Fix broken icon file (BZ#3546).
+- Add ladspa as a install requirement (BZ#3472).
+
+* Sun Aug 31 2014 Sérgio Basto <sergio(a)serjux.com> - 1.4.3-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
+
+* Fri Oct 26 2012 Richard Shaw <hobbes1069(a)gmail.com> - 1.4.3-1
+- Update to latest upstream release.
+
+* Mon Feb 20 2012 Richard Shaw <hobbes1069(a)gmail.com> - 1.4.2-4
+- Fix small packaging bug with icon.
+
+* Wed Feb 08 2012 Nicolas Chauvet <kwizart(a)gmail.com> - 1.4.2-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Mon Feb 06 2012 Richard Shaw <hobbes1069(a)gmail.com> - 1.4.2-2
+- Update to latest release.
+- Fixed small build problem with the buildroot path finding it's way into
+ a packaged file.
+
+* Mon Feb 06 2012 Richard Shaw <hobbes1069(a)gmail.com> - 1.4.2-1
+- Update to latest release.
+
+* Mon Jan 30 2012 Richard Shaw <hobbes1069(a)gmail.com> - 1.4.1-1
+- Update to latest release.
diff --git a/sources b/sources
new file mode 100644
index 0000000..f9f0d75
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (openshot-qt-3.1.1.tar.gz) = 4e5a42825abf8e3862957039169905a6f03872d81de454f52a57ace2e636e91b2f4e87ae603bf9669baa7d1bbbd6c0213efd0c72e23f2b209ba266af2fbe380f
8 months, 1 week
Architecture specific change in rpms/luajit.git
by githook-noreply@fedoraproject.org
The package rpms/luajit.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/luajit.git/commit/?id=9aeb9b6152b....
Change:
-%ifarch %{ix86}
Thanks.
Full change:
============
commit 9aeb9b6152bd975bcddb8206eedae26501377acf
Author: Andreas Schneider <asn(a)cryptomilk.org>
Date: Mon Aug 28 13:07:29 2023 +0200
Always run tests
This also uses symlinks for test and bench directory from the
LuaJIT-test-cleanup repository.
diff --git a/luajit-2.1-make-check.patch b/luajit-2.1-make-check.patch
index fc50809..83062f7 100644
--- a/luajit-2.1-make-check.patch
+++ b/luajit-2.1-make-check.patch
@@ -15,8 +15,8 @@ bench` respectively.
Index: LuaJIT-2.1/Makefile
===================================================================
---- LuaJIT-2.1.orig/Makefile 2023-08-26 19:31:44.248749529 +0200
-+++ LuaJIT-2.1/Makefile 2023-08-26 19:31:48.969750323 +0200
+--- LuaJIT-2.1.orig/Makefile 2023-08-29 08:35:57.939200606 +0200
++++ LuaJIT-2.1/Makefile 2023-08-29 08:40:59.284925468 +0200
@@ -118,14 +118,14 @@ endif
##############################################################################
@@ -40,7 +40,7 @@ Index: LuaJIT-2.1/Makefile
+check: $(LUAJIT_BIN)
+ @echo "==== Running tests for LuaJIT $(VERSION) ===="
-+ cd test && ../$^ test.lua
++ $^ test/test.lua
+ @echo "==== All tests for LuaJIT $(VERSION) succeeded ===="
+
+# It is assumed that libluajit.a is built in the process of building LUAJIT_BIN.
@@ -63,7 +63,7 @@ Index: LuaJIT-2.1/Makefile
Index: LuaJIT-2.1/bench/Makefile
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ LuaJIT-2.1/bench/Makefile 2023-08-26 19:31:48.969750323 +0200
++++ LuaJIT-2.1/bench/Makefile 2023-08-29 08:36:28.443172755 +0200
@@ -0,0 +1,56 @@
+CC=gcc
+
@@ -124,7 +124,7 @@ Index: LuaJIT-2.1/bench/Makefile
Index: LuaJIT-2.1/LuaJIT-test-cleanup-master/test/lib/contents.lua
===================================================================
--- LuaJIT-2.1.orig/LuaJIT-test-cleanup-master/test/lib/contents.lua 2016-10-19 23:27:03.000000000 +0200
-+++ LuaJIT-2.1/LuaJIT-test-cleanup-master/test/lib/contents.lua 2023-08-26 19:32:51.007760766 +0200
++++ LuaJIT-2.1/LuaJIT-test-cleanup-master/test/lib/contents.lua 2023-08-29 08:36:28.444172754 +0200
@@ -76,8 +76,9 @@ do --- 5.2 string +lua>=5.2
assert(not string.gfind)
end
diff --git a/luajit.spec b/luajit.spec
index aa27dc0..6f106fc 100644
--- a/luajit.spec
+++ b/luajit.spec
@@ -48,9 +48,8 @@ This package contains development files for %{name}.
echo "%{luajit_version_patch}" > .relver
-# Copy tests to luajit source; can't symlink as Makefile uses relative path
-cp -a LuaJIT-test-cleanup-master/bench bench
-cp -a LuaJIT-test-cleanup-master/test test
+ln -s LuaJIT-test-cleanup-master/bench bench
+ln -s LuaJIT-test-cleanup-master/test test
# Enable Lua 5.2 features
sed -i -e '/-DLUAJIT_ENABLE_LUA52COMPAT/s/^#//' src/Makefile
@@ -83,12 +82,7 @@ find %{buildroot} -type f -name *.a -delete -print
%ldconfig_scriptlets
%check
-%ifarch %{ix86}
-# Don't fail the build on a check failure.
-make check || true
-%else
make check
-%endif
%files
%license COPYRIGHT
8 months, 2 weeks
[Report] Packages Restricting Arches
by root
List of packages currently excluding arches (1153)
===========================================
- 0ad
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- 90-Second-Portraits
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- BareBonesBrowserLaunch
ExclusiveArch: %{java_arches} noarch
- CFR
ExclusiveArch: %{java_arches} noarch
- CardManager
ExclusiveArch: %{java_arches} noarch
- GAPDoc
ExclusiveArch: %{gap_arches} noarch
- GoldenCheetah
ExclusiveArch: %{qt5_qtwebengine_arches}
- GtkAda
ExclusiveArch: %{GPRbuild_arches}
- GtkAda3
ExclusiveArch: %{GPRbuild_arches}
- IPAddress
ExclusiveArch: %{java_arches} noarch
- Mars
ExclusiveArch: %{java_arches} noarch
- OpenColorIO
ExclusiveArch: x86_64 ppc64le
- OpenImageIO
ExclusiveArch: x86_64 ppc64le
- OpenMolcas
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- OpenStego
ExclusiveArch: %{java_arches} noarch
- PragmARC
ExclusiveArch: %{GPRbuild_arches}
- R-V8
ExclusiveArch: %{nodejs_arches}
- R-rJava
ExclusiveArch: %{java_arches}
- RdRand
ExclusiveArch: %{ix86} x86_64
- RediSearch
ExclusiveArch: x86_64
- SLOF
ExclusiveArch: ppc64le
- YafaRay
ExclusiveArch: %{ix86} x86_64
- aardvark-dns
ExclusiveArch: %{golang_arches_future}
ExclusiveArch: aarch64 ppc64le s390x x86_64
- accel-config
ExclusiveArch: %{ix86} x86_64
- acpid
ExclusiveArch: ia64 x86_64 %{ix86} %{arm} aarch64
- ahven
ExclusiveArch: %{GPRbuild_arches}
- algobox
ExclusiveArch: %{qt5_qtwebengine_arches}
- american-fuzzy-lop
ExclusiveArch: %{ix86} x86_64 s390x
- anet
ExclusiveArch: %{GPRbuild_arches}
- ant
ExclusiveArch: %{java_arches} noarch
- ant-antunit
ExclusiveArch: %{java_arches} noarch
- ant-contrib
ExclusiveArch: %{java_arches} noarch
- antlr
ExclusiveArch: %{java_arches}
- antlr-maven-plugin
ExclusiveArch: %{java_arches} noarch
- antlr3
ExclusiveArch: %{java_arches}
- antlr4-project
ExclusiveArch: %{java_arches}
- antlrworks
ExclusiveArch: %{java_arches} noarch
- aopalliance
ExclusiveArch: %{java_arches} noarch
- apache-commons-beanutils
ExclusiveArch: %{java_arches} noarch
- apache-commons-cli
ExclusiveArch: %{java_arches} noarch
- apache-commons-codec
ExclusiveArch: %{java_arches} noarch
- apache-commons-collections
ExclusiveArch: %{java_arches} noarch
- apache-commons-collections4
ExclusiveArch: %{java_arches} noarch
- apache-commons-compress
ExclusiveArch: %{java_arches} noarch
- apache-commons-configuration
ExclusiveArch: %{java_arches} noarch
- apache-commons-digester
ExclusiveArch: %{java_arches} noarch
- apache-commons-exec
ExclusiveArch: %{java_arches} noarch
- apache-commons-io
ExclusiveArch: %{java_arches} noarch
- apache-commons-jexl
ExclusiveArch: %{java_arches} noarch
- apache-commons-jxpath
ExclusiveArch: %{java_arches} noarch
- apache-commons-lang3
ExclusiveArch: %{java_arches} noarch
- apache-commons-logging
ExclusiveArch: %{java_arches} noarch
- apache-commons-math
ExclusiveArch: %{java_arches} noarch
- apache-commons-modeler
ExclusiveArch: %{java_arches} noarch
- apache-commons-net
ExclusiveArch: %{java_arches} noarch
- apache-commons-parent
ExclusiveArch: %{java_arches} noarch
- apache-commons-pool
ExclusiveArch: %{java_arches} noarch
- apache-commons-vfs
ExclusiveArch: %{java_arches} noarch
- apache-ivy
ExclusiveArch: %{java_arches} noarch
- apache-parent
ExclusiveArch: %{java_arches} noarch
- apache-resource-bundles
ExclusiveArch: %{java_arches} noarch
- apache-sshd
ExclusiveArch: %{java_arches} noarch
- apiguardian
ExclusiveArch: %{java_arches} noarch
- apmd
ExclusiveArch: %{ix86}
- appstream-generator
ExclusiveArch: %{ldc_arches}
- aqute-bnd
ExclusiveArch: %{java_arches} noarch
- args4j
ExclusiveArch: %{java_arches} noarch
- arianna
ExclusiveArch: %{qt5_qtwebengine_arches}
- arm-trusted-firmware
ExclusiveArch: aarch64
- assertj-core
ExclusiveArch: %{java_arches} noarch
- atinject
ExclusiveArch: %{java_arches} noarch
- aunit
ExclusiveArch: %GPRbuild_arches
- auto
ExclusiveArch: %{java_arches} noarch
- avgtime
ExclusiveArch: %{ldc_arches}
- aws
ExclusiveArch: %GPRbuild_arches
- azure-cli
ExclusiveArch: %{java_arches} noarch
- batik
ExclusiveArch: %{java_arches} noarch
- bcal
ExclusiveArch: x86_64 aarch64 ia64 ppc64 ppc64le s390x
- bcc
ExclusiveArch: x86_64 %{power64} aarch64 s390x armv7hl
- bcel
ExclusiveArch: %{java_arches} noarch
- bcm283x-firmware
ExclusiveArch: aarch64
- beansbinding
ExclusiveArch: %{java_arches} noarch
- belle-sip
ExclusiveArch: %{java_arches}
- berusky2
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{mips}
- beust-jcommander
ExclusiveArch: %{java_arches} noarch
- bibletime
ExclusiveArch: %{java_arches}
- biosdevname
ExclusiveArch: %{ix86} x86_64
- bless
ExclusiveArch: %mono_arches
- bodhi-server
ExclusiveArch: %{golang_arches_future}
- bolzplatz2006
ExclusiveArch: %{java_arches}
- bouncycastle
ExclusiveArch: %{java_arches} noarch
- box64
ExclusiveArch: aarch64 ppc64le x86_64
- bpftrace
ExclusiveArch: x86_64 %{power64} aarch64 s390x
- brazil
ExclusiveArch: %{java_arches} noarch
- bsf
ExclusiveArch: %{java_arches} noarch
- bsh
ExclusiveArch: %{java_arches} noarch
- build-helper-maven-plugin
ExclusiveArch: %{java_arches} noarch
- buildah
ExclusiveArch: %{golang_arches_future}
ExclusiveArch: aarch64 ppc64le s390x x86_64
- byte-buddy
ExclusiveArch: %{java_arches} noarch
- byteman
ExclusiveArch: %{java_arches} noarch
- cachelib
ExclusiveArch: x86_64 aarch64 ppc64le
- caddy
ExclusiveArch: %{golang_arches_future}
ExclusiveArch: %{golang_arches}
- calamares
ExclusiveArch: %{ix86} x86_64 aarch64
- calibre
ExclusiveArch: aarch64 x86_64
- cambozola
ExclusiveArch: %{java_arches} noarch
- canl-java
ExclusiveArch: %{java_arches} noarch
- catatonit
ExclusiveArch: aarch64 ppc64le s390x x86_64
ExclusiveArch: %{golang_arches_future}
- ccdciel
ExclusiveArch: %{fpc_arches}
- cdcollect
ExclusiveArch: %{mono_arches}
- cdi-api
ExclusiveArch: %{java_arches} noarch
- ceph
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- cglib
ExclusiveArch: %{java_arches} noarch
- chromium
ExclusiveArch: x86_64
ExclusiveArch: x86_64 aarch64
ExclusiveArch: x86_64 aarch64
- cjdns
ExclusiveArch: %{nodejs_arches}
- classloader-leak-test-framework
ExclusiveArch: %{java_arches} noarch
- classpathless-compiler
ExclusiveArch: %{java_arches} noarch
- clevis-pin-tpm2
ExclusiveArch: %{rust_arches}
- clojure
ExclusiveArch: %{java_arches} noarch
- clojure-core-specs-alpha
ExclusiveArch: %{java_arches} noarch
- clojure-maven-plugin
ExclusiveArch: %{java_arches} noarch
- clojure-spec-alpha
ExclusiveArch: %{java_arches} noarch
- cmospwd
ExclusiveArch: %{ix86} x86_64
- cmrt
ExclusiveArch: %{ix86} x86_64 ia64
- codehaus-parent
ExclusiveArch: %{java_arches} noarch
- colorful
ExclusiveArch: %{fpc_arches}
- colossus
ExclusiveArch: %{java_arches} noarch
- conmon
ExclusiveArch: %{golang_arches_future}
- console-image-viewer
ExclusiveArch: %{java_arches} noarch
- containernetworking-plugins
ExclusiveArch: %{golang_arches}
- coq
ExclusiveArch: %{ocaml_native_compiler}
- cortado
ExclusiveArch: %{java_arches} noarch
- cpu-x
ExclusiveArch: i686 x86_64
- cpufetch
ExclusiveArch: %{arm} aarch64 x86_64 ppc ppc64 ppc64le
- cpuid
ExclusiveArch: %{ix86} x86_64
- cpuinfo
ExclusiveArch: x86_64 aarch64
- cqrlog
ExclusiveArch: %{fpc_arches}
- crash
ExclusiveArch: %{ix86} ia64 x86_64 ppc ppc64 s390 s390x %{arm} aarch64 ppc64le
- crash-gcore-command
ExclusiveArch: aarch64 ppc64le x86_64
- crash-trace-command
ExclusiveArch: aarch64 ppc64le s390x x86_64
- credentials-fetcher
ExclusiveArch: x86_64 aarch64 s390x
- cri-o
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- cri-tools
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- criu
ExclusiveArch: x86_64 %{arm} ppc64le aarch64 s390x
- crun
ExclusiveArch: %{golang_arches_future}
ExclusiveArch: aarch64 ppc64le riscv64 s390x x86_64
- cryptlib
ExclusiveArch: x86_64 aarch64 ppc64le
- crypto-policies
ExclusiveArch: %{java_arches} noarch
- cryptobone
ExclusiveArch: x86_64 ppc64le aarch64
- csslint
ExclusiveArch: %{nodejs_arches} noarch
- cvc5
ExclusiveArch: %{java_arches}
- daq
ExclusiveArch: x86_64 aarch64
- dbus-sharp
ExclusiveArch: %mono_arches
- dbus-sharp-glib
ExclusiveArch: %mono_arches
- decentxml
ExclusiveArch: %{java_arches} noarch
- deepin-daemon
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- deepin-desktop-schemas
ExclusiveArch: %{go_arches}
- directory-maven-plugin
ExclusiveArch: %{java_arches} noarch
- dirgra
ExclusiveArch: %{java_arches} noarch
- disruptor
ExclusiveArch: %{java_arches} noarch
- ditaa
ExclusiveArch: %{java_arches} noarch
- dlm
ExclusiveArch: i686 x86_64
- dmidecode
ExclusiveArch: %{ix86} x86_64 ia64 aarch64
- dmtcp
ExclusiveArch: x86_64
- docker-distribution
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- dogtag-pki
ExclusiveArch: %{java_arches}
- dolphin-emu
ExclusiveArch: x86_64 aarch64
- dom4j
ExclusiveArch: %{java_arches} noarch
- dotnet6.0
ExclusiveArch: aarch64 x86_64 s390x
ExclusiveArch: x86_64
- dotnet7.0
ExclusiveArch: aarch64 ppc64le s390x x86_64
ExclusiveArch: x86_64
- doublecmd
ExclusiveArch: %{ix86} x86_64
- dpdk
ExclusiveArch: x86_64 i686 aarch64 ppc64le
- dub
ExclusiveArch: %{ldc_arches}
- dxvk-native
ExclusiveArch: %{ix86} x86_64
- dyninst
ExclusiveArch: %{ix86} x86_64 ppc64le aarch64
- e3
ExclusiveArch: %{ix86} x86_64
- easymock
ExclusiveArch: %{java_arches} noarch
- ecj
ExclusiveArch: %{java_arches} noarch
- eclipse-swt
ExclusiveArch: %{java_arches}
- ed25519-java
ExclusiveArch: %{java_arches} noarch
- edk2
ExclusiveArch: x86_64 aarch64
- efibootmgr
ExclusiveArch: %{efi}
- efifs
ExclusiveArch: %{efi}
- efitools
ExclusiveArch: %{efi}
- efivar
ExclusiveArch: %{efi}
- elk
ExclusiveArch: x86_64 %{ix86}
ExclusiveArch: x86_64 %{ix86} aarch64 %{arm} %{power64}
- emacs-slime
ExclusiveArch: %{arm} %{ix86} x86_64 ppc sparcv9 aarch64
- embree
ExclusiveArch: aarch64 x86_64
- embree3
ExclusiveArch: aarch64 x86_64
- enjarify
ExclusiveArch: %{java_arches} noarch
- enki
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- envytools
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- eric
ExclusiveArch: %{qt5_qtwebengine_arches} noarch
- erlang-corba
ExclusiveArch: %{java_arches}
- esmi_ib_library
ExclusiveArch: x86_64
- eth-tools
ExclusiveArch: x86_64
- exec-maven-plugin
ExclusiveArch: %{java_arches} noarch
- external-editor-revived
ExclusiveArch: %{rust_arches}
- extra-enforcer-rules
ExclusiveArch: %{java_arches} noarch
- fasterxml-oss-parent
ExclusiveArch: %{java_arches} noarch
- fb303
ExclusiveArch: x86_64 aarch64 ppc64le
- fbthrift
ExclusiveArch: x86_64 aarch64 ppc64le
- fcitx-libpinyin
ExclusiveArch: %{qt5_qtwebengine_arches}
- fedora-dockerfiles
ExclusiveArch: %{go_arches}
- felix-parent
ExclusiveArch: %{java_arches} noarch
- felix-utils
ExclusiveArch: %{java_arches} noarch
- fernflower
ExclusiveArch: %{java_arches} noarch
- fes
ExclusiveArch: %{ix86} x86_64
- filedrop
ExclusiveArch: %{java_arches} noarch
- firecracker
ExclusiveArch: aarch64 x86_64
- fishbowl
ExclusiveArch: %{java_arches} noarch
- fizz
ExclusiveArch: x86_64 aarch64 ppc64le
- flocq
ExclusiveArch: %{ocaml_native_compiler}
- florist
ExclusiveArch: %{GPRbuild_arches}
- fluent-bit
ExclusiveArch: x86_64 aarch64
- flute
ExclusiveArch: %{java_arches} noarch
- folly
ExclusiveArch: x86_64 aarch64 ppc64le
- fop
ExclusiveArch: %{java_arches} noarch
- forge-parent
ExclusiveArch: %{java_arches} noarch
- fpc
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64 ppc64le
- frama-c
ExclusiveArch: %{ocaml_native_compiler}
- freecol
ExclusiveArch: %{java_arches} noarch
- freemarker
ExclusiveArch: %{java_arches} noarch
- freerouting
ExclusiveArch: %{java_arches} noarch
- frescobaldi
ExclusiveArch: %{qt5_qtwebengine_arches}
- frysk
ExclusiveArch: x86_64 ppc64
- fuse-overlayfs
ExclusiveArch: %{arm64} ppc64le s390x x86_64
- fusesource-pom
ExclusiveArch: %{java_arches} noarch
- fwts
ExclusiveArch: x86_64 %{arm} aarch64 s390x riscv64 %{power64}
- fwupd-efi
ExclusiveArch: x86_64 aarch64
- ga
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- gap
ExclusiveArch: %{gap_arches}
- gap-pkg-ace
ExclusiveArch: %{gap_arches}
- gap-pkg-aclib
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-alnuth
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-atlasrep
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-autodoc
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-automata
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-autpgrp
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-browse
ExclusiveArch: %{gap_arches}
- gap-pkg-caratinterface
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-circle
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-cohomolo
ExclusiveArch: %{gap_arches}
- gap-pkg-congruence
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-corelg
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-crime
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-crisp
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-crypting
ExclusiveArch: %{gap_arches}
- gap-pkg-cryst
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-crystcat
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-ctbllib
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-curlinterface
ExclusiveArch: %{gap_arches}
- gap-pkg-cvec
ExclusiveArch: %{gap_arches}
- gap-pkg-datastructures
ExclusiveArch: %{gap_arches}
- gap-pkg-design
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-digraphs
ExclusiveArch: %{gap_arches}
- gap-pkg-edim
ExclusiveArch: %{gap_arches}
- gap-pkg-factint
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-ferret
ExclusiveArch: %{gap_arches}
- gap-pkg-fga
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-fining
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-float
ExclusiveArch: %{gap_arches}
- gap-pkg-format
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-forms
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-fr
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-francy
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-gbnp
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-genss
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-grape
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-groupoids
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-grpconst
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-guava
ExclusiveArch: %{gap_arches}
- gap-pkg-hap
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-hapcryst
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-hecke
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-images
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-io
ExclusiveArch: %{gap_arches}
- gap-pkg-irredsol
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-json
ExclusiveArch: %{gap_arches}
- gap-pkg-jupyterkernel
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-jupyterviz
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-laguna
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-liealgdb
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-liepring
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-liering
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-loops
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-lpres
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-mapclass
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-nautytracesinterface
ExclusiveArch: %{gap_arches}
- gap-pkg-nq
ExclusiveArch: %{gap_arches}
- gap-pkg-openmath
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-orb
ExclusiveArch: %{gap_arches}
- gap-pkg-polenta
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-polycyclic
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-polymaking
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-primgrp
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-profiling
ExclusiveArch: %{gap_arches}
- gap-pkg-qpa
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-quagroup
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-radiroot
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-recog
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-repsn
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-resclasses
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-scscp
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-semigroups
ExclusiveArch: %{gap_arches}
- gap-pkg-singular
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-sla
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-smallgrp
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-smallsemi
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-sonata
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-sophus
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-spinsym
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-standardff
ExclusiveArch: %{gap_arches}
- gap-pkg-tomlib
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-toric
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-transgrp
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-utils
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-uuid
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-xmod
ExclusiveArch: %{gap_arches} noarch
- gap-pkg-zeromqinterface
ExclusiveArch: %{gap_arches}
- gappalib-coq
ExclusiveArch: %{ocaml_native_compiler}
- gbrainy
ExclusiveArch: %mono_arches
- gdb
ExclusiveArch: %{ix86} x86_64
- gdb-exploitable
ExclusiveArch: x86_64 i386
ExclusiveArch: x86_64 noarch
- gearhead1
ExclusiveArch: %{fpc_arches}
- gearhead2
ExclusiveArch: %{fpc_arches}
- ghdl
ExclusiveArch: %{GNAT_arches}
- ghostwriter
ExclusiveArch: %{qt5_qtwebengine_arches}
- gio-sharp
ExclusiveArch: %mono_arches
- gir-to-d
ExclusiveArch: %{ldc_arches}
- git-octopus
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- gitqlient
ExclusiveArch: %{qt5_qtwebengine_arches}
- giver
ExclusiveArch: %{mono_arches}
- gkeyfile-sharp
ExclusiveArch: %mono_arches
- glibc32
ExclusiveArch: x86_64
- glibd
ExclusiveArch: %{ldc_arches}
- gnatcoll
ExclusiveArch: %{GPRbuild_arches}
- gnatcoll-bindings
ExclusiveArch: %{GPRbuild_arches}
- gnatcoll-db
ExclusiveArch: %{GPRbuild_arches}
- gnome-boxes
ExclusiveArch: x86_64
- gnome-desktop-sharp
ExclusiveArch: %mono_arches
- gnome-do
ExclusiveArch: %mono_arches
- gnome-keyring-sharp
ExclusiveArch: %mono_arches
- gnome-rdp
ExclusiveArch: %{mono_arches}
- gnome-sharp
ExclusiveArch: %mono_arches
- gnome-subtitles
ExclusiveArch: %mono_arches
- gnu-efi
ExclusiveArch: %{efi}
- go-bindata
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- godep
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang
ExclusiveArch: %{golang_arches}
- google-gson
ExclusiveArch: %{java_arches} noarch
- google-guice
ExclusiveArch: %{java_arches} noarch
- gotun
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
ExclusiveArch: x86_64
- goverlay
ExclusiveArch: %{fpc_arches}
- gprbuild
ExclusiveArch: %{GPRbuild_arches}
- gprolog
ExclusiveArch: x86_64 %{ix86} ppc alpha aarch64
- grafana
ExclusiveArch: %{grafana_arches}
- grafana-pcp
ExclusiveArch: %{grafanapcp_arches}
- gtk-sharp-beans
ExclusiveArch: %mono_arches
- gtk-sharp2
ExclusiveArch: %mono_arches
- gtk-sharp3
ExclusiveArch: %{mono_arches}
- gtkd
ExclusiveArch: %{ldc_arches}
- guava
ExclusiveArch: %{java_arches} noarch
- gudev-sharp
ExclusiveArch: %mono_arches
- guestfs-tools
ExclusiveArch: %{kernel_arches}
- gvisor-tap-vsock
ExclusiveArch: %{golang_arches_future}
- hamcrest
ExclusiveArch: %{java_arches} noarch
- harec
ExclusiveArch: x86_64 aarch64
- hawtjni
ExclusiveArch: %{java_arches} noarch
- hedgewars
ExclusiveArch: %{fpc_arches}
- hibernate-jpa-2.0-api
ExclusiveArch: %{java_arches} noarch
- hid4java
ExclusiveArch: %{java_arches} noarch
- hipcub
ExclusiveArch: x86_64
- hsakmt
ExclusiveArch: x86_64 aarch64 ppc64le
- httpcomponents-client
ExclusiveArch: %{java_arches} noarch
- httpcomponents-core
ExclusiveArch: %{java_arches} noarch
- httpcomponents-project
ExclusiveArch: %{java_arches} noarch
- hyena
ExclusiveArch: %{mono_arches}
- hyperscan
ExclusiveArch: x86_64
- hyperv-daemons
ExclusiveArch: i686 x86_64 aarch64
- icaro
ExclusiveArch: %{ix86} x86_64 noarch
- icedtea-web
ExclusiveArch: %{java_arches}
- icu4j
ExclusiveArch: %{java_arches} noarch
- imagej
ExclusiveArch: %{java_arches} noarch
- imhex
ExclusiveArch: x86_64 %{arm64}
- imvirt
ExclusiveArch: %{ix86} x86_64 ia64
- indistarter
ExclusiveArch: %{fpc_arches}
- infinipath-psm
ExclusiveArch: x86_64
- intel-cm-compiler
ExclusiveArch: i686 x86_64
- intel-cmt-cat
ExclusiveArch: x86_64 i686 i586
ExclusiveArch: x86_64 i686 i586
- intel-compute-runtime
ExclusiveArch: x86_64
- intel-gmmlib
ExclusiveArch: x86_64 i686
- intel-igc
ExclusiveArch: x86_64
- intel-ipp-crypto-mb
ExclusiveArch: x86_64
- intel-ipsec-mb
ExclusiveArch: x86_64
- intel-mediasdk
ExclusiveArch: x86_64
- intel-undervolt
ExclusiveArch: i386 x86_64
- ioport
ExclusiveArch: %{ix86} x86_64
- ipmctl
ExclusiveArch: x86_64
- ispc
ExclusiveArch: x86_64 aarch64
- iucode-tool
ExclusiveArch: %{ix86} x86_64
- iyfct
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- jFormatString
ExclusiveArch: %{java_arches} noarch
- jackson-annotations
ExclusiveArch: %{java_arches} noarch
- jackson-bom
ExclusiveArch: %{java_arches} noarch
- jackson-core
ExclusiveArch: %{java_arches} noarch
- jackson-databind
ExclusiveArch: %{java_arches} noarch
- jackson-dataformats-binary
ExclusiveArch: %{java_arches} noarch
- jackson-dataformats-text
ExclusiveArch: %{java_arches} noarch
- jackson-jaxrs-providers
ExclusiveArch: %{java_arches} noarch
- jackson-modules-base
ExclusiveArch: %{java_arches} noarch
- jackson-parent
ExclusiveArch: %{java_arches} noarch
- jacoco
ExclusiveArch: %{java_arches} noarch
- jacop
ExclusiveArch: %{java_arches} noarch
- jakarta-activation
ExclusiveArch: %{java_arches} noarch
- jakarta-activation1
ExclusiveArch: %{java_arches} noarch
- jakarta-annotations
ExclusiveArch: %{java_arches} noarch
- jakarta-el
ExclusiveArch: %{java_arches} noarch
- jakarta-interceptors
ExclusiveArch: %{java_arches} noarch
- jakarta-json
ExclusiveArch: %{java_arches} noarch
- jakarta-mail
ExclusiveArch: %{java_arches} noarch
- jakarta-oro
ExclusiveArch: %{java_arches} noarch
- jakarta-saaj
ExclusiveArch: %{java_arches} noarch
- jakarta-server-pages
ExclusiveArch: %{java_arches} noarch
- jakarta-servlet
ExclusiveArch: %{java_arches} noarch
- jakarta-xml-ws
ExclusiveArch: %{java_arches} noarch
- janino
ExclusiveArch: %{java_arches} noarch
- jansi
ExclusiveArch: %{java_arches}
- jansi-native
ExclusiveArch: %{java_arches}
- jansi1
ExclusiveArch: %{java_arches} noarch
- java-1.8.0-openjdk
ExclusiveArch: %{java_arches}
- java-1.8.0-openjdk-aarch32
ExclusiveArch: %{arm}
- java-1.8.0-openjdk-portable
ExclusiveArch: %{java_arches}
- java-11-openjdk
ExclusiveArch: %{java_arches}
- java-11-openjdk-portable
ExclusiveArch: %{java_arches}
- java-17-openjdk
ExclusiveArch: %{java_arches}
- java-17-openjdk-portable
ExclusiveArch: %{java_arches}
- java-diff-utils
ExclusiveArch: %{java_arches} noarch
- java-dirq
ExclusiveArch: %{java_arches} noarch
- java-jd-decompiler
ExclusiveArch: %{java_arches} noarch
- java-latest-openjdk
ExclusiveArch: %{java_arches}
- java-latest-openjdk-portable
ExclusiveArch: %{java_arches}
- java-runtime-decompiler
ExclusiveArch: %{java_arches} noarch
- java-scrypt
ExclusiveArch: %{java_arches} noarch
- java_cup
ExclusiveArch: %{java_arches} noarch
- javacc
ExclusiveArch: %{java_arches} noarch
- javacc-maven-plugin
ExclusiveArch: %{java_arches} noarch
- javaewah
ExclusiveArch: %{java_arches} noarch
- javapackages-bootstrap
ExclusiveArch: %{java_arches}
- javaparser
ExclusiveArch: %{java_arches} noarch
- javapoet
ExclusiveArch: %{java_arches} noarch
- javassist
ExclusiveArch: %{java_arches} noarch
- jaxb
ExclusiveArch: %{java_arches} noarch
- jaxb-api
ExclusiveArch: %{java_arches} noarch
- jaxb-api2
ExclusiveArch: %{java_arches} noarch
- jaxb-dtd-parser
ExclusiveArch: %{java_arches} noarch
- jaxb-fi
ExclusiveArch: %{java_arches} noarch
- jaxb-istack-commons
ExclusiveArch: %{java_arches} noarch
- jaxb-stax-ex
ExclusiveArch: %{java_arches} noarch
- jaxen
ExclusiveArch: %{java_arches} noarch
- jboss-jaxrs-2.0-api
ExclusiveArch: %{java_arches} noarch
- jboss-logging
ExclusiveArch: %{java_arches} noarch
- jboss-logging-tools
ExclusiveArch: %{java_arches} noarch
- jboss-parent
ExclusiveArch: %{java_arches} noarch
- jchardet
ExclusiveArch: %{java_arches} noarch
- jcip-annotations
ExclusiveArch: %{java_arches} noarch
- jctools
ExclusiveArch: %{java_arches} noarch
- jcuber
ExclusiveArch: %{java_arches} noarch
- jdeparser
ExclusiveArch: %{java_arches} noarch
- jdepend
ExclusiveArch: %{java_arches} noarch
- jdependency
ExclusiveArch: %{java_arches} noarch
- jdom
ExclusiveArch: %{java_arches} noarch
- jdom2
ExclusiveArch: %{java_arches} noarch
- jedit
ExclusiveArch: %{java_arches} noarch
- jericho-html
ExclusiveArch: %{java_arches} noarch
- jetty
ExclusiveArch: %{java_arches} noarch
- jflex
ExclusiveArch: %{java_arches} noarch
- jfreechart
ExclusiveArch: %{java_arches} noarch
- jgit
ExclusiveArch: %{java_arches} noarch
- jglobus
ExclusiveArch: %{java_arches} noarch
- jgoodies-common
ExclusiveArch: %{java_arches} noarch
- jgoodies-forms
ExclusiveArch: %{java_arches} noarch
- jgoodies-looks
ExclusiveArch: %{java_arches} noarch
- jigawatts
ExclusiveArch: x86_64 %{arm} ppc64le aarch64 s390x
- jline
ExclusiveArch: %{java_arches}
- jline2
ExclusiveArch: %{java_arches} noarch
- jmock
ExclusiveArch: %{java_arches} noarch
- jmol
ExclusiveArch: %{java_arches} noarch
- jna
ExclusiveArch: %{java_arches}
- jneuroml-core
ExclusiveArch: %{java_arches} noarch
- jni-inchi
ExclusiveArch: %{java_arches}
- jol
ExclusiveArch: %{java_arches} noarch
- jolokia-jvm-agent
ExclusiveArch: %{java_arches} noarch
- jopt-simple
ExclusiveArch: %{java_arches} noarch
- jorbis
ExclusiveArch: %{java_arches} noarch
- jowl
ExclusiveArch: %{nodejs_arches} noarch
- jpanoramamaker
ExclusiveArch: %{java_arches} noarch
- jsch
ExclusiveArch: %{java_arches} noarch
- jsch-agent-proxy
ExclusiveArch: %{java_arches} noarch
- json_simple
ExclusiveArch: %{java_arches} noarch
- jsoup
ExclusiveArch: %{java_arches} noarch
- jsr-305
ExclusiveArch: %{java_arches} noarch
- jss
ExclusiveArch: %{java_arches}
- jssc
ExclusiveArch: %{java_arches}
- jtidy
ExclusiveArch: %{java_arches} noarch
- julia
ExclusiveArch: x86_64
- junit
ExclusiveArch: %{java_arches} noarch
- junit5
ExclusiveArch: %{java_arches} noarch
- juniversalchardet
ExclusiveArch: %{java_arches} noarch
- jzlib
ExclusiveArch: %{java_arches} noarch
- kaidan
ExclusiveArch: %{qt5_qtwebengine_arches}
- kchmviewer
ExclusiveArch: %{qt5_qtwebengine_arches}
- kernel
ExclusiveArch: noarch x86_64 s390x aarch64 ppc64le
ExclusiveArch: noarch i386 i686 x86_64 s390x aarch64 ppc64le
- keylime-agent-rust
ExclusiveArch: %{rust_arches}
- keyring-ima-signer
ExclusiveArch: %{rust_arches}
- kf5-akonadi-search
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-audiocd-kio
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kblog
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kcalendarcore
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kcalendarutils
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-kitinerary
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-ktnef
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- kf5-libkdcraw
ExclusiveArch: x86_64 ppc64le %{arm}
- kicad
ExclusiveArch: x86_64 aarch64 ppc64le
- kiwix-desktop
ExclusiveArch: %{qt5_qtwebengine_arches}
- knot-resolver
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- knotes
ExclusiveArch: x86_64 %{arm}
- kubernetes
ExclusiveArch: x86_64 aarch64 ppc64le s390x %{arm}
- laf-plugin
ExclusiveArch: %{java_arches} noarch
- lazarus
ExclusiveArch: %{fpc_arches}
- lazpaint
ExclusiveArch: %{fpc_arches}
- ldapjdk
ExclusiveArch: %{java_arches} noarch
- ldc
ExclusiveArch: %{ldc_arches} ppc64le
- ldc1.30
ExclusiveArch: %{ldc_arches} ppc64le
- ldc1.32
ExclusiveArch: %{ldc_arches} ppc64le
- libbase
ExclusiveArch: %{java_arches} noarch
- libclc
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{power64} s390x
- libcxl
ExclusiveArch: %{power64}
- libdfp
ExclusiveArch: ppc ppc64 ppc64le s390 s390x x86_64
- libdispatch
ExclusiveArch: x86_64 aarch64 ppc64le
- libfonts
ExclusiveArch: %{java_arches} noarch
- libformula
ExclusiveArch: %{java_arches} noarch
- libguestfs
ExclusiveArch: %{kernel_arches}
- libica
ExclusiveArch: s390 s390x
- libipt
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
- libkgapi
ExclusiveArch: x86_64 ppc64le aarch64 %{arm}
- libkrun
ExclusiveArch: x86_64 aarch64
- libkrunfw
ExclusiveArch: x86_64 aarch64
- liblayout
ExclusiveArch: %{java_arches} noarch
- libloader
ExclusiveArch: %{java_arches} noarch
- libnxz
ExclusiveArch: ppc64le
- libocxl
ExclusiveArch: ppc64le
- libpsm2
ExclusiveArch: x86_64
- libquentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- libreoffice-TexMaths
ExclusiveArch: %{java_arches}
- librepository
ExclusiveArch: %{java_arches} noarch
- libretro-desmume2015
ExclusiveArch: i686 x86_64
- librtas
ExclusiveArch: %{power64}
- libserializer
ExclusiveArch: %{java_arches} noarch
- libservicelog
ExclusiveArch: ppc %{power64}
- libsmbios
ExclusiveArch: x86_64 %{ix86}
- libunicode
ExclusiveArch: x86_64 aarch64
- libunwind
ExclusiveArch: %{arm} aarch64 hppa ia64 mips ppc %{power64} s390x %{ix86} x86_64
- libva-nvidia-driver
ExclusiveArch: %{x86_64} %{ix86} %{arm64} ppc64le
- libvirt-java
ExclusiveArch: %{java_arches} noarch
- libvma
ExclusiveArch: x86_64 ppc64le ppc64 aarch64
- libvmi
ExclusiveArch: x86_64
- libvpd
ExclusiveArch: %{power64}
- libxsmm
ExclusiveArch: x86_64
- libzdnn
ExclusiveArch: s390x
- libzfcphbaapi
ExclusiveArch: s390 s390x
- libzpc
ExclusiveArch: s390x
- llhttp
ExclusiveArch: %{nodejs_arches}
- log4j
ExclusiveArch: %{java_arches} noarch
- log4net
ExclusiveArch: %mono_arches
- lrmi
ExclusiveArch: %{ix86}
- lsvpd
ExclusiveArch: %{power64}
- luajit
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
- lucene
ExclusiveArch: %{java_arches} noarch
- lujavrite
ExclusiveArch: %{java_arches}
- luxcorerender
ExclusiveArch: x86_64
- mactel-boot
ExclusiveArch: x86_64
- magicmirror
ExclusiveArch: %{nodejs_arches} noarch
- magicmirror-module-airnow
ExclusiveArch: %{nodejs_arches} noarch
- magicmirror-module-onthisday
ExclusiveArch: %{nodejs_arches} noarch
- magicmirror-module-singlestock
ExclusiveArch: %{nodejs_arches} noarch
- manifest-tool
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- mariadb-java-client
ExclusiveArch: %{java_arches} noarch
- marked
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- matrix-synapse
ExclusiveArch: %{rust_arches}
- maui-mauikit
ExclusiveArch: %{ix86} s390x aarch64 x86_64
- maven
ExclusiveArch: %{java_arches} noarch
- maven-antrun-plugin
ExclusiveArch: %{java_arches} noarch
- maven-archetype
ExclusiveArch: %{java_arches} noarch
- maven-archiver
ExclusiveArch: %{java_arches} noarch
- maven-artifact-transfer
ExclusiveArch: %{java_arches} noarch
- maven-assembly-plugin
ExclusiveArch: %{java_arches} noarch
- maven-bundle-plugin
ExclusiveArch: %{java_arches} noarch
- maven-clean-plugin
ExclusiveArch: %{java_arches} noarch
- maven-common-artifact-filters
ExclusiveArch: %{java_arches} noarch
- maven-compiler-plugin
ExclusiveArch: %{java_arches} noarch
- maven-dependency-analyzer
ExclusiveArch: %{java_arches} noarch
- maven-dependency-plugin
ExclusiveArch: %{java_arches} noarch
- maven-dependency-tree
ExclusiveArch: %{java_arches} noarch
- maven-doxia
ExclusiveArch: %{java_arches} noarch
- maven-doxia-sitetools
ExclusiveArch: %{java_arches} noarch
- maven-enforcer
ExclusiveArch: %{java_arches} noarch
- maven-file-management
ExclusiveArch: %{java_arches} noarch
- maven-filtering
ExclusiveArch: %{java_arches} noarch
- maven-invoker
ExclusiveArch: %{java_arches} noarch
- maven-invoker-plugin
ExclusiveArch: %{java_arches} noarch
- maven-jar-plugin
ExclusiveArch: %{java_arches} noarch
- maven-mapping
ExclusiveArch: %{java_arches} noarch
- maven-native
ExclusiveArch: %{java_arches} noarch
- maven-parent
ExclusiveArch: %{java_arches} noarch
- maven-patch-plugin
ExclusiveArch: %{java_arches} noarch
- maven-plugin-testing
ExclusiveArch: %{java_arches} noarch
- maven-plugin-tools
ExclusiveArch: %{java_arches} noarch
- maven-remote-resources-plugin
ExclusiveArch: %{java_arches} noarch
- maven-reporting-api
ExclusiveArch: %{java_arches} noarch
- maven-reporting-impl
ExclusiveArch: %{java_arches} noarch
- maven-resolver
ExclusiveArch: %{java_arches} noarch
- maven-resources-plugin
ExclusiveArch: %{java_arches} noarch
- maven-script-interpreter
ExclusiveArch: %{java_arches} noarch
- maven-shade-plugin
ExclusiveArch: %{java_arches} noarch
- maven-shared-incremental
ExclusiveArch: %{java_arches} noarch
- maven-shared-io
ExclusiveArch: %{java_arches} noarch
- maven-shared-utils
ExclusiveArch: %{java_arches} noarch
- maven-source-plugin
ExclusiveArch: %{java_arches} noarch
- maven-surefire
ExclusiveArch: %{java_arches} noarch
- maven-verifier
ExclusiveArch: %{java_arches} noarch
- maven-verifier-plugin
ExclusiveArch: %{java_arches} noarch
- maven-wagon
ExclusiveArch: %{java_arches} noarch
- maxima
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc sparcv9
ExclusiveArch: %{ix86} x86_64 ppc sparcv9
- mbpfan
ExclusiveArch: x86_64
- mcelog
ExclusiveArch: i686 x86_64
- mcrouter
ExclusiveArch: x86_64 aarch64 ppc64le
- mecab-java
ExclusiveArch: %java_arches
- mediaconch
ExclusiveArch: %{qt5_qtwebengine_arches}
- mellowplayer
ExclusiveArch: %{qt5_qtwebengine_arches}
- memkind
ExclusiveArch: x86_64 ppc64 ppc64le s390x aarch64
- memtest86+
ExclusiveArch: x86_64 %{ix86}
- microcode_ctl
ExclusiveArch: %{ix86} x86_64
- micropython
ExclusiveArch: %{arm} x86_64 riscv64
- miglayout
ExclusiveArch: %{java_arches} noarch
- mine_detector
ExclusiveArch: %{GPRbuild_arches}
- minetest
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
- mingw-libidn2
ExclusiveArch: %{ix86} x86_64 %{arm}
- mingw-wine-gecko
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- mkbootdisk
ExclusiveArch: %{ix86} sparc sparc64 x86_64
- moby-engine
ExclusiveArch: %{golang_arches}
- mockito
ExclusiveArch: %{java_arches} noarch
- mod_mono
ExclusiveArch: %mono_arches
- modello
ExclusiveArch: %{java_arches} noarch
- moditect
ExclusiveArch: %{java_arches} noarch
- module-build-service
ExclusiveArch: %{ix86} x86_64 noarch
- modulemaker-maven-plugin
ExclusiveArch: %{java_arches} noarch
- mojo-executor
ExclusiveArch: %{java_arches} noarch
- mojo-parent
ExclusiveArch: %{java_arches} noarch
- mokutil
ExclusiveArch: %{ix86} x86_64 aarch64 %{arm}
- mono
ExclusiveArch: %mono_arches
- mono-addins
ExclusiveArch: %mono_arches
- mono-basic
ExclusiveArch: %{mono_arches}
- mono-bouncycastle
ExclusiveArch: %mono_arches
- mono-cecil
ExclusiveArch: %mono_arches
- mono-cecil-flowanalysis
ExclusiveArch: %mono_arches
- mono-reflection
ExclusiveArch: %mono_arches
- mono-tools
ExclusiveArch: %mono_arches
- mono-zeroconf
ExclusiveArch: %mono_arches
- monodevelop
ExclusiveArch: %mono_arches
- monodevelop-debugger-gdb
ExclusiveArch: %{mono_arches}
- mrrescue
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- msr-tools
ExclusiveArch: %{ix86} x86_64
- munge-maven-plugin
ExclusiveArch: %{java_arches} noarch
- mxparser
ExclusiveArch: %{java_arches} noarch
- mysql-connector-java
ExclusiveArch: %{java_arches} noarch
- mysql-connector-net
ExclusiveArch: %{mono_arches}
- naev
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
- naga
ExclusiveArch: %{java_arches} noarch
- nant
ExclusiveArch: %mono_arches
- nativejit
ExclusiveArch: x86_64
- nbc
ExclusiveArch: %{fpc_arches}
- nbdkit
ExclusiveArch: x86_64
- ndesk-dbus
ExclusiveArch: %{mono_arches}
- ndesk-dbus-glib
ExclusiveArch: %{mono_arches}
- nekohtml
ExclusiveArch: %{java_arches} noarch
- netavark
ExclusiveArch: %{golang_arches_future}
ExclusiveArch: aarch64 ppc64le s390x x86_64
- newtonsoft-json
ExclusiveArch: %{mono_arches}
- nodejs-acorn-object-spread
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-backbone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bash-language-server
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-buble
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-colors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-generic-pool
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-less
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-linefix
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-nodemon
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-packaging
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-replace-require-self
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-underscore
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs18
ExclusiveArch: %{nodejs_arches}
- nodejs20
ExclusiveArch: %{nodejs_arches}
- nom-tam-fits
ExclusiveArch: %{java_arches} noarch
- notify-sharp
ExclusiveArch: %{mono_arches}
- notify-sharp3
ExclusiveArch: %{mono_arches}
- nuget
ExclusiveArch: %{mono_arches}
- numatop
ExclusiveArch: x86_64 ppc64le
- nunit
ExclusiveArch: %{mono_arches}
- nunit2
ExclusiveArch: %{mono_arches}
- nvml
ExclusiveArch: x86_64 ppc64le
- objectweb-asm
ExclusiveArch: %{java_arches} noarch
- objenesis
ExclusiveArch: %{java_arches} noarch
- obs-service-rust2rpm
ExclusiveArch: %{rust_arches} noarch
- oci-seccomp-bpf-hook
ExclusiveArch: x86_64 %{power64} aarch64 s390x armv7hl
ExclusiveArch: %{golang_arches_future}
- oidn
ExclusiveArch: x86_64
- olpc-utils
ExclusiveArch: %{ix86} %{arm}
- oneVPL
ExclusiveArch: x86_64
- oneVPL-intel-gpu
ExclusiveArch: x86_64
- oneapi-level-zero
ExclusiveArch: x86_64
- onednn
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- onedrive
ExclusiveArch: %{ldc_arches}
- ongres-scram
ExclusiveArch: %{java_arches} noarch
- ongres-stringprep
ExclusiveArch: %{java_arches} noarch
- opae
ExclusiveArch: x86_64
- opal-prd
ExclusiveArch: ppc64le
- open-vm-tools
ExclusiveArch: x86_64 aarch64
ExclusiveArch: %{ix86} x86_64 aarch64
ExclusiveArch: x86_64
- openblas
ExclusiveArch: %{openblas_arches}
- openjdk-asmtools
ExclusiveArch: %{java_arches} noarch
- openjdk-asmtools7
ExclusiveArch: %{java_arches} noarch
- openjfx
ExclusiveArch: %{java_arches}
- openjfx8
ExclusiveArch: x86_64
- openlibm
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 %{power64}
- openms
ExclusiveArch: %{qt5_qtwebengine_arches}
- openni
ExclusiveArch: x86_64 %{arm}
- openni-primesense
ExclusiveArch: %{ix86} x86_64 %{arm}
- openoffice.org-diafilter
ExclusiveArch: %{java_arches}
- openpgl
ExclusiveArch: aarch64 x86_64
- openssl-ibmca
ExclusiveArch: s390 s390x
- openstack-java-sdk
ExclusiveArch: %{java_arches} noarch
- opentest4j
ExclusiveArch: %{java_arches} noarch
- openvkl
ExclusiveArch: aarch64 x86_64
- optee_client
ExclusiveArch: aarch64
- options
ExclusiveArch: %{java_arches} noarch
- orthorobot
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- osgi-annotation
ExclusiveArch: %{java_arches} noarch
- osgi-compendium
ExclusiveArch: %{java_arches} noarch
- osgi-core
ExclusiveArch: %{java_arches} noarch
- pacemaker
ExclusiveArch: aarch64 i686 ppc64le s390x x86_64 %{arm}
ExclusiveArch: aarch64 i686 ppc64le s390x x86_64
- pageedit
ExclusiveArch: %{qt5_qtwebengine_arches}
- parserng
ExclusiveArch: %{java_arches} noarch
- pasdoc
ExclusiveArch: %{fpc_arches}
- pcc
ExclusiveArch: %{ix86} x86_64
- pcfi
ExclusiveArch: %{java_arches} noarch
- pcm
ExclusiveArch: %{ix86} x86_64
- pcmciautils
ExclusiveArch: %{ix86} x86_64 ia64 ppc ppc64 %{arm}
- pdbg
ExclusiveArch: ppc64le
- pdfbox
ExclusiveArch: %{java_arches} noarch
- pdfmod
ExclusiveArch: %mono_arches
- pdftk-java
ExclusiveArch: %{java_arches} noarch
- pentaho-libxml
ExclusiveArch: %{java_arches} noarch
- pentaho-reporting-flow-engine
ExclusiveArch: %{java_arches} noarch
- perl-Dumbbench
ExclusiveArch: %{ix86} x86_64 noarch
- perl-Parse-DMIDecode
ExclusiveArch: %{ix86} x86_64 ia64 aarch64
- pesign
ExclusiveArch: %{ix86} x86_64 ia64 aarch64 %{arm}
- pesign-test-app
ExclusiveArch: x86_64
- picocli
ExclusiveArch: %{java_arches} noarch
- pinta
ExclusiveArch: %mono_arches
- pioneer
ExclusiveArch: %{ix86} x86_64
- plantuml
ExclusiveArch: %{java_arches} noarch
- plasma-dialer
ExclusiveArch: %{java_arches}
- playonlinux
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- plexus-archiver
ExclusiveArch: %{java_arches} noarch
- plexus-build-api
ExclusiveArch: %{java_arches} noarch
- plexus-build-api0
ExclusiveArch: %{java_arches} noarch
- plexus-cipher
ExclusiveArch: %{java_arches} noarch
- plexus-classworlds
ExclusiveArch: %{java_arches} noarch
- plexus-compiler
ExclusiveArch: %{java_arches} noarch
- plexus-component-api
ExclusiveArch: %{java_arches} noarch
- plexus-components-pom
ExclusiveArch: %{java_arches} noarch
- plexus-containers
ExclusiveArch: %{java_arches} noarch
- plexus-i18n
ExclusiveArch: %{java_arches} noarch
- plexus-interpolation
ExclusiveArch: %{java_arches} noarch
- plexus-io
ExclusiveArch: %{java_arches} noarch
- plexus-languages
ExclusiveArch: %{java_arches} noarch
- plexus-pom
ExclusiveArch: %{java_arches} noarch
- plexus-resources
ExclusiveArch: %{java_arches} noarch
- plexus-sec-dispatcher
ExclusiveArch: %{java_arches} noarch
- plexus-utils
ExclusiveArch: %{java_arches} noarch
- plexus-velocity
ExclusiveArch: %{java_arches} noarch
- podman
ExclusiveArch: %{golang_arches_future}
ExclusiveArch: aarch64 ppc64le s390x x86_64
- poppler-sharp
ExclusiveArch: %mono_arches
- popub
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- postgresql-jdbc
ExclusiveArch: %{java_arches} noarch
- powerpc-utils
ExclusiveArch: ppc %{power64}
- powerstat
ExclusiveArch: %{ix86} x86_64
- ppc64-diag
ExclusiveArch: ppc %{power64}
- procyon
ExclusiveArch: %{java_arches} noarch
ExclusiveArch: %{java_arches} noarch
ExclusiveArch: %{java_arches} noarch
ExclusiveArch: %{java_arches} noarch
ExclusiveArch: %{java_arches} noarch
ExclusiveArch: %{java_arches} noarch
- proguard
ExclusiveArch: %{java_arches} noarch
- prometheus-jmx-exporter
ExclusiveArch: %{java_arches} noarch
- prometheus-simpleclient-java
ExclusiveArch: %{java_arches} noarch
- proxygen
ExclusiveArch: x86_64 aarch64 ppc64le
- pveclib
ExclusiveArch: ppc %{power64}
- pvs-sbcl
ExclusiveArch: x86_64
- pyqtwebengine
ExclusiveArch: %{qt5_qtwebengine_arches}
- python-ast-monitor
ExclusiveArch: %{qt6_qtwebengine_arches} noarch
- python-cryptography
ExclusiveArch: %{rust_arches}
- python-damo
ExclusiveArch: x86_64 aarch64 ppc64le s390x noarch
- python-etcd
ExclusiveArch: noarch %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- python-javaobj
ExclusiveArch: %{java_arches} noarch
- python-jep
ExclusiveArch: %{java_arches}
- python-jnius
ExclusiveArch: %{java_arches}
- python-jupyter-polymake
ExclusiveArch: noarch aarch64 ppc64le s390x x86_64
- python-openoffice
ExclusiveArch: noarch x86_64
- python-pymoc
ExclusiveArch: aarch64 ppc64 ppc64le x86_64 s390x
- python-pyqt6-webengine
ExclusiveArch: aarch64 x86_64
- python-setuptools-rust
ExclusiveArch: %{rust_arches}
- q4wine
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- qatengine
ExclusiveArch: x86_64
- qatzip
ExclusiveArch: x86_64
- qbe
ExclusiveArch: x86_64 aarch64
- qcint
ExclusiveArch: x86_64
- qclib
ExclusiveArch: s390 s390x
- qdox
ExclusiveArch: %{java_arches} noarch
- qemu-sanity-check
ExclusiveArch: %{kernel_arches}
- qevercloud
ExclusiveArch: %{qt5_qtwebengine_arches}
- qmapshack
ExclusiveArch: %{qt5_qtwebengine_arches}
- qt4pas
ExclusiveArch: %{fpc_arches}
- qt5-qtwebengine
ExclusiveArch: %{qt5_qtwebengine_arches}
- qt6-qtwebengine
ExclusiveArch: aarch64 x86_64
- qt6-qtwebview
ExclusiveArch: aarch64 x86_64
- quantum-espresso
ExclusiveArch: x86_64 %{ix86} aarch64 %{power64}
- quentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- rEFInd
ExclusiveArch: %{efi}
- rachota
ExclusiveArch: %{java_arches} noarch
- rear
ExclusiveArch: %ix86 x86_64 ppc ppc64 ppc64le ia64
- reflections
ExclusiveArch: %{java_arches} noarch
- reg
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- regexp
ExclusiveArch: %{java_arches} noarch
- relaxng-datatype-java
ExclusiveArch: %{java_arches} noarch
- replacer
ExclusiveArch: %{java_arches} noarch
- reptyr
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- rescene
ExclusiveArch: %{mono_arches}
- resteasy
ExclusiveArch: %{java_arches} noarch
- restool
ExclusiveArch: aarch64
- restsharp
ExclusiveArch: %{mono_arches}
- retsnoop
ExclusiveArch: %{rust_arches}
- rhino
ExclusiveArch: %{java_arches} noarch
- river
ExclusiveArch: %{zig_arches}
- rkcommon
ExclusiveArch: x86_64 aarch64
- rocclr
ExclusiveArch: x86_64 aarch64 ppc64le
- rocm-compilersupport
ExclusiveArch: x86_64 aarch64 ppc64le
- rocm-device-libs
ExclusiveArch: x86_64 aarch64 ppc64le
- rocm-runtime
ExclusiveArch: x86_64 aarch64 ppc64le
- rocm-smi
ExclusiveArch: x86_64 aarch64 ppc64le
- rocminfo
ExclusiveArch: x86_64 aarch64 ppc64le
- rocprim
ExclusiveArch: x86_64
- rocrand
ExclusiveArch: x86_64
- rocthrust
ExclusiveArch: x86_64
- rpm-ostree
ExclusiveArch: %{rust_arches}
- rr
ExclusiveArch: %{ix86} x86_64 aarch64
- rssguard
ExclusiveArch: %{qt5_qtwebengine_arches}
- rstudio
ExclusiveArch: %{java_arches}
- rsyntaxtextarea
ExclusiveArch: %{java_arches} noarch
- rubygem-childprocess
ExclusiveArch: %{ix86} x86_64 noarch
- runc
ExclusiveArch: %{golang_arches_future}
- rundoc
ExclusiveArch: %{java_arches} noarch
- rust
ExclusiveArch: %{rust_arches}
- rust-actix
ExclusiveArch: %{rust_arches}
- rust-actix-router
ExclusiveArch: %{rust_arches}
- rust-argmax
ExclusiveArch: %{rust_arches}
- rust-askalono-cli
ExclusiveArch: %{rust_arches}
- rust-base-x
ExclusiveArch: %{rust_arches}
- rust-bit-set
ExclusiveArch: %{rust_arches}
- rust-bootupd
ExclusiveArch: x86_64 aarch64
- rust-brotli
ExclusiveArch: %{rust_arches}
- rust-capnp-futures
ExclusiveArch: %{rust_arches}
- rust-cascade
ExclusiveArch: %{rust_arches}
- rust-cast
ExclusiveArch: %{rust_arches}
- rust-chrono-tz
ExclusiveArch: %{rust_arches}
- rust-combine
ExclusiveArch: %{rust_arches}
- rust-compress-tools
ExclusiveArch: %{rust_arches}
- rust-const-oid0.6
ExclusiveArch: %{rust_arches}
- rust-coreos-installer
ExclusiveArch: %{rust_arches}
- rust-crossbeam
ExclusiveArch: %{rust_arches}
- rust-cssparser-macros
ExclusiveArch: %{rust_arches}
- rust-ctr
ExclusiveArch: %{rust_arches}
- rust-dashmap4
ExclusiveArch: %{rust_arches}
- rust-deflate
ExclusiveArch: %{rust_arches}
- rust-deflate0.8
ExclusiveArch: %{rust_arches}
- rust-drg
ExclusiveArch: %{rust_arches}
- rust-event-listener
ExclusiveArch: %{rust_arches}
- rust-fail
ExclusiveArch: %{rust_arches}
- rust-gag
ExclusiveArch: %{rust_arches}
- rust-getch
ExclusiveArch: %{rust_arches}
- rust-gzip-header
ExclusiveArch: %{rust_arches}
- rust-hamming
ExclusiveArch: %{rust_arches}
- rust-headers
ExclusiveArch: %{rust_arches}
- rust-hidapi
ExclusiveArch: %{rust_arches}
- rust-httparse
ExclusiveArch: %{rust_arches}
- rust-humantime-serde
ExclusiveArch: %{rust_arches}
- rust-hyperlocal
ExclusiveArch: %{rust_arches}
- rust-image0.23
ExclusiveArch: %{rust_arches}
- rust-inflate
ExclusiveArch: %{rust_arches}
- rust-jpeg-decoder0.1
ExclusiveArch: %{rust_arches}
- rust-k9
ExclusiveArch: %{rust_arches}
- rust-krunvm
ExclusiveArch: x86_64 aarch64
- rust-kstring
ExclusiveArch: %{rust_arches}
- rust-kvm-ioctls
ExclusiveArch: x86_64 aarch64
- rust-lebe
ExclusiveArch: %{rust_arches}
- rust-libslirp
ExclusiveArch: %{rust_arches}
- rust-libslirp-sys
ExclusiveArch: %{rust_arches}
- rust-msru
ExclusiveArch: x86_64
- rust-nanorand
ExclusiveArch: %{rust_arches}
- rust-netstat2
ExclusiveArch: %{rust_arches}
- rust-onig
ExclusiveArch: %{rust_arches}
- rust-openat-ext
ExclusiveArch: %{rust_arches}
- rust-ordered-float2
ExclusiveArch: %{rust_arches}
- rust-os_type
ExclusiveArch: %{rust_arches}
- rust-pager
ExclusiveArch: %{rust_arches}
- rust-pathsearch
ExclusiveArch: %{rust_arches}
- rust-pq-sys
ExclusiveArch: %{rust_arches}
- rust-pretty-bytes
ExclusiveArch: %{rust_arches}
- rust-pretty-hex
ExclusiveArch: %{rust_arches}
- rust-primal-bit
ExclusiveArch: %{rust_arches}
- rust-primal-check
ExclusiveArch: %{rust_arches}
- rust-primal-estimate
ExclusiveArch: %{rust_arches}
- rust-procfs0.9
ExclusiveArch: %{rust_arches}
- rust-procs
ExclusiveArch: %{rust_arches}
- rust-prost
ExclusiveArch: %{rust_arches}
- rust-prost-derive
ExclusiveArch: %{rust_arches}
- rust-prost-derive0.8
ExclusiveArch: %{rust_arches}
- rust-prost0.8
ExclusiveArch: %{rust_arches}
- rust-psl-types
ExclusiveArch: %{rust_arches}
- rust-psm
ExclusiveArch: %{rust_arches}
- rust-pwd
ExclusiveArch: %{rust_arches}
- rust-rand_core
ExclusiveArch: %{rust_arches}
- rust-schemafy_core
ExclusiveArch: %{rust_arches}
- rust-schemafy_lib
ExclusiveArch: %{rust_arches}
- rust-seahash
ExclusiveArch: %{rust_arches}
- rust-serde-big-array
ExclusiveArch: %{rust_arches}
- rust-serde_qs
ExclusiveArch: %{rust_arches}
- rust-serde_yaml0.8
ExclusiveArch: %{rust_arches}
- rust-sev
ExclusiveArch: x86_64
- rust-sevctl
ExclusiveArch: x86_64
- rust-silver
ExclusiveArch: %{rust_arches}
- rust-sinit
ExclusiveArch: %{rust_arches}
- rust-snphost
ExclusiveArch: x86_64
- rust-ssh-key-dir
ExclusiveArch: %{rust_arches}
- rust-stacker
ExclusiveArch: %{rust_arches}
- rust-structopt
ExclusiveArch: %{rust_arches}
- rust-tiff0.6
ExclusiveArch: %{rust_arches}
- rust-totp-lite
ExclusiveArch: %{rust_arches}
- rust-tower-layer
ExclusiveArch: %{rust_arches}
- rust-tpm2-policy
ExclusiveArch: %{rust_arches}
- rust-tree-sitter
ExclusiveArch: %{rust_arches}
- rust-tree-sitter-cli
ExclusiveArch: %{rust_arches}
- rust-tzfile
ExclusiveArch: %{rust_arches}
- rust-ubyte
ExclusiveArch: %{rust_arches}
- rust-unicode-normalization
ExclusiveArch: %{rust_arches}
- rust-unicode-width
ExclusiveArch: %{rust_arches}
- rust-unicode-xid
ExclusiveArch: %{rust_arches}
- rust-uriparse
ExclusiveArch: %{rust_arches}
- rust-uucore
ExclusiveArch: %{rust_arches}
- rust-varlink_generator
ExclusiveArch: %{rust_arches}
- rust-varlink_parser
ExclusiveArch: %{rust_arches}
- rust-virtio-bindings
ExclusiveArch: x86_64 aarch64 ppc64le
- rust-vmm-sys-util
ExclusiveArch: x86_64 aarch64 ppc64le
- rust-vtparse
ExclusiveArch: %{rust_arches}
- rust-web-ext-native-messaging
ExclusiveArch: %{rust_arches}
- rust-wezterm-color-types
ExclusiveArch: %{rust_arches}
- rust-wezterm-dynamic
ExclusiveArch: %{rust_arches}
- rust-wezterm-dynamic-derive
ExclusiveArch: %{rust_arches}
- rust-wild
ExclusiveArch: %{rust_arches}
- rust-xxhash-rust
ExclusiveArch: %{rust_arches}
- rust-zbus1
ExclusiveArch: %{rust_arches}
- rust-zbus_macros1
ExclusiveArch: %{rust_arches}
- rust-zincati
ExclusiveArch: %{rust_arches}
- rust-zvariant2
ExclusiveArch: %{rust_arches}
- rust-zvariant_derive2
ExclusiveArch: %{rust_arches}
- s390utils
ExclusiveArch: s390 s390x
- sac
ExclusiveArch: %{java_arches} noarch
- safetyblanket
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc64le
- sagemath
ExclusiveArch: aarch64 x86_64
- sat4j
ExclusiveArch: %{java_arches} noarch
- sbcl
ExclusiveArch: %{ix86} x86_64 aarch64 %{power64}
- sbd
ExclusiveArch: i686 x86_64 s390x aarch64 ppc64le
- sblim-cim-client
ExclusiveArch: %{java_arches} noarch
- sblim-cim-client2
ExclusiveArch: %{java_arches} noarch
- sbsigntools
ExclusiveArch: x86_64 aarch64 %{arm} %{ix86}
- scala
ExclusiveArch: %{java_arches} noarch
- scalacheck
ExclusiveArch: %{java_arches} noarch
- scannotation
ExclusiveArch: %{java_arches} noarch
- sdljava
ExclusiveArch: %{java_arches}
- sdrangel
ExclusiveArch: %{qt5_qtwebengine_arches}
- sdsl-lite
ExclusiveArch: %{power64} x86_64 aarch64
- seabios
ExclusiveArch: x86_64
- seadrive-gui
ExclusiveArch: %{qt5_qtwebengine_arches}
- seafile-client
ExclusiveArch: %{qt5_qtwebengine_arches}
- seamonkey
ExclusiveArch: x86_64
- seqan3
ExclusiveArch: %{power64} x86_64 aarch64
- sequence-library
ExclusiveArch: %{java_arches} noarch
- servicelog
ExclusiveArch: ppc %{power64}
- shaman
ExclusiveArch: %{java_arches} noarch
- sharpfont
ExclusiveArch: %mono_arches
- sharpziplib
ExclusiveArch: %{mono_arches}
- shim
ExclusiveArch: %{efi}
- shim-unsigned-aarch64
ExclusiveArch: aarch64
- shim-unsigned-x64
ExclusiveArch: x86_64
- sigul
ExclusiveArch: x86_64
- singularity-ce
ExclusiveArch: %{go_arches}
- sisu
ExclusiveArch: %{java_arches} noarch
- sisu-mojos
ExclusiveArch: %{java_arches} noarch
- skopeo
ExclusiveArch: %{golang_arches_future}
ExclusiveArch: aarch64 ppc64le s390x x86_64
- skychart
ExclusiveArch: %{fpc_arches}
- slf4j
ExclusiveArch: %{java_arches} noarch
- slirp4netns
ExclusiveArch: %{golang_arches_future}
- snakeyaml
ExclusiveArch: %{java_arches} noarch
- snapd
ExclusiveArch: %{?golang_arches}%{!?golang_arches:%{ix86} x86_64 %{arm} aarch64 ppc64le s390x}
- snip
ExclusiveArch: %{java_arches} noarch
- softnet-stat
ExclusiveArch: %{rust_arches}
- soup-sharp
ExclusiveArch: %{mono_arches}
- spacebar
ExclusiveArch: %{java_arches}
- sparkleshare
ExclusiveArch: %{mono_arches}
- spec-version-maven-plugin
ExclusiveArch: %{java_arches} noarch
- spicctrl
ExclusiveArch: %{ix86} x86_64
- spice
ExclusiveArch: x86_64
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- spice-parent
ExclusiveArch: %{java_arches} noarch
- springlobby
ExclusiveArch: %{ix86} x86_64
- sqljet
ExclusiveArch: %{java_arches} noarch
- squeekboard
ExclusiveArch: %{rust_arches}
- startdde
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- stats-collect
ExclusiveArch: %{ix86} x86_64 noarch
- statsd
ExclusiveArch: %{nodejs_arches} noarch
- stratis-cli
ExclusiveArch: %{rust_arches} noarch
- stratisd
ExclusiveArch: %{rust_arches}
ExclusiveArch: %{rust_arches}
ExclusiveArch: %{rust_arches}
- string-template-maven-plugin
ExclusiveArch: %{java_arches} noarch
- stringtemplate
ExclusiveArch: %{java_arches} noarch
- stringtemplate4
ExclusiveArch: %{java_arches} noarch
- stripesnoop
ExclusiveArch: %{ix86} x86_64
- subscription-manager-cockpit
ExclusiveArch: %{nodejs_arches} noarch
- supercollider
ExclusiveArch: %{qt5_qtwebengine_arches}
- supermin
ExclusiveArch: %{kernel_arches}
- svnkit
ExclusiveArch: %{java_arches} noarch
- svt-vp9
ExclusiveArch: x86_64
- swift-lang
ExclusiveArch: x86_64 aarch64
- swing-layout
ExclusiveArch: %{java_arches} noarch
- sysbench
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips}
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64 ppc64le s390x
- syslinux
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
- system-rules
ExclusiveArch: %{java_arches} noarch
- system76-keyboard-configurator
ExclusiveArch: %{rust_arches}
- systemd-boot
ExclusiveArch: %efi
- t-digest
ExclusiveArch: %{java_arches} noarch
- taglib-sharp
ExclusiveArch: %{mono_arches}
- tagsoup
ExclusiveArch: %{java_arches} noarch
- tarantool
ExclusiveArch: %{ix86} x86_64
- tboot
ExclusiveArch: %{ix86} x86_64
- tdlib
ExclusiveArch: x86_64 aarch64
- templates_parser
ExclusiveArch: %GPRbuild_arches
- ternimal
ExclusiveArch: %{rust_arches}
- test-interface
ExclusiveArch: %{java_arches} noarch
- testcloud
ExclusiveArch: %{kernel_arches} noarch
- testng
ExclusiveArch: %{java_arches} noarch
- texlive
ExclusiveArch: %{java_arches} noarch
- thermald
ExclusiveArch: %{ix86} x86_64
- tilix
ExclusiveArch: %{ldc_arches}
- tomboy
ExclusiveArch: %{mono_arches}
- tomcat
ExclusiveArch: %{java_arches} noarch
- tomcat-native
ExclusiveArch: %{java_arches}
- tomcat-taglibs-parent
ExclusiveArch: %{java_arches} noarch
- tomcatjss
ExclusiveArch: %{java_arches} noarch
- torbrowser-launcher
ExclusiveArch: %{ix86} x86_64
- treelayout
ExclusiveArch: %{java_arches} noarch
- trilead-ssh2
ExclusiveArch: %{java_arches} noarch
- truth
ExclusiveArch: %{java_arches} noarch
- tuned-profiles-nfv-host-bin
ExclusiveArch: %{ix86} x86_64
- typescript
ExclusiveArch: %{nodejs_arches} noarch
- uClibc
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips}
- ucx
ExclusiveArch: aarch64 ppc64le x86_64
- uglify-js
ExclusiveArch: %{nodejs_arches} noarch
- umr
ExclusiveArch: x86_64 aarch64 ppc64le
- unetbootin
ExclusiveArch: %{ix86} x86_64
- univocity-parsers
ExclusiveArch: %{java_arches} noarch
- ursa-major
ExclusiveArch: noarch aarch64 ppc64le s390x x86_64
- usd
ExclusiveArch: aarch64 x86_64
- v8-314
ExclusiveArch: %{ix86} x86_64 %{arm} mips mipsel ppc ppc64
- vakzination
ExclusiveArch: %{java_arches}
- valgrind
ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x armv7hl aarch64
- vboot-utils
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- vecmath1.2
ExclusiveArch: %{java_arches} noarch
- velocity
ExclusiveArch: %{java_arches} noarch
- vim-go
ExclusiveArch: %{?golang_arches}%{!?golang_arches:%{ix86} x86_64 %{arm}}
- vim-syntastic
ExclusiveArch: %{java_arches} noarch
- virt-p2v
ExclusiveArch: x86_64
- virt-v2v
ExclusiveArch: x86_64
- virtiofsd
ExclusiveArch: %{rust_arches}
- virtualbox-guest-additions
ExclusiveArch: i686 x86_64
- vkd3d
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- vmaf
ExclusiveArch: x86_64
- voms-api-java
ExclusiveArch: %{java_arches} noarch
- voms-clients-java
ExclusiveArch: %{java_arches} noarch
- vrq
ExclusiveArch: %{ix86} x86_64
- wangle
ExclusiveArch: x86_64 aarch64 ppc64le
- warsow
ExclusiveArch: %{ix86} x86_64 %{arm}
- warsow-data
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{ix86} x86_64 %{arm}
- wasmedge
ExclusiveArch: x86_64 aarch64
- watchman
ExclusiveArch: x86_64 aarch64 ppc64le
- wdt
ExclusiveArch: x86_64 aarch64 ppc64le
- webkit2-sharp
ExclusiveArch: %mono_arches
- weld-parent
ExclusiveArch: %{java_arches} noarch
- why3
ExclusiveArch: %{ocaml_native_compiler}
- wine
ExclusiveArch: %{ix86} x86_64 aarch64
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86}
- wine-dxvk
ExclusiveArch: %{ix86} x86_64
- winetricks
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- ws-commons-util
ExclusiveArch: %{java_arches} noarch
- wsdl4j
ExclusiveArch: %{java_arches} noarch
- wult
ExclusiveArch: x86_64
- wxMaxima
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc sparcv9
- x2goclient
ExclusiveArch: x86_64
- x86-simd-sort
ExclusiveArch: x86_64
- xalan-j2
ExclusiveArch: %{java_arches} noarch
- xbean
ExclusiveArch: %{java_arches} noarch
- xbyak
ExclusiveArch: x86_64
- xbyak_aarch64
ExclusiveArch: aarch64
- xe-guest-utilities-latest
ExclusiveArch: %{ix86} x86_64
- xen
ExclusiveArch: x86_64 aarch64
- xerces-j2
ExclusiveArch: %{java_arches} noarch
- xgap
ExclusiveArch: %{gap_arches}
- xml-commons-apis
ExclusiveArch: %{java_arches} noarch
- xml-commons-resolver
ExclusiveArch: %{java_arches} noarch
- xml-maven-plugin
ExclusiveArch: %{java_arches} noarch
- xmlada
ExclusiveArch: %{GPRbuild_arches}
- xmlgraphics-commons
ExclusiveArch: %{java_arches} noarch
- xmlpull
ExclusiveArch: %{java_arches} noarch
- xmlstreambuffer
ExclusiveArch: %{java_arches} noarch
- xmlunit
ExclusiveArch: %{java_arches} noarch
- xmvn
ExclusiveArch: %{java_arches} noarch
- xmvn-connector-ivy
ExclusiveArch: %{java_arches} noarch
- xmvn-generator
ExclusiveArch: %{java_arches}
- xorg-x11-drv-armsoc
ExclusiveArch: %{arm} aarch64
- xorg-x11-drv-intel
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-openchrome
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-vesa
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-vmware
ExclusiveArch: %{ix86} x86_64 ia64
- xsp
ExclusiveArch: %mono_arches
- xstream
ExclusiveArch: %{java_arches} noarch
- xz-java
ExclusiveArch: %{java_arches} noarch
- yarnpkg
ExclusiveArch: %{nodejs_arches} noarch
- zcfan
ExclusiveArch: x86_64
- zeal
ExclusiveArch: aarch64 x86_64
- zenon
ExclusiveArch: %{ocaml_native_compiler}
- zeromq-ada
ExclusiveArch: %{GPRbuild_arches}
- zig
ExclusiveArch: %{zig_arches}
- zlib-ada
ExclusiveArch: %{GPRbuild_arches}
- zlib-ng
ExclusiveArch: aarch64 i686 ppc64le s390x x86_64
- zola
ExclusiveArch: %{rust_arches}
8 months, 2 weeks
Architecture specific change in rpms/mlir.git
by githook-noreply@fedoraproject.org
The package rpms/mlir.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/mlir.git/commit/?id=037ead5935e03....
Change:
+%ifarch %ix86 ppc64le x86_64
Thanks.
Full change:
============
commit 037ead5935e03879f1a3210a1674a815aaa78cfd
Author: Tulio Magno Quites Machado Filho <tuliom(a)redhat.com>
Date: Mon Aug 28 10:03:47 2023 -0300
Restrict link jobs on x86_64
Try to reduce the chances of memory exhaustion when linking mlir on x86_64.
diff --git a/mlir.spec b/mlir.spec
index 7c65422..5909ce8 100644
--- a/mlir.spec
+++ b/mlir.spec
@@ -12,7 +12,7 @@
Name: mlir
Version: %{mlir_version}%{?rc_ver:~rc%{rc_ver}}
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Multi-Level Intermediate Representation Overview
License: Apache-2.0 WITH LLVM-exception
@@ -103,7 +103,7 @@ MLIR development files.
-DBUILD_SHARED_LIBS=OFF \
-DMLIR_INSTALL_AGGREGATE_OBJECTS=OFF \
-DMLIR_BUILD_MLIR_C_DYLIB=ON \
-%ifarch %ix86 ppc64le
+%ifarch %ix86 ppc64le x86_64
-DLLVM_PARALLEL_LINK_JOBS=1 \
%endif
%ifarch %ix86
@@ -200,6 +200,9 @@ export LD_LIBRARY_PATH=%{buildroot}/%{_libdir}
%{_libdir}/cmake/mlir
%changelog
+* Mon Aug 28 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 17.0.0~rc3-2
+- Restrict link jobs on x86_64
+
* Fri Aug 25 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 17.0.0~rc3-1
- Update to LLVM 17.0.0 RC3
commit 019c81d3abf50c580c6f3773922941069f98f9b0
Author: Tulio Magno Quites Machado Filho <tuliom(a)redhat.com>
Date: Fri Aug 25 19:09:36 2023 -0300
Update to LLVM 17.0.0 RC3
diff --git a/mlir.spec b/mlir.spec
index 3f25b1e..7c65422 100644
--- a/mlir.spec
+++ b/mlir.spec
@@ -2,7 +2,7 @@
%global maj_ver 17
%global min_ver 0
%global patch_ver 0
-%global rc_ver 2
+%global rc_ver 3
%global mlir_version %{maj_ver}.%{min_ver}.%{patch_ver}
%global mlir_srcdir mlir-%{mlir_version}%{?rc_ver:rc%{rc_ver}}.src
@@ -200,6 +200,9 @@ export LD_LIBRARY_PATH=%{buildroot}/%{_libdir}
%{_libdir}/cmake/mlir
%changelog
+* Fri Aug 25 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 17.0.0~rc3-1
+- Update to LLVM 17.0.0 RC3
+
* Wed Aug 23 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 17.0.0~rc2-1
- Update to LLVM 17.0.0 RC2
diff --git a/sources b/sources
index 7c44171..745096f 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (mlir-17.0.0rc2.src.tar.xz) = 1edbcfb0c2d2369463d9e08adc366b6878c1d43be2870a6eca19074d2bb8b21ee564afe01de7721772275ce3e0f95d5d9bbccfcf3a611763abce0c86c65e4514
-SHA512 (mlir-17.0.0rc2.src.tar.xz.sig) = e1d6c979932ba360ff117cbccb4bbed60b35b32295c256016ec7c71dad4dbe775fac6706aba2f62a0ecf6e8cfe6c8a50765a4082b1246591eb79d605a5b31dd4
+SHA512 (mlir-17.0.0rc3.src.tar.xz) = 736e46c2a42c5cf4d6c9832be121b1991ef95dcfc88192ce1234338775f7ffc8099b02bf22772ab157aa72587e3e53a79cdcb9ee019637028dfcf73b628074e8
+SHA512 (mlir-17.0.0rc3.src.tar.xz.sig) = 4b07442cba256ed1d345bd3a851190f2719cfc60fabe1be1018b7b0687a02a62c16de92697cadd8236fad19341f12b054cd35f875131e41d476ec0bc96ae7e76
commit a2714c30e012f9b863eca34c47369adb1cda0903
Author: Tulio Magno Quites Machado Filho <tuliom(a)redhat.com>
Date: Wed Aug 23 15:18:16 2023 -0300
Update to LLVM 17.0.0 RC2
diff --git a/mlir.spec b/mlir.spec
index e904900..3f25b1e 100644
--- a/mlir.spec
+++ b/mlir.spec
@@ -2,7 +2,7 @@
%global maj_ver 17
%global min_ver 0
%global patch_ver 0
-%global rc_ver 1
+%global rc_ver 2
%global mlir_version %{maj_ver}.%{min_ver}.%{patch_ver}
%global mlir_srcdir mlir-%{mlir_version}%{?rc_ver:rc%{rc_ver}}.src
@@ -200,6 +200,9 @@ export LD_LIBRARY_PATH=%{buildroot}/%{_libdir}
%{_libdir}/cmake/mlir
%changelog
+* Wed Aug 23 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 17.0.0~rc2-1
+- Update to LLVM 17.0.0 RC2
+
* Wed Aug 02 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 17.0.0~rc1-1
- Update to LLVM 17.0.0 RC1
diff --git a/sources b/sources
index 8e5e894..7c44171 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (mlir-17.0.0rc1.src.tar.xz) = efecf92135b01b0e857fbeeacb672a79c879d1485e9e4cbfed87429dec211ca147a2c3ca970c51b8fbb38b06d3bddd2c890a1823a8e395d37a1071997ab57573
-SHA512 (mlir-17.0.0rc1.src.tar.xz.sig) = c3d3ce7a43b30ef03780ecb833c7fca7f4c966f17465d9cef6361afd6f763e1c4067c17bd11bb79c254ffd746acaf2f0bca196dd426798656cf46881c309d5b1
+SHA512 (mlir-17.0.0rc2.src.tar.xz) = 1edbcfb0c2d2369463d9e08adc366b6878c1d43be2870a6eca19074d2bb8b21ee564afe01de7721772275ce3e0f95d5d9bbccfcf3a611763abce0c86c65e4514
+SHA512 (mlir-17.0.0rc2.src.tar.xz.sig) = e1d6c979932ba360ff117cbccb4bbed60b35b32295c256016ec7c71dad4dbe775fac6706aba2f62a0ecf6e8cfe6c8a50765a4082b1246591eb79d605a5b31dd4
commit 5018058d45c0022d72ec06f0b357404e62f4c845
Author: Tulio Magno Quites Machado Filho <tuliom(a)redhat.com>
Date: Wed Aug 2 14:33:19 2023 -0300
Update to LLVM 17.0.0 RC1
diff --git a/mlir.spec b/mlir.spec
index 5983a77..e904900 100644
--- a/mlir.spec
+++ b/mlir.spec
@@ -1,8 +1,8 @@
%global toolchain clang
-%global maj_ver 16
+%global maj_ver 17
%global min_ver 0
-%global patch_ver 6
-#global rc_ver 4
+%global patch_ver 0
+%global rc_ver 1
%global mlir_version %{maj_ver}.%{min_ver}.%{patch_ver}
%global mlir_srcdir mlir-%{mlir_version}%{?rc_ver:rc%{rc_ver}}.src
@@ -12,7 +12,7 @@
Name: mlir
Version: %{mlir_version}%{?rc_ver:~rc%{rc_ver}}
-Release: 2%{?dist}
+Release: 1%{?dist}
Summary: Multi-Level Intermediate Representation Overview
License: Apache-2.0 WITH LLVM-exception
@@ -95,6 +95,8 @@ MLIR development files.
-DLLVM_COMMON_CMAKE_UTILS=%{_datadir}/llvm/cmake \
-DLLVM_BUILD_TOOLS:BOOL=ON \
-DLLVM_BUILD_UTILS:BOOL=ON \
+ -DLLVM_LIBRARY_OUTPUT_INTDIR="." \
+ -DLLVM_SHLIB_OUTPUT_INTDIR="%{_builddir}/%{mlir_srcdir}/%{__cmake_builddir}/lib/ExecutionEngine/" \
-DMLIR_INCLUDE_DOCS:BOOL=ON \
-DMLIR_INCLUDE_TESTS:BOOL=ON \
-DMLIR_INCLUDE_INTEGRATION_TESTS:BOOL=OFF \
@@ -116,7 +118,6 @@ MLIR development files.
export LD_LIBRARY_PATH=%{_builddir}/%{mlir_srcdir}/%{name}/%{_build}/%{_lib}
%cmake_build
-
%install
%cmake_install
@@ -199,6 +200,9 @@ export LD_LIBRARY_PATH=%{buildroot}/%{_libdir}
%{_libdir}/cmake/mlir
%changelog
+* Wed Aug 02 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 17.0.0~rc1-1
+- Update to LLVM 17.0.0 RC1
+
* Thu Jul 20 2023 Fedora Release Engineering <releng(a)fedoraproject.org> - 16.0.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
diff --git a/sources b/sources
index 75f1f35..8e5e894 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (mlir-16.0.6.src.tar.xz) = 93a34061a6939aff0009883a14627cf8391530aa86740cf2341b73c63db394fde4b7066de84afb49a7adf79d1dc4d0c35f6dbc261fccc5ffc645109facd7802d
-SHA512 (mlir-16.0.6.src.tar.xz.sig) = 83a65d4e3cb64adc62496aa9104440ed472430e99caae81a3340c6f312552f71f0c91fb72b6f4f5713d7138cad9f5acb9f97d84f25c73bcbfa5e868ea50f7a69
+SHA512 (mlir-17.0.0rc1.src.tar.xz) = efecf92135b01b0e857fbeeacb672a79c879d1485e9e4cbfed87429dec211ca147a2c3ca970c51b8fbb38b06d3bddd2c890a1823a8e395d37a1071997ab57573
+SHA512 (mlir-17.0.0rc1.src.tar.xz.sig) = c3d3ce7a43b30ef03780ecb833c7fca7f4c966f17465d9cef6361afd6f763e1c4067c17bd11bb79c254ffd746acaf2f0bca196dd426798656cf46881c309d5b1
8 months, 2 weeks
Architecture specific change in rpms/compiler-rt.git
by githook-noreply@fedoraproject.org
The package rpms/compiler-rt.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/compiler-rt.git/commit/?id=b383b1...
https://src.fedoraproject.org/cgit/rpms/compiler-rt.git/commit/?id=d423f9....
Change:
+%ifarch ppc64le
-%ifarch x86_64
Thanks.
Full change:
============
commit ac55f0dda7839c497f8e6915bbf3f38fb9839e2f
Author: Tulio Magno Quites Machado Filho <tuliom(a)redhat.com>
Date: Fri Aug 25 21:53:11 2023 -0300
Update to LLVM 17.0.0 RC3
diff --git a/compiler-rt.spec b/compiler-rt.spec
index 79f3e4b..82a8c4f 100644
--- a/compiler-rt.spec
+++ b/compiler-rt.spec
@@ -15,7 +15,7 @@
%global maj_ver 17
%global min_ver 0
%global patch_ver 0
-%global rc_ver 2
+%global rc_ver 3
%if %{with snapshot_build}
%global maj_ver %{llvm_snapshot_version_major}
%global min_ver %{llvm_snapshot_version_minor}
@@ -129,6 +129,9 @@ mv %{buildroot}%{_prefix}/lib/clang/%{maj_ver}/lib/powerpc64le-redhat-linux-gnu
%changelog
%{?llvm_snapshot_changelog_entry}
+* Fri Aug 25 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 17.0.0~rc3-1
+- Update to LLVM 17.0.0 RC3
+
* Wed Aug 23 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 17.0.0~rc2-1
- Update to LLVM 17.0.0 RC2
diff --git a/sources b/sources
index 35c815c..6b29f97 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (compiler-rt-17.0.0rc2.src.tar.xz) = 74b4073f758f85a591db6d4fd611dae1a5150f0d326b85cad8989750b296bd93cf1170bfd35dc4b000886c97b9539674b7c1b2822853f7f46e0b7a0fb76ff972
-SHA512 (compiler-rt-17.0.0rc2.src.tar.xz.sig) = 7206cd6a08bdc439df97bec6ce6d36cc5f4afce0ae66a04d2303a9cf7f88d457c054c61b8f5b2705b467cd4825e1d3252d6a2c34ef16da4ae1db093de95e2d3f
+SHA512 (compiler-rt-17.0.0rc3.src.tar.xz) = c65940c08248835a96e1548c413ea6e30c972a6a9c938ca3bd271d9c0c418279a4b76e08b473c7e6fdd9691ece9e0383f301a3b34f67830737e8eed0b91be8d5
+SHA512 (compiler-rt-17.0.0rc3.src.tar.xz.sig) = 3834b6fd8041935c799355b17aca0a16f113bc99d9e35b11bf64d47c0a5e838dd7ca1342c2efa2aa4f829805e53c0ec2aa1e0800a84f748a630010dac580695e
commit 652197cf49043b9c9d122c2795113e3cddaef447
Author: Tulio Magno Quites Machado Filho <tuliom(a)redhat.com>
Date: Wed Aug 23 13:57:12 2023 -0300
Update to LLVM 17.0.0 RC2
diff --git a/compiler-rt.spec b/compiler-rt.spec
index 523e141..79f3e4b 100644
--- a/compiler-rt.spec
+++ b/compiler-rt.spec
@@ -15,7 +15,7 @@
%global maj_ver 17
%global min_ver 0
%global patch_ver 0
-%global rc_ver 1
+%global rc_ver 2
%if %{with snapshot_build}
%global maj_ver %{llvm_snapshot_version_major}
%global min_ver %{llvm_snapshot_version_minor}
@@ -34,7 +34,7 @@
Name: compiler-rt
Version: %{compiler_rt_version}%{?rc_ver:~rc%{rc_ver}}%{?llvm_snapshot_version_suffix:~%{llvm_snapshot_version_suffix}}
-Release: 2%{?dist}
+Release: 1%{?dist}
Summary: LLVM "compiler-rt" runtime libraries
License: Apache-2.0 WITH LLVM-exception OR NCSA OR MIT
@@ -129,6 +129,9 @@ mv %{buildroot}%{_prefix}/lib/clang/%{maj_ver}/lib/powerpc64le-redhat-linux-gnu
%changelog
%{?llvm_snapshot_changelog_entry}
+* Wed Aug 23 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 17.0.0~rc2-1
+- Update to LLVM 17.0.0 RC2
+
* Thu Aug 03 2023 Tom Stellard <tstellar(a)redhat.com> - 17.0.0~rc1-2
- Fix for ppc64le
diff --git a/sources b/sources
index 13ff821..35c815c 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (compiler-rt-16.0.6.src.tar.xz) = 852e2105facb12ea0943aa24e0c220f76671ad76dfe7d07b8164c3a1d8360670ca565a2b6dd590722b974e16a2adf3c466fdabdfd3bb3ebbd005162c8ac4406c
-SHA512 (compiler-rt-16.0.6.src.tar.xz.sig) = 3c86a39829c02c61258874a8729b50a4b562716fcf901a69fe4bf6316b91c0f56596a20b98e74881b729773a34c3b4d4fa01cbc2ada81ed452a3cc2ad7ea3bbb
+SHA512 (compiler-rt-17.0.0rc2.src.tar.xz) = 74b4073f758f85a591db6d4fd611dae1a5150f0d326b85cad8989750b296bd93cf1170bfd35dc4b000886c97b9539674b7c1b2822853f7f46e0b7a0fb76ff972
+SHA512 (compiler-rt-17.0.0rc2.src.tar.xz.sig) = 7206cd6a08bdc439df97bec6ce6d36cc5f4afce0ae66a04d2303a9cf7f88d457c054c61b8f5b2705b467cd4825e1d3252d6a2c34ef16da4ae1db093de95e2d3f
commit 7f949426444dd336ff1b77ad31f4be9f387a63b6
Author: Tulio Magno Quites Machado Filho <tuliom(a)redhat.com>
Date: Wed Aug 23 10:16:18 2023 -0300
Fix changelog chronological order
rpmlint report errors when the changelog is not in descending
chronological order.
diff --git a/compiler-rt.spec b/compiler-rt.spec
index d85efb2..523e141 100644
--- a/compiler-rt.spec
+++ b/compiler-rt.spec
@@ -129,7 +129,7 @@ mv %{buildroot}%{_prefix}/lib/clang/%{maj_ver}/lib/powerpc64le-redhat-linux-gnu
%changelog
%{?llvm_snapshot_changelog_entry}
-* Wed Aug 02 2023 Tom Stellard <tstellar(a)redhat.com> - 17.0.0~rc1-2
+* Thu Aug 03 2023 Tom Stellard <tstellar(a)redhat.com> - 17.0.0~rc1-2
- Fix for ppc64le
* Thu Aug 03 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 17.0.0~rc1-1
commit b383b170ec40e689ad9c356509c226aedff6d162
Author: Tom Stellard <tstellar(a)redhat.com>
Date: Wed Aug 2 18:40:01 2023 +0000
Fix runtime install path on ppc64le
diff --git a/compiler-rt.spec b/compiler-rt.spec
index 4365f4f..d85efb2 100644
--- a/compiler-rt.spec
+++ b/compiler-rt.spec
@@ -34,7 +34,7 @@
Name: compiler-rt
Version: %{compiler_rt_version}%{?rc_ver:~rc%{rc_ver}}%{?llvm_snapshot_version_suffix:~%{llvm_snapshot_version_suffix}}
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: LLVM "compiler-rt" runtime libraries
License: Apache-2.0 WITH LLVM-exception OR NCSA OR MIT
@@ -105,6 +105,11 @@ export ASMFLAGS=$CFLAGS
%install
%cmake_install
+%ifarch ppc64le
+# Fix install path on ppc64le so that the directory name matches the triple used
+# by clang.
+mv %{buildroot}%{_prefix}/lib/clang/%{maj_ver}/lib/powerpc64le-redhat-linux-gnu %{buildroot}%{_prefix}/lib/clang/%{maj_ver}/lib/ppc64le-redhat-linux-gnu
+%endif
%check
#%%cmake_build --target check-compiler-rt
@@ -124,6 +129,9 @@ export ASMFLAGS=$CFLAGS
%changelog
%{?llvm_snapshot_changelog_entry}
+* Wed Aug 02 2023 Tom Stellard <tstellar(a)redhat.com> - 17.0.0~rc1-2
+- Fix for ppc64le
+
* Thu Aug 03 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 17.0.0~rc1-1
- Update to LLVM 17.0.0 RC1
commit d423f98be31737d0a9119f4174e0d65e639281c2
Author: Tulio Magno Quites Machado Filho <tuliom(a)redhat.com>
Date: Thu Aug 3 18:14:44 2023 -0300
Update to LLVM 17.0.0 RC 1
This is also a squashed merge commit from upstream-snapshot (commit ID
b0d2b4ed0ad18d3e) into rawhide whose most important commits from
upstream-snapshot are:
Konrad Kleine (19):
Add --without=check option
Rework compiler-rt
Rebase 0001-PATCH-compiler-rt-Workaround-libstdc-limitation-wrt..patch patch
Make download path for snapshot sources-easily adjustable
Help compiler-rt utilize llvm-cmake subpackage
Help compiler-rt to find llvm-cmake files
Adapt to reverted https://reviews.llvm.org/D88458
Revert "Adapt to reverted https://reviews.llvm.org/D88458"
Require llvm-cmake-devel package when building
Adjust the CMAKE_MODULE_PATH instead of patching the source
Use new llvm_snashot_changelog_entry macro
Use llvm_snapshot_version_suffix
Compile with DWARFv4
Merge remote-tracking branch 'upstream/rawhide' into upstream-snapshot
Tempoarily remove build dependency on cmake-devel and the packaged cmake directory
Make compiler-rt use the llvm-snapshot-builder
Use %{llvm_snapshot_extra_source_tags} macro
Fixup
Merge remote-tracking branch 'origin/main' into upstream-snapshot
Tom Stellard (9):
Add a patch to fix standalone buidls with compiler-rt
Fix typo
Handle rename of libclang_rt.orc to liborc_rt
liborc_rt is not built on i386
liborc_rt is not built on s390x or ppc64le
Merge branch 'rawhide' of ssh://pkgs.fedoraproject.org/rpms/compiler-rt into upstream-snapshot
Install llvm-snapshot-builder from the current COPR project
Try again to enable local copr repo
Use new per-target runtime install feature
Tulio Magno Quites Machado Filho (1):
Fix packaging on ppc64le and s390x
diff --git a/.copr/Makefile b/.copr/Makefile
new file mode 100644
index 0000000..753982b
--- /dev/null
+++ b/.copr/Makefile
@@ -0,0 +1,17 @@
+# See https://docs.pagure.org/copr.copr/user_documentation.html#make-srpm
+# See for the --setopt option in the enabling of copr repo see:
+# https://pagure.io/copr/copr/issue/184
+
+COPR_USERNAME=$(shell rpm --eval %copr_username)
+COPR_PROJECT=$(shell rpm --eval %copr_projectname)
+
+.PHONY: srpm
+srpm:
+ dnf install -y dnf-plugins-core fedora-packager
+ dnf copr enable -y --setopt=reposdir=/tmp/yum.repos.d $(COPR_USERNAME)/$(COPR_PROJECT)
+ dnf install -y --setopt=reposdir=/tmp/yum.repos.d llvm-snapshot-builder
+ rpmbuild \
+ --define "_srcrpmdir $(outdir)" \
+ --define "_sourcedir $(shell pwd)" \
+ --define "_disable_source_fetch 0" \
+ -bs $(spec)
diff --git a/compiler-rt.spec b/compiler-rt.spec
index 93b4c50..4365f4f 100644
--- a/compiler-rt.spec
+++ b/compiler-rt.spec
@@ -1,13 +1,27 @@
+%bcond_with snapshot_build
+
+%if %{with snapshot_build}
+# Unlock LLVM Snapshot LUA functions
+%{llvm_sb_verbose}
+%{llvm_sb}
+%endif
+
%global toolchain clang
# Opt out of https://fedoraproject.org/wiki/Changes/fno-omit-frame-pointer
# https://bugzilla.redhat.com/show_bug.cgi?id=2158587
%undefine _include_frame_pointers
-%global maj_ver 16
+%global maj_ver 17
%global min_ver 0
-%global patch_ver 6
-#global rc_ver 4
+%global patch_ver 0
+%global rc_ver 1
+%if %{with snapshot_build}
+%global maj_ver %{llvm_snapshot_version_major}
+%global min_ver %{llvm_snapshot_version_minor}
+%global patch_ver %{llvm_snapshot_version_patch}
+%undefine rc_ver
+%endif
%global compiler_rt_version %{maj_ver}.%{min_ver}.%{patch_ver}
%global crt_srcdir compiler-rt-%{compiler_rt_version}%{?rc_ver:rc%{rc_ver}}.src
@@ -19,15 +33,20 @@
%global optflags %(echo %{optflags} -Dasm=__asm__)
Name: compiler-rt
-Version: %{compiler_rt_version}%{?rc_ver:~rc%{rc_ver}}
-Release: 2%{?dist}
+Version: %{compiler_rt_version}%{?rc_ver:~rc%{rc_ver}}%{?llvm_snapshot_version_suffix:~%{llvm_snapshot_version_suffix}}
+Release: 1%{?dist}
Summary: LLVM "compiler-rt" runtime libraries
License: Apache-2.0 WITH LLVM-exception OR NCSA OR MIT
URL: http://llvm.org
+%if %{with snapshot_build}
+Source0: %{llvm_snapshot_source_prefix}compiler-rt-%{llvm_snapshot_yyyymmdd}.src.tar.xz
+%{llvm_snapshot_extra_source_tags}
+%else
Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{compiler...
Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{compiler...
Source2: release-keys.asc
+%endif
BuildRequires: clang
BuildRequires: cmake
@@ -67,6 +86,12 @@ export ASMFLAGS=$CFLAGS
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_MODULE_PATH=%{_libdir}/cmake/llvm \
-DCMAKE_SKIP_RPATH:BOOL=ON \
+ -DCOMPILER_RT_INSTALL_PATH=%{_prefix}/lib/clang/%{maj_ver} \
+ -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON \
+ \
+%if %{with snapshot_build}
+ -DLLVM_VERSION_SUFFIX="%{llvm_snapshot_version_suffix}" \
+%endif
\
%if 0%{?__isa_bits} == 64
-DLLVM_LIBDIR_SUFFIX=64 \
@@ -81,50 +106,27 @@ export ASMFLAGS=$CFLAGS
%cmake_install
-# move blacklist/abilist files to where clang expect them
-mkdir -p %{buildroot}%{_libdir}/clang/%{maj_ver}/share
-mv -v %{buildroot}%{_datadir}/*list.txt %{buildroot}%{_libdir}/clang/%{maj_ver}/share/
-
-# move sanitizer libs to better place
-%global libclang_rt_installdir lib/linux
-mkdir -p %{buildroot}%{_libdir}/clang/%{maj_ver}/lib
-mv -v %{buildroot}%{_prefix}/%{libclang_rt_installdir}/*_rt* %{buildroot}%{_libdir}/clang/%{maj_ver}/lib
-mkdir -p %{buildroot}%{_libdir}/clang/%{maj_ver}/lib/linux/
-pushd %{buildroot}%{_libdir}/clang/%{maj_ver}/lib
-for i in *.a *.so
-do
- ln -s ../$i linux/$i
-done
-
-# multilib support: also create symlink from lib to lib64, fixes rhbz#1678240
-# the symlinks will be dangling if the 32 bits version is not installed, but that should be fine
-%ifarch x86_64
-
-mkdir -p %{buildroot}/%{_exec_prefix}/lib/clang/%{maj_ver}/lib/linux
-for i in *.a *.so
-do
- target=`echo "$i" | sed -e 's/x86_64/i386/'`
- ln -s ../../../../../lib/clang/%{maj_ver}/lib/$target ../../../../%{_lib}/clang/%{maj_ver}/lib/linux/
-done
-
-%endif
-
-popd
-
%check
-
#%%cmake_build --target check-compiler-rt
%files
%license LICENSE.TXT
-%{_includedir}/*
-%{_libdir}/clang/%{maj_ver}/lib/*
-%{_libdir}/clang/%{maj_ver}/share/*
%ifarch x86_64 aarch64
-%{_bindir}/hwasan_symbolize
+%{_prefix}/lib/clang/%{maj_ver}/bin/*
%endif
+%{_prefix}/lib/clang/%{maj_ver}/include/*
+%{_prefix}/lib/clang/%{maj_ver}/lib/*
+%{_prefix}/lib/clang/%{maj_ver}/share/*
+#%ifarch x86_64 aarch64
+#{_bindir}/hwasan_symbolize
+#%endif
%changelog
+%{?llvm_snapshot_changelog_entry}
+
+* Thu Aug 03 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 17.0.0~rc1-1
+- Update to LLVM 17.0.0 RC1
+
* Wed Jul 19 2023 Fedora Release Engineering <releng(a)fedoraproject.org> - 16.0.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
8 months, 2 weeks
Architecture specific change in rpms/ghc9.4.git
by githook-noreply@fedoraproject.org
The package rpms/ghc9.4.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/ghc9.4.git/commit/?id=80785e742c1....
Change:
+%ifarch %{ghc_unregisterized_arches} s390x
Thanks.
Full change:
============
commit ef821a056809c3795ff21bf8454ff9edb397f4ba
Author: Jens Petersen <petersen(a)redhat.com>
Date: Mon Aug 28 13:05:39 2023 +0800
limit hadrian builds to 64 cpus!
One of the aarch64 builders with 224 cpus ran out of open files ;-)
diff --git a/ghc9.4.spec b/ghc9.4.spec
index ed8cdd8..b4afbc7 100644
--- a/ghc9.4.spec
+++ b/ghc9.4.spec
@@ -540,6 +540,9 @@ cd hadrian
%global hadrian_llvm +llvm
%endif
%define hadrian_docs %{!?with_haddock:--docs=no-haddocks} --docs=%[%{?with_manual} ? "no-sphinx-pdfs" : "no-sphinx"]
+# aarch64 with 224 cpus: _build/stage0/bin/ghc: createProcess: pipe: resource exhausted (Too many open files)
+# https://koji.fedoraproject.org/koji/taskinfo?taskID=105428124
+%global _smp_ncpus_max 64
# quickest does not build shared libs
# try release instead of perf
%{hadrian} %{?_smp_mflags} --flavour=%[%{?with_perfbuild} ? "perf" : "quick"]%{!?with_ghc_prof:+no_profiled_libs}%{?hadrian_llvm} %{hadrian_docs} binary-dist-dir
commit 6a739c9f0d70de9c6e5e07f0e8330884978f3a14
Author: Jens Petersen <petersen(a)redhat.com>
Date: Sun Aug 27 23:52:16 2023 +0800
sphinx7 patch from opensuse by mimi.vx
diff --git a/ghc9.4.spec b/ghc9.4.spec
index 16ca4a9..ed8cdd8 100644
--- a/ghc9.4.spec
+++ b/ghc9.4.spec
@@ -117,6 +117,10 @@ Patch24: buildpath-abi-stability.patch
Patch26: no-missing-haddock-file-warning.patch
Patch27: haddock-remove-googleapis-fonts.patch
+Patch30: https://src.opensuse.org/rpm/ghc/raw/branch/factory/sphinx7.patch
+
+# https://gitlab.haskell.org/ghc/ghc/-/wikis/platforms
+
# fedora ghc has been bootstrapped on
# %%{ix86} x86_64 s390x ppc64le aarch64
# and retired arches: alpha sparcv9 armv5tel ppc ppc64 s390 armv7hl
@@ -435,6 +439,11 @@ rm libffi-tarballs/libffi-*.tar.gz
%patch -P26 -p1 -b .orig
%patch -P27 -p1 -b .orig
+#sphinx 7
+%if 0%{?fedora} >= 40
+%patch -P30 -p1 -b .orig
+%endif
+
%if %{with haddock} && %{without hadrian}
%global gen_contents_index gen_contents_index.orig
if [ ! -f "libraries/%{gen_contents_index}" ]; then
@@ -444,7 +453,6 @@ fi
%endif
%if %{without hadrian}
-# https://gitlab.haskell.org/ghc/ghc/-/wikis/platforms
cat > mk/build.mk << EOF
%if %{with perfbuild}
%ifarch %{ghc_llvm_archs}
diff --git a/sphinx7.patch b/sphinx7.patch
new file mode 100644
index 0000000..0eb1dbd
--- /dev/null
+++ b/sphinx7.patch
@@ -0,0 +1,26 @@
+From 52d701b31dc4427b7e321a04be3f5f13a5fc271e Mon Sep 17 00:00:00 2001
+From: "mimi.vx" <mimi.vx(a)gmail.com>
+Date: Wed, 24 May 2023 12:42:15 +0000
+Subject: [PATCH] Fix for Sphinx 7 removed style key
+
+Fixes https://gitlab.haskell.org/ghc/ghc/-/issues/23444
+---
+ docs/users_guide/rtd-theme/layout.html | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/docs/users_guide/rtd-theme/layout.html b/docs/users_guide/rtd-theme/layout.html
+index 2a61142514a..7ffeff7befc 100644
+--- a/docs/users_guide/rtd-theme/layout.html
++++ b/docs/users_guide/rtd-theme/layout.html
+@@ -64,7 +64,7 @@
+ {%- endif %}
+
+ {# CSS #}
+- <link rel="stylesheet" href="{{ pathto('_static/' + style, 1) }}" type="text/css" />
++ <link rel="stylesheet" href="{{ pathto('_static/' + styles[-1], 1) }}" type="text/css" />
+ <link rel="stylesheet" href="{{ pathto('_static/pygments.css', 1) }}" type="text/css" />
+ {%- for css in css_files %}
+ {%- if css|attr("rel") %}
+--
+GitLab
+
commit 7f2cf1e41354e0e8205fe8d38246488e02ea4944
Author: Jens Petersen <petersen(a)redhat.com>
Date: Sun Aug 27 21:50:41 2023 +0800
update to 9.4.7
diff --git a/.gitignore b/.gitignore
index 52bbb23..6d4a4e2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,3 +8,4 @@
/ghc-9.4.4-src.tar.lz
/ghc-9.4.5-src.tar.lz
/ghc-9.4.6-src.tar.lz
+/ghc-9.4.7-src.tar.lz
diff --git a/10922.patch b/10922.patch
deleted file mode 100644
index ca7da4a..0000000
--- a/10922.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 2e6447e073144b9b1352d5167f67ccd07460444a Mon Sep 17 00:00:00 2001
-From: Jens Petersen <petersen(a)redhat.com>
-Date: Thu, 20 Jul 2023 13:16:03 +0800
-Subject: [PATCH] user_guide/flags.py: python-3.12 no longer includes distutils
-
-packaging.version seems able to handle this fine
----
- docs/users_guide/flags.py | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/docs/users_guide/flags.py b/docs/users_guide/flags.py
-index f6927d59817..474d1b65d4b 100644
---- a/docs/users_guide/flags.py
-+++ b/docs/users_guide/flags.py
-@@ -50,7 +50,7 @@ import sphinx
- from sphinx import addnodes
- from sphinx.domains.std import GenericObject
- from sphinx.errors import SphinxError
--from distutils.version import LooseVersion
-+from packaging.version import parse
- from utils import build_table_from_list
-
- import os.path
-@@ -628,8 +628,8 @@ def purge_flags(app, env, docname):
-
- def setup(app):
- # The override argument to add_directive_to_domain is only supported by >= 1.8
-- sphinx_version = LooseVersion(sphinx.__version__)
-- override_arg = {'override': True} if sphinx_version >= LooseVersion('1.8') else {}
-+ sphinx_version = parse(sphinx.__version__)
-+ override_arg = {'override': True} if sphinx_version >= parse('1.8') else {}
-
- # Add ghc-flag directive, and override the class with our own
- app.add_object_type('ghc-flag', 'ghc-flag')
---
-GitLab
-
diff --git a/10928.patch b/10928.patch
deleted file mode 100644
index 1e16603..0000000
--- a/10928.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 5ce7496dba3368faa5088c88168f0f4d69cff32b Mon Sep 17 00:00:00 2001
-From: Jens Petersen <petersen(a)redhat.com>
-Date: Fri, 21 Jul 2023 15:26:16 +0800
-Subject: [PATCH] make hadrian buildable with Cabal-3.8
-
----
- hadrian/hadrian.cabal | 2 +-
- hadrian/src/Hadrian/Haskell/Cabal/Parse.hs | 4 ++++
- 2 files changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/hadrian/hadrian.cabal b/hadrian/hadrian.cabal
-index c37974914a9..eb5690bbd1a 100644
---- a/hadrian/hadrian.cabal
-+++ b/hadrian/hadrian.cabal
-@@ -147,7 +147,7 @@ executable hadrian
- , BangPatterns
- other-extensions: MultiParamTypeClasses
- , TypeFamilies
-- build-depends: Cabal >= 3.2 && < 3.7
-+ build-depends: Cabal >= 3.2 && < 3.9
- , base >= 4.8 && < 5
- , bytestring >= 0.10 && < 0.12
- , containers >= 0.5 && < 0.7
-diff --git a/hadrian/src/Hadrian/Haskell/Cabal/Parse.hs b/hadrian/src/Hadrian/Haskell/Cabal/Parse.hs
-index 079f675b6ea..2d262a36445 100644
---- a/hadrian/src/Hadrian/Haskell/Cabal/Parse.hs
-+++ b/hadrian/src/Hadrian/Haskell/Cabal/Parse.hs
-@@ -23,7 +23,11 @@ import qualified Distribution.ModuleName as C
- import qualified Distribution.Package as C
- import qualified Distribution.PackageDescription as C
- import qualified Distribution.PackageDescription.Configuration as C
-+#if MIN_VERSION_Cabal(3,8,0)
-+import qualified Distribution.Simple.PackageDescription as C
-+#else
- import qualified Distribution.PackageDescription.Parsec as C
-+#endif
- import qualified Distribution.Simple.Compiler as C
- import qualified Distribution.Simple.Program.Db as C
- import qualified Distribution.Simple as C
---
-GitLab
-
diff --git a/ghc-9.4.6-bytestring-Rts.h.patch b/ghc-9.4.6-bytestring-Rts.h.patch
deleted file mode 100644
index 1ecfdb4..0000000
--- a/ghc-9.4.6-bytestring-Rts.h.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- ghc-9.4.6/libraries/bytestring/cbits/is-valid-utf8.c~ 2023-08-06 01:19:50.000000000 +0800
-+++ ghc-9.4.6/libraries/bytestring/cbits/is-valid-utf8.c 2023-08-08 18:24:52.459249192 +0800
-@@ -50,7 +50,7 @@
- #endif
-
- #include <MachDeps.h>
--#include "Rts.h"
-+#include "ghcplatform.h"
-
- #ifdef WORDS_BIGENDIAN
- #define to_little_endian(x) __builtin_bswap64(x)
diff --git a/ghc9.4.spec b/ghc9.4.spec
index b7be221..16ca4a9 100644
--- a/ghc9.4.spec
+++ b/ghc9.4.spec
@@ -70,12 +70,12 @@
%endif
Name: %{ghc_name}
-Version: 9.4.6
+Version: 9.4.7
# Since library subpackages are versioned:
# - release can only be reset if *all* library versions get bumped simultaneously
# (sometimes after a major release)
# - minor release numbers for a branch should be incremented monotonically
-Release: 22%{?dist}
+Release: 23%{?dist}
Summary: Glasgow Haskell Compiler
License: BSD-3-Clause AND HaskellReport
@@ -100,12 +100,6 @@ Patch3: ghc-gen_contents_index-nodocs.patch
Patch5: https://gitlab.haskell.org/ghc/ghc/-/commit/6e12e3c178fe9ad16131eb3c089bd...
Patch7: ghc-compiler-enable-build-id.patch
Patch8: ghc-configure-c99.patch
-# distutils gone in python 3.12
-# https://gitlab.haskell.org/ghc/ghc/-/merge_requests/10922
-Patch10: https://gitlab.haskell.org/ghc/ghc/-/merge_requests/10922.patch
-# https://gitlab.haskell.org/ghc/ghc/-/merge_requests/10928
-# allow building hadrian with Cabal-3.8
-Patch11: https://gitlab.haskell.org/ghc/ghc/-/merge_requests/10928.patch
# arm patches
Patch12: ghc-armv7-VFPv3D16--NEON.patch
@@ -113,9 +107,6 @@ Patch12: ghc-armv7-VFPv3D16--NEON.patch
# reverts https://github.com/haskell/text/pull/405
Patch13: text2-allow-ghc8-arm.patch
-# workaround https://github.com/haskell/bytestring/pull/604
-Patch14: ghc-9.4.6-bytestring-Rts.h.patch
-
# for unregisterized
# https://gitlab.haskell.org/ghc/ghc/-/issues/15689
Patch15: ghc-warnings.mk-CC-Wall.patch
@@ -341,7 +332,7 @@ This provides the hadrian tool which can be used to build ghc.
%ghc_lib_subpackage -d -l %BSDHaskellReport array-0.5.4.0
%ghc_lib_subpackage -d -l %BSDHaskellReport -c gmp-devel%{?_isa},libffi-devel%{?_isa} base-%{base_ver}
%ghc_lib_subpackage -d -l BSD-3-Clause binary-0.8.9.1
-%ghc_lib_subpackage -d -l BSD-3-Clause bytestring-0.11.5.1
+%ghc_lib_subpackage -d -l BSD-3-Clause bytestring-0.11.5.2
%ghc_lib_subpackage -d -l %BSDHaskellReport containers-0.6.7
%ghc_lib_subpackage -d -l %BSDHaskellReport deepseq-1.4.8.0
%ghc_lib_subpackage -d -l %BSDHaskellReport directory-1.3.7.1
@@ -417,9 +408,6 @@ Installing this package causes %{name}-*-prof packages corresponding to
%patch -P7 -p1 -b .orig
%endif
%patch -P8 -p1 -b .orig
-%patch -P10 -p1 -b .orig
-%patch -P11 -p1 -b .orig
-%patch -P14 -p1 -b .orig
rm libffi-tarballs/libffi-*.tar.gz
@@ -997,6 +985,9 @@ env -C %{ghc_html_libraries_dir} ./gen_contents_index
%changelog
+* Sun Aug 27 2023 Jens Petersen <petersen(a)redhat.com> - 9.4.7-23
+- https://downloads.haskell.org/~ghc/9.4.7/docs/users_guide/9.4.7-notes.html
+
* Tue Aug 8 2023 Jens Petersen <petersen(a)redhat.com> - 9.4.6-22
- https://downloads.haskell.org/~ghc/9.4.6/docs/users_guide/9.4.6-notes.html
- update license tags to SPDX
diff --git a/libraries-versions.sh b/libraries-versions.sh
index 8e5fcbd..de881ac 100755
--- a/libraries-versions.sh
+++ b/libraries-versions.sh
@@ -7,5 +7,4 @@ fi
cd libraries
-# should handle ../rts/rts.cabal.in
-grep -i ^version: $(find * -name "*.cabal*" | LANG=C.utf8 sort) | grep -v -e "\(Win32\|cabal-\|gmp.old\|gmp2\|integer-simple\|tests\|bench\)" -e "@ProjectVersionMunged@" | grep -e '[0-9]\.' | sed -e "s!.*/\([^/]*\).cabal:[Vv]ersion: \+!\1-!"
+grep -i ^version: ../rts/rts.cabal.in $(find * -name "*.cabal*") | sed -e 's/.in:/:/' -e 's%^../%%' | LANG=C.utf8 sort | grep -v -e "\(Cabal-\(QuickCheck\|described\|tree-diff\)\|Win32\|cabal-\|gmp.old\|gmp2\|integer-simple\|tests\|bench\)" -e "@ProjectVersionMunged@" | grep -e '[0-9]\.' | sed -e "s!.*/\([^/]*\).cabal:[Vv]ersion: \+!\1-!"
diff --git a/sources b/sources
index bcb89e2..db46850 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (ghc-9.4.6-src.tar.lz) = 624b64428cfd7e69690fed4f4dbba9913bbc6905db548e401bf04d28b90224a708e1f1baf62beb3d9a23d48d603a8265e259869d23f063e89be404ec8ad76472
+SHA512 (ghc-9.4.7-src.tar.lz) = fe4f1affcd3ea1b31e45ce46c9a378c890227d372d7104c54a97cb72ff46252776faf783188d08cc1be55403f6373888fe2983129f6449affbcde29aec1ea798
commit 80785e742c107553828e234280acec3d7c6e64a1
Author: Jens Petersen <petersen(a)redhat.com>
Date: Fri Aug 11 13:37:47 2023 +0800
s390x: still need to patch hadrian.cabal for ghc < 9.2
diff --git a/ghc9.4.spec b/ghc9.4.spec
index a6f7364..b7be221 100644
--- a/ghc9.4.spec
+++ b/ghc9.4.spec
@@ -430,11 +430,17 @@ rm libffi-tarballs/libffi-*.tar.gz
%patch -P13 -p1 -b .orig
%endif
-# remove s390x after complete switching to llvm
%ifarch %{ghc_unregisterized_arches}
%patch -P15 -p1 -b .orig
+%endif
+
+%if %{with hadrian}
+# remove s390x if all ghc using llvm
+%ifarch %{ghc_unregisterized_arches} s390x
%patch -P16 -p1 -b .orig
%endif
+%endif
+
#debian
#%%patch -P24 -p1 -b .orig
8 months, 2 weeks
Architecture specific change in rpms/lld16.git
by githook-noreply@fedoraproject.org
The package rpms/lld16.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/lld16.git/commit/?id=58a40a4318f7....
Change:
+ExcludeArch: s390x
Thanks.
Full change:
============
commit 58a40a4318f7df95376f44f0b63e196b53236b31
Author: Tulio Magno Quites Machado Filho <tuliom(a)redhat.com>
Date: Wed Aug 16 09:07:57 2023 -0300
Import lld16
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..b67dddf
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+/*.tar.xz
+/*.tar.xz.sig
+/*.src.rpm
diff --git a/0001-lld-Pass-random.randint-stop-parameter-as-int.patch b/0001-lld-Pass-random.randint-stop-parameter-as-int.patch
new file mode 100644
index 0000000..816a46d
--- /dev/null
+++ b/0001-lld-Pass-random.randint-stop-parameter-as-int.patch
@@ -0,0 +1,30 @@
+From 015c43178f9d8531b6bcd1685dbf72b7d837cf5a Mon Sep 17 00:00:00 2001
+From: Jacek Caban <jacek(a)codeweavers.com>
+Date: Fri, 10 Mar 2023 21:54:14 -0500
+Subject: [PATCH] [lld] Pass random.randint stop parameter as int.
+
+It's required by Python 3.12, from https://docs.python.org/3.12/library/random.html "Changed in version 3.12: Automatic conversion of non-integer types is no longer supported."
+
+Reviewed By: #lld-macho, int3
+
+Differential Revision: https://reviews.llvm.org/D145826
+---
+ lld/test/MachO/tools/generate-cfi-funcs.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lld/test/MachO/tools/generate-cfi-funcs.py b/lld/test/MachO/tools/generate-cfi-funcs.py
+index 3f22008349f4..e2b75d0cd9a5 100755
+--- a/lld/test/MachO/tools/generate-cfi-funcs.py
++++ b/lld/test/MachO/tools/generate-cfi-funcs.py
+@@ -23,7 +23,7 @@ def print_function(name):
+ global lsda_odds
+ have_lsda = (random.random() < lsda_odds)
+ frame_size = random.randint(4, 64) * 16
+- frame_offset = -random.randint(0, (frame_size/16 - 4)) * 16
++ frame_offset = -random.randint(0, int(frame_size/16 - 4)) * 16
+ global func_size_low, func_size_high
+ func_size = random.randint(func_size_low, func_size_high) * 0x10
+ func_size_high += 1
+--
+2.41.0
+
diff --git a/0001-lld-Use-installed-llvm_gtest-in-standalone-builds.patch b/0001-lld-Use-installed-llvm_gtest-in-standalone-builds.patch
new file mode 100644
index 0000000..cfada79
--- /dev/null
+++ b/0001-lld-Use-installed-llvm_gtest-in-standalone-builds.patch
@@ -0,0 +1,37 @@
+From 56464ba865b7df5bf3edb9be7dc3b6a0fbe21e21 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny(a)gentoo.org>
+Date: Mon, 13 Mar 2023 18:22:31 +0100
+Subject: [PATCH] [lld] Use installed llvm_gtest in standalone builds
+
+Use the installed llvm_gtest library instead of rebuilding it locally
+when standalone builds are used. This change is now required
+as otherwise the build fails due to duplicate llvm_gtest target.
+This is based on 82169103958583d3320b3a9a1e6542e8d32ef8da in clang.
+
+Differential Revision: https://reviews.llvm.org/D145964
+---
+ lld/CMakeLists.txt | 8 +++-----
+ 1 file changed, 3 insertions(+), 5 deletions(-)
+
+diff --git a/lld/CMakeLists.txt b/lld/CMakeLists.txt
+index 3d6225646fe6..1e9e47393196 100644
+--- a/lld/CMakeLists.txt
++++ b/lld/CMakeLists.txt
+@@ -75,11 +75,9 @@ if(LLD_BUILT_STANDALONE)
+ set(LLVM_UTILS_PROVIDED ON)
+ set(LLD_TEST_DEPS FileCheck not)
+ endif()
+- set(UNITTEST_DIR ${LLVM_THIRD_PARTY_DIR}/unittest)
+- if(EXISTS ${UNITTEST_DIR}/googletest/include/gtest/gtest.h
+- AND NOT EXISTS ${LLVM_LIBRARY_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}
+- AND EXISTS ${UNITTEST_DIR}/CMakeLists.txt)
+- add_subdirectory(${UNITTEST_DIR} third-party/unittest)
++
++ if (NOT TARGET llvm_gtest)
++ message(FATAL_ERROR "llvm-gtest not found. Please install llvm-gtest or disable tests with -DLLVM_INCLUDE_TESTS=OFF")
+ endif()
+ else()
+ # Seek installed Lit.
+--
+2.39.2
+
diff --git a/0002-PATCH-lld-Import-compact_unwind_encoding.h-from-libu.patch b/0002-PATCH-lld-Import-compact_unwind_encoding.h-from-libu.patch
new file mode 100644
index 0000000..7d8beda
--- /dev/null
+++ b/0002-PATCH-lld-Import-compact_unwind_encoding.h-from-libu.patch
@@ -0,0 +1,498 @@
+From 43dfe54ce017c8d37eaec480a2f13a492bbc4203 Mon Sep 17 00:00:00 2001
+From: serge-sans-paille <sguelton(a)redhat.com>
+Date: Thu, 25 Feb 2021 14:24:14 +0100
+Subject: [PATCH 2/2] [PATCH][lld] Import compact_unwind_encoding.h from
+ libunwind
+
+This avoids an implicit cross package dependency
+---
+ lld/include/mach-o/compact_unwind_encoding.h | 477 +++++++++++++++++++++++++++
+ 1 file changed, 477 insertions(+)
+ create mode 100644 lld/include/mach-o/compact_unwind_encoding.h
+
+diff --git a/lld/include/mach-o/compact_unwind_encoding.h b/lld/include/mach-o/compact_unwind_encoding.h
+new file mode 100644
+index 0000000..5301b10
+--- /dev/null
++++ b/lld/include/mach-o/compact_unwind_encoding.h
+@@ -0,0 +1,477 @@
++//===------------------ mach-o/compact_unwind_encoding.h ------------------===//
++//
++// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
++// See https://llvm.org/LICENSE.txt for license information.
++// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
++//
++//
++// Darwin's alternative to DWARF based unwind encodings.
++//
++//===----------------------------------------------------------------------===//
++
++
++#ifndef __COMPACT_UNWIND_ENCODING__
++#define __COMPACT_UNWIND_ENCODING__
++
++#include <stdint.h>
++
++//
++// Compilers can emit standard DWARF FDEs in the __TEXT,__eh_frame section
++// of object files. Or compilers can emit compact unwind information in
++// the __LD,__compact_unwind section.
++//
++// When the linker creates a final linked image, it will create a
++// __TEXT,__unwind_info section. This section is a small and fast way for the
++// runtime to access unwind info for any given function. If the compiler
++// emitted compact unwind info for the function, that compact unwind info will
++// be encoded in the __TEXT,__unwind_info section. If the compiler emitted
++// DWARF unwind info, the __TEXT,__unwind_info section will contain the offset
++// of the FDE in the __TEXT,__eh_frame section in the final linked image.
++//
++// Note: Previously, the linker would transform some DWARF unwind infos into
++// compact unwind info. But that is fragile and no longer done.
++
++
++//
++// The compact unwind endoding is a 32-bit value which encoded in an
++// architecture specific way, which registers to restore from where, and how
++// to unwind out of the function.
++//
++typedef uint32_t compact_unwind_encoding_t;
++
++
++// architecture independent bits
++enum {
++ UNWIND_IS_NOT_FUNCTION_START = 0x80000000,
++ UNWIND_HAS_LSDA = 0x40000000,
++ UNWIND_PERSONALITY_MASK = 0x30000000,
++};
++
++
++
++
++//
++// x86
++//
++// 1-bit: start
++// 1-bit: has lsda
++// 2-bit: personality index
++//
++// 4-bits: 0=old, 1=ebp based, 2=stack-imm, 3=stack-ind, 4=DWARF
++// ebp based:
++// 15-bits (5*3-bits per reg) register permutation
++// 8-bits for stack offset
++// frameless:
++// 8-bits stack size
++// 3-bits stack adjust
++// 3-bits register count
++// 10-bits register permutation
++//
++enum {
++ UNWIND_X86_MODE_MASK = 0x0F000000,
++ UNWIND_X86_MODE_EBP_FRAME = 0x01000000,
++ UNWIND_X86_MODE_STACK_IMMD = 0x02000000,
++ UNWIND_X86_MODE_STACK_IND = 0x03000000,
++ UNWIND_X86_MODE_DWARF = 0x04000000,
++
++ UNWIND_X86_EBP_FRAME_REGISTERS = 0x00007FFF,
++ UNWIND_X86_EBP_FRAME_OFFSET = 0x00FF0000,
++
++ UNWIND_X86_FRAMELESS_STACK_SIZE = 0x00FF0000,
++ UNWIND_X86_FRAMELESS_STACK_ADJUST = 0x0000E000,
++ UNWIND_X86_FRAMELESS_STACK_REG_COUNT = 0x00001C00,
++ UNWIND_X86_FRAMELESS_STACK_REG_PERMUTATION = 0x000003FF,
++
++ UNWIND_X86_DWARF_SECTION_OFFSET = 0x00FFFFFF,
++};
++
++enum {
++ UNWIND_X86_REG_NONE = 0,
++ UNWIND_X86_REG_EBX = 1,
++ UNWIND_X86_REG_ECX = 2,
++ UNWIND_X86_REG_EDX = 3,
++ UNWIND_X86_REG_EDI = 4,
++ UNWIND_X86_REG_ESI = 5,
++ UNWIND_X86_REG_EBP = 6,
++};
++
++//
++// For x86 there are four modes for the compact unwind encoding:
++// UNWIND_X86_MODE_EBP_FRAME:
++// EBP based frame where EBP is push on stack immediately after return address,
++// then ESP is moved to EBP. Thus, to unwind ESP is restored with the current
++// EPB value, then EBP is restored by popping off the stack, and the return
++// is done by popping the stack once more into the pc.
++// All non-volatile registers that need to be restored must have been saved
++// in a small range in the stack that starts EBP-4 to EBP-1020. The offset/4
++// is encoded in the UNWIND_X86_EBP_FRAME_OFFSET bits. The registers saved
++// are encoded in the UNWIND_X86_EBP_FRAME_REGISTERS bits as five 3-bit entries.
++// Each entry contains which register to restore.
++// UNWIND_X86_MODE_STACK_IMMD:
++// A "frameless" (EBP not used as frame pointer) function with a small
++// constant stack size. To return, a constant (encoded in the compact
++// unwind encoding) is added to the ESP. Then the return is done by
++// popping the stack into the pc.
++// All non-volatile registers that need to be restored must have been saved
++// on the stack immediately after the return address. The stack_size/4 is
++// encoded in the UNWIND_X86_FRAMELESS_STACK_SIZE (max stack size is 1024).
++// The number of registers saved is encoded in UNWIND_X86_FRAMELESS_STACK_REG_COUNT.
++// UNWIND_X86_FRAMELESS_STACK_REG_PERMUTATION constains which registers were
++// saved and their order.
++// UNWIND_X86_MODE_STACK_IND:
++// A "frameless" (EBP not used as frame pointer) function large constant
++// stack size. This case is like the previous, except the stack size is too
++// large to encode in the compact unwind encoding. Instead it requires that
++// the function contains "subl $nnnnnnnn,ESP" in its prolog. The compact
++// encoding contains the offset to the nnnnnnnn value in the function in
++// UNWIND_X86_FRAMELESS_STACK_SIZE.
++// UNWIND_X86_MODE_DWARF:
++// No compact unwind encoding is available. Instead the low 24-bits of the
++// compact encoding is the offset of the DWARF FDE in the __eh_frame section.
++// This mode is never used in object files. It is only generated by the
++// linker in final linked images which have only DWARF unwind info for a
++// function.
++//
++// The permutation encoding is a Lehmer code sequence encoded into a
++// single variable-base number so we can encode the ordering of up to
++// six registers in a 10-bit space.
++//
++// The following is the algorithm used to create the permutation encoding used
++// with frameless stacks. It is passed the number of registers to be saved and
++// an array of the register numbers saved.
++//
++//uint32_t permute_encode(uint32_t registerCount, const uint32_t registers[6])
++//{
++// uint32_t renumregs[6];
++// for (int i=6-registerCount; i < 6; ++i) {
++// int countless = 0;
++// for (int j=6-registerCount; j < i; ++j) {
++// if ( registers[j] < registers[i] )
++// ++countless;
++// }
++// renumregs[i] = registers[i] - countless -1;
++// }
++// uint32_t permutationEncoding = 0;
++// switch ( registerCount ) {
++// case 6:
++// permutationEncoding |= (120*renumregs[0] + 24*renumregs[1]
++// + 6*renumregs[2] + 2*renumregs[3]
++// + renumregs[4]);
++// break;
++// case 5:
++// permutationEncoding |= (120*renumregs[1] + 24*renumregs[2]
++// + 6*renumregs[3] + 2*renumregs[4]
++// + renumregs[5]);
++// break;
++// case 4:
++// permutationEncoding |= (60*renumregs[2] + 12*renumregs[3]
++// + 3*renumregs[4] + renumregs[5]);
++// break;
++// case 3:
++// permutationEncoding |= (20*renumregs[3] + 4*renumregs[4]
++// + renumregs[5]);
++// break;
++// case 2:
++// permutationEncoding |= (5*renumregs[4] + renumregs[5]);
++// break;
++// case 1:
++// permutationEncoding |= (renumregs[5]);
++// break;
++// }
++// return permutationEncoding;
++//}
++//
++
++
++
++
++//
++// x86_64
++//
++// 1-bit: start
++// 1-bit: has lsda
++// 2-bit: personality index
++//
++// 4-bits: 0=old, 1=rbp based, 2=stack-imm, 3=stack-ind, 4=DWARF
++// rbp based:
++// 15-bits (5*3-bits per reg) register permutation
++// 8-bits for stack offset
++// frameless:
++// 8-bits stack size
++// 3-bits stack adjust
++// 3-bits register count
++// 10-bits register permutation
++//
++enum {
++ UNWIND_X86_64_MODE_MASK = 0x0F000000,
++ UNWIND_X86_64_MODE_RBP_FRAME = 0x01000000,
++ UNWIND_X86_64_MODE_STACK_IMMD = 0x02000000,
++ UNWIND_X86_64_MODE_STACK_IND = 0x03000000,
++ UNWIND_X86_64_MODE_DWARF = 0x04000000,
++
++ UNWIND_X86_64_RBP_FRAME_REGISTERS = 0x00007FFF,
++ UNWIND_X86_64_RBP_FRAME_OFFSET = 0x00FF0000,
++
++ UNWIND_X86_64_FRAMELESS_STACK_SIZE = 0x00FF0000,
++ UNWIND_X86_64_FRAMELESS_STACK_ADJUST = 0x0000E000,
++ UNWIND_X86_64_FRAMELESS_STACK_REG_COUNT = 0x00001C00,
++ UNWIND_X86_64_FRAMELESS_STACK_REG_PERMUTATION = 0x000003FF,
++
++ UNWIND_X86_64_DWARF_SECTION_OFFSET = 0x00FFFFFF,
++};
++
++enum {
++ UNWIND_X86_64_REG_NONE = 0,
++ UNWIND_X86_64_REG_RBX = 1,
++ UNWIND_X86_64_REG_R12 = 2,
++ UNWIND_X86_64_REG_R13 = 3,
++ UNWIND_X86_64_REG_R14 = 4,
++ UNWIND_X86_64_REG_R15 = 5,
++ UNWIND_X86_64_REG_RBP = 6,
++};
++//
++// For x86_64 there are four modes for the compact unwind encoding:
++// UNWIND_X86_64_MODE_RBP_FRAME:
++// RBP based frame where RBP is push on stack immediately after return address,
++// then RSP is moved to RBP. Thus, to unwind RSP is restored with the current
++// EPB value, then RBP is restored by popping off the stack, and the return
++// is done by popping the stack once more into the pc.
++// All non-volatile registers that need to be restored must have been saved
++// in a small range in the stack that starts RBP-8 to RBP-2040. The offset/8
++// is encoded in the UNWIND_X86_64_RBP_FRAME_OFFSET bits. The registers saved
++// are encoded in the UNWIND_X86_64_RBP_FRAME_REGISTERS bits as five 3-bit entries.
++// Each entry contains which register to restore.
++// UNWIND_X86_64_MODE_STACK_IMMD:
++// A "frameless" (RBP not used as frame pointer) function with a small
++// constant stack size. To return, a constant (encoded in the compact
++// unwind encoding) is added to the RSP. Then the return is done by
++// popping the stack into the pc.
++// All non-volatile registers that need to be restored must have been saved
++// on the stack immediately after the return address. The stack_size/8 is
++// encoded in the UNWIND_X86_64_FRAMELESS_STACK_SIZE (max stack size is 2048).
++// The number of registers saved is encoded in UNWIND_X86_64_FRAMELESS_STACK_REG_COUNT.
++// UNWIND_X86_64_FRAMELESS_STACK_REG_PERMUTATION constains which registers were
++// saved and their order.
++// UNWIND_X86_64_MODE_STACK_IND:
++// A "frameless" (RBP not used as frame pointer) function large constant
++// stack size. This case is like the previous, except the stack size is too
++// large to encode in the compact unwind encoding. Instead it requires that
++// the function contains "subq $nnnnnnnn,RSP" in its prolog. The compact
++// encoding contains the offset to the nnnnnnnn value in the function in
++// UNWIND_X86_64_FRAMELESS_STACK_SIZE.
++// UNWIND_X86_64_MODE_DWARF:
++// No compact unwind encoding is available. Instead the low 24-bits of the
++// compact encoding is the offset of the DWARF FDE in the __eh_frame section.
++// This mode is never used in object files. It is only generated by the
++// linker in final linked images which have only DWARF unwind info for a
++// function.
++//
++
++
++// ARM64
++//
++// 1-bit: start
++// 1-bit: has lsda
++// 2-bit: personality index
++//
++// 4-bits: 4=frame-based, 3=DWARF, 2=frameless
++// frameless:
++// 12-bits of stack size
++// frame-based:
++// 4-bits D reg pairs saved
++// 5-bits X reg pairs saved
++// DWARF:
++// 24-bits offset of DWARF FDE in __eh_frame section
++//
++enum {
++ UNWIND_ARM64_MODE_MASK = 0x0F000000,
++ UNWIND_ARM64_MODE_FRAMELESS = 0x02000000,
++ UNWIND_ARM64_MODE_DWARF = 0x03000000,
++ UNWIND_ARM64_MODE_FRAME = 0x04000000,
++
++ UNWIND_ARM64_FRAME_X19_X20_PAIR = 0x00000001,
++ UNWIND_ARM64_FRAME_X21_X22_PAIR = 0x00000002,
++ UNWIND_ARM64_FRAME_X23_X24_PAIR = 0x00000004,
++ UNWIND_ARM64_FRAME_X25_X26_PAIR = 0x00000008,
++ UNWIND_ARM64_FRAME_X27_X28_PAIR = 0x00000010,
++ UNWIND_ARM64_FRAME_D8_D9_PAIR = 0x00000100,
++ UNWIND_ARM64_FRAME_D10_D11_PAIR = 0x00000200,
++ UNWIND_ARM64_FRAME_D12_D13_PAIR = 0x00000400,
++ UNWIND_ARM64_FRAME_D14_D15_PAIR = 0x00000800,
++
++ UNWIND_ARM64_FRAMELESS_STACK_SIZE_MASK = 0x00FFF000,
++ UNWIND_ARM64_DWARF_SECTION_OFFSET = 0x00FFFFFF,
++};
++// For arm64 there are three modes for the compact unwind encoding:
++// UNWIND_ARM64_MODE_FRAME:
++// This is a standard arm64 prolog where FP/LR are immediately pushed on the
++// stack, then SP is copied to FP. If there are any non-volatile registers
++// saved, then are copied into the stack frame in pairs in a contiguous
++// range right below the saved FP/LR pair. Any subset of the five X pairs
++// and four D pairs can be saved, but the memory layout must be in register
++// number order.
++// UNWIND_ARM64_MODE_FRAMELESS:
++// A "frameless" leaf function, where FP/LR are not saved. The return address
++// remains in LR throughout the function. If any non-volatile registers
++// are saved, they must be pushed onto the stack before any stack space is
++// allocated for local variables. The stack sized (including any saved
++// non-volatile registers) divided by 16 is encoded in the bits
++// UNWIND_ARM64_FRAMELESS_STACK_SIZE_MASK.
++// UNWIND_ARM64_MODE_DWARF:
++// No compact unwind encoding is available. Instead the low 24-bits of the
++// compact encoding is the offset of the DWARF FDE in the __eh_frame section.
++// This mode is never used in object files. It is only generated by the
++// linker in final linked images which have only DWARF unwind info for a
++// function.
++//
++
++
++
++
++
++////////////////////////////////////////////////////////////////////////////////
++//
++// Relocatable Object Files: __LD,__compact_unwind
++//
++////////////////////////////////////////////////////////////////////////////////
++
++//
++// A compiler can generated compact unwind information for a function by adding
++// a "row" to the __LD,__compact_unwind section. This section has the
++// S_ATTR_DEBUG bit set, so the section will be ignored by older linkers.
++// It is removed by the new linker, so never ends up in final executables.
++// This section is a table, initially with one row per function (that needs
++// unwind info). The table columns and some conceptual entries are:
++//
++// range-start pointer to start of function/range
++// range-length
++// compact-unwind-encoding 32-bit encoding
++// personality-function or zero if no personality function
++// lsda or zero if no LSDA data
++//
++// The length and encoding fields are 32-bits. The other are all pointer sized.
++//
++// In x86_64 assembly, these entry would look like:
++//
++// .section __LD,__compact_unwind,regular,debug
++//
++// #compact unwind for _foo
++// .quad _foo
++// .set L1,LfooEnd-_foo
++// .long L1
++// .long 0x01010001
++// .quad 0
++// .quad 0
++//
++// #compact unwind for _bar
++// .quad _bar
++// .set L2,LbarEnd-_bar
++// .long L2
++// .long 0x01020011
++// .quad __gxx_personality
++// .quad except_tab1
++//
++//
++// Notes: There is no need for any labels in the the __compact_unwind section.
++// The use of the .set directive is to force the evaluation of the
++// range-length at assembly time, instead of generating relocations.
++//
++// To support future compiler optimizations where which non-volatile registers
++// are saved changes within a function (e.g. delay saving non-volatiles until
++// necessary), there can by multiple lines in the __compact_unwind table for one
++// function, each with a different (non-overlapping) range and each with
++// different compact unwind encodings that correspond to the non-volatiles
++// saved at that range of the function.
++//
++// If a particular function is so wacky that there is no compact unwind way
++// to encode it, then the compiler can emit traditional DWARF unwind info.
++// The runtime will use which ever is available.
++//
++// Runtime support for compact unwind encodings are only available on 10.6
++// and later. So, the compiler should not generate it when targeting pre-10.6.
++
++
++
++
++////////////////////////////////////////////////////////////////////////////////
++//
++// Final Linked Images: __TEXT,__unwind_info
++//
++////////////////////////////////////////////////////////////////////////////////
++
++//
++// The __TEXT,__unwind_info section is laid out for an efficient two level lookup.
++// The header of the section contains a coarse index that maps function address
++// to the page (4096 byte block) containing the unwind info for that function.
++//
++
++#define UNWIND_SECTION_VERSION 1
++struct unwind_info_section_header
++{
++ uint32_t version; // UNWIND_SECTION_VERSION
++ uint32_t commonEncodingsArraySectionOffset;
++ uint32_t commonEncodingsArrayCount;
++ uint32_t personalityArraySectionOffset;
++ uint32_t personalityArrayCount;
++ uint32_t indexSectionOffset;
++ uint32_t indexCount;
++ // compact_unwind_encoding_t[]
++ // uint32_t personalities[]
++ // unwind_info_section_header_index_entry[]
++ // unwind_info_section_header_lsda_index_entry[]
++};
++
++struct unwind_info_section_header_index_entry
++{
++ uint32_t functionOffset;
++ uint32_t secondLevelPagesSectionOffset; // section offset to start of regular or compress page
++ uint32_t lsdaIndexArraySectionOffset; // section offset to start of lsda_index array for this range
++};
++
++struct unwind_info_section_header_lsda_index_entry
++{
++ uint32_t functionOffset;
++ uint32_t lsdaOffset;
++};
++
++//
++// There are two kinds of second level index pages: regular and compressed.
++// A compressed page can hold up to 1021 entries, but it cannot be used
++// if too many different encoding types are used. The regular page holds
++// 511 entries.
++//
++
++struct unwind_info_regular_second_level_entry
++{
++ uint32_t functionOffset;
++ compact_unwind_encoding_t encoding;
++};
++
++#define UNWIND_SECOND_LEVEL_REGULAR 2
++struct unwind_info_regular_second_level_page_header
++{
++ uint32_t kind; // UNWIND_SECOND_LEVEL_REGULAR
++ uint16_t entryPageOffset;
++ uint16_t entryCount;
++ // entry array
++};
++
++#define UNWIND_SECOND_LEVEL_COMPRESSED 3
++struct unwind_info_compressed_second_level_page_header
++{
++ uint32_t kind; // UNWIND_SECOND_LEVEL_COMPRESSED
++ uint16_t entryPageOffset;
++ uint16_t entryCount;
++ uint16_t encodingsPageOffset;
++ uint16_t encodingsCount;
++ // 32-bit entry array
++ // encodings array
++};
++
++#define UNWIND_INFO_COMPRESSED_ENTRY_FUNC_OFFSET(entry) (entry & 0x00FFFFFF)
++#define UNWIND_INFO_COMPRESSED_ENTRY_ENCODING_INDEX(entry) ((entry >> 24) & 0xFF)
++
++
++
++#endif
++
+--
+1.8.3.1
+
diff --git a/lld16.spec b/lld16.spec
new file mode 100644
index 0000000..414b00c
--- /dev/null
+++ b/lld16.spec
@@ -0,0 +1,584 @@
+%global toolchain clang
+
+# Opt out of https://fedoraproject.org/wiki/Changes/fno-omit-frame-pointer
+# https://bugzilla.redhat.com/show_bug.cgi?id=2158587
+%undefine _include_frame_pointers
+
+%bcond_without check
+%bcond_without compat_build
+
+#global rc_ver 4
+%global lld_srcdir lld-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src
+%global maj_ver 16
+%global min_ver 0
+%global patch_ver 6
+
+%if %{with compat_build}
+%global pkg_name lld%{maj_ver}
+%global install_prefix %{_libdir}/llvm%{maj_ver}
+%global install_includedir %{install_prefix}/include
+%global install_libdir %{install_prefix}/lib
+%global install_datadir %{install_prefix}/share
+%else
+%global pkg_name lld
+%global install_prefix /usr
+%global install_includedir %{_includedir}
+%global install_libdir %{_libdir}
+%global install_datadir %{_datadir}
+%endif
+
+Name: %{pkg_name}
+Version: %{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:~rc%{rc_ver}}
+Release: 2%{?dist}
+Summary: The LLVM Linker
+
+License: Apache-2.0 WITH LLVM-exception OR NCSA
+URL: http://llvm.org
+Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}...
+Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}...
+Source2: release-keys.asc
+
+ExcludeArch: s390x
+
+# Bundle libunwind header need during build for MachO support
+Patch1: 0002-PATCH-lld-Import-compact_unwind_encoding.h-from-libu.patch
+
+# Backport from LLVM 17.
+Patch2: 0001-lld-Use-installed-llvm_gtest-in-standalone-builds.patch
+
+# Backport from LLVM 17.
+Patch3: 0001-lld-Pass-random.randint-stop-parameter-as-int.patch
+
+BuildRequires: clang
+BuildRequires: cmake
+BuildRequires: ninja-build
+%if %{with compat_build}
+BuildRequires: llvm%{maj_ver}-devel = %{version}
+BuildRequires: llvm%{maj_ver}-cmake-utils = %{version}
+%else
+BuildRequires: llvm-devel = %{version}
+BuildRequires: llvm-cmake-utils = %{version}
+BuildRequires: llvm-test = %{version}
+BuildRequires: llvm-googletest = %{version}
+%endif
+BuildRequires: ncurses-devel
+BuildRequires: zlib-devel
+
+# For make check:
+BuildRequires: python3-rpm-macros
+BuildRequires: python3-lit
+
+# For gpg source verification
+BuildRequires: gnupg2
+
+Requires(post): %{_sbindir}/update-alternatives
+Requires(preun): %{_sbindir}/update-alternatives
+
+Requires: %{name}-libs = %{version}-%{release}
+
+%description
+The LLVM project linker.
+
+%package devel
+Summary: Libraries and header files for LLD
+Requires: %{name}-libs%{?_isa} = %{version}-%{release}
+%if %{without compat_build}
+# lld tools are referenced in the cmake files, so we need to add lld as a
+# dependency.
+Requires: %{name}%{?_isa} = %{version}-%{release}
+%endif
+
+%description devel
+This package contains library and header files needed to develop new native
+programs that use the LLD infrastructure.
+
+%package libs
+Summary: LLD shared libraries
+
+%description libs
+Shared libraries for LLD.
+
+%prep
+%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
+%autosetup -n %{lld_srcdir} -p2
+
+%if %{with compat_build}
+# For compat builds, we don't want to build the actual lld binary. While there is an
+# LLD_BUILD_TOOLS cmake option, it is incomplete in various ways (e.g. still leaves install
+# targets and symlinks), so instead skip the tools/lld build entirely.
+# We can't simply delete the binaries after the fact, because this would leave checks for
+# their existence in the cmake exports.
+sed 's/add_subdirectory(tools\/lld)//' -i CMakeLists.txt
+%endif
+
+%build
+
+%cmake \
+ -GNinja \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+ -DCMAKE_INSTALL_PREFIX=%{install_prefix} \
+ -DLLVM_LINK_LLVM_DYLIB:BOOL=ON \
+ -DLLVM_DYLIB_COMPONENTS="all" \
+ -DLLVM_COMMON_CMAKE_UTILS=%{install_datadir}/llvm/cmake \
+ -DCMAKE_SKIP_RPATH:BOOL=ON \
+ -DPYTHON_EXECUTABLE=%{__python3} \
+%if %{with compat_build}
+ -DLLVM_CMAKE_DIR=%{install_libdir}/cmake/llvm \
+ -DLLVM_INCLUDE_TESTS=OFF \
+%else
+ -DLLVM_INCLUDE_TESTS=ON \
+ -DLLVM_EXTERNAL_LIT=%{_bindir}/lit \
+ -DLLVM_LIT_ARGS="-sv \
+ --path %{_libdir}/llvm" \
+%if 0%{?__isa_bits} == 64
+ -DLLVM_LIBDIR_SUFFIX=64 \
+%else
+ -DLLVM_LIBDIR_SUFFIX= \
+%endif
+%endif
+ -DLLVM_MAIN_SRC_DIR=%{_datadir}/llvm/src
+
+%cmake_build
+
+%install
+
+# Install libraries and binaries
+%cmake_install
+
+# This is generated by Patch1 during build and (probably) must be removed afterward
+rm %{buildroot}%{install_includedir}/mach-o/compact_unwind_encoding.h
+
+%if %{without compat_build}
+# Required when using update-alternatives:
+# https://docs.fedoraproject.org/en-US/packaging-guidelines/Alternatives/
+touch %{buildroot}%{_bindir}/ld
+
+install -D -m 644 -t %{buildroot}%{_mandir}/man1/ docs/ld.lld.1
+
+%post
+%{_sbindir}/update-alternatives --install %{_bindir}/ld ld %{_bindir}/ld.lld 1
+
+%postun
+if [ $1 -eq 0 ] ; then
+ %{_sbindir}/update-alternatives --remove ld %{_bindir}/ld.lld
+fi
+%endif
+
+%check
+
+%if %{without compat_build}
+%if %{with check}
+%cmake_build --target check-lld
+%endif
+
+%ldconfig_scriptlets libs
+%endif
+
+%if %{without compat_build}
+%files
+%license LICENSE.TXT
+%ghost %{_bindir}/ld
+%{_bindir}/lld*
+%{_bindir}/ld.lld
+%{_bindir}/ld64.lld
+%{_bindir}/wasm-ld
+%{_mandir}/man1/ld.lld.1*
+%endif
+
+%files devel
+%{install_includedir}/lld
+%{install_libdir}/liblld*.so
+%{install_libdir}/cmake/lld/
+
+%files libs
+%{install_libdir}/liblld*.so.*
+
+%changelog
+* Thu Jul 20 2023 Fedora Release Engineering <releng(a)fedoraproject.org> - 16.0.6-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
+
+* Mon Jul 10 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 16.0.6-1
+- Update to LLVM 16.0.6
+
+* Tue Jun 13 2023 Nikita Popov <npopov(a)redhat.com> - 16.0.5-2
+- Use llvm-cmake-utils package
+
+* Tue Jun 06 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 16.0.5-1
+- Update to LLVM 16.0.5
+
+* Fri May 19 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 16.0.4-1
+- Update to LLVM 16.0.4
+
+* Thu May 11 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 16.0.3-2
+- Distribute the manpage. Fix rhbz#2203231
+
+* Wed May 10 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 16.0.3-1
+- Update to LLVM 16.0.3
+
+* Wed Apr 26 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 16.0.2-1
+- Update to LLVM 16.0.2
+
+* Thu Apr 13 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 16.0.1-1
+- Update to LLVM 16.0.1
+
+* Fri Mar 24 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 16.0.0-2
+- Use installed llvm_gtest
+
+* Tue Mar 21 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 16.0.0-1
+- Update to LLVM 16.0.0
+
+* Wed Mar 15 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 16.0.0~rc4-1
+- Update to LLVM 16.0.0 RC4
+
+* Thu Feb 23 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 16.0.0~rc3-1
+- Update to LLVM 16.0.0 RC3
+
+* Tue Feb 14 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 16.0.0~rc1-1
+- Update to LLVM 16.0.0 RC1
+
+* Thu Jan 19 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 15.0.7-3
+- Update license to SPDX identifiers.
+- Include the Apache license adopted in 2019.
+
+* Thu Jan 19 2023 Fedora Release Engineering <releng(a)fedoraproject.org> - 15.0.7-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
+
+* Fri Jan 13 2023 Nikita Popov <npopov(a)redhat.com> - 15.0.7-1
+- Update to LLVM 15.0.7
+
+* Mon Jan 09 2023 Tom Stellard <tstellar(a)redhat.com> - 15.0.6-2
+- Omit frame pointers when building
+
+* Tue Dec 06 2022 Nikita Popov <npopov(a)redhat.com> - 15.0.6-1
+- Update to LLVM 15.0.6
+
+* Mon Nov 14 2022 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 15.0.4-2
+- Enable LTO.
+
+* Mon Nov 07 2022 Nikita Popov <npopov(a)redhat.com> - 15.0.4-1
+- Update to LLVM 15.0.4
+
+* Tue Oct 11 2022 Nikita Popov <npopov(a)redhat.com> - 15.0.0-2
+- Remove lld-test package
+
+* Tue Sep 06 2022 Nikita Popov <npopov(a)redhat.com> - 15.0.0-1
+- Update to LLVM 15.0.0
+
+* Tue Aug 09 2022 Nikita Popov <npopov(a)redhat.com> - 14.0.5-4
+- Backport --package-metadata flag
+
+* Thu Jul 21 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 14.0.5-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
+
+* Mon Jul 11 2022 Konrad Kleine <kkleine(a)redhat.com> - 14.0.5-2
+- Set build type to RelWithDebInfo
+
+* Fri Jun 17 2022 Timm Bäder <tbaeder(a)redhat.com> - 14.0.5-1
+- Update to 14.0.5
+
+* Thu Mar 31 2022 Tom Stellard <tstellar(a)redhat.com> - 14.0.0-2
+- Fix CI test failure: gcc-compat-basic
+
+* Mon Feb 28 2022 Timm Bäder <tbaeder(a)redhat.com> - 14.0.0~rc1-1
+- Update to 14.0.0rc1
+
+* Thu Feb 03 2022 Nikita Popov <npopov(a)redhat.com> - 13.0.1-1
+- Update to LLVM 13.0.1 final
+
+* Tue Feb 01 2022 Nikita Popov <npopov(a)redhat.com> - 13.0.1~rc3-1
+- Update to LLVM 13.0.1 rc3
+
+* Thu Jan 20 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 13.0.1~rc2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
+
+* Fri Jan 14 2022 Nikita Popov <npopov(a)redhat.com> - 13.0.1~rc2-1
+- Update to LLVM 13.0.1rc2
+
+* Wed Jan 12 2022 Nikita Popov <npopov(a)redhat.com> - 13.0.1~rc1-1
+- Update to LLVM 13.0.1rc1
+
+* Wed Oct 06 2021 Tom Stellard <tstellar(a)redhat.com> - 13.0.0-2
+- Rebuild for llvm soname bump
+
+* Fri Oct 01 2021 Tom Stellard <tstellar(a)redhat.com> - 13.0.0-1
+- 13.0.0 Release
+
+* Thu Sep 30 2021 Tom Stellard <tstellar(a)redhat.com> - 13.0.0~rc4-1
+- 13.0.0-rc4 Release
+
+* Mon Sep 20 2021 Tom Stellard <tstellar(a)redhat.com> - 13.0.0~rc1-3
+- 13.0.0-rc3 Release
+
+* Tue Sep 14 2021 Konrad Kleine <kkleine(a)redhat.com> - 13.0.0~rc1-2
+- Add --without=check option
+
+* Fri Aug 06 2021 Tom Stellard <tstellar(a)redhat.com> - 13.0.0~rc1-1
+- 13.0.0-rc1 Release
+
+* Thu Jul 22 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 12.0.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Tue Jul 13 2021 Tom Stellard <tstellar(a)redhat.com> - 12.0.1-1
+- 12.0.1 Release
+
+* Wed Jun 30 2021 Tom Stellard <tstellar(a)redhat.com> - 12.0.1~rc3-1
+- 12.0.1-rc3 Release
+
+* Tue Jun 01 2021 Tom Stellard <tstellar(a)redhat.com> - 12.0.1~rc1-1
+- 12.0.1-rc1 Release
+
+* Fri Apr 16 2021 Tom Stellard <tstellar(a)redhat.com> - 12.0.0-1
+- 12.0.0 Release
+
+* Thu Apr 08 2021 sguelton(a)redhat.com - 12.0.0-0.8.rc5
+- New upstream release candidate
+
+* Wed Apr 07 2021 Tom Stellard <tstellar(a)redhat.com> - 12.0.0-0.7.rc4
+- Set executable permissions on run-lit-tests
+
+* Fri Apr 02 2021 sguelton(a)redhat.com - 12.0.0-0.6.rc4
+- New upstream release candidate
+
+* Wed Mar 31 2021 Jonathan Wakely <jwakely(a)redhat.com> - 12.0.0-0.5.rc3
+- Rebuilt for removed libstdc++ symbols (#1937698)
+
+* Thu Mar 11 2021 sguelton(a)redhat.com - 12.0.0-0.4.rc3
+- LLVM 12.0.0 rc3
+
+* Wed Mar 10 2021 sguelton(a)redhat.com - 12.0.0-0.3.rc2
+- rebuilt
+
+* Wed Feb 24 2021 sguelton(a)redhat.com - 12.0.0-0.2.rc2
+- llvm 12.0.0-rc2 release
+
+* Tue Feb 16 2021 sguelton(a)redhat.com - 12.0.0-0.1.rc1
+- llvm 12.0.0-rc1 release
+
+* Tue Jan 26 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 11.1.0-0.3.rc2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Fri Jan 22 2021 Serge Guelton - 11.1.0-0.2.rc2
+- llvm 11.1.0-rc2 release
+
+* Thu Jan 14 2021 Serge Guelton - 11.1.0-0.1.rc1
+- 11.1.0-rc1 release
+
+* Wed Jan 06 2021 Serge Guelton - 11.0.1-3
+- LLVM 11.0.1 final
+
+* Tue Dec 22 2020 sguelton(a)redhat.com - 11.0.1-2.rc2
+- llvm 11.0.1-rc2
+
+* Tue Dec 01 2020 sguelton(a)redhat.com - 11.0.1-1.rc1
+- llvm 11.0.1-rc1
+
+* Thu Nov 12 2020 sguelton(a)redhat.com - 11.0.0-3
+- Exclude s390x, unsupported upstream
+
+* Mon Oct 19 2020 sguelton(a)redhat.com - 11.0.0-2
+- Rebuilt with all gating tests on
+
+* Thu Oct 15 2020 sguelton(a)redhat.com - 11.0.0-1
+- Fix NVR
+
+* Mon Oct 12 2020 sguelton(a)redhat.com - 11.0.0-0.6
+- llvm 11.0.0 - final release
+
+* Thu Oct 08 2020 sguelton(a)redhat.com - 11.0.0-0.5.rc6
+- 11.0.0-rc6
+
+* Wed Oct 07 2020 sguelton(a)redhat.com - 11.0.0-0.4.rc5
+- Update CI tests
+
+* Fri Oct 02 2020 sguelton(a)redhat.com - 11.0.0-0.3.rc5
+- 11.0.0-rc5 Release
+
+* Sun Sep 27 2020 sguelton(a)redhat.com - 11.0.0-0.2.rc3
+- Fix NVR
+
+* Thu Sep 24 2020 sguelton(a)redhat.com - 11.0.0-0.1.rc3
+- 11.0.0-rc3 Release
+
+* Tue Sep 01 2020 sguelton(a)redhat.com - 11.0.0-0.1.rc2
+- 11.0.0-rc2 Release
+
+* Mon Aug 10 2020 Tom Stellard <tstellar(a)redhat.com> - 11.0.0-0.1.rc1
+- 11.0.0-rc1 Release
+
+* Mon Aug 10 2020 sguelton(a)redhat.com - 10.0.0-7
+- use %%license macro
+
+* Mon Aug 10 2020 Tom Stellard <tstellar(a)redhat.com> - 10.0.0-6
+- Disable LTO
+
+* Sat Aug 01 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 10.0.0-5
+- Second attempt - Rebuilt for
+ https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Tue Jul 28 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 10.0.0-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Mon Jul 20 2020 sguelton(a)redhat.com - 10.0.0-3
+- Use generic cmake macros
+- Use Ninja as build system
+- Remove chrpath dependency
+
+* Fri Jul 17 2020 sguelton(a)redhat.com - 10.0.0-2
+- Make test archive arch-independent
+
+* Mon Mar 30 2020 sguelton(a)redhat.com - 10.0.0-1
+- 10.0.0 final
+
+* Wed Mar 25 2020 sguelton(a)redhat.com - 10.0.0-0.6.rc6
+- 10.0.0 rc6
+
+* Fri Mar 20 2020 sguelton(a)redhat.com - 10.0.0-0.5.rc5
+- 10.0.0 rc5
+
+* Sun Mar 15 2020 sguelton(a)redhat.com - 10.0.0-0.4.rc4
+- 10.0.0 rc4
+
+* Thu Mar 05 2020 sguelton(a)redhat.com - 10.0.0-0.3.rc3
+- 10.0.0 rc3
+
+* Fri Feb 14 2020 sguelton(a)redhat.com - 10.0.0-0.2.rc2
+- 10.0.0 rc2
+
+* Fri Jan 31 2020 sguelton(a)redhat.com - 10.0.0-0.1.rc1
+- 10.0.0 rc1
+
+* Wed Jan 29 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 9.0.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Thu Dec 19 2019 Tom Stellard <tstellar(a)redhat.com> -9.0.1-1
+- 9.0.1 Release
+
+* Sat Dec 14 2019 Tom Stellard <tstellar(a)redhat.com> - 9.0.0-6
+- Fix some rpmdiff errors
+
+* Fri Dec 13 2019 Tom Stellard <tstellar(a)redhat.com> - 9.0.0-5
+- Remove build artifacts installed with unittests
+
+* Thu Dec 05 2019 Tom Stellard <tstellar(a)redhat.com> - 9.0.0-4
+- Enable GPG-based source file verification
+
+* Thu Dec 05 2019 Tom Stellard <tstellar(a)redhat.com> - 9.0.0-3
+- Add lld-test package
+
+* Thu Nov 14 2019 Tom Stellard <tstellar(a)redhat.com> - 9.0.0-2
+- Add explicit lld-libs requires to fix rpmdiff errors
+
+* Thu Sep 19 2019 Tom Stellard <tstellar(a)redhat.com> -9.0.0-1
+- 9.0.0 Release
+
+* Thu Aug 22 2019 Tom Stellard <tstellar(a)redhat.com> - 9.0.0-0.1.rc3
+- 9.0.0-rc3 Release
+
+* Tue Aug 20 2019 Tom Stellard <tstellar(a)redhat.com> - 8.0.0-3
+- touch /usr/bin/ld as required by the packaging guidelines for
+ update-alternatives
+
+* Tue Aug 13 2019 Tom Stellard <tstellar(a)redhat.com> - 8.0.0-2
+- Add update-alternative for ld
+
+* Thu Jul 25 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 8.0.0-1.1
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
+* Wed Mar 20 2019 sguelton(a)redhat.com - 8.0.0-1
+- 8.0.0 final
+
+* Tue Mar 12 2019 sguelton(a)redhat.com - 8.0.0-0.4.rc4
+- 8.0.0 Release candidate 4
+
+* Tue Mar 5 2019 sguelton(a)redhat.com - 8.0.0-0.4.rc3
+- Cleanup specfile after llvm specfile update
+
+* Mon Mar 4 2019 sguelton(a)redhat.com - 8.0.0-0.3.rc3
+- 8.0.0 Release candidate 3
+
+* Fri Feb 22 2019 sguelton(a)redhat.com - 8.0.0-0.2.rc2
+- 8.0.0 Release candidate 2
+
+* Mon Feb 11 2019 sguelton(a)redhat.com - 8.0.0-0.1.rc1
+- 8.0.0 Release candidate 1
+
+* Fri Feb 01 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 7.0.1-3.1
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Mon Jan 14 2019 sguelton(a)redhat.com - 7.0.1-3
+- Fix lld + annobin integration & Setup basic CI tests
+
+* Mon Dec 17 2018 sguelton(a)redhat.com - 7.0.1-2
+- Update lit dependency
+
+* Mon Dec 17 2018 sguelton(a)redhat.com - 7.0.1-1
+- 7.0.1 Release
+
+* Tue Dec 04 2018 sguelton(a)redhat.com - 7.0.0-2
+- Ensure rpmlint passes on specfile
+
+* Mon Sep 24 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-1
+- 7.0.1 Release
+
+* Tue Sep 11 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.4.rc3
+- 7.0.0-rc3 Release
+
+* Fri Aug 31 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.3.rc2
+- 7.0.0-rc2 Release
+
+* Thu Aug 30 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.2.rc1
+- Enable make check
+
+* Mon Aug 13 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.1.rc1
+- 7.0.0-rc1 Release
+
+* Fri Jul 13 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 6.0.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Wed Jun 27 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.1-1
+- 6.0.1 Release
+
+* Fri May 11 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.1-0.1.rc1
+- 6.0.1-rc1 Release
+
+* Thu Mar 08 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.0-1
+- 6.0.0 Release
+
+* Tue Feb 13 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.0-0.3.rc2
+- 6.0.0-rc2 Release
+
+* Thu Feb 08 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 6.0.0-0.2.rc1
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Thu Jan 25 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.0-0.1.rc1
+- 6.0.0-rc1 Release
+
+* Thu Dec 21 2017 Tom Stellard <tstellar(a)redhat.com> - 5.0.1-1
+- 5.0.1 Release
+
+* Mon Sep 11 2017 Tom Stellard <tstellar(a)redhat.com> - 5.0.0-1
+- 5.0.0 Release
+
+* Thu Aug 03 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 4.0.1-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
+
+* Wed Jul 26 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 4.0.1-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Thu Jul 06 2017 Tom Stellard <tstellar(a)redhat.com> - 4.0.1-2
+- Backport r307092
+
+* Tue Jul 04 2017 Tom Stellard <tstellar(a)redhat.com> - 4.0.1-1
+- 4.0.1 Release
+
+* Tue Jul 04 2017 Tom Stellard <tstellar(a)redhat.com> - 4.0.0-4
+- Fix build without llvm-static
+
+* Wed May 31 2017 Tom Stellard <tstellar(a)redhat.com> - 4.0.0-3
+- Remove llvm-static dependency
+
+* Mon May 15 2017 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 4.0.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild
+
+* Tue Mar 14 2017 Tom Stellard <tstellar(a)redhat.com> - 4.0.0-1
+- lld 4.0.0 Final Release
diff --git a/release-keys.asc b/release-keys.asc
new file mode 100644
index 0000000..0d3789a
--- /dev/null
+++ b/release-keys.asc
@@ -0,0 +1,104 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQGNBGLtemUBDADClvDIromq0Y4TX+wyRyYCq5WusPQheQuY8dVCXd9KhMpYAv8U
+X15E5boH/quGpJ0ZlVkWcf+1WUHIrQWlbzQdIx514CDM7DBgO92CXsnn86kIMDW+
+9S+Hkn8upbizT1fWritlHwzD9osz7ZQRq7ac03PPgw27tqeIizHGuG4VNLyhbbjA
+w+0VLFSu3r219eevS+lzBIvR5U9W720jFxWxts4UvaGuD6XW1ErcsTvuhgyCKrrs
+gxO5Ma/V7r0+lqRL688ZPr4HxthwsON1YCfpNiMZ6sgxT8rOE0qL/d07ItbnXxz6
+KdcNWIXamTJKJgag6Tl0gYX4KIuUCcivXaRdJtUcFFsveCorkdHkdGNos403XR89
+5u9gq7Ef10Zahsv5GjE2DV5oFCEhXvfIWxvyeJa65iBkJafElb2stgUjkIut2a2u
++XmpKpwpGSFklce1ABLrmazlLjhsYiJVrz5l5ktoT9moE4GaF7Q5LD6JgsxzLE0U
+Tzo9/AQPd8qG2REAEQEAAbQeVG9iaWFzIEhpZXRhIDx0b2JpYXNAaGlldGEuc2U+
+iQHUBBMBCAA+FiEE1XS9XR0OmIleO/kARPJIXkXVkEIFAmLtemUCGwMFCRLMAwAF
+CwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQRPJIXkXVkEKoNwv+MEMVzdnzJarx
+ZJ0OzHrGJJG8/chkuoejTjCLG73li9yWQigy5KmvynB5yW0fk0PAQ90vvp2wr/Hd
+mUh0Zda3CwF6sWlO3N6DEDjVA3lZUuofTtvMn/tdGvvOOXYXAP9N+SZfp/7q8dxX
+zn5SA1AO87nXq5lrwVzlVzUCdwOeqDlJ+2U9VEqvukP/FdkgaR2bEb8Wm/h+encW
+UIQEqPDE+qOyJ9dRaiL0CUI4x+1wXeXB3OA7VybF2LvaZDbMlocdy+vs825iUWfa
+n8g3mE2TpV8jkc9UHgGGopzxqNquvkkIB7ZFZm/PSW40W3OeHKhYsZZbHrz9403t
+3R4SAzA3ApmMP/P8ue9irsbe24g3rzYMvck1w4C1a4Uy9buT0OCfA+dA16IRAPgV
+5SJEIS62cFbUxkw8el3rUK9V+6kwoq4k8Fs8f1U7DEnOKS/v8BJJCNEc1cvimZai
+Y5/3r5BeneEmuZFKX4iIIfcn5PmLSDB4aw+gKAIAAus+E2DxBqE+uQGNBGLtemUB
+DADBCNyvUdv0OV//6pQ/0YC2bYXL/ElF0rOjFFl4H7O3TRxgIz2C4nQJHUOrXSmo
+iL7ldfUjoAMgebcoWDpgE8S2Vjw2Gd+UJBQXj+3J6dPKLBUCjj9CLyb5hwOHITMV
+b9UC/E+iwpn4vgTbI6K1O847brkBC+GuDT4g9D3O3sRbja0GjN0n2yZiS8NtRQm1
+MXAVy1IffeXKpGLookAhoUArSN88koMe+4Nx6Qun4/aUcwz0P2QUr5MA5jUzFLy1
+R3M5p1nctX15oLOU33nwCWuyjvqkxAeAfJMlkKDKYX25u1R2RmQ4ju2kAbw0PiiZ
+yYft8fGlrwT4/PB3AqfKeSpx8l9Vs15ePvcuJITauo3fhBjJ6Y4WCKlTG1FbDYUl
+KvPhyGO8yLhtZJg3+LbA5M/CEHsDmUh7YEQVxM0RTQMTxNBVBF5IG/4y8v/+19DZ
+89VdpsQF3ThoPV0yh57YMemTBeIxpF9Swp5N7kUWct4872kBnXOmbp/jhU4MpLj6
+iLEAEQEAAYkBvAQYAQgAJhYhBNV0vV0dDpiJXjv5AETySF5F1ZBCBQJi7XplAhsM
+BQkSzAMAAAoJEETySF5F1ZBCdPwL/3Ox6MwrKFzYJNz3NpQFpKFdDrkwhf25D/Qw
+vu5e8Lql/q62NIhEKH3jxXXgoFYas2G7r8CSCRehraDqvXygbaiWUIkxSU0xuDTl
+lNqHSkCRqIxhi/yxNm1Pk84NVGTLXWW0+CwT9cRwWn5foIPJhoDdZ732zJ7rcY3R
+g71SJTe3R6MnGBzIF1LzT7Znwkh7YfcmeTfInareIWXpeNaeKy8KrQmr/0+5AIer
+Ax1gu03o8GD5LFDUuGbESgDJU6nVtVyht7C6AlJWqSX6QS3+lPCw5BOCKbxakYNR
+/oBNauzyDISdbUwzHM2d+XGCjBsXKRA0Tft2NlG6EC83/PuY2J9MSA2gg3iPHsiN
+J5iipbdZNpZ3XL0l8/t/7T60nM7UZDqt3twLMA0eRFRlCnhMjvFE5Zgj5DE7BsJh
+w2nCoGWkAcfeuih+jfyEjN24NK+sE/bM+krwVv430ewJwm1bVUqKrbOb9aa6V9gP
+9RmlwZlOTFGcWBYl/cfRONn9qi9a6w==
+=Lvw+
+-----END PGP PUBLIC KEY BLOCK-----
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQINBFrqgT0BEAC7xo0WH+eNrLlU5LrCk59KmImn1abFcmWNd8kYr5XfqmJKyVqo
+EY7A/yRjf+Yn1621EDkpKPjbql7q7MlZMpqKVdOWKWgmhvz08IOKJxaIABd/iIRT
+FwhIvB68YjtmzcoOJRi1wLnwuG55fJ9E69HyZ33jgAlRaWV3bE/YyszoTlZriUOE
+RbzC5WzX004cE9evlrr+YLt5Y6z7tntOdSXPLyGOFAO5LYMsHsEdi2JBYWrjlslG
+6iJr5iEt9v442PrJ79YYbu5QWe/6APRWtI3AtKBp7y250oon2lbj+bIVD7U9fOBB
+n/Frqx54UN22sJycET63hgYW4pIjIi5zq+FF15aU+ZqBdtNltoX4hEN7wlDpuNc0
+ezVu2Z8hdt8thpjiFUioTQ1t3RmsN6N548VwxmHdoYpAmiZqPIYBYvm85JB7S/3h
+RLuoeGxufBhXGCpnG8ghTOGtbbdanuLB/UROFXTdyZbTCBN5S6jvwkPSaHG7H35Z
+3fazMriTXwL1RGAbKITSWhDe5dXy/yOInWe8emJx+35vwQYCB2L4S8wRyQyRw6x4
+YoXCscW041DUMBX2CC7SjMCcmAC39UX1c3GbTpS3rkJR9cmXt50nviMnKpIwlIPd
+ZYhmxKifwTJ70+c4GVK2o0MG9bTYvpYhLnYxv6iJCfgmT40E+qkDSzSoZwARAQAB
+tCJUb20gU3RlbGxhcmQgPHRzdGVsbGFyQHJlZGhhdC5jb20+iQI/BBMBAgApBQJa
+6oE9AhsDBQkB4TOABwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQoseUqYZB
+nYp8Gg//RmX6Nup/Dv05jTL7dKRBSD08MF400tRtTmRhIuAgGv27qO2hbqzprKVu
+vd20vKBB9CNZpXC2oY8k9VhGv2PZNi/X7iuULIYmzjeFMbJ5CjU6XvuUBmNasITH
+6K/0KLhGebPs5h/DNtd7lbzDm86dLcjxgl6LXUULaSyYvTAKn6YB6mAv5J3qJs2X
+lfTmenNh9p7TPFTfcMHcS70ywjqKXlDiH0q9bRKJnSX7xUFlTHjKkNnAcRjlPaGf
+wUUhIPrnpDboqfwfcmScLrHANW9nwFWSFkNAJu1HQUEuF+An/RZUHDxFbLPKKAIp
+hwZ0aORTfBVZ80AjehDMYCbmp1DJeTyLjC1/94un6mlxPIKnPPPM8rMxr83xnrvP
++Y1+pJaDUL7ZvKnmt2LrGRa9GvsNiYKpCNCORfiwZTeSxxXb+LgaodnbCHvGBnk7
+nlbLdMY08vNlxSx8LNyG0krFxJw/rq260+73yc+qjENeG68fozTEy/4jSVrF4t3m
+8AAUu5r6i/Aomo7Q27TjU928bbCVunpvDpserfDqr3zsA96LO9k8T6THR6zC9i+R
+LiN9Vjl+Rr2YuU26DjFYkCNEA2kNflYCWPJi5I0eodTPZrIPBWJ+H0YTRX31bMH9
+X88FnWJuCwaqAMN3rWlX/lXNCouWDdCuPWseZApISAMnVDE2mM+JAlYEEwEIAEAC
+GwMHCwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgBYhBEdOIjFqv0eFqIxujqLHlKmG
+QZ2KBQJgkytfBQkJaxEiAAoJEKLHlKmGQZ2Kv8YP/jNPjcMAP0ZTpUcYV46mGKwf
+aQ0g5FUMSfxP7uJHtctj2dUckPGpA9SAH+ApiJutVgTQpWqNJKPd2vVxOiu5sywN
+iDKCOMlKug5m6lgLX5h3zBvSN90Hpn4I0qHRA3rgENLoPs/UYBxohvFPIhOOjPqO
+HIUuSPhAIuIZawxtqlADswHiKPy38Ao5GnWRb60zKfrB+N+ZiOtg7ITrlTGYm2tX
+0W9iWUG32gIA/RX2qmFPoLrDFqsk66Eir0Ghk5gppRrmpEl/M1lqA8bxlqWto/8w
+V8yDbSEu5fmM3WN3OUcSA23lYJi4j656Q4hS5PU+IWuZbBhcpYwDGexV5+m/ySZb
+wtHZMIb4Au+dgJHCvRiSqHgplyfiamxX5CfA0DJVHoGXpBOw8a2geRT0+DrjSbOS
++CDDnlfmQLfHgjEuyQPU8V0Wlb0tJEvnPPqNPmAv0Rv7MC4qmD/zDrgwuddpfr1x
+H+nWus2plR8E6p/x9uvPLb3plJ94ri1XjXiJPyPvqzBAwA40Zeg0rE7sTVwCC3E9
+RZa7dHh17exkcZdOIS/vRQ1G/VNaOVUwrcC/vIMgZSe37bCLeOKViMtacAiBJDjo
+INC1QJ2F3CYVwktrcgmuz9S8e2WrqdTWwijjConB80EwfHQllz5sp/jU6Bgv297X
+UXkgpk1y+ibQ9/syRQpFuQINBFrqgT0BEADB2vDHMuexkaUm3rPi6SvyMGcsHWle
+feAWm+UjROKIaV77rHwo0/8ncKbtoQx4ZZjDXdI77M2bXB7tPgyEML90bWDMMGN/
+gnpwWSsiDRWpFIV/+hD6B+l9UaEi4UvEstUbIchOkGrZgPZ4Qism4FSVosEK+FE7
+EKCT4PSS+LiBKSxJZB8/g2uX+3pJvVxYurvcVpTmiNlXvUyll4KMpzy5e0KKa/0y
+w9h7SAre5399cSM8E7PDQZQDb1EwbyVyO2yDLgs+p3yzPtRJAydaqRPmT1JbSCYf
+hcihTrViMA4EDN5GRjH2EElI37+2HMpgLs4rc6Abz1F4FUVFhqWJXCKUcAIrG17w
+A7YUlYg38S6Xws2Xj1VfZ/WP7/qIMJZidYTHZbN9WWCaifCPfLlE5VDNsa8y6Mxm
+uFMBAB4PpB1gmmP9pPZsOzV9SmeYt8h2P8cVKDW2f56azpBZvZX6NFn8e0+ZDXS4
+8BQz31G2Xdfa3uOEV0J3JxPXcEbfuPzDHb7OMYP+2Ypjox1TozT1e9zr46SQl9OF
+MglOBnwLZJ9baA/IqZkqLq5iu5Oqda44EIVNAntQ3gebi3+q3YG1SvNUseIy2+8y
+cNWtdDuWv366Af0okCdrKAdap8+KbREer9uXhamtvxc49RCoWwuKoKfBz0RdVvMv
+R/Py2xV8A7PaIQARAQABiQIlBBgBAgAPBQJa6oE9AhsMBQkB4TOAAAoJEKLHlKmG
+QZ2KAaMQALHif2E0PBLVt09vlr4i8jAsQvDrzRajmVPd2B9RpfNU6HJe/y93SZd2
+udr9vzgmfd2o5u12vbegKNiMRgp1VyHQDmYlce27jrH5aPuKmos78+o5/p5yPWCv
+Rj8zxGKh7le7UPO+7UveKu+bgb3zwTj6bEuHX7fVI+WjGmEH3bbjDGamWxXrpfGc
+7+Jr8TN4ZO2OwYBcFOS9U2ZQ6TxrPaCSIm6+j8f+a9HPOuuDc62mMuV/EWQZy0i7
+DhDqU2PNpVjQDWQNpHA8oLDrjNFAoJS8gbHABVsFM1VnwBNT2MKcZQmm05dlQ+ll
+S6meHNCvTniKIKC+Giz1Yd5JVGDACZWWPxEz6VhpQW/twkxRqwlUdpFt7UgDquTL
+M1beQUCZRt81yJTNdrggbhQ2POxOdIO0CPiQv7U1IzndZp6baedeBw4a7FCbj6GY
+cQeHxQCrWpQrwigiseG5uhhS9aiaVFEHja9baSLfXlZu/vsR4MdDG5/iEpier/Xw
+h1qnpTSY+r31Uw3lTUlPHzlg47PMgPslaIhCzfVggxh9bTqxcDbuYJ7NuoMho3tN
+yWfeofTJ7PhKzoXM2Y/rRFoM5gNh1RVA19ngLT5Jwiof8fPZvHJ/9ZkHn+O7eMNm
+m5++gYza3pnn2/PoGpGGAKok+sfJiq5Tb7RUefyJTeZiyTZ/XJrA
+=tMzl
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/sources b/sources
new file mode 100644
index 0000000..5e3e9c6
--- /dev/null
+++ b/sources
@@ -0,0 +1,2 @@
+SHA512 (lld-16.0.6.src.tar.xz) = 8df248785cd77e683f3daf9cab76a4a230305b881a7a844ef644b6a55fee366d5fcca23593ca09945ba8ddae0ae119042afe3f43547c106571e98004dbc7f1e6
+SHA512 (lld-16.0.6.src.tar.xz.sig) = a9daa6804e9029b6f3acb80f1d391c557494d395dec6d49f4f5c922500b69e3bb7358c99948c74732c6ce9c560860218159bb485b18a7065b260b088cfc792c7
8 months, 2 weeks
Architecture specific change in rpms/clang16.git
by githook-noreply@fedoraproject.org
The package rpms/clang16.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/clang16.git/commit/?id=957ea5d1d0....
Change:
+%ifarch %{arm}
Thanks.
Full change:
============
commit 957ea5d1d0dbc5c02e4eb3ed2b84a5a758c0fc7c
Author: Tulio Magno Quites Machado Filho <tuliom(a)redhat.com>
Date: Tue Aug 15 21:21:37 2023 -0300
Import clang16
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..4f5174a
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+/*.src.rpm
+/*.src.tar.xz
+/*.src.tar.xz.sig
+/cmake/
+/results_clang/
diff --git a/0001-Driver-Add-a-gcc-equivalent-triple-to-the-list-of-tr.patch b/0001-Driver-Add-a-gcc-equivalent-triple-to-the-list-of-tr.patch
new file mode 100644
index 0000000..6c94b4d
--- /dev/null
+++ b/0001-Driver-Add-a-gcc-equivalent-triple-to-the-list-of-tr.patch
@@ -0,0 +1,59 @@
+From d68a5a7817dc0d43853d8b84c9185dc24338664f Mon Sep 17 00:00:00 2001
+From: Tom Stellard <tstellar(a)redhat.com>
+Date: Wed, 6 Oct 2021 05:32:44 +0000
+Subject: [PATCH] Driver: Add a gcc equivalent triple to the list of triples to
+ search
+
+There are some gcc triples, like x86_64-redhat-linux, that provide the
+same behavior as a clang triple with a similar name (e.g.
+x86_64-redhat-linux-gnu). When searching for a gcc install, also search
+for a gcc equivalent triple if one exists.
+
+Differential Revision: https://reviews.llvm.org/D111207
+---
+ clang/lib/Driver/ToolChains/Gnu.cpp | 22 ++++++++++++++++++++++
+ 1 file changed, 22 insertions(+)
+
+diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
+index fe5bda5c6605..fd4a7f72be14 100644
+--- a/clang/lib/Driver/ToolChains/Gnu.cpp
++++ b/clang/lib/Driver/ToolChains/Gnu.cpp
+@@ -1884,6 +1884,18 @@ static llvm::StringRef getGCCToolchainDir(const ArgList &Args,
+ return GCC_INSTALL_PREFIX;
+ }
+
++/// This function takes a 'clang' triple and converts it to an equivalent gcc
++/// triple.
++static const char *ConvertToGccTriple(StringRef CandidateTriple) {
++ return llvm::StringSwitch<const char *>(CandidateTriple)
++ .Case("aarch64-redhat-linux-gnu", "aarch64-redhat-linux")
++ .Case("i686-redhat-linux-gnu", "i686-redhat-linux")
++ .Case("ppc64le-redhat-linux-gnu", "ppc64le-redhat-linux")
++ .Case("s390x-redhat-linux-gnu", "s390x-redhat-linux")
++ .Case("x86_64-redhat-linux-gnu", "x86_64-redhat-linux")
++ .Default(NULL);
++}
++
+ /// Initialize a GCCInstallationDetector from the driver.
+ ///
+ /// This performs all of the autodetection and sets up the various paths.
+@@ -1904,6 +1916,16 @@ void Generic_GCC::GCCInstallationDetector::init(
+ // The compatible GCC triples for this particular architecture.
+ SmallVector<StringRef, 16> CandidateTripleAliases;
+ SmallVector<StringRef, 16> CandidateBiarchTripleAliases;
++
++ // In some cases gcc uses a slightly different triple than clang for the
++ // same target. Convert the clang triple to the gcc equivalent and use that
++ // to search for the gcc install.
++ const char *ConvertedTriple = ConvertToGccTriple(TargetTriple.str());
++ if (ConvertedTriple) {
++ CandidateTripleAliases.push_back(ConvertedTriple);
++ CandidateBiarchTripleAliases.push_back(ConvertedTriple);
++ }
++
+ CollectLibDirsAndTriples(TargetTriple, BiarchVariantTriple, CandidateLibDirs,
+ CandidateTripleAliases, CandidateBiarchLibDirs,
+ CandidateBiarchTripleAliases);
+--
+2.26.2
+
diff --git a/0001-clang-set-python3-as-required-build-dependency.patch b/0001-clang-set-python3-as-required-build-dependency.patch
new file mode 100644
index 0000000..2576518
--- /dev/null
+++ b/0001-clang-set-python3-as-required-build-dependency.patch
@@ -0,0 +1,39 @@
+From 96962d5512fbc6af0ada0f13e6be332c026529cb Mon Sep 17 00:00:00 2001
+From: Petr Hosek <phosek(a)google.com>
+Date: Fri, 9 Jun 2023 07:51:40 +0000
+Subject: [PATCH] [clang] set python3 as required build dependency
+
+The required HTMLLogger include file needs python3 to run
+resource_bundle.py to bundle all the html/css/js resources. However, if
+user sets -DLLVM_INCLUDE_TESTS=OFF, CMake will not find python3 and the
+resource bundler will never be executed. This patch set the python3 as a
+required build dependency to fix this problem.
+
+Patch By: Avimitin
+
+Differential Revision: https://reviews.llvm.org/D152418
+---
+ clang/CMakeLists.txt | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/clang/CMakeLists.txt b/clang/CMakeLists.txt
+index 8220a9dbfd4d..f7936d72e088 100644
+--- a/clang/CMakeLists.txt
++++ b/clang/CMakeLists.txt
+@@ -82,10 +82,10 @@ if(CLANG_BUILT_STANDALONE)
+ set( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX} )
+ set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX} )
+
+- if(LLVM_INCLUDE_TESTS)
+- find_package(Python3 ${LLVM_MINIMUM_PYTHON_VERSION} REQUIRED
+- COMPONENTS Interpreter)
++ find_package(Python3 ${LLVM_MINIMUM_PYTHON_VERSION} REQUIRED
++ COMPONENTS Interpreter)
+
++ if(LLVM_INCLUDE_TESTS)
+ # Check prebuilt llvm/utils.
+ if(EXISTS ${LLVM_TOOLS_BINARY_DIR}/FileCheck${CMAKE_EXECUTABLE_SUFFIX}
+ AND EXISTS ${LLVM_TOOLS_BINARY_DIR}/count${CMAKE_EXECUTABLE_SUFFIX}
+--
+2.41.0
+
diff --git a/0001-clang-tools-extra-Make-test-dependency-on-LLVMHello-.patch b/0001-clang-tools-extra-Make-test-dependency-on-LLVMHello-.patch
new file mode 100644
index 0000000..a0b8cb0
--- /dev/null
+++ b/0001-clang-tools-extra-Make-test-dependency-on-LLVMHello-.patch
@@ -0,0 +1,85 @@
+From 581300e447602b9b7a505b0f07e8461d58d041ca Mon Sep 17 00:00:00 2001
+From: Tom Stellard <tstellar(a)redhat.com>
+Date: Fri, 1 Jul 2022 21:24:17 -0700
+Subject: [PATCH] clang-tools-extra: Make test dependency on LLVMHello optional
+
+This fixes clang + clang-tools-extra standalone build after
+36892727e4f19a60778e371d78f8fb09d8122c85.
+---
+ clang-tools-extra/test/CMakeLists.txt | 10 +++++++++-
+ clang-tools-extra/test/clang-tidy/CTTestTidyModule.cpp | 2 +-
+ clang-tools-extra/test/lit.cfg.py | 3 +++
+ clang-tools-extra/test/lit.site.cfg.py.in | 1 +
+ 4 files changed, 14 insertions(+), 2 deletions(-)
+
+diff --git a/clang-tools-extra/test/CMakeLists.txt b/clang-tools-extra/test/CMakeLists.txt
+index f4c529ee8af2..1cfb4dd529aa 100644
+--- a/clang-tools-extra/test/CMakeLists.txt
++++ b/clang-tools-extra/test/CMakeLists.txt
+@@ -7,10 +7,15 @@
+ set(CLANG_TOOLS_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/..")
+ set(CLANG_TOOLS_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/..")
+
++if (TARGET LLVMHello)
++ set (LLVM_HAS_LLVM_HELLO 1)
++endif()
++
+ llvm_canonicalize_cmake_booleans(
+ CLANG_TIDY_ENABLE_STATIC_ANALYZER
+ CLANG_PLUGIN_SUPPORT
+ LLVM_INSTALL_TOOLCHAIN_ONLY
++ LLVM_HAS_LLVM_HELLO
+ )
+
+ configure_lit_site_cfg(
+@@ -86,7 +91,10 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
+ endif()
+
+ if(TARGET CTTestTidyModule)
+- list(APPEND CLANG_TOOLS_TEST_DEPS CTTestTidyModule LLVMHello)
++ list(APPEND CLANG_TOOLS_TEST_DEPS CTTestTidyModule)
++ if (TARGET LLVMHello)
++ list(APPEND CLANG_TOOLS_TEST_DEPS CTTestTidyModule)
++ endif()
+ target_include_directories(CTTestTidyModule PUBLIC BEFORE "${CLANG_TOOLS_SOURCE_DIR}")
+ if(CLANG_PLUGIN_SUPPORT AND (WIN32 OR CYGWIN))
+ set(LLVM_LINK_COMPONENTS
+diff --git a/clang-tools-extra/test/clang-tidy/CTTestTidyModule.cpp b/clang-tools-extra/test/clang-tidy/CTTestTidyModule.cpp
+index c66a94f458cf..b4e7a5d691e5 100644
+--- a/clang-tools-extra/test/clang-tidy/CTTestTidyModule.cpp
++++ b/clang-tools-extra/test/clang-tidy/CTTestTidyModule.cpp
+@@ -1,4 +1,4 @@
+-// REQUIRES: plugins
++// REQUIRES: plugins, llvm-hello
+ // RUN: clang-tidy -checks='-*,mytest*' --list-checks -load %llvmshlibdir/CTTestTidyModule%pluginext -load %llvmshlibdir/LLVMHello%pluginext | FileCheck --check-prefix=CHECK-LIST %s
+ // CHECK-LIST: Enabled checks:
+ // CHECK-LIST-NEXT: mytest1
+diff --git a/clang-tools-extra/test/lit.cfg.py b/clang-tools-extra/test/lit.cfg.py
+index 9b99bfd93440..3fca9f25fb48 100644
+--- a/clang-tools-extra/test/lit.cfg.py
++++ b/clang-tools-extra/test/lit.cfg.py
+@@ -59,6 +59,9 @@ config.substitutions.append(
+ # Plugins (loadable modules)
+ if config.has_plugins and config.llvm_plugin_ext:
+ config.available_features.add('plugins')
++
++if config.has_llvm_hello:
++ config.available_features.add("llvm-hello")
+
+ # It is not realistically possible to account for all options that could
+ # possibly be present in system and user configuration files, so disable
+diff --git a/clang-tools-extra/test/lit.site.cfg.py.in b/clang-tools-extra/test/lit.site.cfg.py.in
+index 4eb830a1baf1..6e5559348454 100644
+--- a/clang-tools-extra/test/lit.site.cfg.py.in
++++ b/clang-tools-extra/test/lit.site.cfg.py.in
+@@ -11,6 +11,7 @@ config.target_triple = "@LLVM_TARGET_TRIPLE@"
+ config.host_triple = "@LLVM_HOST_TRIPLE@"
+ config.clang_tidy_staticanalyzer = @CLANG_TIDY_ENABLE_STATIC_ANALYZER@
+ config.has_plugins = @CLANG_PLUGIN_SUPPORT@ & ~@LLVM_INSTALL_TOOLCHAIN_ONLY@
++config.has_llvm_hello = @LLVM_HAS_LLVM_HELLO@
+ # Support substitution of the tools and libs dirs with user parameters. This is
+ # used when we can't determine the tool dir at configuration time.
+ config.llvm_tools_dir = lit_config.substitute("@LLVM_TOOLS_DIR@")
+--
+2.27.0
+
diff --git a/0003-PATCH-Make-funwind-tables-the-default-on-all-archs.patch b/0003-PATCH-Make-funwind-tables-the-default-on-all-archs.patch
new file mode 100644
index 0000000..ce920f9
--- /dev/null
+++ b/0003-PATCH-Make-funwind-tables-the-default-on-all-archs.patch
@@ -0,0 +1,28 @@
+From d95d3fbff661c0390072ed0bb4544d5e2aae5c9a Mon Sep 17 00:00:00 2001
+From: serge-sans-paille <sguelton(a)redhat.com>
+Date: Thu, 25 Feb 2021 14:09:29 +0100
+Subject: [PATCH] Make -funwind-tables the default on all archs
+
+---
+ clang/lib/Driver/ToolChains/Gnu.cpp | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
+index c8006f3d8412..6ed03adb7702 100644
+--- a/clang/lib/Driver/ToolChains/Gnu.cpp
++++ b/clang/lib/Driver/ToolChains/Gnu.cpp
+@@ -2863,6 +2863,11 @@ Generic_GCC::getDefaultUnwindTableLevel(const ArgList &Args) const {
+ case llvm::Triple::ppc64le:
+ case llvm::Triple::x86:
+ case llvm::Triple::x86_64:
++
++ // Enable -funwind-tables on all architectures supported by Fedora:
++ // rhbz#1655546
++ case llvm::Triple::systemz:
++ case llvm::Triple::arm:
+ return UnwindTableLevel::Asynchronous;
+ default:
+ return UnwindTableLevel::None;
+--
+2.39.1
+
diff --git a/0003-PATCH-clang-Don-t-install-static-libraries.patch b/0003-PATCH-clang-Don-t-install-static-libraries.patch
new file mode 100644
index 0000000..bc8fa51
--- /dev/null
+++ b/0003-PATCH-clang-Don-t-install-static-libraries.patch
@@ -0,0 +1,25 @@
+From 88704fc2eabb9dd19a9c3eb81a9b3dc37d95651c Mon Sep 17 00:00:00 2001
+From: Tom Stellard <tstellar(a)redhat.com>
+Date: Fri, 31 Jan 2020 11:04:57 -0800
+Subject: [PATCH][clang] Don't install static libraries
+
+---
+ clang/cmake/modules/AddClang.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/clang/cmake/modules/AddClang.cmake b/clang/cmake/modules/AddClang.cmake
+index 5752f4277444..0f52822d91f0 100644
+--- a/clang/cmake/modules/AddClang.cmake
++++ b/clang/cmake/modules/AddClang.cmake
+@@ -113,7 +113,7 @@ macro(add_clang_library name)
+ if(TARGET ${lib})
+ target_link_libraries(${lib} INTERFACE ${LLVM_COMMON_LIBS})
+
+- if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ARG_INSTALL_WITH_TOOLCHAIN)
++ if (ARG_SHARED AND (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ARG_INSTALL_WITH_TOOLCHAIN))
+ get_target_export_arg(${name} Clang export_to_clangtargets UMBRELLA clang-libraries)
+ install(TARGETS ${lib}
+ COMPONENT ${lib}
+--
+2.30.2
+
diff --git a/0009-disable-recommonmark.patch b/0009-disable-recommonmark.patch
new file mode 100644
index 0000000..8a259af
--- /dev/null
+++ b/0009-disable-recommonmark.patch
@@ -0,0 +1,38 @@
+From f4e2d711e5cfd8e357d770e2da7a114086ee8659 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Timm=20B=C3=A4der?= <tbaeder(a)redhat.com>
+Date: Thu, 22 Sep 2022 10:49:43 +0200
+Subject: disable recommonmark
+
+---
+ clang/docs/conf.py | 15 +--------------
+ 1 file changed, 1 insertion(+), 14 deletions(-)
+
+diff --git a/clang/docs/conf.py b/clang/docs/conf.py
+index b8a42018191a..912449a7f792 100644
+--- a/clang/docs/conf.py
++++ b/clang/docs/conf.py
+@@ -37,20 +37,7 @@ source_suffix = {
+ '.rst': 'restructuredtext',
+ }
+
+-try:
+- import recommonmark
+-except ImportError:
+- # manpages do not use any .md sources
+- if not tags.has('builder-man'):
+- raise
+-else:
+- import sphinx
+- if sphinx.version_info >= (3, 0):
+- # This requires 0.5 or later.
+- extensions.append('recommonmark')
+- else:
+- source_parsers = {'.md': 'recommonmark.parser.CommonMarkParser'}
+- source_suffix['.md'] = 'markdown'
++import sphinx
+
+ # The encoding of source files.
+ #source_encoding = 'utf-8-sig'
+--
+2.37.1
+
diff --git a/0010-PATCH-clang-Produce-DWARF4-by-default.patch b/0010-PATCH-clang-Produce-DWARF4-by-default.patch
new file mode 100644
index 0000000..ea81f74
--- /dev/null
+++ b/0010-PATCH-clang-Produce-DWARF4-by-default.patch
@@ -0,0 +1,123 @@
+From 4ea62faaaac1aad0fe496cabe9674c809c91c49a Mon Sep 17 00:00:00 2001
+From: Konrad Kleine <kkleine(a)redhat.com>
+Date: Mon, 13 Feb 2023 17:11:00 -0300
+Subject: [PATCH] Produce DWARF4 by default
+
+Have a look at the following commit to see when the move from DWARF 4 to 5 first happened upstream:
+
+https://github.com/llvm/llvm-project/commit/d3b26dea16108c427b19b5480c9edc76edf8f5b4?diff=unified
+---
+ clang/include/clang/Driver/ToolChain.h | 2 +-
+ clang/test/CodeGen/dwarf-version.c | 4 ++--
+ clang/test/Driver/as-options.s | 4 ++--
+ clang/test/Driver/cl-options.c | 2 +-
+ clang/test/Driver/clang-g-opts.c | 2 +-
+ clang/test/Driver/ve-toolchain.c | 2 +-
+ clang/test/Driver/ve-toolchain.cpp | 2 +-
+ 7 files changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/clang/include/clang/Driver/ToolChain.h b/clang/include/clang/Driver/ToolChain.h
+index f75f35dc9e65..a70ae2b17833 100644
+--- a/clang/include/clang/Driver/ToolChain.h
++++ b/clang/include/clang/Driver/ToolChain.h
+@@ -547,7 +547,7 @@ public:
+
+ // Return the DWARF version to emit, in the absence of arguments
+ // to the contrary.
+- virtual unsigned GetDefaultDwarfVersion() const { return 5; }
++ virtual unsigned GetDefaultDwarfVersion() const { return 4; }
+
+ // Some toolchains may have different restrictions on the DWARF version and
+ // may need to adjust it. E.g. NVPTX may need to enforce DWARF2 even when host
+diff --git a/clang/test/CodeGen/dwarf-version.c b/clang/test/CodeGen/dwarf-version.c
+index 0a6fa4768026..96f01749d0d8 100644
+--- a/clang/test/CodeGen/dwarf-version.c
++++ b/clang/test/CodeGen/dwarf-version.c
+@@ -2,8 +2,8 @@
+ // RUN: %clang -target x86_64-linux-gnu -gdwarf-3 -S -emit-llvm -o - %s | FileCheck %s --check-prefix=VER3
+ // RUN: %clang -target x86_64-linux-gnu -gdwarf-4 -S -emit-llvm -o - %s | FileCheck %s --check-prefix=VER4
+ // RUN: %clang -target x86_64-linux-gnu -gdwarf-5 -S -emit-llvm -o - %s | FileCheck %s --check-prefix=VER5
+-// RUN: %clang -target x86_64-linux-gnu -g -S -emit-llvm -o - %s | FileCheck %s --check-prefix=VER5
+-// RUN: %clang -target x86_64-linux-gnu -gdwarf -S -emit-llvm -o - %s | FileCheck %s --check-prefix=VER5
++// RUN: %clang -target x86_64-linux-gnu -g -S -emit-llvm -o - %s | FileCheck %s --check-prefix=VER4
++// RUN: %clang -target x86_64-linux-gnu -gdwarf -S -emit-llvm -o - %s | FileCheck %s --check-prefix=VER4
+
+ // The -isysroot is used as a hack to avoid LIT messing with the SDKROOT
+ // environment variable which indirecty overrides the version in the target
+diff --git a/clang/test/Driver/as-options.s b/clang/test/Driver/as-options.s
+index 73d002c7ef7e..71d55f7fd537 100644
+--- a/clang/test/Driver/as-options.s
++++ b/clang/test/Driver/as-options.s
+@@ -122,7 +122,7 @@
+ // RUN: FileCheck --check-prefix=DEBUG %s
+ // RUN: %clang --target=aarch64-linux-gnu -fno-integrated-as -g0 -g %s -### 2>&1 | \
+ // RUN: FileCheck --check-prefix=DEBUG %s
+-// DEBUG: "-g" "-gdwarf-5"
++// DEBUG: "-g" "-gdwarf-4"
+ // RUN: %clang --target=aarch64-linux-gnu -fno-integrated-as -g -g0 %s -### 2>&1 | \
+ // RUN: FileCheck --check-prefix=NODEBUG %s
+ // RUN: %clang --target=aarch64-linux-gnu -fno-integrated-as -gdwarf-5 -g0 %s -### 2>&1 | \
+@@ -141,7 +141,7 @@
+ // RUN: %clang --target=aarch64-linux-gnu -fno-integrated-as -gdwarf-2 %s -### 2>&1 | \
+ // RUN: FileCheck --check-prefix=GDWARF2 %s
+ // RUN: %clang --target=aarch64-linux-gnu -fno-integrated-as -gdwarf %s -### 2>&1 | \
+-// RUN: FileCheck --check-prefix=GDWARF5 %s
++// RUN: FileCheck --check-prefix=GDWARF4 %s
+
+ // RUN: %clang --target=aarch64-linux-gnu -fno-integrated-as -gdwarf-5 %s -### 2>&1 | \
+ // RUN: FileCheck --check-prefix=GDWARF5 %s
+diff --git a/clang/test/Driver/cl-options.c b/clang/test/Driver/cl-options.c
+index 1d588bdfc1b0..1ad57aedc3a4 100644
+--- a/clang/test/Driver/cl-options.c
++++ b/clang/test/Driver/cl-options.c
+@@ -575,7 +575,7 @@
+ // RUN: %clang_cl /Z7 -gdwarf /c -### -- %s 2>&1 | FileCheck -check-prefix=Z7_gdwarf %s
+ // Z7_gdwarf: "-gcodeview"
+ // Z7_gdwarf: "-debug-info-kind=constructor"
+-// Z7_gdwarf: "-dwarf-version=
++// Z7_gdwarf: "-dwarf-version=4
+
+ // RUN: %clang_cl /ZH:MD5 /c -### -- %s 2>&1 | FileCheck -check-prefix=ZH_MD5 %s
+ // ZH_MD5: "-gsrc-hash=md5"
+diff --git a/clang/test/Driver/clang-g-opts.c b/clang/test/Driver/clang-g-opts.c
+index d982b1070cae..bb129e75769c 100644
+--- a/clang/test/Driver/clang-g-opts.c
++++ b/clang/test/Driver/clang-g-opts.c
+@@ -32,7 +32,7 @@
+
+ // CHECK-WITHOUT-G-NOT: -debug-info-kind
+ // CHECK-WITH-G: "-debug-info-kind=constructor"
+-// CHECK-WITH-G: "-dwarf-version=5"
++// CHECK-WITH-G: "-dwarf-version=4"
+ // CHECK-WITH-G-DWARF2: "-dwarf-version=2"
+
+ // CHECK-WITH-G-STANDALONE: "-debug-info-kind=standalone"
+diff --git a/clang/test/Driver/ve-toolchain.c b/clang/test/Driver/ve-toolchain.c
+index 32e25769b6da..b8a2852daba8 100644
+--- a/clang/test/Driver/ve-toolchain.c
++++ b/clang/test/Driver/ve-toolchain.c
+@@ -6,7 +6,7 @@
+ /// Checking dwarf-version
+
+ // RUN: %clang -### -g --target=ve %s 2>&1 | FileCheck -check-prefix=DWARF_VER %s
+-// DWARF_VER: "-dwarf-version=5"
++// DWARF_VER: "-dwarf-version=4"
+
+ ///-----------------------------------------------------------------------------
+ /// Checking include-path
+diff --git a/clang/test/Driver/ve-toolchain.cpp b/clang/test/Driver/ve-toolchain.cpp
+index 5a33d5eceb61..cedf895b36dc 100644
+--- a/clang/test/Driver/ve-toolchain.cpp
++++ b/clang/test/Driver/ve-toolchain.cpp
+@@ -7,7 +7,7 @@
+
+ // RUN: %clangxx -### -g --target=ve-unknown-linux-gnu \
+ // RUN: %s 2>&1 | FileCheck -check-prefix=DWARF_VER %s
+-// DWARF_VER: "-dwarf-version=5"
++// DWARF_VER: "-dwarf-version=4"
+
+ ///-----------------------------------------------------------------------------
+ /// Checking include-path
+--
+2.39.1
+
diff --git a/D138472.diff b/D138472.diff
new file mode 100644
index 0000000..5d3cd60
--- /dev/null
+++ b/D138472.diff
@@ -0,0 +1,53 @@
+From 04b642c646048dd9df652eba05d45beaa13bc895 Mon Sep 17 00:00:00 2001
+From: Konrad Kleine <kkleine(a)redhat.com>
+Date: Mon, 23 Jan 2023 13:14:17 +0000
+Subject: [PATCH] Rebased D138472
+
+---
+ clang/CMakeLists.txt | 23 ++++++++++-------------
+ 1 file changed, 10 insertions(+), 13 deletions(-)
+
+diff --git a/clang/CMakeLists.txt b/clang/CMakeLists.txt
+index 090cfa352078..f87838776c32 100644
+--- a/clang/CMakeLists.txt
++++ b/clang/CMakeLists.txt
+@@ -118,12 +118,11 @@ if(CLANG_BUILT_STANDALONE)
+ set(LLVM_UTILS_PROVIDED ON)
+ set(CLANG_TEST_DEPS FileCheck count not)
+ endif()
+- set(UNITTEST_DIR ${LLVM_THIRD_PARTY_DIR}/unittest)
+- if(EXISTS ${UNITTEST_DIR}/googletest/include/gtest/gtest.h
+- AND NOT EXISTS ${LLVM_LIBRARY_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}
+- AND EXISTS ${UNITTEST_DIR}/CMakeLists.txt)
+- add_subdirectory(${UNITTEST_DIR} third-party/unittest)
+- endif()
++ endif()
++
++ find_package(LLVMGTest HINTS "${LLVM_CMAKE_DIR}")
++ if (NOT TARGET llvm_gtest)
++ message(FATAL_ERROR "llvm-gtest not found. Please install llvm-gtest or disable tests with -DLLVM_INCLUDE_TESTS=OFF")
+ endif()
+
+ if(LLVM_LIT)
+@@ -506,13 +505,11 @@ endif()
+
+
+ if( CLANG_INCLUDE_TESTS )
+- if(EXISTS ${LLVM_THIRD_PARTY_DIR}/unittest/googletest/include/gtest/gtest.h)
+- add_subdirectory(unittests)
+- list(APPEND CLANG_TEST_DEPS ClangUnitTests)
+- list(APPEND CLANG_TEST_PARAMS
+- clang_unit_site_config=${CMAKE_CURRENT_BINARY_DIR}/test/Unit/lit.site.cfg
+- )
+- endif()
++ add_subdirectory(unittests)
++ list(APPEND CLANG_TEST_DEPS ClangUnitTests)
++ list(APPEND CLANG_TEST_PARAMS
++ clang_unit_site_config=${CMAKE_CURRENT_BINARY_DIR}/test/Unit/lit.site.cfg
++ )
+ add_subdirectory(test)
+ add_subdirectory(bindings/python/tests)
+
+--
+2.34.3
+
diff --git a/D141581.diff b/D141581.diff
new file mode 100644
index 0000000..c227e22
--- /dev/null
+++ b/D141581.diff
@@ -0,0 +1,25 @@
+diff --git a/clang/lib/Basic/CMakeLists.txt b/clang/lib/Basic/CMakeLists.txt
+--- a/clang/lib/Basic/CMakeLists.txt
++++ b/clang/lib/Basic/CMakeLists.txt
+@@ -110,7 +110,7 @@
+
+ DEPENDS
+ omp_gen
+- RISCVTargetParserTableGen
++ LLVMTargetParser
+ )
+
+ target_link_libraries(clangBasic
+diff --git a/clang/lib/Driver/CMakeLists.txt b/clang/lib/Driver/CMakeLists.txt
+--- a/clang/lib/Driver/CMakeLists.txt
++++ b/clang/lib/Driver/CMakeLists.txt
+@@ -93,7 +93,7 @@
+
+ DEPENDS
+ ClangDriverOptions
+- RISCVTargetParserTableGen
++ LLVMTargetParser
+
+ LINK_LIBS
+ clangBasic
+
diff --git a/D155192.diff b/D155192.diff
new file mode 100644
index 0000000..d53698c
--- /dev/null
+++ b/D155192.diff
@@ -0,0 +1,12 @@
+diff --git a/clang/tools/scan-view/bin/scan-view b/clang/tools/scan-view/bin/scan-view
+--- a/clang/tools/scan-view/bin/scan-view
++++ b/clang/tools/scan-view/bin/scan-view
+@@ -6,7 +6,6 @@
+ """
+
+ import sys
+-import imp
+ import os
+ import posixpath
+ import threading
+
diff --git a/clang16.spec b/clang16.spec
new file mode 100644
index 0000000..9197b14
--- /dev/null
+++ b/clang16.spec
@@ -0,0 +1,1345 @@
+%global toolchain clang
+
+# Opt out of https://fedoraproject.org/wiki/Changes/fno-omit-frame-pointer
+# https://bugzilla.redhat.com/show_bug.cgi?id=2158587
+%undefine _include_frame_pointers
+
+%bcond_without compat_build
+%bcond_without check
+
+%global maj_ver 16
+%global min_ver 0
+%global patch_ver 6
+#global rc_ver 4
+%global clang_version %{maj_ver}.%{min_ver}.%{patch_ver}
+
+%if %{with compat_build}
+%global pkg_name clang%{maj_ver}
+# Install clang to same prefix as llvm, so that apps that use llvm-config
+# will also be able to find clang libs.
+%global install_prefix %{_libdir}/llvm%{maj_ver}
+%global install_bindir %{install_prefix}/bin
+%global install_includedir %{install_prefix}/include
+%global install_libdir %{install_prefix}/lib
+%global install_datadir %{install_prefix}/share
+
+%global pkg_bindir %{install_bindir}
+%global pkg_includedir %{install_includedir}
+%global pkg_libdir %{install_libdir}
+%else
+%global pkg_name clang
+%global install_prefix /usr
+%global install_datadir %{_datadir}
+%global pkg_libdir %{_libdir}
+%endif
+
+%ifarch ppc64le
+# Too many threads on ppc64 systems causes OOM errors.
+%global _smp_mflags -j8
+%endif
+
+%global clang_srcdir clang-%{clang_version}%{?rc_ver:rc%{rc_ver}}.src
+%global clang_tools_srcdir clang-tools-extra-%{clang_version}%{?rc_ver:rc%{rc_ver}}.src
+
+Name: %pkg_name
+Version: %{clang_version}%{?rc_ver:~rc%{rc_ver}}
+Release: 3%{?dist}
+Summary: A C language family front-end for LLVM
+
+License: Apache-2.0 WITH LLVM-exception OR NCSA
+URL: http://llvm.org
+Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{clang_ve...
+Source3: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{clang_ve...
+%if %{without compat_build}
+Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{clang_ve...
+Source2: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{clang_ve...
+%endif
+Source4: release-keys.asc
+%if %{without compat_build}
+Source5: macros.%{name}
+%endif
+
+# Patches for clang
+Patch1: 0003-PATCH-Make-funwind-tables-the-default-on-all-archs.patch
+Patch2: 0003-PATCH-clang-Don-t-install-static-libraries.patch
+Patch3: 0001-Driver-Add-a-gcc-equivalent-triple-to-the-list-of-tr.patch
+# Drop the following patch after debugedit adds support to DWARF-5:
+# https://sourceware.org/bugzilla/show_bug.cgi?id=28728
+Patch5: 0010-PATCH-clang-Produce-DWARF4-by-default.patch
+# Make clangBasic and clangDriver depend on LLVMTargetParser
+# See https://reviews.llvm.org/D141581
+Patch7: D141581.diff
+# clang/cmake: Use installed gtest libraries for stand-alone builds
+# See https://reviews.llvm.org/D138472
+Patch8: D138472.diff
+
+# Backport from LLVM 18.
+Patch9: 0001-clang-set-python3-as-required-build-dependency.patch
+
+Patch10: fix-ieee128-cross.diff
+
+# https://reviews.llvm.org/D155192
+Patch11: D155192.diff
+
+# RHEL specific patches
+# Avoid unwanted dependency on python-recommonmark
+Patch101: 0009-disable-recommonmark.patch
+
+%if %{without compat_build}
+# Patches for clang-tools-extra
+# See https://reviews.llvm.org/D120301
+Patch201: 0001-clang-tools-extra-Make-test-dependency-on-LLVMHello-.patch
+%endif
+
+BuildRequires: clang
+BuildRequires: cmake
+BuildRequires: ninja-build
+
+%if %{with compat_build}
+%global llvm_pkg_name llvm%{maj_ver}
+%else
+%global llvm_pkg_name llvm
+BuildRequires: llvm-test = %{version}
+BuildRequires: llvm-googletest = %{version}
+%endif
+
+BuildRequires: %{llvm_pkg_name}-devel = %{version}
+# llvm-static is required, because clang-tablegen needs libLLVMTableGen, which
+# is not included in libLLVM.so.
+BuildRequires: %{llvm_pkg_name}-static = %{version}
+BuildRequires: %{llvm_pkg_name}-cmake-utils = %{version}
+
+BuildRequires: libxml2-devel
+BuildRequires: perl-generators
+BuildRequires: ncurses-devel
+# According to https://fedoraproject.org/wiki/Packaging:Emacs a package
+# should BuildRequires: emacs if it packages emacs integration files.
+BuildRequires: emacs
+
+# The testsuite uses /usr/bin/lit which is part of the python3-lit package.
+BuildRequires: python3-lit
+
+BuildRequires: python3-sphinx
+%if %{undefined rhel}
+BuildRequires: python3-recommonmark
+%endif
+BuildRequires: libatomic
+
+# We need python3-devel for %%py3_shebang_fix
+BuildRequires: python3-devel
+
+%if %{without compat_build}
+# For reproducible pyc file generation
+# See https://docs.fedoraproject.org/en-US/packaging-guidelines/Python_Appendix...
+BuildRequires: /usr/bin/marshalparser
+%global py_reproducible_pyc_path %{buildroot}%{python3_sitelib}
+%endif
+
+# Needed for %%multilib_fix_c_header
+BuildRequires: multilib-rpm-config
+
+# For origin certification
+BuildRequires: gnupg2
+
+# scan-build uses these perl modules so they need to be installed in order
+# to run the tests.
+BuildRequires: perl(Digest::MD5)
+BuildRequires: perl(File::Copy)
+BuildRequires: perl(File::Find)
+BuildRequires: perl(File::Path)
+BuildRequires: perl(File::Temp)
+BuildRequires: perl(FindBin)
+BuildRequires: perl(Hash::Util)
+BuildRequires: perl(lib)
+BuildRequires: perl(Term::ANSIColor)
+BuildRequires: perl(Text::ParseWords)
+BuildRequires: perl(Sys::Hostname)
+
+Requires: %{name}-libs%{?_isa} = %{version}-%{release}
+
+# clang requires gcc, clang++ requires libstdc++-devel
+# - https://bugzilla.redhat.com/show_bug.cgi?id=1021645
+# - https://bugzilla.redhat.com/show_bug.cgi?id=1158594
+Requires: libstdc++-devel
+Requires: gcc-c++
+
+Provides: clang(major) = %{maj_ver}
+
+Conflicts: compiler-rt < 11.0.0
+
+%description
+clang: noun
+ 1. A loud, resonant, metallic sound.
+ 2. The strident call of a crane or goose.
+ 3. C-language family front-end toolkit.
+
+The goal of the Clang project is to create a new C, C++, Objective C
+and Objective C++ front-end for the LLVM compiler. Its tools are built
+as libraries and designed to be loosely-coupled and extensible.
+
+Install compiler-rt if you want the Blocks C language extension or to
+enable sanitization and profiling options when building, and
+libomp-devel to enable -fopenmp.
+
+%package libs
+Summary: Runtime library for clang
+Requires: %{name}-resource-filesystem%{?_isa} = %{version}
+Recommends: compiler-rt%{?_isa} = %{version}
+# atomic support is not part of compiler-rt
+Recommends: libatomic%{?_isa}
+# libomp-devel is required, so clang can find the omp.h header when compiling
+# with -fopenmp.
+Recommends: libomp-devel%{_isa} = %{version}
+Recommends: libomp%{_isa} = %{version}
+
+# Use lld as the default linker on ARM due to rhbz#1918924
+%ifarch %{arm}
+Requires: lld
+%endif
+
+%description libs
+Runtime library for clang.
+
+%package devel
+Summary: Development header files for clang
+Requires: %{name}-libs = %{version}-%{release}
+%if %{without compat_build}
+Requires: %{name}%{?_isa} = %{version}-%{release}
+# The clang CMake files reference tools from clang-tools-extra.
+Requires: %{name}-tools-extra%{?_isa} = %{version}-%{release}
+%endif
+
+%description devel
+Development header files for clang.
+
+%package resource-filesystem
+Summary: Filesystem package that owns the clang resource directory
+Provides: %{name}-resource-filesystem(major) = %{maj_ver}
+
+%description resource-filesystem
+This package owns the clang resouce directory: $libdir/clang/$version/
+
+%if %{without compat_build}
+%package analyzer
+Summary: A source code analysis framework
+License: Apache-2.0 WITH LLVM-exception OR NCSA OR MIT
+BuildArch: noarch
+Requires: %{name} = %{version}-%{release}
+
+%description analyzer
+The Clang Static Analyzer consists of both a source code analysis
+framework and a standalone tool that finds bugs in C and Objective-C
+programs. The standalone tool is invoked from the command-line, and is
+intended to run in tandem with a build of a project or code base.
+
+%package tools-extra
+Summary: Extra tools for clang
+Requires: %{name}-libs%{?_isa} = %{version}-%{release}
+Requires: emacs-filesystem
+
+%description tools-extra
+A set of extra tools built using Clang's tooling API.
+
+%package tools-extra-devel
+Summary: Development header files for clang tools
+Requires: %{name}-tools-extra = %{version}-%{release}
+
+%description tools-extra-devel
+Development header files for clang tools.
+
+# Put git-clang-format in its own package, because it Requires git
+# and we don't want to force users to install all those dependenices if they
+# just want clang.
+%package -n git-clang-format
+Summary: Integration of clang-format for git
+Requires: %{name}-tools-extra = %{version}-%{release}
+Requires: git
+Requires: python3
+
+%description -n git-clang-format
+clang-format integration for git.
+
+
+%package -n python3-clang
+Summary: Python3 bindings for clang
+Requires: %{name}-devel%{?_isa} = %{version}-%{release}
+Requires: python3
+%description -n python3-clang
+%{summary}.
+
+
+%endif
+
+
+%prep
+%{gpgverify} --keyring='%{SOURCE4}' --signature='%{SOURCE3}' --data='%{SOURCE0}'
+
+%if %{with compat_build}
+%autosetup -n %{clang_srcdir} -p2
+%else
+
+%{gpgverify} --keyring='%{SOURCE4}' --signature='%{SOURCE2}' --data='%{SOURCE1}'
+%setup -T -q -b 1 -n %{clang_tools_srcdir}
+%autopatch -m200 -p2
+
+
+# failing test case
+rm test/clang-tidy/checkers/altera/struct-pack-align.cpp
+
+%py3_shebang_fix \
+ clang-tidy/tool/ \
+ clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py
+
+%setup -q -n %{clang_srcdir}
+%autopatch -M%{?!rhel:100}%{?rhel:200} -p2
+
+# failing test case
+rm test/CodeGen/profile-filter.c
+
+%py3_shebang_fix \
+ tools/clang-format/ \
+ tools/clang-format/git-clang-format \
+ utils/hmaptool/hmaptool \
+ tools/scan-view/bin/scan-view \
+ tools/scan-view/share/Reporter.py \
+ tools/scan-view/share/startfile.py \
+ tools/scan-build-py/bin/* \
+ tools/scan-build-py/libexec/*
+%endif
+
+%build
+
+# Use ThinLTO to limit build time.
+%define _lto_cflags -flto=thin
+# And disable LTO on AArch64 entirely.
+%ifarch aarch64
+%define _lto_cflags %{nil}
+%endif
+
+%if 0%{?__isa_bits} == 64
+sed -i 's/\@FEDORA_LLVM_LIB_SUFFIX\@/64/g' test/lit.cfg.py
+%else
+sed -i 's/\@FEDORA_LLVM_LIB_SUFFIX\@//g' test/lit.cfg.py
+%endif
+
+%ifarch s390 s390x %{arm} aarch64 %ix86 ppc64le
+# Decrease debuginfo verbosity to reduce memory consumption during final library linking
+%global optflags %(echo %{optflags} | sed 's/-g /-g1 /')
+%endif
+
+# Disable dwz on aarch64, because it takes a huge amount of time to decide not to optimize things.
+%ifarch aarch64
+%define _find_debuginfo_dwz_opts %{nil}
+%endif
+
+# We set CLANG_DEFAULT_PIE_ON_LINUX=OFF and PPC_LINUX_DEFAULT_IEEELONGDOUBLE=ON to match the
+# defaults used by Fedora's GCC.
+%cmake -G Ninja \
+ -DCLANG_DEFAULT_PIE_ON_LINUX=OFF \
+%if 0%{?fedora} || 0%{?rhel} > 9
+ -DPPC_LINUX_DEFAULT_IEEELONGDOUBLE=ON \
+%endif
+ -DLLVM_PARALLEL_LINK_JOBS=1 \
+ -DLLVM_LINK_LLVM_DYLIB:BOOL=ON \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+ -DPYTHON_EXECUTABLE=%{__python3} \
+ -DCMAKE_SKIP_RPATH:BOOL=ON \
+%ifarch s390 s390x %{arm} %ix86 ppc64le
+ -DCMAKE_C_FLAGS_RELWITHDEBINFO="%{optflags} -DNDEBUG" \
+ -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="%{optflags} -DNDEBUG" \
+%endif
+%if %{with compat_build}
+ -DCLANG_BUILD_TOOLS:BOOL=OFF \
+ -DCMAKE_INSTALL_PREFIX=%{install_prefix} \
+ -DCLANG_INCLUDE_TESTS:BOOL=OFF \
+ -DLLVM_INCLUDE_TESTS:BOOL=OFF \
+ -DLLVM_CMAKE_DIR=%{install_libdir}/cmake/llvm \
+%else
+ -DCLANG_INCLUDE_TESTS:BOOL=ON \
+ -DLLVM_BUILD_UTILS:BOOL=ON \
+ -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR=../%{clang_tools_srcdir} \
+ -DLLVM_EXTERNAL_LIT=%{_bindir}/lit \
+ -DLLVM_LIT_ARGS="-vv" \
+ -DLLVM_MAIN_SRC_DIR=%{_datadir}/llvm/src \
+%if 0%{?__isa_bits} == 64
+ -DLLVM_LIBDIR_SUFFIX=64 \
+%else
+ -DLLVM_LIBDIR_SUFFIX= \
+%endif
+%endif
+ \
+%if %{with compat_build}
+ -DLLVM_TABLEGEN_EXE:FILEPATH=%{_bindir}/llvm-tblgen-%{maj_ver} \
+%else
+ -DLLVM_TABLEGEN_EXE:FILEPATH=%{_bindir}/llvm-tblgen \
+%endif
+ -DLLVM_COMMON_CMAKE_UTILS=%{install_datadir}/llvm/cmake \
+ -DCLANG_ENABLE_ARCMT:BOOL=ON \
+ -DCLANG_ENABLE_STATIC_ANALYZER:BOOL=ON \
+ -DCLANG_INCLUDE_DOCS:BOOL=ON \
+ -DCLANG_PLUGIN_SUPPORT:BOOL=ON \
+ -DENABLE_LINKER_BUILD_ID:BOOL=ON \
+ -DLLVM_ENABLE_EH=ON \
+ -DLLVM_ENABLE_RTTI=ON \
+ -DLLVM_BUILD_DOCS=ON \
+ -DLLVM_ENABLE_SPHINX=ON \
+ -DCLANG_LINK_CLANG_DYLIB=ON \
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF \
+ \
+ -DCLANG_BUILD_EXAMPLES:BOOL=OFF \
+ -DBUILD_SHARED_LIBS=OFF \
+ -DCLANG_REPOSITORY_STRING="%{?dist_vendor} %{version}-%{release}" \
+%ifarch %{arm}
+ -DCLANG_DEFAULT_LINKER=lld \
+%endif
+ -DCLANG_DEFAULT_UNWINDLIB=libgcc
+
+%cmake_build
+
+%install
+
+%cmake_install
+
+%if %{with compat_build}
+
+# Remove binaries/other files
+rm -Rf %{buildroot}%{install_bindir}
+rm -Rf %{buildroot}%{install_prefix}/share
+rm -Rf %{buildroot}%{install_prefix}/libexec
+# Remove scanview-py helper libs
+rm -Rf %{buildroot}%{install_prefix}/lib/{libear,libscanbuild}
+
+%else
+
+# File in the macros file for other packages to use. We are not doing this
+# in the compat package, because the version macros would # conflict with
+# eachother if both clang and the clang compat package were installed together.
+install -p -m0644 -D %{SOURCE5} %{buildroot}%{_rpmmacrodir}/macros.%{name}
+sed -i -e "s|@@CLANG_MAJOR_VERSION@@|%{maj_ver}|" \
+ -e "s|@@CLANG_MINOR_VERSION@@|%{min_ver}|" \
+ -e "s|@@CLANG_PATCH_VERSION@@|%{patch_ver}|" \
+ %{buildroot}%{_rpmmacrodir}/macros.%{name}
+
+# install clang python bindings
+mkdir -p %{buildroot}%{python3_sitelib}/clang/
+install -p -m644 bindings/python/clang/* %{buildroot}%{python3_sitelib}/clang/
+%py_byte_compile %{__python3} %{buildroot}%{python3_sitelib}/clang
+
+# install scanbuild-py to python sitelib.
+mv %{buildroot}%{_prefix}/%{_lib}/{libear,libscanbuild} %{buildroot}%{python3_sitelib}
+%py_byte_compile %{__python3} %{buildroot}%{python3_sitelib}/{libear,libscanbuild}
+
+# Fix permissions of scan-view scripts
+chmod a+x %{buildroot}%{_datadir}/scan-view/{Reporter.py,startfile.py}
+
+# multilib fix
+%multilib_fix_c_header --file %{_includedir}/clang/Config/config.h
+
+# Move emacs integration files to the correct directory
+mkdir -p %{buildroot}%{_emacs_sitestartdir}
+for f in clang-format.el clang-rename.el clang-include-fixer.el; do
+mv %{buildroot}{%{_datadir}/clang,%{_emacs_sitestartdir}}/$f
+done
+
+# remove editor integrations (bbedit, sublime, emacs, vim)
+rm -vf %{buildroot}%{_datadir}/clang/clang-format-bbedit.applescript
+rm -vf %{buildroot}%{_datadir}/clang/clang-format-sublime.py*
+
+# TODO: Package html docs
+rm -Rvf %{buildroot}%{_docdir}/Clang/clang/html
+rm -Rvf %{buildroot}%{_datadir}/clang/clang-doc-default-stylesheet.css
+rm -Rvf %{buildroot}%{_datadir}/clang/index.js
+
+# TODO: What are the Fedora guidelines for packaging bash autocomplete files?
+rm -vf %{buildroot}%{_datadir}/clang/bash-autocomplete.sh
+
+# Create Manpage symlinks
+ln -s clang.1.gz %{buildroot}%{_mandir}/man1/clang++.1.gz
+ln -s clang.1.gz %{buildroot}%{_mandir}/man1/clang-%{maj_ver}.1.gz
+ln -s clang.1.gz %{buildroot}%{_mandir}/man1/clang++-%{maj_ver}.1.gz
+
+# Add clang++-{version} symlink
+ln -s clang++ %{buildroot}%{_bindir}/clang++-%{maj_ver}
+
+
+# Fix permission
+chmod u-x %{buildroot}%{_mandir}/man1/scan-build.1*
+
+%endif
+
+# Create sub-directories in the clang resource directory that will be
+# populated by other packages
+mkdir -p %{buildroot}%{pkg_libdir}/clang/%{maj_ver}/{include,lib,share}/
+
+
+%if %{without compat_build}
+# Add a symlink in /usr/bin to clang-format-diff
+ln -s %{_datadir}/clang/clang-format-diff.py %{buildroot}%{_bindir}/clang-format-diff
+%endif
+
+%check
+%if %{without compat_build}
+%if %{with check}
+# Build test dependencies separately, to prevent invocations of host clang from being affected
+# by LD_LIBRARY_PATH below.
+%cmake_build --target clang-test-depends \
+ ExtraToolsUnitTests ClangdUnitTests ClangIncludeCleanerUnitTests ClangPseudoUnitTests
+# requires lit.py from LLVM utilities
+# FIXME: Fix failing ARM tests
+LD_LIBRARY_PATH=%{buildroot}/%{_libdir} %{__ninja} check-all -C %{__cmake_builddir} || \
+%ifarch %{arm}
+:
+%else
+false
+%endif
+%endif
+%endif
+
+
+%if %{without compat_build}
+%files
+%license LICENSE.TXT
+%{_bindir}/clang
+%{_bindir}/clang++
+%{_bindir}/clang-%{maj_ver}
+%{_bindir}/clang++-%{maj_ver}
+%{_bindir}/clang-cl
+%{_bindir}/clang-cpp
+%{_mandir}/man1/clang.1.gz
+%{_mandir}/man1/clang++.1.gz
+%{_mandir}/man1/clang-%{maj_ver}.1.gz
+%{_mandir}/man1/clang++-%{maj_ver}.1.gz
+%endif
+
+%files libs
+%if %{without compat_build}
+%{_libdir}/clang/%{maj_ver}/include/*
+%{_libdir}/*.so.*
+%else
+%{pkg_libdir}/*.so.*
+%{pkg_libdir}/clang/%{maj_ver}/include/*
+%endif
+
+%files devel
+%if %{without compat_build}
+%{_libdir}/*.so
+%{_includedir}/clang/
+%{_includedir}/clang-c/
+%{_libdir}/cmake/*
+%{_bindir}/clang-tblgen
+%dir %{_datadir}/clang/
+%{_rpmmacrodir}/macros.%{name}
+%else
+%{pkg_libdir}/*.so
+%{pkg_includedir}/clang/
+%{pkg_includedir}/clang-c/
+%{pkg_libdir}/cmake/
+%endif
+
+%files resource-filesystem
+%dir %{pkg_libdir}/clang/
+%dir %{pkg_libdir}/clang/%{maj_ver}/
+%dir %{pkg_libdir}/clang/%{maj_ver}/include/
+%dir %{pkg_libdir}/clang/%{maj_ver}/lib/
+%dir %{pkg_libdir}/clang/%{maj_ver}/share/
+
+%if %{without compat_build}
+%files analyzer
+%{_bindir}/scan-view
+%{_bindir}/scan-build
+%{_bindir}/analyze-build
+%{_bindir}/intercept-build
+%{_bindir}/scan-build-py
+%{_libexecdir}/ccc-analyzer
+%{_libexecdir}/c++-analyzer
+%{_libexecdir}/analyze-c++
+%{_libexecdir}/analyze-cc
+%{_libexecdir}/intercept-c++
+%{_libexecdir}/intercept-cc
+%{_datadir}/scan-view/
+%{_datadir}/scan-build/
+%{_mandir}/man1/scan-build.1.*
+%{python3_sitelib}/libear
+%{python3_sitelib}/libscanbuild
+
+
+%files tools-extra
+%{_bindir}/amdgpu-arch
+%{_bindir}/clang-apply-replacements
+%{_bindir}/clang-change-namespace
+%{_bindir}/clang-check
+%{_bindir}/clang-doc
+%{_bindir}/clang-extdef-mapping
+%{_bindir}/clang-format
+%{_bindir}/clang-include-cleaner
+%{_bindir}/clang-include-fixer
+%{_bindir}/clang-move
+%{_bindir}/clang-offload-bundler
+%{_bindir}/clang-offload-packager
+%{_bindir}/clang-linker-wrapper
+%{_bindir}/clang-pseudo
+%{_bindir}/clang-query
+%{_bindir}/clang-refactor
+%{_bindir}/clang-rename
+%{_bindir}/clang-reorder-fields
+%{_bindir}/clang-repl
+%{_bindir}/clang-scan-deps
+%{_bindir}/clang-tidy
+%{_bindir}/clangd
+%{_bindir}/diagtool
+%{_bindir}/hmaptool
+%{_bindir}/nvptx-arch
+%{_bindir}/pp-trace
+%{_bindir}/c-index-test
+%{_bindir}/find-all-symbols
+%{_bindir}/modularize
+%{_bindir}/clang-format-diff
+%{_mandir}/man1/diagtool.1.gz
+%{_emacs_sitestartdir}/clang-format.el
+%{_emacs_sitestartdir}/clang-rename.el
+%{_emacs_sitestartdir}/clang-include-fixer.el
+%{_datadir}/clang/clang-format.py*
+%{_datadir}/clang/clang-format-diff.py*
+%{_datadir}/clang/clang-include-fixer.py*
+%{_datadir}/clang/clang-tidy-diff.py*
+%{_bindir}/run-clang-tidy
+%{_datadir}/clang/run-find-all-symbols.py*
+%{_datadir}/clang/clang-rename.py*
+
+%files tools-extra-devel
+%{_includedir}/clang-tidy/
+
+%files -n git-clang-format
+%{_bindir}/git-clang-format
+
+%files -n python3-clang
+%{python3_sitelib}/clang/
+
+
+%endif
+%changelog
+* Wed Jul 19 2023 Fedora Release Engineering <releng(a)fedoraproject.org> - 16.0.6-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
+
+* Wed Jul 12 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 16.0.6-2
+- Fix rhbz#2221585
+
+* Fri Jun 16 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 16.0.6-1
+- Update to LLVM 16.0.6
+
+* Fri Jun 16 2023 Python Maint <python-maint(a)redhat.com> - 16.0.5-4
+- Rebuilt for Python 3.12
+
+* Thu Jun 15 2023 Nikita Popov <npopov(a)redhat.com> - 16.0.5-3
+- Use llvm-cmake-utils package
+
+* Thu Jun 15 2023 Python Maint <python-maint(a)redhat.com> - 16.0.5-2
+- Rebuilt for Python 3.12
+
+* Tue Jun 06 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 16.0.5-1
+- Update to LLVM 16.0.5
+
+* Fri May 19 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 16.0.4-1
+- Update to LLVM 16.0.4
+
+* Mon May 15 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 16.0.3-2
+- Remove patch for ppc64le triple in favor of https://reviews.llvm.org/D149746
+
+* Tue May 09 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 16.0.3-1
+- Update to LLVM 16.0.3
+
+* Wed Apr 26 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 16.0.2-1
+- Update to LLVM 16.0.2
+
+* Wed Apr 12 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 16.0.1-1
+- Update to LLVM 16.0.1
+
+* Wed Apr 12 2023 Timm Bäder <tbaeder(a)redhat.com> - 16.0.0-3
+- Use correct source for clang.macros file
+
+* Thu Mar 23 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 16.0.0-2
+- Remove unnecessary patch and macro
+
+* Mon Mar 20 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 16.0.0-1
+- Update to LLVM 16.0.0
+
+* Thu Mar 16 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 16.0.0~rc4-2
+- Fix tests with the right triple
+
+* Tue Mar 14 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 16.0.0~rc4-1
+- Update to LLVM 16.0.0 RC4
+
+* Tue Mar 14 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 16.0.0~rc3-2
+- Fix RPM macro clang_resource_dir
+
+* Thu Feb 23 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 16.0.0~rc3-1
+- Update to LLVM 16.0.0 RC3
+
+* Thu Jan 19 2023 Tulio Magno Quites Machado Filho <tuliom(a)redhat.com> - 15.0.7-3
+- Update license to SPDX identifiers.
+- Include the Apache license adopted in 2019.
+
+* Wed Jan 18 2023 Fedora Release Engineering <releng(a)fedoraproject.org> - 15.0.7-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
+
+* Thu Jan 12 2023 Nikita Popov <npopov(a)redhat.com> - 15.0.7-1
+- Update to LLVM 15.0.7
+
+* Thu Jan 12 2023 Nikita Popov <npopov(a)redhat.com> - 15.0.6-5
+- Fix resource-filesystem ownership conflict
+
+* Mon Jan 09 2023 Tom Stellard <tstellar(a)redhat.com> - 15.0.6-4
+- Omit frame pointers when building
+
+* Wed Dec 21 2022 Nikita Popov <npopov(a)redhat.com> - 15.0.6-3
+- Add clang-devel dep to python3-clang
+
+* Mon Dec 12 2022 Nikita Popov <npopov(a)redhat.com> - 15.0.6-2
+- Backport patches for ucrt64 toolchain detection
+
+* Mon Dec 05 2022 Nikita Popov <npopov(a)redhat.com> - 15.0.6-1
+- Update to LLVM 15.0.6
+
+* Thu Nov 03 2022 Nikita Popov <npopov(a)redhat.com> - 15.0.4-1
+- Update to LLVM 15.0.4
+
+* Wed Oct 19 2022 Nikita Popov <npopov(a)redhat.com> - 15.0.0-6
+- Enable ieeelongdouble for ppc64le, fix rhbz#2136099
+
+* Thu Oct 13 2022 Nikita Popov <npopov(a)redhat.com> - 15.0.0-5
+- Default to non-pie, fix rhbz#2134146
+
+* Wed Oct 05 2022 sguelton(a)redhat.com - 15.0.0-4
+- Package clang-tidy headers in clang-tools-extra-devel, fix rhbz#2123479
+
+* Thu Sep 22 2022 Nikita Popov <npopov(a)redhat.com> - 15.0.0-3
+- Add patch for inline builtins with asm label
+
+* Sat Sep 17 2022 sguelton(a)redhat.com - 15.0.0-3
+- Improve integration of llvm's libunwind
+
+* Wed Sep 14 2022 Nikita Popov <npopov(a)redhat.com> - 15.0.0-2
+- Downgrade implicit int and implicit function declaration to warning only
+
+* Tue Sep 06 2022 Nikita Popov <npopov(a)redhat.com> - 15.0.0-1
+- Update to LLVM 15.0.0
+
+* Mon Aug 29 2022 sguelton(a)redhat.com - 14.0.5-7
+- Add a Recommends on libatomic, see rhbz#2118592
+
+* Wed Aug 10 2022 Nikita Popov <npopov(a)redhat.com> - 14.0.5-6
+- Revert powerpc -mabi=ieeelongdouble default
+
+* Thu Aug 04 2022 Tom Stellard <tstellar(a)redhat.com> - 14.0.5-5
+- Re-enable ieee128 as the default long double format on ppc64le
+
+* Thu Jul 28 2022 Amit Shah <amitshah(a)fedoraproject.org> - 14.0.5-4
+- Use the dist_vendor macro to identify the distribution
+
+* Wed Jul 20 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 14.0.5-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
+
+* Thu Jun 30 2022 Miro Hrončok <mhroncok(a)redhat.com> - 14.0.5-2
+- Revert "Use the ieee128 format for long double on ppc64le" until rhbz#2100546 is fixed
+
+* Tue Jun 14 2022 Timm Bäder <tbaeder(a)redhat.com> - 14.0.5-1
+- Update to 14.0.5
+
+* Mon Jun 13 2022 Python Maint <python-maint(a)redhat.com> - 14.0.0-4
+- Rebuilt for Python 3.11
+
+* Thu May 19 2022 Tom Stellard <tstellar(a)redhat.com> - 14.0.0-3
+- Use the ieee128 format for long double on ppc64le
+
+* Mon Apr 04 2022 Jeremy Newton <alexjnewt AT hotmail DOT com> - 14.0.0-2
+- Add patch for HIP (cherry-picked from llvm trunk, to be LLVM15)
+
+* Wed Mar 23 2022 Timm Bäder <tbaeder(a)redhat.com> - 14.0.0-1
+- Update to 14.0.0
+
+* Wed Feb 16 2022 Tom Stellard <tstellar(a)redhat.com> - 13.0.1-2
+- Fix some rpmlinter errors
+
+* Thu Feb 03 2022 Nikita Popov <npopov(a)redhat.com> - 13.0.1-1
+- Update to LLVM 13.0.1 final
+
+* Tue Feb 01 2022 Nikita Popov <npopov(a)redhat.com> - 13.0.1~rc3-1
+- Update to LLVM 13.0.1rc3
+
+* Wed Jan 19 2022 Fedora Release Engineering <releng(a)fedoraproject.org> - 13.0.1~rc2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
+
+* Fri Jan 14 2022 Nikita Popov <npopov(a)redhat.com> - 13.0.1~rc2-1
+- Update to LLVM 13.0.1rc2
+
+* Wed Jan 12 2022 Nikita Popov <npopov(a)redhat.com> - 13.0.1~rc1-1
+- Update to LLVM 13.0.1rc1
+
+* Thu Oct 28 2021 Tom Stellard <tstellar(a)redhat.com> - 13.0.0-5
+- Make lld the default linker on arm
+
+* Wed Oct 27 2021 Tom Stellard <tstellar(a)redhat.com> - 13.0.0-4
+- Remove Conflicts: compiler-rt for newer versions of compiler-rt
+
+* Wed Oct 06 2021 Tom Stellard <tstellar(a)redhat.com> - 13.0.0-3
+- Fix gcc detection with redhat triples
+
+* Tue Oct 05 2021 Tom Stellard <tstellar(a)redhat.com> - 13.0.0-2
+- Drop abi_revision from soname
+
+* Fri Oct 01 2021 Tom Stellard <tstellar(a)redhat.com> - 13.0.0-1
+- 13.0.0 Release
+
+* Sat Sep 18 2021 Tom Stellard <tstellar(a)redhat.com> - 13.0.0~rc1-5
+- 13.0.0-rc3 Release
+
+* Tue Sep 14 2021 Konrad Kleine <kkleine(a)redhat.com> - 13.0.0~rc1-4
+- Add --without=check option
+
+* Fri Sep 10 2021 sguelton(a)redhat.com - 13.0.0~rc1-3
+- Apply scan-build-py intergation patch
+
+* Thu Sep 09 2021 Tom Stellard <tstellar(a)redhat.com> - 13.0.0~rc1-2
+- Add macros.clang file
+
+* Fri Aug 06 2021 Tom Stellard <tstellar(a)redhat.com> - 13.0.0~rc1-1
+- 13.0.0-rc1 Release
+
+* Thu Jul 22 2021 Tom Stellard <tstellar(a)redhat.com> - 12.0.1-3
+- Fix compat build
+
+* Wed Jul 21 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 12.0.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Tue Jul 13 2021 Tom Stellard <tstellar(a)redhat.com> - 12.0.1-1
+- 12.0.1 Release
+
+* Fri Jul 09 2021 Tom Stellard <tstellar(a)redhat.com> - 12.0.1~rc3-2
+- Fix ambiguous python shebangs
+
+* Wed Jun 30 2021 Tom Stellard <tstellar(a)redhat.com> - clang-12.0.1~rc3-1
+- 12.0.1-rc3 Release
+
+* Tue Jun 08 2021 Tom Stellard <tstellar(a)redhat.com> - 12.0.1~rc1-3
+- Only enable -funwind-tables by default on Fedora arches
+
+* Fri Jun 04 2021 Python Maint <python-maint(a)redhat.com> - 12.0.1~rc1-2
+- Rebuilt for Python 3.10
+
+* Thu May 27 2021 Tom Stellard <tstellar(a)redhat.com> - clang-12.0.1~rc1-1
+- 12.0.1-rc1 Release
+
+* Tue May 18 2021 sguelton(a)redhat.com - 12.0.0-2
+- Use the alternative-managed version of llvm-config
+
+* Fri Apr 16 2021 Tom Stellard <tstellar(a)redhat.cm> - 12.0.0-1
+- 12.0.0 Release
+
+* Wed Apr 14 2021 Tom Stellard <tstellar(a)redhat.com> - 12.0.0-0.12.rc5
+- Add symlink to clang-format-diff in /usr/bin
+- rhbz#1939018
+
+* Thu Apr 08 2021 sguelton(a)redhat.com - 12.0.0-0.11.rc5
+- New upstream release candidate
+
+* Sat Apr 03 2021 sguelton(a)redhat.com - 12.0.0-0.10.rc4
+- Make pyc files from python3-clang reproducible
+
+* Fri Apr 02 2021 sguelton(a)redhat.com - 12.0.0-0.9.rc4
+- New upstream release candidate
+
+* Wed Mar 31 2021 Jonathan Wakely <jwakely(a)redhat.com> - 12.0.0-0.8.rc3
+- Rebuilt for removed libstdc++ symbols (#1937698)
+
+* Mon Mar 15 2021 sguelton(a)redhat.com - 12.0.0-0.7.rc3
+- Apply patch D97846 to fix rhbz#1934065
+
+* Mon Mar 15 2021 Timm Bäder <tbaeder(a)redhat.com> 12.0.0-0.6.rc3
+- Set CLANG_DEFAULT_UNWIND_LIB instead of using custom patch
+- Add toolchains test to the tests.yml
+
+* Thu Mar 11 2021 sguelton(a)redhat.com - 12.0.0-0.5.rc3
+- LLVM 12.0.0 rc3
+
+* Tue Mar 09 2021 sguelton(a)redhat.com - 12.0.0-0.4.rc2
+- rebuilt
+
+* Mon Mar 01 2021 sguelton(a)redhat.com - 12.0.0-0.3.rc2
+- Reapply some wrongly removed patch
+
+* Wed Feb 24 2021 sguelton(a)redhat.com - 12.0.0-0.2.rc2
+- 12.0.0-rc2 release
+
+* Sun Feb 14 2021 sguelton(a)redhat.com - 12.0.0-0.1.rc1
+- 12.0.0-rc1 release
+
+* Tue Feb 09 2021 Tom Stellard <tstellar(a)redhat.com> - 11.1.0-0.5.rc2
+- Remove some unnecessary scan-view files
+
+* Tue Jan 26 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 11.1.0-0.4.rc2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Fri Jan 22 2021 Serge Guelton - 11.1.0-0.3.rc2
+- 11.1.0-rc2 release
+
+* Wed Jan 20 2021 Serge Guelton - 11.1.0-0.2.rc1
+- rebuilt with https://reviews.llvm.org/D94941 applied.
+
+* Thu Jan 14 2021 Serge Guelton - 11.1.0-0.1.rc1
+- 11.1.0-rc1 release
+
+* Wed Jan 06 2021 Serge Guelton - 11.0.1-4
+- LLVM 11.0.1 final
+
+* Sun Dec 20 2020 sguelton(a)redhat.com - 11.0.1-3.rc2
+- llvm 11.0.1-rc2
+
+* Wed Dec 16 2020 Tom Stellard <tstellar(a)redhat.com> - 11.0.1-2.rc1
+- Don't build with -flto
+
+* Tue Dec 01 2020 sguelton(a)redhat.com - 11.0.1-1.rc1
+- llvm 11.0.1-rc1
+
+* Thu Oct 29 2020 Tom Stellard <tstellar(a)redhat.com> - 11.0.0-3
+- Remove -ffat-lto-objects compiler flag
+
+* Wed Oct 28 2020 Tom Stellard <tstellar(a)redhat.com> - 11.0.0-2
+- Add clang-resource-filesystem sub-package
+
+* Thu Oct 15 2020 sguelton(a)redhat.com - 11.0.0-1
+- Fix NVR
+
+* Mon Oct 12 2020 sguelton(a)redhat.com - 11.0.0-0.7
+- llvm 11.0.0 - final release
+
+* Thu Oct 08 2020 sguelton(a)redhat.com - 11.0.0-0.6.rc6
+- 11.0.0-rc6
+
+* Fri Oct 02 2020 sguelton(a)redhat.com - 11.0.0-0.5.rc5
+- 11.0.0-rc5 Release
+
+* Sun Sep 27 2020 sguelton(a)redhat.com - 11.0.0-0.4.rc3
+- Fix NVR
+
+* Thu Sep 24 2020 sguelton(a)redhat.com - 11.0.0-0.1.rc3
+- 11.0.0-rc3 Release
+
+* Tue Sep 22 2020 sguelton(a)redhat.com - 11.0.0-0.3.rc2
+- Prefer gcc toolchains with libgcc_s
+
+* Tue Sep 01 2020 sguelton(a)redhat.com - 11.0.0-0.2.rc2
+- Normalize some doc directory locations
+
+* Tue Sep 01 2020 sguelton(a)redhat.com - 11.0.0-0.1.rc2
+- 11.0.0-rc2 Release
+- Use %%license macro
+
+* Tue Aug 11 2020 Tom Stellard <tstellar(a)redhat.com> - 11.0.0-0.2.rc1
+- Fix test failures
+
+* Mon Aug 10 2020 Tom Stellard <tstellar(a)redhat.com> - 11.0.0-0.1.rc1
+- 11.0.0-rc1 Release
+
+* Tue Aug 04 2020 Tom Stellard <tstellar(a)redhat.com> - 10.0.0-11
+- Remove Requires: emacs-filesystem
+
+* Sat Aug 01 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 10.0.0-10
+- Second attempt - Rebuilt for
+ https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Tue Jul 28 2020 Jeff Law <law(a)redhat.com> - 10.0.0-9
+- Disable LTO on arm and i686
+
+* Mon Jul 27 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 10.0.0-8
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Mon Jul 20 2020 sguelton(a)redhat.com - 10.0.0-7
+- Update cmake macro usage
+- Finalize source verification
+
+* Fri Jun 26 2020 Tom Stellard <tstellar(a)redhat.com> - 10.0.0-6
+- Add cet.h header
+
+* Mon Jun 08 2020 Tom Stellard <tstellar(a)redhat.com> - 10.0.0-5
+- Accept multiple --config options
+
+* Wed Jun 3 2020 Dan Čermák <dan.cermak(a)cgc-instruments.com> - 10.0.0-4
+- Add symlink to %%{_libdir}/clang/%%{maj_ver} for persistent access to the resource directory accross minor version bumps
+
+* Mon May 25 2020 Miro Hrončok <mhroncok(a)redhat.com> - 10.0.0-3
+- Rebuilt for Python 3.9
+
+* Tue May 19 2020 sguelton(a)redhat.com - 10.0.0-2
+- Backport ad7211df6f257e39da2e5a11b2456b4488f32a1e, see rhbz#1825593
+
+* Thu Mar 26 2020 sguelton(a)redhat.com - 10.0.0-1
+- 10.0.0 final
+
+* Tue Mar 24 2020 sguelton(a)redhat.com - 10.0.0-0.11.rc6
+- 10.0.0 rc6
+
+* Sun Mar 22 2020 sguelton(a)redhat.com - 10.0.0-0.10.rc5
+- Update git-clang-format dependency, see rhbz#1815913
+
+* Fri Mar 20 2020 Tom Stellard <tstellar(a)redhat.com> - 10.0.0-0.9.rc5
+- Add dependency on libomp-devel
+
+* Fri Mar 20 2020 sguelton(a)redhat.com - 10.0.0-0.8.rc5
+- 10.0.0 rc5
+
+* Sat Mar 14 2020 sguelton(a)redhat.com - 10.0.0-0.7.rc4
+- 10.0.0 rc4
+
+* Thu Mar 12 2020 sguelton(a)redhat.com - 10.0.0-0.6.rc3
+- Move a few files from clang to clang-tools-extra.
+
+* Thu Mar 05 2020 sguelton(a)redhat.com - 10.0.0-0.5.rc3
+- 10.0.0 rc3
+
+* Tue Feb 25 2020 sguelton(a)redhat.com - 10.0.0-0.4.rc2
+- Apply -fdiscard-value-names patch.
+
+* Mon Feb 17 2020 sguelton(a)redhat.com - 10.0.0-0.3.rc2
+- Fix NVR
+
+* Fri Feb 14 2020 sguelton(a)redhat.com - 10.0.0-0.1.rc2
+- 10.0.0 rc2
+
+* Tue Feb 11 2020 sguelton(a)redhat.com - 10.0.0-0.2.rc1
+- Explicitly conflicts with any different compiler-rt version, see rhbz#1800705
+
+* Fri Jan 31 2020 Tom Stellard <tstellar(a)redhat.com> - 10.0.0-0.1.rc1
+- Stop shipping individual component libraries
+- https://fedoraproject.org/wiki/Changes/Stop-Shipping-Individual-Component...
+
+* Fri Jan 31 2020 sguelton(a)redhat.com - 10.0.0-0.1.rc1
+- 10.0.0 rc1
+
+* Tue Jan 28 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 9.0.1-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Fri Jan 10 2020 Tom Stellard <tstellar(a)redhat.com> - 9.0.1-2
+- Fix crash with kernel bpf self-tests
+
+* Thu Dec 19 2019 Tom Stellard <tstellar(a)redhat.com> - 9.0.1-1
+- 9.0.1 Release
+
+* Wed Dec 11 2019 Tom Stellard <tstellar(a)redhat.com> - 9.0.0-3
+- Add explicit requires for clang-libs to fix rpmdiff errors
+
+* Tue Dec 10 2019 sguelton(a)redhat.com - 9.0.0-2
+- Activate -funwind-tables on all arches, see rhbz#1655546.
+
+* Thu Sep 19 2019 Tom Stellard <tstellar(a)redhat.com> - 9.0.0-1
+- 9.0.0 Release
+
+* Wed Sep 11 2019 Tom Stellard <tstellar(a)redhat.com> - 9.0.0-0.2.rc3
+- Reduce debug info verbosity on ppc64le to avoid OOM errors in koji
+
+* Thu Aug 22 2019 Tom Stellard <tstellar(a)redhat.com> - 9.0.0-0.1.rc3
+- 9.0.0 Release candidate 3
+
+* Tue Aug 20 2019 sguelton(a)redhat.com - 8.0.0-4
+- Rebuilt for Python 3.8
+
+* Mon Aug 19 2019 Miro Hrončok <mhroncok(a)redhat.com> - 8.0.0-3.2
+- Rebuilt for Python 3.8
+
+* Wed Jul 24 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 8.0.0-3.1
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
+* Thu May 16 2019 sguelton(a)redhat.com - 8.0.0-3
+- Fix for rhbz#1674031
+
+* Fri Apr 12 2019 sguelton(a)redhat.com - 8.0.0-2
+- Remove useless patch thanks to GCC upgrade
+
+* Wed Mar 20 2019 sguelton(a)redhat.com - 8.0.0-1
+- 8.0.0 final
+
+* Tue Mar 12 2019 sguelton(a)redhat.com - 8.0.0-0.6.rc4
+- 8.0.0 Release candidate 4
+
+* Mon Mar 4 2019 sguelton(a)redhat.com - 8.0.0-0.5.rc3
+- Cleanup specfile after llvm dependency update
+
+* Mon Mar 4 2019 sguelton(a)redhat.com - 8.0.0-0.4.rc3
+- 8.0.0 Release candidate 3
+
+* Mon Feb 25 2019 tstellar(a)redhat.com - 8.0.0-0.3.rc2
+- Fix compiling with -stdlib=libc++
+
+* Thu Feb 21 2019 sguelton(a)redhat.com - 8.0.0-0.2.rc2
+- 8.0.0 Release candidate 2
+
+* Sat Feb 09 2019 sguelton(a)redhat.com - 8.0.0-0.1.rc1
+- 8.0.0 Release candidate 1
+
+* Tue Feb 05 2019 sguelton(a)redhat.com - 7.0.1-6
+- Update patch for Python3 port of scan-view
+
+* Tue Feb 05 2019 sguelton(a)redhat.com - 7.0.1-5
+- Working CI test suite
+
+* Mon Feb 04 2019 sguelton(a)redhat.com - 7.0.1-4
+- Workaround gcc-9 bug when compiling bitfields
+
+* Fri Feb 01 2019 sguelton(a)redhat.com - 7.0.1-3
+- Fix uninitialized error detected by gcc-9
+
+* Thu Jan 31 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 7.0.1-2.1
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Wed Dec 19 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.1-2
+- Fix for rhbz#1657544
+
+* Tue Dec 18 2018 sguelton(a)redhat.com - 7.0.1-1
+- 7.0.1
+
+* Tue Dec 18 2018 sguelton(a)redhat.com - 7.0.0-10
+- Install proper manpage symlinks for clang/clang++ versions
+
+* Fri Dec 14 2018 sguelton(a)redhat.com - 7.0.0-9
+- No longer Ignore -fstack-clash-protection option
+
+* Tue Dec 04 2018 sguelton(a)redhat.com - 7.0.0-8
+- Ensure rpmlint passes on specfile
+
+* Fri Nov 30 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-7
+- Drop python2 dependency from clang-tools-extra
+
+* Wed Nov 21 2018 sguelton(a)redhat.com - 7.0.0-6
+- Prune unneeded reference to llvm-test-suite sub-package
+
+* Mon Nov 19 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-5
+- Run 'make check-all' instead of 'make check-clang'
+
+* Mon Nov 19 2018 sergesanspaille <sguelton(a)redhat.com> - 7.0.0-4
+- Avoid Python2 + Python3 dependency for clang-analyzer
+
+* Mon Nov 05 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-3
+- User helper macro to fixup config.h for multilib
+
+* Tue Oct 02 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-2
+- Use correct shebang substitution for python scripts
+
+* Mon Sep 24 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-1
+- 7.0.0 Release
+
+* Wed Sep 19 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.16.rc3
+- Move builtin headers into clang-libs sub-package
+
+* Wed Sep 19 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.15.rc3
+- Remove ambiguous python shebangs
+
+* Thu Sep 13 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.14.rc3
+- Move unversioned shared objects to devel package
+
+* Thu Sep 13 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.13.rc3
+- Rebuild with new llvm-devel that disables rpath on install
+
+* Thu Sep 13 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.12.rc3
+- Fix clang++-7 symlink
+
+* Wed Sep 12 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.11.rc3
+- 7.0.0-rc3 Release
+
+* Mon Sep 10 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.10.rc2
+- Drop siod from llvm-test-suite
+
+* Fri Sep 07 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.9.rc2
+- Drop python2 dependency from clang package
+
+* Thu Sep 06 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.8.rc2
+- Drop all uses of python2 from lit tests
+
+* Sat Sep 01 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.7.rc2
+- Add Fedora specific version string
+
+* Tue Aug 28 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.6.rc2
+- 7.0.0-rc2 Release
+
+* Tue Aug 28 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.5.rc1
+- Enable unit tests
+
+* Fri Aug 17 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.4.rc1
+- Move llvm-test-suite into a sub-package
+
+* Fri Aug 17 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.3.rc1
+- Recommend the same version of compiler-rt
+
+* Wed Aug 15 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.2.rc1
+- Rebuild for f30
+
+* Mon Aug 13 2018 Tom Stellard <tstellar(a)redhat.com> - 7.0.0-0.1.rc1
+- 7.0.0-rc1 Release
+
+* Mon Jul 23 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.1-3
+- Sync spec file with the clang6.0 package
+
+* Thu Jul 12 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 6.0.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Tue Jun 26 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.1-1
+- 6.0.1 Release
+
+* Wed Jun 13 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.1-0.2.rc2
+- 6.0.1-rc2
+
+* Fri May 11 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.1-0.1.rc1
+- 6.0.1-rc1 Release
+
+* Fri Mar 23 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.0-5
+- Add a clang++-{version} symlink rhbz#1534098
+
+* Thu Mar 22 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.0-4
+- Use correct script for running lit tests
+
+* Wed Mar 21 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.0-3
+- Fix toolchain detection so we don't default to using cross-compilers:
+ rhbz#1482491
+
+* Mon Mar 12 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.0-2
+- Add Provides: clang(major) rhbz#1547444
+
+* Fri Mar 09 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.0-1
+- 6.0.0 Release
+
+* Mon Feb 12 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.0-0.6.rc2
+- 6.0.0-rc2 Release
+
+* Wed Feb 07 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 6.0.0-0.5.rc1
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Thu Feb 01 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.0-0.4.rc1
+- Package python helper scripts for tools
+
+* Fri Jan 26 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.0-0.3.rc1
+- Ignore -fstack-clash-protection option instead of giving an error
+
+* Fri Jan 26 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.0-0.2.rc1
+- Package emacs integration files
+
+* Wed Jan 24 2018 Tom Stellard <tstellar(a)redhat.com> - 6.0.0-0.1.rc1
+- 6.0.0-rc1 Release
+
+* Wed Jan 24 2018 Tom Stellard <tstellar(a)redhat.com> - 5.0.1-3
+- Rebuild against llvm5.0 compatibility package
+- rhbz#1538231
+
+* Wed Jan 03 2018 Iryna Shcherbina <ishcherb(a)redhat.com> - 5.0.1-2
+- Update Python 2 dependency declarations to new packaging standards
+ (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
+
+* Wed Dec 20 2017 Tom Stellard <tstellar(a)redhat.com> - 5.0.1-1
+- 5.0.1 Release
+
+* Wed Dec 13 2017 Tom Stellard <tstellar(a)redhat.com> - 5.0.0-3
+- Make compiler-rt a weak dependency and add a weak dependency on libomp
+
+* Mon Nov 06 2017 Merlin Mathesius <mmathesi(a)redhat.com> - 5.0.0-2
+- Cleanup spec file conditionals
+
+* Mon Oct 16 2017 Tom Stellard <tstellar(a)redhat.com> - 5.0.0-1
+- 5.0.0 Release
+
+* Wed Oct 04 2017 Rex Dieter <rdieter(a)fedoraproject.org> - 4.0.1-6
+- python2-clang subpkg (#1490997)
+- tools-extras: tighten (internal) -libs dep
+- %%install: avoid cd
+
+* Wed Aug 30 2017 Tom Stellard <tstellar(a)redhat.com> - 4.0.1-5
+- Add Requires: python for git-clang-format
+
+* Sun Aug 06 2017 Björn Esser <besser82(a)fedoraproject.org> - 4.0.1-4
+- Rebuilt for AutoReq cmake-filesystem
+
+* Wed Aug 02 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 4.0.1-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
+
+* Wed Jul 26 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 4.0.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Fri Jun 23 2017 Tom Stellard <tstellar(a)redhat.com> - 4.0.1-1
+- 4.0.1 Release.
+
+* Fri Jun 16 2017 Tom Stellard <tstellar(a)redhat.com> - 4.0.0-8
+- Enable make check-clang
+
+* Mon Jun 12 2017 Tom Stellard <tstellar(a)redhat.com> - 4.0.0-7
+- Package git-clang-format
+
+* Thu Jun 08 2017 Tom Stellard <tstellar(a)redhat.com> - 4.0.0-6
+- Generate man pages
+
+* Thu Jun 08 2017 Tom Stellard <tstellar(a)redhat.com> - 4.0.0-5
+- Ignore test-suite failures until all arches are fixed.
+
+* Mon Apr 03 2017 Tom Stellard <tstellar(a)redhat.com> - 4.0.0-4
+- Run llvm test-suite
+
+* Mon Mar 27 2017 Tom Stellard <tstellar(a)redhat.com> - 4.0.0-3
+- Enable eh/rtti, which are required by lldb.
+
+* Fri Mar 24 2017 Tom Stellard <tstellar(a)redhat.com> - 4.0.0-2
+- Fix clang-tools-extra build
+- Fix install
+
+* Thu Mar 23 2017 Tom Stellard <tstellar(a)redhat.com> - 4.0.0-1
+- clang 4.0.0 final release
+
+* Mon Mar 20 2017 David Goerger <david.goerger(a)yale.edu> - 3.9.1-3
+- add clang-tools-extra rhbz#1328091
+
+* Thu Mar 16 2017 Tom Stellard <tstellar(a)redhat.com> - 3.9.1-2
+- Enable build-id by default rhbz#1432403
+
+* Thu Mar 02 2017 Dave Airlie <airlied(a)redhat.com> - 3.9.1-1
+- clang 3.9.1 final release
+
+* Fri Feb 10 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 3.9.0-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Mon Nov 14 2016 Nathaniel McCallum <npmccallum(a)redhat.com> - 3.9.0-3
+- Add Requires: compiler-rt to clang-libs.
+- Without this, compiling with certain CFLAGS breaks.
+
+* Tue Nov 1 2016 Peter Robinson <pbrobinson(a)fedoraproject.org> 3.9.0-2
+- Rebuild for new arches
+
+* Fri Oct 14 2016 Dave Airlie <airlied(a)redhat.com> - 3.9.0-1
+- clang 3.9.0 final release
+
+* Fri Jul 01 2016 Stephan Bergmann <sbergman(a)redhat.com> - 3.8.0-2
+- Resolves: rhbz#1282645 add GCC abi_tag support
+
+* Thu Mar 10 2016 Dave Airlie <airlied(a)redhat.com> 3.8.0-1
+- clang 3.8.0 final release
+
+* Thu Mar 03 2016 Dave Airlie <airlied(a)redhat.com> 3.8.0-0.4
+- clang 3.8.0rc3
+
+* Wed Feb 24 2016 Dave Airlie <airlied(a)redhat.com> - 3.8.0-0.3
+- package all libs into clang-libs.
+
+* Wed Feb 24 2016 Dave Airlie <airlied(a)redhat.com> 3.8.0-0.2
+- enable dynamic linking of clang against llvm
+
+* Thu Feb 18 2016 Dave Airlie <airlied(a)redhat.com> - 3.8.0-0.1
+- clang 3.8.0rc2
+
+* Fri Feb 12 2016 Dave Airlie <airlied(a)redhat.com> 3.7.1-4
+- rebuild against latest llvm packages
+- add BuildRequires llvm-static
+
+* Wed Feb 03 2016 Fedora Release Engineering <releng(a)fedoraproject.org> - 3.7.1-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+
+* Thu Jan 28 2016 Dave Airlie <airlied(a)redhat.com> 3.7.1-2
+- just accept clang includes moving to /usr/lib64, upstream don't let much else happen
+
+* Thu Jan 28 2016 Dave Airlie <airlied(a)redhat.com> 3.7.1-1
+- initial build in Fedora.
+
+* Tue Oct 06 2015 Jan Vcelak <jvcelak(a)fedoraproject.org> 3.7.0-100
+- initial version using cmake build system
diff --git a/fix-ieee128-cross.diff b/fix-ieee128-cross.diff
new file mode 100644
index 0000000..218c229
--- /dev/null
+++ b/fix-ieee128-cross.diff
@@ -0,0 +1,16 @@
+diff --git a/clang/test/Driver/ppc-float-abi-warning.cpp b/clang/test/Driver/ppc-float-abi-warning.cpp
+index e3baa9f4c059..87d6d87a3b31 100644
+--- a/clang/test/Driver/ppc-float-abi-warning.cpp
++++ b/clang/test/Driver/ppc-float-abi-warning.cpp
+@@ -17,10 +17,12 @@
+ // RUN: -mabi=ieeelongdouble -stdlib=libc++ -Wno-unsupported-abi 2>&1 | \
+ // RUN: FileCheck %s --check-prefix=NOWARN
+ // RUN: %clang -### --driver-mode=g++ -target powerpc64le-linux-gnu %s\
++// RUN: --dyld-prefix=%S/Inputs/powerpc64le-linux-gnu-tree/gcc-12 \
+ // RUN: -mabi=%if ppc_linux_default_ieeelongdouble %{ieeelongdouble%} \
+ // RUN: %else %{ibmlongdouble%} -stdlib=libc++ 2>&1 | \
+ // RUN: FileCheck %s --check-prefix=NOWARN
+ // RUN: %clang -### --driver-mode=g++ -target powerpc64le-linux-gnu %s\
++// RUN: --dyld-prefix=%S/Inputs/powerpc64le-linux-gnu-tree/gcc-12 \
+ // RUN: -mabi=%if ppc_linux_default_ieeelongdouble %{ibmlongdouble%} \
+ // RUN: %else %{ieeelongdouble%} -stdlib=libc++ 2>&1 | FileCheck %s
diff --git a/macros.clang b/macros.clang
new file mode 100644
index 0000000..6f35452
--- /dev/null
+++ b/macros.clang
@@ -0,0 +1,16 @@
+%clang_major_version @@CLANG_MAJOR_VERSION@@
+%clang_minor_version @@CLANG_MINOR_VERSION@@
+%clang_patch_version @@CLANG_PATCH_VERSION@@
+
+%clang_version %{clang_major_version}.%{clang_minor_version}.%{clang_patch_version}
+
+# This is the path to the clang resource directory that has clang's internal
+# headers and libraries. This path should be used by packages that need to
+# install files into this directory. This macro's value changes every time
+# clang's version changes.
+%clang_resource_dir %{_libdir}/clang/%{clang_major_version}
+
+# This is the path to the clang resource directory that should be used
+# by packages that need to read files from this directory at runtime.
+# This macro only changes when clang's major version changes.
+%clang_resource_dir_readonly %{_libdir}/clang/%{clang_major_version}
diff --git a/release-keys.asc b/release-keys.asc
new file mode 100644
index 0000000..0d3789a
--- /dev/null
+++ b/release-keys.asc
@@ -0,0 +1,104 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQGNBGLtemUBDADClvDIromq0Y4TX+wyRyYCq5WusPQheQuY8dVCXd9KhMpYAv8U
+X15E5boH/quGpJ0ZlVkWcf+1WUHIrQWlbzQdIx514CDM7DBgO92CXsnn86kIMDW+
+9S+Hkn8upbizT1fWritlHwzD9osz7ZQRq7ac03PPgw27tqeIizHGuG4VNLyhbbjA
+w+0VLFSu3r219eevS+lzBIvR5U9W720jFxWxts4UvaGuD6XW1ErcsTvuhgyCKrrs
+gxO5Ma/V7r0+lqRL688ZPr4HxthwsON1YCfpNiMZ6sgxT8rOE0qL/d07ItbnXxz6
+KdcNWIXamTJKJgag6Tl0gYX4KIuUCcivXaRdJtUcFFsveCorkdHkdGNos403XR89
+5u9gq7Ef10Zahsv5GjE2DV5oFCEhXvfIWxvyeJa65iBkJafElb2stgUjkIut2a2u
++XmpKpwpGSFklce1ABLrmazlLjhsYiJVrz5l5ktoT9moE4GaF7Q5LD6JgsxzLE0U
+Tzo9/AQPd8qG2REAEQEAAbQeVG9iaWFzIEhpZXRhIDx0b2JpYXNAaGlldGEuc2U+
+iQHUBBMBCAA+FiEE1XS9XR0OmIleO/kARPJIXkXVkEIFAmLtemUCGwMFCRLMAwAF
+CwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQRPJIXkXVkEKoNwv+MEMVzdnzJarx
+ZJ0OzHrGJJG8/chkuoejTjCLG73li9yWQigy5KmvynB5yW0fk0PAQ90vvp2wr/Hd
+mUh0Zda3CwF6sWlO3N6DEDjVA3lZUuofTtvMn/tdGvvOOXYXAP9N+SZfp/7q8dxX
+zn5SA1AO87nXq5lrwVzlVzUCdwOeqDlJ+2U9VEqvukP/FdkgaR2bEb8Wm/h+encW
+UIQEqPDE+qOyJ9dRaiL0CUI4x+1wXeXB3OA7VybF2LvaZDbMlocdy+vs825iUWfa
+n8g3mE2TpV8jkc9UHgGGopzxqNquvkkIB7ZFZm/PSW40W3OeHKhYsZZbHrz9403t
+3R4SAzA3ApmMP/P8ue9irsbe24g3rzYMvck1w4C1a4Uy9buT0OCfA+dA16IRAPgV
+5SJEIS62cFbUxkw8el3rUK9V+6kwoq4k8Fs8f1U7DEnOKS/v8BJJCNEc1cvimZai
+Y5/3r5BeneEmuZFKX4iIIfcn5PmLSDB4aw+gKAIAAus+E2DxBqE+uQGNBGLtemUB
+DADBCNyvUdv0OV//6pQ/0YC2bYXL/ElF0rOjFFl4H7O3TRxgIz2C4nQJHUOrXSmo
+iL7ldfUjoAMgebcoWDpgE8S2Vjw2Gd+UJBQXj+3J6dPKLBUCjj9CLyb5hwOHITMV
+b9UC/E+iwpn4vgTbI6K1O847brkBC+GuDT4g9D3O3sRbja0GjN0n2yZiS8NtRQm1
+MXAVy1IffeXKpGLookAhoUArSN88koMe+4Nx6Qun4/aUcwz0P2QUr5MA5jUzFLy1
+R3M5p1nctX15oLOU33nwCWuyjvqkxAeAfJMlkKDKYX25u1R2RmQ4ju2kAbw0PiiZ
+yYft8fGlrwT4/PB3AqfKeSpx8l9Vs15ePvcuJITauo3fhBjJ6Y4WCKlTG1FbDYUl
+KvPhyGO8yLhtZJg3+LbA5M/CEHsDmUh7YEQVxM0RTQMTxNBVBF5IG/4y8v/+19DZ
+89VdpsQF3ThoPV0yh57YMemTBeIxpF9Swp5N7kUWct4872kBnXOmbp/jhU4MpLj6
+iLEAEQEAAYkBvAQYAQgAJhYhBNV0vV0dDpiJXjv5AETySF5F1ZBCBQJi7XplAhsM
+BQkSzAMAAAoJEETySF5F1ZBCdPwL/3Ox6MwrKFzYJNz3NpQFpKFdDrkwhf25D/Qw
+vu5e8Lql/q62NIhEKH3jxXXgoFYas2G7r8CSCRehraDqvXygbaiWUIkxSU0xuDTl
+lNqHSkCRqIxhi/yxNm1Pk84NVGTLXWW0+CwT9cRwWn5foIPJhoDdZ732zJ7rcY3R
+g71SJTe3R6MnGBzIF1LzT7Znwkh7YfcmeTfInareIWXpeNaeKy8KrQmr/0+5AIer
+Ax1gu03o8GD5LFDUuGbESgDJU6nVtVyht7C6AlJWqSX6QS3+lPCw5BOCKbxakYNR
+/oBNauzyDISdbUwzHM2d+XGCjBsXKRA0Tft2NlG6EC83/PuY2J9MSA2gg3iPHsiN
+J5iipbdZNpZ3XL0l8/t/7T60nM7UZDqt3twLMA0eRFRlCnhMjvFE5Zgj5DE7BsJh
+w2nCoGWkAcfeuih+jfyEjN24NK+sE/bM+krwVv430ewJwm1bVUqKrbOb9aa6V9gP
+9RmlwZlOTFGcWBYl/cfRONn9qi9a6w==
+=Lvw+
+-----END PGP PUBLIC KEY BLOCK-----
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQINBFrqgT0BEAC7xo0WH+eNrLlU5LrCk59KmImn1abFcmWNd8kYr5XfqmJKyVqo
+EY7A/yRjf+Yn1621EDkpKPjbql7q7MlZMpqKVdOWKWgmhvz08IOKJxaIABd/iIRT
+FwhIvB68YjtmzcoOJRi1wLnwuG55fJ9E69HyZ33jgAlRaWV3bE/YyszoTlZriUOE
+RbzC5WzX004cE9evlrr+YLt5Y6z7tntOdSXPLyGOFAO5LYMsHsEdi2JBYWrjlslG
+6iJr5iEt9v442PrJ79YYbu5QWe/6APRWtI3AtKBp7y250oon2lbj+bIVD7U9fOBB
+n/Frqx54UN22sJycET63hgYW4pIjIi5zq+FF15aU+ZqBdtNltoX4hEN7wlDpuNc0
+ezVu2Z8hdt8thpjiFUioTQ1t3RmsN6N548VwxmHdoYpAmiZqPIYBYvm85JB7S/3h
+RLuoeGxufBhXGCpnG8ghTOGtbbdanuLB/UROFXTdyZbTCBN5S6jvwkPSaHG7H35Z
+3fazMriTXwL1RGAbKITSWhDe5dXy/yOInWe8emJx+35vwQYCB2L4S8wRyQyRw6x4
+YoXCscW041DUMBX2CC7SjMCcmAC39UX1c3GbTpS3rkJR9cmXt50nviMnKpIwlIPd
+ZYhmxKifwTJ70+c4GVK2o0MG9bTYvpYhLnYxv6iJCfgmT40E+qkDSzSoZwARAQAB
+tCJUb20gU3RlbGxhcmQgPHRzdGVsbGFyQHJlZGhhdC5jb20+iQI/BBMBAgApBQJa
+6oE9AhsDBQkB4TOABwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQoseUqYZB
+nYp8Gg//RmX6Nup/Dv05jTL7dKRBSD08MF400tRtTmRhIuAgGv27qO2hbqzprKVu
+vd20vKBB9CNZpXC2oY8k9VhGv2PZNi/X7iuULIYmzjeFMbJ5CjU6XvuUBmNasITH
+6K/0KLhGebPs5h/DNtd7lbzDm86dLcjxgl6LXUULaSyYvTAKn6YB6mAv5J3qJs2X
+lfTmenNh9p7TPFTfcMHcS70ywjqKXlDiH0q9bRKJnSX7xUFlTHjKkNnAcRjlPaGf
+wUUhIPrnpDboqfwfcmScLrHANW9nwFWSFkNAJu1HQUEuF+An/RZUHDxFbLPKKAIp
+hwZ0aORTfBVZ80AjehDMYCbmp1DJeTyLjC1/94un6mlxPIKnPPPM8rMxr83xnrvP
++Y1+pJaDUL7ZvKnmt2LrGRa9GvsNiYKpCNCORfiwZTeSxxXb+LgaodnbCHvGBnk7
+nlbLdMY08vNlxSx8LNyG0krFxJw/rq260+73yc+qjENeG68fozTEy/4jSVrF4t3m
+8AAUu5r6i/Aomo7Q27TjU928bbCVunpvDpserfDqr3zsA96LO9k8T6THR6zC9i+R
+LiN9Vjl+Rr2YuU26DjFYkCNEA2kNflYCWPJi5I0eodTPZrIPBWJ+H0YTRX31bMH9
+X88FnWJuCwaqAMN3rWlX/lXNCouWDdCuPWseZApISAMnVDE2mM+JAlYEEwEIAEAC
+GwMHCwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgBYhBEdOIjFqv0eFqIxujqLHlKmG
+QZ2KBQJgkytfBQkJaxEiAAoJEKLHlKmGQZ2Kv8YP/jNPjcMAP0ZTpUcYV46mGKwf
+aQ0g5FUMSfxP7uJHtctj2dUckPGpA9SAH+ApiJutVgTQpWqNJKPd2vVxOiu5sywN
+iDKCOMlKug5m6lgLX5h3zBvSN90Hpn4I0qHRA3rgENLoPs/UYBxohvFPIhOOjPqO
+HIUuSPhAIuIZawxtqlADswHiKPy38Ao5GnWRb60zKfrB+N+ZiOtg7ITrlTGYm2tX
+0W9iWUG32gIA/RX2qmFPoLrDFqsk66Eir0Ghk5gppRrmpEl/M1lqA8bxlqWto/8w
+V8yDbSEu5fmM3WN3OUcSA23lYJi4j656Q4hS5PU+IWuZbBhcpYwDGexV5+m/ySZb
+wtHZMIb4Au+dgJHCvRiSqHgplyfiamxX5CfA0DJVHoGXpBOw8a2geRT0+DrjSbOS
++CDDnlfmQLfHgjEuyQPU8V0Wlb0tJEvnPPqNPmAv0Rv7MC4qmD/zDrgwuddpfr1x
+H+nWus2plR8E6p/x9uvPLb3plJ94ri1XjXiJPyPvqzBAwA40Zeg0rE7sTVwCC3E9
+RZa7dHh17exkcZdOIS/vRQ1G/VNaOVUwrcC/vIMgZSe37bCLeOKViMtacAiBJDjo
+INC1QJ2F3CYVwktrcgmuz9S8e2WrqdTWwijjConB80EwfHQllz5sp/jU6Bgv297X
+UXkgpk1y+ibQ9/syRQpFuQINBFrqgT0BEADB2vDHMuexkaUm3rPi6SvyMGcsHWle
+feAWm+UjROKIaV77rHwo0/8ncKbtoQx4ZZjDXdI77M2bXB7tPgyEML90bWDMMGN/
+gnpwWSsiDRWpFIV/+hD6B+l9UaEi4UvEstUbIchOkGrZgPZ4Qism4FSVosEK+FE7
+EKCT4PSS+LiBKSxJZB8/g2uX+3pJvVxYurvcVpTmiNlXvUyll4KMpzy5e0KKa/0y
+w9h7SAre5399cSM8E7PDQZQDb1EwbyVyO2yDLgs+p3yzPtRJAydaqRPmT1JbSCYf
+hcihTrViMA4EDN5GRjH2EElI37+2HMpgLs4rc6Abz1F4FUVFhqWJXCKUcAIrG17w
+A7YUlYg38S6Xws2Xj1VfZ/WP7/qIMJZidYTHZbN9WWCaifCPfLlE5VDNsa8y6Mxm
+uFMBAB4PpB1gmmP9pPZsOzV9SmeYt8h2P8cVKDW2f56azpBZvZX6NFn8e0+ZDXS4
+8BQz31G2Xdfa3uOEV0J3JxPXcEbfuPzDHb7OMYP+2Ypjox1TozT1e9zr46SQl9OF
+MglOBnwLZJ9baA/IqZkqLq5iu5Oqda44EIVNAntQ3gebi3+q3YG1SvNUseIy2+8y
+cNWtdDuWv366Af0okCdrKAdap8+KbREer9uXhamtvxc49RCoWwuKoKfBz0RdVvMv
+R/Py2xV8A7PaIQARAQABiQIlBBgBAgAPBQJa6oE9AhsMBQkB4TOAAAoJEKLHlKmG
+QZ2KAaMQALHif2E0PBLVt09vlr4i8jAsQvDrzRajmVPd2B9RpfNU6HJe/y93SZd2
+udr9vzgmfd2o5u12vbegKNiMRgp1VyHQDmYlce27jrH5aPuKmos78+o5/p5yPWCv
+Rj8zxGKh7le7UPO+7UveKu+bgb3zwTj6bEuHX7fVI+WjGmEH3bbjDGamWxXrpfGc
+7+Jr8TN4ZO2OwYBcFOS9U2ZQ6TxrPaCSIm6+j8f+a9HPOuuDc62mMuV/EWQZy0i7
+DhDqU2PNpVjQDWQNpHA8oLDrjNFAoJS8gbHABVsFM1VnwBNT2MKcZQmm05dlQ+ll
+S6meHNCvTniKIKC+Giz1Yd5JVGDACZWWPxEz6VhpQW/twkxRqwlUdpFt7UgDquTL
+M1beQUCZRt81yJTNdrggbhQ2POxOdIO0CPiQv7U1IzndZp6baedeBw4a7FCbj6GY
+cQeHxQCrWpQrwigiseG5uhhS9aiaVFEHja9baSLfXlZu/vsR4MdDG5/iEpier/Xw
+h1qnpTSY+r31Uw3lTUlPHzlg47PMgPslaIhCzfVggxh9bTqxcDbuYJ7NuoMho3tN
+yWfeofTJ7PhKzoXM2Y/rRFoM5gNh1RVA19ngLT5Jwiof8fPZvHJ/9ZkHn+O7eMNm
+m5++gYza3pnn2/PoGpGGAKok+sfJiq5Tb7RUefyJTeZiyTZ/XJrA
+=tMzl
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/sources b/sources
new file mode 100644
index 0000000..cfb112b
--- /dev/null
+++ b/sources
@@ -0,0 +1,4 @@
+SHA512 (clang-16.0.6.src.tar.xz) = 92c65b882e1504f4a9b8a3f6b8a24061505987aaacc8bb835115b4e4d74ac3a8c98343a308567b07c6b42bb99877c300bce3c4a5a25ada77abe65606aa25188d
+SHA512 (clang-16.0.6.src.tar.xz.sig) = a3e68c07d61ce62dfe406464f1afce352f36480966ceaa3171889ac1f02441d9df48e938b3e81d6b73b5957dd6623171323a9915281dc052be0c5c7014e75f24
+SHA512 (clang-tools-extra-16.0.6.src.tar.xz) = ec1a0834f223e393d24c11586b744167a41cea6c39d1bb18c433d2fb736501950fdff42f1eb0caa13c75bcb8ef9ac309eb0687644307698ec0420ff8a769c710
+SHA512 (clang-tools-extra-16.0.6.src.tar.xz.sig) = ff94fe024399bb72da10752ad1c41d57dcf5094b11ef5abdb82189026db0d7016c7ede0f47b7841aaa823de75bd927f8a1ffdbc112c5a0f61dec878790b5e7e3
8 months, 2 weeks