--- /dev/null
+* Elena Balakhonova <balakhonova.e.v@yandex.ru>
+* Sergey Matveev <stargrave@stargrave.org>
--- /dev/null
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ <program> Copyright (C) <year> <name of author>
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
--- /dev/null
+bass@cypherpunks.ru ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH38u+1Ma8u4YBn9cjcWdsRS1unR0+1QuHZRN0lGpnNl
--- /dev/null
+-----BEGIN PGP SIGNATURE-----
+
+iHUEABYKAB0WIQTbL/jtRAp+lJhvt3bSI36ECQhstwUCZmh4kQAKCRDSI36ECQhs
+tybDAQCYg+Ws9fplrak4Gboh41FNxB57+wHqYEXTxRAQB5e8twEAi4am7+H1NS1h
+UethXIJ6KKIIwNx4Gt8B1z+L+UAeYgA=
+=dsSR
+-----END PGP SIGNATURE-----
--- /dev/null
+BASS -- Build Automation Steady System.
+Simple as bass guitar with only a few strings, yet as powerful!
+It includes cross-platform package manager and distributed continuous
+integration system. See doc/ for more information.
+
+BASS is free software: see the file COPYING for copying conditions.
+Home page: http://www.bass.cypherpunks.ru/
--- /dev/null
+#!/usr/bin/env perl
+# copy-paste from from man MIME:Base64
+
+use MIME::Base64 qw(encode_base64);
+
+while (read(STDIN, $buf, 60*57)) {
+ print encode_base64($buf);
+}
--- /dev/null
+#!/usr/bin/env perl
+# Usage: filessize FILE0 [FILE1 ...]
+# Print total size of provided files.
+
+map { @s=stat; $sum += $s[7] } @ARGV;
+print "$sum\n";
--- /dev/null
+#!/bin/sh -e
+
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/..
+. $BASS_ROOT/lib/rc
+
+subj="$@"
+[ -n "$subj" ] || {
+ echo No subject specified >&2
+ exit 1
+}
+
+{
+ cat <<EOF
+From: $NOTIFY_FROM
+To: $NOTIFY_TO
+Subject: $subj
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: base64
+
+EOF
+ $BASS_ROOT/bin/base64
+} | $SENDMAIL $NOTIFY_TO
--- /dev/null
+#!/bin/sh -e
+# Usage: rm-r /path/to/dir [...]
+# Remove the whole directory, if it exists.
+# All read-only contents are forcefully chmod-ed to be writeable.
+
+[ -d "$1" ] || exit 0
+chmod -R +w $@
+exec rm -fr $@
--- /dev/null
+#!/bin/sh -e
+# Usage: cksum "any string" /path/to/file [...]
+# Calculate checksum of provided strings and files. Path to files starts
+# with the slash. Both string and file's content is encoded in netstring
+# format. Series of those netstrings are fed into the hasher.
+
+# Copyright (C) 2024 Sergey Matveev <stargrave@stargrave.org>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, version 3 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../..
+sname="$0" . "$BASS_ROOT"/lib/rc
+
+tmp=$(mktemp)
+trap "rm -f $tmp" HUP PIPE INT QUIT TERM EXIT
+
+while [ $# -ne 0 ] ; do
+ arg="$1"
+ shift
+ case "$arg" in
+ /*)
+ [ -f "$arg" ]
+ printf %d: $("$BASS_ROOT"/bin/filessize "$arg")
+ cat -- "$arg"
+ printf ,
+ ;;
+ *)
+ printf %d:%s, $(printf %s "$arg" | wc -c) "$arg"
+ esac
+done | meta4ra-hash -hashes "$META4RA_HASHES" >$tmp
+read hsh rem <$tmp
+[ -n "$hsh" ]
+perl -MMIME::Base64 \
+ -e 'print MIME::Base64::encode_base64url(pack "H*", "'$hsh'") . "\n";'
--- /dev/null
+#!/bin/sh -e
+# Usage: cp-deref DIR
+# Copies specified DIR, making it writeable.
+
+dir="$1"
+[ -n "$dir" ]
+tmp=$(mktemp -d $dir.XXXXXX)
+cp -a $dir/* $tmp
+chmod -R +w $tmp
+rm $dir
+mv $tmp $dir
--- /dev/null
+#!/bin/sh -e
+# Usage: cd empty/dir ; mk-skelenv
+# Create local/ directory and install "rc-paths" and "stow" skelpkgs.
+
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../..
+sname="$0" . "$BASS_ROOT"/lib/rc
+
+mkdir local
+mkdir local/service
+"$BASS_ROOT"/build/bin/pkg-inst rc-paths stow
--- /dev/null
+#!/bin/sh -e
+# Usage: cd $SKELENV ; pkg-inst $PKG0 [$PKG1 ...]
+# Install specified skelpkgs to skelenv. preinst and postinst hooks are
+# considered. skelbin is always unpacked first, because it may contain
+# preinst hook. Lock is held during each skelpkg installation.
+
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../..
+sname="$0" . "$BASS_ROOT"/lib/rc
+
+[ -d local ] || {
+ echo Must be in the skelenv directory >&2
+ exit 1
+}
+
+for pkg in $@ ; do
+ _base=$(basename -- "$pkg")
+ mkdir -p skelpkgs/$_base
+ [ ! -s skelpkgs/$_base/namenhash ] || continue
+ $SETLOCK skelpkgs/$_base/lock "$BASS_ROOT"/build/lib/pkg-inst $pkg
+done
--- /dev/null
+#!/bin/sh -e
+# Usage: cd $SKELENV ; pkg-rm $PKG
+# Remove specified skelpkg from skelenv. In most cases that is just
+# un-stow-ing of its files. prerm and postrm hooks are considered.
+# Lock is held during each skelpkg removing.
+
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../..
+sname="$0" . "$BASS_ROOT"/lib/rc
+
+[ -d local ] || {
+ echo Must be in the skelenv directory >&2
+ exit 1
+}
+
+for pkg in $@ ; do
+ pkg=$(basename -- "$pkg")
+ [ -s skelpkgs/$pkg/namenhash ] || {
+ echo No $pkg installed >&2
+ continue
+ }
+ $SETLOCK skelpkgs/$pkg/lock "$BASS_ROOT"/build/lib/pkg-rm $pkg
+done
--- /dev/null
+#!/bin/sh -e
+# Copyright (C) 2024 Elena Balakhonova <balakhonova.e.v@yandex.ru>
+
+usage() {
+ echo Usage: $0 skel-from skel-to commit >&2
+ echo Example: $0 some-pkg-{v0.1.0-88-g3e2f127,v0.1.0-93-ge91f2dc} e91f2dc624dcfc0b36fefcaa047a6a47d2ce0bc9 >&2
+ exit 1
+}
+
+src="$1"
+dst="$2"
+commit="$3"
+[ -n "$src" ] || usage
+[ -n "$dst" ] || usage
+[ -n "$commit" ] || usage
+if [ -e skel/$src.do ] ; then
+ git mv skel/$src.do skel/$dst.do
+fi
+if [ -e distfiles/$src.tar.zst.do ] ; then
+ git mv distfiles/$src.tar.zst.do distfiles/$dst.tar.zst.do
+ perl -i -npe "s/^(commit)=.*$/\$1=$commit/" distfiles/$dst.tar.zst.do
+ git add distfiles/$dst.tar.zst.do
+fi
+if [ -e distfiles/$src-modcache.do ] ; then
+ git mv distfiles/$src-modcache.do distfiles/$dst-modcache.do
+ git add distfiles/$dst-modcache.do
+fi
+{
+ find . -name "*.do" -and -not -path "./pkg/*" -exec grep -l "$src" {} +
+ echo distfiles/.gitignore
+} | while read f ; do
+ perl -i -npe "s/$src/$dst/" $f
+ git add $f
+done
--- /dev/null
+/age-v1.1.1-23-g29b68c2-modcache
+/age-v1.1.1-23-g29b68c2.tar.zst
+/age.git
+/angie-1.5.0.tar.gz
+/apr-1.7.4.tar.bz2
+/apr-util-1.6.3.tar.bz2
+/autoconf-2.72.tar.xz
+/automake-1.16.5.tar.xz
+/b3sum-1.5.0.tar.gz
+/bash-5.2.21.tar.gz
+/boost_1_74_0.tar.bz2
+/cairo-1.16.0.tar.xz
+/cmake-3.28.3-SHA-256.txt
+/cmake-3.28.3.tar.gz
+/curl-8.7.1.tar.xz
+/daemontools-encore-1.11.tar.gz
+/dav1d-1.4.2-8-gda2cc78.tar.zst
+/dav1d.git/
+/djvulibre-3.5.28.tar.gz
+/dq-20240101.tar.zst
+/dq.git/
+/expat-2.6.2.tar.xz
+/ffmpeg-7.0.1.tar.xz
+/freetype-2.9.1.tar.bz2
+/gcc-4-compile-with-gcc-5.patch
+/gcc-4.7.4.tar.bz2
+/gcc-8.5.0.tar.xz
+/gdal-2.4.4.tar.gz
+/geos-3.12.1.tar.bz2
+/getopt-1.1.6.tar.gz
+/ghostscript-10.03.1.tar.gz
+/girara-0.4.3-7-gf6d0676.tar.zst
+/girara.git/
+/git-2.45.2.tar.xz
+/glib-2.58.3.tar.xz
+/gm4-1.4.19.tar.xz
+/gmake-4.4.1.tar.gz
+/gmp-4.3.2.tar.bz2
+/gmp-6.3.0.tar.zst
+/gnupg-2.4.5.tar.bz2
+/gnutls-3.7.10.tar.xz
+/go1.17.13.tar.gz
+/go1.20.14.tar.gz
+/go1.22.4.tar.gz
+/go1.4.3.tar.gz
+/gocheese-4.2.0.tar.zst
+/gogost-v5.14.0-modcache
+/golang.org-x-tools-0.18.0-modcache
+/gomodcache/
+/goredo-2.6.2.tar.zst
+/gosha3-v1.0.0-modcache
+/gostls13-debash-1.22.4.tar.zst
+/gostls13.git/
+/gpgme-1.23.2.tar.bz2
+/grep-3.11.tar.xz
+/guix.git/
+/harfbuzz-8.5.0.tar.xz
+/httpd-2.4.59.tar.bz2
+/icu4c-63.tgz
+/icu4c-75.tgz
+/imlib2-1.12.2.tar.xz
+/iniparser-v4.2.2.tar.zst
+/iniparser.git/
+/lame-3.100.tar.gz
+/less-643.tar.gz
+/libassuan-2.5.7.tar.bz2
+/libavif-v1.0.0-535-g7fbc20c.tar.zst
+/libavif.git/
+/libedit-20230828-3.1.tar.gz
+/libevent-2.1.12.tar.gz
+/libgcrypt-1.10.3.tar.bz2
+/libgpg-error-1.49.tar.bz2
+/libiconv-1.17.tar.gz
+/libidn2-2.3.7.tar.gz
+/libjpeg-turbo-1.5.2.tar.gz
+/libjxl-v0.10-snapshot-179-gcdb6a667.tar.zst
+/libjxl/
+/libksba-1.6.6.tar.bz2
+/libogg-1.3.5.tar.xz
+/libopusenc-0.2.1.tar.gz
+/libpng-1.6.43.tar.xz
+/libsndfile-1.0.31.tar.bz2
+/libtap-0.1.0-44-gb53e4ef.tar.zst
+/libtap.git/
+/libtool-2.4.7.tar.xz
+/libvorbis-1.3.7.tar.gz
+/libwebp-1.4.0.tar.gz
+/libxml2-2.9.14.tar.xz
+/lzip-1.24.tar.gz
+/mapnik-v3.1.0.tar.bz2
+/meson-0.56.0.tar.gz
+/meson-0.61.0.tar.gz
+/meta4ra-0.9.0.tar.zst
+/MIME-Base32-1.303.tar.gz
+/mod_tile-v0.7.0-58-gc3453bc.tar.zst
+/mod_tile.git/
+/mpc-0.8.2.tar.gz
+/mpc-1.3.1.tar.gz
+/mpfr-2.4.2.tar.xz
+/mpfr-4.2.1.tar.xz
+/mupdf-1.24.0-170-g05063f228.tar.zst
+/mupdf/
+/nasm-2.16.01.tar.xz
+/ncurses-6.4.tar.gz
+/nettle-3.9.1.tar.gz
+/ninja-v1.12.1.tar.zst
+/ninja.git/
+/npth-1.7.tar.bz2
+/nsxiv-v32-11-g420a0a2.tar.zst
+/nsxiv.git
+/openssl-1.1.1w.tar.gz
+/opus-1.5.2.tar.gz
+/opus-tools-0.2.tar.gz
+/opusfile-0.12.tar.gz
+/parallel-20240122.tar.bz2
+/pcre2-10.44.tar.bz2
+/perl-5.32.1.tar.xz
+/pinentry-1.3.0.tar.bz2
+/pixman-0.40.0.tar.gz
+/pkgconf-2.1.1.tar.xz
+/postgis-2.5.9.tar.gz
+/postgresql-11.22.tar.bz2
+/predownloaded/
+/proj-4.9.3.tar.gz
+/Python-3.10.13.tar.xz
+/Python-3.7.3.tar.xz
+/recoll-1.37.0.tar.gz
+/recutils-1.9.tar.gz
+/remind-05.00.01.tar.gz
+/sharness-1.2.0.tar.gz
+/sox-14.4.2.tar.bz2
+/sqlite-src-3450100.zip
+/stow-2.3.1.tar.bz2
+/supercat-0.5.8.tar.gz
+/svt-av1-v2.1.0-12-gfcf56491.tar.zst
+/svt-av1.git/
+/tcl8.6.14.tar.gz
+/texinfo-7.1.tar.xz
+/tmux-3.3.tar.gz
+/ucspi-tcp-0.88-ipv6.diff20.bz2
+/ucspi-tcp-0.88.tar.gz
+/vorbis-tools-1.4.2.tar.gz
+/wavpack-5.7.0.tar.xz
+/xapian-core-1.4.25.tar.xz
+/xmlto-0.0.26.tar.bz2
+/xxhash-v0.8.2.tar.gz
+/zathura-0.5.2.tar.xz
+/zathura-cb-0.1.10.tar.xz
+/zathura-djvu-0.2.9.tar.xz
+/zathura-pdf-mupdf-0.4.3.tar.xz
+/zsh-5.9.tar.xz
+/zstd-1.5.5.tar.gz
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="MIME-Base32-1.303.tar.gz">
+ <hash type="blake3-256">15b87a9a7267468c5183aff5817f8758043c676496c152caaec05ac0ea3c7ec2</hash>
+ <hash type="blake2b-512">d9dad50d7474a42741f7a61fad4a7b30c4acb72eb80684e24c45d0478480cfe936d6b87ab37b735ff2065afeb0b5457cc50130187264fcb6addefa8e8cb8d934</hash>
+ <hash type="blake2b-256">0b9b5f43fe88b5b2432dfe047dd51c6ab8e63c1030e0fc00aebb3766af087f46</hash>
+ <hash type="skein-512">6f27d8500be25ea7ac8e295b41c119621a7854fa1d408219319d20a06836b87fc3f04916831805f7baf13655e2a1a577b611107088b17683871a28ae54645a96</hash>
+ <hash type="shake128">83427139dcd19fb0cdf72dda851ed6e7aa465df15b53baf03d86c93515dd80d9</hash>
+ <hash type="shake256">ff90440ec613368085b522a0c6f43d1d6b72b7bedbf66b33b74931fb219fb6e4ae88f720d87533331b96cd2c6d78d773f9491548e9b17a8011de94f459038fbb</hash>
+ <hash type="sha-512">48c2541d08976fba154816d4f803cc20d8d51f8a7e4084cd85e23f7559868611adcce133f7dd8728cb21bbec67c325a99e68e36149b4ae3bfae97a6e57f4b806</hash>
+ <hash type="sha-256">ab21fa99130e33a0aff6cdb596f647e5e565d207d634ba2ef06bdbef50424e99</hash>
+ <hash type="streebog-512">08d71e8600f23aed8ef631dd3c45d4f2d0da2cfff1a274d372b81258b8a70b4d7a39acc37c4db591bae7d3ded472f7dcd93c04482bb22fbb3ee107491a0a7d45</hash>
+ <hash type="streebog-256">3c43e717ff6b9e131dd86a5a20a3b236496f25833e4a838d92f30e73103e5391</hash>
+ <hash type="xxh3-128">205ab0e035c12e25643c3d7a91130c76</hash>
+ <size>14121</size>
+ <url>https://cpan.metacpan.org/modules/by-module/MIME/MIME-Base32-1.303.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="Python-3.10.13.tar.xz">
+ <hash type="blake3-256">a5fb4358cc1348230d54834dd2258fad7b3854f1ebf1603f5008fb2bb675b615</hash>
+ <hash type="blake2b-512">d9a8edf89d0ccd665fd5ed444a144af240e078fcab1876fea8b44586c23651a08cf5833fc54c39e8471fd9e66ea0ded11fcaa5d215bc025acaf4504a15c5846d</hash>
+ <hash type="blake2b-256">003724c32452dec991726a3a4778914298026ac038f43596b576db33440b10b5</hash>
+ <hash type="skein-512">d0c75982e70af016431ac4dad3157bd553ccdcccb3aa6c655abea8d5b51a728b0d2ad02b00ce1e3af5bb0abe829aa21ca47c11175be9b44254c7a61ae9f38f0b</hash>
+ <hash type="shake128">891dd4aa983ffa9df958424648d943af572c6baa782859b09443324d153fb1d9</hash>
+ <hash type="shake256">df6bb47fd04c689a9de29f0cc93f0985cf86a479f4a430ded399220d5891ca2ef23046b1ecae1cd07ce3a940ca8405d679514f58bc9a3bb76a9d988fc16c9968</hash>
+ <hash type="sha-512">7579772e501486b2b07f78142082dee1e99c7643640098860ac0cf2ca87daf7588b0c00b1db1960146b37f56a6ed98fd08297c25c9a19b612cf6e6a258984da8</hash>
+ <hash type="sha-256">5c88848668640d3e152b35b4536ef1c23b2ca4bd2c957ef1ecbb053f571dd3f6</hash>
+ <hash type="streebog-512">f0c7c3dd4de19afd61d5b83779c5f036186db3c1e35f5a1388e56d2c834187d20a90bbbe4c19e9d14b36cbdcabc5ebb796f547a4c6c2e8a653d80374164794fe</hash>
+ <hash type="streebog-256">9bd3574ce1d3079497f49ac4b38e9175af26329e92b3d659ea3a01ee178affd5</hash>
+ <hash type="xxh3-128">c6bf9e2f68d592ea1636852be3ee0ad2</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCAAdFiEEz9yiRbEEPPKl+Xhl/+h0BBaL2EcFAmTnVFIACgkQ/+h0BBaL
+2EfANRAAng1gGOlrpC5O6dU3w37Ubbp4nqRxCgLO3jcOipafkq4PdQN0VrP8Gvbx
+NGn+ELdAiBasVkgx3aZcDKCSHQT9PkMOGjNKKcv6NamMTnwp5IeVEY+uXSITxOoQ
+VmLRKdnNO9PYkSfh0bB51p5+HtnbFabs6lY6NEwSg9J2ooNCChgaVEEjGJalLkKn
+aCy+G9prd4KUXMonm8fqk3kj79qcEdj97CdOdEpE0EvH5oNNfKRwkD8j4nztE5mM
+GeymPb9g9gY+u2Ph5bPkkNHSwgO/NVgCrAxcdJC4/tabiWBFZtmLEcEUvMmMVDdM
+VAV40PHlIevzY2wm2PIZYKqqVpvyfjk3SRSfqJe7BiOMfifXpG1rYD+pB823U20c
+Xzi9Z1p39406XbgOI9EE4dVWSI03kyEcnOth8pv/aYoIlSGnfH7ngST0OGoBMUZ4
+LwwOiBBgqoRJoYKERmbQ+r4hFJTkdFgFZHu9YkT5L+TwCRbVYGK6bptZGCveVn92
+j4t8gOpR+m27Sc3YWxEqp3dW3u3GWEPqtK2MDdbj3omZ00vb+Ukdq3CLLNoxP/KC
+PvJsxe2coMYz0R9SbSrKujJeYeb/6P8P5QxzcqiVfWtZRc9SJ+aianaTgfcag08R
+9XDTiL4thCq5uaKsYaLECaPDKMF/skQrqbbLShf5rvcvDJO783s=
+=UP6h
+-----END PGP SIGNATURE-----
+]]></signature>
+ <size>19663088</size>
+ <url>https://www.python.org/ftp/python/3.10.13/Python-3.10.13.tar.xz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="Python-3.7.3.tar.xz">
+ <hash type="blake3-256">5688e83a32642e0e202a7f8b9c4661eccd1a7605d430a71151bf1e01584441d0</hash>
+ <hash type="blake2b-512">ac86ea442519a02f0afcb0d0ec70cb288ae28df63fc9f575ee4d8e03e6e31aff9ad2ff18ff5787d922727bd1c6f1a488f94541cd9787ac932d041c93847dea34</hash>
+ <hash type="blake2b-256">87f96d6fadff835f9e41eede47ba5aeb22205ed5e038a5fcf74c3ca4d2ed56e7</hash>
+ <hash type="skein-512">fdefefcac3c2193d5f367dc618175fbd99f32059d161410ed091c9fb500042b95c1f637f1aaa6bad77cba785138e076fbf4b24b39a9925608942c4784577bd16</hash>
+ <hash type="shake128">b6078eca4293128c59d01eb747ebec279aaa80c3c5530c72cf3e5a7019461cf7</hash>
+ <hash type="shake256">c3df5e24cf84b01a155002b87b7b254df06893205c71b6f784b54f91a7af346b1a22ca780a2f2d1c2607cb09dc569cc401027ff96a7e0bc27529c9d9f3720977</hash>
+ <hash type="sha-512">6d9b7c0f1764e0f655a39430a3af6f7b5e3c9b7166c042e780677a54b17ad4ca6d0d9cba262c82b1b70bba8f7c28883dad4cc0d7cc194fc7d2c1b5f4f08a763a</hash>
+ <hash type="sha-256">da60b54064d4cfcd9c26576f6df2690e62085123826cff2e667e72a91952d318</hash>
+ <hash type="streebog-512">d848e96e96f385d2fa63cc8e0b099c14a3100291a8096c9fae72c147cd47fb0b42db8880bebbaa2db4f29f4b89a5709f44d135887260d3ff33c65ed97fee8ac1</hash>
+ <hash type="streebog-256">40651e400ed6239bd7bfbaee4c18e92356559033914f4b4d268128f6003486d7</hash>
+ <hash type="xxh3-128">4de794cad1de5f8d8c11cf4c06b637d9</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEEDZbfTUEQ5cQ/v7F/LTR+pqplQh0FAlyZQXsACgkQLTR+pqpl
+Qh1F0xAA68DhqFK3DHyDF62Avqk5zen8F0TItjs3SZc2jmV4ojLc6RiDetUqA3DF
+eSrTqjb/IJOSAGoZmdGLFZbdXH9rgLPkFi5mJGF7qaMr4TUctPtE1jDYV+6wFDEZ
+BgOKo7NEd8f6fmjYS+n5AF/HmtX6dRH1I/oICkvv0yhz9+CoYVACrl3VxyhH4TMa
+r3cTLmYjEIpx0+9lQ8EaP99CupHlepbhVqcScAwFEN0KKc0wy/pkIkZBPT6oC12g
+a+AVI9G/RsS536ZpyQAhpemknLXdhdscryyvCV0oSd2kvy2iNsrLhBQ9KN2rVwKl
+9sJohoropYX/2MzfiUt8ohFTXRMY9ZnxANj8eQtu2anlOlY05XLY12kfJ9qdxdop
+iAEKEYIkVBgjTBzfT1I1IgwCcDbumEMreEdR1xpeU3HWD3Yy9swQ0X+G6pNJTIpj
+YsTbhw4VdC6w7Xvv+LgoMwoYSp8Z4qtkE4Pvb7Bq6U8zDbae83IaKRIZJ1FfX6o4
+RZHuXi6lsmyUQwexB4qOdw+CQL6n003rT8ubzjATHpZOvQIruBaSyWXzJewUizYg
+zkbo94VpmCEjGY5wkPmQoqHKXXS4uLWGiCapSbQSmMZ1GwMxUREjQ4ZvIn3juv7v
+lgJUw+K0IKhr4vIFHigBRSP5wruPvdl5DWyKnOkpuja7QMgdiKQ=
+=Z97U
+-----END PGP SIGNATURE-----
+]]></signature>
+ <size>17108364</size>
+ <url>https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tar.xz</url>
+ </file>
+</metalink>
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+redo-ifchange \
+ ${NAME%-modcache}.tar.zst \
+ "$BASS_ROOT"/build/lib/zip-hash/zip-hash
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+$TAR xf "$DISTFILES"/${NAME%-modcache}.tar.zst
+cd ${NAME%-modcache}
+GOPROXY=direct go mod download
+while read mod hsh ; do
+ [ "$("$BASS_ROOT"/build/lib/zip-hash/zip-hash "$GOMODCACHE"/cache/download/$mod.zip)" = "$hsh" ]
+done <<EOF
+c2sp.org/!c!c!t!v/age/@v/v0.0.0-20221230231406-5ea85644bd03 h1:0e2QjhWG02SgzlUOvNYaFraf04OBsUPOLxf+K+Ae/yM=
+filippo.io/edwards25519/@v/v1.0.0 h1:0wAIcmJUqRdI8IJ/3eGi5/HwXZWPujYXXlkrQogz0Ek=
+github.com/!filo!sottile/go-internal/@v/v1.8.2-0.20230806172430-94b0f0dc0b1e h1:1pkMKBSmMMOXQT5lFTmciWn86GGymBssr1bOOOoo2GI=
+golang.org/x/crypto/@v/v0.4.0 h1:UVQgzMY87xqpKNgb+kDsll2Igd33HszWHFLmpaRMq/8=
+golang.org/x/sys/@v/v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM=
+golang.org/x/term/@v/v0.3.0 h1:qoo4akIqOcDME5bhc/NgxUdovd6BSS2uMsVjB56q1xI=
+golang.org/x/tools/@v/v0.1.12 h1:VveCTK38A2rkS8ZqFY25HIDFscX5X9OoEhJd3quQmXU=
+EOF
+touch "$DISTFILES"/$3
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+[ -d age.git ] || git clone --depth 1 --bare https://github.com/FiloSottile/age.git >&2
+cd age.git
+commit=29b68c20fc241bf2e11bdd3e59b4368fe689e12a
+git fetch origin $commit >&2
+git archive --prefix=${1%.tar.zst}/ $commit | $COMPRESSOR
--- /dev/null
+./list | xargs redo-ifchange
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="angie-1.5.0.tar.gz">
+ <hash type="blake3-256">30aefde8ec9bed80d74276e69f69f3c8a7e9bee1751388b329f599eb34490d15</hash>
+ <hash type="blake2b-512">927ff4b01f1ee432e058a5d8f65b604b122a94e257df8b673dc4c94612a7c045ad49703b4f8b2b8daeb8262a560b1d5465d33c7f9c884b3901f53c40c8d7f579</hash>
+ <hash type="blake2b-256">05ad51dcbd17fa0926603210f36a87a532d6992acb30babe1ef8cd69aa706d29</hash>
+ <hash type="skein-512">f3ca80206f210d20aa0494cc8ddcb4a2f7c19313768b7c7a565b557d07cd22631a83ec0b49e1ca106b3d2fe71f98689a7c639ce2f89563371d230ce8298907c1</hash>
+ <hash type="shake128">c54516d19d980a0e02af879b14c2a700c61a96c65f98fdd8d12b7f0fbd4dbb54</hash>
+ <hash type="shake256">7a8a472b7cabd6edced482079e5bdf7cca85cebd0c3aef9d886891a06b7a25e72bb8b4fcc9090f7770f056c4e6bb41eb160eb0220b479539d8c2f93fce20590f</hash>
+ <hash type="sha-512">23ae9fdbdaa458682e544d0411d25959bb936bc814e37c48c3b9632049d277b73f523e1f9d30c32e23f77681ee16f4056c1820ad51ea0a1d5e81b6bda2603c84</hash>
+ <hash type="sha-256">a2fb3d24c3a0b0f09db31df34c8a8e50fbf74b51c848a7b4acbea629a01c82a9</hash>
+ <hash type="streebog-512">380c69cf307fcd2c45ab61a3c11f491d9df21f73a1f06d7dd00a17c2b35d14b4dc5d6e02f12c9ed6775ed9690363af8bcf2203c72dc6e11348274f73f1a0007d</hash>
+ <hash type="streebog-256">778b09aa5a23732b735ed227f7e2d8480d962b841a13c417e06d243a6e86851b</hash>
+ <hash type="xxh3-128">e2b6e976ba3045e385f60c6b7c0ec06a</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCAAdFiEE646vPU7xsezzSGWiYXq5eMuEmnYFAmYD1nwACgkQYXq5eMuE
+mnaSUhAAsjGGSZMHh89/P7Dv8IJvjeQqsD7Zd8ZtN0Z63yIdQwqT+NPcTXc3ep2A
+GoroZogKI076BJ6gMsnY7VSsog8SP10Kx2jW+idsCOcCAII5jeusMAKEPVVmhC8t
+ByFLzYm6AbJQ6FGVxjpBdKlKCjbw5yeQgGc2d2pvqiuXOIvILK49AUz8s1P9ncVb
+6SZxhExRlse6EXsvMKSafGPC4WTs++MksY3FB+vbWD7bk/bBWXmoSHR5OCdxwPt8
+Z69vjzYRR9HvYl8YW/pOWVpSnW8mph9LYR1u0AqU8wyRKOhHo/aamu9EGhV8F5By
+DfmtUAWg7P6Sj00ZeF5oB0H9S0FllEzQ4QefKzCvaF6mFLDnmawhoJlyyqaPVfWA
+zGSnImL5Ob4DU1ed+nj6rqaMEUMJ0FNX9sB5qPdsK8MBEkWrgknRUCvl8qBAY4R4
+c3DI2S60xINtNe6DwK7Gb3JFzJdwatX9SRm4Z0v2jwvAdcJ60+n1/ubszaZzzJrX
+URjsrmdl0T9DGRR7O5j2zbr5WdKjS3v5hpBiBmegOb+IiEOQJktmGI9fe/+npJT2
+NBQ4g+6nDBUD+aUKVZ6lOAhequ9ryv/u7je40xCLLvcDAc7i103cwGEyTloa3ava
+LvNXHX0vDs8ySmqeScxxALKOu202ObaR1XNnfQDHOjPxn/qmWFI=
+=GPNK
+-----END PGP SIGNATURE-----
+]]></signature>
+ <size>1579864</size>
+ <url>https://download.angie.software/files/angie-1.5.0.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="apr-1.7.4.tar.bz2">
+ <hash type="blake3-256">91687a9f264c8806490c82bd4fa0f5cd31d4e9e6cff1878ce2a4599b70ea2ec7</hash>
+ <hash type="blake2b-512">a93b9d3f2c46fe0a34ce1d544e7a43ba40720e2fae8b8a7d0957413ac695057902378dbf96f067ced7486da86c8e513b7fbd48fa79839efeeb40a3295fe2d3df</hash>
+ <hash type="blake2b-256">b12da16c5748f665182ce9ae54791ce850c7aca0ad94f389d7787aa570bdafa0</hash>
+ <hash type="skein-512">873261a5ab60d091147e9a6b20718cc9563b079acd3e965e85f0bad9aaeab635ab7d46f1b94b3b99a53a8a9628f27a02f8f77631f9ca42ef210e0dc80610503d</hash>
+ <hash type="shake128">70e6c0791038e236025fa6073c1aa6c6b549bd04fd6103159889926a68e66cfc</hash>
+ <hash type="shake256">0a02d85058d8c4ae636ef0b537378b64ead06991e347c172d0ceba0c1ec289cb1c636cf2c6e730bb107358911c7746ff27e16f37dae14d12e23120ab54acaaca</hash>
+ <hash type="sha-512">2342c997765ea2ca96eac158e5fd260232dba68fc41b90a79a7ba9b25c539fc217981867362090e0ebebe632289257c342275e3c5baedb698c474ef8f49a9dcd</hash>
+ <hash type="sha-256">fc648de983f3a2a6c9e78dea1f180639bd2fad6c06d556d4367a701fe5c35577</hash>
+ <hash type="streebog-512">5d92a6efa9783b81bbdfce29f36785da27483703cd9bd876bfa6b622a27829fb6516083305dd16b306c2fc8303e36cebfcf3e20253f60d69bf1574b0b00a26cd</hash>
+ <hash type="streebog-256">0647ddc9e5da247adf29c1bd4a1fe7df825f786ad99ec58fa039f1d71798589e</hash>
+ <hash type="xxh3-128">78b9244309ac6250651063fb3be96b92</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP SIGNATURE-----
+
+iQJHBAABCgAxFiEEZbLUT+dL1ePeOsPwgngd5G1ZVPoFAmQ3ZCsTHGNvdmVuZXJA
+YXBhY2hlLm9yZwAKCRCCeB3kbVlU+mb9D/9Wl1CGZ/biEYEyLPAq3Ik0DrGvSQ49
+5wfaBCABRDBD2otD9YSuNrV+RZYkYys6xdPdGrQxUDkv5mh0hLZRvSK/Uf7eD9sD
+sDZ5ZSj6+KWvpww8+QWiYOFZLKFqcdt7/g8CWZYy+h2wkAB3jSeOW6kmum2MNowI
+8fE9ESMHwaR1nSNo+q7fTg4CyGtObEbDOcWdKwDW1Ib68Z2nj3zSz4i+rpZQZmCF
+FvPvQIYcM/TDFhitsJwc8f11NJhtZybmAnmH1kl8Ncy8WScuj08nltEpvBdPgw8V
+DG7tPrHNfbQnB3FUeBMlT8L1D6gGD7FZgynWmG49yc7V1Ll0JyW701mXsRcRCg6E
+6xMBTeAek/QQthguAmpCsRMiLrPPMiCLs8B9vlnMWQEqYG0ng9ehzXVAWz4ix5K+
+hWmVa95MHpxcoZ5joJL7G1AiVFjRuBJxyBA36qnYzleQWhtvmIW2Onf7QaknlXoC
+3ABOa6OCs8DTMynoPlLJKsPACNrOQX79rIg4xfr0jSueDJnBnfF1CVSJES7+75n8
+dt0kMm5Y718a44Vji9MtJrOXGDk9FhR8J3j++AE0vlYVpOGh5CXr2Ow0eldmaKWu
+bgtlUdB7ai3kLjtBNUBjWiz7mniDiSPSp6eskVlbmTnOkkqqXXJMyQjJ+XIGdXQJ
+8aDQ7ocCun+qhA==
+=eV/3
+-----END PGP SIGNATURE-----
+]]></signature>
+ <size>894526</size>
+ <url>https://dlcdn.apache.org//apr/apr-1.7.4.tar.bz2</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="apr-util-1.6.3.tar.bz2">
+ <hash type="blake3-256">149e34b61d5bb8a361f878913c0d0b2e0cabe421169671b102144733b266d1ab</hash>
+ <hash type="blake2b-512">5eb56c45ba9d87ff3e3769439a3a9a858a1947de68b34892c729f39736fc41117a41c630c3c4cfb07b444c4ee0d5853ec5be158e8fa0b0c0ab89f0cb51cc9c6d</hash>
+ <hash type="blake2b-256">b08a2555ba4c6e1c0c8e332950253e759b7c147bdc1a7a717f9b8bc70f218a30</hash>
+ <hash type="skein-512">c16b978b5198cfbbd98e64a47a9ac9234ddfe4bad66a648022ea370e011557c316daaf1b0c752a362983b8f92e3277ab23abcc514604b76002c5a46ce868e884</hash>
+ <hash type="shake128">42a4cbaf4e137eddbb6dced0ee44c42a5330afd4ac9fb9a21ee40970f5f23690</hash>
+ <hash type="shake256">5d50021b2f8fdda31604ca358616304c9883269a2b9bb8793e29a3f79d24d7970b86ec698a046e61ad71cf6cea11845f962c152bc1fde478abde5559ede39b74</hash>
+ <hash type="sha-512">8050a481eeda7532ef3751dbd8a5aa6c48354d52904a856ef9709484f4b0cc2e022661c49ddf55ec58253db22708ee0607dfa7705d9270e8fee117ae4f06a0fe</hash>
+ <hash type="sha-256">a41076e3710746326c3945042994ad9a4fcac0ce0277dd8fea076fec3c9772b5</hash>
+ <hash type="streebog-512">3bd89404d20d75fa3131aa5e488e2e1310d5198d60ad869a479e48dc1b8a42f795385014dce9e8cde059a0f5e44749b4a0091e7d5d5fd15bd273e505f4b68f6b</hash>
+ <hash type="streebog-256">a436745ad6067ce82adc1e738f3e71297c2f5b34755f32f82124e84ec7d9cdcf</hash>
+ <hash type="xxh3-128">9fa16f87519adca0e86bda948d12f872</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEEZbLUT+dL1ePeOsPwgngd5G1ZVPoFAmPZgNEACgkQgngd5G1Z
+VPoWlg/7BEhcx9ibgzASizXZ/nethFK/euqwfvayOHQyin5Ww5EntJHrKYLrru8C
+vLxzDhXXICf2WhdVDiwcf8OkKpqB8wiV1CFr7DrTNQEjaTA9DlteWGYEeko4hQAE
+Krdg0tjKlm0n3fbZacavZEzPT5O0XPA9zSrtjTTFDv08WXPiTlCRWgX18E/6iPKm
+8qeJI7BdLgCd+rILNcBflgRWJpBFLJhvL8xG+WcV9+Bko2tRwdGDl2ekQWm9FUd9
+M6cPoduEVWj/tValArTRWqLbo3XtnDv10ShUCDYoqgQ22JAnGBXnOrPHfKqMql55
+ZNzuZswd9BljRP5cAtHgpPJZLMHjh4hZm0FNm4VYBZ7rattwJYMqU7DcLMT5Q1Ha
+8/umVcbufyHwpiQlDvNRbw3uqFicGEjF3FHlzWgMphxXuuUpoUPLh3MxiiJSdT3K
+f49zVeFmpo4/798LTNSCEsfCgzj7UI8HngUbQbNcnNSIglk1inKceEQl9UELLicq
+Hfx/pOcknyUpAy6om4L5lcWLu9vHl9DfMS6SxFZ09K6jdA6XKLiA/D6dkSPCjxXg
+t4kdHnJO7CBsd5gI5HLUDeofHG3GR+uUuS4u4tjFChK0vxoTGAJuC4hPzfSkplZm
+bnwlIzWwuRosUH81njSsc+33l+mdD5iaKaZLvllc9ofCMoGeJxo=
+=tS1o
+-----END PGP SIGNATURE-----
+]]></signature>
+ <size>432692</size>
+ <url>https://dlcdn.apache.org//apr/apr-util-1.6.3.tar.bz2</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="autoconf-2.72.tar.xz">
+ <hash type="blake3-256">a0f8672491f12c2dc9bf5ddfdb9fe241f6583b2df5247a6940f70f16e4832972</hash>
+ <hash type="blake2b-512">01caeced9e53d8bd39fb0cf4929322f0d463971b0a96368aa55892026897a9e98c2ca84a77db1b3c6c4483aea54b96da16a7bc00b7ac15e23c6b0471438012db</hash>
+ <hash type="blake2b-256">a2e781a9f58f4492cba78589ccc6a56cdb4e5280679c0df595ff13af2bdcf539</hash>
+ <hash type="skein-512">26271dd68a8607b50a5dc168d318b51f8113f0322100bf944bf810b89ab84f1a0a90ad5a753e6fe2892e62b604ffbc5bc1537104186be7685c011cd6ce980ccd</hash>
+ <hash type="shake128">a78dd12ff12d4470618a88ecc94a9bb94da523798d413cea32b69042c82326e2</hash>
+ <hash type="shake256">32818af456baa1e8dd2069e84a88ce9513bc263f433ddae95e0678105502f2cd454a5f1983e674321acc981410618b8b9c57d647fc95a03cfdefbc52b082a713</hash>
+ <hash type="sha-512">c4e9fbd858666d3e5c3b4fe7f89aa3e8e3a0a00dc7e166f8147d937d911b77ba3ac6a016f9d223ccdd830bc8960b3e60397c0607cc6a1fd2c50c7492839ddd17</hash>
+ <hash type="sha-256">ba885c1319578d6c94d46e9b0dceb4014caafe2490e437a0dbca3f270a223f5a</hash>
+ <hash type="streebog-512">57318741caf06e4bc07ce50c5b266565641f2f5eab98b7a0648e84de9048817e5995faacdca2c597f13d88af0705569f34071965a8ad873867bcacdba4d83ebf</hash>
+ <hash type="streebog-256">52231a326ab17c79defe39e3d2c6b837b0c64d0c6d99a69f3d9fc47db46fc61d</hash>
+ <hash type="xxh3-128">df046d1eedab5855c7d7c19a763b0172</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCAAdFiEEgvhU885zF0uLYxdAkfzDK2dpqmQFAmWF39EACgkQkfzDK2dp
+qmRSsQ//aJeoMyBhRHJxL42L3TGh/eDKHdXXdKRthaKcqMIMCUBqbSWFZy8FKSmN
+U1FMpHp45EzLeurZtfQo3673bfYB1EUz/KOZSGFOJO6sPTLQ95Utkbmf0i+pGevp
+xCGiDz1E3smTV41TD98rrF6t/GYUI+zTFh2NfkE1zbInQlFpNeXPvFOlmd7IJBAY
+rSmqpHeCM7JB3MRZuwij9X6A293RGIzWcHbqY2BVRjWAe7osm/RXvm1yHokPAtdP
+Y6o8wcImYtBItDAa9nDVkEP5fSOfB67ojtZnuz3Kk8k5nRRkFy/kEy3Y+zlfcQiO
+nH8NtyGlrpMRwi9aQgD/m0b39N4Jc+Pbo4WU/ap8J2bjul6yduhAp6HkCW9iZX2z
+xL0cuvMBjyonWRUEt53nhBjJ7YANhLTI0A4Lh4PgvRq6Y5/4Br/wrEitI9wtKJbR
+LjtUYAY0CPNt8oHUQ29OBKdhO4lfi4KKYe3m4Q74v0xScQlVBNF0lLKddIgT4NyB
+4QhwG7spGCvGD79NfQHKKeVSyWckNv+0GSSPKEMgBu1z1G2EnYPixJzrlo5w2mHm
+LTCdj/ol7eiO2PZHQ9LRq+U9fYql4VBSCiBOLucOd5aciOaYwTQg+nvOPv+RWfSC
+MXlf1nypXonF/xFaVfDkKrpDrA9Aft+bjgerWn+7mvj2FRIimu4=
+=y9ft
+-----END PGP SIGNATURE-----
+]]></signature>
+ <size>1389680</size>
+ <url>https://ftpmirror.gnu.org/autoconf/autoconf-2.72.tar.xz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="automake-1.16.5.tar.xz">
+ <hash type="blake3-256">f42cfc333aaaa11f2bcb05b5b0273b8706c820c22f9ba4367f7eb920551695cd</hash>
+ <hash type="blake2b-512">87408abc57e1d4317a2b518fb3606d0f6d156522e7333016dd84747cd8922f27ef7fcc93220b11f794ce52bf8fd9a788d0166a4d1964d7c283905f269977ac7c</hash>
+ <hash type="blake2b-256">b7700108c0ef11eb25d9047d11f45c429135b1d9dc64c3e0c188a207a71c7f69</hash>
+ <hash type="skein-512">2952f61b1675f2ce7e6b25e3f2b1d0d20a7a3531d5a2a6570f7a4745e5a570a7f1b6e0d79f10334d5c47bb90fe1fb72db519a82f85dc753442657d43300a6127</hash>
+ <hash type="shake128">3ecd2475449b4791dd350fb005654787473f4826304a7fe612e86a1a81dc9c8c</hash>
+ <hash type="shake256">3c39bf640c50153df8d561a35a590bd65ebb7a141a8b911933fd16f7dfafd86e2b0eac587b77c99f045e97ddb4a345a778c506ed05451e1887d818421b9e920c</hash>
+ <hash type="sha-512">3084ae543aa3fb5a05104ffb2e66cfa9a53080f2343c44809707fd648516869511500dba50dae67ff10f92a1bf3b5a92b2a0fa01cda30adb69b9da03994d9d88</hash>
+ <hash type="sha-256">f01d58cd6d9d77fbdca9eb4bbd5ead1988228fdb73d6f7a201f5f8d6b118b469</hash>
+ <hash type="streebog-512">c43e0904ff2333b1e8509d73792cdd2299981649308e914086f570b33d1d7763e6949cf80dd124c897fbde7dd482915fd8bcb2ae0bd5a7f934cf6735d732c667</hash>
+ <hash type="streebog-256">e88e0b323863602b24e4c4280a66c201268ca89441f158418d448834e5350a2c</hash>
+ <hash type="xxh3-128">7445e39710b76748dbcaabc4ae028870</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEEFV0/xQDINEhtHupnf9n8ywAL7u4FAmFac7IACgkQf9n8ywAL
+7u7TGw/8CdJWZAdWeg8tqnthdtz4BIVr0JcqWWtv7eyYc0G66u9OaAUnGGlRLh+V
+Uhign3A/HsJQkwUqEw7V1N/RBT8HtB1eDXu3H/E4XPZE7nuxlmBfy2gO4TLUmWRd
+SSS8L/AEy0kWcYOGUJuk9xS+sAeDMPor2erHxx/Yo6S9tLyNpPK/rPas5Q/ZqAJf
+EI9vMtaw9qedW16LkOqvrQ8U6VHOWgSS0xRgUNj8u2yG2TpNqEbyqS94fiNFtoQx
+5BWzhXcunDV85LzGuqYiBkmDBLd2Ldr1WhCHh7iA/LoD8xqoLnvLQfcb8cwpHpKx
+PIqGgSIcaRwcbf4dQwNWPV5d3NXyU1vE9FzooVrhyjv6uWwT4SK2jYHaNUlP34fX
+RtpkAk+G79HLJCZyWjjLhVAlTxoMH+4RnzMjbzotpZp80WhQW0/mM23Hl14uEpuf
+bGNiFBHx8JEbb4vCQZrudRDMPA76GTYaZRMsRIDmta7g/JURf6roOKDOWs4gPMM5
+JspOopPPyvUDt5jQRkOj1Q/nyAsrF5lCuC3RrkgQwBb4ZQ9cyLTPC5dHirV/DI4a
+erM+mfDiH4coTaZ/ML4jtUvVXJreioMEMoW6KJvo09X09bEhv/0JUa/jmo9N+hoc
+9T848ej8oGIswE5gG/qFVRA2I/as7oQcCEqRILf0sH0RYm5HEdk=
+=lQXz
+-----END PGP SIGNATURE-----
+]]></signature>
+ <size>1601740</size>
+ <url>https://ftpmirror.gnu.org/automake/automake-1.16.5.tar.xz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="b3sum-1.5.0.tar.gz">
+ <hash type="blake3-256">86450f3209815a43b4c9dfb0019e31a5a57201c6f25e36488885435ff1c104a0</hash>
+ <hash type="blake2b-512">374ded3103f95d7600c6ee0e1af223f6011672a0c7da6c8c24750fda0eecbf9b2ab78f88a471d9eb55935266a1133821d4d65ae34fd96b550e47021c32d78bea</hash>
+ <hash type="blake2b-256">c9ac826d357d8e808b01446c17067f90015870048f136c6bd8e105fd4d98984a</hash>
+ <hash type="skein-512">471a12c64edba1309ad5fd3e161ffc98ceedae68ad72e62c081ca93b7be54f128d458a929ef64ba52f46094387e3c0a38bba40080d20e9a03a0d5bb2718b0df5</hash>
+ <hash type="shake128">147e305905126092dce200abb1d293e16d3c43af773104e597b2476ec677304b</hash>
+ <hash type="shake256">2a5efc12d009e2aeb6c95d2c279a2578241a8aadfc87d59f6913f93614c8da7394509cc708127e14ac6082f2b9ad6c23b6b45253b05dec7fda6f503e4473ce7c</hash>
+ <hash type="sha-512">00aa4121539ef49fb2014a3c6b08feaa1f1e8973c339a0dcf7c91eaccfd6c470ead73adbd29490cb8644691a83f989d33891e4b0e67493ceec2ef6c94ee74856</hash>
+ <hash type="sha-256">cd57cc5058b46a0e2504fde2c0502c50ef9b3183236046089b0e791853d29901</hash>
+ <hash type="streebog-512">63c8a6f38c64f562e0e777cfb957883febc0c38e7cddfda65833f5f4b84b6b466bc0c9db212a1ecacd24be5f5ea52eb94bf795a6c9e29298fdb99fd018eb65ab</hash>
+ <hash type="streebog-256">47de94382baa5cada2629c8158345ae66c8ba7c15bb3a9ef47094d48e49d48b4</hash>
+ <hash type="xxh3-128">395de69e9538139a482b023c3f1563e3</hash>
+ <size>228913</size>
+ <url>https://api.github.com/repos/BLAKE3-team/BLAKE3/tarball/1.5.0</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="bash-5.2.21.tar.gz">
+ <hash type="blake3-256">7188914e18064c2b7c279af624cb74b3d835844073c0e28bae2312c68a34276e</hash>
+ <hash type="blake2b-512">6789c9a0d9eb1ad167d4199bf1438d77934a7bbeae9f9fdd7167cae006b17b3894852440248db1bb6e9cf6d930e8a18b6448a3bb4db8831b2e6d1445b56a2065</hash>
+ <hash type="blake2b-256">a4305c785dbf66f09424d305e746903a9350081a8385f9835788da61e98456c1</hash>
+ <hash type="skein-512">44d96370c35b656e5a5ce16ae36874a81771423de96733439aab0ff3e64af0e269d27707c915cd31850a7ddccda517bc4728ad3e2eeffeeb825ca69f95d3f65f</hash>
+ <hash type="shake128">aa3d2561b18c1c11c04193e58d0027d4c6ce0b01625a6b7be09ca7b6965daf27</hash>
+ <hash type="shake256">3568c9461077e104b5967114fc44d8999f447132f12fef5487cd6b0dc54d961544eeb178c17d217a6a2df7548b4c70dbe346c1e1aa45029573f4d20f1921d6a6</hash>
+ <hash type="sha-512">68af0b6b04b6825a3cb294ed8e1061d14d51d786aa7fb1c88d2848257409122f308ef4b8006ed401e2897aabe2adf6837074cea6f3a0523077308e45f49319fd</hash>
+ <hash type="sha-256">c8e31bdc59b69aaffc5b36509905ba3e5cbb12747091d27b4b977f078560d5b8</hash>
+ <hash type="streebog-512">b555868fdc4eaf81185fdafcef800cc889c8c41e00314d6ee1ce3f9059cccf8b38ce03b564795e3d884d6133160fcd7a1d9505104c39b51b92764b25f249f664</hash>
+ <hash type="streebog-256">19daa7df64e53fb0e17f375fe23525073523f40f942bae170fd2cde0517a87f0</hash>
+ <hash type="xxh3-128">43a23ab8961c493a87792a7720e93f7d</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP ARMORED FILE-----
+
+iF0EABECAB0WIQR8ATX7CIqvbGbGULm7WGnwZOp0qwUCZU04zwAKCRC7WGnwZOp0
+q8lkAJ92oETGcQSd6/22af6Vh9LGCiC+ywCfTgixQtdgVtEThlC8A9SXCJwVhcE=
+=34Me
+-----END PGP ARMORED FILE-----
+]]></signature>
+ <size>10952391</size>
+ <url>https://ftpmirror.gnu.org/bash/bash-5.2.21.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="boost_1_74_0.tar.bz2">
+ <hash type="blake3-256">84e106131eac577eab1d79ba4bd3f373156bf4d61a448eb0b1f770bc182eaa3d</hash>
+ <hash type="blake2b-512">2982f64fccf6fdb3b4b74452e603f459242d7abb42df4162278d9b558b637786a2eb97442126967b19088d591777c64ced8f60a23e71eaa0b7545e80f800de63</hash>
+ <hash type="blake2b-256">ce00db44b53b0310b5a91831a6a93830ed91f2be9c8b7f7f68b8c9b5fa39a988</hash>
+ <hash type="skein-512">1ea969edacbfbaaaceb6114f56352b3b50fe391890f83c652e15a91d51156aa3b84f454a3c38b3a39ffaffd2657aa6ea31f64d82ece8aa5bbf68711121d31d03</hash>
+ <hash type="shake128">655c72923d7d00053c41b06f78d2e6f61e11933e274ec7a13ef9d2d6416878e7</hash>
+ <hash type="shake256">36311e12079695a6fb8e2eb3bc9676fbd018439deb7e393081c1edbdb7d3d9e580d6af51e9d21f82ec11cb04d55ac8dbb621361ba22da6b06ae9bccedf98547b</hash>
+ <hash type="sha-512">4ec9c1164ec9b95ce46ba1c073e586c94b3882dce5b7347ea14bbef0c1da230e12aa5328a501ce38cae1b1d7623daa3246325625899179b4cc309242540982a4</hash>
+ <hash type="sha-256">83bfc1507731a0906e387fc28b7ef5417d591429e51e788417fe9ff025e116b1</hash>
+ <hash type="streebog-512">116162da6910917356170132e97ab3f088b09f95dbab6147fc11ac15c720e4d53fd3be10e31802dbbda7f24212ef3403d5fb6d966f1efda783d427c879c91d5c</hash>
+ <hash type="streebog-256">b8df9f3a5176b22fa27eaabbe6ae6b3b22de8e925f6d3afba6fcf8d6e0508f06</hash>
+ <hash type="xxh3-128">83500abb4a04a1d52392985d31c90bf5</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.53
+
+iQIcBAABCAAGBQJfNhnbAAoJEDec4ZLUAathx0kP/1p0iFp1jL4nQ1RRXjw51nq2
+KrGMi1hqgHhv0IuVIMqMCX6dmOn+UvZxlo+XI6+rZjOJSnSRGIKrM9gQM0qfvy4v
+OR4x6a3pb4FDK1UC3NMO52h0nfixyDao2WAxByCIDg4Pix0ijji4/IL+F8y/GhSv
+fL9yt74caT/LH6UUM5VZvhDB5C5fupdT9bLGJu+1jz5ygVpXRWFWS1GgKygUuPzR
+wK2X5x860LZsfpWIuLKgqbjKIXT6NNxAIZRvvQPP3YWVrUTMPKv9FIxOrY9nwV2w
+XzdYVH5slZOGLay3VaegL/XM+/PIMGgBRjzhKSvBUHQX5ixLLuH6I6nb9gYNcX3D
+BHDYkH/S3n9SMAxkwO3QeeOeyczJWh+rTnymBu2JcPFjjGKn/eYEUhPA4agzNrHM
+d7etuxm1ULNEpG9VNH1uUOiqBv88wDYsH7VkSa2mt17AAVZ9LsLSVECcJSU9Hv31
+CvNJeDZ4BLj2wiel7PNU4WtTtIlHk3iClRMiTiubbmVXv+edLzDJQRcqJDAK+c6j
+elD7ZDF8sLWDv1nWZrUvrW4ZfyVIRzgI3NrQZ4PVtFGtQc+J6K//nps78J2+QD6J
+jBWpe3Omkg5qhRJpUeF0ZdoLuAetVHE8Zwgi9U7RWHxJtI3ho0UZtlecvKjTaBLu
+NR/RZHzGNxiYy7PqZu1W
+=b5ND
+-----END PGP SIGNATURE-----
+]]></signature>
+ <size>109600630</size>
+ <url>https://boostorg.jfrog.io/artifactory/main/release/1.74.0/source/boost_1_74_0.tar.bz2</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="cairo-1.16.0.tar.xz">
+ <hash type="blake3-256">33e88a21de1fa52405f3952647b3bfd21d5d9d394e1abbc9ddb050a8ca09e35a</hash>
+ <hash type="blake2b-512">aa37edf7fdf0c952484fd0adc9281724227db93958d6e4919216b30e9017fab670bc2340e3b975737080f1f67dec24025fe0e4680e275ab7703cfb9235eb1fe0</hash>
+ <hash type="blake2b-256">b1a65550311713266f2a57d4590affdd54c5da5d3d6b931b258bee25690887c9</hash>
+ <hash type="skein-512">06a615930ed4feb2214053437e15326d9a64969479e8dee849a3061fabe9052098f25201a489ae81ffa1e0c782664a242a30ead159be98ed2be85c5ec87cba17</hash>
+ <hash type="shake128">31185c071e6b172f7d616e1a4039001a6f10973d12ee397a7536d34552cd3488</hash>
+ <hash type="shake256">5783e4be5f8a9ee477363dd308d68705c975f270996883b94ee4013a3e6b5974f48b2856aff783ce4bad435280dcd9e1235baa124c6d3aa8a98b776305567bdc</hash>
+ <hash type="sha-512">9eb27c4cf01c0b8b56f2e15e651f6d4e52c99d0005875546405b64f1132aed12fbf84727273f493d84056a13105e065009d89e94a8bfaf2be2649e232b82377f</hash>
+ <hash type="sha-256">5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331</hash>
+ <hash type="streebog-512">7296db3f5cd1d62018ba6b8d157198d9f4cc4c27b9423f79192125b39d2c6c442ac0d4bda32da49fd7ea4e7dac407d2079a6814f53a4c5035ff817da40f58bfe</hash>
+ <hash type="streebog-256">fc3ddf23ab5227b385dc527d94465aef83b34a9c3aee1c6490771e04df238606</hash>
+ <hash type="xxh3-128">40f6ccd2154b315f59348d869b7ead32</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP MESSAGE-----
+
+owGbwMvMwCQouJgx7MGzMkHGNTFJEsmJmUX5uoZ6hmZ6BnoliUV6FVV6xRmJhtGn
+bG8ZGKRaGFqYGCWmmgIZSUkGxibGhgYWFhYmqUmmRgamSakGqYnJhiYKClhM4eqI
+ZWEQZGKQFVNkOa5kt8/vW6rwjkmRnTDbWZlAVjBwcQrARHg0GeaXm33UPXXkYX15
+eP/1zukSl8zt3bQY5kqp+F+ab22XcKO/cUoYj8iBwyKzkwA=
+=lzKO
+-----END PGP MESSAGE-----
+]]></signature>
+ <size>41997432</size>
+ <url>https://cairographics.org/releases/cairo-1.16.0.tar.xz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="cmake-3.28.3-SHA-256.txt">
+ <hash type="blake3-256">973ccc581296e66bd6fd16dd521a457ae48c05ccd7981bb694607ab509239a99</hash>
+ <hash type="blake2b-512">1ed1c47e62bc2969c72efbdf5f9dc8853e642b0cfb8d4c0423eff897d731e76407606a05cfb481849bc80cc54119b413cec715c0fde08825e8dc48e7a37c6400</hash>
+ <hash type="blake2b-256">1f5a5662c19ccc4d107ccdc9423967413412a660cdac8ec8f8440f2a63b39e2b</hash>
+ <hash type="skein-512">8c56ec47e8c5a91b950808d67ee201c18734b2086f835696354968be25d24a878aa48d2459e8292837b3859b45ce0dfbe6f6695b128118f407bb7376a2b26b65</hash>
+ <hash type="shake128">a5c1c84861d2db8da74b93084c40d088c6782cb1e172b1dc9a9193fe67a05ffd</hash>
+ <hash type="shake256">179a3a79149ba69e8da722c6faf4ce773f33ddb1361a0e41ff2a86fbf889aa6fae1f0f8e7171f13149150e6e5830d3051f180660fd56261e2f57ba93b258d52e</hash>
+ <hash type="sha-512">e596cf9290ebf3ffe88bc4715db9d2db4f013a5da3b0d433b71e1927e9386e06cb2d2d7f025195b183ab07c8dc263ce0b318f1ad38a43f01d646016ad60fd611</hash>
+ <hash type="sha-256">03c6c8e776a41ff5cc56f27ae107d067106269aff6ef7ddad5e47efba2195914</hash>
+ <hash type="streebog-512">0357eebef9d333bb6c551ebad405a8c9e1b8887991a1d17d661f607f38c95d51cebb127e2e2e18270708e578292f0aba835a236284afcf5232959a2abe386032</hash>
+ <hash type="streebog-256">d359e459ebaafc1ede6f1e4b13f872b483c680cdfcffb7cbc5b69eb903e452b2</hash>
+ <hash type="xxh3-128">fb6acf3e93f848007842a947da3d6c06</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEExsJlMku+vcNQtRPQLSzvEDSSFoQFAmXBBvsACgkQLSzvEDSS
+FoSUCA/+N7G61eX/iTVgBYCwyFvaKb3ucliAhyqRFDMRoKp63wXsMUbQLz6EKeVz
+BYKYs6FZA1myvjeCKJudF0YSEJwaChjSmpCCtAOtHrpG+ewv40+z4m1GVlBJMqgW
+g8dMBCDRmifmzPwmBet/FO+JQLKPh4+HGQ8CvxWcn3AAapdPoDJb4xyeLJ5Drbcw
+l+DIqVxyYCNHVx00PrwRSdh+y4V2X62sk0g2vuitPgkNpFgGZTOOCIjJxhcjaG9W
+GxLNrqAf7YhoE8XfavI5cCU7TGrcoTmlykEJu7mrvEACkOKqzsyzVgykcSt0i6To
+/b+J7D7XJ6WJmvt/3fYkExn+oPIkfFaVnjn6OHnYMavn+1/QeAGQjKMcIxq2ZZmc
+lDGftW1eDWoZHELfI45G7uu9ux40G42FPczY48WgspnkpYYOaWxutrZgE31XTuws
+SgxE/HXa/PJGtw+OgTFBTtIPc56EQ16SnOcWY8uMAKxSdky/1eg5RUEgNAJkAgFh
+IC1w7cfeUlu3X/SYGouRGc0h8sDDLhM2mAS4hBf8wfCNsM88xtoQwAIimPosqzyy
+sBB6wuU1/Ti1h51z7dqXsQamLqeeKHeIc2pAP5gp8BhMyTnCF8H9XxWoyDySkOZ4
+dapblbSQ5Hh5DLAeo4biWJdvr0ostZ+Ss7tFyQ/fEzKNKabq/yY=
+=Fd/g
+-----END PGP SIGNATURE-----
+]]></signature>
+ <size>1646</size>
+ <url>https://cmake.org/files/v3.28/cmake-3.28.3-SHA-256.txt</url>
+ </file>
+</metalink>
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+redo-ifchange cmake-3.28.3-SHA-256.txt
+
+. ./default.rc
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="cmake-3.28.3.tar.gz">
+ <hash type="blake3-256">0f0cf7c5fc70853cb36fa4aadfb25b8deffb3c4191ca12a9b16089a6dec4f8d9</hash>
+ <hash type="blake2b-512">a329c7cd80e8e74d11ec2a8b377857b1ae8c4c50a792f982803fcc6a00f531ecb7ac2dd7ccad34968b3e3efc14933085b51425974fc5ee29b6c49c2da5ceeaf4</hash>
+ <hash type="blake2b-256">30e1829c5099eebdc5a1c3bd487a36a731ae1f713427d17f6965adfd6dee2131</hash>
+ <hash type="skein-512">952603aa90ec96a0d846daff79a76413df2cceda9769f084f4d36d15f3014cd6b410559a98dff3f4101d6d8e7ab4d72721c0a52b7bbd54e3055fd1ca3b29f81a</hash>
+ <hash type="shake128">6b630fddc9c937550789cf5175c0aa01b5e8deb352b578d09a9e03ea52507129</hash>
+ <hash type="shake256">a6eed55f74483530c22674ef6142e95cd9c467727f31797524950141a4dabc415f9afe556cd31e7b30d9e085d9cc564de4d8edc1801cb1ec87fa303e6ee9cb6b</hash>
+ <hash type="sha-512">66e923925b764e1fe3d150c69dab3e0abd9e0c90d8e30cab63c3a1f70c3e37df0a5e3ff12b378eeae3bdc6608495f41399e6f81602e26b513b19fa19ff6c48fc</hash>
+ <hash type="sha-256">72b7570e5c8593de6ac4ab433b73eab18c5fb328880460c86ce32608141ad5c1</hash>
+ <hash type="streebog-512">3c73c8a0cae8834669ac3b5d214fe3208331a7256b9b02f72e369c0890e7216ddeddfd5763dfd2c86cfb89c91b91f24c93535e11bc51f471b52a7ccc22ca8234</hash>
+ <hash type="streebog-256">57c74727915be534c83bad1f904053ee1d139dbc3e294ff7383c1a11dd3163bd</hash>
+ <hash type="xxh3-128">afccb7899f0f2ca38be80d5e25832783</hash>
+ <size>11067653</size>
+ <url>https://cmake.org/files/v3.28/cmake-3.28.3.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="curl-8.7.1.tar.xz">
+ <hash type="blake3-256">1029d4e91c51d23d05ae992a377a298d842d7cf50231f0d376f6bd55f92197a6</hash>
+ <hash type="blake2b-512">a2a9f48d0b69c0d92fcbbda535ce55082a5243abe3ab2db80d6fa3f32fb2c98b65026d69fc45c94e966398cf9ba8d9c95b6b91f4768b54749ed3275dd21838ef</hash>
+ <hash type="blake2b-256">5a447b6f6674471dd09aa080f81172ec5f58200ac12a9e354fa8b12351661302</hash>
+ <hash type="skein-512">3f9cd3ee6a3ccc912fc389b9eb98299faa53f84d17184c0ecd75f44a37d27b63b110f6d78acbbfdb51b50622451dff1ab2860e65981de6b38391344d2e2ae724</hash>
+ <hash type="shake128">fe67706be581ed2282007b20db7f1921308d5bf6f72e60c3d0af52d9ba50cc83</hash>
+ <hash type="shake256">884710a085901485bc124cc4dd38a6bcaff826faea75a7fbfa2737c7ac37ed67aa45ef901817c4e8f9a3de4cdfecfaadbf931c478fad429fa71d9df25328e087</hash>
+ <hash type="sha-512">5bbde9d5648e9226f5490fa951690aaf159149345f3a315df2ba58b2468f3e59ca32e8a49734338afc861803a4f81caac6d642a4699b72c6310ebfb1f618aad2</hash>
+ <hash type="sha-256">6fea2aac6a4610fbd0400afb0bcddbe7258a64c63f1f68e5855ebc0c659710cd</hash>
+ <hash type="streebog-512">f0e171bfce53f26a5882f31cf4e65d1cea79e7ac2acf83c7aeccaa7c89a9eaea9ddecab8f46cfb0e3c7a5dedb1f5eee1efbf07a45b27253be95e74655d9326f3</hash>
+ <hash type="streebog-256">794943f72118cfd7b5d0d1a8049635afc33d98dd40eda205f92a10868f25e3ee</hash>
+ <hash type="xxh3-128">f145503461c0cc83877527dce86c4a0e</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP SIGNATURE-----
+
+iQEzBAABCgAdFiEEJ+3q8i86vOtQ25oSXMkI/bceEsIFAmYD0u8ACgkQXMkI/bce
+EsIquAgAkZkPn+TF2xrzo1jaMVN/BN1011zI3wrkbItsD2FZnYbSDQCg1WquFKlD
+JlOO8NL59A5jLpQN/J6SHUlg/1ns2HNpuq1KORkUzcjF0r5ATcXPDN+qVWBZZeiS
+ERatBCS044oyEWBoONFMthmT2jFYaa7eo+i/0dExFPeCRdd//MeyurKrSN2XRPIU
+DPL3a99x96sckC9d7iDTyD8bnVv7EQ0ZGg0HOhO7ooKfW1wXBsyIUwPkSQmo8Wjn
+NccJ3bt/Ci9sVWVqNqksAnl6NpIv2+2TYeaoeJVVdw8NXjd4JDZPgYHxWUo5FLQi
+Jol6ZvHY4Rt0nk8DItBeCvOd3f8ssw==
+=dTjQ
+-----END PGP SIGNATURE-----
+]]></signature>
+ <size>2707016</size>
+ <url>https://curl.se/download/curl-8.7.1.tar.xz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="daemontools-encore-1.11.tar.gz">
+ <hash type="blake3-256">594659bdc606c30e4d455b66661532051e57d936f0b8d02da84edc5fd2b10c11</hash>
+ <hash type="blake2b-512">747da62ae97d4e4b28ca5309cbf835fe989db23d9f7a408bcce6fa7b17a658740024867daf9116dcbcb02e16a6b0ee92210bd485ecceef9b7ecbb2e0ea79e110</hash>
+ <hash type="blake2b-256">efc4ab1cc5220a08020a3aace59dc479bb13d0c59b3c31d8c9c8ac3f5e4601a6</hash>
+ <hash type="skein-512">284be9d07eb58f321ca2d3df214f5703f953e05e3fb0c7fc614abc56606744d6366e60787f8dadcbdb63a983ff9785807ff9cd755ac5d77f5c04e2c2c5eb9e1d</hash>
+ <hash type="shake128">e2185d642156be81e2f255bdef4c6aa18b1577bd4d14a207ea7b32c7a212c6a5</hash>
+ <hash type="shake256">f2d7e434c32df775aaae14a34c9cc81a223b5d316e48795cf9a0a857e45aba31c0bbfd23f0021a724bce509efdba407f591ef15fb6be5a8633a743bc53616315</hash>
+ <hash type="sha-512">1e1a96a948d551bfc38496740eaa85b7cae0d2469419293b133533da75ca03657fe6108129703ad7b773925c58ce84a4f242eb612133fb0c499f47ae50423a8a</hash>
+ <hash type="sha-256">3bab6cf1de2bdefa607d42a8f50577f2664b6a29b273b98cd0b3b8f7781d8b72</hash>
+ <hash type="streebog-512">50eb93101b5a60a81bff2265d03a496cdadc8819cfe9d37d0d3471209675e8ede949f8f580522487c59545e5cefd85d1eedebaaeac531859ad5290a6e4105cef</hash>
+ <hash type="streebog-256">eab67da1bdd2d94dad34a712ac16823a9b08350cad6b396eb12dbdb893999f64</hash>
+ <hash type="xxh3-128">15fafccde3dbbebd7a53b8e34f38061d</hash>
+ <size>94917</size>
+ <url>http://untroubled.org/daemontools-encore/daemontools-encore-1.11.tar.gz</url>
+ <url>http://distcache.FreeBSD.org/ports-distfiles/daemontools-encore-1.11.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+[ -d dav1d.git ] || git clone --depth 1 --bare https://code.videolan.org/videolan/dav1d.git >&2
+cd dav1d.git
+commit=da2cc7817cff218b30f2c813a8a142a43f9376bd
+git fetch origin $commit >&2
+git archive --prefix=${1%.tar.zst}/ $commit | $COMPRESSOR
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../..
+sname=default.do . "$BASS_ROOT"/lib/rc
+
+# do not explicitly depend on that file, to omit redownloading
+# of everything in case it changes
+. ./default.rc
--- /dev/null
+if [ -r predownloaded/$1 ] ; then
+ echo Using predownloaded/$1... >&2
+ meta4ra-check -hashes "$META4RA_HASHES" -meta4 $1.meta4 predownloaded/$1 >&2
+ ln predownloaded/$1 $3
+ exit 0
+fi
+
+if [ -e $1.meta4 ] ; then
+ if [ "$META4_FETCHER" = "meta4ra-check" ] ; then
+ meta4ra-check -dl 0 \
+ -hashes "$META4RA_HASHES" \
+ -meta4 $1.meta4 $(basename $1)
+ exit
+ fi
+ meta4=$(realpath $1.meta4)
+ tmp=$(mktemp -d ${TMPDIR:-/tmp}/$(basename $1).XXXXXX)
+ trap "rm -fr $tmp" HUP PIPE INT QUIT TERM EXIT
+ cd $tmp
+ case "$META4_FETCHER" in
+ wget)
+ wget --input-metalink=$meta4 >&2
+ cat "$(basename $1).meta4.#1"
+ ;;
+ aria2c)
+ aria2c $meta4 >&2
+ cat $(basename $1)
+ ;;
+ *)
+ echo Unknown \$META4_FETCHER >&2
+ exit 1
+ esac
+ exit
+fi
+
+echo currently only .meta4 downloading supported >&2
+exit 1
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="djvulibre-3.5.28.tar.gz">
+ <hash type="blake3-256">94ed2b38251f822f4a64a5e20c767c74e78dfb3e9171e4be7fd9c621b3b085ea</hash>
+ <hash type="blake2b-512">74681f00d5f116ab08ccadb6c6f536f5d23f1fafdfae1239add6d800c0446298e65cd5dad293e28aa4d309dc93eaeec9036a7144f6fa42ff1104a4b945ca6bce</hash>
+ <hash type="blake2b-256">787f0c6d23b2f57dcac72f5e716c46aa25a0bdef7bcb2f7a0161b93868cebbcc</hash>
+ <hash type="skein-512">58c10297ecbdc8c4e1cc3a2c456fea65aba6d396f4e8e4e95c91fa31de55d510e3996c968c53fd477622bb87531e1e9e547587eab658b1d2b5dccaf0a3a7e208</hash>
+ <hash type="shake128">30e4fc660e7fa0bdfd849eb9ddb5999cf0db4002d0a6ae358bf743a866693884</hash>
+ <hash type="shake256">d413b800e4a634717f7ae72ac28eb6c3b9579d5c5d49241185f20c4bd6d8ee12c389469a98d35c16e06133755e3d9abc894c853be47d6ed4151c5284cc5032a0</hash>
+ <hash type="sha-512">db3b8a5b56d700e911be32057f721a2a597e6f52e6fade203ad75ad76ab2d8facff2e474fd18beea703ccd5fa6425352e619a8fda40e69add1724dbee26050c6</hash>
+ <hash type="sha-256">fcd009ea7654fde5a83600eb80757bd3a76998e47d13c66b54c8db849f8f2edc</hash>
+ <hash type="streebog-512">6625d271257d85f044a0bb5f44b27a4554317ad3465ab917eb86deca9b7d34412a9616af43597118c078a9f8aab504198a03b6e4b07283038bfbee0552f3fa66</hash>
+ <hash type="streebog-256">6c160e21a3440f82f4255bc7d348ce3c42fae0d8e1912dbc15a3131cfe545675</hash>
+ <hash type="xxh3-128">0f57f98fb50e205d04cb3fd3e9647f86</hash>
+ <size>3701161</size>
+ <url>http://deac-riga.dl.sourceforge.net/project/djvu/DjVuLibre/3.5.28/djvulibre-3.5.28.tar.gz?viasf=1</url>
+ <url>http://unlimited.dl.sourceforge.net/project/djvu/DjVuLibre/3.5.28/djvulibre-3.5.28.tar.gz?viasf=1</url>
+ <url>http://deac-fra.dl.sourceforge.net/project/djvu/DjVuLibre/3.5.28/djvulibre-3.5.28.tar.gz?viasf=1</url>
+ </file>
+</metalink>
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+[ -d dq.git ] || git clone --depth 1 --bare https://github.com/janmojzis/dq.git >&2
+cd dq.git
+commit=5b585015f2772b8e258bbb6441b8bf5a4b2861af
+git fetch origin $commit >&2
+git archive --prefix=${1%.tar.zst}/ $commit | $COMPRESSOR
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="expat-2.6.2.tar.xz">
+ <hash type="blake3-256">422710e496fabaf6accaa8f30e8f96a1facbac2d417c8f4b2246c322bf0d9172</hash>
+ <hash type="blake2b-512">aae019270e1ab233fe8480b7eaa77f648f23ef3383dc772dc946cb13163067431716dc5446862eb502315fd089f2f52f3d476589b74a97e462575cd54df44db4</hash>
+ <hash type="blake2b-256">da8f909a4e1bb8495f7870d85f83490795a6de96d8a61083d0ae07bdc57896b2</hash>
+ <hash type="skein-512">0b6660041f1f9309b755560ce450abf010631b2c874510cac2f4ad189e8767e83f992258aec3685f9450da91f6cab8210c8e676023e6174e56dce59604205df4</hash>
+ <hash type="shake128">09b91705e84a328496676de936568d5ad837cef859362c7c181883305c86e7c0</hash>
+ <hash type="shake256">802856600c6023ee8b6b8a9917ff40583dab91c3cadbe30802f05e234b5a60e1111e9f4f92b62e707b41243603e20a34dad6a5e02407be4d23be0b6e5de14bab</hash>
+ <hash type="sha-512">47b60967d6346d330dded87ea1a2957aa7d34dd825043386a89aa131054714f618ede57bfe97cf6caa40582a4bc67e198d2a915e7d8dbe8ee4f581857c2e3c2e</hash>
+ <hash type="sha-256">ee14b4c5d8908b1bec37ad937607eab183d4d9806a08adee472c3c3121d27364</hash>
+ <hash type="streebog-512">09c0edfc08471e96422afeeaf629cc664eead0796c5851d8979d0c36332966cfcb8e7bb08a3cd95e8c5fadd924c90ff71ef6198fe0dca81c246b35799ab2f4c0</hash>
+ <hash type="streebog-256">b0f853b3cc68bb90f2a8d6eb7f44e4de990caf303adb9131137e870cb978a915</hash>
+ <hash type="xxh3-128">e9276678a31251a5b2b3fc597e5bf60a</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCAAdFiEEy43nCpDPv2w79cxWliYqz/vTrsYFAmXx2UUACgkQliYqz/vT
+rsYCKw//X838HdkfERw6b0UaauHg3k5h5yzV/4gPzmVWlLhPaSFH6Ns69p7vvHz0
+xtSH0GQ4rp+l7GAjFoH5dzJxZ4g/EstYK+QJwOK7A9+gf86tbFt6pNj43u7bHqW2
+0p55xEoCcki+sZv1WX3VPe7NcCq7cs7UeOyOcqADZkmzcLkpHATh9kiA/LHe5WKp
+jbAZthOCBG3S40xGib9KLZMR/fJ3RKaWsm+Jl+SABEQk5VmpOuoocboE+ZlTfEC/
+9F7czV28xHfdhfhP4nA328VgVPPP1atyVw0sO79fpnxmAFMZO31j/cGIyv4sQX1/
+2MLDbXWeEX6C2+ZCaTtNZbtxq7n+ydI9BAHWawN6BE2DNpt4w0x7m+QzrG207Y9r
+jP+vFLC4winwaXoraJeZ18A7I5lOklNJ/iwzwVQHp+kLM1uGOuc5z/NWmBff1out
+ErgjbAbINNIXEpjZ7AETUai0q2PJRucFsYxjYs19RKObbM8BLo7zbzL93QHm947R
+46+iyemznYXQP2vsBjjQDzPhtyTk3evbRTWy5Mq0XXt8NSBrgGHGU4h35sQL3z2a
+Qw6RhRRMIfrnntvDmLO2kbdBLmz4GQGfmmlUyvDtB6SivD3BWvX91lArfozad5Ve
+pL8oFOu2ObHqCK6foTvwhYl05a7yaElwGX9vTBDsYT9Vqol0sKk=
+=M9y2
+-----END PGP SIGNATURE-----
+]]></signature>
+ <size>485236</size>
+ <url>https://github.com/libexpat/libexpat/releases/download/R_2_6_2/expat-2.6.2.tar.xz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="ffmpeg-7.0.1.tar.xz">
+ <hash type="blake3-256">b264abec290f2a4b15160caa1f759932e36ccd41677b6f6ab72a4af178e7f68d</hash>
+ <hash type="blake2b-512">7468bb0768da56794c57b43db5fb8a1c5471f86dc7789ba342e494907b2f05fd0edbaa93159b05927a749d878c431ad8ac56cafc2434b54c5190b91ca6a6116a</hash>
+ <hash type="blake2b-256">43372cac2fa05605d23e7d6cb70bb76e9290e8708196882d57fc1e29f16ce9b9</hash>
+ <hash type="skein-512">52e56a1537e6a054a5aa7796c70083ffc25f5486db369b585a49a3b4178934061b8a5d1157e41137f47b58ee9f9f69e5d90fa5f432e3a59a35c41ee1cddfdc01</hash>
+ <hash type="shake128">8e9c40ad3ba29b9e1986098626c7d291a11c5f0f0d0b7a15ee91280c71f51daf</hash>
+ <hash type="shake256">7a57451ed35b11383f8402684526d80aa207be135d4e01e6593e764dd76ce93e7a16287c563266549495acb710c5fd6a45abd21b67fedb6a690a58dc32a594ca</hash>
+ <hash type="sha-512">94e06c4ce64ed3888620547db0e33b29c68a9e78b3ea748346f34280f69723a6d4b7485911f45f1849f9aa3036c0699334abbcf7126d2763bdaa7276673b7daa</hash>
+ <hash type="sha-256">bce9eeb0f17ef8982390b1f37711a61b4290dc8c2a0c1a37b5857e85bfb0e4ff</hash>
+ <hash type="streebog-512">90d745352055add77b2b55bd4a423a1bb9a15cf85f2606294fa34a8022be62de1c5487f4cb34b0f8c6a0451337874fabc466ef7034727c79e0bf993ad04b5bab</hash>
+ <hash type="streebog-256">72ee595f899aae30c1b2a43a15602f87e1558aeee23d03f47bc3fa23f35746ad</hash>
+ <hash type="xxh3-128">83e0ab106db3a0a909329e84fc82c6f1</hash>
+ <size>10793572</size>
+ <url>https://ffmpeg.org/releases/ffmpeg-7.0.1.tar.xz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="freetype-2.9.1.tar.bz2">
+ <hash type="blake3-256">2fa561d03195d96ae27455aa205a5916e880ec365085e8cfc5697116bc7a09db</hash>
+ <hash type="blake2b-512">f165d638e0f49749a2640aabba96aca20441c76028cc18bb2482fd620a29dd368bc55ea020c1e74fa6effe9fed3c59a53c7fdf2dd6021f445032b7007201948e</hash>
+ <hash type="blake2b-256">6453c4da2664509e64c62c8e58d5e8890175e826ad1baa086b7bf78fccf76c98</hash>
+ <hash type="skein-512">e849fd499bc910e4e3e8c20c5638a6b02e7f0831d2a839b0ca05c82ad8bcd24e4fc17aeb6de5dddccfbe0115ce7594adeaff89cf733c244cae0bdbeadba36888</hash>
+ <hash type="shake128">f99eb0ba70fe5d262731d87651d15e9aeb88d12de0e92247b5277fc5bfb11954</hash>
+ <hash type="shake256">9abb7aff8aea2399d15444601dbe932cb42680e90c06a319e229a1c06bcac5224d3384d9f18aa8fe23d9ee03a9ac8fda893a970e8519d0d925571c23390a2423</hash>
+ <hash type="sha-512">856766e1f3f4c7dc8afb2b5ee991138c8b642c6a6e5e007cd2bc04ae58bde827f082557cf41bf541d97e8485f7fd064d10390d1ee597f19d1daed6c152e27708</hash>
+ <hash type="sha-256">db8d87ea720ea9d5edc5388fc7a0497bb11ba9fe972245e0f7f4c7e8b1e1e84d</hash>
+ <hash type="streebog-512">19756eec5e31af08db76749d7b781f60ad695469019223ba3227e174cfd18eb799bc8475f2855f73dec9bed4060ae93adce844e82d5a633183c02cd2326178c3</hash>
+ <hash type="streebog-256">c2fe77fe94fe294848f79c87f394954ce87f517542cb4fd7bd3ff45dd3236725</hash>
+ <hash type="xxh3-128">ba128751698256c0551cbe6a6f8a8409</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2
+
+iEYEABECAAYFAlrpefMACgkQwaYOrOcH/aU7vwCfUZGCxk0YzNbBd1+D7nYyIC7K
+A3AAn1eJXSb6G8qReNpUl3/IoMo7TRGH
+=fkHg
+-----END PGP SIGNATURE-----
+]]></signature>
+ <size>1926385</size>
+ <url>https://download.savannah.gnu.org/releases/freetype/freetype-2.9.1.tar.bz2</url>
+ </file>
+</metalink>
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+[ -d guix.git ] || git clone --depth 1 --bare https://git.savannah.gnu.org/git/guix.git >&2
+p=gnu/packages/patches/gcc-4-compile-with-gcc-5.patch
+( cd guix.git ; git archive @ $p | tar xfO - $p ) >$3
+meta4ra-check -pipe -meta4 $1.meta4 $1 <$3 >/dev/null
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="gcc-4-compile-with-gcc-5.patch">
+ <hash type="blake3-256">0cba0a01e2201c78ff5f803a3a4d64ff3ec19c35f49f1ea8556e050a453ac770</hash>
+ <hash type="blake2b-512">aeb809e7801aa2625bfd814c950a0a302cfb1ee9147d9b32e5d858e7ba34d9b193becd00472a148e3be5fe4c388370de9ac0d4022d38ac42537ce42dda50ebe3</hash>
+ <hash type="blake2b-256">2bf78b04c60c32a4e4263074ddb5511d530648ce88f5e27ca5f7493d512c3da0</hash>
+ <hash type="skein-512">3b3715c9579625272d3b505fde2655a9307473ef3785415c9c0866baad924aa2407e31f53979b0d8d7fa2a17d0fb81f016fe8cdb6b0f7d54b0a98b654aad521a</hash>
+ <hash type="shake128">31c9e64268463d4ddd73a5e743493a2b0dcfda87728b20f68eedcb98512786a3</hash>
+ <hash type="shake256">fffa62fc68476dcae4dc1b3c9065c7ad970c01756485da216aa61951a65cdaa62a6bdec4ef37b9d349657e504d5d19112a18d84cf6eced36dbc3c195a768317c</hash>
+ <hash type="sha-512">04c38b68ccce8642259011bb8dc73d51f980e2b60c80941e5125bd5d5e68f1693f7d599c10abb5106d789c66130e314115963474465e451be3a20d618016e661</hash>
+ <hash type="sha-256">5b084cfc9741d960bd57d799758a98a5f1f436e38308aac2299b439de0a90103</hash>
+ <hash type="streebog-512">615fb79a7a3082e4192d9d319c3fd038ed281f3aedd9abec4848f1b35e6de56d8c5c022ed0b24209460dc4538aa6aeeb2001d290be0b4689114151bef3e1bbac</hash>
+ <hash type="streebog-256">f7b6b9ce119c2b0c793731051c9d015393981568d6a724567bc4d596c14464d0</hash>
+ <hash type="xxh3-128">57b1e630fdfc601b9b146d3bbf7f130a</hash>
+ <size>2264</size>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="gcc-4.7.4.tar.bz2">
+ <hash type="blake3-256">bebcd4b57932208a7cb81809dc4673bdd60c326f19947a28a35992bf37342cbc</hash>
+ <hash type="blake2b-512">98cc902dd1506161b96c8eba10e5a5c7fb11d2dfd95ebac15825806fcdb262a1ff962b72275dcfc8453b753164fc234bdd666b207202cfd5a0a2b4cd09b8c741</hash>
+ <hash type="blake2b-256">040a0b4a8d0343daa9e7af4696ced9d36bd6cca06c3323d8621b6d8eeaf6501f</hash>
+ <hash type="skein-512">861d7bcc2eaaef02ce1d85ea27ea159e2f6f6fd03fe98f8d1941c3db89251876aba91f2508ec54d087de3a9edd011231859412a3731d60d47530f08488ee1349</hash>
+ <hash type="shake128">a31b92717f3adeaf38f7c8dbf2af53ae15cb29eede2ad6398c778890b9452de7</hash>
+ <hash type="shake256">af1c404496e2266dfac6ed5676df3f854c3cfbe2913485a434912c80fc75959831ac2b7c2a21b38b7caa8b1a839a4d4c3ad37255d8b9a343bfeb575e05f335ae</hash>
+ <hash type="sha-512">dfcb737073191e628231031a3571ec77ee760a59377630f4a6e4fdfa66f9ddad39fde47e3f0f227eb43cdf90e0d34cde5abdc9ac892c1e111a911062a66c9189</hash>
+ <hash type="sha-256">92e61c6dc3a0a449e62d72a38185fda550168a86702dea07125ebd3ec3996282</hash>
+ <hash type="streebog-512">91cdc304515ae49346ed8e0b68b4d38a338c44a91798f50ff4e00b9f75323ff16651c5fdc95ba9b8a7d08e958584fd5d207f3c64d11d411c4a43f78132050d77</hash>
+ <hash type="streebog-256">03dae9e226d9ec8545ba4657edab83af042a9eb49d231ca5cd68555f2ce2cba6</hash>
+ <hash type="xxh3-128">9cd3e91aa9802a32bde9f15d8860fa3e</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP ARMORED FILE-----
+
+iQEVAwUAU5nx5zqwCZb8JqZBAQJptwgAsabDYkfLwETuApUvNTGev/AbPD+ZxmLb
+ePL1dYxKf5KeJ6e8fpbJpXAjxJuMui7jGiiXHp/xUxVqBxNM0J7/0JKF7cV4lvAg
+FrntvQbtpj857pQw5WQE/46cQfl9zc1D21Vzqc+efpVVswt4jDud0OUR9ixmlh4C
+fY5NL0VLeuGhI27uBqhSu1tq93PF4iOsW5CwiDW4A2W00WFZuKEJ0SCEPqzODBBs
+xKjbuoK4YR9McO/QTNkm01/OtLBae97MD1BwWStS2gtzGT9oz5yMVruY/Uatho0/
+BZCjWBIjlr6HorqM5c22pMS4FG7pXq3r6qU8GsBuKLpNimrMZYf3SQ==
+=YnqK
+-----END PGP ARMORED FILE-----
+]]></signature>
+ <size>82935453</size>
+ <url>https://ftpmirror.gnu.org/gcc/gcc-4.7.4/gcc-4.7.4.tar.bz2</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="gcc-8.5.0.tar.xz">
+ <hash type="blake3-256">cdcc1b48ace74ef3bb313a9b58e9df9b1d2fb09fa6b4d6671a8e937d88116780</hash>
+ <hash type="blake2b-512">aa81a1a730fd7371360f6abed6ba78b5843fd18c58d5de5687acc320741b9e430e85df3535a1ef7a26051409be8d2f0945f503e5968480d919103123a99d4b12</hash>
+ <hash type="blake2b-256">fac365f391be9557816f41fd059ab8a52978ddf26ed281dfad3d65c8853f209e</hash>
+ <hash type="skein-512">ee3b514f2acbc747548c9733d278bbd2b867dd5cab312c6d888811f1442b582c5ef7e33cd65349ec45bc0cb526052180b83a154c6bc925ed4600b42b565c5810</hash>
+ <hash type="shake128">2b6cdfea268993f00778d6a0209ccb8e2348848869d5e37d8f27e3526e0536be</hash>
+ <hash type="shake256">9c2eea735baf0c8150f7432a0aad261f7d9e8fbab5fcb8c3b1acdf5ace58aeb378a16e0a8eb52d5becb25939b47f60af123720f7f91ce1b0e1df988c7695ef11</hash>
+ <hash type="sha-512">92f599680e6b7fbce88bcdda810f468777d541e5fddfbb287f7977d51093de2a5178bd0e6a08dfe37090ea10a0508a43ccd00220041abbbec33f1179bfc174d8</hash>
+ <hash type="sha-256">d308841a511bb830a6100397b0042db24ce11f642dab6ea6ee44842e5325ed50</hash>
+ <hash type="streebog-512">83db8940cb2e48e24e4abed4ca9f73a0770d5845c91957dbff023de0c700a7b3572336667956b97b0e65714e1bc05b85c8649f4357bd25b48feac20758c66f4f</hash>
+ <hash type="streebog-256">8a3ead20385b4737d8d79c667e8ae07a96a86d9996dc96fdff3b866e0fae2fb1</hash>
+ <hash type="xxh3-128">9cd072fafdd3298f60b4267722ee7ce5</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP ARMORED FILE-----
+
+iQIcBAABAgAGBQJgnj3aAAoJEGw1uZMJtfpijV8P/10SnXv7EcMi//tFHoIfS2AI
+QV6sJMxhlYF3AeJDS9+BfyXc6sxty0VnOjo+9QmaFRKluZSDtVSldiaOTJUlDFj9
+5BwXTFdujcy8G9UxlEvJFGyOXF3AAEMqWiEQKEwS/rU5bqBtjD7pxNgPZOhFrTYW
++SibWT8kwkf2qSdOzmtrEHlb0zRDW3KJv37ocGq8otsVW45l/fzzj3/BN0rVHUyY
+Pm8sEifBnoGC/rtBdB587I4j6k8X7L0t5Oqp2nPby3RXMqoMzirobGvGQAAdjE5A
+Sb19PmwJWvEm60LPBUOxZILEo0bct5VgnQbBYuWOVOoZJLiO4T/vKKmqyozzVnqc
+ATYo7AB/Pxz25BYJsrDQGky2gCS4LXidXfVyUjbpztElQy69bIQWevCMYEYFaKVb
+C5Mj1wCDTQ2lrPKNAdvjlHvFdvCmmXzyL5Ek0XJ5dAHEVa+kmfje/rCOOFZRyX/0
+gLbuB7f7w4r7VTj1gzajucP8kRZVGJspMzeS5j/imMDpZOYNLd7VmFxhvpH5+ShN
+iy7yB0w+efNzL3wLmvaVqtkNIe3xCWYkdtlIceMwuH+/JwR/vIXNIj85lpltG6Bn
+o7JJp1RoyONCiuUvcIbFX7nJjc0R0WPbAlJb20mNN8bmuuUZqXRDuUJllcvWAWET
+Awb81BETqEgP5YLD1Oxo
+=y98j
+-----END PGP ARMORED FILE-----
+]]></signature>
+ <size>63841008</size>
+ <url>https://ftpmirror.gnu.org/gcc/gcc-8.5.0/gcc-8.5.0.tar.xz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="gdal-2.4.4.tar.gz">
+ <hash type="blake3-256">19b044fc906e5b9275b22801bc92fe476135fe4a020db1261a6198a875d39d9c</hash>
+ <hash type="blake2b-512">da71bfd3ce6cef3d17938ddd18e99d78bf6ebf5e40d17a944a4df48e4e42896f62cabac9f96aa68b80075d740c63436f80e0e8eb4e03bc7b1ec35a8065e8727a</hash>
+ <hash type="blake2b-256">a05ee0b28b692a735e7255f0d394c8f048d2f740145f45eadd3186350d83ef97</hash>
+ <hash type="skein-512">d8d70042a0fd445778137c19207f8d234926a82a9e4e135a21bef271bfa3161398f2a5dda4b58a85c5a74da63ceb55b10bc1bcfb871afb4af40a4761c674f266</hash>
+ <hash type="shake128">329a6d14440fc8fa555f75d24e707691517566e8c07aec39e56f605c9e6e0865</hash>
+ <hash type="shake256">b95468d31d2244ae9747ec7d8467d5b826cb2df0df5ab44e94f2d5b0a9c9086bd022229c81d7a5fe206d49ef640b5a7660af3143aef9f19ff9aaf9c5787d1a6c</hash>
+ <hash type="sha-512">b41a18e9b0bd42b21cb8af626c417ea1adb63f0d34fa90cb713988ef7ef411851ed8b527ab843f904983a3372d563314533887b82a6ae59fc5499604ee3cc03c</hash>
+ <hash type="sha-256">e6a2456907610639d73fc6a82bb10aa6fa02e2d03b24edacde34a16b6aa91080</hash>
+ <hash type="streebog-512">5a2d84be2d717445b7016e77a876b91acdc3079415b85ec17c836ad181054d2d01a837c4fc84dec4e34984601f21b3d96277affe0ef5eccaba669c6e2174ba33</hash>
+ <hash type="streebog-256">c058448a841348a68b1237b72c31951626da87f0e122d369a9791a0e22a970bc</hash>
+ <hash type="xxh3-128">1938e6399d7fe2cf41e13940af17aaa0</hash>
+ <size>14748072</size>
+ <url>https://download.osgeo.org/gdal/2.4.4/gdal-2.4.4.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="geos-3.12.1.tar.bz2">
+ <hash type="blake3-256">a1d8913bdf0d3e74b1cadafcaeaf382cea6b67e32fd615f3446fdb7268a35f82</hash>
+ <hash type="blake2b-512">4ffc9cb63f3ac15b3dcb0ba9fec6a1ccaeaf35962a057234f4da38d6bba19df39e800805badfd56fe927da09c9392f0feaf2b7d02085e8f293c4d9503ab28ff9</hash>
+ <hash type="blake2b-256">4468e935f4e983b42832b4ef493c33dcdf7a3fb19074860540660bcc5f0bbb1e</hash>
+ <hash type="skein-512">f6755d2ea59179d2e5dc3f856a79dc02e88394ee908f156bdafe8dca5e4b8fc0b26504baff955df10fa76218f33f70d047595bf07134646daac5d338bdbf3374</hash>
+ <hash type="shake128">fb0ecd271eb4208b80398fbbf706e6d501e35bb573ac10ef216c1f81c5d0df6f</hash>
+ <hash type="shake256">2af6073a548cd6908aea8c2bd8ecc30124c3fa8383205c215f385df7d94ccc85aebb1d92df003255a2958b9b56859a296c696780d45ca7058d73df2ff1d23d87</hash>
+ <hash type="sha-512">192eba83c651e935b3c9a5cc19321285e4d28b9da9d7a1fa15d9471803027e630db7a7ecea96343d9c5f9846d279062ca3694fe47916a4ebf5698ae66dd5210d</hash>
+ <hash type="sha-256">d6ea7e492224b51193e8244fe3ec17c4d44d0777f3c32ca4fb171140549a0d03</hash>
+ <hash type="streebog-512">f230db156c56d0ee08cd0bdba99c150cdd8d4533c9fed70bb50bd133c18ffa77c777693d9fe3ff7ae001cad838f1cfa4e63b5f4e1f70989d2b82700f2bf8fff0</hash>
+ <hash type="streebog-256">af9d7b52883a4489b1082f24732b304783652bca8773313da67dde86006b2f2e</hash>
+ <hash type="xxh3-128">69ac087d78a4030ff75b30fa1a37a85a</hash>
+ <size>6727199</size>
+ <url>https://download.osgeo.org/geos/geos-3.12.1.tar.bz2</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="getopt-1.1.6.tar.gz">
+ <hash type="blake3-256">00dcf54e982aa186ab57d24c691ef1964c4ac67f4ec83207b5d14d507ecf7cea</hash>
+ <hash type="blake2b-512">839b9c1701c21425cbc6b68ab245eb693e0e575a0673f62e3cca8f6932485c1124f42710c0ebeb3c157ab89e56e02b251a99aca7a12723735c63f33443003007</hash>
+ <hash type="blake2b-256">3e4c376143a75c68f71f599cd539021b5287763aa253be72b507dd6a31eb6b61</hash>
+ <hash type="skein-512">beb198249eb5c276c48ff628291aea48a181ac016c394f9050b397ebeeec330ffaeed63ece86898100a3b60124e6e2f1b57714e69095c8ccdd37f42842eae5dc</hash>
+ <hash type="shake128">866e34fcaf60c427cf12ad4f6cca934d99e8a96b5c2b510d32370bcdab28396c</hash>
+ <hash type="shake256">71f35b2d3f11d8a83879ca903fb53909569c78f14ca56dcabc72c197768a95cfbe0694ef066847ac724eee410f8100e1b7fa93c5b158fb5eced412e3ee1e7e45</hash>
+ <hash type="sha-512">aa5476e729f33ddd3f32f38b2565da319fdfe034f11549218d5d9953e70dad764e0d9a82bb10efe4043c86ae87f944619b8a2f29a197f592bd855699961d8e10</hash>
+ <hash type="sha-256">d0bf1dc642a993e7388a1cddfb9409bed375c21d5278056ccca3a0acd09dc5fe</hash>
+ <hash type="streebog-512">4169886555ca3c409395bec135bbf1f9debec6ddfcfdc0e77a167656bc9e385e0b825db4edcc93384288a7bc7e57b6ae5f2ce70e9e9d082760ac980d49a602c5</hash>
+ <hash type="streebog-256">79a6dc139ea61df5dd5f7f9ecdd1ee82c1ba9d9e0bc4b7aa9d85c2730b446067</hash>
+ <hash type="xxh3-128">a63a30fd95df02a834ba292fe8c8aad4</hash>
+ <size>58926</size>
+ <url>http://frodo.looijaard.name/system/files/software/getopt/getopt-1.1.6.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="ghostscript-10.03.1.tar.gz">
+ <hash type="blake3-256">1f7cf415888e575413f5bef86593914478077f19f4f4837ff474204dd7716376</hash>
+ <hash type="blake2b-512">59f33206d061c802005499f9b38a94a4bcff0672b1dbe556dc0467b376097a67cb977358f076efe423d0d76ea801746f2646aec77f3be9bee9ec4566d10b45c2</hash>
+ <hash type="blake2b-256">16f52a0171b2a088623c2a6ab3122bc94fda57b31f0b2f99575b976396c6c154</hash>
+ <hash type="skein-512">82fa555ad14964343599d9cded871d9962661f992bb9676d9d7a74e45fc7d695f971fb778c03755fb247d9d77d69215709bab896a799d6122f254251875a6de3</hash>
+ <hash type="shake128">804f6ab036fcd7246fd81afb0110cb869738931d9af05f74ea9d426053959f0c</hash>
+ <hash type="shake256">0d16b0acbbc69afce84d954fddaecd6432e67f518ef22f55fb2806573a5274d4be1cb42be1de150b33c3216f28a97c5ac3503310d523a922f8b53328b0da8a28</hash>
+ <hash type="sha-512">c1eec6550ce2d9c8fe78c2e9c91eaa40e1ae3d8625b510e712c0e0ab39ad00d4fa493af5f798a06c21a4acd72a0b503758a0d8f79cc37d5cc1a23ac7f3ba41e2</hash>
+ <hash type="sha-256">31cd01682ad23a801cc3bbc222a55f07c4ea3e068bdfb447792d54db21a2e8ad</hash>
+ <hash type="streebog-512">f21ca3292a335b9d74d6be7470c067519d40a8c9ded51c5a6e51f06bea74208f8c6995b8d9a936aaff3d72282585f8e4455087a180ee254405ee8d80c6ffb583</hash>
+ <hash type="streebog-256">19fac64fa4ea821f13965a312d92925d5bd960a9bf316e50b805a36dc541bd5a</hash>
+ <hash type="xxh3-128">573c33fc0476b2e2cb32c43ffcdc30c7</hash>
+ <size>89140503</size>
+ <url>https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10031/ghostscript-10.03.1.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+[ -d girara.git ] || git clone --depth 1 --bare https://git.pwmt.org/pwmt/girara.git >&2
+cd girara.git
+commit=f6d06766e57812254c04635e98a01976fd8761c2
+git fetch origin $commit >&2
+git archive --prefix=${1%.tar.zst}/ $commit | $COMPRESSOR
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="git-2.45.2.tar.xz">
+ <hash type="blake3-256">4068bb49b6bfc0d974de6e646f3ba1d80a02ebef68f31f6030fd2a23015c7f39</hash>
+ <hash type="blake2b-512">477acc786c26e0b04843ad6d07333607b2274d587263d72c6d036cade725e6f62f8c773903f401c799de71527d0473589afc507eec02f445e0c148dd7cbf407c</hash>
+ <hash type="blake2b-256">a392aa8cd2d4e0d3b598f65e3544619a711e96b15891812793e18eb271f35c01</hash>
+ <hash type="skein-512">840cf79cd86a58878a3dc2bf538d5dfc5333132e12326469a711e58baf0074c41dbc7c998f13cfc73bef06135a2c3f47ac2751d5bf8ad198c5a144219878cd76</hash>
+ <hash type="shake128">b4046771bc82a8d2399287e20c4d27cd2247bf3e559bf419d75a67412585938b</hash>
+ <hash type="shake256">a6ff80ecda89abe28666fa3c318fed02bda36bc4081450bc5255f882590ea7b468ecaec7e1b481690c9fa27be1c3c013136c8c5e78c8fd891d758483549a17af</hash>
+ <hash type="sha-512">dce30d0d563f3f76ef49c8dc88105e0cf0941c8cd70303418d9d737f840ffba36bcc575c380c75080edf64af74487e1a680db146ec5f527a32104e887d4ceb73</hash>
+ <hash type="sha-256">51bfe87eb1c02fed1484051875365eeab229831d30d0cec5d89a14f9e40e9adb</hash>
+ <hash type="streebog-512">e51d4e864d8796ab4b3dde36332e1df98b6562cd900fe012989eca17203b8d0413a438cd227f83076552e9a0f1eeae25fce5c88bd01e05414a4002de3c8136c8</hash>
+ <hash type="streebog-256">951718f1041903c53b9e76d028131248b2e4659af86e58317e9d0b14c4e9cd02</hash>
+ <hash type="xxh3-128">d2c536c7dd15d93bbe37e9a311064e44</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP ARMORED FILE-----
+
+iQIzBAABCAAdFiEE4fA2sf7nIh/HeOzvsLXohpav5ssFAmZZIPcACgkQsLXohpav
+5svhXxAAoj3/wHP14wLPqAhpcH7NcMyI9zHCeE0IqHIhazwIbWdMO/kaAonSUL5j
+BrYHRnd0eSrjOmlxKU+1luuuTNVQw5g0pLuRhrFq2RVQNETDQRMcSDghhaKkp4ag
+xW1d6U3oAxVWm3xvpDZWw9VlIT3ezxuLXmjCrFKWO3Gdx2Dm1ovLpE35jGUS0imB
+IsmY681b7DneS08e8GDss8UvC731LkX4fZoaRuzOlSR9TQzWcKGjy7kFHDJOu5lN
+xs05XBr2hY0grTuiCp93atWl1J2hOltVgI3430iI4uu0pQCnF1hykEKGC+6J8X1T
+YX4HCq4mhEv6AoN9I1r1D032nZjTl8aWTMqm8yVVFza2fUBEmtnzx1FFf1/1EVgU
+9738yJ3DCgV4PDbEoy7g9Gx8zzmNxq0OYUcJmEw3CUwzLYQTAglxaL22BtQZ1JCO
+db/HZ0v+JN+TwvVBwXDdyiC4TAvbzheKvfsKQYxTL893z0zpBlYbytEp6FmovGHt
+G3ynegdTBs9Q3GLuOxQdkVOr4FMDoWJCp2vJpJ8xuSJZcvQ0JrUE6VCalU6750C7
+WBxklswl1ToSWW9o//21S0Z4E26k3guOz1zLsKYe1CwAvQp62xpYsd1SV9UmDwVK
+a7fPkfnFionRHFTPaIXib076rzKxwuzEuwmvLu0FohzzNsbFA24=
+=7McN
+-----END PGP ARMORED FILE-----
+]]></signature>
+ <size>7487680</size>
+ <url>https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.45.2.tar.xz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="glib-2.58.3.tar.xz">
+ <hash type="blake3-256">3f25915fc5c77eb94f490a1f98746ef34fa2e835cbbdfb49889e93e3b6b42cb2</hash>
+ <hash type="blake2b-512">4269bd6e80869f39d567917438f750561debb1b45d40ecea487d2e76e2468e07dc8d80a23678699f7b8f7778c2ed9d29e866ae5e33770f51ed00709dd5fe97eb</hash>
+ <hash type="blake2b-256">be0c0b5432ddeba164416a4083ebd9fd90d6ff77ef82166562dd8703d9e816a5</hash>
+ <hash type="skein-512">35ba9d4b3fb6fd56a60284deed1da621fbf5ce7aa0c67ec02a566c422059cd129274678e72368500d01d48bd39144f550e65757ebc16f502a8888740f54daac7</hash>
+ <hash type="shake128">609e8c83b92a6ea8f77378dac84754c10b43401af4d64b0c10ba73ce19bd3973</hash>
+ <hash type="shake256">b325c96fd657c48bd4f88c9feae441ecedafa427d63ce8b763515614e90fa54d9466282b0da5b4f9ae6ec7eca5a955a1f4f780b4ec964d6223657bd9b46193e9</hash>
+ <hash type="sha-512">1e1cb5b607367dcbadb95563d463e81702cf396b28f1173f6d933707f4f3d5595a70225423e918807a05994a24f16fa3ac87d2ec67e4b670244ea99836634cce</hash>
+ <hash type="sha-256">8f43c31767e88a25da72b52a40f3301fefc49a665b56dc10ee7cc9565cbe7481</hash>
+ <hash type="streebog-512">bd3246eb45217a67ad7af4b899e94a55f6c3c0c681d4df7c03d31ddb6bd2380dbf8e5d435c1275be46ec3eca08a6aa7400a07ba4fb6620778175f19c27b4f64d</hash>
+ <hash type="streebog-256">45054a7e44d9503c42d6fd9f6830df9112d986665738fe1fe67747cdda877e8e</hash>
+ <hash type="xxh3-128">28de148956302db6a50815fdc2a2e460</hash>
+ <size>4863648</size>
+ <url>https://download.gnome.org/sources/glib/2.58/glib-2.58.3.tar.xz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="gm4-1.4.19.tar.xz">
+ <hash type="blake3-256">eadd696d929b0359bf7bd17390c2bcc3ad1cbf36126854eb545a50b86ca97e9e</hash>
+ <hash type="blake2b-512">08694485a49c542761fa9a7db4d7609f4dfb08a5c6b785b57f2e14cf1f696c2a1c788bb5eb934e8159a632b63ff071dfe42511d0109d7b1828f46d33c8bf416a</hash>
+ <hash type="blake2b-256">744cdd86bb8d45809ca737ee7f6b56ecefee33c8ae79bf052f3ee21ec706c99d</hash>
+ <hash type="skein-512">ff612b599e419d4929c9e10f45d5ff0ee6c075b825dda986796022e678f1443f6974f07459274394fc8accad92e0bbe7dc6767451d585ae7975a470c7f2def4a</hash>
+ <hash type="shake128">1698e7ec502f9bf11f295e750aacbdf7fc2455bf730f8ec34520122c9ad283d0</hash>
+ <hash type="shake256">693c8513fd75dc0113584a8805e6fc5f6016f01f2716023b7ae480d284c4b8475e78b308a9727b6f0561c2c6387bc8cc89425e075de64cf5ae220033961df623</hash>
+ <hash type="sha-512">47f595845c89709727bda0b3fc78e3188ef78ec818965b395532e7041cabe9e49677ee4aca3d042930095a7f8df81de3da1026b23b6897be471f6cf13ddd512b</hash>
+ <hash type="sha-256">63aede5c6d33b6d9b13511cd0be2cac046f2e70fd0a07aa9573a04a82783af96</hash>
+ <hash type="streebog-512">014279a053cb4bcbe17fbfd8673fa46fb87406b065967e4ed5a42ce9361de0da6040be4ce913dc51cb7f9197f13149c74019fd8c55172584977998e2e8606737</hash>
+ <hash type="streebog-256">54392a28cb4cc3438bbdbf3ba663d3050dd0a040fa499a08426e3117a56ebe67</hash>
+ <hash type="xxh3-128">986337b90691078649e797a18d2580ea</hash>
+ <size>1654908</size>
+ <url>https://ftpmirror.gnu.org/m4/m4-1.4.19.tar.xz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="gmake-4.4.1.tar.gz">
+ <hash type="blake3-256">a7d8aee97b7e9a525ef561afa84eea0d929f246e3aafa420231c0602151cf9eb</hash>
+ <hash type="blake2b-512">09a4ad8060259e36854b525ab610fd317a86f4926e44e3ab8adba75dccc8d4b445df9dd25ccfb4c25a54bc0e98238a9127e36401d74cbc3503a329eadcdf4995</hash>
+ <hash type="blake2b-256">8c4159e5887ef4d5dcb6aa1b1225afe8741699b57b09a56c3ce6d27bd70a7243</hash>
+ <hash type="skein-512">5a3334bcab434365bc56e0fa933af7371450cea43346f89d81e4ada361f2fb6ce56545f1e2613f17ac90f13b02c2f1710af472c02940981c486d185f7be61951</hash>
+ <hash type="shake128">29a5f1dcb96b1f331fb9a6102083d5f1d834a849b944e24b96260ab0e3881475</hash>
+ <hash type="shake256">248e552fb1e1375f0e64b8f8a3a3ff217c3cbb3c8464b1b55772f762f7ea3beb63668eb6d5aa3579ea180389f08f50e91b6741f5a7123f6a01ea5a512809b666</hash>
+ <hash type="sha-512">145260cbd6a8226cef3dfef0c8baba31847beaebc7e6b65d39d02715fd4f4cab9b139b6c3772e550088d4f9ae80c6d3ed20b9a7664c693644dfb96b4cb60e67c</hash>
+ <hash type="sha-256">dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3</hash>
+ <hash type="streebog-512">ab3c1689e06209d1e9e830f35003243f4bfdf49036f538776f0e799e279fb208eeb8e6da0050c8ebee885ad4265b32e73cf61232c7af3054bdc4be2247386b11</hash>
+ <hash type="streebog-256">54cbae76532b93cf6bf9da23300f7cfa5f91866b3bbea40cc287e122a79bd8ff</hash>
+ <hash type="xxh3-128">475032a21a025a45beeaac80a7175ffc</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEEslCKkBAviuOxKgCQ3qzKrtt4E3oFAmP7u7sACgkQ3qzKrtt4
+E3o1aRAAjmtOnHZN5g3rz4vYXv2uu6Q6Z4JoswMVmbjPnSL0VNytCz0zbFUcZrLc
+03YPsK1jW5a/+97oD+QIqz/Wwz5CxtI8jks2CDG1PcLc8DtIOVIKstzVmYHBacVn
+WfQVZaAuSZFw+e3d09s/k/hu8kNAGsmhbtAANxgt8uVeS8W7KyX1UCC74BgtN6Mp
+tuVJO1ma6cvP/tLsOESPmpQv2M+KgxwXj2/6vr6US3HbNcbjnZo/TVcSJXVxhsth
+Vzr0qshPa24R/xXB5jCfJoycAFlFMLgOhkGALRSoodCtdNVE3K0jvy7IEyfoG5oA
+q7sgoT4cPdC2Z8qSgLtsAqFNHwNfxoZsFhfpRA07MpnPIahs2EgRMtiVzm/pFDEd
+NjshhGnCI/rkdTXWxC1l1IgndF7qSLNl8BLv0rCh+K71J3mYAszcKPrJzikAWrOq
+agGBfwSOKrnnMhV1b7HvbCcdJMNH7ecqu7/e8CV63XkuRH3ylv+s6lmD/J+IHpyc
+NEBqXECHwMv/mRkQrwJ5m9cPZJCjNJYlwYjUnjXOTwP2esA7PQr2NC/lpCdgrcxR
+1e9M5etBtYPCsH24psxU3px/7/qrkQ/UD1bIJ4PetsCdlI65rew6RQSu7ibUn4PC
+jdIICZ72mISuFSzMfw3ckZ6V1VPL25n4jjbgnl+7wge5DESor64=
+=7G07
+-----END PGP SIGNATURE-----
+]]></signature>
+ <size>2348200</size>
+ <url>https://ftpmirror.gnu.org/make/make-4.4.1.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="gmp-4.3.2.tar.bz2">
+ <hash type="blake3-256">45abe05fb07debf595b48c6f37afd67789177c3ff8c79924022fee1f04e936f0</hash>
+ <hash type="blake2b-512">0efecd60c7a585f94ec8cbee77541d409c8e3bdeabaca09f7971560fb0fd504ae8e405256913acbef1434146868885c98068ff59efec92c92fdb73b853cf9396</hash>
+ <hash type="blake2b-256">b636f14bcd8ebf418b0745840d57ab77f5cc61ed6308b892bddfa27b2984abad</hash>
+ <hash type="skein-512">0b24011c922c4b575a2c7f3772da07a78b419a2b2c58815f88b793fc38ba5dbce97b2a6a60ad17111fc6558f33b0bf3eb25854009102c59547ec9eb5b2ec4b90</hash>
+ <hash type="shake128">88df081beacffec2782c8496b3654461a3318baf011b0dab6bf06437e51aa0f6</hash>
+ <hash type="shake256">69c8040ffce4bef897dead3813fe9bae6e67b9cfde17be01fff6cb00f790d024ea53a0b7408999618a9cd80f0dd7ed51d2d50f6b2df1b80cdc0059c44f903c16</hash>
+ <hash type="sha-512">2e0b0fd23e6f10742a5517981e5171c6e88b0a93c83da701b296f5c0861d72c19782daab589a7eac3f9032152a0fc7eff7f5362db8fccc4859564a9aa82329cf</hash>
+ <hash type="sha-256">936162c0312886c21581002b79932829aa048cfaf9937c6265aeaa14f1cd1775</hash>
+ <hash type="streebog-512">cef15d958cb804b8a2fb64c9817bfd5a3fe9e31239d28639288421cbd6c1ecc77275b452fda193c0e98088fc7d1b1443c45d183f94b4b8b1dab336c20f180ecf</hash>
+ <hash type="streebog-256">62188c7278d5a30c5de1c88875e071cbb77d40edac24a8a1ed8c9b281389eaaf</hash>
+ <hash type="xxh3-128">4ff531f3065769f6ab109f5a72a8d73f</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP ARMORED FILE-----
+
+iEYEABECAAYFAktHDd4ACgkQXW1H39uJn0ZWugCgu8+Jblu/5HImC5mUX/Higg2p
+d8YAnj64I2BNvo6yGRJbvCm1XzA3Rm4h
+=jbTz
+-----END PGP ARMORED FILE-----
+]]></signature>
+ <size>1897483</size>
+ <url>https://ftpmirror.gnu.org/gmp/gmp-4.3.2.tar.bz2</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="gmp-6.3.0.tar.zst">
+ <hash type="blake3-256">4cc9bd2542df97e8f3c31c8c4354bd5193e3c4b0f7a7a73a0bcc185d74daadb5</hash>
+ <hash type="blake2b-512">65d4ec16f75d86fb05afee42b2d376f1075a0c8aa088efb1c80540f9717362cd3fd102d33ef2c95e43658b04b9cc4b71c3536807cbc667ea308eec658c0fdc25</hash>
+ <hash type="blake2b-256">0d6575a254b4c90a733b70228c175b307d298603bc52d2482d19f2ef859bb9e7</hash>
+ <hash type="skein-512">040b2c9b0813efece6d6a39c423e81a66cb76d61bdf98fc13de2ac7c385e12a06212bd01b173955688239d01fbe9e5bf87ecc9361d2ffa77187beccc6b6eb8d1</hash>
+ <hash type="shake128">991a681fc960b13d424144fcca18b1826dbefb08d9f90a990352593346a20a15</hash>
+ <hash type="shake256">d25e17d9c6d7406e36e023708f437f29326d9b318f6225d0fdabdad933237d9f028bb7e8a27cde7d7ae8d1625578e433278c175a64242db46c373aa2d577e5ca</hash>
+ <hash type="sha-512">ff26b804bc2138d273249023e0994d72dfd1677ee0537b335fafef8c1edc54009c39cf20616602f6eaeb409f77dee07ae33055be42987be1d2f99c91ceb9f03b</hash>
+ <hash type="sha-256">7f55d73f472c29cc14d7fa985f3654d48829415b649eaf61646b7b33f2a80e27</hash>
+ <hash type="streebog-512">f689428db8fe007e5834ea980f1424f2ba2d817d888ad3afe11144a4aa092a13ea240a23fbf6530617220dd90007827c480b0b6e0b428ec66aeedb268ba494f9</hash>
+ <hash type="streebog-256">26e92865f699f87826c01c8112cdcdea983c16b310afc79794f19d2027037b0c</hash>
+ <hash type="xxh3-128">9f1f9703babcd67802d40310748741c4</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP ARMORED FILE-----
+
+iQFzBAABCgAdFiEENDwv8PvuXsLtvvOZ81mf+CjGcpgFAmTGZuUACgkQ81mf+CjG
+cpi/gwoAgygG933vrYYKK7TvOjoSEnIzpXFUTrl1s7BrmLLwQ+nDrXgfLFhVg2Az
+qFWS2kzP5AYkh6PpC/+ER2Rg0079TFZhbJGi5RaHSooi+yWAx6QnKGoPsmuUcXvQ
+jqXpgPhIDEGPLTV7v7fqHn44zurMqp5qXlLKYlGKe/kUQs6oxhMJdtM9RLZu5z9q
+/2LC8uvHU5Y2yMhM7C8aVPO3SFKMNCoON2O1bIfhAkEvIMKgTi9QK4bg3GckQedU
+L3RPYK8xMoi1f3QnaeqhXfPVrABX1gWNyrgu7hxBi4DQPaTM3WRLNEEaAYJxuK0h
+q9rFHxrJh6cbQLtGmLh+yAOGIXWFlfYQEDGwS97Aninaw07/J7HvJoad8e/ZjuRO
+Px1eO/rjui7FPubfmC1LHohnKDKqS+Za6GFnXb8IflCGQV3NCsE=
+=hZEr
+-----END PGP ARMORED FILE-----
+]]></signature>
+ <size>2176751</size>
+ <url>https://ftpmirror.gnu.org/gmp/gmp-6.3.0.tar.zst</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="gnupg-2.4.5.tar.bz2">
+ <hash type="blake3-256">c348f2f8b3f00c13fa5d2a8572724422b5db60336e75c7be41676d9422a476e9</hash>
+ <hash type="blake2b-512">a8b80cd4dfbb377066efb5c9f1b6cdc6d0cd1b18358c962781b5c06de1545117b13038a4655ae627c36bfd2e5fee127692df8729d6b23e1b31051ab6d897b733</hash>
+ <hash type="blake2b-256">a67161105a4651415a41abb56e837f84b5d909be7886e75574614799454db6d8</hash>
+ <hash type="skein-512">c5a127a37c3594259a9e3c07a98d74c485db50310fc0f128400b4ed0a7660a50a90e8b9a9d06af778350bea7846229743613ca93e99da119398e95af438d58e3</hash>
+ <hash type="shake128">70464c283132981fd3d735a7c4e6accd2a5a6b1893bf45862dcb7b57d4bb306d</hash>
+ <hash type="shake256">87051aae9522b5e69afd78964374e1129249fefbb6c63c3d534f607df6b9a43a91e7a1fb0b944429a17c0109a8c76a14a801b5d5700090ff0cc46d2b18dd4991</hash>
+ <hash type="sha-512">4d54744f09399c5899144d0cb5fdc2756e45b058db41b9ea9df3be03e80b914509e16ef35aa0248e7561185b80f7a5f9fd6afcab8ccff75ff82ed555448a38ff</hash>
+ <hash type="sha-256">f68f7d75d06cb1635c336d34d844af97436c3f64ea14bcb7c869782f96f44277</hash>
+ <hash type="streebog-512">763db5ca0a38776ef2395fef09eec9f50376d07c99be3581676b078eab9477d3ffebcb2cea23ba1baf99860c818ae19d1ac5539e658b0e6fcac7af11dfcc51fb</hash>
+ <hash type="streebog-256">341bb39c3eaf1952fc174e4f72ac2e6560b86ce7980707d1346d1e1b4599f890</hash>
+ <hash type="xxh3-128">4906b13973c5c83200a5e05caf1752b3</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP ARMORED FILE-----
+
+iHUEABYKAB0WIQRtqm5kp20oQFcbSQJSiJe4JkA62gUCZenJ7AAKCRBSiJe4JkA6
+2oiLAQD/eFwEEUSxP54aLEYk7Vyf1Lu0xA4c6NdtqRE1Q5ytjwEA7c2bWoiByDlH
++wZzs5u6mmNGucu7yAbsA86NwIdEYwWIdQQAFggAHRYhBKyOEVv3Pi2NR/qZCOmO
+my0Zxsi9BQJl6pQpAAoJEOmOmy0Zxsi9lFMA/Ai+t9HHf/FZMbw2PavX2rFgCwY7
+lKMSAFwaDOIIy4LfAQCFEO8ff5WIw2Pk6fB92bUrdq1j7dakdzxl4ADfUoTEDg==
+=koS1
+-----END PGP ARMORED FILE-----
+]]></signature>
+ <size>7889060</size>
+ <url>https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.4.5.tar.bz2</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="gnutls-3.7.10.tar.xz">
+ <hash type="blake3-256">edcd8a505867226722ae50e0e9bb2bf57a1f38b5674a3028e26f69d2d61957e6</hash>
+ <hash type="blake2b-512">961faace27d72f4be1a51ae7e8e239dc667d031a3f8b74de31b37ff39c528f679b22ac278ffef648932d15afece43d45ab708df7faede225798607ee0df99665</hash>
+ <hash type="blake2b-256">860f203b95ca53d82f5975baead0bd1bf4d2be558656758b053367cdc4ab9cb5</hash>
+ <hash type="skein-512">f3308f97f72f5a445d70d48b20e59984333724e7cdbbec1465cd1bbf2bd77d5ae57204f04ac5c4a35c8f530c6e762abc04aee1384a8775dabfee4c15e7f26dcd</hash>
+ <hash type="shake128">7c1b72ddf663d203728b5f7c7525fda5a7f4471298b49f453ef8b1f2e28a2e45</hash>
+ <hash type="shake256">d7e52d316387551f5dc0e65b4f8a56a24e7a6df6f20ad6228e0b922169d33d11900c2c1e853c389e4538ac71311ff5b9fcbcb20a982de74f493c406e9c930d62</hash>
+ <hash type="sha-512">23e0890abd00c433f11c2d4ceb328fe4ac0a0b765de89dff52f16e7d20694a7c61a6acb084d9f58f15c1a9609d70efdac489ac4759963c0ff1d1b8bb7183269e</hash>
+ <hash type="sha-256">b6e4e8bac3a950a3a1b7bdb0904979d4ab420a81e74de8636dd50b467d36f5a9</hash>
+ <hash type="streebog-512">bfac48f9db112fdffe6650d48e335461c8a588e32337254837ac3d9845d92f4efe6525527914a97d35b94906b177c1c25d1c04bdb0056447f6dd91ce9b3cbc0a</hash>
+ <hash type="streebog-256">07a91db81c0341b84c10d400ef9c5d93be47cd9203aee3a4900c7e90b717a6d2</hash>
+ <hash type="xxh3-128">95c24b0300f17aae26edc5d4be6d8291</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP ARMORED FILE-----
+
+iHUEABYKAB0WIQRdRssPdjQFpwU1VvR6daZIs/kiDAUCZMy8KgAKCRB6daZIs/ki
+DDOdAP424VfLAYc4TK94OQdKV3Bk6DfFbvu1iGEr7Ak03VBYxQD/ROotzHn27SnM
+LInnh2BwqZgMKtPfS+6VVrcKcivW/AWJAjMEAAEIAB0WIQRGIiXDtG80h5/ISWzW
+BYSO1+aYcQUCZMzJnwAKCRDWBYSO1+aYcWOND/9LB96J6FXim2CuFoG+PtN5zloM
+kqRM8OHXxMguE9Qh+xlRfw0RVb1KL1PMrlXaD3kWEImI3pup4QnUXx+NFcOd+7/H
+hPpkpNMR8RYLEQMjoi9IIJxboU25MMDaOsHAw4x8bfddeON129LD74y92YxG2PnA
+cLR5SNW15LpqGgcNSB2usg3tOBbzr9WNM1fnHAu/szdKEoy71bJ5y7nU/89u1OuJ
+M7IklfCI6jowe5XBTVQWHyqDApte7mba38Z92A8ctinz+QathnsqM4YSfOMXJssU
+ae+2ThuYmDx8tD45SHrZxSagHAEbDjarBj6i3IGJwE/JflT1g/BS7ic4rrvjby7l
+IqaNWfB8y4Sp29BTkltprDoYnh0P3lZLVuflCdQk0bCIZEBdG4EY0zlNwtcxgL82
+5BT1GXA16cxw8pZHwYWJMvq3PhmupEIw7R9IFMVIC5cbyhdtmBGP03FkN10LFmif
+txv7cjtOp9aoPfylDs+xOHlq6FdfPfu9IGvokAiFkGysWa1z9zaWQ8Qu7jbDO6Un
+5ulg+NtcmnojeZ5Qd8al3ee+wYsLRg3YxqF6E25UXhKCUSLJha8KuonP1FIitNJ+
+yeNYcXZwsMy75cKMv1JnAIIJfInPaS+D3i0iPeGzyAJ6+X1qtbi41/5SliS/DnlX
+HHGoF1H90Zc5+IYGAg==
+=8e+J
+-----END PGP ARMORED FILE-----
+]]></signature>
+ <size>6407852</size>
+ <url>https://www.gnupg.org/ftp/gcrypt/gnutls/v3.7/gnutls-3.7.10.tar.xz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="go1.17.13.tar.gz">
+ <hash type="blake3-256">fab34f540e4ad83908f3c897053cb0d5529452f81fce530cec916aa7b9c6948b</hash>
+ <hash type="blake2b-512">b227e5197c6466e7dc4594646a6b5f7e2f5e8bc0d44b8ab45b488f5249eb64ff736fccf0e0070d6685a08361e1b3dd1a2ee7050df6395bec519a7ae7dca78630</hash>
+ <hash type="blake2b-256">a029e746dff91a568efdf7fe083559dee52b929f25e7682105225a6331fe3f84</hash>
+ <hash type="skein-512">644f0bad5090a73ad0bab7328cbe5b96293f4a5b9f5816d2e861d25f54305e9901889833db3f89d0135d288ab94837753b77dac43236003f340674fc797c7c2e</hash>
+ <hash type="shake128">29e31d7af93c245cafb9648fd458bd58ee7bcba94c25286ba67e00889b6eeb27</hash>
+ <hash type="shake256">1f89bffbc5066e58d7594cd36f8e0e29e6bc62dc748c40d9aa407699a7e85257755af60f6f310f5e6adf344fd1e575614d0395c3b2f92dd7942063c131c46a9d</hash>
+ <hash type="sha-512">2820bdd679fdb5e37d4c601b26c246bab23d4e8e1b226ac37c38e90a68b693e877bff944275eb25e3296ee772e7b40ef7d71dd49cca524df4cb8e721bfb50c33</hash>
+ <hash type="sha-256">a1a48b23afb206f95e7bbaa9b898d965f90826f6f1d1fc0c1d784ada0cd300fd</hash>
+ <hash type="streebog-512">45d09f68d941efeb8ecd8e013c1737df5e0c53d47ca2a8c2c37b2b901f9cbf3e2450a533017f20e19ecba77310651390ca222222e080c01e131a59616e17015e</hash>
+ <hash type="streebog-256">1d78559f346e160e535bbee6b54d9b32d83f0d26d4f7ee8014f29f269dc73458</hash>
+ <hash type="xxh3-128">e7d297292f628e77958082caa06f40d3</hash>
+ <size>22206518</size>
+ <url>https://go.dev/dl/go1.17.13.src.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="go1.20.14.tar.gz">
+ <hash type="blake3-256">8bcd5c90b96f84ad78945c573e4685dee7a196e803d846fd87c614bd2f34039c</hash>
+ <hash type="blake2b-512">21a97555d086502d7b41398e02d8c7a07be17ec0961a15b11e0b452f05face85f95e8745b68a0e5bbadb7b9a3c014117829f6e45d6acc1adb465125560489442</hash>
+ <hash type="blake2b-256">063f67f951e84de916f765dd75e5ee2018867064af0dc189e6e7a340244b5680</hash>
+ <hash type="skein-512">8dfb2b592657f796c16187a12997e8020efc05a8d813c5272a8e080e66cc98d16435d2327aaccb38c91da17362fc1e4644e384824d6be5fd936c101533ea22e2</hash>
+ <hash type="shake128">d3c510ab89780592c7421f54edcebc25211b8f0bf0c9b98f25788e62f2953cbc</hash>
+ <hash type="shake256">a94dc371576e19c204fac8f7fc9386872977be3e1738edda03e10f075530aeab96e617e234da3448c8caa4eda015e0f64870a7cbbe9b20848ea8ffe4adafd918</hash>
+ <hash type="sha-512">d97951fedf87a999e3f09819a8ac23608980e68173ae141fa11140f0117a35639308de0ea37d3b209bfb709cd5758cd39016dd0f2dd6c3959e1ea3ea29c6fef4</hash>
+ <hash type="sha-256">1aef321a0e3e38b7e91d2d7eb64040666cabdcc77d383de3c9522d0d69b67f4e</hash>
+ <hash type="streebog-512">eef2937e8600dc6ceef80c2a373ce971d7026eda8318d8430e764b6ec721e5224c81fa286a10b12ff5e3b2312e75fefc4430ddbed37348ec904c3efd2bb42a0e</hash>
+ <hash type="streebog-256">a5093d7257aa48dd462966e064df267f7cb2856b63787276d971d87a68feae50</hash>
+ <hash type="xxh3-128">866bcbedf3544b0c0e8b2b4855c165c0</hash>
+ <size>26202564</size>
+ <url>https://go.dev/dl/go1.20.14.src.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="go1.22.4.tar.gz">
+ <hash type="blake3-256">7de8f3dafa64455084002968504666623b4179ea8dc000114089bc264df0be4b</hash>
+ <hash type="blake2b-512">00a6a3430e38fe5b63df3d453bd58ff51f3cff7814f3e05520725ef2093d1f2547c214f6e58c9bbd078334b51be2407dfe5b68eac5b7eeaa2a33bd3c3a13f3f4</hash>
+ <hash type="blake2b-256">c27f79265f8a74e418c4ad18e794f196678c882f949d1618f7d24ca06e966f77</hash>
+ <hash type="skein-512">83f7a58f30bd1ae7fbde55a1b6e65091068af76a20e2c4ad2f698a1a3fddfe99544fd6fd782fd6ec6612c89de7670a6e435a7518ea93ba91cda951ec4153404f</hash>
+ <hash type="shake128">5c406cdbde5433a3635e18f54b5a4d82801675163815cf8045af6191368f4fe5</hash>
+ <hash type="shake256">511c48235364993df0ce762664efe0ff7bbd564cc1556f742c32a2c5667712d2e8f3600ba0dd30ef3d5f6b0b09c781bdd3db7030c0469f3c8aa918ddecc9c401</hash>
+ <hash type="sha-512">4855ba7e277b2eb79eb52e3ad2a52f18b3a4cd3adc20b7a17d29fabae74141265bf31399307b8d3f35110031d11ad7f583016aa903f3e36eeb6d1f64cfc8a5ad</hash>
+ <hash type="sha-256">fed720678e728a7ca30ba8d1ded1caafe27d16028fab0232b8ba8e22008fb784</hash>
+ <hash type="streebog-512">9a9f00f2a5f2cc8af5802bd22123c1763715b06b0d2d7181e1a5f17a8c39838b207cc2cabbed5ad9fec2010dba34c989ccbd4449d345e6c2caffaaa1cfec0c59</hash>
+ <hash type="streebog-256">88b61be2d4a8f6627486b53aa2965cb28d0b6705a5892a7efe005cdd22edac0d</hash>
+ <hash type="xxh3-128">dc60ff71e96a41898c4b3ff7b7c679c6</hash>
+ <size>27555503</size>
+ <url>https://go.dev/dl/go1.22.4.src.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="go1.4.3.tar.gz">
+ <hash type="blake3-256">e045652a8b2ec1c1a208ab372fea044b3c6a03e90e797810e816e9d6e2ba6b24</hash>
+ <hash type="blake2b-512">a094d0ed36f9d581b003e022f10692ed929f2da7508ac2079a83c1e4e3a24bd89b33a468ba2c27b658245682acddf65e4db5f4b09b699778e093ad387a64c1f5</hash>
+ <hash type="blake2b-256">bd6d02379998fc0186fec10a2eaa133e162a56829e8cbe373dd76af7089c7ff9</hash>
+ <hash type="skein-512">841282ac525bf66f77097db2246950e451145317612d67623b993a034cbdcf39f333cfdb93d6584e535feee0b9a71c534ef063a100f65efa33d2dc4a8e5174f7</hash>
+ <hash type="shake128">381f3062b7c7dcd99c8dbd574322d85ee4a29b76da729cbd6b08580590bb7660</hash>
+ <hash type="shake256">b3bb71abf2f237db923745c147e8b0123809f259b48dcfaa7635ca43fb95db40772d290ee77e82b2672f9748e945376fd1c2b8950a97315c80ee100da146640a</hash>
+ <hash type="sha-512">12bade4bce9aa4b34e2b9495ae65a1fc6a2449b3a43bc4de85c8b87ba223c2f999b2f37c1e2fe1188d8521118b5e5357d27afb8b85c0b8ebb4503d4125d25273</hash>
+ <hash type="sha-256">9947fc705b0b841b5938c48b22dc33e9647ec0752bae66e50278df4f23f64959</hash>
+ <hash type="streebog-512">e27695548bf1fa011996153fdc03e799e781380c73f706a5170f000cc2b9da210c1de6b2cca01658a99d521588e834a96bfde5e06f588aa129448709edf442a4</hash>
+ <hash type="streebog-256">21020207093dd61df41354c2f33db0356049e43f1b2bb0945cfddb43726ed21b</hash>
+ <hash type="sha-1">486db10dc571a55c8d795365070f66d343458c48</hash>
+ <hash type="xxh3-128">686043c325ea3c268b16e47fd42e38d6</hash>
+ <size>10875170</size>
+ <url>https://go.dev/dl/go1.4.3.src.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="gocheese-4.2.0.tar.zst">
+ <hash type="blake3-256">3fa8f35ace5d894df7a84561eec6c827cd9e59f9829d65862c63881dce9cd5bb</hash>
+ <hash type="skein-512">055a09ca90e01a63e36d906c1704781043e636cbd1c337d8519141fa408f9489bc4dca9c8ebfddb39eaacc3c186c1f6a13a6422388cdfc22087fd77f3563a968</hash>
+ <hash type="skein-256">9db2e8b5e041ceff0d551ec9b7a9abc21a6e087a760eea602818bc107417cccb</hash>
+ <hash type="shake128">b613b0305369bcf562f1da48a0dcdc5896a890f1c8cb9e8f2fd4e570942544b1</hash>
+ <hash type="shake256">58dec89f6e54b416624a47d0d7fdd96aa36143657f87904dc55a4eda6478e20694c032d4ec5cebed01a00e14faaea5f698fcce0468cbc76f2005fb8e32ff9ac4</hash>
+ <hash type="sha-512">394ee6ad4f01625f2b8151dd24a7278c0b7bdfc5e95cea0e2e3b3de94786b44c82bdffe93cf7375f89b08b5f77b5e0476cd2889b2fca3ea9d94ee9bff9eb21c0</hash>
+ <hash type="sha-256">485569f7ae6629aa503a63e1a49936869eaf5781619526c75c236f4763d32273</hash>
+ <hash type="streebog-256">c4c11de5d2c62a6f397f56df6ab9ddb8cc0f821a4233dac5cde830a212ec0166</hash>
+ <hash type="streebog-512">650a2bdbd841cb3b1c43ea366aba0aa1ad946c42f6a02417940b49ecf99e85aca0122e387272b665bc4517e5e0ae497dfbb6bb168df759526298a3652fa08d3e</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP SIGNATURE-----
+
+iQEzBAABCgAdFiEEmydkC6eEN+xtSspszVzQH1U0PYgFAmW7gukACgkQzVzQH1U0
+PYhgVAgAwlEmQcXlzkHq/4+jxvirY1Hj93scNre9u7ZDDI2EJywoEWp8Em9WG7Ta
+yZD8RQjol/9hEt11y4xP0I9hfhZosr5N1Ornv2CF+TZc2fJ7Ae1IONAiVgezCn3D
+mS3R+0m2kb8jzD/TTbRLUVLRRxgOGPbWj++ZQq/cDnfrPoDo8ZCwmeAj80ZYelzN
+kbWzweJHQuB8ILAdfuzEowQYtMIV4/URvXSOwXj4VWP2fIKKHR5g+kDXoovQAgDw
+w0ErrDb5cQO69cRRGm+7tF64mMXaAzx60yU5GPcZPFD53K43V9zwtaBaINRwY/LM
+0ZiBaVhceher0Asm+OggeU915X7yRw==
+=/Iar
+-----END PGP SIGNATURE-----
+]]></signature>
+ <signature mediatype="application/ssh-signature"><![CDATA[
+-----BEGIN SSH SIGNATURE-----
+U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgfkUPNQMIaWLABYEcoHV44SE9xG
+Shc1zuz1xdjPQXZfMAAAAEZmlsZQAAAAAAAAAGc2hhNTEyAAAAUwAAAAtzc2gtZWQyNTUx
+OQAAAEC/dfBh7u2NwBkVnPNcAWm8iYe2gbQ5EvGlqLE0ww3BpPUR+zmen2b07v/mbM/zju
+0E7xUkz1jRalOqJlTjEccG
+-----END SSH SIGNATURE-----
+]]></signature>
+ <size>68096</size>
+ <url>http://www.gocheese.cypherpunks.ru/download/gocheese-4.2.0.tar.zst</url>
+ <url>http://y.www.gocheese.cypherpunks.ru/download/gocheese-4.2.0.tar.zst</url>
+ </file>
+</metalink>
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+cd "$GOMODCACHE"
+mkdir -p cache/download/go.cypherpunks.ru/gogost/v5/@v
+cd cache/download/go.cypherpunks.ru/gogost/v5/@v
+for ext in info mod zip ziphash ziphash.sig ; do
+ fn=v5.14.0.$ext
+ [ ! -s $fn ] || continue
+ $JUSTDL tmp http://proxy.go.cypherpunks.ru/go.cypherpunks.ru/gogost/v5/@v/$fn
+ $FSYNC tmp
+ mv tmp $fn
+done
+touch "$DISTFILES"/$3
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+abs3="$DISTFILES"/$3
+redo-ifchange "$BASS_ROOT"/build/lib/zip-hash/zip-hash
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+go mod init whatever
+GOPROXY=direct go mod download golang.org/x/tools@v0.18.0
+cd "$GOMODCACHE"/golang.org/x/tools@v0.18.0
+GOPROXY=direct go mod download
+while read mod hsh ; do
+ [ "$("$BASS_ROOT"/build/lib/zip-hash/zip-hash "$GOMODCACHE"/cache/download/$mod.zip)" = "$hsh" ]
+done <<EOF
+golang.org/x/tools/@v/v0.18.0 h1:k8NLag8AGHnn+PHbl7g43CtqZAwG60vZkLqgyZgIHgQ=
+github.com/yuin/goldmark/@v/v1.4.13 h1:fVcFKWvrslecOb/tg+Cc05dkeYx540o0FuFt3nUVDoE=
+golang.org/x/mod/@v/v0.15.0 h1:SernR4v+D55NyBH2QiEQrlBAnj1ECL6AGrA5+dPaMY8=
+golang.org/x/net/@v/v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4=
+golang.org/x/sync/@v/v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ=
+golang.org/x/sys/@v/v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y=
+golang.org/x/telemetry/@v/v0.0.0-20240208230135-b75ee8823808 h1:+Kc94D8UVEVxJnLXp/+FMfqQARZtWHfVrcRtcG8aT3g=
+EOF
+touch $abs3
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="goredo-2.6.2.tar.zst">
+ <hash type="blake3-256">7770f6ea0c0ac008e991fa632d7801bd3a3b32ca9b1d36b9847780079a34b60b</hash>
+ <hash type="blake2b-512">6dc6331a5969d450cdf366dd13320afc2dc04b3aeba2e3631717bf55c201bffc7a9ddbbb24f2e43d81351ac6d3f7a0a254e0f252e5d3202ba3a14c04cd17e780</hash>
+ <hash type="blake2b-256">9cd13f292e02f7f78fba884ed6832c60b4b19dbeb641cc846f85a4acc8ef6da8</hash>
+ <hash type="skein-512">e4bcff46dbd066d1f973c6a6ab7856d114f694a216334cb36215f57090eacead97de163e2ab98702d6425ccced716c1752755d46f898236b3babecf883083ddb</hash>
+ <hash type="shake128">65cd52b4c2f2778339f5e77add24cefb3484f02455969f9a873a61bc3e8f9709</hash>
+ <hash type="shake256">ed536c9be0f65c21ecdd2b3f3edfdc414156ec9015a9ec7e07ed713bf069d4f321b72998bc4ca330cd2b6c4e6690652639fed6a83901f152cc4ede47a9af762e</hash>
+ <hash type="sha-512">9c3c560da988b0a5a9cbe996c0ae3c1d6bad3f3a2226218027859bd6b68cc8e85d29e5d484c052b4416b3a57d06c3db80dfdc3cd8db4b9fc3c282c3fbd7f22b4</hash>
+ <hash type="sha-256">5663ed0da911f1b2c0d13e92cc06ede3738639edb48499eb9e53d38e8e435d75</hash>
+ <hash type="streebog-512">bb96bf0d5c3d69bdb3e16c38ff4f0b2a82d2a08b90a043deaa3eab008e832e288a0ac4c2ad717a3b70889be520b973456db6b18aa7faab9f5c394f52398e0ea1</hash>
+ <hash type="streebog-256">bde5db771dd8031656fa0b327bf9a9411e4aabde32a65a37a06700951ddb5f52</hash>
+ <hash type="xxh3-128">27561e69c5f22a498b6b32fb7f388e13</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP SIGNATURE-----
+
+iHUEABYKAB0WIQR1MbuE+vC/NZYMY7k6Uo3elSx+kwUCZeBBhAAKCRA6Uo3elSx+
+k407AQDT9GQuYOrQYXPAZswC6+zsFnRx5ev0HOFDTSfGRkhQSwEAuzC0Z6RmUNtL
+Ok1rNzEdXJaGOMmuU8Fk3qa9WCjrpQs=
+=eP0D
+-----END PGP SIGNATURE-----
+]]></signature>
+ <signature mediatype="application/ssh-signature"><![CDATA[
+-----BEGIN SSH SIGNATURE-----
+U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgxzjMZo9GeufIAe4DXwtnTNW/80
+bEDNQg/rhVg34uQ+oAAAAEZmlsZQAAAAAAAAAGc2hhNTEyAAAAUwAAAAtzc2gtZWQyNTUx
+OQAAAEBZe85Z9rWP7o+J+9ilbJK9yDnVJElT4EkRmXqavWRm/iw2x2KyjVm5rNYia9MOVg
++/IjzrNFAolippTm0Xe4oL
+-----END SSH SIGNATURE-----
+]]></signature>
+ <size>466522</size>
+ <url>http://www.goredo.cypherpunks.ru/download/goredo-2.6.2.tar.zst</url>
+ <url>http://y.www.goredo.cypherpunks.ru/download/goredo-2.6.2.tar.zst</url>
+ </file>
+</metalink>
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+
+redo-ifchange "$BASS_ROOT"/build/lib/zip-hash/zip-hash
+vdir="$GOMODCACHE"/cache/download/go.stargrave.org/gosha3/@v
+mkdir -p $vdir
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+$JUSTDL tmp http://proxy.go.stargrave.org/go.stargrave.org/gosha3/@v/v1.0.0.zip
+$FSYNC tmp
+[ "$("$BASS_ROOT"/build/lib/zip-hash/zip-hash tmp)" = "h1:aJJZpPd0pze3vUEdeI7rrhtYfbsBwxGCBAj1KH8u4hA=" ]
+mv tmp $vdir/v1.0.0.zip
+go mod init dummy
+GOPROXY=direct go get go.stargrave.org/gosha3/cmd/goshake128@v1.0.0
+while read mod hsh ; do
+ [ "$("$BASS_ROOT"/build/lib/zip-hash/zip-hash "$GOMODCACHE"/cache/download/$mod.zip)" = "$hsh" ]
+done <<EOF
+golang.org/x/crypto/@v/v0.8.0 h1:pd9TJtTueMTVQXzk8E2XESSMQDj/U7OUu0PqJqPXQjQ=
+golang.org/x/sys/@v/v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU=
+EOF
+touch "$DISTFILES"/$3
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+[ -d gostls13.git ] || git clone --depth 1 --bare git://git.cypherpunks.ru/gostls13.git >&2
+cd gostls13.git
+tag=go1.22.4-gost
+git fetch origin tag $tag >&2
+echo gostls13@cypherpunks.ru ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILuX3gTqrFb3G2oW/osn3LIa7X5spo0MTsEIRLKVfJrq >allowed-signers
+git config gpg.ssh.allowedSignersFile "$(realpath allowed-signers)"
+git tag --verify $tag >&2
+git archive --prefix=${1%.tar.zst}/ $tag debash | $COMPRESSOR
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="gpgme-1.23.2.tar.bz2">
+ <hash type="blake3-256">0710d73b362b66c63a7c8243cd758df03e56dd91256de3c718b01a2319bfc5c2</hash>
+ <hash type="blake2b-512">563e470e861c7cc64ecb3e8dd0a0ed8436bc0867105093abcec09f4d1e1dd95cbf64c8161cf8500b9842583b57f6583efff63e5111234e36fda1e6fbedce2f78</hash>
+ <hash type="blake2b-256">286113b108f162ab6fa2807e689fcafa33aa513b6dd42a8ee2d321da33385609</hash>
+ <hash type="skein-512">13b85b340d7eafdef97154580e7eaec474eea2ebad31d94328bf41dfa2665ddae93f824014a77124f8ef8c326b437c9d92acee3ed7bf0c301a902c4d584df39a</hash>
+ <hash type="shake128">0b1414cdfb360231f0d3f9e6505c0b8e50d1aa19e926fd571ee534d50f607ed5</hash>
+ <hash type="shake256">0b95f22b85ac0fdd672a709050b6c6c224f8b3c6cad385e7f2bb3aaf136f93d9323d22450076882d318a7b2f621943de6d933621e8ac6f4358503d5ab085ed2e</hash>
+ <hash type="sha-512">6cfcd07e81a93de240582de5a46545420cee93d1f27fe20ea2c983780fdd3036b69fdba073cf549d68a20791e189bf4b3cdde14a43f912d2ab9ef3414c83ac75</hash>
+ <hash type="sha-256">9499e8b1f33cccb6815527a1bc16049d35a6198a6c5fae0185f2bd561bce5224</hash>
+ <hash type="streebog-512">7d3ed7edf95e132d5df06fa177f1f7d3ab1ab09218714582732bb0bc41938da954c3c3412c63941941f8f02d6dd71e6b54c4674eabd0f3fb8e7d0607694fe8e7</hash>
+ <hash type="streebog-256">494725b1a60d6222d28a9429181018202c3568790c5733cf9b65c3da35429dda</hash>
+ <hash type="xxh3-128">594db6f6818dd60988c486022d20809a</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP ARMORED FILE-----
+
+iHUEABYIAB0WIQRtqm5kp20oQFcbSQJSiJe4JkA62gUCZWYLgQAKCRBSiJe4JkA6
+2r3gAQCYkHYW+R/v3EKizcvFM2BQvFytoHjJ5jOpGPOOWvNB2QD6AyT1Uki7PqEd
+G1bm3slXew66ekBng9OZHsook8+XMg+IdQQAFggAHRYhBKyOEVv3Pi2NR/qZCOmO
+my0Zxsi9BQJlZuXMAAoJEOmOmy0Zxsi96JEBAMDcWVed0oV72jL+rVaAfUBhxDGT
+pxwqNV/fmWzLDNJDAP4kqJDF0WF9pdh8/dNDHpclAlvyCZmPJ066Zt4A05N1Bw==
+=bJyl
+-----END PGP ARMORED FILE-----
+]]></signature>
+ <size>1836904</size>
+ <url>https://gnupg.org/ftp/gcrypt/gpgme/gpgme-1.23.2.tar.bz2</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="grep-3.11.tar.xz">
+ <hash type="blake3-256">fa0a68606866691c453dc0aa0843bf96707d18b3b30000042d28d732d13cdd70</hash>
+ <hash type="blake2b-512">e21785bca20b5a090d32bb5dc525fb298af30165106ed4c289b1518ea3d2acdcacfd6309b12f13be29a4b958f19588546119c695deb2b7500d49dcff86357bdc</hash>
+ <hash type="blake2b-256">02276155376652a6413281d2f553df3696a8d8cfb7cd4cc01a385c828107e0c4</hash>
+ <hash type="skein-512">3b391e055fd4f8fb468ea9f49074045ee512c681d17c1a57a9717ef6cebda597224b209d708783d1bcf56ee6de6903f38a351fbae5f02047b457b8244b7b73df</hash>
+ <hash type="shake128">60f340f61571067e5766849e6919e169a98f352835eb8976ee60f85fc072e054</hash>
+ <hash type="shake256">6d5e0421cb63a88b81f6e6220ea45625bcf006ff45448a0c6a1542a6d988265a541f8b26448fa056e9c6a1ac61526ef2d510e85e438da598c75d69e78ed57ad2</hash>
+ <hash type="sha-512">f254a1905a08c8173e12fbdd4fd8baed9a200217fba9d7641f0d78e4e002c1f2a621152d67027d9b25f0bb2430898f5233dc70909d8464fd13d7dd9298e65c42</hash>
+ <hash type="sha-256">1db2aedde89d0dea42b16d9528f894c8d15dae4e190b59aecc78f5a951276eab</hash>
+ <hash type="streebog-512">8d6d4bcaf67d9fe81c572732cec8eacd2557aa19b6ad5fee3780c802dd570ee7a523badb96c5abc2e2f130eaca831696cab0b676da707c7944b5c444649476ed</hash>
+ <hash type="streebog-256">881a356bdf8f11587972f0f6c8bee653edc03c5d933b1fcf9a7b6f008ff7af78</hash>
+ <hash type="xxh3-128">b2e9ef17e46faec7cc77e2e1411d7a34</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEEFV0/xQDINEhtHupnf9n8ywAL7u4FAmRfTKwACgkQf9n8ywAL
+7u6GLhAAlhO11xMM5IG9VbQoT3Qa3i+T3f6r34N7LWUMDJE2WUJojujuQ7Ac78fU
+mxm0Z+t6+vaJzrmNtnotmhg2LK7rWVnase64o0t0GB3/gZumJlSHL0jQzKvaKoGz
+vwE4yfRRN5uM284Xmb/k8EyamG+3oyoxWk/Ml13vouEPxPbu0Oe2vlChl8tL0g/W
+Wi4x8ue32ZipBse0QyE3l/fxnOQ8MCwVqzVr+psGIa6vmSMhkuDfEprTAfZLVRbN
+AzsZrZ1BEtlTzitTMxWejTwI/4Eq2FguAJXgEESaPBHhX+XRC3ArXNtycTcWmqB1
+wNwDLz3bpzns0g24WJ3B8ahY0IxzXfbqkUEy4MNVClsz4+iLUlbQIB48AZbKL9Bo
+PhmsJoxDFI7D2Cam2a6iK6aprtFOal+gTRqPmdvqCgxShvZxgndASD0SKc+0CAik
+FkNz12NDp5hYZDSUO+uSiTKaVzlYCKqLnPg0CVw++u2H+QsP5BgqJr3tkc5PwXmX
+TfwFWTx4h2xasoBe4RzFw4RMRejtDVaNUSAoSj6FhHcW7NYYJeURZb/0FpAwWov1
+otjDCU0NzpraAB/xk79uwPxp8InfEM6GYPlEi2hkPQBT0HZY1MZYaIzW0h9lLxlU
+vr8Dvr9uUlNIHse7mWc1zm1dFwOjWwCmg6Lfaj8DebAvEHI5gNQ=
+=9t3y
+-----END PGP SIGNATURE-----
+]]></signature>
+ <size>1703776</size>
+ <url>https://ftpmirror.gnu.org/grep/grep-3.11.tar.xz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="harfbuzz-8.5.0.tar.xz">
+ <hash type="blake3-256">5239e3b8e347463d2a8cb0bbeb9ee92022a264c7c68ff4da9089918d5a69a8a3</hash>
+ <hash type="blake2b-512">f598d7de953834499d1ab36c0fc9d95099fd7e99b87f630e1527aaa39deb2d339b9f3caaea3643238c6c1b321557f794f273929950b54fe9de2faa430d77855a</hash>
+ <hash type="blake2b-256">5f44dce12cc8b4aba92f82c9148524567934a5e98f325eedaea752268702e2c0</hash>
+ <hash type="skein-512">a5a2a0ac3e30db6893605e5101674727021523130a26a3a0e73feb3d01e56d92f6747772f5a97a94a078b592000444105f6e1322f2f581855ec25c0a35f63078</hash>
+ <hash type="shake128">6b602cf99bc94008601ce1a0ac019506ab5bdebe79375f71f5e3f90cfaa591dd</hash>
+ <hash type="shake256">86eaeb10ff23c72ba8ab2b4c2bf0e9a79cfc159cc3c6661a287eb8ff077768c9f445bc3bfd604d80a8f56ce3269de312e392c440cc66c3c652dbca3695c98e2c</hash>
+ <hash type="sha-512">d5762f77b0913792d34596e6f3adb98ab693e2ef928396f997ca2e647ca7cad13fdd204fa15b49e2f7c33320ff210d7f078215d5765c9365571458b919a4f10c</hash>
+ <hash type="sha-256">77e4f7f98f3d86bf8788b53e6832fb96279956e1c3961988ea3d4b7ca41ddc27</hash>
+ <hash type="streebog-512">d30e9accae6ecbbeaa77d849e8c3753ac086b282c22880c9b67c76abd432c1e9c5fd1ba18b1bb922d9b659225b72d98429c45a1af646dd85f7bb85768347fd2e</hash>
+ <hash type="streebog-256">646488301ef700f30cea6a44e90b3d1c492f45125d419f37923a2da412d9ed25</hash>
+ <hash type="xxh3-128">080ebf2d02500539e071aaf7545f97a0</hash>
+ <size>19468172</size>
+ <url>https://github.com/harfbuzz/harfbuzz/releases/download/8.5.0/harfbuzz-8.5.0.tar.xz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="httpd-2.4.59.tar.bz2">
+ <hash type="blake3-256">a5dc193b7b84ef2f102b383a55fd11c622e92fc65a7a060b85e5c394e93b2272</hash>
+ <hash type="blake2b-512">836e3538a120d71c016149397a4efd61ae6acd8a8fb9d2ce117c7d86209c4b40c0be3c464007891f28c58182e9d40a8793abe9e94e642354492954af91d9878c</hash>
+ <hash type="blake2b-256">e8eb7df9d423a08304db353d9d9cf57d3551f2918a99ead90157c275c02ac218</hash>
+ <hash type="skein-512">a67f6c0cdf180797f3fb93c259572c54fce17b1cc50c7de3a59664fe9e2b18914953dca49699a1d39c8d8a2b906f86a112f1553d53e16548c997fe2f87ca982e</hash>
+ <hash type="shake128">1dc203a7d20e0979bf447059bb1618b0b52d8951f2a3445235231d7c96f1e75c</hash>
+ <hash type="shake256">a2570db535c70bf9e100f5fe3f6e696378e6e0a25ab39745cedc31af7513bb03a9146d05378a058c1f63deab1268d3cbd5d4e39ebea3eb08e73be85b3d131be6</hash>
+ <hash type="sha-512">209da0bbac5e2564d4590302515b35495be6402273ff4024aa93e85e44554c95e053201d606383936425a41e1b5b97e6b40055dcbb385eb691a5029a6f3158c2</hash>
+ <hash type="sha-256">ec51501ec480284ff52f637258135d333230a7d229c3afa6f6c2f9040e321323</hash>
+ <hash type="streebog-512">32809013dd516329f8b3fedfb29a0684a1b95e515c5c26deeeda3375830cbaa4fca0a68e0b2839f5bf272cfa40c036c47b86d40706f89bafa4de512c827c0438</hash>
+ <hash type="streebog-256">34e622e5157ddaf8b510feb0376c8a3274b875d50f732888a8b04051159c3950</hash>
+ <hash type="xxh3-128">ac61ec0385bdc84105e72f1867ffbe21</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEEZbLUT+dL1ePeOsPwgngd5G1ZVPoFAmYNSicACgkQgngd5G1Z
+VPq4Hw//ah2IWHUlwcCbgIGFWh7r4PlLIOQXUQaiBWrAMjpboT64kPXBA7fylxgB
+vUheKnxJZY2UPoOkHN75hBxyLXZCDJ4WkKQny/992XADWOSVHE/arDX1cfnFgUQA
+VrLPKVz7/UVorzx6tEqCCs8Uv3zrtmqhKFRJLRs4tdrYdzwASAl5rOllKx0vkvwv
+hlED8jr3IxGTF5mwp+g0ZrvjIWM42VQYFoSXI8hdacOiF3NnIFuPDiq6WIDaJ0vZ
+WpBisebo3kP1i0ykwZH+UBoDbEEKcxDVCotZmUjPu1YZ1Nti451oHKtkOSkIbl/M
+KKjtpM7mPikj+JARjSBGCaUsKTS8CoB+MnGf30DCXvK+mnMoQSnW9Cn/i3c+dq9l
+qVIYHsvQTVDhA6rinEJchaz/agQPW9Ilv3T+qYtzM6SsDcy1cYIwyUcCB2vABSHV
+cOi9yoGvrc9HHiL0ji5Rsd+zXTdv3kbOzzkhqsnnZc38A007HFS5/jw0PIAf2tfx
+N7VOzMtvgjtjtw3BxJyq3rnc/8j4RJTg/gJhw2eaqKweqUYi0V3ENj7tihYfuKEu
+W2t1PzoBcD/8oy/egAgIftlB0JcvTq3r6tOuyM5yN9W1f6LpsYVil/D2kXSzDD3Y
+LSqSEfLevbPx/mzLujT2febr1BZf0I1P/u6JUZfWb09KGc5TMD8=
+=kE+v
+-----END PGP SIGNATURE-----
+]]></signature>
+ <size>7503198</size>
+ <url>https://downloads.apache.org/httpd/httpd-2.4.59.tar.bz2</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="icu4c-63.tgz">
+ <hash type="blake3-256">10f8d4548579c78ec56dab5018bcff26e6d10bbed15ec9e1e8662fa1fb83c624</hash>
+ <hash type="blake2b-512">5a665554506ff705c83c7a03a1b5598b1a48afbe1c6caaccd5a2d7d5aae16b3e18d7bc65ed552fc4df86248a2f13962438f19bca6c2a579843204c7dc52e6278</hash>
+ <hash type="blake2b-256">c837a68625e0da3211baedbbe93e11019337f9b02bb05c02c09dc32def73c8d5</hash>
+ <hash type="skein-512">2d6cd2fe8e6af5abb84bedb8974c65e13554d61b785d47451ea7b14d4287050cd0117dfbf0a2fbbb3cd7ae5a294034ac16b87485d92ff08f3adc023d8fc5deda</hash>
+ <hash type="shake128">9656d32156be3d871963776e81cdb2da6aab43d583f8803d6671ebe68badde0d</hash>
+ <hash type="shake256">8f3cb35b0df4c80e6a717aca862f7182c2da96b02878c33f06d61a5dc15be037c57999c8b30c7689fe73c552df435981cb732b1b75b23ee7c30954924b7cdafb</hash>
+ <hash type="sha-512">9ab407ed840a00cdda7470dcc4c40299a125ad246ae4d019c4b1ede54781157fd63af015a8228cd95dbc47e4d15a0932b2c657489046a19788e5e8266eac079c</hash>
+ <hash type="sha-256">05c490b69454fce5860b7e8e2821231674af0a11d7ef2febea9a32512998cb9d</hash>
+ <hash type="streebog-512">99129885e7340fc17e7667541259222424566e8cea8a0d1837d46ee74e50bcbf2b9230de8e0ccfae9b73ff74a607575f97ea32ae6b0d0df38b9bfd87de27f0c3</hash>
+ <hash type="streebog-256">69f05780d4dd1193cffe894eff1436b2a465b47b168b8f005a795a1c680a4d96</hash>
+ <hash type="xxh3-128">1bb52252d43e35cf93608c8d1d525c66</hash>
+ <size>23746939</size>
+ <url>https://github.com/unicode-org/icu/releases/download/release-63-1/icu4c-63_1-src.tgz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="icu4c-75.tgz">
+ <hash type="blake3-256">4a02c9a2e790582e22233681c118f188d516be433a49ffec8bb2933809fe5fef</hash>
+ <hash type="blake2b-512">2772b52bf59407188511359ec54bea432bc70ba81610015bb51192f7aff33d5e4b08840cf3bfed3de7f9a91b430b6a6efe9dd75fdc53327d4c9f8fbf54d96d18</hash>
+ <hash type="blake2b-256">50ba6bf200f2fa3f21483877a626ce56c593baa2197564c8c6457f0a12061485</hash>
+ <hash type="skein-512">518275b1b820eb8563cd2e390b703bc93889c02032067914a69bc924a0e2e061241dd0b3699cec798314def6c1471780a04dc757469a032688ee30f2aab6a8e0</hash>
+ <hash type="shake128">f6db40ae2b8b29185b07c4929f107d37c4acb614f2c7fa2f2689005c087e7522</hash>
+ <hash type="shake256">83649ba217a6ac5497d7abdf90d86bb8d0f0e85b8a33a0d9002f95ee895d1f0f6dd1b083ff0cf70d714d138dd4ff705e10492d79bdfd65648ab9bbb7d4a734f0</hash>
+ <hash type="sha-512">70ea842f0d5f1f6c6b65696ac71d96848c4873f4d794bebc40fd87af2ad4ef064c61a786bf7bc430ce4713ec6deabb8cc1a8cc0212eab148cee2d498a3683e45</hash>
+ <hash type="sha-256">cb968df3e4d2e87e8b11c49a5d01c787bd13b9545280fc6642f826527618caef</hash>
+ <hash type="streebog-512">1c8b952777744c2ad7205facfd73a0e12c489883a78755fddea97887ee6e16deb632c8add9242fd4d23e68b7f008e94949e3fcd3d70511dbea45c6d81630add3</hash>
+ <hash type="streebog-256">68ca910e3034c0676722f407cf8898c31aa1676dec1cc0700421fdc43419b766</hash>
+ <hash type="xxh3-128">773d70dcd0b51daa2f0578f4a0a6b625</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP SIGNATURE-----
+
+iQGzBAABCgAdFiEEPaNTAafDMCV7h1V1QFj2dAbqpqsFAmYe924ACgkQQFj2dAbq
+pqtdDQwAtkdxUaFTYGOO97bDj0TtGWAtTJa5os1UObJnrrqmRv3NMcrvVSLA+dnA
+MU8okInvqks8fradtPfTwylh3fNQfTJPEKmHTf6e2izva6F1n8a8ugpEmI2p633O
+N0UkgU7Y1TsGC0qw5U38Qu5tINSxpXZmiobsjqTDPoAev4NeTqWmTVFSM/lKeYYD
+w+zxRuI/rbcCu3qnc0LyAekN5GC+r/hqKn9Kh3hqrpP2MfSZKsuhG3KDjIzcPln0
+R4xUD/llRBM7hSfSlFJmD+x59yxkhB+JBKBIBbyuPGNChHW9Xk+21Z7lFaLox+SN
+YYD4W7Uq2brdfjhTiRcpT3+Uqym4Rw4eVDYAH7TbPlcy3K60PZArFsnEmaJycYvy
+i/tyalrUjzBX48AoQiB8me2wXkL7g/eFzqn/4P0auwqZ94gwh4TWebQp4Oti2HNw
+hGBk0cEVoxWlszQZ9UHim76K9P2zxNZilxKcvlK43OPcZA5Ki0BX3fxHgxz+qEjI
++nYOQ/1S
+=QxoD
+-----END PGP SIGNATURE-----
+]]></signature>
+ <size>26568378</size>
+ <url>https://github.com/unicode-org/icu/releases/download/release-75-1/icu4c-75_1-src.tgz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="imlib2-1.12.2.tar.xz">
+ <hash type="blake3-256">a520a54a086dd165fd608d4f30eb3c91dfb3a9c9bd328f4028fc30c514903de1</hash>
+ <hash type="blake2b-512">6b1bad56a70c3beb91ef85d6b7a40c80d0f3d2dc8b87bb9d37f2073ab0154860230671c3e78bc87051e5f25fc5871a036cb51dcc24b6734dcd2c322f406796b3</hash>
+ <hash type="blake2b-256">d36fdf8dce28dabf0f95d96c135d09dcf47f3865eb1ddca4c20c02e69cb4ac28</hash>
+ <hash type="skein-512">640c25ecd7a28c959ae2fc2bf5441961a85ca5f8b6bc34e791ab7c88b5cf0e282b97d4a2319ee92e7b64cb74ef8d8be5a3a30e423e6845921c4942f528d4a560</hash>
+ <hash type="shake128">7bc6564e16ab38a067e2ea5021dca73a9a88aae770be34934aee747eb00662af</hash>
+ <hash type="shake256">f3a12e79684de85a7a1d3eda8e08bbf45894a1460716e522530422a29adbc105b21412a83fd0c187158d9f088a24661eeb0eb3699e5330d51742c72d10bc9b21</hash>
+ <hash type="sha-512">3bffb8f0f6b3ec73a81f1d0c6ef3a3443425677cd8a1950422f102b67769c06df54128b21f84bd6c7880120cc5ec6f30d2ab134b3c001ad77f2d39efd749a5b7</hash>
+ <hash type="sha-256">cc49931a20560968a8648c9ca079085976085ea96d59a01b1e17cb55af0ffe42</hash>
+ <hash type="streebog-512">b25323c212d8a3c65b5224e0bfb8a034b829ff276abca027370edc52a0a4b6ff5255f7d98f6ebe307a5dc4f878e492a858cd799865675b34f61e245718a63c40</hash>
+ <hash type="streebog-256">3d847c36b478f2633c8c569378950c9dc5de56f1a1259fcfc06d81d00a8c634a</hash>
+ <hash type="xxh3-128">477b0da38e0371ae128dfab222918989</hash>
+ <size>831812</size>
+ <url>https://altushost-swe.dl.sourceforge.net/project/enlightenment/imlib2-src/1.12.2/imlib2-1.12.2.tar.xz?viasf=1</url>
+ <url>https://deac-riga.dl.sourceforge.net/project/enlightenment/imlib2-src/1.12.2/imlib2-1.12.2.tar.xz?viasf=1</url>
+ <url>https://deac-fra.dl.sourceforge.net/project/enlightenment/imlib2-src/1.12.2/imlib2-1.12.2.tar.xz?viasf=1</url>
+ </file>
+</metalink>
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+[ -d iniparser.git ] || git clone --depth 1 --bare https://gitlab.com/iniparser/iniparser.git
+cd iniparser.git
+commit=762715ca6cdba9dcf31a5af9297b444f3b5b8c00
+git fetch origin $commit >&2
+git archive --prefix=${1%.tar.zst}/ $commit | $COMPRESSOR
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="lame-3.100.tar.gz">
+ <hash type="blake3-256">18bd5d721dd053bdf9d4134690aeb118306eb07a530888f1f86617e5aad999c0</hash>
+ <hash type="blake2b-512">6954d30cfd3951ea07762ba5dd7ff27038b78455f423099a225ebf748abddf9970e444456ca5a6179bd381e2205b32293392cb757c203901674860710fe2c183</hash>
+ <hash type="blake2b-256">656514cdc0a528471b14f335988c2156e9c98509c888845fba82b8a70fd5f817</hash>
+ <hash type="skein-512">0b780c9cb047b34e8f077a1409517e7bbbcaf1f14cb9ccf7fe220cee5d2a376dad3cea0197263496ab03aaf3a62daa6b2beed695c89d5c444806d56bc912afe6</hash>
+ <hash type="shake128">c7e9dfd23e81f3107ec2543c57feb03d3e0c1ac820d715ad8063f998d8aee6e8</hash>
+ <hash type="shake256">22e015146867f5e667ea02e256f0ec1bd0a1666a7344621cde663ac8f6f2778e6b64263fc8f9f06ff15d651ca5e01362c5fce3a1599e3ecd267fefe4904bdf52</hash>
+ <hash type="sha-512">0844b9eadb4aacf8000444621451277de365041cc1d97b7f7a589da0b7a23899310afd4e4d81114b9912aa97832621d20588034715573d417b2923948c08634b</hash>
+ <hash type="sha-256">ddfe36cab873794038ae2c1210557ad34857a4b6bdc515785d1da9e175b1da1e</hash>
+ <hash type="streebog-512">4cf6bd3b0fc8e409828197c37a46a7a81dcf86e0b3bac5f2db2f25ce1226ce3b67b68911a3d804fad8622d2a6e2cc9c76e0f96b07588db620f2d8164812ba6b7</hash>
+ <hash type="streebog-256">2fb3285563134a57f94634c9fe2b8d461b6f744a61fb865772e1bf0e200f1217</hash>
+ <hash type="xxh3-128">946c1940fbe0bc91988d33ede48361d7</hash>
+ <size>1524133</size>
+ <url>https://deac-riga.dl.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz?viasf=1</url>
+ <url>https://altushost-swe.dl.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz?viasf=1</url>
+ <url>https://deac-fra.dl.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz?viasf=1</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="less-643.tar.gz">
+ <hash type="blake3-256">d67b8c6b2080020472d446b255adb69c05ee7806611ad99bf579908a613dc1d2</hash>
+ <hash type="blake2b-512">6dc60dc2e8db05afdae466877a1d26a3008ff5378bbbf2fbdf9efc4f87c0fcfde5703d44a24d4355c98d3a5f438bdb51173150f2a69f801d9c8e4a7401d71b53</hash>
+ <hash type="blake2b-256">025294c15f292e497ff9084712b0334416d4c1a1af6e0cc92d096547187b3fe7</hash>
+ <hash type="skein-512">cc5616ae322ebc0c678f597e45033d56300bf4746542956e21d1f9581a7cced1ce50d0404d6a2b90aebf6ba6b7932015138210d046adabc195e309af70f9c8f3</hash>
+ <hash type="shake128">bbd5039f2cf46b36a2b64ba228e6a9bc0949e4fa41d19603b2fae233a765c3cf</hash>
+ <hash type="shake256">f152b2d66cd1cb1382eca1ced892675602801b370967ee22fb3ed6a0c3ee7dc08357e479c3b57c2abc4a9a0087229d462aadaf6a0d849d094edb1cc005137184</hash>
+ <hash type="sha-512">6a324ac54e22429ac652dc303bc1fe48933555d1cbf8ad7ecf345940910c014fef9551a3219743cfb7115e356b5841ae97d6ce62e7a1ba1e3300d243efca34d9</hash>
+ <hash type="sha-256">2911b5432c836fa084c8a2e68f6cd6312372c026a58faaa98862731c8b6052e8</hash>
+ <hash type="streebog-512">da7b33f273a37601db737b054d860c59111e8098c5d52606936b331b17f5fe9d8338ba34f018c4772ed29278e6da508206ac4b4dcd91e313c703b97fabfb90ce</hash>
+ <hash type="streebog-256">9789028ead8a57ca3a652dac582d65ffe9fde51f4bb32628a76de4b9bd6ba7d1</hash>
+ <hash type="xxh3-128">074e53a37e666637692854e7bccf2569</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP ARMORED FILE-----
+
+iEYEABECAAYFAmS5uJsACgkQ8VOnyDMjUln5dwCg/OIzMmkuctfJzy517pYzawyS
+AQoAoIanjrv6KJfGSDVtdaspRuQt1IHd
+=sk13
+-----END PGP ARMORED FILE-----
+]]></signature>
+ <size>592291</size>
+ <url>http://greenwoodsoftware.com/less/less-643.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="libassuan-2.5.7.tar.bz2">
+ <hash type="blake3-256">2138671cf698b2930ba647c70f84e76905e28783d8d9b2b671b1fcd50cf5983e</hash>
+ <hash type="blake2b-512">67cb01b7ed9be13a52a37db439666bb8eb709cc63204fe250ff57854459aa8b36655479e887b285fe9ad799c49e66f176f971ab3a871e114cfb217a1f2968d16</hash>
+ <hash type="blake2b-256">9d40d95fcf969fd2b61adeaadecce4855c4f5fc6c07e0becf9ccca9e7b6cb148</hash>
+ <hash type="skein-512">e5a78ca2d8f5b1dc376f305793f1a2ff7c8fa86f11c0311a0191569fbafb1972e3dc036b5b4ff9d5d13a611ee79bb923cdd012bafccfe164fe7e29da5179b601</hash>
+ <hash type="shake128">53e8bc48b3d89f616111d4aa9e1bf8aee4da9e18bedc31fc38b15fad0eb8ac15</hash>
+ <hash type="shake256">723f5ce46aa8a98515ca153542823ab68dab48082a84ffcaff033b6890b9ae9c7983a151bd4d09ffb71bea6a72b227edb197f28c61748d38b9df1cb33b3727e0</hash>
+ <hash type="sha-512">ca33bd0325bbebccb63b6a84cc0aa5c85b25c6275a68df83aeb3f3729b2cd38220198a941c3479bd461f16b7ddb6b558c0664697ca3153c7fb430544303d773f</hash>
+ <hash type="sha-256">0103081ffc27838a2e50479153ca105e873d3d65d8a9593282e9c94c7e6afb76</hash>
+ <hash type="streebog-512">f48890b3486e47f721b8d28f3864f96abae3d4a6311f07bfcd16cdf142edadc7eb9a3bee651128dbbc3a1efb379a79dd0944b109637ab2af345e8edd3e60368e</hash>
+ <hash type="streebog-256">c9c01184114dabb2acb5ee858e462d469081cb0fd8146f5171eee090bf48f33c</hash>
+ <hash type="xxh3-128">b945b5cc114965d9a0861bd89f5544c7</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP ARMORED FILE-----
+
+iHUEABYIAB0WIQRtqm5kp20oQFcbSQJSiJe4JkA62gUCZeh1mAAKCRBSiJe4JkA6
+2hqDAQDvwKJrzFwOhoklYdhcok1+I4Q6srBxGqvTbnICEP0VpQD/SHNeCZKGu1yd
+bBicgXyf1b/b+k/MKO32+WmX3R2BNQSIdQQAFggAHRYhBKyOEVv3Pi2NR/qZCOmO
+my0Zxsi9BQJl6PRrAAoJEOmOmy0Zxsi9N6UBAJK8ZCeR2vJnOFcvlT8CtAc2MKNk
+FgGGJFA3zN009+hAAP9KUiWIJA3DUFi2nksmSlRzkHNiknfCZ6EOTA+Dx9vQAw==
+=CJVk
+-----END PGP ARMORED FILE-----
+]]></signature>
+ <size>605076</size>
+ <url>https://gnupg.org/ftp/gcrypt/libassuan/libassuan-2.5.7.tar.bz2</url>
+ </file>
+</metalink>
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+[ -d libavif.git ] || git clone --depth 1 --bare https://github.com/AOMediaCodec/libavif.git >&2
+cd libavif.git
+commit=7fbc20cbfd8d92149bd33b7f03a8646fce48f999
+git fetch origin $commit >&2
+git archive --prefix=${1%.tar.zst}/ $commit | $COMPRESSOR
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="libedit-20230828-3.1.tar.gz">
+ <hash type="blake3-256">f5151572d477a16b5f0c15a2fcc0a4063374609c1633d880d3875ee3ee327d64</hash>
+ <hash type="blake2b-512">bb54593e0d9b92c09027edf3f2ca25631d8684ad9dd6359744ad3b1121b16e2e9bc4e4dbf1d02524ed0605ccaab2564c115adb6da338984e831433a9af4c7cb9</hash>
+ <hash type="blake2b-256">2d411b9f020a7d52e7fa27a23fa62bd253a94ef355e26021ac86273caad35e4d</hash>
+ <hash type="skein-512">f0f9b430ca08cceadb7110a8b0562e968b426393a5b30c03934b018b2c3b338134896e54774271b7110e30b2eed8142a2f2fd32818d663e73743d18ea6b13141</hash>
+ <hash type="shake128">19a00cac0962015685ceac49fc4e9a9e2460970a0304b34bed76f80a666ff153</hash>
+ <hash type="shake256">2b6b4fd1d1de1809f32b9ce8cb243f7705482777d5581e8c80c167dc3e6ef7d311bddc7719241d3e6096e820e8cc2211550c029ad1d01a3fe78d9faebaacd5a3</hash>
+ <hash type="sha-512">c7232376ef1bc128ed79f950a5f1f207f874011218682d7e6186f76443927df5483b46c4daa8cf02e327079259aee1a56e2b791aa682491eb802d90ff8940cca</hash>
+ <hash type="sha-256">4ee8182b6e569290e7d1f44f0f78dac8716b35f656b76528f699c69c98814dad</hash>
+ <hash type="streebog-512">6d16ffd6a693cd4e7864cdf273b86c2d973d7b37fc7e065713423c5b2b94011c3453403e3c65a14b49fb2c2380e9c60b52d24ebcd77d058991df6eef05b0dd56</hash>
+ <hash type="streebog-256">c53d9a5733c27e4a53e22ca45be3a0af804102e90867a6581d46081f71688b6e</hash>
+ <hash type="xxh3-128">69d0b87b87bd70bf1b37aa6b16706a3b</hash>
+ <size>534072</size>
+ <url>https://www.thrysoee.dk/editline/libedit-20230828-3.1.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="libevent-2.1.12.tar.gz">
+ <hash type="blake3-256">72be05db4f7879f05fe6fd95e485958223c4a0c6d3ffbb50d5ae5ebc82b8cc0c</hash>
+ <hash type="blake2b-512">bc1ace15f639ecef2e6b3f95976b8830c1d86f1d06606dd949e2978611fdf9859ed4eb9292d13e6e90e3835063edb94aae64a15c518d5dabe680f37d5a7f5290</hash>
+ <hash type="blake2b-256">8a83ed74c2ad0c7dfed89eb2bad67095588a7a72de93ada6d36b9baca8a5a867</hash>
+ <hash type="skein-512">f0e8afa887abcfdb0170b428620ae0c7fdd856c3bd808ae38d89145a8b8a5fa4171e10bc7e4d1eef2b67f834e5fba9d82e2827b024e0cb32f62d12ba33afdde6</hash>
+ <hash type="shake128">058cb9aa845ca7820e0c3eed07955155f5615df663a56d6a7429f8541e57745e</hash>
+ <hash type="shake256">859aa260d6f80130b885f912047f050dc7d9071117b3481eec65a1d51a39fee9b2b531724a3dfe647534f6284b66b34b69f3ee258cf87888ec7184901358859a</hash>
+ <hash type="sha-512">88d8944cd75cbe78bc4e56a6741ca67c017a3686d5349100f1c74f8a68ac0b6410ce64dff160be4a4ba0696ee29540dfed59aaf3c9a02f0c164b00307fcfe84f</hash>
+ <hash type="sha-256">92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb</hash>
+ <hash type="streebog-512">c08956735fa050143c0c495b0345431671991eb7591e7d2327bcbd0b333c33f590a4308a0f636b74b43947902d25a710a571047fc0f935183b9994aec18a07cf</hash>
+ <hash type="streebog-256">aa10fd14993562171b4d587332accf5474ed53a7ead815481ff11e75e1c9b402</hash>
+ <hash type="xxh3-128">7c69ef9f357dd8f1211ba55d845e3870</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP SIGNATURE-----
+
+iQEzBAABCAAdFiEEnjrIOieXS4TRs0AduGCGhI74aG0FAl8BwzYACgkQuGCGhI74
+aG31WAf/ZNi3PMWw/N6L03Ga4jD3HVPjfY60zGM3MAIT//4hyEhSBfdvutSawt/R
+GLOFXAEpdVWi6tojKiKUPKco9mEkLUcY9C/ZTosD1F8tXGM1IEogK7AMrJo8hg1/
+4fW3tnIiU6JFcuPTIL1a5ReaOPhUCfDiikqx6LkWYuh8fNn2iKcG4Ev6NaSTqGaE
+sQyshQb0Y1yYSImSjEJQr32d4JxN0z4n03aHruMJ4MHZhrUDzhmQbqLh0KQYybP5
+G9jmeUqMMQJzlTLn1xCIrQehUeUVKg+WtXfDvWKfbSCyRVJfWO3RsHQvzoyflzuj
+Nor16y9qAleMVO4i0kHfhGuyCEwx+Q==
+=nkKm
+-----END PGP SIGNATURE-----
+]]></signature>
+ <size>1100847</size>
+ <url>https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="libgcrypt-1.10.3.tar.bz2">
+ <hash type="blake3-256">d87cb6843d1cbee907f15ab1d14e3fb5d6979ca5e7567d0898c4380050759317</hash>
+ <hash type="blake2b-512">1a228e02820e886016eb55dee75936c4422a15fb4f95a2f9bcd1e4faac4015d4321c7c8d23f164eb08ece5d62935ab3b3d3104eabfdd22db997ab3e5689dfa6f</hash>
+ <hash type="blake2b-256">e0f423c368d7d95a0471e33c76764a9ce6e1d82a44b9c49282eaf76033faec75</hash>
+ <hash type="skein-512">e821df6e1e83ecf0a2abc2caae711158dedb7f98e9d0f723057bcb3d55988b50988cea140cbe4e3c482c2c38be049299346335ae79e8312d5d5fabfdd053a97a</hash>
+ <hash type="shake128">158c425b6caa495bb3e97bbfb558c055bd7ca53c7f8a354638eb1d9e4458240d</hash>
+ <hash type="shake256">8f186f1276304cf643edcfa9d756b4178a1705fd92fc0a532a0aeb62db840db11d422b0637328a0536508f921e85d913a10604bc326c50de7bc7284d128a055e</hash>
+ <hash type="sha-512">8a8d4c61a6622d8481ceb9edc88ec43f58da32e316f79f8d4775325a48f8936aaa9eb355923b39e2c267b784e9c390600daeb62e0c94f00e30bbadb0d8c0865d</hash>
+ <hash type="sha-256">8b0870897ac5ac67ded568dcfadf45969cfa8a6beb0fd60af2a9eadc2a3272aa</hash>
+ <hash type="streebog-512">9dad84f494dcb5ddec684f753e1e6cd8f01293032ba0af81be1d9798b5edb46e589ae50fad517863b18e7644af2290efcea7954da479a597e974c7e4c52102e4</hash>
+ <hash type="streebog-256">8b6d7c34ef1dd8c6d7fdf280058f76c97dc716ccc7e0478e96b0505a5ecc0f4e</hash>
+ <hash type="xxh3-128">138d55ddd2652cb5dbb6b12d88eeff25</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP ARMORED FILE-----
+
+iHUEABYIAB0WIQRtqm5kp20oQFcbSQJSiJe4JkA62gUCZVNirQAKCRBSiJe4JkA6
+2vWOAP0eowqNx6NHBpoC3BG7NYNeUGJn8ZlK1hyF30kJopyTIwEA6ywjUbj4u0ev
+3/z5I8YY3gOnJek5HclupLELtOWgqgSIdQQAFggAHRYhBKyOEVv3Pi2NR/qZCOmO
+my0Zxsi9BQJlVBX5AAoJEOmOmy0Zxsi9Qh8BAP34JT6/9rMCe5UkSrihecLVAZ8T
+G9ZrKrUBIIuSSSMsAP9u5brkH2z/bAGAS9gYPtcWXdma5BIzv4EwRmiYiAVSCw==
+=4eAd
+-----END PGP ARMORED FILE-----
+]]></signature>
+ <size>3783827</size>
+ <url>https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.10.3.tar.bz2</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="libgpg-error-1.49.tar.bz2">
+ <hash type="blake3-256">0ea7c72ded92e4a09ba89dc35e5dbbea1565063cd8bc7e8053a4085b0cd2b139</hash>
+ <hash type="blake2b-512">f1d7ce3c8b32a1a98495576b4ed7bf938b847a84d0fa3ed585d461ad6b136cf87112055a39b4859301f87f555666d9dbf0dda5ec03ea6270802d98352224071e</hash>
+ <hash type="blake2b-256">e10198236660515e26359db5452ab5ce55ebb2eac02c782b9fa725619dc5af56</hash>
+ <hash type="skein-512">f3b03046a7c5c0289e8f4eafb6f5ca9bc098e0375edd5f516c0ee60e7a70762498574f22fff114420032c5c921e9d4fd59f816acd54add0380f2f3e8f93d6a35</hash>
+ <hash type="shake128">b045035a08cf788ead5f935d18b7bdc3b359351117e22eb5e53cf2cc72c4b5fc</hash>
+ <hash type="shake256">c7d94a832e75f74406565bce620e80668a5cfd42ba9197652be11a1f04e2cb8a63b3bc96fea4e2faaeb3354a3bcc79aac2b39a30d9945ef16b38afcaf3b6c991</hash>
+ <hash type="sha-512">bb4dd3faa8e2ec945e61fb2006697b48a51da7ee510b6650a6ab09c8734a987bc33c9835bc710ca9a9395c088271939091be418efc6ca5130b426c2fbc4959a3</hash>
+ <hash type="sha-256">8b79d54639dbf4abc08b5406fb2f37e669a2dec091dd024fb87dd367131c63a9</hash>
+ <hash type="streebog-512">07409400b610592bfc79f8bd7f8728d05f2386c29821b14acf2147ff95a4f925df11d006bab196d4925e14669b1e17d202e394d88d68b96ce822e40d50d44dc0</hash>
+ <hash type="streebog-256">f42130d8c11a5ab16d3b1e7198fda8af814f3db8938c19fa0e4a969f8f9fbe7d</hash>
+ <hash type="xxh3-128">30e2c37a7e498af496d51611089a45dd</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP ARMORED FILE-----
+
+iHUEABYIAB0WIQRtqm5kp20oQFcbSQJSiJe4JkA62gUCZioTOwAKCRBSiJe4JkA6
+2r5YAP9q33U2RumdZ9RJ7tPyO0YFJBtFywEH/RuItBlgs81w4QEAojlRgTFZQYkd
+fjH+f1Rz/gqlNk8L74iEUO1fklxKyQGIdQQAFggAHRYhBKyOEVv3Pi2NR/qZCOmO
+my0Zxsi9BQJmKzvPAAoJEOmOmy0Zxsi9siAA/1c8GsLR6hQTihv3JCIcalBsQ/mj
+WbjbC5tzf1KKCejIAP95swwrrSGY5YYQLwIzMf3l+iKPN/eUuLzT2gFaTh9XDw==
+=NF01
+-----END PGP ARMORED FILE-----
+]]></signature>
+ <size>1081175</size>
+ <url>https://gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.49.tar.bz2</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="libiconv-1.17.tar.gz">
+ <hash type="blake3-256">820b3b9fd3e2181bfb95475f01e9a3451e6d751e4f8c98ebcdcca1d8aa720f7f</hash>
+ <hash type="blake2b-512">1d317dd0655c680a2082c38561cdff51ac1a9181d4734a8bb1e86861dfd66f1a6c0846a90b5b88f3b38b1fa9983d9e563551f27e95a8e329896b71becceae52b</hash>
+ <hash type="blake2b-256">02bee85d198439b8286a6d08dc3631f8bc93f56f77510e21049c5f8c91a3a02d</hash>
+ <hash type="skein-512">eb0a9f90f46599b9fb36b5ad648fac06cb196fc7e5d89ba286d2745825b6ef2a28f23dbeb7d474758b04d514de9d5a7f62b42b045631b6e5d4bf28989f795fd6</hash>
+ <hash type="shake128">1e65a9da82e06454cb54b22da88a9adc3dcbf12d67ae6bb0424495cabb0b4dba</hash>
+ <hash type="shake256">d01da3c686ffee69c691bda6a04851ff475229ff1383cfc133dd681cd4943452aad3ddcf5026784307ea858e85b13130d636d2f76c6b49e6c4211d87169c35ee</hash>
+ <hash type="sha-512">18a09de2d026da4f2d8b858517b0f26d853b21179cf4fa9a41070b2d140030ad9525637dc4f34fc7f27abca8acdc84c6751dfb1d426e78bf92af4040603ced86</hash>
+ <hash type="sha-256">8f74213b56238c85a50a5329f77e06198771e70dd9a739779f4c02f65d971313</hash>
+ <hash type="streebog-512">51b6a4bb52e066807a70ef9dd8d3aab2c93d44c58a18dbc05df8cdd4f8e9d775920f80635a95812b45c543ecded910789a37e7b106fffe86a0a2ff55d3ac514b</hash>
+ <hash type="streebog-256">f756fc440f26c36f487a2f35701ec695bc66e7a9ded454a2f56f402d402db976</hash>
+ <hash type="xxh3-128">a9b1d2e5fe4c2f6ac4bd00480905fba6</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEEkAG4WvnhuD3xvalC9b6LJnxqQG0FAmKBG7IACgkQ9b6LJnxq
+QG11Sg//XpnxJ1fYOKbFMvdcPRFf7vsJaQ+ZUNWcQTdaeHGpN3IsppDXseuSBksR
+PhCCT/cfYI9O46Lu4O32ufZxHXemrMAkO0B6yMDk2qDi5w593nwGZAyf2saegiDx
+1EkYwEv72Gi3JVp45RHZnho8bXVDWpi4Tag6ngvJ7S/xcNQWyF30JVmqF3+w60jj
+uJKklm7u46+2+WzHdFlLLyA8sps6nsE0uIQqrUGOXEdt7axPk6eU2Iv8QwLdEvXB
+nJaWb+2KSnjgBxnLE3BAlNyNdeuT9OupTylHEI6cUSDzdqESlK56qSvWquUqPvgj
+rROlVftR9lySaPGFSVtYKk9gcw8qjxO4VVwVYlDksOk6wYpPzF0ozC3EkS1VsbVX
+RtYC29EJOWSAQmeX1eyzX6Ab8n0kNP1/S4bBef7ZFOX477mjY7Z78gstc2JdXoGH
+oMPq3pDdrOANzYMBaFtvf/G12SWaNv+KvoQ77LRkfMPFAJ5YW+5swrBnD/E/qBqE
+82u7xdLhc/+33IckwqnacLS+xVRkKcyAE24LS3MVHSQR33oqKsUdypsqUM4D3shU
+4Np5A4mc0qVq7LmysLmKKiA1QNRi7RTMb9sjHkwIEAfKK+6GjKuR5cl4Y6kshexs
+mbIz7UnIHOW2aAq0hTlWz08NUHdpFt55+q1+bfL/f5s4qZ2ts8o=
+=F8da
+-----END PGP SIGNATURE-----
+]]></signature>
+ <size>5413283</size>
+ <url>https://ftpmirror.gnu.org/libiconv/libiconv-1.17.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="libidn2-2.3.7.tar.gz">
+ <hash type="blake3-256">6859e4da5ae94b12df8969673265f88edbcdc48bd16b3f3388f9cc1a287159d3</hash>
+ <hash type="blake2b-512">40fde88e6be1e4665738855608a65c949834728463a3fb466192403f1076e99f7d399b9631308ff6776a28915251a0136ddfe6a67e8e010c7ccdb7fc64125d39</hash>
+ <hash type="blake2b-256">a592e07a6639d2a09818090fffc9a0377c68789581029ffa4a987d5c3adfe57c</hash>
+ <hash type="skein-512">cd9023a5ec0091f347b0929ae95c76bddba0b98ec991a1dc9e98a50fafe7e03923ccc749fdaf6e0ecf6470d43f880b34286960a61fb27832f9279d5d2dd1c1a5</hash>
+ <hash type="shake128">61d2fe1d06162e54b6bea183342cfb07597fb3332feb0073e77c5ea0be25180c</hash>
+ <hash type="shake256">8538038767bcf4fd31f2df23ab0258ee1e7d274a8455fd74ee8e99ce8458ee865c59eec002e7c2dca2cf93ca2d6e5a4013ac7bceef07051ef14a7ccd19aacd3d</hash>
+ <hash type="sha-512">eab5702bc0baed45492f8dde43a4d2ea3560ad80645e5f9e0cfa8d3b57bccd7fd782d04638e000ba07924a5d9f85e760095b55189188c4017b94705bef9b4a66</hash>
+ <hash type="sha-256">4c21a791b610b9519b9d0e12b8097bf2f359b12f8dd92647611a929e6bfd7d64</hash>
+ <hash type="streebog-512">c234739cd2e9f3ebfb05f3b467d1cf60d1a187537386c531fcea0a16055680e7e43f5271dcbd7367bcc4f3a5eabe6ed552cc1c2bde23775602177aefba59c3b5</hash>
+ <hash type="streebog-256">9e401a50b05b30fe2388cec5058fc25cfc428d274e958e5340d62c7bdbc8e6aa</hash>
+ <hash type="xxh3-128">00a051b07c71046a77977d623e5bb8a0</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP SIGNATURE-----
+
+iHUEABYIAB0WIQSjzJyHC50xCrrUzy9RcisI/kdFogUCZbTpiAAKCRBRcisI/kdF
+ojf1AP0a/xuzeCa1pK+OhbQslaRkxLR3GqH1tGIQocIiqYLwDQD6AitMHqYucJ45
+pN3lzfc+BgM+QX5wfqcWTHhj3YHe+wQ=
+=4hS8
+-----END PGP SIGNATURE-----
+]]></signature>
+ <size>2155214</size>
+ <url>https://ftpmirror.gnu.org/libidn/libidn2-2.3.7.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="libjpeg-turbo-1.5.2.tar.gz">
+ <hash type="blake3-256">f5e1700265d3f7064743ff761a9246d852077eaa480e70c4c8baf490265cf956</hash>
+ <hash type="blake2b-512">8d26af1cf6219e02f13f8729b688175590b01a4ce538ae861e72e6344a319475f8114ad05aefe2f8ffd6b5481c7915bd18097466408729d80212a2db7f99ad5c</hash>
+ <hash type="blake2b-256">f6b4d6190f4e5987b48bd5d9cad2b94e507125f7b8999578786d5cddc0c5e372</hash>
+ <hash type="skein-512">3a9aac0d0642e6c5b49fdd9dfe40b9bae1d4afbb004cc8f318c97767380327ad0a4e679e23436963f97a089e92be25cdac8644929d877247da56ef5eea6427b2</hash>
+ <hash type="shake128">71d2d42add838ab6b90567108d7211836be4bc4e4e4cea48733d1969b18f3981</hash>
+ <hash type="shake256">cf7c2e83bc955b27de8c94559d8478c3b5022dc51120be6995663ba9aaf249f53b84e5262a9c77aea188b7c6dc758e2aecec1ffb5aa2d81bdef377dbffd66448</hash>
+ <hash type="sha-512">c7fe5cc77e38fad33af3f10e6db961c8edf033a86c09541121f49bfa20547179760924e6d3e397f0add7030459ff3babadd3457ab2da4a40a2147dc1574aa444</hash>
+ <hash type="sha-256">9098943b270388727ae61de82adec73cf9f0dbb240b3bc8b172595ebf405b528</hash>
+ <hash type="streebog-512">bda31f021c065fc4c144e5cb12036b813554c4765109c92cacdd5e2fb5c5b4ab0970043ed51a65c0fc8fe814225bb3a487d6e57f1852557627f8b8cccf7e00e1</hash>
+ <hash type="streebog-256">5610e8c341335e14cbb09b02a54bea08e1d1e05612732d59f051b295fce600c1</hash>
+ <hash type="xxh3-128">628f0a2aac39172eb756fcfa5abcb212</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP ARMORED FILE-----
+
+iD8DBQBZX++chccETgM/3hYRAtPpAKCMP7t+waZC4c7G3tM1NIThfdem8ACdEvOQ
+asl1yNUmVR526pbhjsBWQoA=
+=9MXe
+-----END PGP ARMORED FILE-----
+]]></signature>
+ <size>1657235</size>
+ <url>https://github.com/libjpeg-turbo/libjpeg-turbo/releases/download/1.5.2/libjpeg-turbo-1.5.2.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+[ -d libjxl ] || git clone --depth 1 https://github.com/libjxl/libjxl.git >&2
+cd libjxl
+commit=cdb6a667c781bf85679bd085b95fce1f5dd91f80
+git fetch origin $commit >&2
+git checkout $commit >&2
+git submodule update --init --recursive >&2
+dir=${1%.tar.zst}
+{
+ git archive --prefix=$dir/ @
+ git submodule --quiet foreach 'git archive --prefix='$dir'/$sm_path/ @'
+} | $COMPRESSOR
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="libksba-1.6.6.tar.bz2">
+ <hash type="blake3-256">a711148cca33c2958b1f0dc9414669c5389708da2db2b590035bc3984eac4689</hash>
+ <hash type="blake2b-512">9985b16e946d6b407b5acbf005610cfb2f01d2a733ddff110e329dec8d95bd248cce6e9936d441676a4b06f031cc9122e26146a0f6d36cb343fb9ec16aef3627</hash>
+ <hash type="blake2b-256">427f3a6b5ba5c40c0108f5194467b5e4f0a2c100f6b86757f3626bd41ac359da</hash>
+ <hash type="skein-512">d6b30afd9641b821abe74186fc4817cfcb7333a1f1831182342991713b9ca1c1ce8a1fdb9453474750b6e51729a890ebfc12d6f768cbf2d65ee8c86b963ee5c7</hash>
+ <hash type="shake128">71a1b697ab9941bb5d9062512c8fad92271e7650329b098312149bd324a18e09</hash>
+ <hash type="shake256">923b438480c396c4a96e1b4cb8bc54ee57339c5a0e292599a5d7a426bb749922b39e04ca44656f118826acb9bf425796c8d01d8730be465d3b4c39eea1efa0eb</hash>
+ <hash type="sha-512">3b30bef9452ae0c52b4a52e9145fbd6dc57cf7a2b59302e3af063db6b45384e8ed7af62604efd7939b9e0cb5931e946b15609888e9699fafe4acbb0cbf138087</hash>
+ <hash type="sha-256">5dec033d211559338838c0c4957c73dfdc3ee86f73977d6279640c9cd08ce6a4</hash>
+ <hash type="streebog-512">05d11883e4f88c77bd379fb590d06fd528e2a656a52c25b4b172baf5ad8815333b6305d0e6f36fe6933cf693856947018beea3622ee5962c0f91b8525b3473cc</hash>
+ <hash type="streebog-256">9a8202e0e7a9eac6051f4318e999c92601d0a66ce7ac8a9f325c528bf1cdc04c</hash>
+ <hash type="xxh3-128">3a6ff12651d38961a002d22f8df7d479</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP ARMORED FILE-----
+
+iHUEABYIAB0WIQRtqm5kp20oQFcbSQJSiJe4JkA62gUCZdhfmQAKCRBSiJe4JkA6
+2tb7AP4odlI4HD257+q2NM8o8/zVHZ1GWMvUqUKujqUVddv9SAEA991ZIFZtxoDY
+hm5AQrveUUD1hfqS6s7YkJ+Ah6D3KwWIdQQAFggAHRYhBKyOEVv3Pi2NR/qZCOmO
+my0Zxsi9BQJl57lRAAoJEOmOmy0Zxsi9ngQBAIXTYtW+6UzC6Xn9XL3PHyH+qU4Q
+zIh5Mr1OHXvjs9RRAP0a2AiZLnxC6zaDbTAPDzkoqFMzuVAHGxbMfzmhjtBfDA==
+=Cil7
+-----END PGP ARMORED FILE-----
+]]></signature>
+ <size>708510</size>
+ <url>https://gnupg.org/ftp/gcrypt/libksba/libksba-1.6.6.tar.bz2</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="libogg-1.3.5.tar.xz">
+ <hash type="blake3-256">3f6c106afa5b026ca7b8a0cc56fdb100bf2f93aee5c84f46beec4c7e1fe6c452</hash>
+ <hash type="blake2b-512">464cf767902bd8bd463d3faaae01fecbe33d4cc87dabf38388ac961bfbe24e6d113f4ee88542e6bed6fd7eaaf0709c7f5cb7a306ee910527f79810054ccdbae7</hash>
+ <hash type="blake2b-256">92deba39ee0a976ec8556bfa858af854dbab2ed3f6180d17cca98040e22082ac</hash>
+ <hash type="skein-512">8340528a6a32c294d85dbd483a4f36b5a40d672257482eff3e41994f6ad7e881230fd098b16e009838187a857772b3f081ca55f7aa70d5bdc39ba75637eb1cbe</hash>
+ <hash type="shake128">e182182f6c5aa14a3b02c137aa63ff25d72ef83fa426dc08e26000247d312257</hash>
+ <hash type="shake256">be0d5ce7afeff96d8717d9ef425d155ef11b8929c530aa903831f476095d59baa282fea639b25a7efda0f90bbbfe717179bdaa9ce321df9961b6bf601d04349d</hash>
+ <hash type="sha-512">5d1cbc2a3a1fcf5543f5729bd5eb560cfc740c5d17a2492ead137970c45e6203ec1f5de536d77c4b73ece9e3b0046eaa9181c02a09de72ac7ae51b1fca1e1ee7</hash>
+ <hash type="sha-256">c4d91be36fc8e54deae7575241e03f4211eb102afb3fc0775fbbc1b740016705</hash>
+ <hash type="streebog-512">c4578d77c0a5417038b299833a04320cceb91031ccda7e5d5dc9e57a6802151b3e35e8dcbf8131df5937282b564ee0d081d68dc34d292554087893b72af59381</hash>
+ <hash type="streebog-256">72b978b5d34385d99395eaba9c7dd91748fa7c6c963319799798c6cadaf30c94</hash>
+ <hash type="xxh3-128">72fced70144964e4bf91f4fc3f77d47a</hash>
+ <size>429076</size>
+ <url>https://downloads.xiph.org/releases/ogg/libogg-1.3.5.tar.xz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="libopusenc-0.2.1.tar.gz">
+ <hash type="blake3-256">91cc6901f7a9570ed3379deb0f44476b810601bb2689255255747d05eaf83270</hash>
+ <hash type="blake2b-512">de3a69aeb6bb955352e097e41b12cf0c627ce5278687124d00996f52ccf5e8e39277e7c345bb26e75dd7d29b6a70f50396fa5a157913e0906a18acd007b1621b</hash>
+ <hash type="blake2b-256">3b1b073ba97d9b828659dea792d19a49cc287b622f76f414522167d73f941ca6</hash>
+ <hash type="skein-512">fb8b40c0cb705de1649c13d4bcf0e0e6b6147d32bfb37300418a07e7b06ea1d37eda3aeda158e91b2db5e31a73e166648203beafb2788ab90bce49b9ba2ae0d9</hash>
+ <hash type="shake128">62aa49d5d99564ad8b8bce93b6fb4c231cd382694211535b6dbcc7c7bde8662d</hash>
+ <hash type="shake256">156d9795b94c27f8080550e6a00431d9d6c3e041d05f0bbd532e1bb929b8f7ec36999786f4e506b5be57332a2f5446b02e2441f8e80ac67689473f10bf746fbb</hash>
+ <hash type="sha-512">adf30cacea9ac2e5889a40147f53943a1bec5279c5ff3a9b09de8ca52727a6cbaeecd338417fc5856e337ae183c85b0d366d14ec4ec329de12d50709a6f6507a</hash>
+ <hash type="sha-256">8298db61a8d3d63e41c1a80705baa8ce9ff3f50452ea7ec1c19a564fe106cbb9</hash>
+ <hash type="streebog-512">c9b59cda62963606012abe2eac16d3e427c51b0e8c258f1be10380c0e892ffc444801e442d87ff78b7dca3ee85fda41832da7399e4fca90a18cafad495b94bdc</hash>
+ <hash type="streebog-256">5e560b7b397c732dd6242a1f74e87fffc4ec8e5473f2d8b74caffe1a95161242</hash>
+ <hash type="xxh3-128">7555dd13069ae2db640f268ec1614ae9</hash>
+ <size>388071</size>
+ <url>https://archive.mozilla.org/pub/opus/libopusenc-0.2.1.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="libpng-1.6.43.tar.xz">
+ <hash type="blake3-256">42eb7f47513aa7bb6be7788906345669b28f79fa2ad7e300b067fb9451d2cb2a</hash>
+ <hash type="blake2b-512">e8781001f001e6f514ca01ceafc51557e6cdedcbed3aa64df213d02635eec937cac4ccc0f34b636f582a7d141b67ec6c8d90a6ffb15c679ab0c3f4f8798be791</hash>
+ <hash type="blake2b-256">81ee99f6d721d636269fb81fb993bdd4e10d772a741c26744ae588af008cc656</hash>
+ <hash type="skein-512">40a02c6a1a3272ca6224a8473fae72ed0e57531bb55b6b75561723613955cccd1563d96a750ffbee36d3dd1d37cbcd8fc8c60fcc5d21f2c19bc53816495a98a5</hash>
+ <hash type="shake128">5b924b776b5e2bdf17a36b3ce49d708192142a314572d9ca0c2dc8401638b9d6</hash>
+ <hash type="shake256">5a3b6a59017a14368f95be9e5108a0ef0bff92447036deee421b27c5cef146c35ad5b100d2b0f05e64eb6c7af0faa43852138b6de5241b075999097ac75328ee</hash>
+ <hash type="sha-512">c95d661fed548708ce7de5d80621a432272bdfe991f0d4db3695036e5fafb8a717b4e4314991bdd3227d7aa07f8c6afb6037c57fa0fe3349334a0b6c58268487</hash>
+ <hash type="sha-256">6a5ca0652392a2d7c9db2ae5b40210843c0bbc081cbd410825ab00cc59f14a6c</hash>
+ <hash type="streebog-512">c182a5a76041db4022484cf30269febc461ac212441a215255b27017db87971b01fc2d56d93761e9780fdbf69678f8b5d462d578737f7bb4dd3a8a43c30d88ff</hash>
+ <hash type="streebog-256">edb4a5a0fdb7a35e6057b121277ef22b92909287304d79c099401f368be0af02</hash>
+ <hash type="xxh3-128">d861cd168c75b8e0af2f78e51958c80f</hash>
+ <size>1044076</size>
+ <url>http://unlimited.dl.sourceforge.net/project/libpng/libpng16/1.6.43/libpng-1.6.43.tar.xz?viasf=1</url>
+ <url>http://altushost-swe.dl.sourceforge.net/project/libpng/libpng16/1.6.43/libpng-1.6.43.tar.xz?viasf=1</url>
+ <url>http://deac-riga.dl.sourceforge.net/project/libpng/libpng16/1.6.43/libpng-1.6.43.tar.xz?viasf=1</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="libsndfile-1.0.31.tar.bz2">
+ <hash type="blake3-256">c7ad16c89467779f65aac8a9bebf5e34d76dc141dbedc40100652daf62e967fa</hash>
+ <hash type="blake2b-512">33e3c3d111427e829d8233aec52c227188834936839da9a04cf1ea5d2595d6a3127e7ce86d7686ca0336cca2017e6e2466845c27c7fc399efae34a0902316e41</hash>
+ <hash type="blake2b-256">259d76f3a5117bce005d629093a5b2b6c1f4444cafa0db6c22e653da5b2c29f0</hash>
+ <hash type="skein-512">d54c12faaec2251872aa6cdb42de9507673f73acb5b413010f190efd61d86fee6e2c92fa3efa9e869aa7c1f2b6a5102276a7de4f41ae01e1b3c4b1c51cb91850</hash>
+ <hash type="shake128">fb247a1effe0417b695d0c40e49ff9d913a6feb1cf335d4df117d9f525064e2a</hash>
+ <hash type="shake256">f30e9ebd03bac38af7d08f08da062719d027eaa434b4dbbc921ca911aa5e035a8068ffeeea1bf434cbc9db161061c3ff92a793cc2856102a9d34888e9ee23510</hash>
+ <hash type="sha-512">62202092e5cac6346fd3c0a977380e9bf888fc59d08c9c9707dc254a8ef6ed6356da2ab0430bb970c7b06ba5bb1dafa5d7b0fe13898834c1fe4acb16f409f0e1</hash>
+ <hash type="sha-256">a8cfb1c09ea6e90eff4ca87322d4168cdbe5035cb48717b40bf77e751cc02163</hash>
+ <hash type="streebog-512">ecab07bcea19ec765025665e727166421fefb0a2797acabc048178c4620fcbe94785056bc9395633fe96110a87a884db07b51aae8a70a4f51c8f1fe359fb3bf7</hash>
+ <hash type="streebog-256">507293b44250f502c7251550257a46b7248860816165ed02fc1da54a5f1cf673</hash>
+ <hash type="xxh3-128">e9fe94a824836e1ccb54b8ff7d1a56cf</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP ARMORED FILE-----
+
+iQKTBAABCgB9FiEEuNUxXaAAcsCoYIifzjbhFyAuOEIFAmANaDdfFIAAAAAALgAo
+aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEI4
+RDUzMTVEQTAwMDcyQzBBODYwODg5RkNFMzZFMTE3MjAyRTM4NDIACgkQzjbhFyAu
+OEJEPRAA2fS52niNQ9GW/qTtdY8kHlJt2Dycu8PlQ0wFwaMkkJ9d7hNzAgmMAhcP
+g9gGpkQOCT1jUvKtze5kWwMiE/0x3ehIkkQ/c3ibp5MA5IKmvOPRbNrGRMxhGEls
+AfAnB2siClo7J2M8IsrAnM1OlBba1o1XcSPGcQNLCNW7P2SjdgYyoWQLXDVK+8hn
+sDMhmAsjuLDO4bXV8PcolBzHdiAWSWR8Y+P2+cc5bODcTzSPwklw2yQiOCJpnwoI
+MFiXi6MlhpHH03Na9NyaZufmzquzG3E21Xu8K/m5fXmMKTeWVOE5xBpk9XD9jBnz
+dDROgSRY+dALfUhD/hKF5Sw0W4zO42l1UvAmi+N2TBTj4YzclKNbl9Ef2o5V1fko
+87bqIkmq8ICZcR+fl+xwg2O135GguENMCAHxQMV6k+31uqLvRU705LOBnQ+a//2n
+/Ifff6x8SFOukq0s/bj3ovmTk5BEiOyXtVKyhHNMLZZ5uxMNUc8BzLMykOhUA0QC
+JAJnqiTC9SchfTsWAAHGuwlOSEF1Ml/wYb2W+CwFAopNSfvxsT1Cj3ceeOV+yeTb
+jKCDmCSIPBBBtNqq1XkuNp4Vbp+ZFwDyTo9z4QJtbrLAmch4w7/mq52ERajTBO2V
+zr4gdQETkDbWyvtOeiLsZ9fjH8618wewHyxHljO3HJGkEOfkfmY=
+=0TRU
+-----END PGP ARMORED FILE-----
+]]></signature>
+ <size>875335</size>
+ <url>https://github.com/libsndfile/libsndfile/releases/download/1.0.31/libsndfile-1.0.31.tar.bz2</url>
+ </file>
+</metalink>
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+[ -d libtap.git ] || git clone --depth 1 --bare https://github.com/zorgnax/libtap.git
+cd libtap.git
+commit=b53e4ef5257f80e881762b6143834d8aae29da1a
+git fetch origin $commit >&2
+git archive --prefix=${1%.tar.zst}/ $commit | $COMPRESSOR
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="libtool-2.4.7.tar.xz">
+ <hash type="blake3-256">2ea6756908621775a2466f58d79095fb42e6fb6aa599c3a334f3c688781e00e3</hash>
+ <hash type="blake2b-512">5e022586337637dd634bd40578ad944bec6e3b8de41f95d55777b90cc88cbc4badb3d76cbf0e638166ece1ea7de828e83590e1e6bac30c1e4b1c254a11a742f2</hash>
+ <hash type="blake2b-256">640c2213d444599de0d73973fbfb4fe9e48d3dcb2a115648f36776fa253e657d</hash>
+ <hash type="skein-512">a6f369db7c1950b7bd886d28baf1023764c0e50c97603d0c2b3b16488ee26f2c0265d5f9aacf1035422be3bc3322a515ab5a878caeae3c67d9b39f1947a859a0</hash>
+ <hash type="shake128">efa78bcdb0ef08ecf2d63f16625f4efa83b90f8b84fab6ac1df4869788e273be</hash>
+ <hash type="shake256">67a3fee67621fc330ec8a0f8cab1f184c1e5f588ee3ecac78c0f6ddb0efd7e16ff004d4e5a1d09d04313a52c7c3faa138b898fad9638c9bc9d99d7cd98ebbeb9</hash>
+ <hash type="sha-512">47f4c6de40927254ff9ba452612c0702aea6f4edc7e797f0966c8c6bf0340d533598976cdba17f0bdc64545572e71cd319bbb587aa5f47cd2e7c1d96f873a3da</hash>
+ <hash type="sha-256">4f7f217f057ce655ff22559ad221a0fd8ef84ad1fc5fcb6990cecc333aa1635d</hash>
+ <hash type="streebog-512">c520d5f2c84dadc51994003634126a8cea1badbbef192b38fcd77b774f301695eca32c41d715bfbfc86e0cf4e29c69e07b92919f61e06bec0d3286a5c8373110</hash>
+ <hash type="streebog-256">e9fd54199abde0179c3d35de7726203af06331cd861ff37548e2c14d888e067c</hash>
+ <hash type="xxh3-128">1d0a19972f78f3b43165b46f71c4eb92</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP SIGNATURE-----
+
+iQGzBAABCgAdFiEEfF+7lr6CuVSsIN9fbqyVf47rVcAFAmIyt9MACgkQbqyVf47r
+VcCiDwv/ZvXJeSZl2OrXgG8gntIsluwYovTbz16ro8y6/Eoz8nPWlnBlizTiXuiM
+TYAtcW6a39eD8ltMUIfvLngCUalfCuqOQku0Wo4JanHm6rPAwXZoLzJi805oJ1Fc
+WxJYkHIQOOHqQRRgyPWN3c9AnW2GJmEHeKfvJMFCO/3G5AioKLv/U4T5FBaxmwgZ
+3OktPv0yNjZBQOsalw9oGX0hCcCVed/zG38RgsbiVvlQ3ca45G04JpNWmLxBoQ+U
+5CULalWqZbwalQ8i4rV2CRFAIJPHuv9Shq5MurtMBWFhH43fwRt9yVlEbNWqjk/v
++cmVJC+uv7fy27DEYOB1mANs8grb1hPs/CMlIsV/CEnKCbUfyryMlhlLabsv1jlZ
+pYURrulKa7Je+q5yv8dvd5et0ydKnDJ/5mjqlD1kc5hP7RMh6R1BUs0DyiYTXujg
+JvqTaYEnzOJp9QSdQQyvT7At5niNryw4DDqsttWQB4toEH7pF5NWexi+izO8EjT0
+Y56qikdg
+=QSFC
+-----END PGP SIGNATURE-----
+]]></signature>
+ <size>1016040</size>
+ <url>https://ftpmirror.gnu.org/libtool/libtool-2.4.7.tar.xz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="libvorbis-1.3.7.tar.gz">
+ <hash type="blake3-256">a8e88482b8d70321c8435616b0cec1a931b11445f003649774fd6940e593a254</hash>
+ <hash type="blake2b-512">59a56bae8c3509a98a6bfdf63c3b9972be648ac4b7ee1d0979c3eb95723af2a4adea4ff94fe6f6c620a39f09e4a45dc4989cebd418b08fd9b76c9f3b9aa0b914</hash>
+ <hash type="blake2b-256">d7a443c3442da330486453d2bf8c660508d17711bca70802892f27b33b1f6fdd</hash>
+ <hash type="skein-512">4d1b0cf28b74d381f21f5997986ea9f195c5cc8068d061ffe333e7bfefb99412be72dfbbb859c58c97f14223fb8321b278008045cdab44fd3d26f391e3f98214</hash>
+ <hash type="shake128">2cbbaf1c723dd977eb76d48f08ddb0e604bd4c4f6a470757b9a6a12ac5adb652</hash>
+ <hash type="shake256">45a98d70db97c93985835d00d462fef9a94486a12a8acd3612fc0edacda542478a3ab200620da8d63d341cbd0d1eb3ac913bfeda93852f079612930347ed7c21</hash>
+ <hash type="sha-512">8a83ac9e9197f32fad4430946dba3927921320492f9e96cda546e8eb3981e2664da97f77e43cb197577ec056437785168ca7c4138f8bf7f2ba93899846932eb2</hash>
+ <hash type="sha-256">0e982409a9c3fc82ee06e08205b1355e5c6aa4c36bca58146ef399621b0ce5ab</hash>
+ <hash type="streebog-512">1d888d74fc79430f26a764f444a361e8558db59539e50dc9185bf842eb58a5bf878b2235e888000844977b6b777fe90a70200d3c2ef70834ac7ef9cb27712791</hash>
+ <hash type="streebog-256">b96267db27580eb69dce7e84b36ddeac702877377dbeb3e2c4c7f2764b2428f5</hash>
+ <hash type="xxh3-128">fc701bf4dc94d64661495f32d4fb2450</hash>
+ <size>1658963</size>
+ <url>https://downloads.xiph.org/releases/vorbis/libvorbis-1.3.7.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="libwebp-1.4.0.tar.gz">
+ <hash type="blake3-256">f1d43e193fb3a68c469388254ed1339d0dcb0dc277cc0b3dfe93f97277e795a0</hash>
+ <hash type="blake2b-512">022cef190284b69af781718a82b28ee9806d7e6b1e642ee0833e608f64f691ef918a83e99db02335fb9f60d24d6f0cfc58e7e05e99a3f13d2118719d40a71722</hash>
+ <hash type="blake2b-256">200bce5824e0e977eddd76251bb1fbc8368f33632975a804f50fa19040d6a3aa</hash>
+ <hash type="skein-512">9a2e0f3b93ac4f250d55dff12ae48c340a31f4b5663486babf5322fcb10e62aee3025db1bb5fd05976e71e020fb2b5931cf38a64ca5707fc4bdc9ad2e9a24f29</hash>
+ <hash type="shake128">ea2b4914acc8637f23845781603581f9c55ceff46e3d9b7eeb92f7549b00545b</hash>
+ <hash type="shake256">256985128273d3b2df72ada49cdb49c9ecc6169ce59d2a02bde2e043ab7fa3eca4f463e4a7d8ee001dc664d22616d1b1a75cde2b7496873dae0b2a57a44e1938</hash>
+ <hash type="sha-512">1217363fbb5c860b17c2ba4612f240f121c74ced6e3e58e8aa61252a9022f59893c5874bfa433cc50a7e65bac1ae2bfa99fa2cede070183b7a467f148cebb0bd</hash>
+ <hash type="sha-256">61f873ec69e3be1b99535634340d5bde750b2e4447caa1db9f61be3fd49ab1e5</hash>
+ <hash type="streebog-512">3ea43fef7ad8f30e159f94367b4427ef69f79fef6897da7bb0d55beb12441e4ab269f1792b3af5f27fa467eb0eae2e0a2a42ebaaa9968b6d18f768ccd0032b26</hash>
+ <hash type="streebog-256">15239b9316902912aaf6165e0b76d30fe12522d2c4c5aecc6611a7cadde968dc</hash>
+ <hash type="xxh3-128">533efdcc4f43fbc0275c2a112b0c227b</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEEaw5rcJdt4wPt8vYB+cPWvbgjK10FAmYZuzcACgkQ+cPWvbgj
+K12roBAAv0AS7ROXwqObQpRmhVrm7miHd2SH0OvUm5x2aBv70cAEV//IwGg3nMkp
+5y4ce/l/Z5TwIlZs+zUVjzYjmZ3+rsO/r1VY7hvaydnjyHPSUykAnp8zW9RiKfv4
+l4+RHTwvBKHTFKLcvyBx0oXWaS0fXhA09aXJXbBKxCyvI4YC7UfWmca+tVABv4Zo
+rp2G0HSrU+U2Tu8WZ7bRXEmr5bnNVl1JUNmxbMd5HuNR4YxDVs7+XGeDdNT74GQF
+tyB9Z7Wj5eeq1NYh97Ujzrd4ChmkJZHSr698jppfX5hShlFNr79nCYVtjnjyis6H
+299NJEHlN0pbHzhxFRudvnl98EW9gm8WxzA174lF8iQzQ4+KMs7GG3IFu4xqxkh+
+fHEMphhkarFGwjiH8y5JSHEuppEQswdKh/862XcBJEUwKPFTWC8sXfsVhwSiRiR7
+rM33Fjz7vNFgOKruTlHruVFjrbN+XIE/S87rlAO5GVJSndlJ5Mnq5vq6lqCOb0nW
+XDbMw9Glkg2Ao6/xwECS3OjItGUA5XHYwYYKlCQ1n3r5+MvqT+GIYbWA/3aVU0kE
+HOULCWnnKD7mx/uNnkQalVagPmhG9TgYiwHOJYibYTI5F+ITv+WE2WuXEVK6rr5F
+UVQd1Wv0F0vDevUfyeihW3opAqhqg/nloasC0PS+hgiSn4OV8HM=
+=Ty7E
+-----END PGP SIGNATURE-----
+]]></signature>
+ <size>4281370</size>
+ <url>https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.4.0.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="libxml2-2.9.14.tar.xz">
+ <hash type="blake3-256">f592afd19ad8704361d172ebe937efb9e31e6f0dd7a690923c2fc756902fd661</hash>
+ <hash type="blake2b-512">ab584503d5209e4aaf41ae6f44aed5e94c0ae29e28cfba39a9012568aa97515af861b47891b84d2a352a07357626ba50ddb1e344e911fa14ff2ce93c5beff1f1</hash>
+ <hash type="blake2b-256">10aea91a4a610b7001748f828ed1b64d1d5a5dc808629b71d6ece0cd5a51c2ed</hash>
+ <hash type="skein-512">8c703b038e6af8f850f6cb8011e6d3345fa1887da1794dbb000aba6355abbb7948bf0825a7c1e18ed727d144fb9c8d6f2b22724286bb57f8d2e631767d5bb802</hash>
+ <hash type="shake128">00b3a3f127f12ef42c6bcb36b2a4db1390df02e58e5277789d0cc82cc5a148cb</hash>
+ <hash type="shake256">9890c4749dbed7ca951836fc4fb22cdf4be648930fbd941e89818fb7c811643b87da6482b50eb45d4139a93725f806dc3dfa2f31c79a19fa0feeb9661dd04145</hash>
+ <hash type="sha-512">d08e6cafb289c499fdc5b3a12181e032a34f7a249bc66758859f964d3e71e19fd69be79921e1a9d8ab1e692d15b13f5fae95eeb10c3236974d89e218f5107606</hash>
+ <hash type="sha-256">60d74a257d1ccec0475e749cba2f21559e48139efba6ff28224357c7c798dfee</hash>
+ <hash type="streebog-512">45f7f7a79e3acffaf9ab33268c817f6662c8563d1c277b452f43bb20fd99bba76d9576217f6207b67eb28efadebfb9e3b67c56a228c3e28d48212d409ab8252e</hash>
+ <hash type="streebog-256">f00627da61c05a6fdeadfa6e500c297067b6334133ee6e429d5bd1348d0d50aa</hash>
+ <hash type="xxh3-128">acdee6c397c417f83a2129a2fea14c33</hash>
+ <size>3129968</size>
+ <url>https://download.gnome.org/sources/libxml2/2.9/libxml2-2.9.14.tar.xz</url>
+ </file>
+</metalink>
--- /dev/null
+#!/bin/sh -e
+
+cd "$(dirname "$(realpath -- "$0")")"
+sed -n "/[^\/]$/p" <.gitignore | sed "s#^/##"
+sed -n "/[^\/]$/p" <py/.gitignore | sed "s#^#py#"
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="lzip-1.24.tar.gz">
+ <hash type="blake3-256">9c3d7d6fc4bd1834663099a7edb0e7bb3d874d6330435df30e66b42ff06857fa</hash>
+ <hash type="blake2b-512">ef6b7b51e7369b7b07ca2d5bbdd57a287f3a96866f50b327237a35ce9a4d19b2e3f7586a099ff4191c3c793de2dfe59120a42b8d744e220c4f7652d049df87f5</hash>
+ <hash type="blake2b-256">7ba6e4a7fc1c643969c286f165ac44799094bfe558e23f534ef28712c4439a50</hash>
+ <hash type="skein-512">31c7fef5d44c176dccaeff3ae2e8e5b601a6057809519aa69923d6f70495ce44a7c5ee101778eb0503a2f59375f8a5be89e781e77facb719f185d9b2d77824a4</hash>
+ <hash type="shake128">619181bf49724f58ad39e35913390c09443e3e7b554e9e9d08f3d280584dd973</hash>
+ <hash type="shake256">23c976e3dbd9008b56a6d934c304f0635c0d07fb847a1a6f0c5d82728e93c9edb1a45cb37c8f3f01982681434e59b50771f7b9280b5cf0b94bf4b0418f95ee4f</hash>
+ <hash type="sha-512">119de48deaedcbfdc0bf61c57ac54b463a3cf1ec064c70095b36d18784f59e5c80bb07ad69ad0e168443d6e73f7a506a65d80a2eeae111669b3194fa5dd0ca3c</hash>
+ <hash type="sha-256">d42659229b10e066eeb6e81eb673cdd893b672e512d26719c2d95975556ca56c</hash>
+ <hash type="streebog-512">41ba105e9d43718fdac5282c877d8634e3cb8e19273a3d76e2bd7b2b1feb7b160c5f630e33323753af9a7edd932a5a3f3efd91842561bd6d67200b146462acd5</hash>
+ <hash type="streebog-256">b1db54820a70ef7c0cc98cae4b4fb5baaca5a824e762d94e45aa09f7c7a4fb30</hash>
+ <hash type="xxh3-128">4c7b00d4e5c7b6df312581700da90ec2</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP ARMORED FILE-----
+
+iEYEABECAAYFAmW4ECwACgkQj+mVAxMtd0LYbwCfTgQ6+hb+vzTJrmgBHztLWrEP
+vYEAoJEK1f+Y8b7YVGRg3Tx8owIgaO60
+=Y4zZ
+-----END PGP ARMORED FILE-----
+]]></signature>
+ <size>123850</size>
+ <url>http://download.savannah.gnu.org/releases/lzip/lzip-1.24.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="mapnik-v3.1.0.tar.bz2">
+ <hash type="blake3-256">dd5dacb6616038575b56e44ef1c9ac7f15303198ae55b48ee06fb9af2f107c7e</hash>
+ <hash type="blake2b-512">d596f2559bee77e901ba25a7866010f8b51df51a7363c84d62d77e8115b9aa792aa4f9e05cbda13634d91165fc1b795bc2037c159b64640d645a178e651530b2</hash>
+ <hash type="blake2b-256">633d4cb8966cdbd850f93991deae99c6622bf1d4c4c74026cc8f6ee93fc14310</hash>
+ <hash type="skein-512">b85bcc2645229aeee8bc6d13aa5ab75aa0ae53ad7f5597e05442d7c0aab4131f8eb0f25b651a3ff0b645bb7b8c527b42f1edcb7e818da89dd2a61e143ea25f00</hash>
+ <hash type="shake128">508d769a06fa81267a5b51708385d0f8a4a899fe861f06e65637485f4a27e59c</hash>
+ <hash type="shake256">ea96ee527c17f3fcbacc23e53f250e0addb51016aeb38237c00e510c1fa0d525119f6311ca7ecd2099328f0558e789929a6839d53effc3a0dcb1e90757d32674</hash>
+ <hash type="sha-512">089e619f4672e017b1aaf31836ade7e22d2a465f5a923f697935d8447d5dd0c2acb9ae6682d1c9035e58036c62685c2f38f75f0a106ee9b4ce6197e0357c47eb</hash>
+ <hash type="sha-256">43d76182d2a975212b4ad11524c74e577576c11039fdab5286b828397d8e6261</hash>
+ <hash type="streebog-512">c32a31dc2850bfa7ba9ebc36b22709ca8ca04e25d62c4a9506213b3985392497f0aac43936de0f0ea47f1986f4e06d3dab759224f6905c4afd393ad58c417714</hash>
+ <hash type="streebog-256">517e852af7f38be205bd7cda52ea430f39903072b8d27335032cf68670fdf884</hash>
+ <hash type="xxh3-128">d2ba61647b767730c5347c09be3d048a</hash>
+ <size>10110740</size>
+ <url>https://github.com/mapnik/mapnik/releases/download/v3.1.0/mapnik-v3.1.0.tar.bz2</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="meson-0.56.0.tar.gz">
+ <hash type="blake3-256">41554eba8a84e4df4ed93d62bdeab2428c66b0552b54de1f80f0e814d39d43f5</hash>
+ <hash type="blake2b-512">50e3b2924bccc9e7a386b9e60baf746bdda02335fbb0e346a3bd4bcd343928c1e5f946b6eadaea93b61b436a17a72466dd1f09e8c0c84a4e69f30be648a96b07</hash>
+ <hash type="blake2b-256">08a04d3a1eb46c83a96b49c100c30762c8f1a60b62367dd052ab8730e73ab46b</hash>
+ <hash type="skein-512">a5e726e1519d40647afeedea617580741bda22713d65eed7fbdf13eace951b4e61797d090284bc8eef7e5e068106314e59519e56ff85bb5a3d8eb87d125d57a4</hash>
+ <hash type="shake128">8c2e4b83deacf22b8cb17076f7b935671d0a98e44e67e84b52f36d2a7832ba9d</hash>
+ <hash type="shake256">e40ca11ec3c0bb459001c874ed77a3e9865aeb40f21bcde1fcf9a70a8e151d57f53d6b6faf016766aa0d82cca7f1731415a848994697f9dffe35673c7d8c071f</hash>
+ <hash type="sha-512">da426e2ac0f657da5672d66143b8f4f45513c269a9a544e8b4c48b4a702743a50d35cbaa37ef4c4fbd7e18b8784c788314927a54faba6a14bb2d468eeaa87607</hash>
+ <hash type="sha-256">291dd38ff1cd55fcfca8fc985181dd39be0d3e5826e5f0013bf867be40117213</hash>
+ <hash type="streebog-512">b4b99ebb73d61de6baf04c26b6ce039582dea91b7b3d71be809428988b6d33293fe7edf000b8d38caac089fff146d45d778df2ac649ea8b7192dd033f41348a2</hash>
+ <hash type="streebog-256">9442122bf308d374cf3f52bbdb49b8d7320064809113b8017b2ff57f01d4c481</hash>
+ <hash type="xxh3-128">45eb35826289bac9b4c35b50a85ddda4</hash>
+ <size>1794974</size>
+ <url>https://files.pythonhosted.org/packages/08/a0/4d3a1eb46c83a96b49c100c30762c8f1a60b62367dd052ab8730e73ab46b/meson-0.56.0.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="meson-0.61.0.tar.gz">
+ <hash type="blake3-256">756aa4ef1a1cfcd766a03c3236022ab0882e4d377a8be1da14a52fda6602050c</hash>
+ <hash type="blake2b-512">cd86e3d716ad479ec2c3007eb53c20182382b823b1dfb38b41cf91d665930b70c07a869348ba2fcf78f374915aa7c55344e2e848c7f8b3e624349eea2838ceb4</hash>
+ <hash type="blake2b-256">6e88c5d597b3c8993ef934935ded1de3023f8132e21aa54e061369c59f069e04</hash>
+ <hash type="skein-512">d8ad3599fe98f43e53e4658d85bf2616976fa4216df8c3cae5231f56e2bf17d4ce46a37ade97516f25d87be4baaf7f37c4574198498137b971ba665e8722f2a8</hash>
+ <hash type="shake128">59642d0f6b3a07ca848e217342f8973d8d5d6026cf63bb6e06a27858bfadea5f</hash>
+ <hash type="shake256">692b412b34b992df6ca6922f683f73814df1fd6ac4fa2fc48eef55f515d4f978a9a4f9012a694bd3946d9eaa21315ec0b4e2bae905e6e6d923a137ccc4fb0be1</hash>
+ <hash type="sha-512">ff739f767710c09a1b238f135c81bdb79675d06cec1b091503809cdbd71f0f92fd76bf068650bbec60688b79fbda94e56cb3203c948aa79f16a88f6d9db219d1</hash>
+ <hash type="sha-256">ea9f33246b1f23f02e90a50e75e0f41e526f6dabf0c24f3e00e27a3f5abdc35c</hash>
+ <hash type="streebog-512">b121387debd62a6b33594172ac0535a7f5d01b2894b013981812d99f89bf50090c275e82754f34fbdd7ae797ca5f6fef1941e529f3097f485fddee9774ad0173</hash>
+ <hash type="streebog-256">cb69c8480407fe4bde358c298293efc56bf6da013f44cee2d74ed7e8645edb51</hash>
+ <hash type="xxh3-128">166a4f26cfbfece3f438d2d2fa53a6b7</hash>
+ <size>2007070</size>
+ <url>https://files.pythonhosted.org/packages/6e/88/c5d597b3c8993ef934935ded1de3023f8132e21aa54e061369c59f069e04/meson-0.61.0.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="meta4ra-0.9.0.tar.zst">
+ <hash type="blake3-256">2b7b890c42fe08d65f79d1fa37ed6dad341040560719947572a7dae4fc77563f</hash>
+ <hash type="blake2b-512">36d8cefe514905f0c50f12d3530e40b864257e6b749e0f11dcc99a8512941e118c9b548cd9615d6c6a3ff2a3ec2da41961a7585f6682a3699b2c3a4cda0d5ecd</hash>
+ <hash type="blake2b-256">08c8f5dc5e923625bddba1e7887927094276996128ff882a0aa013335dff822b</hash>
+ <hash type="skein-512">ee6d6adcf92c153e2e193e5a6742e0df3ed0f054bc3dc734040c8013fd9fb82e28b3f19721e468966dbdedb329fbf05344749b129af7e1d7648033ec2175e617</hash>
+ <hash type="shake128">c788ed04315f63c191ea1b0447d9894502905d730de37648ee663fc0c0f6eabd</hash>
+ <hash type="shake256">cb2eb1fb1ef44a68a15a8f73da27dafbd93497fbf6292dd873d4f01398b243fe016432e5b6c42551ae2b4f76af827b7f95ce9803f1b9013e273dfbd3f896cdbe</hash>
+ <hash type="sha-512">eebd3a86be8da73d038d3af746b27f758fa5dba19e8b9e10ac3aa5ab8f1d8b59a37bf6ba0d2b2499fdd58be8c3284002fa700d85ddc36a66317bec0ed4c987f0</hash>
+ <hash type="sha-256">29b9152e5980b71195f662b046c51993becfc89637c15285dcbb92acb43be567</hash>
+ <hash type="streebog-512">d05334301e4804fbb15b9b76b101d4a532af66b82aa684cd6072b1774570a07cac471e4261cf37c5ccb8e9b95eb87c0ec6ac5e5f239f54bf8312215e7d8cc959</hash>
+ <hash type="streebog-256">541063369f39bf0910072b0c91fd3b417e02b0f6bbbe8c5c22ac4fffd5c9bb4e</hash>
+ <hash type="xxh3-128">bf9f4d76d20ce3a84ee309704bcb1812</hash>
+ <signature mediatype="application/ssh-signature"><![CDATA[
+-----BEGIN SSH SIGNATURE-----
+U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAghQxyOlPm7DilJhOJz1KoUGtVbH
+BWX/nRiWzQembxCXUAAAAEZmlsZQAAAAAAAAAGc2hhNTEyAAAAUwAAAAtzc2gtZWQyNTUx
+OQAAAEAKY2hMQgbARJcwaMUkNZwP8kJXeN6d1f1OxNLpLj67JNXZg71TqnU9JovQmLgnuM
+JDFl6ATGpFi1e8xA2xf8wD
+-----END SSH SIGNATURE-----
+]]></signature>
+ <size>105543</size>
+ <url>http://www.meta4ra.stargrave.org/download/meta4ra-0.9.0.tar.zst</url>
+ <url>http://y.www.meta4ra.stargrave.org/download/meta4ra-0.9.0.tar.zst</url>
+ </file>
+</metalink>
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+[ -d mod_tile.git ] || git clone --depth 1 --bare https://github.com/openstreetmap/mod_tile.git
+cd mod_tile.git
+commit=c3453bc1e19247c145b0e87742710d5e076e338e
+git fetch origin $commit >&2
+git archive --prefix=${1%.tar.zst}/ $commit | $COMPRESSOR
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="mpc-0.8.2.tar.gz">
+ <hash type="blake3-256">83c46368128c85387dcdf9a2e5f6bc7b4f5320158e356c3d4f7830a3241e5fb3</hash>
+ <hash type="blake2b-512">f29c08cac54c49ce47e9b2a612cc02d0570ce3788679f15dd57ce0394e7350a0117e0d3636f646d1f482a6c488524a6e4f28bc884cc6242a8406f949753dd872</hash>
+ <hash type="blake2b-256">8f454618aa998d3c1b2994202d2e308f52d6389c59f13550f909b9efc60d15a1</hash>
+ <hash type="skein-512">d844d144f9821d5bc29d1e9e4766e35d0126230a41c357acd7075905ff4b0576e416fb506385b9dd4473df70a6d3a71ada074d16025f99eb8c9262f5940d4a81</hash>
+ <hash type="shake128">3a42de7e4cb78c71d8401cf6e09f883921ff006b4bc187dd9a05565b84861d0c</hash>
+ <hash type="shake256">32d0853937ea60e1583fd3611e3129c62d85da50a29901586b9ced8aa6aa4b8668ff021e95c37dc002cac4dde858575a12b45c2fee40338330ece60029b600d2</hash>
+ <hash type="sha-512">dcaac3897adf1411e1199e295e88d7438afc600f412565c3b450b0102b83751eb160f85b7522891195ff0a0a29fccedd07dc011a950969a0979c4e3d4efc1e10</hash>
+ <hash type="sha-256">ae79f8d41d8a86456b68607e9ca398d00f8b7342d1d83bcf4428178ac45380c7</hash>
+ <hash type="streebog-512">9a4e99dced152aca9c3d334bb216b5e6f95cc1a5239cc393e648f43f827a6853f4d3c36724e2509e7a7b82b271ee7a6390f0fa705dd428e2029476e9614c238e</hash>
+ <hash type="streebog-256">7b147c96f4fb97669015d76c2abb01acd932eaa88297eced198e6d98a7164e3a</hash>
+ <hash type="xxh3-128">ff8f07d7728afa191919c8edeeed1dfa</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.10 (GNU/Linux)
+
+iF4EABEIAAYFAkvtNIkACgkQ99XJv3ZcYePoXwD+ND203x6oOttdyUQAypNVNopD
+1+FiI8v5ZLRulvsOMYgA/iITfR+NyZKUSLLDsvBYNqUVDZqfXkwgEL1t3bTHvgIB
+=K2BY
+-----END PGP SIGNATURE-----
+]]></signature>
+ <size>548401</size>
+ <url>https://www.multiprecision.org/downloads/mpc-0.8.2.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="mpc-1.3.1.tar.gz">
+ <hash type="blake3-256">86d083c43c08e98d4470c006a01e0df727c8ff56ddd2956b170566ba8c9a46de</hash>
+ <hash type="blake2b-512">76434e6f8830af3571836d51576bfebbc9701e9bbb5c4686f134081cd96cd90ae02f7ff42bf9e3957c7a7ba92b6b2d9cdabe18f0269271147521cd7f6a2d551c</hash>
+ <hash type="blake2b-256">64c27cef244a7b68278f8262bb7288f1f7ecd02f179551cb7545f47497e8740d</hash>
+ <hash type="skein-512">2e61d55454fe1fff4e1cee9d1e122c0cc231261906506f3d1bf57cc9872fbd98437b080108b48519a9b77341b3aa4e655cc8927224abf18928214aceeadf4d96</hash>
+ <hash type="shake128">e624efbe98473f6a8882b18225f39010f22e23f94e9d2f5b8a3cdf9c53960916</hash>
+ <hash type="shake256">d91043b600f492eaff6f1f06e8e449c13613eb1a9eeda8c63084369add1c1dded072ebe25acd78de9193589dbe014f64c39d708c8dcf441686a7791fdf0f6971</hash>
+ <hash type="sha-512">4bab4ef6076f8c5dfdc99d810b51108ced61ea2942ba0c1c932d624360a5473df20d32b300fc76f2ba4aa2a97e1f275c9fd494a1ba9f07c4cb2ad7ceaeb1ae97</hash>
+ <hash type="sha-256">ab642492f5cf882b74aa0cb730cd410a81edcdbec895183ce930e706c1c759b8</hash>
+ <hash type="streebog-512">aaef745843c0be5484ef182b666a3e0db79c1ce696731adb3c7df1f2f02fc33f083cb4e81ce15db66ef8f4bc9100c06e57a9a6375b16ca2a211a3ecb197df767</hash>
+ <hash type="streebog-256">c896e39e56f870e5ef60dcd3f47648e185c242d2e0d381c0344dde5dbb8ca005</hash>
+ <hash type="xxh3-128">089c357906fd6b0f2aac54e111135992</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP ARMORED FILE-----
+
+iHUEABEIAB0WIQStF6Ie+K7Y8cwC29n31cm/dlxh4wUCY5rwDgAKCRD31cm/dlxh
+43BmAP9zUg1CM/ZELQifDEL4+WHg0zFohwISPHjytewKOJ/WVwEAiFCehvSsNw/X
+RafzUfApZvR3EcJgk4eYgVaIfcJ/SLw=
+=ysMP
+-----END PGP ARMORED FILE-----
+]]></signature>
+ <size>773573</size>
+ <url>https://ftpmirror.gnu.org/mpc/mpc-1.3.1.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="mpfr-2.4.2.tar.xz">
+ <hash type="blake3-256">cf8e37bae2501a0009c4ce77e166befaca146a9f17611eb87ddf448d8719daa3</hash>
+ <hash type="blake2b-512">812fdb47650ec66d26735114f04aecf31ce2be8d97ab1c5ec63eebb4c4d4de0eb7283e04772780f80f2582938d6d98d4e78b6ed781b0e13fc4a4a17103367e35</hash>
+ <hash type="blake2b-256">6452a80d0c42ffb41d198302cd12b924dd894df391b1f0021306f5c66284da30</hash>
+ <hash type="skein-512">2456f7ce83b1599d629efe054aa64b9bae2d920ada1857d3b047bc54f878c913c1bd941bfea8892ae4ae9b66f2898e8a54ebe1bf78d6c715316bdf6fd01518a1</hash>
+ <hash type="shake128">86aaa9252bac607fefe0d08bac1644b78eba789c4583f05d8d13f39398d76709</hash>
+ <hash type="shake256">a267339376da2a76d1ff49f5c1ef52df0fdb746bb535d22b60f3dd3f2e32946d00508bbff1b69704a21d48679f1f81a7000e8c90aeb994cb8574cb72376961f0</hash>
+ <hash type="sha-512">f4a5a47c7530e5a84cd3be015ee8cac791df5ef31649046710105ff8b6a112f8d6c67614021bc7b16b23d7debe66b42aaa2b7484d265577641e2ea8da6e5af7d</hash>
+ <hash type="sha-256">d7271bbfbc9ddf387d3919df8318cd7192c67b232919bfa1cb3202d07843da1b</hash>
+ <hash type="streebog-512">226c21d05336905e48f04ed57bbeaaea86a501ebbc5d14ee9ae3b649a6f43981c1ad760cd1897cec99ba4da99077d3b7cd712502cca9bb931fc13b36d47bb7f0</hash>
+ <hash type="streebog-256">e05e45cc39e9f398d691b0c6043de9b6e2ae3cd59aed959e95728038b06a79ec</hash>
+ <hash type="xxh3-128">cc115b2164ff5293097cb59df201addd</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.10 (GNU/Linux)
+
+iEYEABECAAYFAksTMdgACgkQmAwZdpjDc50JtQCgkxJ8cImQcZORvn8ZiqxmN0ib
+1DwAoJFAIl5ceiA21UjtdJIIMtaQoqJP
+=cUME
+-----END PGP SIGNATURE-----
+]]></signature>
+ <size>951620</size>
+ <url>https://www.mpfr.org/mpfr-2.4.2/mpfr-2.4.2.tar.xz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="mpfr-4.2.1.tar.xz">
+ <hash type="blake3-256">f428023b8f7569fc1178faf63265ecb6cab4505fc3fce5d8c46af70db848a334</hash>
+ <hash type="blake2b-512">ad69f53bc910294647523e7613b18a683f1d0f3dd994168ab2a46b66d0371ffa9b8e7cb59495f898470aea69d343e83fc722f11babe4af7b3a12665a1e65860c</hash>
+ <hash type="blake2b-256">2d082f4eb5b819884b3f892659c908bce7298569ad66388f19e26ba406d78658</hash>
+ <hash type="skein-512">3745be176ee73b6a9a1a5f1bba8ce2d0fa984394b3bbbd8294e023ad28d52c7c82a59ea0e018a45b8718cb07f1f8829c04696889d8b394f8929e522fe568e393</hash>
+ <hash type="shake128">5909345784cbd19b8b75fcb4473d46ab5b69651a89be45b8105090bb08bb352e</hash>
+ <hash type="shake256">4f7ed02c131010578a14834de9a7407a8c4509e990722aafbf8e0b682c2716df46cb77d08033f479eb6aef52fd547e51234251ead9f56d541ad4700d6a7e1d2d</hash>
+ <hash type="sha-512">bc68c0d755d5446403644833ecbb07e37360beca45f474297b5d5c40926df1efc3e2067eecffdf253f946288bcca39ca89b0613f545d46a9e767d1d4cf358475</hash>
+ <hash type="sha-256">277807353a6726978996945af13e52829e3abd7a9a5b7fb2793894e18f1fcbb2</hash>
+ <hash type="streebog-512">8da16729a5e720194143d1cf0db7f605d24971f4b517cacb973b3b356bdc309ae7c7e895ba2696ede657108255bf9a68d4d03cba969f1560f4289f04fd25e0d3</hash>
+ <hash type="streebog-256">dfad22b5099c928cd5904ff6df02e348d9cdcc0bfbbeaa27ff2488ffe57de07c</hash>
+ <hash type="xxh3-128">146ab225331182abc5ae525a08b51eb3</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP SIGNATURE-----
+
+iHUEABYIAB0WIQSlNL4/g+JB2RgoCutYMdEaDU2wKgUCZORoewAKCRBYMdEaDU2w
+Ko6vAP92RFCMhLltxuUSeY8fW/wqDyQfidvNgW0RNsx7aMBJOAEAwEVd8sNXEKIL
+awlGP8ubzexwOodT+jaoU+2SkWURXgU=
+=6VuG
+-----END PGP SIGNATURE-----
+]]></signature>
+ <size>1493608</size>
+ <url>https://www.mpfr.org/mpfr-current/mpfr-4.2.1.tar.xz</url>
+ </file>
+</metalink>
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+[ -d mupdf ] || git clone --depth 1 https://github.com/ArtifexSoftware/mupdf.git >&2
+cd mupdf
+commit=05063f228c6a8809f01a7ac21b4c077924054e67
+git fetch origin $commit >&2
+git checkout $commit >&2
+git submodule update --init --recursive >&2
+dir=${1%.tar.zst}
+{
+ git archive --prefix=$dir/ @
+ git submodule --quiet foreach 'git archive --prefix='$dir'/$sm_path/ @'
+} | $COMPRESSOR
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="nasm-2.16.01.tar.xz">
+ <hash type="blake3-256">d3bb44f055dc56ea9fe6951487ccd32cb0df742a5ed407e587b15e0139cd6086</hash>
+ <hash type="blake2b-512">0f7e96648e3db6fa4a8e10a89885f61cab7d79af25adbcc9d4706b3af61206c3cae024b7f873d636f5c1b2cb34ce5e7fbecc16af9b59086e9a1f49fb37c59670</hash>
+ <hash type="blake2b-256">48e64fc3551f8334863662c562344abe498cc7850fd9891607aa542918e39d1c</hash>
+ <hash type="skein-512">16f7482d49676042d4d404f53843debf1dde6d93767ac6ddb66315ed3637e927a3a605031385cc448eaa2472a798a3239d8972f071b570649092f9f8846a8993</hash>
+ <hash type="shake128">417fc11d8b00300926e6e3d3269872f8f405484d716856d2cf7ce63db1f3353d</hash>
+ <hash type="shake256">6b1c3dcd4831d4f9097a98e447ac969f0f036d6e09a442c1539c293974a4168a94d8f424bf4d6f96b93d449d4730c4cfde2f25d0248da2958c6bc88e9e326155</hash>
+ <hash type="sha-512">51fccb5639ce019d9c423c0f279750ffbd74c64cd41dd3b185d1aa1a1aaed79c5d3cd8d4bebbc13ee249a375ed27457ea2abde1a4dbb24d354598fffd1254833</hash>
+ <hash type="sha-256">c77745f4802375efeee2ec5c0ad6b7f037ea9c87c92b149a9637ff099f162558</hash>
+ <hash type="streebog-512">3bea7e68e63afdafdb6ba30d19f0254b0d438ad78d1d538fc13809b85a19419343d0f3806d3a246f49a5952eed71b04f945796bf964cf9b495819a6438124aab</hash>
+ <hash type="streebog-256">2929550b46380c51a927b5f2843d021fff0a1cb267bc4d8ad56b29fe1f87c50b</hash>
+ <hash type="xxh3-128">f952eb9430a8f1386360478dad7ad6bd</hash>
+ <size>1017732</size>
+ <url>http://distcache.FreeBSD.org/ports-distfiles/nasm-2.16.01.tar.xz</url>
+ <url>https://www.nasm.us/pub/nasm/releasebuilds/2.16.01/nasm-2.16.01.tar.xz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="ncurses-6.4.tar.gz">
+ <hash type="blake3-256">0d1c9fdf53c0ca4bd66ba707d49a079d2dd6f5a960cdec74a56e29952c4ffe73</hash>
+ <hash type="blake2b-512">47fd9c2d27f44fa9942552881a471e5067465dbace40bf68b28998dded0556127a1d8662b96de4de4fd76c1c8b98bdae796036553ab4b05ca9f160839d841ba3</hash>
+ <hash type="blake2b-256">cbc769d0ca560b8ec3b38e230916db6ce1fbb6547f9473bcca04dc9a9cd2d47a</hash>
+ <hash type="skein-512">d76a53e2fc45a90d96ec1022e9426f4629728c94ac0103e72dfb5c563dfe8254efa7f8909fbcb013421a10deda5ec9bb0e02f04f9fcbf7606831642d884c3054</hash>
+ <hash type="shake128">1c2b6cd0e078bba74bc85bcc65d85d132d2b52e0feee18f041f6556a5ffabce3</hash>
+ <hash type="shake256">5d7d4a36a45f5735d578801ba62a83f2414df001f05c6e9c474f7fff4071f2ded3d771b5c87a70dda968957f031f8bda30c8914573b27e0f669768b9a4060027</hash>
+ <hash type="sha-512">1c2efff87a82a57e57b0c60023c87bae93f6718114c8f9dc010d4c21119a2f7576d0225dab5f0a227c2cfc6fb6bdbd62728e407f35fce5bf351bb50cf9e0fd34</hash>
+ <hash type="sha-256">6931283d9ac87c5073f30b6290c4c75f21632bb4fc3603ac8100812bed248159</hash>
+ <hash type="streebog-512">c8ab10143b97729883cf8a2260f1f4f5add68b2e6ffb2f775dc2cfdc888c579781e5b2632c31e639e7642dd15ea52c67c20f9bae8cb4fc0323759a4f6050e3b4</hash>
+ <hash type="streebog-256">7d5c62f67e139a853eb1a3a6d9929c1da93da46fd78ee8ced48abdc00dbe3bbc</hash>
+ <hash type="xxh3-128">79a6accdbb5fe979fd34798b434c586a</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP SIGNATURE-----
+Comment: See https://invisible-island.net/public/public.html for info
+
+iQGzBAABCgAdFiEEGYgtkt2kxADCLA1WzCr0RyFnvgMFAmOw0C0ACgkQzCr0RyFn
+vgO25gwA6AkO6VnsZrcEiYDf/+kSddfNI2UfoFvr06eAZVhClX3jsssn4pMJTxPg
+TRzOIicP6xSHjZ+HfrkHJuTwEBqtjjMnsAiT5zHpwCH4H4xryd40px9NjYUkLzpe
+4IPebSgad21Vf/rH5Z0doxBZbhGxNDMVxOqDftRujxu1EjLaTZyIu94nIbCpcIAm
+3XSNvbZi1hy6kn2JXtZKRPj+oIGdxt9zOZep01hMpykyb7W5WAGe02VJEdn3zR7Q
+B6qfiMPDzMWQK1UlKOucRlzml8gt+KGjFxLgJb2jQMz0hT4g4Xvx0beeo8luPGJd
+SRWQGkwi3W+OI6rw5C2lXIuM8Fwc3Fc/+kZ6h4HsRSwmel1JyB8/KxUuJ9ipctIx
+S8r0ypyDqsAki1zW+VNTMZ4zZLiCiQqyAS2KWSDRWlUOeKeudWhzQk5lfdvqZXzI
+eh7PnZvFO1uQviRZvCsIApFocFnhW6+pDQxrXchQ6d6nUTTOdvUL6EfbsjKN3zzH
+m2J8156p
+=wYzs
+-----END PGP SIGNATURE-----
+]]></signature>
+ <size>3612591</size>
+ <url>https://invisible-mirror.net/archives/ncurses/ncurses-6.4.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="nettle-3.9.1.tar.gz">
+ <hash type="blake3-256">e4bfbda32f4fdf5ed96c152efe3a3867193b690faa5378d02a2a6fd052ee3393</hash>
+ <hash type="blake2b-512">e3ceaefa19491e58f26b900beaf8b4e746feb2357c7677f5c050f257f4a23c304773446b6283a42a82cf9640e16522b8a71c47f137759f1df23cdeee4625d142</hash>
+ <hash type="blake2b-256">038e1dd0921ecf77c3a2118c040d2e070f1c7028a4b94b8ea60d82b677e998b9</hash>
+ <hash type="skein-512">645fb945d2a7295a64b22e7ab110a67339ebf101d79b14dcc481f02a285badcdc3a60db2dbd6be793138ef57e4e65a7f39e3b4829a5dcf476d30d15b9ab69b24</hash>
+ <hash type="shake128">5ffa8da8ea8a525d6f0a3165077bf683bfc7b68c820906dc83892fd742ede69f</hash>
+ <hash type="shake256">0b4cda0ffa7ce0fb5042d03644be88afc9f37087ca914b42f491c5db61df877380e0e659fdc7c252c2f647767e2bbad4542d4e5d3e872ed261124485252007d5</hash>
+ <hash type="sha-512">5939c4b43cf9ff6c6272245b85f123c81f8f4e37089fa4f39a00a570016d837f6e706a33226e4bbfc531b02a55b2756ff312461225ed88de338a73069e031ced</hash>
+ <hash type="sha-256">ccfeff981b0ca71bbd6fbcb054f407c60ffb644389a5be80d6716d5b550c6ce3</hash>
+ <hash type="streebog-512">235fdb814c744341fe6156c3932a4bb01b6998207732279fc1f8e68fd76d2853a0381a0a0f8ac1d7e8100bed9e56625bdd6635dcb752010d44541462e55b5851</hash>
+ <hash type="streebog-256">b67caed4bc952f0e0288aa2fc772b7b2daa94142b11cc84622fbc08231c46e3f</hash>
+ <hash type="xxh3-128">446fc4f7dd9639f0b3f009b64eae1a2c</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP ARMORED FILE-----
+
+iQFzBAABCgAdFiEENDwv8PvuXsLtvvOZ81mf+CjGcpgFAmR45wQACgkQ81mf+CjG
+cpi9TAn/Xu1fLlO+fikHDdqLVkmhvrO6x/p+SEoUzyOuhqX42W+M/wna+gnEDZqo
+xF6PZHOV2M+t3O3eRoO5R+tnGvPM7VfBWGE1+0G6KfuWpbIgA7BtxzSvOl1Npg35
+Q9Ddv1i8tvvY5bvV+a7Q9v6mISH99T0eUDNM8NLAVsmlpVJ3kyjar+ICtFPk8TNd
+fSxGOvZgcixfVFCh33ehIt/t9gVNXnLavZqc2OWUy8++8xi+s8Il8p02Ms/6bRE8
+BwZbnG8a8CMzB02vtfj81lp9uPywFuPxMUg2Lnrmudefm5a/aYHpxmp3keQdE2uy
+48XzUt4mn9+342kP0BPNSGspNvKhlsD50JI69ExGiIWjiNx2CC2jqsUzelU7PEZc
+U/ihxzftmSl/6e5ug7sOc6cTsRW0FgI5A/ypu+dEYuDGPUUOijM=
+=Z+jJ
+-----END PGP ARMORED FILE-----
+]]></signature>
+ <size>2396741</size>
+ <url>https://ftpmirror.gnu.org/nettle/nettle-3.9.1.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+[ -d ninja.git ] || git clone --depth 1 --bare https://github.com/ninja-build/ninja.git >&2
+cd ninja.git
+commit=2daa09ba270b0a43e1929d29b073348aa985dfaa
+git fetch origin $commit >&2
+git archive --prefix=${1%.tar.zst}/ $commit | $COMPRESSOR
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="npth-1.7.tar.bz2">
+ <hash type="blake3-256">ae5f6f1d733151d6f13a813486e4e7aa4ed6c41030075e893196b5dfa6de99b6</hash>
+ <hash type="blake2b-512">39bc5857fb61a4264bef6ff23c28755d2a3b3ceef93034aefd5cf1c2ad905adf696c6753ebd5cea5e0a875df4ecb97db03e023a50a27f51ec0641bbc36b54089</hash>
+ <hash type="blake2b-256">0aabb4a4062e99b1f55e276eb08f2c5af120fa8496ce3e9384537ee2df744fbf</hash>
+ <hash type="skein-512">eb366c7107431af6818bb3730416657a233af8ebff3e6ac86a7f82604040b9b884b8a3d17bf9c914a087a8b26ce2220bee5dcb182e15aa6f6ef426b194ff0078</hash>
+ <hash type="shake128">6407fdfc7e36457aed425abc3f4873870625fc3271c74734bbc3d085efc39612</hash>
+ <hash type="shake256">555dbf0ca5c329f4bbf33fd6a9b863ca806b879eecbab9aac5d3e4c0c98ed2cb79ede4a01811b909bdaa3d33127954b570affa1baf433166af18305efae99587</hash>
+ <hash type="sha-512">8893023bcf953a3f7c490cf8116bed323a9d4af2bea35277e919f437916fda8b8e68ded28ec1777717cf9187c504892556159cbdb8bc02ed4a8b30b3d897d244</hash>
+ <hash type="sha-256">8589f56937b75ce33b28d312fccbf302b3b71ec3f3945fde6aaa74027914ad05</hash>
+ <hash type="streebog-512">fba9089fe9eff3a09a0aec7d290b823a3aad210b8c9c313cef457878bed12323070973a97f20e514c64c51610fadd2e953be7502f9a1528107422ab0c21e462e</hash>
+ <hash type="streebog-256">9764d1470aca7c0c566b8192ceb5a5a9bb5a5b78dffde4bc409613e169b965d4</hash>
+ <hash type="xxh3-128">f573136a73770067dae736dcbb73b7e8</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP ARMORED FILE-----
+
+iHUEABYIAB0WIQRtqm5kp20oQFcbSQJSiJe4JkA62gUCZdhu+gAKCRBSiJe4JkA6
+2tF9AQCh0iz4t/RxAIJuo0PneusFASvtqSHugvE8DNrTlUUTkgEAlu9RkS9CV4pI
+dTi2brUArte8QLcn2yvJ6e3tTq8S2g6IdQQAFggAHRYhBKyOEVv3Pi2NR/qZCOmO
+my0Zxsi9BQJl57lBAAoJEOmOmy0Zxsi9iKUA/03AffhZ1LtEKkLpqSbTKbtWF5Ht
+IkwatQrsAzOqrDaPAQCCu5S4uzg6ZFmdxk/okq3rh3ttUJMB/PATmwqRLOcoCg==
+=baJH
+-----END PGP ARMORED FILE-----
+]]></signature>
+ <size>313213</size>
+ <url>https://gnupg.org/ftp/gcrypt/npth/npth-1.7.tar.bz2</url>
+ </file>
+</metalink>
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+[ -d nsxiv.git ] || git clone --depth 1 --bare https://github.com/nsxiv/nsxiv.git >&2
+cd nsxiv.git
+commit=420a0a245591ea73f86ebfb90de207a8e67e6cca
+git fetch origin $commit >&2
+git archive --prefix=${1%.tar.zst}/ $commit | $COMPRESSOR
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="openssl-1.1.1w.tar.gz">
+ <hash type="blake3-256">1b02b9bcd1d297897c89412c948651dc4760ef99f1ff6955fd568d5a5357ccf0</hash>
+ <hash type="blake2b-512">2fdba6ca0188928ab2f74e606136afca66cfa0467170fa6298ef160b64ac6fdcad1e81e5dd14013ce0e9921d0f7417edec531cd0beaf1196fec704c2c6d48395</hash>
+ <hash type="blake2b-256">a1a1c3cb03d873470214b9251d0cbba2fe14bd28544d5c75cfddb06e2699e672</hash>
+ <hash type="skein-512">38e2fc00d73a388a3f65fdce66ac78351750b66710f155b7340702ba2197d0ae0b7d40fffc62a1b4c90db40c96c0df50aca9d4fe79ba5a8e87cb345f31ff8ada</hash>
+ <hash type="shake128">2aae68274aed7b9489dc67b658365b858607241fbd15e511840e90ed73fda2d1</hash>
+ <hash type="shake256">6032d3624acaf0271a1187dcfa620d8026300610becc6ef2e50e9eb46db86684a010b96a7cd28a528546ae56fcb3316c56cdc81d119dea4ace52b1781a74a21e</hash>
+ <hash type="sha-512">b4c625fe56a4e690b57b6a011a225ad0cb3af54bd8fb67af77b5eceac55cc7191291d96a660c5b568a08a2fbf62b4612818e7cca1bb95b2b6b4fc649b0552b6d</hash>
+ <hash type="sha-256">cf3098950cb4d853ad95c0841f1f9c6d3dc102dccfcacd521d93925208b76ac8</hash>
+ <hash type="streebog-512">ad5ec49cef7e82e7768c0c53662d66f6031c6cbd346cf6190efd54159999f7386de7cc4b5c5a2369e20185ca620725ec4ac2049044d2c07657e7febfa8208019</hash>
+ <hash type="streebog-256">818f81567b4168081a6e5d824a876cd7d44e120f3c1d0540b97b5ba2cb51d6c2</hash>
+ <hash type="xxh3-128">4aea82c4eaee7e6c10a6fd7c0080f987</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCAAdFiEE78CkZ9YTy4PH7W0w2JTizos9efUFAmT/H2QACgkQ2JTizos9
+efVL8A//XiYVgTnhAtnBs8W5+8fTJ2WUh+lcG7I+GF1wi1PRMaA9YddmXu70b9VF
+x5EOcAVo7RsjlQ/VeWUtVuyTjd6eXCzoKRlbAwo9YovEsWcIo5sb6lSzuN17bIJi
+NOrALx3+TF7SZfuOdd/czohfJfFUX/5mfEmcrkwY67UvIDFgO6E04+S2eFnU9HdC
+KEF4kK10IObHRfvnAj+nSfUrnq5xtAAIpj2PBg9GFIEIxKBU72vvJYGdJ0HKFN8/
+352rNVIxGMXlwsAtWY2L09S0kt4iFST4fANM4CkxTnvloimmCtcWJvcst6tTgCMD
+PKqXJ4hJpElzCVJJJBNQxz+T2dxc97Upvense/lkB6h8bwQgYaZNgk6B8UsSZyE8
+5v1p1HcOCJBNKc8zW86a3RvGCfxOfjrFz2CC7QPdT84Rv4S/xeCeUqM5b63Ws7pZ
+3kA5jHUkP0yXsVOjxdMdqlJxqQ1wE2Q459fklLnsoHERrEQtsoaEW0DG6Kgima58
+YGwY8GxQ/QFLPxYRMjsfaLO54pdSlXa2EZ3nmL6WTY1ScdzN8K+huXz8Ok2lbi7O
+oPZCVaDl8cpO9Kh8y5Hc8KAqCU72eTgx4kDGmEou9z//bl33fq0s5+PAjaz0XDvZ
+gdOlsOngaAlvcVF50ZkVERBvfVb41O0uWD8MSk+vvBKQvuecrQ0=
+=ZcG7
+-----END PGP SIGNATURE-----
+]]></signature>
+ <size>9893384</size>
+ <url>https://www.openssl.org/source/old/1.1.1/openssl-1.1.1w.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="opus-1.5.2.tar.gz">
+ <hash type="blake3-256">58400a890dcab13a0388cefd6ab2b4f0dd99e40efb6d3536542d2dae00fb41ec</hash>
+ <hash type="blake2b-512">1c54de8171df1da69b64a2eca4ce97a0280cfceafb387f40ef1186add366030a397fabc19b18cf1e50d6dbaccb027697d1e2b3da4fa6ab73d70c2b4e723e87f7</hash>
+ <hash type="blake2b-256">84243bc6c720d009d95cc2122c91ea50655a505a858318aadc2d1bd1cc507d21</hash>
+ <hash type="skein-512">dbbf5ad6499430e2eca364b88afe97bc70890c8bb22b221383aed8ba35071d63c31b9c3c031068124bddee43930cb6d8aa4a8410612bd3ae9799e54a77e3ed26</hash>
+ <hash type="shake128">d4f6b67e7db3cb2961c67b5e7b780c2ea4ff5f655584af0afd6030df988df694</hash>
+ <hash type="shake256">08d48c5d96a0186e4f05811fc3dccd52f43ae501d9ad7ef9e93dc350c27df0d981df03c78ea024bbeecdd8dc37fcc5ab5e446c56e29743456cf1d496b2bc30ff</hash>
+ <hash type="sha-512">78d963cd56d5504611f111e2b3606e236189a3585d65fae1ecdbec9bf4545632b1956f11824328279a2d1ea2ecf441ebc11e455fb598d20a458df15185e95da4</hash>
+ <hash type="sha-256">65c1d2f78b9f2fb20082c38cbe47c951ad5839345876e46941612ee87f9a7ce1</hash>
+ <hash type="streebog-512">e1cfd81cc175638ae232d5e03258fc0964935d193389a2d402c6ed651b4c33fb7590974cbf561d269ceaaa3f99035d411453e41b032a93cda79b351e0e42d400</hash>
+ <hash type="streebog-256">b4fc5477526596fed9c360a3e72bd39909e241b020bb291b7c3829f9ef35f89a</hash>
+ <hash type="xxh3-128">1d8e4407f7d3135634fbd91fa03bad41</hash>
+ <size>7839412</size>
+ <url>https://downloads.xiph.org/releases/opus/opus-1.5.2.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="opus-tools-0.2.tar.gz">
+ <hash type="blake3-256">86fc781425cb9bbd6ab16bdc579eba489bc895a6d4214c518e6ed05f6ddc8963</hash>
+ <hash type="blake2b-512">c5896a6303aa1e1626097622e671bc96fd292a0f0c40a56410ef1f7699f8d18540d71e70f1cace6a91bb430886f1ddb07ba08503bdf82aa81758793bcea5b530</hash>
+ <hash type="blake2b-256">6282679bd7efda75d12b194c891f2a3694b435559109c659b51bc17f300737ba</hash>
+ <hash type="skein-512">7b4b64e896e2778b686d518853ac563921b4fe11efc16daa0be476189a4893a666c68759313658f6e1f4e04b143ecd3b36771a87d7e651a5d7ae422478ed85d8</hash>
+ <hash type="shake128">665ae3ecc9743e18346c3de9d3129109fe8361e4a8986ee9f1d03e03fa7a3f0d</hash>
+ <hash type="shake256">a20259429c67a7ca923f1df2db95d661d3414880cb337c6518d36d00404dd304b1d9a25df30323202bf04d1b7792e17ae18adeee6d1a58838b54011c83739bd2</hash>
+ <hash type="sha-512">6fdde8d938e8fadc9391b5d188883dab0aecf8b27d40d00b5d67d8fac9cfd9d5107b1934bfe6310587400f277c99d1db5cabf3d26f340ce2141873dec238e5ce</hash>
+ <hash type="sha-256">b4e56cb00d3e509acfba9a9b627ffd8273b876b4e2408642259f6da28fa0ff86</hash>
+ <hash type="streebog-512">876a46af0651af058298788c4ecd4134024406c043f46f5292748c59b0f32c72230ec10eeb364e29c5891ed479971de774191adbb3d73eab1ce8919e4d4c3265</hash>
+ <hash type="streebog-256">e8dc8687eeff27c2bbbc2dfb522f2794080acef31d1dcd4395c875f232a23126</hash>
+ <hash type="xxh3-128">19bf9332f00966dc9785751a2310bc3b</hash>
+ <size>457680</size>
+ <url>https://archive.mozilla.org/pub/opus/opus-tools-0.2.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="opusfile-0.12.tar.gz">
+ <hash type="blake3-256">1b6a5c371a0ea2ae8e37ab2e921388dfef9252dbf7f60045192dabbdd898f2bf</hash>
+ <hash type="blake2b-512">d54d9b8ed011c018dc6de77afab524d2e47ba6cca69b911efacf361b41f3b59a31424cb15a778db14166815ba5e2352f33f8aa7987c30e5e14339c652558d18d</hash>
+ <hash type="blake2b-256">25739c2c45cc4ab3ac2163c6f71f7aec7c588af0b47d24faf2faf7c3a2a8888c</hash>
+ <hash type="skein-512">1b3031315ff5f1b5b81e2c77e57f8e4dd49163451a3234f27bd8f5a5a6119bcf5d488f470f91aef9e11a6b3156c9e9a3b74093289dfb44321ae41689087a36e8</hash>
+ <hash type="shake128">85b3c3e352ba00a185b1a8ce73dca784fc11ceb510cbf90c2b2a04545b69847b</hash>
+ <hash type="shake256">13fe3b53e779e4df7cbf032f0d72c7371fe7c319fb92aa59ea9280fa0722229b4c517b82b989a17c535bbfcd3b26e1bce3649683cae0529cf19ac3b78715a61d</hash>
+ <hash type="sha-512">e25e6968a3183ac0628ce1000840fd6f9f636e92ba984d6a72b76fb2a98ec632d2de4c66a8e4c05ef30655c2a4a13ab35f89606fa7d79a54cfa8506543ca57af</hash>
+ <hash type="sha-256">118d8601c12dd6a44f52423e68ca9083cc9f2bfe72da7a8c1acb22a80ae3550b</hash>
+ <hash type="streebog-512">53958fd75a1d996659f5c5509fbae50e09d69a23a89934dd2bdda6049b41e7a7151c9710a56fc21e44e709eecbd55e0ed7bd08d964d44df4a83501fb6ec6f7b4</hash>
+ <hash type="streebog-256">4ead785b8de7eafe9c94dbef756292e572bb0daf227a28a39881ab4c8ea69a5b</hash>
+ <hash type="xxh3-128">92fb43f03579233a577068b4b654f67e</hash>
+ <size>471354</size>
+ <url>https://downloads.xiph.org/releases/opus/opusfile-0.12.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+#!/bin/sh -e
+
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../..
+sname="$0" . "$BASS_ROOT"/lib/rc
+cd "$DISTFILES"
+{
+ ./list
+ find gomodcache/cache/download -type f
+ find . -type f -name "*.meta4"
+} | $TAR cfT - -
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="parallel-20240122.tar.bz2">
+ <hash type="blake3-256">756407d43ed5074c74a6969365fc8f256aed741a4cb4d6600a207f1f5d3aa445</hash>
+ <hash type="blake2b-512">3563d5f7f29701b71531501ce070c712d06e16d70005bd7a18f890ad13e0c6035ea091239073ccceabcf4406bba6ea96275531e0ef67cf4b304ff56649100d60</hash>
+ <hash type="blake2b-256">3101adca7908d69f2b60ae089e12d53cbd596be7e36b3a1698b98ce4510e3721</hash>
+ <hash type="skein-512">27f20a8fdca83594305383854d6b3e9c37ef7fbfcdfa4857a6ca81e9542edfa5189e42afcb5a0d49a61b4946e6dac9ade0cd7ba54ccb30313cf65a979f8f024f</hash>
+ <hash type="shake128">4c8913b688f4a1e15f43637983196a146fd15e688a2a570fa74a935964745c8d</hash>
+ <hash type="shake256">f7c9f3385e2fe1b7ab5fa68ba42e7ec7490db4af18ac72ef19c3070183599981e7416312decba84ab1d78d882aa385441df8eb2b2d6c668cabb99ef38ff5cbfd</hash>
+ <hash type="sha-512">1fc7f1ceda8ef794f66e60c0f8fdf589aaa77ced243409741892373af9a2d698541d4c365ad61056868a2f11f4934db02374da4c121ebc418785c5a72fd47b3e</hash>
+ <hash type="sha-256">859688cbb5641cd7b6b16b2b960be24aa4e37e655cc8ffcd8af971cd7d5b449f</hash>
+ <hash type="streebog-512">03a40645d8d2fd7d82306afcabeec92e6a382ce09b0af4ec37b2f3265f228d83a0594ee4f10a9cd6ed3d5f7c338cd10f1e82815fe24d9178f4680015e5f9a307</hash>
+ <hash type="streebog-256">0a872f73f4661b61cd563dc0695da8ef34d0a7de2040c12cbe52b0eef369c62d</hash>
+ <hash type="xxh3-128">dbc36278e3a9ef969ebbf8daaa6622c9</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP SIGNATURE-----
+
+iQUHBAABCgAdFiEEzaAaQgjE90UGEH570atFFoiIiIgFAmWw8UoACgkQ0atFFoiI
+iIh8QyafVQuBS1x+ElvF54LeONWJ5ccPuIIiYQBTi6ndwHluDAF5w4QcyXJH9NzF
+IFzEbvqKzsdsLwogOhR1Qz1NEEU5D2hLRKEdDd+xJxmCpIgHrgP0cB78jJThMfrN
+1yfr+qEGzbcYeKKtHyCrVOeXqZC1Yg505MaNHfCwro0frTjQudYfl9d32GDnOrAz
+HE5Sw8KPSh2r8a3ZlkNShcjUtm2i1KbONGMB03KIFTLRbO9raendzuKU5dtsZkXl
+7mS2mSo/fbPGOSQW8IanYoJP5jSFEMtDAifjvjnlFqgYdMzJjv+/j7h2z5cayhWd
+y087DgQ7D9SKqEwzloR3qKHlLB8foIIoKwPqwAM3JKXA5pTSFIgW+qOQs88RQv9H
+Ms4oFJLwYWF1QNbuwRiSN1gJD+DpOfsH/fo94rjN2YaW3nYBKH4003iwqhfNSihY
+aHfZwlTxBHBuxU+NOvf3rk4nZDMne0ZU86oMAQ8J6FMaV5L38imbQc2oQnOtRaiI
+OfSnPYCu1xBxjAvjqTH7Gq+tq7Gc7XmARLWcSpB+oKUFG8BMTu3J2g0YI8q1WdND
+3c/SKQcvUgmD4mw7G16a3mDauBknWdzWFoeMrDqTbNvpC1N51PM27rXb7Mlc6tBy
+sVRkU8mY5GrQvM8vhQ5GSYdKMxOWwkA2Pr25aE7lil6SyEcadlanUPFyywoK7J13
+Ev9I3eCnz4RrpQIUTLR7LOioSj3Zx6rPyteZIeKE8H7dq0JEq+JyeEzfQXDDBGnc
+ZYqprRy6Q6kU9uduNFZ7/h5Q24R4c3ROJhKuDyKkfN1MxNGZfhh2+8qkI7wgbDLp
+SPINH0qVJ4Wx4IBX2hoq69B1W7PEJ7myXv5rb45jAYNtAamPS2eh9GBZMzDalP3b
+SfDsRa8Z8ZvNfXmh1tCwDgIBYfjpvtVCso/sIPhNzy8oxfFMdLLUefNkGi8gzboJ
+NS4+pWNob/0DxPk37A3rVS007RMAv6gVfkkxJbC6txNjr8KjI8v2XxrlsU88TmpM
+Dn4CwAP/5+7sYZdnhdYEPQKdXSEJbucv5osZOGfjU+cDF4wMQZ/8O0AyNHJ3Hmk0
+fwNpQFHqP7A1HHtGgF6rci08eas7CsXQSJ+mJaLZTLkUBBKQfTTl1p4JWphY768q
+lAPm9uorxTj+/QnDgOGxpyPOfeeOyMm8W/Q61OWJr3yG/jpbZt31UiMBCxWvmC+Q
+1rHXNcH+ze0t8d8yrTPTQ5R4pByy4GoAmkUEN/EMwx2u2Diz9TZcK77RPJ1BTVEd
+deyqBbnGNnW8t20UlLn+6X2quOEfJpvKaf+o7p7dljoiqmilr6HdC3pBO29+Q9FP
+QkOVCw0haEn0oxhhajEk/pa5wq6QmsI0Fq8kmtVxTZpbWGlXxuodToE/7AMTYgrA
+32q9XoZ9XD6zzxLGhb6N0aZY5pcBIbhC2om+Xdcz4UsO6Iq0a+k1Yzzgs2NBtevG
+Qw+BQ7K3uWm7kPkwIm5PZgOhEZDDbAb3nxvFmrInux9u46o43euaqPeUfbmAGqNL
+IXYnv3uYl1f4rf9BnqERV1FCmaRdqQeJJZysoAdhz+2iQ6MvTnfgcDOl6pPy5mSY
+TUCHTIDqKfiQwzmt2KDxZsbYgbsflAA5dUphHaJ9dBwawPq4uwP61d+2
+=bYKy
+-----END PGP SIGNATURE-----
+]]></signature>
+ <size>2586008</size>
+ <url>https://ftpmirror.gnu.org/parallel/parallel-20240122.tar.bz2</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="pcre2-10.44.tar.bz2">
+ <hash type="blake3-256">4a3435b2dcc6c068f0e47fa5717efda599d8add37c8f1258f26cad9b1f0d99fb</hash>
+ <hash type="blake2b-512">fb06228f8bdc5906ef4f19d7d677f1009070855149d9ad3f807cfcd164f5cb6165f96e074fedc3942226d4b29edf4b29fab6cde2f2ba58bf6da282730941412b</hash>
+ <hash type="blake2b-256">fb158cb358b019a4f52ae5fc9ea22fa256238dda39333dfc49517521b7a66d2f</hash>
+ <hash type="skein-512">15c9d678e8e5f8ab162859566c621c05d2622274b73894bddf2d40412860c02749db65eb96394b1d66e3386479f4bac395f74ae5b7d410ff97f5da90bb78ef9e</hash>
+ <hash type="shake128">26c3ea1588ba1985384bfb92b81ed461628153a1941afdb176183d5a740b1c1f</hash>
+ <hash type="shake256">a2579a32b3497a85afa9506bf3e412b924f43b5521132f7e36c1afb61d84dac419677ff5207070cbdb3967aec17a75e1adc262b52134f48535d5519a324a4308</hash>
+ <hash type="sha-512">ee91cc10a2962bc7818b03d368df3dd31f42ea9a7260ae51483ea8cd331b7431e36e63256b0adc213cc6d6741e7c90414fd420622308c0ae3fcb5dd878591be2</hash>
+ <hash type="sha-256">d34f02e113cf7193a1ebf2770d3ac527088d485d4e047ed10e5d217c6ef5de96</hash>
+ <hash type="streebog-512">b37c3de0805d7696646a575993b6a4122c97fd5a0cbec30c1344e219acc437cd8f700faf6b7681bb242b289cbb9b5e67f87ffe2ab76862c88c4d0f91c278680d</hash>
+ <hash type="streebog-256">bbfa75bd9997052f1b6e13d4501eb296767077c256fe90027fb91c27c2d02bc5</hash>
+ <hash type="xxh3-128">04ac8ff88a99b3ebc76f7bcce1135ced</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP ARMORED FILE-----
+
+iQEzBAABCAAdFiEERfaNVLviP7MDm0bll2bghPsPQ9gFAmZjEyEACgkQl2bghPsP
+Q9hE9gf+NjpQsugD0hdympcfBXTVvpou62i5ptcKZulZA+72mwm3ehAbhCeOjV8m
+ljq3L29gfjAxoJZvcYWz1cJ2PWw5oaIoQClPEQI+l52cXQGY5iXJoO25FeA6oSZ2
+eh4T4xSG/DzDrWNlSsr3CBSbHX2DOFDR+wc0xtpawinaisrBrax9+Btkli9b19dz
+0BN07534tGOaYzmbjoJjhE5tunHi6chTBLztsPrI3QDBQJrFzOT4OuTwzgOl4Cic
+/igvr8OmxErHnr3tXTG1WcpEb4fgSbzkttnQLATXGM3H0LU0B8S+LDN1aZ8y+Qx6
+UyPm8jVuJjKYLDfYgXq16UbTlPkBEQ==
+=gyyu
+-----END PGP ARMORED FILE-----
+]]></signature>
+ <size>1928086</size>
+ <url>https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.44/pcre2-10.44.tar.bz2</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="perl-5.32.1.tar.xz">
+ <hash type="blake3-256">b174a36a83892d0bf84fad9dbdaf133c49f940ea77af50222c2f56a71ae5d3a8</hash>
+ <hash type="blake2b-512">9f89bcf9cffb245a0f2cb0afa17c25f092c84cc2f29bb1c744294c2f0393c72dc3beb9fcbe256cf252677b33bc594b294b3f6a4774ad9e30b771aceed1f4f147</hash>
+ <hash type="blake2b-256">bc52fff2c1465f06336053a179c32e81fbec335f8e5f0783a314da305e2126d0</hash>
+ <hash type="skein-512">a423a9c5a7aec880d3c0e269d555b568572ba3d85914f0ffc6676ecb97d8f54262129350546be0bff2f85d9004a3ed13f708d665e2b3525904fcba484a25f03a</hash>
+ <hash type="shake128">647c7201d84577257229371941fd34d49aaaf1541dc40f40da9868d3e7719451</hash>
+ <hash type="shake256">68ac974be08caaeae494bb3f797573e6062062c35330d138b415d7d986bd8caccfaffaa8898c7dc905d20c73f4e77d13614e62690cd212fab5690a8f978a7fa5</hash>
+ <hash type="sha-512">3443c75aea91f0fe3712fee576239f1946d2301b8f7390b690e2f5d070fe71af8f9fa7769e42086c2d33d5f84370f80368fa9350b4f10cc0ac3e6c1f6209d8f9</hash>
+ <hash type="sha-256">57cc47c735c8300a8ce2fa0643507b44c4ae59012bfdad0121313db639e02309</hash>
+ <hash type="streebog-512">19a96f14366cdf4cded29d55eaf43adeaea18ee108689c133fafc391c15ccdc43a9d522dba50c191515998fe14434e8759d6e12551246c24927cc3a1db50eaca</hash>
+ <hash type="streebog-256">09a89dd5031bd4873baac1065d35a606bbe74fe98c50ce98f4998d288df02128</hash>
+ <hash type="xxh3-128">877cdfbf7ed649ed3365627078cd7227</hash>
+ <size>12610988</size>
+ <url>https://www.cpan.org/src/5.0/perl-5.32.1.tar.xz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="pinentry-1.3.0.tar.bz2">
+ <hash type="blake3-256">bd276c9e8bc148fbf710afa71f8eca39a245c1b26954b5d7a8b77e21e8ea4b54</hash>
+ <hash type="blake2b-512">a55b80754ef37d18ebdf0bd50e134a7b1bf6362b859b7069a9e4ebd86cd7e733d51f3c21a16779a18aa0d0dfab1f7a3df070d4f7e39e0840339078c4e9cb58bc</hash>
+ <hash type="blake2b-256">d009f449908af205fdd260ab94f7e4e7d739a102194fee52175f635f030f48d5</hash>
+ <hash type="skein-512">dc4d69e6cec84c4bf929ff41df105d0007bbbd662d782d996d5ee200d29b7df43e229f86897b64a434a1cdfc34ed4c103e7b7419dc3025304d439d545d554732</hash>
+ <hash type="shake128">dcfe842ec4722dee93c2354ce4f4e43470095b36527e13b9f60a49c319f6dbc5</hash>
+ <hash type="shake256">bf2fef418fe76825008cf5e4885b2c005cfdfe73b3e9c54e805e54530648b00c508521597566e6f4424d6a62e54fcd9c9a30256d8b3ec15304b2af846cc65662</hash>
+ <hash type="sha-512">1bbac81c6811cffc8969a46494e6daa6b8447802f47ff6fa3e4dc9ac244cf6e5f629834c9b6a60770d06bff6c9932ad4059f10d2fdf93fd9e26fd5d21c0e3732</hash>
+ <hash type="sha-256">9b3cd5226e7597f2fded399a3bc659923351536559e9db0826981bca316494de</hash>
+ <hash type="streebog-512">02e559851b1f8dd60d3364de290387a291769496695ad0413655da4091af48438752a9ac86240a3fdc27830140cd0494434b148ceb214da28f7d7861febb40bb</hash>
+ <hash type="streebog-256">0af856f05362c6e36c2a442c6b0d2876e1dd779d3b5f3fd129616c0f96c347bf</hash>
+ <hash type="xxh3-128">dd0d4d9952505e4606cc86fab67721cb</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP ARMORED FILE-----
+
+iHUEABYIAB0WIQRtqm5kp20oQFcbSQJSiJe4JkA62gUCZfgkNQAKCRBSiJe4JkA6
+2ivZAQCghIExMfUQ59fppNwAB34AnVKitKNU677vDjjw8gC/BAD/WggvGjArmalg
+26iL/Aqj6axJO0hs7u2W5IvmGRhd0AWIdQQAFggAHRYhBKyOEVv3Pi2NR/qZCOmO
+my0Zxsi9BQJl+7l4AAoJEOmOmy0Zxsi99c0BAL8J1GzYxHi9j/vs0PWaEc8OBpmQ
+gbhKqvTRTrgIpjFYAP9fFIiM3B07RXDFKQvKZmdKeE7H+Xw7UNnuGRbrML1kBw==
+=AxC4
+-----END PGP ARMORED FILE-----
+]]></signature>
+ <size>610363</size>
+ <url>https://gnupg.org/ftp/gcrypt/pinentry/pinentry-1.3.0.tar.bz2</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="pixman-0.40.0.tar.gz">
+ <hash type="blake3-256">3ddc476afa06634ca8c51215e8a99a2760df2261fb5c13ca6617543dfc344142</hash>
+ <hash type="blake2b-512">1333d2e052a0f6343e886fc4c9ca7e4823ec7bf9f1f5a3e29723107de60c7b4e67ac67fb1f97fc00e4e495358945e6d12987dd56cb9c9fd56670a9b5cb8c9e62</hash>
+ <hash type="blake2b-256">69fa5267b87f1f17928964d3a4b3a4bdf1fffeeb4dbac4fe26e33fd12cb65d38</hash>
+ <hash type="skein-512">c6d5e61a4494903b82a302691c68092e89d0b473a26b286b2ff32a1ad38d65de59f6f1495edfd85020b723825648203b2931228e27e1bf2b0dbce2768155f7f5</hash>
+ <hash type="shake128">2eda16662b55774c38c5deb4713ab5ba9cf23034a05e757e1db9f52c4be1d9ae</hash>
+ <hash type="shake256">798689f987be8a7bf83f9446934dc8f39aade6ff5d69e3e00763cf913d3f2489da93b4e001f6abe5ef99978656456991b365e4589e441eb57dd46dceee0aa990</hash>
+ <hash type="sha-512">063776e132f5d59a6d3f94497da41d6fc1c7dca0d269149c78247f0e0d7f520a25208d908cf5e421d1564889a91da44267b12d61c0bd7934cd54261729a7de5f</hash>
+ <hash type="sha-256">6d200dec3740d9ec4ec8d1180e25779c00bc749f94278c8b9021f5534db223fc</hash>
+ <hash type="streebog-512">e79bd4a796bc10418d216359fab056a21d46444e3e0fea97519b4d76fd2176304ac0d04141c3c6573f8e729dca11e82de06b0ae7485f67bb2004617d084afd6b</hash>
+ <hash type="streebog-256">e21c1272fd8ffa846d9bdf11038a00136bd6b11527502450bb554725763b1955</hash>
+ <hash type="xxh3-128">2904191ea990abd4eb827229fb9101fb</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP MESSAGE-----
+Version: GnuPG v2
+
+owFtjz9LHEEAxUejiCcGRTkMQlCCaOMwMzt/djrdu7UVTCeizO3MeFe4t+7ugQiK
+WASRIIpgkbuPYKM2WiSFQiApEhT9AnZWVhaKimth5yte8Yr3e2+78wPI5Rvr07b1
+suNX0/5xqT+qLC2ocBRBiiCCqYrh/DJMyophMtv4AxB3hOAGO8QyzaTi2rGSUim0
+olhzG+BA6EAhTbjEVAbCJVRYZJAWlhGkSGaulsgNLDOUYI0Zp64rlcRZAyVclDDR
+HAeopIV0aKBZFmJBpBLaMDsw8N7A3MZVC8jnwEp+sOVorz758X4l/hxs/Xx71tr8
+un2udw1kgmCkkiQ1E4/aKB4Lq6lKK9UwgdXIhNF8BG3FpuVyNU5MxoGhST1HcunR
+CeRPSFEUBPvccX2vKAsuYeOcI1akyPN8kGvveiP+22oC5/s7B/mHi6+Pm8tfoulG
+X+H3zszhdeGuu4fIox/hLXgmi0/1tf/DZf9sqt5jTr6dLp1t/L35vlDbxZurQ5/a
+XgA=
+=rkUB
+-----END PGP MESSAGE-----
+]]></signature>
+ <size>913976</size>
+ <url>https://cairographics.org/releases/pixman-0.40.0.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="pkg-config-0.29.tar.gz">
+ <hash type="blake3-256">16d375630d2b8f41086e9d00cd207ec9e2a74d7bfc57510ea088071840522f06</hash>
+ <hash type="blake2b-512">56629c084e469916a53e31d7a7b2e94e1990ec3d7d9d31821f734b4ca9f3ace30a74487a608f56777fd12739814069eb99d8bedc281420ce3ddb161105ffbf43</hash>
+ <hash type="blake2b-256">7ca300eb305d9efea050a4fe307811812b9379daeb22697708b857b828b167a8</hash>
+ <hash type="skein-512">b9e47bbb9407fc9dcfd3eeb5698cec251e951062fb2b4f0db725177d176ff192182015fce0ca6dd4f2733e244323132a1f6d0c0f474fbb19f7d9e4e54fa2e81f</hash>
+ <hash type="shake128">f1a636ae662f41c144c60dd78f177a139c4bfba40745300d4087197d539d0b0a</hash>
+ <hash type="shake256">2821bbb611a051c806b9cb472fd0114ff73111b9df7f10b984f62269ee2ab7818daaa2ddff2ac030fb2e85cf41ace2499cc2ac354db141acd8d5f3b40e08f168</hash>
+ <hash type="sha-512">c2857cd67801c0db5d204912453ff6bdc7da3ea61f8b1c6b38983d48dffb958725e7723f909abbc057c7b34a85c27290eec6943808312a75909306076064aa63</hash>
+ <hash type="sha-256">c8507705d2a10c67f385d66ca2aae31e81770cc0734b4191eb8c489e864a006b</hash>
+ <hash type="streebog-512">cb4d557b88f1dcef7c3426a3590788b91916c6b6a3d526531af06c4f80b8c1c09f79f9342b4ee11a9f71eaffebf56ee8120dfb9fe125bb86a79c516793af1e2e</hash>
+ <hash type="streebog-256">3c8d83221d93497e0676c64845063808c9e005460469320f7dd6f4cf75e88333</hash>
+ <hash type="xxh3-128">7432b7aaf6960be781d40755edfd37b1</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2
+
+iQIcBAABCAAGBQJWB/kCAAoJEAI6RCDH7GkUjFMQALpG7dFQxA7SxzRJpQjjxGrl
+HIxEijij9pvqvZt54bTfMW6gtLDqWaLznuiKg/tHooky2WxMOTmLLxgkFISWRn+C
+wB+SNGmTk1HComAg7N5xHhYiXlLqxS5iaEz9a03gvamj/veAQQIiJ2n+kzrvGwW3
+xDnXOCoscBInwAcxB5/VYPX+lDN10hY78wEBkXiVognscNuCixDk6dJr/pYO0vzT
+47+BWiZvjO9Vkay1orOu7gyiBwpl+4tvL9Vov6K+ip73rqQjsgX0So2Tq8SsbaDG
+lh/4zRMhpYhQSX9leWK5ypvvFfOvR/StYMmAcYX2PJ332Bj86ILsIHEQULjG7Lav
+K85VaJWoqiOHA7+8dOXOo/N7eGyR1UgB7AD8zYn4O1252FmXCGmofzbxZY6aCJap
+DryMb0JfS2vGrWNLEqH5TwcJLhmWaRK5nImqRhzKZzxCyKUEZE+8BRgBRVZpKawC
+UVV3hTo6s160NPj2ai3kDq7MSEZ2rLg5NEkZASAo4aGo9o6+sGRMJS01zRUpo6zF
+qQVlj3nTLh1vGqwrJdvWhtCoLlo2WR0dbbZYo2VAxNL8F9rRs8PygGbv6DzjGMTV
+/hP62qnRCPv8MTU/3zuVm0gwZxaXxN23b47nyM6u5zbnhxqo65PkF5p4opn8l/Ps
+hYRPon1eagggNygFyTPt
+=3VL7
+-----END PGP SIGNATURE-----
+]]></signature>
+ <size>1973875</size>
+ <url>https://pkgconfig.freedesktop.org/releases/pkg-config-0.29.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="pkgconf-2.1.1.tar.xz">
+ <hash type="blake3-256">17d04b5700bec0025f7a052065af2e7dd6c7d011299aa4d19439bc0376b96154</hash>
+ <hash type="blake2b-512">b59e57b1118bb75bc946a1e65e037a172c2ade3a7b9da8404b3598833cd091600045de151f2db06453b23563501b2dff7fdda8967e14c0c933ac50d28ddb3cd0</hash>
+ <hash type="blake2b-256">dde990f50de5eeb3cbce7661c81e7027bfdd17edf209a304af74e7199fddd3af</hash>
+ <hash type="skein-512">21221178a0d797e0026a5ce2bca516f117609dbc992e444ac9580ed64b8f8b91b7f0b01cc6db0f0a42e84799594196f212c0677db6664310f17424b3e689d220</hash>
+ <hash type="shake128">77a401c9917b0df90f87c684c869d692ab9ad991c1dbe2f3b13f2567a9397e43</hash>
+ <hash type="shake256">890cddcd0315c045cea014188ad1fbf35023aad29d22f03d2d56dfe3fd95231fbb60a4fbacb87f277130a67d4b39b28611847ee195bd0f490750df030bd4fd12</hash>
+ <hash type="sha-512">cdf0998cd87f6d5e5a6560037eb847fd9613d237858d26eec321c42f54ca40ac72b6749c48c5b32611841d701393b1217bdb6c0cba5efd2c138be10d0e8fb32d</hash>
+ <hash type="sha-256">3a224f2accf091b77a5781316e27b9ee3ba82c083cc2e539e08940b68a44fec5</hash>
+ <hash type="streebog-512">0bb2692cb00f6dfcefc0559bc5f20edd480a8c773bee04e05af77e13783459636cc2187f11e2842548f9f91978c954e75b15ea60163e8b1b6d9ca0511c5ff9b0</hash>
+ <hash type="streebog-256">015174c997723e157a9f07dc435c95aaaa5a9b4317877d15a57a71901bc06cce</hash>
+ <hash type="xxh3-128">260f9fd62cbb408b82ee157a50098866</hash>
+ <size>311956</size>
+ <url>https://distfiles.dereferenced.org/pkgconf/pkgconf-2.1.1.tar.xz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="postgis-2.5.9.tar.gz">
+ <hash type="blake3-256">06b5cadfed89c1a297ebdb688cc7a8ff0c311575f2cef1ca1c4391adbf6fac78</hash>
+ <hash type="blake2b-512">21606a909b154c99e9fe3c39e2f612bad813730e8021251ada5fc2f719a2a286cf59564be772ebf4ea748c6642f94c226373c20132724d9c113db643c70f8e87</hash>
+ <hash type="blake2b-256">062e83620e9240a050837af3f1c7c634d781e007203b575cf03c4a2eaa23a2e8</hash>
+ <hash type="skein-512">8695bc86933bec1c9e26b7ccde727c077e074351c6902221f3afcd39d3aedd16450a083c78a86dbdbce6e312bdf43680859d54b55d1f440680ae8a04c7cf887a</hash>
+ <hash type="shake128">f3421b473539cc88de7c0d691a578aaed818a5b0820d261de64f545ae06e3806</hash>
+ <hash type="shake256">165b3027d2f85a2b04228c99f7b430d98e685099b3cdb3ee45defbbeecad391656d405de6c05462391b5b06fd97fdf80c581667cacb4d3317bd3e04f270b46b7</hash>
+ <hash type="sha-512">448f0a42a335f3df6da07491bbfedf9b2cabefb669765ae1d6998dfb1f0c47e3adf6ee7cc3dd34d95a46fab61fca022d927f6489130a53b1eb04235534b4e40c</hash>
+ <hash type="sha-256">43e83260bfb4c895ecf922c2279170ac0e856639fe716667834484d823260943</hash>
+ <hash type="streebog-512">0370436cf6a4bd759171cacfbb8dc14e629de96a3822b960c2d93587cb0f0a45a0fdd0a1ce9ccfaabb6078eec605e0c5e73340532850a4ccd28ccd7be09c7206</hash>
+ <hash type="streebog-256">6e45aa08bd837b6d8af377c6ced0508ee7d504b5a376ac4958ea2a397d875d20</hash>
+ <hash type="xxh3-128">6b41e2c2e6aaef9be58ff030c5e1622c</hash>
+ <size>15921201</size>
+ <url>https://download.osgeo.org/postgis/source/postgis-2.5.9.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="postgresql-11.22.tar.bz2">
+ <hash type="blake3-256">08ec35a3e77739782d8e79e172c8e2e3e7ae41f165a2319b1703058f08846e9a</hash>
+ <hash type="blake2b-512">1bac5e9a73b1ad1f8e082cfe29f374058b866d3e1234612c01bcc4324e5e25a407531e71436a1c0e10e7574da494499540d242ac66db66d5f85c1ff5954bac41</hash>
+ <hash type="blake2b-256">e87161c28f2319e0feb48bb620fc49dad8145ba4eaa9026d8e61a45d7b7eb0e1</hash>
+ <hash type="skein-512">78016a6d72d3fff78525367cc83b4952c0bb51ebe3a8aa2c3d96bed8af16cca1d83ee4fc642f9bccac99f413d4483b75e8b493f3aeafa194a02b94c204a83151</hash>
+ <hash type="shake128">7be2c37b81f46943b2659f758f3da548b881bf7282d9da67dc5047802f1cfcf9</hash>
+ <hash type="shake256">d24c5a3c5b6d8f464d230ab809d265772b301cce22ea8e9292ce49bdcb1eb8606d1a0064733d3b6c75c0ca5d66f278782e25e54720550ccd6e6a00d8c0db945b</hash>
+ <hash type="sha-512">2e4f7322235ed616d10d1e720fa72b8700cb1ebd9fec2e65d63662fca874c8df519b5b2184b32ee63f2060f6f6f620956b790cc6b24dbb06eb0b07d2710a8278</hash>
+ <hash type="sha-256">2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0</hash>
+ <hash type="streebog-512">c11f02752d9207d9d9b4161f7ead7b13475a2ce0dfb0e6c0d3d07b21d63599c6f61c519e05d7b6f79290046fea577c563665f9df85519ab81b94964b206f9772</hash>
+ <hash type="streebog-256">7f7b79b6a1a08652307816c9c3838dbb039571912997678073a8092eca3e272a</hash>
+ <hash type="xxh3-128">164414a91c26b7d03cb8fe536c90ea31</hash>
+ <size>20482994</size>
+ <url>https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="proj-4.9.3.tar.gz">
+ <hash type="blake3-256">c354185f685a4146676041eb7f911168916f89f8af1806cbeb73286f31c1e4b4</hash>
+ <hash type="blake2b-512">1055dbc3aeb7f6d27aa824f247cb53e860d813fd6c5338f0f97e35cb458e3f7742664f2bb4a78a04c78c9355462a6c0db2cb82087069a6545a89837915fc4ece</hash>
+ <hash type="blake2b-256">32dce116a3505a9635ee32ef9dec4ac32810a2a6962d7f44dc08545d74402743</hash>
+ <hash type="skein-512">7a51f51ac388efde63739d97702fae2547a5724ac0f58abc8eacbdb73d0131d4a705db6190bde7462019e00b9701c01771118f655daf7c72629f167531099310</hash>
+ <hash type="shake128">6e376f48d5499451f13d065ccfc906041d3550b095ec9d5dd3db288592410752</hash>
+ <hash type="shake256">6259c992ca34ed4b0eaa8dcf771c7d737cf3fa39cb82e1afc6ceb0294c6a37afda26c551547db22de0b0a3930f443987775fe678eacd97b2e50cf1ce9925a9b6</hash>
+ <hash type="sha-512">98e986fc5cb0dd13dc118923df096517ba32e17dd27b725fdbbcd4235b2f25527cf63c68672dc206730bf70924ddfbd2e60d3f4af7182634be79bdf4ca9ee2cb</hash>
+ <hash type="sha-256">6984542fea333488de5c82eea58d699e4aff4b359200a9971537cd7e047185f7</hash>
+ <hash type="streebog-512">36e73c858a05f0f7c007764554871fc44d55c7551e52f8ef8de0ee6f098a3fd4d14cd71bac71cdb7ad6eec9da061f94180e53a65a6589f69ac2317865a10fcfd</hash>
+ <hash type="streebog-256">2c8cc8abef7c2ddd148f770b93014f7eb128892c62578c40660b3b0be9b4f469</hash>
+ <hash type="xxh3-128">b6dcd573f1941b1fa1bec34686c8ef32</hash>
+ <size>921448</size>
+ <url>http://download.osgeo.org/proj/proj-4.9.3.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+/attrs-19.2.0.tar.gz
+/certifi-2024.2.2.tar.gz
+/cffi-1.12.0.tar.gz
+/charset-normalizer-2.1.1.tar.gz
+/frozendict-2.4.0.tar.gz
+/frozenlist-1.3.0.tar.gz
+/idna-3.3.tar.gz
+/importlib_metadata-3.10.1.tar.gz
+/multidict-6.0.5.tar.gz
+/packaging-15.0.tar.gz
+/packaging-16.1.tar.gz
+/pip-9.0.3.tar.gz
+/pycparser-2.21.tar.gz
+/pyparsing-3.0.7.tar.gz
+/python-dateutil-2.8.2.tar.gz
+/requests-2.31.0.tar.gz
+/setuptools-50.3.2.zip
+/setuptools_scm-3.5.0.tar.gz
+/six-1.16.0.tar.gz
+/toml-0.10.2.tar.gz
+/typing_extensions-4.2.0.tar.gz
+/urllib3-1.21.1.tar.gz
+/wheel-0.42.0.tar.gz
+/zipp-0.5.0.tar.gz
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="attrs-19.2.0.tar.gz">
+ <hash type="blake3-256">66dd0df9f87fc5b9e7f4d447e1f8c61412955dc463f11857f68256b6722aba87</hash>
+ <hash type="blake2b-512">ce1e57daa5c1e778c8fb74005e78f362ed0723d89581cd22eb1be159f683aa21ff2f3dc7d7d2ffca48e10548075c1c5775dfcec392a8aba71edc3a7a633d0348</hash>
+ <hash type="blake2b-256">bd692833f182ea95ea1f17e9a7559b8b92ebfdf4f68b5c58b15bc10f47bc2e01</hash>
+ <hash type="skein-512">10f71ed508bcc24bf7ff22468a7b3ce73b9271b1666e71deb6e18ec04816504cf3d5ae411d390375e3e418a7ab4e9d5d82cb2681485abc1957d6e62e510d926e</hash>
+ <hash type="shake128">da26c4e9665c086918bb0af479ed59896a75694ceaab233e09fa7bf3a74940ea</hash>
+ <hash type="shake256">ff449bc4173f890823cd2725d617d08f8f8556b999053e4713bfef23ee058ee2ab888a82fb181978539eecb91f8c2ab7d7e0cb793b08fc14af37e2edc9b9f38f</hash>
+ <hash type="sha-512">c6239f5553d99f324a36193d9f6e684fdce26efcf4da866d1b995cd644909ec4b58ac6ef6c20a0fda4b8a16d00ec0aacfd3970a52b68997fd10804d5286b41c6</hash>
+ <hash type="sha-256">f913492e1663d3c36f502e5e9ba6cd13cf19d7fab50aa13239e420fef95e1396</hash>
+ <hash type="streebog-512">5ff6350f32dd6dc5d57098246a1b7ded564f1f89dc4c06a4c7da0c0da0e033fc8cdb728609ff8db558c97afe84cc19c4c157bc4a590195b2e5fbfe4d83c816e3</hash>
+ <hash type="streebog-256">d2237aacbafee3e88e8e17615ed788d8ea0f7f3e7c6c7102d873b1cb7c257fbf</hash>
+ <hash type="xxh3-128">80e53c7ab67bb462f0a0fea806b8835d</hash>
+ <size>134333</size>
+ <url>https://files.pythonhosted.org/packages/bd/69/2833f182ea95ea1f17e9a7559b8b92ebfdf4f68b5c58b15bc10f47bc2e01/attrs-19.2.0.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="certifi-2024.2.2.tar.gz">
+ <hash type="blake3-256">fdca0a62d8dc2eb37e998f69f6a1419665bf11aa075cdb45b34bca5d2ec48a91</hash>
+ <hash type="blake2b-512">371edc2a4e07101db75c1de6065aa57e11c27f0f31655a0f827bbe0bb947bf59aad1992315be1512cbbc3e7fbd5f78cf6600d9bc11bae6dfe62e29249c325ec7</hash>
+ <hash type="blake2b-256">71dae94e26401b62acd6d91df2b52954aceb7f561743aa5ccc32152886c76c96</hash>
+ <hash type="skein-512">c77d0744b59df6ba959a77f29f1f032387661d5c7fece54f95064a1f693847aac662b9a3b34532fcf7c3dd64b35c8c781e4d8631081c98e7946842b44174ec73</hash>
+ <hash type="shake128">ff9cb369ca0d38ab06068e5d9a5c5f28ec89297b637ab50af2207fa8dd130659</hash>
+ <hash type="shake256">9da6ac86663eebe49a0679c79c629b49af96988820cbe76f1ba107c698f0a61d9b7bb1c39a6da1e6eb6aaabd38170daff63a6254919b238ee4c11f75d03a17b1</hash>
+ <hash type="sha-512">2191710dc2cfdf781df498c3ecd5f38dfc5215e2c2dc402cdcd484376dbd7fe2e442793cc856e93f6033c1fc43cb77c71d2dc785dbfe0d8cd10fd3120ee3c2fd</hash>
+ <hash type="sha-256">0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f</hash>
+ <hash type="streebog-512">4f69730d35331f7dbe72dfcb24b823c9c5c85355b98075f5b61a7dc575b993a4feaf717951dea00463595d4699ea7e65569abada3d6ef9c6dafa3e85b0f38915</hash>
+ <hash type="streebog-256">225e24cc6d230f6faf371d2380e569039fce02493d42135aa8dbe0ae298573ee</hash>
+ <hash type="xxh3-128">f7d5dc87e1f6f8ccc00d007d9b3184b8</hash>
+ <size>164886</size>
+ <url>https://files.pythonhosted.org/packages/71/da/e94e26401b62acd6d91df2b52954aceb7f561743aa5ccc32152886c76c96/certifi-2024.2.2.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="cffi-1.12.0.tar.gz">
+ <hash type="blake3-256">94f709b2d48c08780cffecc7fc3b3560f6ea0904963d5e162d10bc2586891daf</hash>
+ <hash type="blake2b-512">f357c9500db5ff4fc0a27e64a5048d1eb5089dfd1037244b454735598199e15502b253f57945a3f614a1d30bccd70fd95ab9bb3d9bbdc5c83202f198e2ca10fb</hash>
+ <hash type="blake2b-256">10feb6362c613a70ac29cf7cac36307d85f08ebe4a96d9d54b895b10a807e39b</hash>
+ <hash type="skein-512">1befa238e174fcd279017894bb35240795295c07ebef8c627e7d597ef6ef1f2261ebb2559be460312eb3c75b93749ff26f059049e4a027e54b319bc7352ea19b</hash>
+ <hash type="shake128">97f82a205be735f704d50561789f0198664e5d3bcfd6833a536a921b6e450753</hash>
+ <hash type="shake256">c0646ede14893ed8abbba3462e59a88ba3ba79483dd21580ec0fa07574f4f18b95108adb8edf41fefade692d64da61a3230f0172fb39a3ab5d0df7dab0f3c5e8</hash>
+ <hash type="sha-512">6f8cbf339d688d599d71750cca89e2ac2199276edffbd2a09af5add8218c318273c01c73ad37a94ff298dfeb77c207e76c3f1019b6c63c11dad60b46c137a84b</hash>
+ <hash type="sha-256">08090454ff236239e583a9119d0502a6b9817594c0a3714dd1d8593f2350ba11</hash>
+ <hash type="streebog-512">ccbd58ab4db9b18bd7125740759e784367253a0031b92116119bd5e8229d7f1e1c944244ad350db7878fc5c6940291c63c4a99c3ede026a7f53ee5463d7da1f7</hash>
+ <hash type="streebog-256">b5c98b28aace4dacf8034b3dd0d9c6158821495a81e2c72d3a69e6058db82299</hash>
+ <hash type="xxh3-128">700ecfbdd83292a44b2f7f92c3c91839</hash>
+ <size>453494</size>
+ <url>https://files.pythonhosted.org/packages/10/fe/b6362c613a70ac29cf7cac36307d85f08ebe4a96d9d54b895b10a807e39b/cffi-1.12.0.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="charset-normalizer-2.1.1.tar.gz">
+ <hash type="blake3-256">772cf9862e654a33f384670ec7d5ccbfbec09a37bb3dc0c59a894dde2563261c</hash>
+ <hash type="blake2b-512">7594e690129ff6e7146341eb62d8c0fd0abd36fb0afdc766b6ffcaffbbdbe4a19777064f993c0b59b0676c8a9ef3bf06cbc9b6ac6bc850c56e9842dd9ed1ec9c</hash>
+ <hash type="blake2b-256">a13444964211e5410b051e4b8d2869c470ae8a68ae274953b1c7de6d98bbcf94</hash>
+ <hash type="skein-512">41aeb13b9bb5110f0b34c77c9e267df223e009bb6ce2da3c48f13f4284cc68fb3d966ba17f9d30d72d6d0107f2ad5624b5df21b9e181033ae543f1b1ff77f510</hash>
+ <hash type="shake128">893abb7938d44c609bdce102654a81bc11d68b66217654aaa5547c757521727c</hash>
+ <hash type="shake256">88641fb7d99004407b1ed958485c5ca652c64cda5665ae0a32813265fef06496ad78a8ef9641c829483016378eb315f8b900646abc4a0ccc9a0376beae47e228</hash>
+ <hash type="sha-512">f52abab683ebda4100d67ec6ee0349713baee453a742d60a1356f405c5ce2c3b4d850b0891527f08f92fa1217d59c46d6b181dc4ff1b962ce60d9c5ef8c913d1</hash>
+ <hash type="sha-256">5a3d016c7c547f69d6f81fb0db9449ce888b418b5b9952cc5e6e66843e9dd845</hash>
+ <hash type="streebog-512">20e1c77c170918b93b8004caa1490cd6e82e5820f6391f669a6e495ecae8b2fcefec2e9afe48e2873de28836e3cccb9e3d683fa57655145c13f388e01ad88fbb</hash>
+ <hash type="streebog-256">d9104173a40ffaaeb903c922b6b40115263ff6ef5a148008beef9719ad385483</hash>
+ <hash type="xxh3-128">041b1d25b6b97a2f3060e03fb56175fd</hash>
+ <size>82360</size>
+ <url>https://files.pythonhosted.org/packages/a1/34/44964211e5410b051e4b8d2869c470ae8a68ae274953b1c7de6d98bbcf94/charset-normalizer-2.1.1.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="frozendict-2.4.0.tar.gz">
+ <hash type="blake3-256">ca2d0fe3b72f9b475992a4eb910f0277632565dfed3dfe12eb96ad33fd0a465b</hash>
+ <hash type="blake2b-512">595be3e7947d67ccc6952d91aee486849f653e041c41495dcc910f78cd4f043cf310fe2d3cc2e8d3dc0a3c354c9f137da96770ef18b64e65f0f72af2c54cbfcd</hash>
+ <hash type="blake2b-256">8dafea169c16f17f1c11a3fb2db3d56ca51cfec6b9bce8765cab58eed5ad1a49</hash>
+ <hash type="skein-512">52ce98bfb1fe6b9d0542cc87929a52d993f11f3a5f8c50015155ccd88567572a3fde1f68c00f300d267e11135c6d7efba9867ddf884ed71815b3235b8656a707</hash>
+ <hash type="shake128">a917efec5bd72d87dbc702acc78b6436013d75b6dd0d2f6b9646b26443018ef8</hash>
+ <hash type="shake256">20911e045469b98e91cf13b6a54c8805afda4de6b8e0b9c496c81cae76428c0229a8acc620ed2207beb4cfb62a22af27a57714e6336c8c4866eb2fcdcc605141</hash>
+ <hash type="sha-512">56d190f3ae19e4d89c51c02fdc58bd29b61f73e7ecec97c6018117d966a40b84513a13e7d86c62c8a6c7fe8daed75b287881c315ef23120e17bfda21cfecc1f1</hash>
+ <hash type="sha-256">c26758198e403337933a92b01f417a8240c954f553e1d4b5e0f8e39d9c8e3f0a</hash>
+ <hash type="streebog-512">80a7df1c19d088f6673846f87a3bf19534498a48ba081ea5c9d249771748d4b549d22e55609b2e3d018143c5ead7d7ec857c3e2f8884fb71ddcc06af673afe47</hash>
+ <hash type="streebog-256">d8157d14f81cb83fde77ee9dbe121e92abd22c8d982ca2f5f83f2ccfd0b8bf27</hash>
+ <hash type="xxh3-128">c505ae0cf2ea673c5afd2ed7aa5452db</hash>
+ <size>314559</size>
+ <url>https://files.pythonhosted.org/packages/8d/af/ea169c16f17f1c11a3fb2db3d56ca51cfec6b9bce8765cab58eed5ad1a49/frozendict-2.4.0.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="frozenlist-1.3.0.tar.gz">
+ <hash type="blake3-256">facdf945efd60e526b4562c66c4afbeba1f073a4a6be270684356c070383e719</hash>
+ <hash type="blake2b-512">b0438215fb55020f15181c480105fb2ac75afbfd9b06aed80214c900d56756d44732a983699180e238014632627ed211df3842d797a1fc333905216cb9eb0663</hash>
+ <hash type="blake2b-256">f4f78dfeb76d2a52bcea2b0718427af954ffec98be1d34cd8f282034b3e36829</hash>
+ <hash type="skein-512">0a0763f7c867ba56bd2545e94c40e1a9b56eb141f55a2e0a5e56a0fa88449a8f77bbad8663a2b6d7c6664a224da377123f26299e3c972fa8f1a5ace72a9ca14b</hash>
+ <hash type="shake128">8a70c244ddcbe83d7d7552d6ba3e1362b2b033c9729db60b7f40a1c85c4168cb</hash>
+ <hash type="shake256">1fbc7df7914d72d1664eeb9cf6ac5f7db4b97cf61282d10f1ca2058037647c0f7eb20dd171dba295c9e13f66c794e15780eb52de75e0c17f2b92b985d24b34e5</hash>
+ <hash type="sha-512">1795e6bee02c11e57966618ab657451aac4f6db94efed3b9e2dafe8d24768a1659f0543d18d906604dd38eee1d63a01c5053d995b4227e49a946c1dd96a97c8c</hash>
+ <hash type="sha-256">ce6f2ba0edb7b0c1d8976565298ad2deba6f8064d2bebb6ffce2ca896eb35b0b</hash>
+ <hash type="streebog-512">0c8f766b0568d3553f0a6ed35a462f54257b11add4f4e51f6a9c7c6de0c16136b46d55160ec8bacdc2538920bb5a44d55f04abb4c918d0ddd07458ae8253b866</hash>
+ <hash type="streebog-256">4f7936dce549953231e5d4de7c10baecd55c8c51b967aa252eda3f4386efa4ad</hash>
+ <hash type="xxh3-128">455f9d123023f035d1c59c0e20a3d485</hash>
+ <size>65476</size>
+ <url>https://files.pythonhosted.org/packages/f4/f7/8dfeb76d2a52bcea2b0718427af954ffec98be1d34cd8f282034b3e36829/frozenlist-1.3.0.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="idna-3.3.tar.gz">
+ <hash type="blake3-256">faa0588fb3d3919a4288489e983fcb1a9b8eada867989fd2a7612b96869b20dc</hash>
+ <hash type="blake2b-512">b804759b23157ff3d81fcd37f04baf83d7e522e98e8d842e3f228a242bbd9b1f9302ca28b8989a4221512bbbe92839cd593641830a0c6b2e12061b3501b1bd45</hash>
+ <hash type="blake2b-256">6208e3fc7c8161090f742f504f40b1bccbfc544d4a4e09eb774bf40aafce5436</hash>
+ <hash type="skein-512">161b3e64eac22539b853ae97c1f5658e5eb60e13e9a6d57eed23228cfded0b3aadf561d107cfa285ebbc4da17a5d4643fef549d309ef6b475f6f740b66cf256b</hash>
+ <hash type="shake128">44af2d3ac4158001a28f4d4b480db798a2073851e889a615e8ed6c9da401c676</hash>
+ <hash type="shake256">f35020475e7248af6eee10835b26a1762bca51c60f8277987e89afd47c76fb8c67bb214eed690b0e5fc62b1698dceb6511ee1f67a1e9bd3972570ed2caead02c</hash>
+ <hash type="sha-512">70b7cc8718e7d7899c75cfe476f044eae5a2fa03801fc9c12e3a092627ca943ffc4a578f9b8a55e181a11564835e125cfaaa577c02a6461dbb97366e620e53ad</hash>
+ <hash type="sha-256">9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d</hash>
+ <hash type="streebog-512">887770306fff685b48016cae627aa8ad41639076230a1a9cd1dac22e5c8a22f129f31b88df922e23cf0743908ec1f4ef966f98c7c9f9d8a058f7f82fa7befc89</hash>
+ <hash type="streebog-256">a00c59585dd1cf8b642e226ee72c77b4c6db80ff9a938249c792189534209c09</hash>
+ <hash type="xxh3-128">9c0c77d46256a72331401f93d89eaa7d</hash>
+ <size>286689</size>
+ <url>https://files.pythonhosted.org/packages/62/08/e3fc7c8161090f742f504f40b1bccbfc544d4a4e09eb774bf40aafce5436/idna-3.3.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="importlib_metadata-3.10.1.tar.gz">
+ <hash type="blake3-256">2b0f397d6f0681ac0b7d7aec9aabef348630ce52be3d42f831bcaa55091aaa6c</hash>
+ <hash type="blake2b-512">9e7ba25618c9a530d122e43d6d56cc0386aad87accef111574b24aa53aaea51e08c422275acf4650eae2102a92de30d066a66c72c02b3a3b432ce9bd9453dacc</hash>
+ <hash type="blake2b-256">a0d193d2dec161192f8ec90e9ef7fd31c26fe55d0226684e9dde35b1e2586def</hash>
+ <hash type="skein-512">a2a0902290a9eb428ba80154435207187e70c5d8ffe6751c1e72a2742d17da8d352abfcf6d09abcc86f7671ac9dac2e04a136c07328787217cf54d5d2681ad29</hash>
+ <hash type="shake128">d4d6f7ba4afc1f77639a196245f2b97b7bdfb8041beb721a5c803966766a4bb1</hash>
+ <hash type="shake256">b2de7a070cdfdc951f305898c78e0bebac4a5c2b23f9163cfd6a7174df6a18977c6c20f41006d1dcf4cb570a955084b68297b8150237100e522a7d7baae76c16</hash>
+ <hash type="sha-512">e028fb6abba0c7775943c346db0e733b5ba879583184c99f8413ded6314162e5dce03e10661b16392825038096fac8f6fbbea47ceac9565c60227129f3a3a48d</hash>
+ <hash type="sha-256">c9356b657de65c53744046fa8f7358afe0714a1af7d570c00c3835c2d724a7c1</hash>
+ <hash type="streebog-512">26684584232ca9e72c1b95fccd605ba5e57870783719a6e10ec005c0445fc43e82a8667ad3aabc342481d0a050fbc426320e1a023694e8ffd4b5a3749d5a9ee7</hash>
+ <hash type="streebog-256">444a90003a664ebcd3f76aff129004bbd9076fb61883357301caa19ebef0bf4e</hash>
+ <hash type="xxh3-128">0cad04dfd2e032aff147974a3340059b</hash>
+ <size>39980</size>
+ <url>https://files.pythonhosted.org/packages/a0/d1/93d2dec161192f8ec90e9ef7fd31c26fe55d0226684e9dde35b1e2586def/importlib_metadata-3.10.1.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="multidict-6.0.5.tar.gz">
+ <hash type="blake3-256">f0f5d29e0b156afccabc612c4b68a340f7a98c0cf1812df225c88afb7de0abc1</hash>
+ <hash type="blake2b-512">95c248cc0d3c705defbbf0074ebdd3ac1e98d4b5c1d110c68f50f603ff50f40a29a7fd9a8ea8d4d65189e070db0fdf46d98574b3a99a747eb310b1eb1c69b40b</hash>
+ <hash type="blake2b-256">f979722ca999a3a09a63b35aac12ec27dfa8e5bb3a38b0f857f7a1a209a88836</hash>
+ <hash type="skein-512">bcd5c8210ca05537c7676cebb62ed009777a4733a6b84401b199a3bc7d64fdcf19a40b1612e1a1f7b568a07bdbffa77fb4fe06e559eb65c7147d7e32c0c3e7b3</hash>
+ <hash type="shake128">8a21a005f7b21252883288dc16b20e757048eb820ae314d1d979f9a3bcc353f5</hash>
+ <hash type="shake256">38aff329e44f234f78c6b890e5e4bc6c5874bd70a20b685bc145ae2eba450933a38495d7fe30e549e2191971074d6000e03d589406c13648460c6b5e873456e6</hash>
+ <hash type="sha-512">01306848e1e91bd55aca1f60e7ab91f09d8c0bff81c5c3f903975789f86758b0b0ed0dfae7017984df9edc6d37ecfef74729bcbc71f910d8ff58e020ce247288</hash>
+ <hash type="sha-256">f7e301075edaf50500f0b341543c41194d8df3ae5caf4702f2095f3ca73dd8da</hash>
+ <hash type="streebog-512">c9b037e29ea65b3c8aff43d90a5d70221d5426c0d47fbaea7d39787943f24c3d9ae16907d6d35903ce807832047fd4eca4f27ec64e1e3aacc2971bb0964d65a0</hash>
+ <hash type="streebog-256">fb09e12a689469f5317cdfdc80ce198fce7f2b67f7c1fe0780ca2760e5dfd14b</hash>
+ <hash type="xxh3-128">ac2a1bdbf41e019b56d49ca8403eec9e</hash>
+ <size>59867</size>
+ <url>https://files.pythonhosted.org/packages/f9/79/722ca999a3a09a63b35aac12ec27dfa8e5bb3a38b0f857f7a1a209a88836/multidict-6.0.5.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="packaging-15.0.tar.gz">
+ <hash type="blake3-256">81022bc3d2265ccfe336ff3a39a55de6b61b4a03710c422f1f6ecce89c6a9d59</hash>
+ <hash type="blake2b-512">f6ae56ca1e59da7ca72f9f91996b94f431be4b5cb5182463ddf53e0e4de4ae5876de617a60ff46a67a24c49f952ba1be04f435fc50b6550218d8eee7667774eb</hash>
+ <hash type="blake2b-256">da427a270854f87f93baa15b5e101c9dd2eb277c53fd7d2657937f0b8f6f4263</hash>
+ <hash type="skein-512">559bb3bf20c2689bb4ebd2ed71d3086afd43e7a497de7866c092d891468f25bde34212c04069b5062d52144b49527f4b43798dd2c2de3257004c72a1692cd625</hash>
+ <hash type="shake128">3ffdcf69543688fa9ebf17a1eba09426431d0d09a0441dcb26a8a343b833188b</hash>
+ <hash type="shake256">3524d864045636a79c4f6e70b63bcb59755aecf5bd2178c1b86bd6613194044bf1a1f3484a4beba5c4075bbf7dd44f74051298b17586ea1a117bfaf1a7c8e99a</hash>
+ <hash type="sha-512">ae574cc16614fe47bd5be0bbfdf5b63ccb3d8dda83e643c20659d542a49dcb0b3c5ae199a8f139b4008fcde8afb81d837fec66ffd79b44d2551f7dc340840165</hash>
+ <hash type="sha-256">6f6cfaf59a40cfba8ee8cf734d8a544e0731bbaa1163ab04e7652b25af256deb</hash>
+ <hash type="streebog-512">25e1700378e2f9970dcf8fabc9c12f9455e2c6b2f01e8e226a6dceef8a5d4228c650482ac9d4093ea976f7abfc4eae05a0bcc22b4beb3791a6ab46b4d3fd9b91</hash>
+ <hash type="streebog-256">56345796adda15d73ce88f7d3e50c7d8a4a9cdfc9cb32544fef1c9d6d20acf0a</hash>
+ <hash type="xxh3-128">ae14cc717720396134c239a9130b574d</hash>
+ <size>32647</size>
+ <url>https://files.pythonhosted.org/packages/da/42/7a270854f87f93baa15b5e101c9dd2eb277c53fd7d2657937f0b8f6f4263/packaging-15.0.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="packaging-16.1.tar.gz">
+ <hash type="blake3-256">d90a6edc318ec02a8269f5ebcc1510f5bd9baef9944fe5247001271aa054f21e</hash>
+ <hash type="blake2b-512">327b155005c11b7844a569a513830e6045f02504683f06af7d062435d69c15be94377a9bd0aaaac052b006c3ac4157949a75a00f2ef38051d8747e50d01d93c5</hash>
+ <hash type="blake2b-256">b2edb41840681d29d785727ab6cafd7528db5037612652cea2d31661e00ebbd5</hash>
+ <hash type="skein-512">984ec2d362b79ce02d0bd3bae26d882fa5b5e195b682b183fc27af362e663ee4215103118156b468b0eba2e35702900e8720f61991b223734f8ee6843f89dfd8</hash>
+ <hash type="shake128">dd7d5adfc1f7b6658209f21835e1070886c73d2676b724278ad06ebac6a11362</hash>
+ <hash type="shake256">6c2970b1f915981effdb72f9aeb19cda9aea86bfd2f49db09414c5087da9fca1d4950ee148281f1e22722fc4291879a82db9739abc2a4d4a89252ce1ff8cb939</hash>
+ <hash type="sha-512">f4e081be85247c989343e7532d5e4afcad68af960264b59271862799e8d63ed0b7fb733670f7446da69aa60f013fc886c8c31c6010c1157110c1a417209d9325</hash>
+ <hash type="sha-256">7792caf5bfda630c96310a84ecba5d61b17a843ab72194bb5606d81e4f44094f</hash>
+ <hash type="streebog-512">c70a5cd436dd5279b0dc957b3506ee30f685a6d541293f8d48cfb469b863cb57195102b9c4a664b89421ff89b7be9e9d675c4b92f5a129bb4e4628b56fbc3238</hash>
+ <hash type="streebog-256">cb5213f7afd53dcab84b2b729b8892118e0e35404f1c6a998e82ad92f6f1214b</hash>
+ <hash type="xxh3-128">87b552b6b4d0b9da566c3454b424d7a9</hash>
+ <size>42929</size>
+ <url>https://files.pythonhosted.org/packages/b2/ed/b41840681d29d785727ab6cafd7528db5037612652cea2d31661e00ebbd5/packaging-16.1.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="pip-9.0.3.tar.gz">
+ <hash type="blake3-256">06b7586bb8d8a35eba868407d20013e8c0a1552922fd53582acc35474769cb4b</hash>
+ <hash type="blake2b-512">5e0f92a6b3b98e14bfde1ca0c8debb8f8300dd630946ce38c8b01472f8686d498b4bd1d46156437d299e30ccc268e098c7304ea45877d97edc88a089a1f6fa40</hash>
+ <hash type="blake2b-256">c444e6b8056b6c8f2bfd1445cc9990f478930d8e3459e9dbf5b8e2d2922d64d3</hash>
+ <hash type="skein-512">11ce2e49dd89720f55a980cecda764de1f7ff9969002b3b94aabbe3a8bb4444b8cbbd671405602b764f48ac5e066a4029d549f76e4480b351bfe2bc4c16d2f61</hash>
+ <hash type="shake128">b2635c4dead00cb024cb36c1600475f480a10c880aa5cf8b6f13575b8ed61691</hash>
+ <hash type="shake256">f75071ec3fdd30d0fae84bd8ef27d52f1904ae16433f3c0432842164f863f0724f60962fd89dbb3467b168449c85f3fa2dcdb833b14e6899438c8bad55eae92f</hash>
+ <hash type="sha-512">daf5bb2460787a0391400d5e074fc69c78d623445fcc6fcb12fae9a118f19692cc7ce316a7e85a04662bc82c0a0514577fa1ca8323b09be0d08c7a7bb8728e77</hash>
+ <hash type="sha-256">7bf48f9a693be1d58f49f7af7e0ae9fe29fd671cde8a55e6edca3581c4ef5796</hash>
+ <hash type="streebog-512">4dc872b16d112367d5d2c980e30d8fe2a326db23254d23a528d99653c734c150abacc0dd1dbf56e9105c0a5e13edb8dda43b6ab3cbb08659fc251852163f161c</hash>
+ <hash type="streebog-256">5d11d97340b49136ecca36faad3445d3a68c891db95073fbdd7b3f510ec5566f</hash>
+ <hash type="xxh3-128">193ec2c0610b943830cb069970d71393</hash>
+ <size>1343076</size>
+ <url>https://files.pythonhosted.org/packages/c4/44/e6b8056b6c8f2bfd1445cc9990f478930d8e3459e9dbf5b8e2d2922d64d3/pip-9.0.3.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="pycparser-2.21.tar.gz">
+ <hash type="blake3-256">8425afc9653f8b155a6bd79d75d494e6450d077fd0b00838bb328aa76cc62e19</hash>
+ <hash type="blake2b-512">ae6bf42dfc552bf1e3bfb5430cdb0c15b5e011ec53cbd03e0e2507c08a1a78690cefce2de134bd984caccc5dbde90661cb4c18df5c289217967213aac4d52404</hash>
+ <hash type="blake2b-256">5e0b95d387f5f4433cb0f53ff7ad859bd2c6051051cebbb564f139a999ab46de</hash>
+ <hash type="skein-512">651a999020660982c12c8ecfc3e709ed5fa70184ce6a99c6c7709436ecb8b26693c36daf913ff5dbfd9c06fdbb6c01e60d79522d4f78b07a7c1d3810068fb419</hash>
+ <hash type="shake128">dab813b1d721a0a5220fc63f93b14e86da26b1b4f93119802988de7af282981f</hash>
+ <hash type="shake256">1432d76a35b1fba82b14fd4767c7dc115db080d7563cfac0ac1f8c4579b2a3d509531eb9e8d80bdbe404bc6da14dbad8c5b2f0e2f7cd0f2a5d4996629f002340</hash>
+ <hash type="sha-512">e61fbdde484d1cf74d4b27bdde40cf2da4b7028ca8ecd37c83d77473dab707d457321aecaf97da3b114c1d58a4eb200290b76f9c958044b57e5fed949895b5f0</hash>
+ <hash type="sha-256">e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206</hash>
+ <hash type="streebog-512">b8d062b8f6f3069b90a6e8f28f27347e9c2f194195c9f36e21ab39b3834d5f81f32ba4c7a3e056176020342804357956ad5baebbea28155a2edc9996cb467b9a</hash>
+ <hash type="streebog-256">79760f554aec4e05b6048d3114e3af7ad19f18cc8b9c651faec3c8ac92bb0785</hash>
+ <hash type="xxh3-128">303ef04a3123a690af26442661e2f561</hash>
+ <size>170877</size>
+ <url>https://files.pythonhosted.org/packages/5e/0b/95d387f5f4433cb0f53ff7ad859bd2c6051051cebbb564f139a999ab46de/pycparser-2.21.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="pyparsing-3.0.7.tar.gz">
+ <hash type="blake3-256">271fcd2dacafc75067ea8e4fba77ed5dc7849a1d99145f71ad5a701b2c1855e1</hash>
+ <hash type="blake2b-512">1f098dd2ae6ffef6f98a44137769198ebad6af1642c1bc784284bedbcd28c617993fb51901d179962ca05f3f8699d24c04b0df5e5e5168a572c0deb506ad4e54</hash>
+ <hash type="blake2b-256">d6609bed18f43275b34198eb9720d4c1238c68b3755620d20df0afd89424d32b</hash>
+ <hash type="skein-512">4ec68e3e2f060883c910691a7adb38bfcfb68f47adbd3930d86d0d2879cf4d3f9627526efea3631f453e7bdb5ed059899b6c14e127e78fa2a9c7712072ff5ea9</hash>
+ <hash type="shake128">6f3b9235e66b374ee59e790606fcee5897ee27d964c1d6526887468ac74b584e</hash>
+ <hash type="shake256">f898be86d6c1266fe360c2154a00675cccd1c78d44aaf522529bb8c540d4a9c63bad03a94611ed532b53d8dcfc2f8877045e24dea8b193733806bf470d9d4282</hash>
+ <hash type="sha-512">1e692f4cdaa6b6e8ca2729d0a3e2ba16d978f1957c538b6de3a4220ec7d996bdbe87c41c43abab851fffa3b0498a05841373e435602917b8c095042e273badb5</hash>
+ <hash type="sha-256">18ee9022775d270c55187733956460083db60b37d0d0fb357445f3094eed3eea</hash>
+ <hash type="streebog-512">26b9a6cd5ddddbf330042d3d99b2c7a372bc0b0e27b25741fb0a28e61f4f18998ada2621dc6ca1e753b5f673ac3d2c06bcafe6d7a5a9f45c81662d6668495017</hash>
+ <hash type="streebog-256">3567eb33a2fb55c5f364084aa29b62733b63bd2b8f4f7ae4bd3bcfc8ce226a8f</hash>
+ <hash type="xxh3-128">1988394435892ec236af0a8cb8af2f0f</hash>
+ <size>884709</size>
+ <url>https://files.pythonhosted.org/packages/d6/60/9bed18f43275b34198eb9720d4c1238c68b3755620d20df0afd89424d32b/pyparsing-3.0.7.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="python-dateutil-2.8.2.tar.gz">
+ <hash type="blake3-256">a0949884e1d1b28f5be691f2b6a2e0cda3062a80130a18aa40486a63ab1f999d</hash>
+ <hash type="blake2b-512">060f97280b63ed70e6d83fa5696af6dc3c729cdf5bc48c7a90e3e59eb0cc0360e5205536685550330d64ecc9b6e40ca12888409d6819dd136b17a67add2ec4e8</hash>
+ <hash type="blake2b-256">4cc413b4776ea2d76c115c1d1b84579f3764ee6d57204f6be27119f13a61d0a9</hash>
+ <hash type="skein-512">aa6f4b2235a8e096a739edfe0a584e59a1891bc1af841e961e74ace293d817ff4cf8f7da8cdea61acd721133b9b558359e8f05e1ab0ff1aa2b370078959c5d84</hash>
+ <hash type="shake128">4a604b9983a72b17c0fcf4d612394d05ed1e0b2454c38ef6b19cf7b73276e061</hash>
+ <hash type="shake256">e419363fc65da30f2bc22fced31babefeae0cb0499eecd4c6093c6754f4014ee4a6d7192729c868226a582dc4d07525fd001d67f094338e61ce334420e967e70</hash>
+ <hash type="sha-512">6538858e4a3e2d1de1bf25b6d8b25e3a8d20bf60fb85e32d07ac491c90ce193e268bb5641371b8a79fb0f033a184bac9896b3bc643c1aca9ee9c6478286ac20c</hash>
+ <hash type="sha-256">0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86</hash>
+ <hash type="streebog-512">be529dae5e22ef4a864a04b76a365b9dbf0f9917af2d4483784285235e92c89779bcdd3920253ea23417262379c1541362c564d38e97e66afe5adefeeaf76da3</hash>
+ <hash type="streebog-256">974340b885bc723219f75656ef0970a6ac493f40e325b3ef4b6382151efb5c88</hash>
+ <hash type="xxh3-128">b9bb7e12bf9efdd232aad871196fa0d5</hash>
+ <size>357324</size>
+ <url>https://files.pythonhosted.org/packages/4c/c4/13b4776ea2d76c115c1d1b84579f3764ee6d57204f6be27119f13a61d0a9/python-dateutil-2.8.2.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="requests-2.31.0.tar.gz">
+ <hash type="blake3-256">1550fc59b2ad7b6747591d33dea47c489bdb06a5f3ae362a9ba87965c27cb04a</hash>
+ <hash type="blake2b-512">e4e2781b272ccd94230c5b8c1bea83901bc8c28a34880709dbb95b887417b47833512e25045dab6e4226295294e2bf56fc821b6f636ae28aefdeee6039f53d44</hash>
+ <hash type="blake2b-256">9dbe10918a2eac4ae9f02f6cfe6414b7a155ccd8f7f9d4380d62fd5b955065c3</hash>
+ <hash type="skein-512">ae0ac20c541f366b09c9fb3f7e730872a6afd60ca8b4f22669f8f7df6e373617a456254bdb697ccd8a46b62a07d8f87616660a75a8a2287e5998c28c634d5d4b</hash>
+ <hash type="shake128">ab5396afac89ef5a164402bb8f04f6ed9b1bc533fa81b5c70c9c580afbfbdab0</hash>
+ <hash type="shake256">75b8b6f16ad1f879edfd263c51c240bcb02cecc838f31e77dc31cc1f606ab4409f6b0f206aecbf66b0e8cb6aad571baae17a8c7d468901ebaff09161a00fe37d</hash>
+ <hash type="sha-512">ce50d64973752f4cf7f7c7c91401669854b55c66d7465bea3689772fae8a6b646cf6720d84a2984bbe6fd78fc8b9ce0aa377f291fb6d7c20c7c2a4be8193acdd</hash>
+ <hash type="sha-256">942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1</hash>
+ <hash type="streebog-512">395b7c7d80a3db2150166a5c89998bdf65906b749d64f26328687ce65ed81c05bdd2a05a5c87f6a156b42f5a5567fbe62ac8d1db98dbdc75f4531ec2bf3b606f</hash>
+ <hash type="streebog-256">f743de32d270e680c60da51fc8d29c848e40dba65082c64244d82803e5cf81fe</hash>
+ <hash type="xxh3-128">b7354124641d5c0fb264ebb4afc6d0c8</hash>
+ <size>110794</size>
+ <url>https://files.pythonhosted.org/packages/9d/be/10918a2eac4ae9f02f6cfe6414b7a155ccd8f7f9d4380d62fd5b955065c3/requests-2.31.0.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="setuptools-50.3.2.zip">
+ <hash type="blake3-256">2681ec3985ed2750b4d8872035257751688383a5f60a31704c5b6016ef9be762</hash>
+ <hash type="blake2b-512">50e1941354424b4bfc16c2ce938cc92dc746f7d9ec577206ee1121587508dfcbeead556f32f6299321dcbd806ccd20f145a34290c35b1a2bbb5d79b3c2a2f89f</hash>
+ <hash type="blake2b-256">a7e030642b9c2df516506d40b563b0cbd080c49c6b3f11a70b4c7a670f13a78b</hash>
+ <hash type="skein-512">a32d805bac11e12c67f13ca2545cd41bc4493e99178f50ba2a9723a7e0e45becb1fb589c3bdb940301276946f44fd9554cf5893f2cabbac77e36cf20861f7c50</hash>
+ <hash type="shake128">6e580a4cd8daff96b5716124abbc69eca04bec4540c924f45207190ac7978721</hash>
+ <hash type="shake256">47c426a6d0486da4f0f7370e52919aa27da9e925d8de82091c220843b99f5df3b7492bc9d9bd1b79f2d1079dfb20e8a71b380833efbbe7e7282e5d89b7ce9d23</hash>
+ <hash type="sha-512">d036f6005825f4e93043e080b141c7155524d1f59c3276e8b10b5d6d1ec9aa8e8c342859edf0a85dbe0a31261e0383ea435e1c0d0189f7130b453f55d1e1e5b9</hash>
+ <hash type="sha-256">ed0519d27a243843b05d82a5e9d01b0b083d9934eaa3d02779a23da18077bd3c</hash>
+ <hash type="streebog-512">60d639cfbefd18abe5acef4eb291d3d08199b861a87847c583cc1e98739ae5b2a4cd3531a14ee5b89e14c712561b574b960dad1c9671d4d0bf216ec674dc1e9b</hash>
+ <hash type="streebog-256">af43179bd3ffacfa7d97c11dc1b32740e5035be334fefa493dd8c23963225903</hash>
+ <hash type="xxh3-128">bc4ceadb53e681f9498dabbe5c294013</hash>
+ <size>2059552</size>
+ <url>https://files.pythonhosted.org/packages/a7/e0/30642b9c2df516506d40b563b0cbd080c49c6b3f11a70b4c7a670f13a78b/setuptools-50.3.2.zip</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="setuptools_scm-3.5.0.tar.gz">
+ <hash type="blake3-256">19882ab90bf70640c98c37c3e0b650d607f5a0b909d67adfd9abeb5fb9447647</hash>
+ <hash type="blake2b-512">132711c8312dfbe48f9e2d3d7fcd0a86b057bbcf9a5f6b2e61afe018e116a4df96c3bf5cddf067bc92b96915f70182013749ce65b8fa5feb92ccef903859ee3f</hash>
+ <hash type="blake2b-256">b2f760a645aae001a2e06cf4b8db2fba9d9f36b8fd378f10647e3e218b61b74b</hash>
+ <hash type="skein-512">b80b48f956e3863713f0f2f64481052a715a1772166f786cb07b02281b08898015b6fd312f7cc65056e09241e553a86887daefad5744928a0eb4d3c97d4cca8d</hash>
+ <hash type="shake128">48116bd226fee7d7c806767c5d6c0a4f6b22cd0393d07b53d4eb2a7e9749a5ca</hash>
+ <hash type="shake256">fa68001becac84c314fc76f7465fb9a7248498e03b17d6df99c82b1853a8dfd6f80108fb6f3a8c90ff50f66a4678631575af1739c24d6c1eaf2ad7e503aeb474</hash>
+ <hash type="sha-512">f7e2cdae7a8a3d5ef3d12effcda5ce7f362c426e11aecaef69ef604bede9abbab2aa1eee6f5310cdd72a9bf11a927dbd1f42671e28bd467ad7b15f2dba5b81d9</hash>
+ <hash type="sha-256">5bdf21a05792903cafe7ae0c9501182ab52497614fa6b1750d9dbae7b60c1a87</hash>
+ <hash type="streebog-512">f9e9b10fa2542e92d4f5ae0bcd2735cc174b34861b9abdac24e6d19e4dcc05e1c84f93d4eae120ddbb0eb162cd95bc61e21f6d38852ab4d96b6404f715a47a76</hash>
+ <hash type="streebog-256">7545b021297695d725b30dfc313d402be316258f922a866705ff67216f0d81dd</hash>
+ <hash type="xxh3-128">4ecc26033d4ece0f62578e77d6389fd9</hash>
+ <size>46272</size>
+ <url>https://files.pythonhosted.org/packages/b2/f7/60a645aae001a2e06cf4b8db2fba9d9f36b8fd378f10647e3e218b61b74b/setuptools_scm-3.5.0.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="six-1.16.0.tar.gz">
+ <hash type="blake3-256">6207223972fc3403cf4641f3817d98cba1f28a17ffdd5ce867ecd55b226dab4c</hash>
+ <hash type="blake2b-512">764f8da9a0d89e95af002c79c2b19e852fdec9a6819655c57be019b48bd65a5f7909473e71887e6080073f381f983c077487591d4e44297542cf6b9a29ba42b8</hash>
+ <hash type="blake2b-256">7139171f1c67cd00715f190ba0b100d606d440a28c93c7714febeca8b79af85e</hash>
+ <hash type="skein-512">ca7d636341884fb6eb0ca4fc6ca2aa3999c7cd88cd22f9573ad1529d76e014e02bfde6865e19fde936170af50ef81268505b8cb4f4758b44a569b3a147daacb0</hash>
+ <hash type="shake128">e1153c176c2c2a62dea14c7bfef2990a5a11ebd1699ae47151de7e4818be133c</hash>
+ <hash type="shake256">13ae6c4f9cae02bff803dbbb8dd380b143a07bb629440e02b9109fababa99db2b6b9525b16d19cc729c4e158a2e8afaba4807ff43b58149a7d4089443e718213</hash>
+ <hash type="sha-512">076fe31c8f03b0b52ff44346759c7dc8317da0972403b84dfe5898179f55acdba6c78827e0f8a53ff20afe8b76432c6fe0d655a75c24259d9acbaa4d9e8015c0</hash>
+ <hash type="sha-256">1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926</hash>
+ <hash type="streebog-512">a221f8c76f47f45bd8abca9c9103070c67fa8b504f76b0ad50570820d6df7a5dec4839d705902cdb5ba515d79a5e04a8bee4a9ca1296931ccde347d7957bbe3d</hash>
+ <hash type="streebog-256">b47d5839001cd187535bb3739b2b1ae463ba3e03ccc3cda987e61cc6da815134</hash>
+ <hash type="xxh3-128">c00874476981a2e59e459eb3980fc0ce</hash>
+ <size>34041</size>
+ <url>https://files.pythonhosted.org/packages/71/39/171f1c67cd00715f190ba0b100d606d440a28c93c7714febeca8b79af85e/six-1.16.0.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="toml-0.10.2.tar.gz">
+ <hash type="blake3-256">6ee5fe8002c12c9434c8205438cb69ce19be48bf9af62754c530213a718eeadf</hash>
+ <hash type="blake2b-512">a613d5e86fc77279f2d7b130309627eed1cab3a65fe8647cb1dc3e58d09a9d58c078472638f06f45394b00c142bcb2bc75e9c0c649d58aade2f4f6bdab23f12e</hash>
+ <hash type="blake2b-256">beba1f744cdc819428fc6b5084ec34d9b30660f6f9daaf70eead706e3203ec3c</hash>
+ <hash type="skein-512">b9d606e8604adaf4051944933e6e35caa8d2d7e13d750b0d0259a548d91cf034f3b6fe9b7e3ff8444ab0f560a57a866d0f8382496231e01d9ce901e6ffaa113c</hash>
+ <hash type="shake128">5d8c8df4a2f2c6f89c6727d46fd337f6e49723f937a875342b1b64ba74503574</hash>
+ <hash type="shake256">8c0db68f4b34ebc2629cf2ff183f50eb7587f98e0619f24d0119ada6ba51c76741b832152eb0d5de1cd13278d4409d224aa89e3aee595cfe8127e0dc4d276cf2</hash>
+ <hash type="sha-512">ede2c8fed610a3827dba828f6e7ab7a8dbd5745e8ef7c0cd955219afdc83b9caea714deee09e853627f05ad1c525dc60426a6e9e16f58758aa028cb4d3db4b39</hash>
+ <hash type="sha-256">b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f</hash>
+ <hash type="streebog-512">fbeb1efb1ff172826faeeddeade8462ff511faba73833e62b7c882712f862358a6bd21edd6d21d7b2fcfbc3395d294382eb051fe78a2ad54ca7ec7988074b5bd</hash>
+ <hash type="streebog-256">d576884f3714461a8813a2b563cf1cc71a411eaa79274d832fe4cbbd96f9a6d2</hash>
+ <hash type="xxh3-128">9ae9ba3982a7dfd1926492b82a63cb89</hash>
+ <size>22253</size>
+ <url>https://files.pythonhosted.org/packages/be/ba/1f744cdc819428fc6b5084ec34d9b30660f6f9daaf70eead706e3203ec3c/toml-0.10.2.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="typing_extensions-4.2.0.tar.gz">
+ <hash type="blake3-256">364d32b11e7d061e8b73fd665afb45cf8397c817598a550f51cf47342b6e7765</hash>
+ <hash type="blake2b-512">772b9aca1b7532d06e4a084308bd80937154378be2b3df4b3f32256a9fb0f3c3d00d8a252695650dcd4b0b5d4e985def980a341584120751f576c8a2fe10db43</hash>
+ <hash type="blake2b-256">fe711df93bd59163c8084d812d166c907639646e8aac72886d563851b966bf18</hash>
+ <hash type="skein-512">3ffece15dc1ccd4ee0cab4c927c13c03aa3a694e52c684099c7a785093f2aa72e82be19944e4258db540eaaac7b2e83d29d897e193eae2d526d7f95357d09de1</hash>
+ <hash type="shake128">495c8934acd4610f32b97cc32869ff210f46dd07601b960f38f48f293e57ac38</hash>
+ <hash type="shake256">afb3187e563483701acded221ffb9f855ef03aee6a528c4bf71c187d99b153e97acc013ed483f4d7fda97514a7d0672b42688e35dab86f576b18c2ec27098a8c</hash>
+ <hash type="sha-512">69be30a9cf56a3bb342d744f0fce7761b2b8d6e18362cbda5e14f3c7b67cffcf0e597aac87151b43352182ce27364f122e591601acd6a9811cc3157e0461f35a</hash>
+ <hash type="sha-256">f1c24655a0da0d1b67f07e17a5e6b2a105894e6824b92096378bb3668ef02376</hash>
+ <hash type="streebog-512">fc7b3da158c8dea58a9e4bac9068f5989e7dd6a64fca76e5256a062a96c09153114d2c747538ad626c2eeaa129de71b36c336e8dffc76efe2365434ec87f674f</hash>
+ <hash type="streebog-256">43eaa9897939d8983372ae1f83d4aa3538dbee41c22beeeb7f0733fdcc0cbce4</hash>
+ <hash type="xxh3-128">645023544caa73af39e8eb2ae416bd6c</hash>
+ <size>42982</size>
+ <url>https://files.pythonhosted.org/packages/fe/71/1df93bd59163c8084d812d166c907639646e8aac72886d563851b966bf18/typing_extensions-4.2.0.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="urllib3-1.21.1.tar.gz">
+ <hash type="blake3-256">7ddf9b332cebfc93bd00f07e3da6fed71500d8aeb827adfde2567282368a39e2</hash>
+ <hash type="blake2b-512">35f521698c0b05fc9122650dde5ac00954eb2ad99ea3771d2a9e4fcb210b404a8173ee369f46b5e61ef7104621571386ad114c833522748b96294a87d0afa601</hash>
+ <hash type="blake2b-256">96d940e4e515d3e17ed0adbbde1078e8518f8c4e3628496b56eb8f026a02b9e4</hash>
+ <hash type="skein-512">8457cd5d4e68f39a31556dfda77b3b914a1b2f7472dfc39474d16fe018efdc383567eec0b583b8b07956acb18c1f445e0ef45411f2ab4df986976af43dc01062</hash>
+ <hash type="shake128">1d78dbe1b0e9848dd7952fee227ab149fa197ae4910d84182271b0c1e5f0ac2a</hash>
+ <hash type="shake256">be20b4ba0234f4d76b02ad400e0d3b7f5d1970f34937c3c73a1e4d88e046527c567ad5d110080d585908ea0167cb541a9fbe855f9680df3a28a861f09b0a13af</hash>
+ <hash type="sha-512">0d2e9c2a0b895e4e232cad5ecc645ea9fd9b70191df045a220ee1f32e284c613c6790bcdfd9e40a22ea9d25ec397278fa700a3c3747e7b04222719d50df07859</hash>
+ <hash type="sha-256">b14486978518ca0901a76ba973d7821047409d7f726f22156b24e83fd71382a5</hash>
+ <hash type="streebog-512">83302d9493c26910590edd3a99eb98244380c8e8ddd9f0921cc20a8fc7467a6fd2f1838c5deade716af3230aa9d106d72a4d6c3eb9cc017576fd4f26698a7c42</hash>
+ <hash type="streebog-256">46c1904ee265fc32e7655d9e311f720343ebe9c3575c5ace1a2635431c2a1612</hash>
+ <hash type="xxh3-128">34d22b6bac6fa03e49ffa5ca8953cc40</hash>
+ <size>224266</size>
+ <url>https://files.pythonhosted.org/packages/96/d9/40e4e515d3e17ed0adbbde1078e8518f8c4e3628496b56eb8f026a02b9e4/urllib3-1.21.1.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="wheel-0.42.0.tar.gz">
+ <hash type="blake3-256">1141c659a589b43114bc6b1d9a47757331fa28b9dfbcee9548bc271a05b7d005</hash>
+ <hash type="blake2b-512">201f8246dc55c62bb700e706d7734e76689b13a3036aeeca7531f483c7f354ccc5ca7452106038425ba300e74f1041f7408f6749d03e39aca289398598833014</hash>
+ <hash type="blake2b-256">b0b4bc2baae3970c282fae6c2cb8e0f179923dceb7eaffb0e76170628f9af97b</hash>
+ <hash type="skein-512">f6e768d87f9715391c64e52434c3a4daa5f53f1d0ac2a16f8c91d504888931c6aecc6eca0e406f8ea5883062cd0b4ad628de74ae03346d4af8128c0356a7fcc8</hash>
+ <hash type="shake128">1d224480e610f24d716fe8ebab787b085576959c541e790367a41bf745317458</hash>
+ <hash type="shake256">02eab810588149bccae1d410ed1ae09ca053be95d29c42373acc559e9610928c5a03318f6281b6f666f9d990247a2d3dc54e30b6d099aacab1a055ad49429412</hash>
+ <hash type="sha-512">4816261c0f6d8971a80665f66868ec9cb082f2189b6e31e083a0d3a6080e159f06a4152f44eda1147a2b907b5aead0f63bbac725aacb56bb8be13fc77da2b79c</hash>
+ <hash type="sha-256">c45be39f7882c9d34243236f2d63cbd58039e360f85d0913425fbd7ceea617a8</hash>
+ <hash type="streebog-512">0b5b4becd6525d9c1d3234d697ba34bf255fe1134004c157b795c908be182234216a758b6f0e0e46547a7e183818fa678ddad09da2ddc3600cbedad25fb28554</hash>
+ <hash type="streebog-256">79f69e0e4e757118e64c02bab55a66572a7e9d5bd58c610e47452c0dbdc37315</hash>
+ <hash type="xxh3-128">58fc6263b9594dc3d2d3a9f87957b142</hash>
+ <size>98667</size>
+ <url>https://files.pythonhosted.org/packages/b0/b4/bc2baae3970c282fae6c2cb8e0f179923dceb7eaffb0e76170628f9af97b/wheel-0.42.0.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="zipp-0.5.0.tar.gz">
+ <hash type="blake3-256">3697055285e02258e838a6684edcf8660fa54be2c78ab591eea1fbda94f42a8e</hash>
+ <hash type="blake2b-512">7020d56cd2d093e1adbe8e6d4999e09dd108da01799a7bcc16b7d7f909a158c65d494dbc286422ee79e18aa8c20f74c99d1eea6c8fb77d66bdee28fc33e20f41</hash>
+ <hash type="blake2b-256">4465799bbac4c284c93ce9cbe67956a3625a4e1941d580832656bea202554117</hash>
+ <hash type="skein-512">2c49db7b8db2255923604825fa6988de84659c769abfd2e49ee8f6e8bb139cf1169a4cf6831c0b3303dbecae647e548f3ed5af76039128d9f8049556eebf49e6</hash>
+ <hash type="shake128">5781307b94e05ad71c8af7250d36d79ed4fee8a554669c2dc59455717cbbd1a0</hash>
+ <hash type="shake256">e386a04cee64a56abf33ba8c3c8a088ab0cf23de16a07608bc4744aea3551ab877c5fd0dcc439fe7566717c04dce9d22fa72add8b0c68b20a7eafedadd5c4207</hash>
+ <hash type="sha-512">c593c537c31c2cf4fe007574900de31e549d7066babacd0fa8f8897011b05e379a60a29e78a6ae632fe16915e6fc9ac6b52d08a249363977d842b3aef0663870</hash>
+ <hash type="sha-256">d7ac25f895fb65bff937b381353c14eb1fa23d35f40abd72a5342cd57eb57fd1</hash>
+ <hash type="streebog-512">0145a041fa432b4acd687b181c5b621acbb83d3d6ff265a5130bc75a23f2882a867aeb02dbaa8c0d74df7eedd3df164fdfffdd870c42319c8133915e900e7cd1</hash>
+ <hash type="streebog-256">3be48efc2f030b2fabd4c677ad6e2ac24de106163031b338a6e2919b78342ce1</hash>
+ <hash type="xxh3-128">726fc1f873d19e8a77092d1b0ad60225</hash>
+ <size>10926</size>
+ <url>https://files.pythonhosted.org/packages/44/65/799bbac4c284c93ce9cbe67956a3625a4e1941d580832656bea202554117/zipp-0.5.0.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="recoll-1.37.0.tar.gz">
+ <hash type="blake3-256">e0fdc5ca840fd7b89865fc689db0f05579e99ebdf76cabf606a7af2e8604e838</hash>
+ <hash type="blake2b-512">831dc842386630e1faa69b6087edd9453e6ff3efec7c628d87a3a4a2a0cd4aa9286466aa2611de24f3d3886906ccffbc920967ec1d6ce0fd86a367b58867b0a2</hash>
+ <hash type="blake2b-256">7d3e3025a5e23d84abd35768f83bf88b2abf3f9ed6a8922bc06d7c04e1b2daa5</hash>
+ <hash type="skein-512">2e399ec8cf813ab2afabebeba36f31b5c868782858681fc45997dbc89412a20a2211f61d7113d33171f39398c861999cfb0a5362baaa53ec134aacb21e9d2f68</hash>
+ <hash type="shake128">7541694fe8d6b6f4c66ed678cf1a81fe1317f31a7e992b9ecafdc813a88ce585</hash>
+ <hash type="shake256">3900704618526e4eafb0e91da41ff95aac40ccae5f0d13a836317a245fc5ea2be2b51a3194a5f13915c1a1fcd87cdf0d21bd0b1fb2aab9a715d378ea949556c2</hash>
+ <hash type="sha-512">cdab2623f48727178d37565f565f938d3e4364224ea85ddfd59bb3a68897574e3c5bcc985ef342f14e020b92f9e1672962bf31312f7f7fb2abea414425970b52</hash>
+ <hash type="sha-256">5d97698308d69c4692fac50874e8c357792d9ed3fccf8728a21875d0fb3b5980</hash>
+ <hash type="streebog-512">4c2b500bb15bffc5b1722a2c6318f4e198e0f31ec684cc694aa0fd44148fa059baa13a7d4bd43f7480e229df3e4a83ddeeefe987f3b33131c5248bfd9e474adc</hash>
+ <hash type="streebog-256">f7e4734ea8575ca1fb7d1b07136c8672b55af9a2c7e4d7d54233b88c06932c82</hash>
+ <hash type="xxh3-128">105b57ed1f6cc9768746b0288ac5caac</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEE+OM0claSKornZ2BbeAjOltOLkgEFAmWG/n4ACgkQeAjOltOL
+kgGtkQ/+IKDC6w5cV/wSdOrFjXBZ7gPnmlx1A5hsPZtiKu7bBZeAqKK8G+GcVjHZ
+59RBvXtG+lsaXTbUU35LlonWWXIFifaP02PJygnheJ1QIepvbU4uUccCh6JCzNKw
+ahXXhXmCEYPWvPf4uUj3ahV5ifC5buO6o8fu7qwqp/98MtOerif24zb5YKsUV0Sd
+yY5fqoxVm7Sgk0M74wfIJrROv2JjtidK06farfmYZ1x8Wp23apsqXn22gY8eSrD3
+PMscZUc/IGDF4NgwnVy9XvmfVf3SuKcsv1XvtAWr+upD7UumNKPeIZMClLa3DQ6W
+zJ69l0zdUo4mYrDye7wnWz6++K+vjqtVZbK/cRVs1YUJuo2k7Inhsjl3ugqxPEGN
+yaCuKuGv5B2/bej1xKYFu7J85glyc8dJ6qgHf3tYP6AKFU1XTT0SUx/U6fPq94P+
+7BGiJhvs2rT6N7FuWBlHr5vpz/dPitb1KDB9VYFgCQyFF8Qu+BGIgtfS6KX1rXxc
+HERW8iq14bSKfzuP0Q28mWp6eTcQHkPGVmgeA+qEFDZglmmpzRbEUWpzTyOC/iOF
+OExjJrAcgZXLKAeAdJO9UmohSZQ3D5c2swAEmJcB38nXPICetkIvYoJua/m/SPzq
+Y5LZIdvBgY2jla3MrO49wVJQ2Ud03EXvjNKzszgQCAU9vI5olvc=
+=qyoA
+-----END PGP SIGNATURE-----
+]]></signature>
+ <size>3137998</size>
+ <url>https://www.recoll.org/recoll-1.37.0.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="recutils-1.9.tar.gz">
+ <hash type="blake3-256">9d1a34c9fbd4c173dac3cebe4fb2c5c7eb8bc77178aba1820167b98915a7ff9c</hash>
+ <hash type="blake2b-512">839dbcd36e7fe0ececbf3ef3a1b842890e876c6feda2bc003c921c53eba83b70f38baa5a536962253eec5b06eed29c6e301751d7b6586f0ef0c5ea35d94a44d7</hash>
+ <hash type="blake2b-256">11ef15adae287239327e828c8aa20adeb6f0f9c264ef8dbd570243215df2692a</hash>
+ <hash type="skein-512">cbb3c77496f8abfbfe3d735fdbab20dbdec384806c15b974da22f9c34a26b80edd245f90bb61411bf8343fddf41f0e5527009ba68ee052d325af4ab148b2c8f3</hash>
+ <hash type="shake128">4a5b6f04209b9ec64adf7119b77fc85ccc20bb046d9a90c7ee5eaf57a8a48595</hash>
+ <hash type="shake256">7b550cc1e1e7bcbae1329336c662473dc81fa383dfa9dd89b41d0a41b9c819d232fabe37c458e278d9ff24594db625ca6af9c153a88492d182608622ea8376fb</hash>
+ <hash type="sha-512">775b3b8925a4e5c6f04c6376291b966bdc271f172be2bca06b1f02155ecba12d916c22219f85fe0393f7f9f200f3788ab5fa5d522da2b84b2a0c0ec198318809</hash>
+ <hash type="sha-256">6301592b0020c14b456757ef5d434d49f6027b8e5f3a499d13362f205c486e0e</hash>
+ <hash type="streebog-512">18277fc9f8dfd1653adbf6574fa16a66b1dc44eb707adb69f62faac4c6d86064ac57045b701bb83ff84ca04e655cdf17b73dc7b9a485b44a977ef366103015c8</hash>
+ <hash type="streebog-256">6939c43d86ac61e246884310bb12652a26bd2ca4388c0c01c043a87caf8c867f</hash>
+ <hash type="xxh3-128">2139430e113ddeab2335bf1dba546729</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP ARMORED FILE-----
+
+iQIzBAABCgAdFiEEvfpXF/wd01wsODKiPvkFI7MErwgFAmJbAC8ACgkQPvkFI7ME
+rwiqhw/6A3iML55F5JXfCZ5FoQRgt5cmmedVmglB1Fa2qI3jODPDQt7WN65VfYio
+3eW8Xvk96uB7p3Mt1xQ0G6tqLu9jPlV7nckl3Rydu1kdwWxzQCPYvslnM0pUjv+y
+iGGVJc2M2KKt/Kbi+Bx2VSPjZLRZXyJwiZWUERSSQofiV4kYRf0WINmV/vRTrfdo
+zClerj8hQTK+qcBG1zal3+8n+DLPNtR91mUTDg7Dsim5rxdtivBnjv1T7CnIuaEK
+oASLFK9YrkCdDpJVgWGArM5cJgM/cvpJzpXwUA1hsh+mLlnLmtl/aURhxM8jcNVY
+ZV+vv6cO5Ey9Diwdj6xeZ8Z5UX04kknJlLRWnH2zAkXV4lupWtz6fjRMDFrfHjDL
+uBeU9aXRBsOb2ywKF19swDb3Ak2CiKYn5JBJPlJkjI5+IiUetdaW/TlAQkMJROmC
+FZOxjVeXsfduFeIrDLBgvPWxCiAJKwsPZc1aPcOxSB2gqpTgnEEsQ9ciPM+0LdCk
+/VjF8GVoQbjni5W7A0A756ZgydKdUm3pbHfiZbTlHwhESVK0l1s4DBTBdcY7acTw
+7g3QstJ5uR4i7SovuXe3NhiIRl0fA1zedFJnrJqOHi650BNeFhFJK1h0Ot6SBmHQ
+Bd4sZFK/IEwgWYy12h1WTkbJhr8TfI5H4qb3HnUYwGpUULcItHY=
+=vGLI
+-----END PGP ARMORED FILE-----
+]]></signature>
+ <size>2759999</size>
+ <url>https://ftpmirror.gnu.org/recutils/recutils-1.9.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="remind-05.00.01.tar.gz">
+ <hash type="blake3-256">4b6748958d22660caa380496473617183ea6fb088bdf0e4444451d200be69a35</hash>
+ <hash type="blake2b-512">eaf12d2395c16ee5723544ad684794c1c20c807a42e870076bec5fbe9efb9191faab573eb0a89d665d45913b9a49d192e58c4bb9fd71d8d21d3cfb125eeae7ce</hash>
+ <hash type="blake2b-256">8a1cc72a61066b0469ba181b9adab26524f1c30c1c0700bdec540a70d2760d87</hash>
+ <hash type="skein-512">87a80723c8f85559e328f95bfd721b416b4e505334581c583a971f87be13065659ed054075a603ac0f63eed959d1f46184cb4f64bf0bfb6cb00b201a802c4842</hash>
+ <hash type="shake128">ac4371746e54c3c423c0d08dc6d85e6e6fb5209e3d9be279b1f55d3154fdcc23</hash>
+ <hash type="shake256">54046be5a68bae9de7b33bc64e91098bc84d254d2a103d67aaeac4468e73d5e5ccf1859c81e5f543b01e543d6b2ee462dd2d1768a106767dda787a16158cd437</hash>
+ <hash type="sha-512">f3cf8da439988690c93c0fc8ba2da3d3dc0499a0def0cda80cdb468a1626b1ad8acd0940f7a979501989ce2c2bb0552ca9cb65f8abfb51d5c17f512daafed2ec</hash>
+ <hash type="sha-256">b63dfafe52e7ebbfe190d32b45519744ba90f52c7aa032991de6a3892627f7b7</hash>
+ <hash type="streebog-512">595f4f50235bc438e0768f62620027c42b4ebebc4fb939433b5efc078ad34247cd69a2a2149c7b4556c09ffae07ddbf9809ab2a141251ba624800b695df63c1b</hash>
+ <hash type="streebog-256">7700ba46925fb984613d1b4557271a6597bda5683394d1f46767cd6dcb049135</hash>
+ <hash type="xxh3-128">5c7427d6bdff2575f5b21c1de1f70e45</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP ARMORED FILE-----
+
+iQJEBAABCgAuFiEEc45NlUBSkCwUfQeyaFpaXlEdMOIFAmZkcjQQHGRpYW5uZUBz
+a29sbC5jYQAKCRBoWlpeUR0w4pdfD/905ycM8jWWyOraX4u6pc8t4naDbiCCSf00
+wQjaBcC/cEELdr6EaFWBxOwJ/89K8tmnHhMV9IcKrpxaT79zps5lF4r3S6zrll31
+Jj/oaGLGBX4htKt9XkA9DZS8qPQYRr1+A/iwCag7LwCrNywOtjRERMt6j80xclUM
+QaYukc+ip5hRkd5QqdEBKS/8/HsLK1BqqCa+heQaQjjGG2MAn/wiXM83Jw3Tga2o
+GXaAtzefzb6iykgkklChBrx6opvD0wzm8JZoQol5iBIJmRR4xkgZ7Y0yIm6idQmf
+z7aR60UmeOJGKjZJowcXv+JOGXks5Pqj+g3bjX0om87fBAFTj4PkM7+VWHOlyuVV
+IQsXNbfYBz728w0mn0HwL7WGAorP6TEwbC54NyI4BZf0223QRE2hWbECLVozZrKL
+DLGPr44xPDjscavjwM9PsguGzwHwoX6bNHvf0ZH8z0l57He63duFl6oHwLItoC0I
+BL4QJNaLmM2m+ttC3uSomMowDKigxL9TYam2UJPRTiWxk9WrKS/U/kpR77YMIDsN
+0HHmyCNYaFpR0dvRG5rATNRP2ai198/L/IhxZaXQJGyuoWDg2JUhbhfqgtzKELUM
+vBeKXIfYJrsxNpcapKPEGPRySski3CdiQYnm4tJwklQe8TVpWZ2alCZy2gx5wwJb
+lczfQbPo3A==
+=vM/d
+-----END PGP ARMORED FILE-----
+]]></signature>
+ <size>549189</size>
+ <url>https://dianne.skoll.ca/projects/remind/download/remind-05.00.01.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="sharness-1.2.0.tar.gz">
+ <hash type="blake3-256">e780d8aaebed1b7b5b4f67e4fb8977cd0d074a7d4689a99dbc2fd7ca1aadf163</hash>
+ <hash type="blake2b-512">5324900dc23bc5d65b876d6be0e5eed99b693e38d509b137b15a661d729fe8aa4ff855d585dbdf079518b93e6daa382adb2e2f9091e6219397bdfb93330504e0</hash>
+ <hash type="blake2b-256">e6736b1c3980dcf876d7c16c40b28c0451bd7e48d8856df9b2d813d201d1ae18</hash>
+ <hash type="skein-512">0689c16fc2d16ddfd5532d569e4fe760918c68efa488c1e95b115ddb0f6be8eac1e86c959de4953146f890de7e45d3540998285cd7bf10cbb319890ef3df6660</hash>
+ <hash type="shake128">c1a37ef205eb60425a7a832828bbf8b7588b4cc503c2fd9f3072bcb97315dde6</hash>
+ <hash type="shake256">9dd11cae03b44a8bccf06aecbc4e4fe7d3a6a158dc57aae94399d37cbce4232735e585ee6053508bb8a3d4f15e3e6448e3236a1b5b723f475ea564475414c669</hash>
+ <hash type="sha-512">f84f3d7f567eaf5b8e314cb98fc7b29b5ee8baed865f7b9064cbc252fb03bbe23779ce7ac0935a77a838d333fff3cb4ede82372782dcd70c7c094508b510cdc7</hash>
+ <hash type="sha-256">70d55a615d0863042e68f2e7b10df683c13231b116abc5b4e82812dd03c8bce1</hash>
+ <hash type="streebog-512">1fbec87b18a3f500ccb346dc9acdb96d26edfe087000096ad3c3ac2dde0a13af4bf12e10573b91f5fc572bd4c50d6919503fe08c71f9f9f509fbc5a15da82a4f</hash>
+ <hash type="streebog-256">5b07212879f12ec12d8deb83a52eea4feead6b7b75369b5693ab0e9c72cd570d</hash>
+ <hash type="xxh3-128">ad72507dec63e0fda865480935ecdbaf</hash>
+ <size>42544</size>
+ <url>https://api.github.com/repos/felipec/sharness/tarball/v1.2.0</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="sox-14.4.2.tar.bz2">
+ <hash type="blake3-256">592e9e1816d42ce82433c58308ad1423d9aaf6aaa33ce035e112e5e61afd6ca0</hash>
+ <hash type="blake2b-512">89c7dd4818864087add1c53c65fd934655a8df30f62b2d5fe1be12e5527e94330e50b65aef5626eda893d3841d5c38a875347521e8735ef9475c5cc12b2792e0</hash>
+ <hash type="blake2b-256">78c81d9e320780ebf72a4f7b757ed9452d353617f574e7d247dbc2c50fdfab12</hash>
+ <hash type="skein-512">8f2683708b95d678f69c922ab23bfec89a991706e801d021c93f508b37c0cee6312eb696d03ca28b1e4fdfa4b63b5d561c54293bd299db8c1e3e0b830384ea5b</hash>
+ <hash type="shake128">bf5988e5d398f9e5b444807f77395a8576e2f5730f3f45f8343be8e022182d8b</hash>
+ <hash type="shake256">bc0c61802910c70bc0704812a56e1cd957b121dc42b5f5d6fd0791c3ed871eec6eb8807a1211f27b48da71b2cf26e1334f6b27dd780562f5a6bc1c4a9d016597</hash>
+ <hash type="sha-512">424b80e9fff43864b0581fea7a231b8308bdebb2aee0b97cc40eeaa347c093e94bcd0111e8b431e7bfe88b3c1133660ede42b6b49d14555ea0626c2c0ffa308e</hash>
+ <hash type="sha-256">81a6956d4330e75b5827316e44ae381e6f1e8928003c6aa45896da9041ea149c</hash>
+ <hash type="streebog-512">298805f9adda233e63a34de65c105040ed78f43f18cdd998ab81436fe504df2e7a42166e110f6d2451dd84031091ceb41174aebe9a415b1296514fe578a080a6</hash>
+ <hash type="streebog-256">24ef8c166f36b75fc6419589286a0d8caac6535c88f0e34f079132756001a225</hash>
+ <hash type="xxh3-128">20a23c94c27dd1d0537dcf27199684b2</hash>
+ <size>935449</size>
+ <url>https://deac-fra.dl.sourceforge.net/project/sox/sox/14.4.2/sox-14.4.2.tar.bz2?viasf=1</url>
+ <url>https://altushost-swe.dl.sourceforge.net/project/sox/sox/14.4.2/sox-14.4.2.tar.bz2?viasf=1</url>
+ <url>https://kumisystems.dl.sourceforge.net/project/sox/sox/14.4.2/sox-14.4.2.tar.bz2?viasf=1</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="sqlite-src-3450100.zip">
+ <hash type="blake3-256">7e89deb435a01d4e1918b059c96e54f4b4145371633eff379402ba4bc473b24b</hash>
+ <hash type="blake2b-512">815fb3e92b080a7c0014b68451f571c174c656ba26c75f76bfca8b2d4c5373e82f4314ad3d9657ee711194019b4534c51bcd3fe71abfec588df2c5e4cdf2f153</hash>
+ <hash type="blake2b-256">df6ac404f56295fe0884da4a134246cfd210b1094f56a58076cbfbdf181734d0</hash>
+ <hash type="skein-512">6fb3c9286808e0f9b5916213d2d6e3f61d1d46ec89b131d6a0c3acbf6e39585dfcfb8a3e9d3bb2012f1715b4fb6008bae3570517204bfbe4f3880294a5e2ad5a</hash>
+ <hash type="shake128">0c0cfae9674eaef2f4c73f6728c55ca231c8be6df8d90b6d0860d04fa45e1ee1</hash>
+ <hash type="shake256">ed88f16ac79f4a2de8f0cbbc6005dfd9054c31fec92a647c7cd798c7f2a6b9471505d981e6495000836cabc816fe98667e1d2d9384e816a03a816e1c6a6ed833</hash>
+ <hash type="sha-512">475de1c473d2d828038a2afb98d74d52b5e0fd06a5bfc8516e44084ed38b1438310172905fd4fe0a64a736d699095ed286dfdee059ceeb50dfb9bb49131e2005</hash>
+ <hash type="sha-256">7f7b14a68edbcd4a57df3a8c4dbd56d2d3546a6e7cdd50de40ceb03af33d34ba</hash>
+ <hash type="streebog-512">d3853f3d846f87598b1386a79d6482728d12e179c00c08de6c4945c7336f7abedf3e674f5deeb23c72541f9658b1e0805e13e17147842a785895c96e60340cca</hash>
+ <hash type="streebog-256">672d76e38c81345cdd21784bf0038c5c9ec4aad7572577c3e446484db730f801</hash>
+ <hash type="xxh3-128">33ef442f1bafcc579948d9eb16b9a2a3</hash>
+ <size>14152147</size>
+ <url>https://www.sqlite.org/2024/sqlite-src-3450100.zip</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="stow-2.3.1.tar.bz2">
+ <hash type="blake3-256">1988738b29980fba59edab9fba581b9cb62fc02b3dacae3f1c1bc13679c7fed3</hash>
+ <hash type="blake2b-512">cd946dd1537bec063e21c91cc60c0c8f3a8a5609960536020e7e4b970ff2daa628151258487492b1b44fb5539e1d75a8955152fdfbe91384b7e174ab420a9cf6</hash>
+ <hash type="blake2b-256">0b4938b5c1e8f26444cbe91293785e56adc3e3422b7986d5170566ed2fcd61a3</hash>
+ <hash type="skein-512">79e6f0886b11d999d237b7d8cfc1321017c65108247195f528780405e446dcdf8dc39c2cb5aedadf2da8462dacafa8bb671ff662ebd488ace535b9bc22880296</hash>
+ <hash type="shake128">171c67a226fa0c412a1f219fb89e7b7eb241f36cd8201e66113cea8a48207c23</hash>
+ <hash type="shake256">08f7522a3ee7d9abd06d4dad3f305ef32fdbbbecf262eb5e8be4e9e5bfd7d58fbf3c3276a4c6e1a08190ef7b4b86d1237cc3400f7e6494e000f33aa2855aa98c</hash>
+ <hash type="sha-512">3d6cec3d50e2dc0ffa92646c45015ced3fca32cef9dd24418fada3fc2e4472a1f335877debb3a1284812aef281a432925c3a3e7afa112d92f127facd3150079c</hash>
+ <hash type="sha-256">26a6cfdfdaca0eea742db5487798c15fcd01889dc86bc5aa62614ec9415a422f</hash>
+ <hash type="streebog-512">3882f319c5d064170f48cb54141584622ed1365a743c92763536a2ddc7d3716f8d484c9e81cf6a5f495d9de5f65df667a7a6d8f9c690a304d43fa9359152b31d</hash>
+ <hash type="streebog-256">8629160804e81564ebadcb0443d25213b21fdb92ddfcd380d2494a752d655c81</hash>
+ <hash type="xxh3-128">d1f48e3a0bfdd928fe057d9e03c1b365</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCAAdFiEElCuQdazKBOkDfHP+0xtVY9rB1PoFAl09lZIACgkQ0xtVY9rB
+1Pp2xw/9Fj7l/VowS+emBiS43YR3bRh6foqjX7uqSr1X+J/PS0X4IHJ2s+U35Jid
+Vlw6TMvSDnSem6Q6NbolZYdtikgFanqqsAyxKG/iA6Zn2u5YzYjx5b+aUcwFITkY
+xEA9zLKbPsenUWPsYHZXtbwVQGSuOLv19gzwWWwOrscAcj0lX7BlaoH2CCC9kTKR
+uAQwO7ZN3h6trOoosObYT8qBK+aonZy0jxyUxd5Ny+EpHlx43WGFiGHQS3mtTQ8p
+MxsIOAv+CwzINqFJWx0wp5utoq3xWVwuY+GqY4/x602CZeA8ppQ/xbsa94qUi+mI
+i8g0RAxVybsHGouz9yfLoKXApC8nbwdge8YIdlB9mnHT2cYizj7jB8DTxu0u0nkF
+ICDyKvlLd/hhOXE+KHQmcMGiDWQZPVW6Xb4/m4jB+5A8i4QDO5sy+htdR/2i/fM1
+MIvG2o9GKr980unpTWiNVcBVcks+RDc0Rq0aM+N32lTsq/ejCMcUFbeP+PW63Nfu
+1TUET09gGeAOyDiX80mALc3Z02Wnhh/CNLPyMxh3hv2G/dv5/DNbVEi2rWIN7XgX
+JDFq71Ser6Jp0lv6pYQwsXiJKvpjAsRV1UMQ85lcHqP/K1iQgx0WdlkLG5M9Dlv3
+l3z3dc+hFUSPFpvW9UHwmciDlcfI61lXO2yskTrLhiCsttKwNw0=
+=Uqky
+-----END PGP SIGNATURE-----
+]]></signature>
+ <size>556921</size>
+ <url>https://ftpmirror.gnu.org/stow/stow-2.3.1.tar.bz2</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="supercat-0.5.8.tar.gz">
+ <hash type="blake3-256">54cf605792caa1a5903fada7689840089242e4f7eff37881f8ed767849b75398</hash>
+ <hash type="blake2b-512">56ee4fc1db1605e2474c7ba6ebc890b5b843bc86bd8717f8550befd8e82d160e4508c65c91266e1c15223ab3675d95be0e4d7e700c3e7dc34744429e90ffb589</hash>
+ <hash type="blake2b-256">d5db4d9d7f9286a5e5d861f6d5a59aeb913c3bd2054ab8566f82844d64d146f3</hash>
+ <hash type="skein-512">5ceeb9fa098bfbddcbf417508f36b59d100c9bd193b316b60ff12bd5d77f85d9ba13c36b80317f4b17ff84e9e3a3cf37ffb42f233d97cedfa6f6e15856cc8b83</hash>
+ <hash type="shake128">6884acd60d81021cd43e6b05f250cd74d949356c8b5e370d57991f0edd370ee4</hash>
+ <hash type="shake256">20c0472bcdff93e6d09c684a3c40a961c7552f89b11456496e119c80a4fe6853f78c4aed42a2bc031f14a90f20035772a8eb098d5e9038f058867066e24fa276</hash>
+ <hash type="sha-512">6050b2c9e55798143a5673ba2855a574339377d0508354d538e1619a25e0827e758b00227d824f5b5368c80a2b4d1eda601d16a9925f712413babda3c6e39434</hash>
+ <hash type="sha-256">3c017bb42d9d599302a78953abfabdd4d4d91e371292507cd44020f0c8cb6b2a</hash>
+ <hash type="streebog-512">75379b0b945cc91fb4c1c963bdce3b4a93da47597e3adbb731941591696f4003503d5809af844617d37f0ba9beb3233d8ae2589e17a856538fe98f756e3f0d5d</hash>
+ <hash type="streebog-256">2d5be757cde7d44fa50893d83d0c4a4714021125ae286f2247e81555048471a9</hash>
+ <hash type="xxh3-128">c48142ecdb4302c7301e377755051ff1</hash>
+ <size>148797</size>
+ <url>http://supercat.nosredna.net/supercat-0.5.8.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+[ -d svt-av1.git ] || git clone --depth 1 --bare https://gitlab.com/AOMediaCodec/SVT-AV1.git svt-av1.git >&2
+cd svt-av1.git
+commit=fcf564910dcf41ad7a798cf32cc0dc4169281904
+git fetch origin $commit >&2
+git archive --prefix=${1%.tar.zst}/ $commit | $COMPRESSOR
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="tcl8.6.14.tar.gz">
+ <hash type="blake3-256">71e1bd5f8f67fcf1b3176cb56e9555f72da3859a8633661164d71ba81707a4e6</hash>
+ <hash type="blake2b-512">7089747a4d539b46e710ecb795aa3cd5576243862fae3cf8e6f0efb15681174881396c0147071dca18421d9d95eb35557b17d623f0f63383476fe882cef35a61</hash>
+ <hash type="blake2b-256">d1d692f92a84b8b79aca37aa34a1ec42d3c4cdffc7eeb6d4c135c986c06684e3</hash>
+ <hash type="skein-512">3b6f719c7b063cc551548bd50ab3a917e18f8ede36d62cfa289dc1c9666ccfc4fba38f0ede6dd123a9bc7fffad24b400deda83c5a3ed83f30d130322910859e4</hash>
+ <hash type="shake128">2372615bde5b83484ecd6e1155c126d9512a0093ea5d6f5dcce8c74a1ca16ba8</hash>
+ <hash type="shake256">bdc87e5b423d549895da9f3fab378ff14da5dcbe4433bdadc9b66532ee6c8eeb3a2b65edb5a2822a18778efb4a29b341929a3e82e935d209404c24036cacdde6</hash>
+ <hash type="sha-512">706603faa94153fcea2e2b2c594fb9d9862ce1aa3a65b864f14ce0757ea97c4106f065d1696e35f8cacc577db3d82ef1e93385c71a2399416816c4e1582237b0</hash>
+ <hash type="sha-256">5880225babf7954c58d4fb0f5cf6279104ce1cd6aa9b71e9a6322540e1c4de66</hash>
+ <hash type="streebog-512">10c103dacab0beaaff55836390bae41625987ebe1ebf7392adbfb3719656d24ad1ba5d250909678681542d5d758e29713e321a083aec3f85a99aef40b81b217b</hash>
+ <hash type="streebog-256">1217bcb5b376dde4d2865d1a34265f4b2643f49bbf2b4e635a5bbbe22701d5da</hash>
+ <hash type="xxh3-128">780e3c919681753260d97a332e8cf3c2</hash>
+ <size>11627322</size>
+ <url>http://deac-fra.dl.sourceforge.net/project/tcl/Tcl/8.6.14/tcl8.6.14-src.tar.gz?viasf=1</url>
+ <url>http://altushost-swe.dl.sourceforge.net/project/tcl/Tcl/8.6.14/tcl8.6.14-src.tar.gz?viasf=1</url>
+ <url>http://deac-riga.dl.sourceforge.net/project/tcl/Tcl/8.6.14/tcl8.6.14-src.tar.gz?viasf=1</url>
+ <url>http://kumisystems.dl.sourceforge.net/project/tcl/Tcl/8.6.14/tcl8.6.14-src.tar.gz?viasf=1</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="texinfo-7.1.tar.xz">
+ <hash type="blake3-256">4254ec7d0580952e67c59128d88e54d877455b386b99a33a3b9c8df6645c0e9d</hash>
+ <hash type="blake2b-512">4385ca6250daeaa4f6bfedd9ab41f25993613031bcb8da55360365701213f4f3cf786d958749c59dc1c9dda328eca42f028aa051a7062313142aa92f55a96ecd</hash>
+ <hash type="blake2b-256">90b9979021c64f79060082ab5839b85dbfbafc2ecb76907c4afefb15506735e5</hash>
+ <hash type="skein-512">3bc9ec6edfacb5ffbfbc983f7ef48ec07654f90d2f3d5e81ab0ded3ca6558b6c38da9d45682b1ec2d5026c233c9fc1f9e093a8d2648d0d0dcf7bd53f9c3d56c4</hash>
+ <hash type="shake128">8149b589361f5efd47b456a4eb950c5af9011360f5a113bd7b4377f9a946b77b</hash>
+ <hash type="shake256">3c6201023fd43f85d46c07dfc3687aac5373b5150fad01f7d05d5fe3205c5e4f9117dff67435277b9cabaa0aaa696427309b5d533c30900cacd8986981979a6d</hash>
+ <hash type="sha-512">ceab03e8422d800b08c7b44e8263b0a1f35bb7758d83a81136df6f3304a14daecda98a12a282afb85406d2ca2f665b2295e10b6f4064156ea1285d80d5d355db</hash>
+ <hash type="sha-256">deeec9f19f159e046fdf8ad22231981806dac332cc372f1c763504ad82b30953</hash>
+ <hash type="streebog-512">7fd7c11d8ba95b9850fde5893ac0b8a91a4f502f6a4b5b76ac509912d5cd60411d130c4ce185d933e3a596bdb0926fc8a6b8c915c707f63864e944e26df4ddb4</hash>
+ <hash type="streebog-256">e995394561bb0ea3eacbc87bd49a458f0b16fe0dbcd42f9e7adc0568f4a5cc47</hash>
+ <hash type="xxh3-128">698c26f2476e8ed904f24014e8c25388</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP SIGNATURE-----
+
+iI8EABEIADcWIQTq9mmzHjHh3svRFRPdvFedqzf7qQUCZS/iphkcZ2F2aW5zbWl0
+aDAxMjNAZ21haWwuY29tAAoJEN28V52rN/up5LYBALwlhLMF0ms2VhWq8mXvHbii
+L2ySgaLsL1Pe3bFv6UC5AP0XSWsH5VQGq3wRVvo5KCH9TIi2aAMZ3RrfJbaPmxHS
+xA==
+=bAky
+-----END PGP SIGNATURE-----
+]]></signature>
+ <size>5545720</size>
+ <url>https://ftpmirror.gnu.org/texinfo/texinfo-7.1.tar.xz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="tmux-3.3.tar.gz">
+ <hash type="blake3-256">09c7759dc31a81d98c02abc17f57dc02cb74211de8d36fb5d22d4f3f3f846be3</hash>
+ <hash type="blake2b-512">7e5b66d6d294c580d86f4f8729f867277e00f401dfa2a4b4c5dd5bd08c1e9884122340cbebfb37f56c67c65e940667f5b79b638f20f05282c434f7b3641ad003</hash>
+ <hash type="blake2b-256">cdd9118f3eb055f3e2c8d8c6c74a0c5fb215d3ccbf2ba6ae090832359a5175be</hash>
+ <hash type="skein-512">cca69795e02ae472c506cf34ea7f6306055027ef9e22a78876ff8f08531cd61bd115bf610c90cf024231cad08552fcc9460b92c44e0c194cd8a8fa1f3b3ecc9d</hash>
+ <hash type="shake128">5400f8fc4a80db8960954b0caee7fd5e23ea81303b2dc562ae89cf9574426767</hash>
+ <hash type="shake256">22d3ec6d3f4148e18788b5d2603712334eb64d73d54a74d44ddc06d2ff56257426cdc0f9a41de7c642fde2a59b4e419ce40fb5e17f8e231cce935587564be298</hash>
+ <hash type="sha-512">2988ccef62337dee0a22579868608b611ce17e2160358a9ba4cc3a353fd1e6b1fea87584ceeed885f986b1786aac1b681c71bdf6a48ed4953809093280b38c09</hash>
+ <hash type="sha-256">b2382ac391f6a1c5b93293016cdc9488337d9a04b9d611ae05eac164740351dc</hash>
+ <hash type="streebog-512">4c1009ccf90f8d0d6e059ac94d6fcbf8846e49b30c5d80b7037e408dc801c12c95fd1fa3f3418055c5cd42dc6a8775ed57924d20cd64cc41d972563d4f8a073a</hash>
+ <hash type="streebog-256">f199a05f15d69190cf32c4f93fa10b22ceefe8c4755e3b378259c3d871e70c46</hash>
+ <hash type="xxh3-128">38ed20b99bf5271e7beb303d3d68eb7e</hash>
+ <size>677501</size>
+ <url>https://github.com/tmux/tmux/releases/download/3.3/tmux-3.3.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="ucspi-tcp-0.88-ipv6.diff20.bz2">
+ <hash type="blake3-256">48728c8916dab2429ce225dd1a9c08fecea1720231a718cec380f4e192da82fe</hash>
+ <hash type="blake2b-512">faa6cf37b828241fe8b0365aadc912465ed811b28cd6a02eef638afe5d8ec2d18a0635e756c4e5ed65e5dc13d49afee37a255e229f2cb2713628e6e8eb57d6ec</hash>
+ <hash type="blake2b-256">d28dc7ff31e3e1f9112cdd38496a27f44f178df5980e3b9dc4bea973101d85ff</hash>
+ <hash type="skein-512">c53394263cf331ea220a76e90dcb441b1ec4a876139e83bcb9797f788442905dd88acd5bde9feebd68feafb0061f7eab63ffc70f8ed95b6ccbfe316205afff4d</hash>
+ <hash type="shake128">b4fae9b913da9f25dc9eb43c25410518a8d659d3bc7fdd40eae1ba601fc35877</hash>
+ <hash type="shake256">ecb284a4c35fb821f8ceb251ee1f606c2ec16fcf2d47087d33e9b75cb1cc305f54b0ac4a159300ce24de3e0ee9432c85dfa6cb9e7608bb0f4d4c54708061b825</hash>
+ <hash type="sha-512">f8d3ae49adec2b6a643458958679b712e803b0e4609b4395ff9c4fd13b5a29b6f9fc35aee59f2928b892908d37ed83b708c67346a4a42ec21e05e7782bff215b</hash>
+ <hash type="sha-256">c30cc45b6495e806fb8c9eddfe25121433e116aaab6ab9ad5d9fc842babaa3a5</hash>
+ <hash type="streebog-512">d503bcb54695955ce9a2a30d3182b2085245490c99c629c018184558258355578bdf3d2df2b736f780d82d224bee726d8c252e9231dcbbaf7c447a3229c91f73</hash>
+ <hash type="streebog-256">13d9937ac928918ca6bbe743495e5dc4ffb2dad86367b2672061f4956be1ac1c</hash>
+ <hash type="xxh3-128">94c5f0f52c10becd9a37faf4a55586bc</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP ARMORED FILE-----
+
+iQIcBAABCAAGBQJYF/v/AAoJEPwyzuylNKnGRiwP/2WH7ajPnLXB0KwX/p8CQmxA
+lGmkUCqNc4tzpKSJWICDAS6n3qQ5WsON30yVF3lBDqBvF18Qdv0y+CwR5VNGWXnO
+OnXINZNTewyxxVK9/84e2pLiJW40iQvGNRFw2QKUkNpTVbz/RzhzJewMqaa8UpL4
+KXO0qXUyiI7K45ucSDb/ckKYES+WfcHg0zMvFvd7m5Yf/TtjP1pIlpXh5xE65xup
+XloetqmUKOU/WyBcAXnRSJnIuhvhSZ29wVkfLRg7rTd1tMRyRqsEUXMlXTJXAHja
+WCHKyWlY/vxhFI3ndn3geKHNlijbqyLMoEDBt9o0eF16OYsks1KqXYon5ebWZiZk
+r2jiXOcWIKGJ0lWYmi7cizLjy/7eksQCWCe5rxW4MfAtnKC6Xzp8HtOvG/p3qPux
+LH0tJj/zZ5S7bgx3huGR95/TNjDxG3/HJV27uWGOSPJ2tH3MdO/iB7reRYmua0u2
+1fcybHW7IYDsOd4jY8hB7c+NGuLaBE8XNpXBCMLBnZ+99nytrIWPzHoWThaw3Rys
+xy4dQaTeKCJRRgaa01c8e8v/o1LWYPMHe2bkvoVie3uQtJMV3y7iJncZzAd78WPI
+JZmV40yjoEqwIpG1uGlU1sSpBr72gJMXLAWSU9HfnxASzOaI0r/+qlcrbFfrLKnD
+FyGCyB/7+bOQJcyYL1Nc
+=ibpS
+-----END PGP ARMORED FILE-----
+]]></signature>
+ <size>22088</size>
+ <url>http://www.fefe.de/ucspi/ucspi-tcp-0.88-ipv6.diff20.bz2</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="ucspi-tcp-0.88.tar.gz">
+ <hash type="blake3-256">57478ea2e43741806a6ca3d2308acd42555e5392b260fd36b22a59aa16687fae</hash>
+ <hash type="blake2b-512">3327de31e225c851b43e40ae9d8c5e4d3b93e2c15ed6ef993ad9f4105d60f322c56797c45a37363258e7cd9a8d52a315d6a8d65686c5cd45d4be19781e40c233</hash>
+ <hash type="blake2b-256">7553a14422ef6de6709ce06a8b0a67f4d5cb4a99223f0e9c8ac5c4412c09f625</hash>
+ <hash type="skein-512">3d640771313622d509299e5beea372ebdd1021fa360f1ebb7cb8df0054692a63b352ebde8538b8a2f95cc71d158a9674553d9e31a9bcfcdc5636b5c650187ab5</hash>
+ <hash type="shake128">4636a8c9e31c98ca799e3913ef1c9d08a4668c8d99023a9abbbe97f8b3076870</hash>
+ <hash type="shake256">9be8a90c39ee9a1e2d1e68c14b8db6ca7a6a17f10acff85ee686956c99bdc6335cd7dc8bf4b44b826ad1a874c5de8f1821ed7498129de324c73b7acc6d121525</hash>
+ <hash type="sha-512">44efbd477dacf31d39fc970e2d2f74526dc815b905742f6127f0d5c80928ecc7e743089eaab0492386a58d5b97905113fbe8bbc7214ae179b7be27966b7566c7</hash>
+ <hash type="sha-256">4a0615cab74886f5b4f7e8fd32933a07b955536a3476d74ea087a3ea66a23e9c</hash>
+ <hash type="streebog-512">d7d89a3db894bf5313f2d121bc5b3751ea383522eee42274c114e640679bbf3fd7573e4a4e7e175b27cb3b6448ee8c04445d4f81bd6ff29ffa07170a394d0e62</hash>
+ <hash type="streebog-256">fef6a1c272cd8d5322f8b8e0b3bbc4a1a9bae79294df57fec6a16d2c3bfc4030</hash>
+ <hash type="xxh3-128">d00e4ccbe756a5a771b45060ccfd85de</hash>
+ <size>53019</size>
+ <url>http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="vorbis-tools-1.4.2.tar.gz">
+ <hash type="blake3-256">8d4b88e9606af92f512d130928a8df85c032ea4b8f100eeab5861c72cf23bb9e</hash>
+ <hash type="blake2b-512">6cec240a2c069a74accfadd4d4a5a2a75bb4ad40c83aff86e190f7b19a87d4348d7a932e69a9ae9dd2efff636f47d3465b3d26d39393b4fec925cb7d1543f77e</hash>
+ <hash type="blake2b-256">a0143b20af1b3ab34993d77658e90cd1d1b64b1de22cd4806d994fcd5e5079c0</hash>
+ <hash type="skein-512">c62b9102eccbd4c1dad28c91e66c2f5a39b193aa08ece4c13f75bdf3e719cb3fd20f216028763ad3ed28d1a1a0b861d1cff9a027edf780de5cd08a04cad054da</hash>
+ <hash type="shake128">48d57e1d358cc04e5b310acfe99f415ba9d7cf243b9dcd4be734ed9bf7bf4946</hash>
+ <hash type="shake256">c0fcc0bfda8214278c1cc9719b2234e901363298887993304a357c7f9b4e89200c5c83f953729a762bd52278c69b946f16b00c3de054b0de8073c5f6928da706</hash>
+ <hash type="sha-512">31681560434054706981aef64406975295eb405a9d2d7c0468af789d6c23edb7cfc1c19d26a28fa7061835524289cdc6d217a4669c43a2eb828189370cc6fcaf</hash>
+ <hash type="sha-256">db7774ec2bf2c939b139452183669be84fda5774d6400fc57fde37f77624f0b0</hash>
+ <hash type="streebog-512">bbe0582827f7a692ae9b7911a4c28841a21bec2ca28a873e64a9dfaf3abf5be0d57844dfa5844d6b6798b4de2ffd8692fafab1652d35106b5bc8f5e495c95d93</hash>
+ <hash type="streebog-256">50e0d7aa9f88b1eb7a2e59062d4e9fc42fa066c286613daccbb8ad54f5033855</hash>
+ <hash type="xxh3-128">0b769f6484744f5bb9d6c2226d8efaa1</hash>
+ <size>1389947</size>
+ <url>https://downloads.xiph.org/releases/vorbis/vorbis-tools-1.4.2.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="wavpack-5.7.0.tar.xz">
+ <hash type="blake3-256">856ba30db0a046d756e67fa0e6289799d5100bcc64c62af874494aadc017847a</hash>
+ <hash type="blake2b-512">eda7c40137c873447e90e527bdda21ad861b5bcbaeeea8e020f516fbc0313677c71209e67fbb289dbb5b5e55ddc06c91397015678e107b3175441d2de8ec2718</hash>
+ <hash type="blake2b-256">7b80febe4e78998e876ad054c5d64eb97de54090bce55073bc2fa7dd4b9eed71</hash>
+ <hash type="skein-512">378f895ca02a6d10a64e68aba423cd6923d6efa5bc5f80eb077ef734bdb71d23130b84609daa6d03e24a9469a0f3ab18fe03d2fb8f31959a26f4a4c679c2cc77</hash>
+ <hash type="shake128">b93cbd44777a0faf4e7cca8892315606d314faddc094f0c5b1aaf084f96a1389</hash>
+ <hash type="shake256">74e282e3a809b8e27b88e8cb338c661afd059f572cfbf17e22513adf62f78915b3b2c98768a2678eea2d55e8c5b6dd47ea2296b1a3745c600aa711238df8b2e7</hash>
+ <hash type="sha-512">63ef6eb5ff71bf6417175691e8377624ade02619c761d80e265c8e0e7305bfe22eeaa1402e36d20c13d20847279f95150ac014019688389da1b87b86558446bd</hash>
+ <hash type="sha-256">e81510fd9ec5f309f58d5de83e9af6c95e267a13753d7e0bbfe7b91273a88bee</hash>
+ <hash type="streebog-512">02be403c55850caa082e41f3d32adf974b73cdb40bf0f56c641811d7e7d18c3fb3d97b1182d2e6241bb4b6ade0824af9c6e5801a4acc24a1764090a07a99c7a1</hash>
+ <hash type="streebog-256">8bae9501a6f644a0052816f559d4bea318213fccd74cc91ca795da0cf2b52bc8</hash>
+ <hash type="xxh3-128">db22a61c6fad51f78b9d5cdbf96824b7</hash>
+ <size>814324</size>
+ <url>https://www.wavpack.com/wavpack-5.7.0.tar.xz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="xapian-core-1.4.25.tar.xz">
+ <hash type="blake3-256">6def4e11723140801ce7b9219996a3a058326bd36d65dfe868064fa2df08ccbb</hash>
+ <hash type="blake2b-512">7b03a8fabc3c688f58b3451541dedb664de0a02d7c46a4e8eac080c004232575c00428110eaab0ea463df5c3f43f2b4cebfbe6754f897e55f113683c1db43b2b</hash>
+ <hash type="blake2b-256">168aac31b824c883e66e08d64580cdce4ab8f675a82477e7edbc995f0cfb77df</hash>
+ <hash type="skein-512">6252df1b07d92ed2d14e3f7ddefc6ef967593211b68ef07f9baf3b1cff5bccbd550525c9b0161a42e0976310116a4899bbd342556d59224e9df9b13305aed202</hash>
+ <hash type="shake128">2cdd1eff920246af6d7313993704322999cebccabe591a525c43182b1c31e4f2</hash>
+ <hash type="shake256">4035eb33a1e11ebc3f6cc8983e109c1c5a4e31ecf04c3fc0345fa767188424485a9ac7d3d15d5e1d99280c36f3dc4c627ddbf1540b3c474cf4e05c815ca50ac6</hash>
+ <hash type="sha-512">e8069f2cb75554978716a99580fb57fc73bbdd607c82394f53d07205d8c78fb59265004be0c676a6806bb2840a3933499dfc867e36a28855278569a0676d469d</hash>
+ <hash type="sha-256">0c99dfdd817571cb5689bc412a7e021407938313f38ea3a70fa3bf86410608ee</hash>
+ <hash type="streebog-512">5da22c7f0698c69858bd0f7c368075c0eb794f970a8b4e3694c9df1eb7afad4d55f75081f34febeba73c9fd544d923080dac3114e4d785a3cd15e6ddc4efc7cf</hash>
+ <hash type="streebog-256">c138c8b2e7aa96674af60be8f6e93a100a037958347002151f43b95773bd8b49</hash>
+ <hash type="xxh3-128">d7c1b18623cdba1f6b076bec0b10ea94</hash>
+ <size>3205904</size>
+ <url>https://oligarchy.co.uk/xapian/1.4.25/xapian-core-1.4.25.tar.xz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="xmlto-0.0.26.tar.bz2">
+ <hash type="blake3-256">d73c6fe3a482c8e600cce25f5659c7cedeeeeb72a8ea05098e4cc4d6bab3bd0a</hash>
+ <hash type="blake2b-512">9674389d7fac9e60ccab6530acc95338789401f6ddbd3bdea7cb98a350a50bbd8e539565fdcbad42778a1bbac22590bc923b3cae9108ec510dbc62e5d32e38c6</hash>
+ <hash type="blake2b-256">242c6c2150989dba208ae077d63d50785533b55bb7136d7608ba0135f4091609</hash>
+ <hash type="skein-512">8e3d578736b5b29364cd7bbf0743969789ad6d92111d821ed1b92f1a7e4f4c99a6e1c38248ca94e23c684ec5dbb84f454590a0862dc22f289daf9ef3c740511f</hash>
+ <hash type="shake128">a54669a80fa32273b390d4cf807cb5a2b8fe21f5777cc56b816962ac71ce9488</hash>
+ <hash type="shake256">8af3a2ebd38a83819da1d91f7b8534bd46c04d76a14e74cc7c2bf73836a6e316dc6bae4f523bcf29c57e08cacd30a4126289463fe569a10d74fbb3d37aab8476</hash>
+ <hash type="sha-512">85110f22a7b5a5c8de4115ae5d0391645a223191b17455a4f9539b02f56f7003fd4ba70e48f0e5e46cdb91220a9027802e725f88ca8659e3ce1576f8609ccd18</hash>
+ <hash type="sha-256">efb49b2fb3bc27c1a1e24fe34abf19b6bf6cbb40844e6fd58034cdf21c54b5ec</hash>
+ <hash type="streebog-512">994816718e3f2ca540ec201a89f2d1d1ba92b51de13bb81f7359fd148da9a623220aa661717fc94e11de735752ca41e517803183537554b191df055072d1454f</hash>
+ <hash type="streebog-256">cdc13a245dd6dffe99eca53330baf6baf884435c3f5daaf9f687ea8766449683</hash>
+ <hash type="xxh3-128">e6affb996288b2d0e30b77869acbfc55</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP ARMORED FILE-----
+
+iQEcBAABAgAGBQJTQAD5AAoJEOBplj7hN2b/IPgIAK/bUOpjA75DGgSD3/U9ncnQ
+1tCiIglERyjhXaolGJuhWlRyJwQywB0G9xN8N2+0Pb3gEz6xUwjTiVDyKWFWawwh
+GIRpEcrtNP4atvmSjwimp1zKJ1epGM8MOB/88tHUCUC5Yg2XSOBNNiQE3Fi/mMvw
+SmI3ArxHS728fuOeMlLchFlF4pMOAhdD4SKoAd8KzxatBn6lNVTpDf+6QarqoQ1W
+eC1IbkA72DIOWynweLp0onODRtR45Y82bY9fGIDVryUA+fpr/wbQqNF2aDXiNXN6
+poCpwjXv1wZjbGdjyPNGn9ng5iW+3Wc+peE2NF82nT4Km+Sbq5TpUInayVGLt0g=
+=O9ux
+-----END PGP ARMORED FILE-----
+]]></signature>
+ <size>119819</size>
+ <url>https://releases.pagure.org/xmlto/xmlto-0.0.26.tar.bz2</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="xxhash-v0.8.2.tar.gz">
+ <hash type="blake3-256">ca1708ea4c238384930907ed5b25caeece54bc24a23f38aeb33abb0ff91ecccf</hash>
+ <hash type="blake2b-512">4b6f0d0dd7119cb309aff3f658efd3eeba4a26a6c5526489808f3192a0a15abac54298934b069eee57f5152f3586cf2b29d357233e9595be1b9c33c6003cd9c8</hash>
+ <hash type="blake2b-256">b5e350d8bb9c366c74449fa98b65a950fe67683f0061589c5c44cda92e898953</hash>
+ <hash type="skein-512">a76cd58e46087a21d745d53dfa1506e329825cc54741e4f633816fe361cd3fd622d62e819b5e0b5bb3169032e1b317ae6b92baa5399e564810d0fa6f20f79d55</hash>
+ <hash type="shake128">1b6bbdc033c1072b9e8439a1a2d412dc29bf21ed6fe6f43597364b4e64f6993b</hash>
+ <hash type="shake256">5f2ebce2204a95aaeb379333c72265c46dbc398aa894c288da5ee9d07699eed864f3d0526fc533a3d230f7da5da2b58a24c930b3dce4fefb64e981e1d97b9678</hash>
+ <hash type="sha-512">fc2402095059d57f5bf3345fb0fb2797f51593f7e47dcb242059df1d2343b7d21aec4aec45a01e6f003602ac168c7a5cd389916fdf1e9249a680b249bd025530</hash>
+ <hash type="sha-256">2de0721e622b5eb38585f165641e0fb05dab07aae31fb1db41d7ae4cb9ac57cd</hash>
+ <hash type="streebog-512">3f5945c768fcc34b37202848f6bc2681412e296bb824d6d1493d6d078b51fdb73f79ca4a70555c1bc6d922fba8ef5e5b22ceaf10dc84eebebcf8172c9d8ee2ea</hash>
+ <hash type="streebog-256">7d0b02faca9f7fc7ff62197782e6c9843d366c358ad915354c6f4d4459c7068d</hash>
+ <hash type="xxh3-128">039e1839a93944b5f4af5232958383fd</hash>
+ <size>1141201</size>
+ <url>https://api.github.com/repos/Cyan4973/xxHash/tarball/v0.8.2</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="zathura-0.5.2.tar.xz">
+ <hash type="blake3-256">9f556b2132d86dffe2c65cbda24b9be62c294b92decf82627b18c21cba3ba3f0</hash>
+ <hash type="blake2b-512">342bc9ac3d0209f70d28c5485a64c0b3564241b73926e5966187600d0c3a9411a5a0ffea13f67982e11bcceaf070b4a9068e9c85222e5d4b32e9944693345ff5</hash>
+ <hash type="blake2b-256">0d38191e298d41a045e3e9cca489850bbe49dbf1e248a91be2ba748b7cdecbb7</hash>
+ <hash type="skein-512">ea62f944d8f25fe6ce61d129badec582d64b12df743e7561dfc9f0ac52e81dd17471f41f68f0b94b13b3bc88ac71c789b752dd8c623b6d2fac67f70e217b046f</hash>
+ <hash type="shake128">081d2180408ca488e1a93e9dfc1e29c9a3a04683814d917f6a539abfdfe4d5ab</hash>
+ <hash type="shake256">e5fe2744be834a9e91d469f5700050acba0f7e702b09b3ae08811a074cb33c89b73273ab22999654a7e7d568ee6541dbb0765b30374b2adaedb21e6da29e63d8</hash>
+ <hash type="sha-512">3bf73d36d4e6c5192b28d5d8ce9940630e157072f43b4b6ba477bd0e599d0c26908e929e2cb707b516bafb287d0296b5eecdeba0f18f5271459738e516ce6385</hash>
+ <hash type="sha-256">c64ba7cb9facf2b1499b9dc929b6736c72c69f8062eed4f2940556c852256194</hash>
+ <hash type="streebog-512">213a6c5aec5ade87423e53b0a7864e3b7d8e932c206092dc16f68ba1b3dfd2384c13a8243328b89f03487ab50bc5abf353e2dc3f38801051f23b0b122051f2ef</hash>
+ <hash type="streebog-256">e14a0cb434156a9319346f9aeb3973928b1509824acf41c8443ac2ebf0a6dfd4</hash>
+ <hash type="xxh3-128">bf36bfc7f8e77845485d9abb788ff681</hash>
+ <size>165200</size>
+ <url>https://pwmt.org/projects/zathura/download/zathura-0.5.2.tar.xz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="zathura-cb-0.1.10.tar.xz">
+ <hash type="blake3-256">673c18cede190f4d0ab64b9bb8425c122576197ee5010dd24e23e85684db569d</hash>
+ <hash type="blake2b-512">d541fb78f5ee52a22e58bb885103560bd544a9725cfe210f6b343e97429163a90dd0e9533e6c807134386e6f347bdd17cfc506ffe16642819eae4d1fd27c3b6e</hash>
+ <hash type="blake2b-256">7a71ec2fcc2af0d0229f4b7c17fc8c5f7f2a65222030e81cd4b1f2c6667a1e6e</hash>
+ <hash type="skein-512">f485d2981ca2f5e65b350c86354741839e826bbcd4d38ec11fee1a05e2b8e9d351f413772e126f84985ef7debb76155030ede4b4e2ba486c2e31fbc93bc4571c</hash>
+ <hash type="shake128">ef5892159765c6e67ba64be2b3970a0157eda20492efa6b4b5847b1e584e7c25</hash>
+ <hash type="shake256">abdaac7febe7cc742937acae11ce05096ca3dd22974c987722f312711400b5870d2c3e4be2dfd8fa3a6f480a145f60ead52790732e090442854438a3e9cec7e6</hash>
+ <hash type="sha-512">b85894d052fda45933582299e8c3406413bcb47ed451d81f5906d7bfef94b169c59a57db8b37273c838381ffc7ba55205d714d2e2ec3b597371578a77e131029</hash>
+ <hash type="sha-256">89b0ca17a80cba1ea9fd1b3b72f3a7173f0aad3a06a8c364d865c4999c18bbc8</hash>
+ <hash type="streebog-512">9b32fb9d6a79daee8d9bb9c869a1690f6137502b9ca62cbb80fd6cd306d3260cf75d89cd4d78d5221fa157bd8489193f72f9dd650f037394ed14a053ba4642c2</hash>
+ <hash type="streebog-256">e4185e7cafa76bcd365d6d6a15e3532a87973467af8170a7cf0058933af87f86</hash>
+ <hash type="xxh3-128">dbcfebc79a9c6a70171e61bbe7637522</hash>
+ <size>6300</size>
+ <url>https://pwmt.org/projects/zathura-cb/download/zathura-cb-0.1.10.tar.xz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="zathura-djvu-0.2.9.tar.xz">
+ <hash type="blake3-256">9a5f6de4e2be13653e6afa8b78b737ef51b363f675689727113cc616bbbb6e2b</hash>
+ <hash type="blake2b-512">f0a798e9473ad2d09bdf171f4689231d73fa1e1bbaa0faa750feb82db2e2b029a86bf759e642f92c0ba438ee88b9178969e5d2aec4f30d9cb049bd3bcd69639e</hash>
+ <hash type="blake2b-256">c12c0f3f4416165830241bb0ba1e9b215f3c1b474dd544431fc8713f85d1f5be</hash>
+ <hash type="skein-512">e2c4168378238117bd64a6214ae66b4512ae9c131ef45ae6fa36eb6043de107f8e15ed38e160569abb7006e8d71eb05c4d82f0be5a38ab3ffd5ad915188c9994</hash>
+ <hash type="shake128">9ecd1f133a4d6684c93100deda657dc524abc3b22ac7152cba07e8e53d23fbcb</hash>
+ <hash type="shake256">d8f26b5be257d9a8bd73c5c59f6c26b27ebb7a429d4d556fb2c9f71dc44f37573a9e044b58b749d579783a9a9989d5e4ef8861cff95de63fe3c5e26e4df59eb7</hash>
+ <hash type="sha-512">3c2815e7f1cdfb9fc594dc6ad65359245f322e5fa27f018fb9431747e4d474734f5efd134aaeb9dabde09b01de603b1d1dc7aede883b1ef81266e067b0490726</hash>
+ <hash type="sha-256">96e6f8a6ee53231073b2f7003264872f84501e63c3da7bf0598d046286b0c200</hash>
+ <hash type="streebog-512">36ed46fda86b066635fa4a2223ab5e47493c48c0283ea4d983b751e811247a006a42b4cdfee5874f9d52a31fd4d5b5266befbd91ba4f5741fe4236a9d3ff79d1</hash>
+ <hash type="streebog-256">7eb4e020295b5e35dc1e9755b695841cf3235ce603c7a8d03424313a01e62476</hash>
+ <hash type="xxh3-128">37ca8c4719f89d9f410d7c145fe16df3</hash>
+ <size>8976</size>
+ <url>https://pwmt.org/projects/zathura-djvu/download/zathura-djvu-0.2.9.tar.xz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="zathura-pdf-mupdf-0.4.3.tar.xz">
+ <hash type="blake3-256">7bd327c39de8880a804cfff0119d7d8020b21ae7ebf6e67c08538a2a7922375b</hash>
+ <hash type="blake2b-512">e7a920b8afa11cf65ada343f461476cef13d1ede8d5c89ae181fd9db6b9ca4b3cb66d5f82e7428a02da991e8dcee482f98b8b100f1e126a5d8dbda37212cdf03</hash>
+ <hash type="blake2b-256">fcec58b5c2bfed9beebb807e66a75b7dc10ea15af89ba5273e95b5b3fa9662fa</hash>
+ <hash type="skein-512">78e77d92215a6f836ad27b413c724f7761cf7ae47a79b55a9900a5b4c7c58be86802c75894eb51ec65229661d1e991c80fa20699d5a8d6c3af354b11c49639b0</hash>
+ <hash type="shake128">b63e73370f2733916ebaf6678ab3c07382a43b2255809df25356cd38473249e8</hash>
+ <hash type="shake256">148c35bbc63bc93fb54ab1b4f9cfc12b5b8f529ab4c29fc14464fdd2078d1a89a91cb2c9401cb74558e2626ecb4edc6f89ebb1d9f522dc36af1c279368ee1f21</hash>
+ <hash type="sha-512">bfdaa8062ce61b708c0488dc2a5781055f86eab67d86b6c2b1b6775dfa569c20c14880d5f283896057fb5cb65af94778405d751d12b661cbc0ce0f5e9b716f03</hash>
+ <hash type="sha-256">8ccf84ee087ea72a8e88bb2f25a9c010baea261ceb52cc3f732abad25f776776</hash>
+ <hash type="streebog-512">2c96858279abe6c03ac4d058675e5a9a0fd5e7db4d9a98c16a914ce0153d799cdf790b75d2c108bf0bb68823f9d8fc21d6f40b624e71b04ed60099d168712849</hash>
+ <hash type="streebog-256">51e0645064c6b41fbbaf6e7ee36708b494cba2271bba77885ba485b27076bd9a</hash>
+ <hash type="xxh3-128">6596c9949e5cb14b22d14137405bc3b6</hash>
+ <size>9528</size>
+ <url>https://pwmt.org/projects/zathura-pdf-mupdf/download/zathura-pdf-mupdf-0.4.3.tar.xz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="zsh-5.9.tar.xz">
+ <hash type="blake3-256">b440cfbea634b5a684903656db8d8f8ff70a5657a4b479b9c256e9583adfeacc</hash>
+ <hash type="blake2b-512">3ecd6d080ff47b78d228d9bf5c1bafd3dfc602beb681ec533ce1039041d0e93143ebd7e0e73a9aed0789e27ca42d58a55f3b6e2c7d89113ab3ee99112dec46d1</hash>
+ <hash type="blake2b-256">f775e333b23810f5c171faf7cff88c08b4cbdde11c7a5e7e22e7ff212f64862c</hash>
+ <hash type="skein-512">828db1a05312d9fb9edc5cdce664610d8924e48e4c57ff2dac1a9fa980eadb75eb9aacb82a1a054c748b23634d1fa3a4171d9ee5e67e137743c723e899fec4e8</hash>
+ <hash type="shake128">7c2afff57d43413fb41aa0d04c52d1d39b33fccdaae8ee8067d146394505af6c</hash>
+ <hash type="shake256">2e62ebf81677b3e4c337276622f47de1bccd8c564f36ad6d804502b9de25eb525e66ca79769e631751da964efce0b53290ec757c2b7ac0376c4a90299927e704</hash>
+ <hash type="sha-512">d9138b7f379ad942a5f46819d2dd52d31f3a1129f2a0d1b53d4c5cd43c318b60396da6d37c57c477b8e958fb750209aca0ae93f8c9dd42ac958de006a0ff067e</hash>
+ <hash type="sha-256">9b8d1ecedd5b5e81fbf1918e876752a7dd948e05c1a0dba10ab863842d45acd5</hash>
+ <hash type="streebog-512">bd7924e2d45aebfd0fc16db75de89e95c48eca195898963edc84deb1a444aba50babe6087dc16b69ae124105697def66fad619e3f8333c21ac378c7bb032e838</hash>
+ <hash type="streebog-256">d8405fc48c4f48facf75cff00e42379fbd77a95b99a837c439e6eef0092df031</hash>
+ <hash type="xxh3-128">595daa90d2bd35af9f31de485756488e</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP SIGNATURE-----
+
+iQEzBAABCAAdFiEEfKfsqvBiFrkPiUFGrPgUbK6Mu8QFAmJ///QACgkQrPgUbK6M
+u8RgPgf+N/yJ+ltJouICaa8fYiYxN0uuYhCeBDVmHuPdwFBPl/Fa5npXkuvo2s/0
+1ho5VfuU08B856GcBpraeuNqN74WNaaZ1E2P8ZFFg1Uw3xjxyg1lqjvkJZrrYURm
+tZNoov33jeyKbyTaNxTHgIujyBE3Uu40wpLoIOL3jO4PV0useJyw1jj5CsnvhN1b
+3S4X99gre3J0SahNDTGltmCwtO/nL3uZh0+FYNagJMF9ZTV9/BQEjBlozBWU+sPa
+rBpbr9A4p/AY2GQti03EmP/HXicaX397aRlBqgfjSRkMJpvaDnVnuXY53uLVOKdW
+sg6FYiIrO54Q6bEzJV9JfhdvqQtU4A==
+=BNV9
+-----END PGP SIGNATURE-----
+]]></signature>
+ <size>3332400</size>
+ <url>https://www.zsh.org/pub/zsh-5.9.tar.xz</url>
+ </file>
+</metalink>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<metalink xmlns="urn:ietf:params:xml:ns:metalink">
+ <file name="zstd-1.5.5.tar.gz">
+ <hash type="blake3-256">1d5a2f321553b474179a3c88c00038b1b529087cf5f39fb47445b6b8558ed684</hash>
+ <hash type="blake2b-512">7680e27a0adacfb809d9fc81e06d3f99bf74df30374d3b5cb2d58f667dd1b7d5c41697e608592709e17c0e32277f20a6d615edee409b5d7cdcb15da2799a2350</hash>
+ <hash type="blake2b-256">c9a5be88d2f6db334630f49911f983ff9f6343ab7eeabfad8ddfb715c9279fc4</hash>
+ <hash type="skein-512">cd34b8be5feb1ca4d8dc1744123cc3114c6c5e03ab512757d62b3aa5912ea43cb80a52b4c7b119448262d2b749b5b98b09cd489b13fa1c7fb6ee179c7d90bf33</hash>
+ <hash type="shake128">e47837a927a7ef8a2c1989ebf536950147a415886a8533792c3a427264368806</hash>
+ <hash type="shake256">7ef2e1241c1fd12e649d33685534abae4b9ca9b89d888ab2f5f2198c353eacfa23374381e8f37c70ab25bbe2548ff9a200086a05bba8ceaee5992a417cf2261b</hash>
+ <hash type="sha-512">99109ec0e07fa65c2101c9cb36be56b672bbd0ee69d265f924718e61f9192ae8385c8d9e4d0c318be9edfa6d849fd3d60e5f164fa120961449429ea3c5dab6b6</hash>
+ <hash type="sha-256">9c4396cc829cfae319a6e2615202e82aad41372073482fce286fac78646d3ee4</hash>
+ <hash type="streebog-512">7eaeac032d699572a6339ad1f7a754f2c85afcdfa88d5fd2c2fc5b85262e95bf37d12cec23252ca92b012be8e4bf9a80f4db0bb3a587c219781a02a24ff43377</hash>
+ <hash type="streebog-256">1f239ac128e09915f86bcb4a722a03722d4994e295017a8e97a12d0ffb477840</hash>
+ <hash type="xxh3-128">d1687bcb46be4254cea4b3d83bc7c54b</hash>
+ <signature mediatype="application/pgp-signature"><![CDATA[
+-----BEGIN PGP SIGNATURE-----
+
+iQJFBAADCgAvFiEETvSsY0VfyfRUXZt974/plSi1L/0FAmQsotIRHHNpZ25pbmdA
+enN0ZC5uZXQACgkQ74/plSi1L/16Jg//RoYFnXQxQFDLy1I47fIGKzBn7U5YXeeT
+qbCfXqkv0Mr/XUW0z9eWXpKBTMIN+mARX/1gNiM7wIpb1jrah11ZJR6u3k5C/NFZ
+pqM/HNxDdAjV+C/t6/fgT8VcZEq1jDOI7BM7fZPhi5kLp7UgWmfZfePIF3qMtadp
+QewGQ9fzzc96XqNFycNZPRGHNVbj7YbT2tGK9RpiWDFbo23c8wuwibur7jX28jPQ
+6esAmGckzirb3lElByQ4oJwtVwP0lkAtFwJZx/E3EhCszrvnS2j+X+6DgF3Fhz3E
+7e9YCS5tF0wUr2WMhLeAAFbVYcKezYlLpym7KM5BX6LjAEbaX4eEx66KJECI0LYm
+HrPo33mBkJcUEX5sXs2P3QQ3phLOIg/TC9ECN7YORLoZca/nj1C7JgdIJ6VFHFZK
+4JMSO0DOxNiCuvDy+EU9EwCIKhfNTl/vlcyqMjrMJxZ9QO3bykcKUirsOgz8GpO7
+RwPupGog0E+pDv3GemSYn7kU+N2Vba4b/T/65WpssMJ4zC2z7jMFvEbeoyhKsV2m
+xClHq4bgk3Tt2WlUS9fH5DMramwhXKIncPsXNlg3rTqiik3GuE+56AijsE/CBAlo
+MHGAV/IvR2XIo+khZ5wIix15YW/WEbdxB4uT0CeKlBt+XXLTQ/kLAEI3o+IhA4EB
+jBu+O1qqDVI=
+=3yPb
+-----END PGP SIGNATURE-----
+]]></signature>
+ <size>2368543</size>
+ <url>https://github.com/facebook/zstd/releases/download/v1.5.5/zstd-1.5.5.tar.gz</url>
+ </file>
+</metalink>
--- /dev/null
+tmp=$(mktemp -d $TMPDIR/$NAME-build.XXXXXX)
+trap "rm -fr $tmp" HUP PIPE INT QUIT TERM EXIT
+cd $tmp
+mkdir local
--- /dev/null
+#!/bin/sh -e
+# Usage: cd $SKELBINS/$ARCH ; mk-pkg $namenhash >$SKELPKGS/$ARCH/$pkg
+# Create a skelpkg based on $namenhash directory. $namenhash directory
+# is forcefully fsync-ed to disk, because it could be already used by
+# other skels after that script exits. All its write permissions are
+# dropped. $namenhash is saved in "name", current commit revision is
+# saved in "buildinfo" and $namenhash in "bin", with corresponding
+# .meta4 checksum files. Resulting skelpkg it written to stdout.
+
+# Copyright (C) 2024 Sergey Matveev <stargrave@stargrave.org>
+# 2024 Elena Balakhonova <balakhonova.e.v@yandex.ru>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, version 3 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../..
+sname="$0" . "$BASS_ROOT"/lib/rc
+
+BASS_BIRTHTIME="2024-02-12 14:08:37"
+
+namenhash="$1"
+[ -d "$namenhash" ]
+shift
+
+[ -n "$BASS_NOSYNC" ] || find $namenhash -type f -or -type d -exec $FSYNC {} +
+
+tmp=$(mktemp -d $TMPDIR/$namenhash-mk-pkg.XXXXXX)
+trap "rm -fr $tmp" HUP PIPE INT QUIT TERM EXIT
+
+echo $namenhash | tee $tmp/name |
+ meta4ra-create -no-published -no-generator -hashes "$META4RA_HASHES" \
+ -fn name >$tmp/name.meta4
+cat >$tmp/buildinfo <<EOF
+$BASS_REV
+EOF
+meta4ra-create -no-published -no-generator -hashes "$META4RA_HASHES" \
+ -fn buildinfo <$tmp/buildinfo >$tmp/buildinfo.meta4
+
+# https://reproducible-builds.org/docs/archives/
+# bsdtar tries to use ustar format by default, adding pax-headers only
+# if ustar is incapable of storing something (very long names, big files).
+# Explicit pax format usage leads to atime/ctime fields inclusion.
+# Forced mtime date is birthtime of the BASS.
+chmod -R a-w $namenhash
+find $namenhash -exec touch -h -d "$BASS_BIRTHTIME" {} +
+find $namenhash -print0 | LC_ALL=C sort -z >$tmp/tar-list
+{
+ perl -0 -F/ -lane 'print if $F[1] eq "skelpkg"' $tmp/tar-list
+ perl -0 -F/ -lane 'print unless $F[1] eq "skelpkg"' $tmp/tar-list
+} >$tmp/tar-list-sorted
+mv $tmp/tar-list-sorted $tmp/tar-list
+{
+ $TAR cfTn - $tmp/tar-list --null --uid=0 --gid=0 --numeric-owner ||
+ touch $tmp/tar-pipe-failed
+} |
+{ $COMPRESSOR || touch $tmp/tar-pipe-failed ; } |
+{ tee $tmp/$namenhash || touch $tmp/tar-pipe-failed ; } |
+{ meta4ra-create -no-published -no-generator -fn $namenhash \
+ -hashes "$META4RA_HASHES" || touch $tmp/tar-pipe-failed
+} >$tmp/$namenhash.meta4
+[ ! -e $tmp/tar-pipe-failed ]
+
+cd $tmp
+mv $namenhash bin
+mv $namenhash.meta4 bin.meta4
+totar="name name.meta4 buildinfo buildinfo.meta4 bin.meta4 bin"
+chmod a-w $totar
+touch -h -d "$BASS_BIRTHTIME" $totar
+$TAR cf - --uid=0 --gid=0 --numeric-owner $totar
--- /dev/null
+#!/bin/sh -e
+# It is intended to be called by build/bin/pkg-inst.
+
+# Copyright (C) 2024 Sergey Matveev <stargrave@stargrave.org>
+# 2024 Elena Balakhonova <balakhonova.e.v@yandex.ru>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, version 3 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../..
+sname="$0" . "$BASS_ROOT"/lib/rc
+
+export PKG="$1"
+skelpkg="$SKELPKGS"/$ARCH/$PKG
+[ -s "$skelpkg" ] || skelpkg="$SKELPKGS"/$ARCH/$(basename $PKG)
+[ -s "$skelpkg" ] || {
+ echo Does not exist "$SKELPKGS"/$ARCH/$PKG >&2
+ exit 1
+}
+
+export NAMENHASH=$($TAR xfO $skelpkg name)
+[ -n "$NAMENHASH" ] || {
+ echo Bad skelpkg format, no name >&2
+ exit 1
+}
+export DST="$PWD" NAMENHASH="$NAMENHASH"
+if [ -d "$SKELBINS"/$ARCH/$NAMENHASH ] ; then
+ [ -n "$REDO_BUILD_UUID" ] || echo skelbining $NAMENHASH... >&2
+else
+ [ -n "$REDO_BUILD_UUID" ] || echo skelpkging $NAMENHASH... >&2
+ mkdir -p "$SKELBINS"/$ARCH/tmp
+ tmp=$(mktemp -d "$SKELBINS"/$ARCH/tmp/$NAMENHASH.XXXXXX)
+ trap "$BASS_ROOT/bin/rm-r $tmp" HUP PIPE INT QUIT TERM EXIT
+ cd $tmp
+ $TAR xf $skelpkg bin.meta4
+ $TAR xfO $skelpkg bin | {
+ meta4ra-check -hashes "$META4RA_HASHES" -pipe -meta4 bin.meta4 $NAMENHASH ||
+ touch untar-failed
+ } | $TAR xf - || touch untar-failed
+ [ ! -e untar-failed ]
+ rm -f $fn.meta4
+ find $tmp/$namenhash -type f -or -type d -exec $FSYNC {} +
+ chmod +w $tmp/$NAMENHASH
+ mv $tmp/$NAMENHASH "$SKELBINS"/$ARCH/$NAMENHASH ||
+ [ -d "$SKELBINS"/$ARCH/$NAMENHASH ]
+ chmod -w "$SKELBINS"/$ARCH/$NAMENHASH
+fi
+cd $DST
+mkdir -p skelpkgs/$PKG
+PATH="local/bin:$PATH"
+"$BASS_ROOT"/build/lib/runhook preinst
+if command -v stow >/dev/null 2>/dev/null ; then
+ stow -d "$SKELBINS"/$ARCH -t $DST/local $NAMENHASH
+else
+ touch non-stowed
+fi
+"$BASS_ROOT"/build/lib/runhook postinst
+cd skelpkgs/$PKG
+_namenhash=$(mktemp $NAMENHASH.XXXXXX)
+echo $NAMENHASH >$_namenhash
+$FSYNC $_namenhash
+mv $_namenhash namenhash
--- /dev/null
+#!/bin/sh -e
+# It is intended to be called by build/bin/pkg-rm.
+
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../..
+sname="$0" . "$BASS_ROOT"/lib/rc
+
+export PKG="$1"
+export NAMENHASH=$(cat skelpkgs/$PKG/namenhash)
+[ -n "$PKG" ] && [ -n "$NAMENHASH" ] && [ -d "$SKELBINS/$ARCH/$NAMENHASH" ]
+export DST="$PWD"
+"$BASS_ROOT"/build/lib/runhook prerm
+stow -d "$SKELBINS"/$ARCH -t $DST/local -D $NAMENHASH || :
+"$BASS_ROOT"/build/lib/runhook postrm
+rm -r skelpkgs/$PKG
--- /dev/null
+#!/bin/sh -e
+# Usage: cd $SKELBINS/$ARCH ; prepare-postinst-010-deref NAME
+# Run cp-deref on local/NAME after installation.
+
+namenhash="$1"
+[ -n "$namenhash" ]
+shift
+[ $# -gt 0 ] || exit 0
+postinst="$namenhash/skelpkg/$namenhash/hooks/postinst"
+mkdir -p "$postinst"
+cat >$postinst/010-deref <<EOF
+#!/bin/sh -e
+cd local
+EOF
+for name in $@ ; do
+ echo "\$BASS_ROOT/bin/cp-deref $name" >>$postinst/010-deref
+done
+chmod +x $postinst/010-deref
--- /dev/null
+#!/bin/sh -e
+# Usage: cd $SKELBINS/$ARCH ; prepare-preinst-010-rdeps NAME-hsh rdep0 [rdep1 ...]
+# Create and prepare skelpkg/$namenhash/hooks/preinst/010-rdeps hook
+# with pkg-inst command to install specified rdep-s.
+
+namenhash="$1"
+[ -n "$namenhash" ]
+shift
+[ $# -gt 0 ] || exit 0
+preinst="$namenhash/skelpkg/$namenhash/hooks/preinst"
+mkdir -p "$preinst"
+cat >$preinst/010-rdeps <<EOF
+#!/bin/sh -e
+exec "\$BASS_ROOT"/build/bin/pkg-inst $@
+EOF
+chmod +x $preinst/010-rdeps
--- /dev/null
+#!/bin/sh -e
+# It is intended to be called by build/bin/pkg-{inst,rm}.
+# Runs a specified hook inside skelenv, touching corresponding .done file.
+
+export hook="$1"
+[ -n "$PKG" ] && [ -n "$NAMENHASH" ] && [ -n "$hook" ] && [ -n "$BASS_ROOT" ] && [ -n "$DST" ]
+hookdir="$SKELBINS"/$ARCH/$NAMENHASH/skelpkg/$NAMENHASH/hooks/$hook
+[ -d "$hookdir" ] || exit 0
+[ ! -e skelpkgs/$PKG/$hook.done ] || exit 0
+find "$hookdir" -mindepth 1 -maxdepth 1 -type f -perm -u=x |
+sed "s#^.*/##" | sort -n |
+while read step ; do
+ "$hookdir"/$step || {
+ echo "Failed $step ($?)" >&2
+ exit 1
+ }
+done
+touch skelpkgs/$PKG/$hook.done
--- /dev/null
+zip-hash utility prints the Go's .zip module "ziphash" value,
+its deterministically calculated checksum.
--- /dev/null
+module rnd.stcnet.ru/zip-hash
+
+go 1.22.1
+
+require golang.org/x/mod v0.16.0
--- /dev/null
+golang.org/x/mod v0.16.0 h1:QX4fJ0Rr5cPQCF7O9lh9Se4pmwfwskqZfq5moyldzic=
+golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
--- /dev/null
+package main
+
+import (
+ "log"
+ "os"
+
+ "golang.org/x/mod/sumdb/dirhash"
+)
+
+func main() {
+ hsh, err := dirhash.HashZip(os.Args[1], dirhash.DefaultHash)
+ if err != nil {
+ log.Fatal(err)
+ }
+ os.Stdout.WriteString(hsh + "\n")
+}
--- /dev/null
+GOPROXY=direct go build -ldflags=-s -o $3
--- /dev/null
+#!/bin/sh -e
+# Usage: cp-arch DST [.../]ARCH
+# Copy all missing or differing skelpkgs from $BASS_ROOT/build/pkg/$ARCH
+# to $DST/$ARCH. It is intended to copy skelpkgs from build machine to
+# NFS shared directory.
+
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../..
+sname="$0" . "$BASS_ROOT"/lib/rc
+
+dst="$(realpath -- "$1")"
+[ -d "$dst" ]
+arch="$(basename -- "$2")"
+[ -n "$arch" ]
+
+tmp=$(mktemp -d ${TMPDIR:-/tmp}/cp-arch.XXXXXX)
+trap "rm -fr $tmp" HUP PIPE INT QUIT TERM EXIT
+
+cd "$(dirname "$(realpath -- "$0")")"/$arch
+mkdir -p "$dst"/$arch
+find . -type f -and -not -name "*.do" -and -not -path "*/.redo/*" | while read pkg ; do
+ base=$(basename $pkg)
+ if [ -s "$dst"/$arch/$base ] ; then
+ oursize=$("$BASS_ROOT"/bin/filessize $pkg)
+ theirsize=$("$BASS_ROOT"/bin/filessize "$dst"/$arch/$base)
+ if [ "$oursize" -eq "$theirsize" ] ; then
+ meta4ra-hash -hashes "$META4RA_HASHES" <$pkg >$tmp/hshour &
+ meta4ra-hash -hashes "$META4RA_HASHES" <"$dst"/$arch/$base >$tmp/hshtheir &
+ wait
+ read hshour <$tmp/hshour
+ read hshtheir <$tmp/hshtheir
+ [ "$hshour" != "$hshtheir" ] || continue
+ fi
+ fi
+ echo $pkg ...
+ tmppkg=$(mktemp "$dst"/$arch/$base.XXXXXX)
+ cp $pkg "$tmppkg" || rm -f "$tmppkg"
+ $FSYNC "$tmppkg" || rm -f "$tmppkg"
+ mv "$tmppkg" "$dst"/$arch/$base || rm -f "$tmppkg"
+done
--- /dev/null
+#!/bin/sh -e
+# Usage: mk-arch [ARCH]
+# Create specified $BASS_ROOT/build/pkg/$ARCH directory and fill it with all
+# skels from $BASS_ROOT/build/skel, by hardlinking them into.
+
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../..
+sname="$0" . "$BASS_ROOT"/lib/rc
+[ -z "$1" ] || ARCH="$1"
+mkdir -p "$BASS_ROOT"/build/pkg/$ARCH
+cd "$BASS_ROOT"/build/pkg/$ARCH
+(
+ cd "$BASS_ROOT"/build/skel
+ find . -type d -and -not -name .redo
+) | xargs mkdir -p
+cd "$BASS_ROOT"/build/skel
+find . -type f -name "*.do" -and -not -path "./.redo/*" | while read fn ; do
+ if [ -r "$BASS_ROOT"/build/pkg/$ARCH/$fn ] ; then continue ; fi
+ echo $fn
+ ln -f $fn "$BASS_ROOT"/build/pkg/$ARCH/$fn
+done
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+! uname -a | grep -q astra || bdeps="$bdeps gcc-8.5.0"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix "$SKELBINS"/$ARCH/$NAME-$hsh >&2
+make -j$MAKE_JOBS >&2
+make install-strip >&2
+rm "$SKELBINS"/$ARCH/$NAME-$hsh/share/info/dir
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+ver=1.5.5
+bdeps="rc-paths stow devel/gmake-4.4.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME-$ver.tar.gz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME-$ver.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$ver-$hsh
+
+cd $NAME-$ver
+CFLAGS="-O3 $CFLAGS" gmake -j$MAKE_JOBS >&2
+gmake install PREFIX="$SKELBINS"/$ARCH/$NAME-$ver-$hsh >&2
+
+cd "$SKELBINS"/$ARCH
+COMPRESSOR=gzip "$BASS_ROOT"/build/lib/mk-pkg $NAME-$ver-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1 devel/nasm-2.16.01"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh --disable-doc >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.bz2
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.bz2
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh --disable-full-suite >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+rdeps="multimedia/libogg-1.3.5"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh \
+ --enable-deep-plc --enable-osce >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+rdeps="audio/libopusenc-0.2.1 audio/opusfile-0.12"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+rdeps="multimedia/libogg-1.3.5 audio/opus-1.5.2"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh --disable-http >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+rdeps="audio/libsndfile-1.0.31 graphics/libpng-1.6.43"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.bz2 $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.bz2
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+rdeps="audio/libvorbis-1.3.7"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.xz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.xz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+# Check if we are in pkg/... hierarchy
+export SKELSUBNAME="${PWD#*"$(realpath $SKELPKGS/$ARCH)"}"
+if [ "$SKELSUBNAME" = "$PWD" ] ; then
+ cat >&2 <<EOF
+You must run skel inside pkg/\$ARCH directory.
+Look at pkg/mk-arch for example, then: redo pkg/\$ARCH/\$SKEL
+EOF
+ exit 1
+fi
+SKELSUBNAME=${SKELSUBNAME#/}
+export SKELFULLNAME=$1
+[ "$SKELSUBNAME" = "" ] || SKELFULLNAME="$SKELSUBNAME/$1"
+
+cd $SKELPKGS/$ARCH
+[ -s $SKELFULLNAME.do ] # assert that SKELFULLNAME exists
+
+if [ -s prebuilt/$SKELFULLNAME ] ; then
+ echo Using prebuilt/$SKELFULLNAME >&2
+ cd $SKELPKGS/$ARCH/$SKELSUBNAME
+ ln $SKELPKGS/$ARCH/prebuilt/$SKELFULLNAME $3
+ exit 0
+fi
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd lang/go1.22.4"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.zst "$DISTFILES"/$NAME-modcache
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.zst
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+cd cmd/age
+go build -ldflags=-s >&2
+cd ../age-keygen
+go build -ldflags=-s >&2
+cd ..
+mkdir -p "$SKELBINS"/$ARCH/$NAME-$hsh/bin
+mv age/age age-keygen/age-keygen "$SKELBINS"/$ARCH/$NAME-$hsh/bin
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd BLAKE3-team-BLAKE3-5aa53f0/c
+mkdir -p "$SKELBINS"/$ARCH/$NAME-$hsh/bin/bin
+cc -s -fPIC -O3 -o "$SKELBINS"/$ARCH/$NAME-$hsh/bin/bin/b3sum \
+ example.c blake3.c blake3_dispatch.c blake3_portable.c \
+ blake3_sse2_x86-64_unix.S \
+ blake3_sse41_x86-64_unix.S \
+ blake3_avx2_x86-64_unix.S \
+ blake3_avx512_x86-64_unix.S ||
+{
+ cc -c -fPIC -O3 -msse2 -o blake3_sse2.o blake3_sse2.c
+ cc -c -fPIC -O3 -msse4.1 -o blake3_sse41.o blake3_sse41.c
+ cc -c -fPIC -O3 -mavx2 -o blake3_avx2.o blake3_avx2.c
+ cc -c -fPIC -O3 -mavx512f -mavx512vl -o blake3_avx512.o blake3_avx512.c
+ cc -s -fPIC -static -O3 -o "$SKELBINS"/$ARCH/$NAME-$hsh/bin/bin/b3sum \
+ example.c blake3.c blake3_dispatch.c blake3_portable.c \
+ blake3_avx2.o blake3_avx512.o blake3_sse41.o blake3_sse2.o
+}
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+rdeps="
+crypto/libgpg-error-1.49
+crypto/libassuan-2.5.7
+crypto/libksba-1.6.6
+crypto/libgcrypt-1.10.3
+crypto/npth-1.7
+crypto/gnutls-3.7.10
+crypto/pinentry-1.3.0
+"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.bz2 $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.bz2
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+rm "$SKELBINS"/$ARCH/$NAME-$hsh/share/info/dir
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+rdeps="crypto/nettle-3.9.1 dns/libidn2-2.3.7"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.xz $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.xz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh --without-tpm >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+rm "$SKELBINS"/$ARCH/$NAME-$hsh/share/info/dir
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd lang/go1.22.4"
+redo-ifchange $bdeps "$DISTFILES"/$NAME-modcache
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+mkdir -p "$SKELBINS"/$ARCH/$NAME-$hsh/bin
+export GOBIN="$SKELBINS"/$ARCH/$NAME-$hsh/bin
+go install go.stargrave.org/gosha3/cmd/goshake128@v1.0.0
+go install go.stargrave.org/gosha3/cmd/goshake256@v1.0.0
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+rdeps="crypto/gnupg-2.4.5"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.bz2 $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.bz2
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+rm "$SKELBINS"/$ARCH/$NAME-$hsh/share/info/dir
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+deps="
+crypto/b3sum-1.5.0
+crypto/xxhash-v0.8.2
+crypto/gosha3-v1.0.0
+"
+redo-ifchange $deps
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+mkdir -p "$SKELBINS"/$ARCH/$NAME-$hsh
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $deps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.bz2
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.bz2
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh --enable-static >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+rm "$SKELBINS"/$ARCH/$NAME-$hsh/share/info/dir
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+rdeps="crypto/libgpg-error-1.49"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.bz2 $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.bz2
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh \
+ --disable-amd64-as-feature-detection --enable-static >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+rm "$SKELBINS"/$ARCH/$NAME-$hsh/share/info/dir
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.bz2
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.bz2
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh --enable-static >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+rm "$SKELBINS"/$ARCH/$NAME-$hsh/share/info/dir
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+rdeps="crypto/libgpg-error-1.49"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.bz2 $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.bz2
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh --enable-static >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+rm "$SKELBINS"/$ARCH/$NAME-$hsh/share/info/dir
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/gmake-4.4.1 devel/pkgconf-2.1.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh --disable-openssl >&2
+gmake -j$MAKE_JOBS >&2
+gmake install >&2
+
+cd "$SKELBINS"/$ARCH
+rm "$SKELBINS"/$ARCH/$NAME-$hsh/share/info/dir
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.bz2
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.bz2
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh --enable-static >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd lang/perl-5.32.1 devel/pkgconf-2.1.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./config --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+make -j$MAKE_JOBS >&2
+make install_sw >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+rdeps="
+devel/ncurses-6.4
+crypto/libgpg-error-1.49
+crypto/libassuan-2.5.7
+"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.bz2 $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.bz2
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh \
+ --disable-pinentry-gtk2 \
+ --disable-pinentry-gnome \
+ --disable-pinentry-qt \
+ --disable-pinentry-tqt \
+ --disable-pinentry-efl \
+ --disable-pinentry-fltk \
+ --enable-pinentry-curses >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+rm "$SKELBINS"/$ARCH/$NAME-$hsh/share/info/dir
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/gmake-4.4.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd Cyan4973-xxHash-bbb27a5
+gmake -j$MAKE_JOBS >&2
+mkdir -p "$SKELBINS"/$ARCH/$NAME-$hsh/bin
+cp -P xxhsum xxh32sum xxh64sum xxh128sum "$SKELBINS"/$ARCH/$NAME-$hsh/bin
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd"
+rdeps="sysutils/daemontools-encore-1.11"
+redo-ifchange $bdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+mkdir -p "$SKELBINS"/$ARCH/$NAME-$hsh/service/db/log/main
+cd "$SKELBINS"/$ARCH/$NAME-$hsh/service/db
+cat >log/run <<EOF
+#!/bin/sh -e
+exec multilog t s999999 n100 ./main
+EOF
+cat >run <<EOF
+#!/bin/sh -e
+exec 2>&1
+exec postgres -D data
+EOF
+chmod +x log/run run
+touch down
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/prepare-postinst-010-deref $NAME-$hsh service/db
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+rdeps="devel/libedit-20230828-3.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.bz2
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.bz2
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+rm "$SKELBINS"/$ARCH/$NAME-$hsh/share/info/dir
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+# PostGIS loves to install itself directly to PostgreSQL,
+# so that is why this is combined skel
+
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="
+rc-paths
+stow
+archivers/zstd
+devel/gmake-4.4.1
+devel/pkgconf-2.1.1
+textproc/libxml2-2.9.14
+"
+! uname -v | grep -q astra || bdeps="$bdeps lang/gcc-8.5.0"
+rdeps="
+graphics/gdal-2.4.4
+graphics/geos-3.12.1
+graphics/proj-4.9.3
+devel/libedit-20230828-3.1
+"
+uname -v | grep -q astra || rdeps="$rdeps textproc/libxml2-2.9.14"
+redo-ifchange $bdeps $rdeps \
+ "$DISTFILES"/postgresql-11.22.tar.bz2 \
+ "$DISTFILES"/postgis-2.5.9.tar.gz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+$TAR xf "$DISTFILES"/postgresql-11.22.tar.bz2
+$TAR xf "$DISTFILES"/postgis-2.5.9.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd postgresql-11.22
+./configure --with-libedit-preferred --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd contrib/hstore
+gmake -j$MAKE_JOBS >&2
+gmake install >&2
+cd ../..
+
+cd ../postgis-2.5.9
+./configure \
+ --prefix="$SKELBINS"/$ARCH/$NAME-$hsh \
+ --disable-nls \
+ --with-pgconfig="$SKELBINS"/$ARCH/$NAME-$hsh/bin/pg_config \
+ --with-xml2config=$tmp/local/bin/xml2-config \
+ --with-geosconfig=$tmp/local/bin/geos-config \
+ --with-gdalconfig=$tmp/local/bin/gdal-config \
+ --with-projdir=$tmp/local >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+rm "$SKELBINS"/$ARCH/$NAME-$hsh/share/info/dir
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+rdeps="databases/xapian-core-1.4.25"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+tar xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh \
+ --disable-qtgui \
+ --enable-recollq \
+ --disable-python-module \
+ --without-aspell \
+ --disable-python-aspell >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh --disable-encryption >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+rm "$SKELBINS"/$ARCH/$NAME-$hsh/share/info/dir
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1 lang/tcl8.6.14"
+redo-ifchange $bdeps "$DISTFILES"/sqlite-src-3450100.zip
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+unzip "$DISTFILES"/sqlite-src-3450100.zip >&2
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd sqlite-src-3450100
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh \
+ --with-pic --disable-tcl --disable-editline --disable-readline >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.xz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+tar xf "$DISTFILES"/$NAME.tar.xz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/gmake-4.4.1 devel/pkgconf-2.1.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+gmake -j$MAKE_JOBS >&2
+gmake install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+deps="autoconf-2.72 automake-1.16.5 libtool-2.4.7"
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+rdeps="lang/gm4-1.4.19 lang/perl-5.32.1"
+for dep in $deps ; do echo "$DISTFILES"/$dep.tar.xz ; done | xargs redo-ifchange
+redo-ifchange $bdeps $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+for dep in $deps ; do $TAR xf "$DISTFILES"/$dep.tar.xz ; done
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+PATH="$SKELBINS/$ARCH/$NAME-$hsh/bin:$PATH"
+for dep in $deps ; do
+ cd $tmp/$dep
+ ./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+ make -j$MAKE_JOBS >&2
+ make install >&2
+done
+rm "$SKELBINS"/$ARCH/$NAME-$hsh/share/info/dir
+perl -i -npe "s#$tmp/local/bin/perl#/usr/bin/env perl#g" \
+ "$SKELBINS"/$ARCH/$NAME-$hsh/bin/*
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+! uname -v | grep -q astra || rdeps="$rdeps lang/gcc-8.5.0"
+bdeps="rc-paths stow archivers/zstd textproc/icu4c-63 devel/pkgconf-2.1.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.bz2 $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.bz2
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./bootstrap.sh --with-libraries=program_options,random,thread,filesystem,regex \
+ --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+./b2 >&2
+./b2 install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd"
+rdeps="devel/pkgconf-2.1.1 crypto/openssl-1.1.1w"
+! uname -v | grep -q astra || rdeps="$rdeps lang/gcc-8.5.0"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+tar xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+uv_flags=""
+if uname -a | grep -q BSD ; then uv_flags="--bootstrap-system-libuv" ; fi
+OPENSSL_ROOT_DIR=$tmp/local ./bootstrap \
+ --prefix="$SKELBINS"/$ARCH/$NAME-$hsh --parallel=$MAKE_JOBS $uv_flags >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/gmake-4.4.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+gmake CC=cc WITHOUT_GETTEXT=1 >&2
+mkdir -p "$SKELBINS"/$ARCH/$NAME-$hsh/bin
+mv getopt "$SKELBINS"/$ARCH/$NAME-$hsh/bin
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/gmake-4.4.1 devel/pkgconf-2.1.1"
+rdeps="lang/perl-5.32.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.xz $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.xz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+export NO_CURL=1 NO_OPENSSL=1 NO_GETTEXT=1 NO_TCLTK=1
+gmake -j$MAKE_JOBS prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+gmake prefix="$SKELBINS"/$ARCH/$NAME-$hsh install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="
+rc-paths
+stow
+archivers/zstd
+devel/gmake-4.4.1
+devel/pkgconf-2.1.1
+textproc/xmlto-0.0.26
+"
+rdeps="
+lang/perl-5.32.1
+www/curl-with-tls-8.7.1
+crypto/nettle-3.9.1
+devel/pcre2-10.44
+"
+ver=${NAME#git-full-}
+redo-ifchange $bdeps "$DISTFILES"/git-$ver.tar.xz $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+$TAR xf "$DISTFILES"/git-$ver.tar.xz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd git-$ver
+export USE_LIBPCRE=1 BLK_SHA1=1 NETTLE_SHA256=1 NO_TCLTK=1
+gmake -j$MAKE_JOBS prefix="$SKELBINS"/$ARCH/$NAME-$hsh all doc >&2
+gmake prefix="$SKELBINS"/$ARCH/$NAME-$hsh install install-doc >&2
+cp contrib/git-jump/git-jump "$SKELBINS"/$ARCH/$NAME-$hsh/bin
+cd contrib/diff-highlight
+gmake >&2
+{
+ echo "#!/usr/bin/env perl"
+ sed -n '2,$p' <diff-highlight
+} >"$SKELBINS"/$ARCH/$NAME-$hsh/bin/diff-highlight
+chmod +x "$SKELBINS"/$ARCH/$NAME-$hsh/bin/diff-highlight
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/gmake-4.4.1 devel/pkgconf-2.1.1"
+rdeps="lang/perl-5.32.1"
+ver=${NAME#git-minimal-}
+redo-ifchange $bdeps "$DISTFILES"/git-$ver.tar.xz $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+$TAR xf "$DISTFILES"/git-$ver.tar.xz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd git-$ver
+export NO_CURL=1 NO_OPENSSL=1 NO_GETTEXT=1 NO_TCLTK=1
+gmake -j$MAKE_JOBS prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+gmake prefix="$SKELBINS"/$ARCH/$NAME-$hsh install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd ${NAME#g}
+./configure --prefix "$SKELBINS"/$ARCH/$NAME-$hsh --disable-nls >&2
+make -j$MAKE_JOBS >&2
+make install-strip >&2
+rm -r "$SKELBINS"/$ARCH/$NAME-$hsh/share
+mv "$SKELBINS"/$ARCH/$NAME-$hsh/bin/make "$SKELBINS"/$ARCH/$NAME-$hsh/bin/gmake
+
+cd "$SKELBINS"/$ARCH
+COMPRESSOR=gzip "$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd lang/go1.22.4"
+redo-ifchange $bdeps "$DISTFILES"/golang.org-x-tools-0.18.0-modcache
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+mkdir -p "$SKELBINS"/$ARCH/$NAME-$hsh
+GOBIN="$SKELBINS"/$ARCH/$NAME-$hsh/bin go install -ldflags=-s \
+ golang.org/x/tools/cmd/stringer@v0.18.0
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd lang/go1.22.4"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.zst
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.zst
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME/src
+go build -mod=vendor -ldflags=-s
+mkdir -p "$SKELBINS"/$ARCH/$NAME-$hsh/bin
+mv goredo "$SKELBINS"/$ARCH/$NAME-$hsh/bin
+cd "$SKELBINS"/$ARCH/$NAME-$hsh/bin
+REDO_BUILD_UUID= ./goredo -symlinks >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/cmake-3.28.3 devel/pkgconf-2.1.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.zst
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+tar xf "$DISTFILES"/$NAME.tar.zst
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+mkdir build
+cd build
+cmake -DCMAKE_INSTALL_PREFIX="$SKELBINS"/$ARCH/$NAME-$hsh -DBUILD_DOCS=off .. >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+rdeps="devel/ncurses-6.4"
+redo-ifchange $bdeps $rdeps "$DISTFILES"/$NAME.tar.gz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh --disable-examples >&2
+make -j$MAKE_JOBS >&2
+make install-strip >&2
+rm -r "$SKELBINS"/$ARCH/$NAME-$hsh/share
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME-stable
+./configure --disable-openssl --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+make -j$MAKE_JOBS >&2
+make install-strip >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh --disable-nls >&2
+make >&2
+make install-strip >&2
+rm -r "$SKELBINS"/$ARCH/$NAME-$hsh/share/doc
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/gmake-4.4.1 devel/pkgconf-2.1.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.zst
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.zst
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+export PREFIX="$SKELBINS"/$ARCH/$NAME-$hsh
+gmake -j$MAKE_JOBS >&2
+gmake install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/gmake-4.4.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.xz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.xz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+gmake -j$MAKE_JOBS >&2
+gmake install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --with-shared --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+make >&2
+make install.progs >&2
+make install.libs >&2
+make install.data >&2
+
+cd "$SKELBINS"/$ARCH
+mkdir -p $NAME-$hsh/skelpkg/$NAME-$hsh/hooks/postinst
+cat >$NAME-$hsh/skelpkg/$NAME-$hsh/hooks/postinst/01rc-add <<EOF
+#!/bin/sh -e
+_localpath="\$(realpath local)"
+echo export CFLAGS=\"-I\$_localpath/include/ncurses \\\$CFLAGS\" >>rc
+EOF
+chmod +x $NAME-$hsh/skelpkg/$NAME-$hsh/hooks/postinst/01rc-add
+
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/cmake-3.28.3"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.zst
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.zst
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+mkdir build
+cd build
+cmake .. >&2
+cmake --build . --parallel >&2
+mkdir -p "$SKELBINS"/$ARCH/$NAME-$hsh/bin
+mv ninja "$SKELBINS"/$ARCH/$NAME-$hsh/bin
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.bz2
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.bz2
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh --enable-jit >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.xz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.xz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+make -j$MAKE_JOBS >&2
+make install-strip >&2
+
+cd "$SKELBINS"/$ARCH
+mkdir -p $NAME-$hsh/skelpkg/$NAME-$hsh/hooks/postinst
+cat >$NAME-$hsh/skelpkg/$NAME-$hsh/hooks/postinst/01rc-add <<EOF2
+#!/bin/sh -e
+_localpath="\$(realpath local)"
+cat >>rc <<EOF
+export PKG_CONFIG_PATH="\$_localpath/lib/pkgconfig:\\\$PKG_CONFIG_PATH"
+export PKG_CONFIG_PATH="\$_localpath/libdata/pkgconfig:\\\$PKG_CONFIG_PATH"
+EOF
+EOF2
+chmod +x $NAME-$hsh/skelpkg/$NAME-$hsh/hooks/postinst/01rc-add
+
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd felipec-sharness-d8641ec
+make install prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+
+cd "$SKELBINS"/$ARCH
+mkdir -p $NAME-$hsh/skelpkg/$NAME-$hsh/hooks/postinst
+cat >$NAME-$hsh/skelpkg/$NAME-$hsh/hooks/postinst/01rc-add <<EOF
+#!/bin/sh -e
+_localpath="\$(realpath local)"
+echo export SHARNESS_TEST_SRCDIR="\$_localpath/local/share/sharness" >>rc
+EOF
+chmod +x $NAME-$hsh/skelpkg/$NAME-$hsh/hooks/postinst/01rc-add
+
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.zst
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.zst
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+make -j$MAKE_JOBS >&2
+mkdir -p "$SKELBINS"/$ARCH/$NAME-$hsh/bin
+mv dq dqcache dqcache-makekey dqcache-start "$SKELBINS"/$ARCH/$NAME-$hsh/bin
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+rm "$SKELBINS"/$ARCH/$NAME-$hsh/share/info/dir
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+rdeps="graphics/freetype-2.9.1 graphics/libpng-1.6.43 graphics/pixman-0.40.0"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.xz $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+tar xf "$DISTFILES"/$NAME.tar.xz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+rm -r $NAME-$hsh/share
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/gmake-4.4.1 devel/pkgconf-2.1.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+gmake -j$MAKE_JOBS >&2
+gmake install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/gmake-4.4.1 devel/pkgconf-2.1.1"
+rdeps="graphics/libpng-1.6.43"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.bz2 $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+tar xf "$DISTFILES"/$NAME.tar.bz2
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh \
+ --enable-static --disable-renaming --enable-icu-config >&2
+gmake -j$MAKE_JOBS >&2
+gmake install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/gmake-4.4.1 devel/pkgconf-2.1.1"
+! uname -v | grep -q astra || bdeps="$bdeps lang/gcc-8.5.0"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --without-libtool --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+gmake -j$MAKE_JOBS >&2
+gmake install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/cmake-3.28.3 devel/pkgconf-2.1.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.bz2
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.bz2
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+mkdir build
+cd build
+cmake -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX="$SKELBINS"/$ARCH/$NAME-$hsh .. >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/gmake-4.4.1 devel/pkgconf-2.1.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+tar xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+gmake -j$MAKE_JOBS >&2
+gmake install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/gmake-4.4.1 devel/pkgconf-2.1.1"
+rdeps="graphics/freetype-2.9.1 textproc/icu4c-63"
+! uname -v | grep -q astra || bdeps="$bdeps gcc-8.5.0"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.xz $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+tar xf "$DISTFILES"/$NAME.tar.xz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh --enable-static >&2
+gmake -j$MAKE_JOBS >&2
+gmake install >&2
+rm -r "$SKELBINS"/$ARCH/$NAME-$hsh/share
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+rdeps="
+graphics/freetype-2.9.1
+graphics/libpng-1.6.43
+graphics/libjpeg-turbo-1.5.2
+graphics/libjxl-v0.10-snapshot-179-gcdb6a667
+graphics/libavif-v1.0.0-535-g7fbc20c
+graphics/libwebp-1.4.0
+"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.xz $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.xz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/cmake-3.28.3 devel/pkgconf-2.1.1"
+rdeps="
+multimedia/dav1d-1.4.2-8-gda2cc78
+graphics/libjpeg-turbo-1.5.2
+graphics/libpng-1.6.43
+multimedia/svt-av1-v2.1.0-12-gfcf56491
+"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.zst
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.zst
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+mkdir build
+cd build
+cmake \
+ -DAVIF_LIBYUV=LOCAL \
+ -DAVIF_CODEC_DAV1D=SYSTEM \
+ -DAVIF_CODEC_SVT=SYSTEM \
+ -DCMAKE_INSTALL_PREFIX="$SKELBINS"/$ARCH/$NAME-$hsh \
+ -DAVIF_BUILD_APPS=1 .. >&2
+cmake --build . >&2
+cmake --build . --target install --config Release >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/nasm-2.16.01"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+make -j$MAKE_JOBS >&2
+make install-strip >&2
+rm -r "$SKELBINS"/$ARCH/$NAME-$hsh/share
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="
+rc-paths
+stow
+archivers/zstd
+devel/cmake-3.28.3
+devel/ninja-v1.12.1
+devel/pkgconf-2.1.1
+"
+rdeps="graphics/libavif-v1.0.0-535-g7fbc20c graphics/libwebp-1.4.0"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.zst $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.zst --options read_concatenated_archives
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+mkdir build
+cd build
+cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF \
+ -DCMAKE_INSTALL_PREFIX="$SKELBINS"/$ARCH/$NAME-$hsh .. >&2
+cmake --build . --parallel >&2
+ninja install >&2
+
+cd "$SKELBINS"/$ARCH
+rm -r $NAME-$hsh/share
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.xz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+tar xf "$DISTFILES"/$NAME.tar.xz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh \
+ --disable-tests --disable-tools >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+rm -r "$SKELBINS"/$ARCH/$NAME-$hsh/share
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+rdeps="graphics/libjpeg-turbo-1.5.2 graphics/libpng-1.6.43"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="
+rc-paths
+stow
+archivers/zstd
+devel/gmake-4.4.1
+devel/pkgconf-2.1.1
+devel/boost_1_74_0
+"
+rdeps="
+textproc/icu4c-63
+graphics/freetype-2.9.1
+graphics/harfbuzz-8.5.0
+graphics/libpng-1.6.43
+databases/postgresql-11.22_and_postgis-2.5.9
+"
+! uname -v | grep -q astra || bdeps="$bdeps gcc-8.5.0"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.bz2 $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+tar xf "$DISTFILES"/$NAME.tar.bz2
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+# sed -i.tmp 's/\(" -std=c++\)14/\117/' SConstruct # for ICU 7x
+unset JOBS # it collides with BASS'es JOBS
+python scons/scons.py configure PREFIX="$SKELBINS"/$ARCH/$NAME-$hsh \
+ CUSTOM_CFLAGS="$CFLAGS" CUSTOM_CXXFLAGS="$CFLAGS" CUSTOM_LDFLAGS="$LDFLAGS" >&2
+JOBS=$MAKE_JOBS gmake >&2
+gmake install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+--- CMakeLists.txt 2024-04-26 20:02:52.000000000 +0300
++++ CMakeLists.txt 2024-06-02 19:58:27.874668000 +0300
+@@ -227,7 +227,7 @@
+ install(
+ FILES
+ ${PROJECT_BINARY_DIR}/tile.load
+- DESTINATION ${TILE_LOAD_DIRECTORY}
++ DESTINATION include ${TILE_LOAD_DIRECTORY}
+ RENAME ${TILE_LOAD_FILENAME}
+ )
+
--- /dev/null
+--- src/renderd_config.c 2024-04-26 20:02:52.000000000 +0300
++++ src/renderd_config.c 2024-06-02 20:01:31.420361000 +0300
+@@ -17,6 +17,7 @@
+
+ #define _GNU_SOURCE
+
++#include <unistd.h>
+ #include <sys/un.h>
+
+ #include "config.h"
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="
+rc-paths
+stow
+archivers/zstd
+devel/pkgconf-2.1.1
+devel/boost_1_74_0
+devel/cmake-3.28.3
+"
+rdeps="
+graphics/cairo-1.16.0
+www/curl-8.7.1
+devel/iniparser-v4.2.2
+www/httpd-2.4.59
+graphics/mapnik-v3.1.0
+"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.zst $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+tar xf "$DISTFILES"/$NAME.tar.zst
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+ls skelpkgs >&2
+cd $NAME
+patch <"$BASS_ROOT"/build/skel/graphics/mod_tile-CMakeLists.patch >&2
+patch -p0 <"$BASS_ROOT"/build/skel/graphics/mod_tile-renderd_config.patch >&2
+mkdir build
+cd build
+! uname -v | grep -q astra || PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig:$PKG_CONFIG_PATH
+export APR_ROOT=$_localpath LIBMAPNIK_ROOT=$_localpath HTTPD_ROOT=$_localpath ICU_ROOT=$_localpath
+cmake \
+ -DCMAKE_BUILD_TYPE:STRING=Release \
+ -DCMAKE_INSTALL_PREFIX="$SKELBINS"/$ARCH/$NAME-$hsh \
+ .. >&2
+CMAKE_BUILD_PARALLEL_LEVEL=$MAKE_JOBS cmake --build . >&2
+cmake --install . --strip >&2
+
+cd "$SKELBINS"/$ARCH
+rm -r $NAME-$hsh/share
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="
+rc-paths
+stow
+archivers/zstd
+devel/gmake-4.4.1
+devel/pkgconf-2.1.1
+shells/bash-5.2.21
+"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.zst
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.zst --options read_concatenated_archives
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+XCFLAGS=-fPIC gmake -j8 HAVE_X11=no HAVE_GLUT=no prefix="$SKELBINS"/$ARCH/$NAME-$hsh install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+rdeps="graphics/imlib2-1.12.2 graphics/freetype-2.9.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.zst $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.zst
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+make CFLAGS="$CFLAGS -O2" HAVE_INOTIFY=0 >&2
+mkdir -p "$SKELBINS"/$ARCH/$NAME-$hsh/bin
+mv nsxiv "$SKELBINS"/$ARCH/$NAME-$hsh/bin
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+rdeps="graphics/libpng-1.6.43"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+tar xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+make -j$MAKE_JOBS >&2
+make install-strip >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps=" rc-paths stow archivers/zstd devel/pkgconf-2.1.1 devel/ninja-v1.12.1"
+rdeps="graphics/mupdf-1.24.0-170-g05063f228 graphics/djvulibre-3.5.28"
+meson=meson-0.61.0
+pdfmupdf=zathura-pdf-mupdf-0.4.3
+djvu=zathura-djvu-0.2.9
+cb=zathura-cb-0.1.10
+girara=girara-0.4.3-7-gf6d0676
+redo-ifchange $bdeps \
+ "$DISTFILES"/$NAME.tar.xz \
+ "$DISTFILES"/$pdfmupdf.tar.xz \
+ "$DISTFILES"/$djvu.tar.xz \
+ "$DISTFILES"/$cb.tar.xz \
+ "$DISTFILES"/$girara.tar.zst \
+ "$DISTFILES"/$meson.tar.gz $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+$TAR xf "$DISTFILES"/$meson.tar.gz
+$TAR xf "$DISTFILES"/$NAME.tar.xz
+$TAR xf "$DISTFILES"/$pdfmupdf.tar.xz
+$TAR xf "$DISTFILES"/$djvu.tar.xz
+$TAR xf "$DISTFILES"/$cb.tar.xz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+cd subprojects
+tar xf "$DISTFILES"/$girara.tar.zst
+mv $girara girara
+rm girara.wrap
+cd ..
+../$meson/meson.py build --prefix="$SKELBINS"/$ARCH/$NAME-$hsh -Dsqlite=disabled >&2
+cd build
+ninja >&2
+ninja install >&2
+cd ../..
+PKG_CONFIG_PATH="$SKELBINS"/$ARCH/$NAME-$hsh/libdata/pkgconfig:$PKG_CONFIG_PATH
+
+cd $pdfmupdf
+../$meson/meson.py build --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+cd build
+ninja >&2
+ninja install >&2
+cd ../..
+
+cd $djvu
+../$meson/meson.py build --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+cd build
+ninja >&2
+ninja install >&2
+cd ../..
+
+cd $cb
+../$meson/meson.py build --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+cd build
+ninja >&2
+ninja install >&2
+cd ../..
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="
+rc-paths
+stow
+archivers/zstd
+lang/perl-5.32.1
+devel/pkgconf-2.1.1
+databases/sqlite-3450100
+textproc/expat-2.6.2
+"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.xz $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.xz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+
+./configure \
+ --enable-ipv6 \
+ --enable-shared \
+ --prefix="$SKELBINS"/$ARCH/$NAME-$hsh \
+ --with-hash-algorithm=siphash24 \
+ --with-openssl="$tmp"/local \
+ --with-ensurepip=install \
+ --with-system-expat >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+find "$SKELBINS"/$ARCH/$NAME-$hsh -name __pycache__ -exec rm -r {} +
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+# Beware: Python tries to create hard-links on a filesystem, so be sure
+# that they are working (or override TMPDIR to somewhere they work)
+
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="
+rc-paths
+stow
+archivers/zstd
+lang/perl-5.32.1
+devel/pkgconf-2.1.1
+databases/sqlite-3450100
+"
+uname -v | grep -q astra || {
+ bdeps="$bdeps textproc/expat-2.6.2"
+ rdeps="crypto/openssl-1.1.1w"
+ expat_opts="--with-system-expat"
+}
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.xz $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.xz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+
+# taken from FreeBSD's ports/lang/python37/Makefile:
+# disable detection of multiarch as it breaks with clang >= 13, which adds a
+# major.minor version number in -print-multiarch output, confusing Python
+sed -i.tmp 's|^\( *MULTIARCH=\).*--print-multiarch.*|\1|' configure
+
+./configure \
+ --enable-ipv6 \
+ --enable-shared \
+ --prefix="$SKELBINS"/$ARCH/$NAME-$hsh \
+ --with-hash-algorithm=siphash24 \
+ --with-openssl="$tmp"/local \
+ --with-ensurepip=install $expat_opts >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+find "$SKELBINS"/$ARCH/$NAME-$hsh -name __pycache__ -exec rm -r {} +
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+deps="
+$NAME.tar.bz2
+gcc-4-compile-with-gcc-5.patch
+gmp-4.3.2.tar.bz2
+mpfr-2.4.2.tar.xz
+mpc-0.8.2.tar.gz
+"
+for dep in $deps; do echo "$DISTFILES"/$dep ; done | xargs redo-ifchange
+bdeps="rc-paths stow archivers/zstd"
+redo-ifchange $bdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.bz2
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+$TAR xf $DISTFILES/gmp-4.3.2.tar.bz2
+mv gmp-4.3.2 gmp
+$TAR xf $DISTFILES/mpfr-2.4.2.tar.xz
+mv mpfr-2.4.2 mpfr
+$TAR xf $DISTFILES/mpc-0.8.2.tar.gz
+mv mpc-0.8.2 mpc
+
+patch -p1 <"$DISTFILES"/gcc-4-compile-with-gcc-5.patch >&2
+
+# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81712
+sed -i "s/struct ucontext/ucontext_t/g" libgcc/config/i386/linux-unwind.h
+
+mkdir build
+cd build
+../configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh/gcc4.7 \
+ --enable-languages=c,c++ --disable-multilib --disable-nls >&2
+make -j$MAKE_JOBS >&2
+make install-strip >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/gcc-4.7.4"
+rdeps="math/gmp-6.3.0 math/mpfr-4.2.1 math/mpc-1.3.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.xz $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.xz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+mkdir objdir
+cd objdir
+unset CFLAGS LDFLAGS
+CXX=$tmp/local/gcc4.7/bin/g++ ../configure \
+ --prefix="$SKELBINS"/$ARCH/$NAME-$hsh \
+ --disable-multilib \
+ --disable-nls \
+ --with-gmp=$tmp/local \
+ --with-mpfr=$tmp/local \
+ --with-mpc=$tmp/local >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+rm "$SKELBINS"/$ARCH/$NAME-$hsh/share/info/dir
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.xz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.xz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd ${NAME#g}
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh --disable-nls >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+rm "$SKELBINS"/$ARCH/$NAME-$hsh/share/info/dir
+mv "$SKELBINS"/$ARCH/$NAME-$hsh/bin/m4 "$SKELBINS"/$ARCH/$NAME-$hsh/bin/gm4
+
+cd "$SKELBINS"/$ARCH
+mkdir -p $NAME-$hsh/skelpkg/$NAME-$hsh/hooks/postinst
+cat >$NAME-$hsh/skelpkg/$NAME-$hsh/hooks/postinst/01rc-add <<EOF
+#!/bin/sh -e
+_localpath="\$(realpath local)"
+echo export M4=\"\$_localpath/bin/gm4\" >>rc
+EOF
+chmod +x $NAME-$hsh/skelpkg/$NAME-$hsh/hooks/postinst/01rc-add
+
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+# FreeBSD may require disabling ASLR (kern.elf64.aslr.enable=0)
+
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd"
+command -v bash >/dev/null 2>/dev/null || bdeps="$bdeps lang/perl-5.32.1"
+goprev=go1.4.3
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz lang/$goprev
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps lang/$goprev
+. ./rc
+bootstrap="$(realpath local/$goprev)"
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd go
+command -v bash >/dev/null 2>/dev/null || "$BASS_ROOT"/contrib/go-debash/v0
+cd src
+GOROOT_BOOTSTRAP=$bootstrap CGO_ENABLED=0 ./make.bash >&2
+cd ../..
+mkdir -p "$SKELBINS"/$ARCH/$NAME-$hsh
+mv go "$SKELBINS"/$ARCH/$NAME-$hsh/$NAME
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd"
+command -v bash >/dev/null 2>/dev/null || bdeps="$bdeps lang/perl-5.32.1"
+goprev=go1.17.13
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz lang/$goprev
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps lang/$goprev
+. ./rc
+bootstrap="$(realpath local/$goprev)"
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd go
+command -v bash >/dev/null 2>/dev/null || "$BASS_ROOT"/contrib/go-debash/v0
+cd src
+GOROOT_BOOTSTRAP=$bootstrap CGO_ENABLED=0 ./make.bash >&2
+cd ../..
+mkdir -p "$SKELBINS"/$ARCH/$NAME-$hsh
+mv go "$SKELBINS"/$ARCH/$NAME-$hsh/$NAME
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd"
+command -v bash >/dev/null 2>/dev/null || bdeps="$bdeps lang/perl-5.32.1"
+goprev=go1.20.14
+debash=gostls13-debash-1.22.4
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz \
+ "$DISTFILES"/$debash.tar.zst lang/$goprev
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps lang/$goprev
+. ./rc
+bootstrap="$(realpath local/$goprev)"
+$TAR xf "$DISTFILES"/$debash.tar.zst
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd go
+command -v bash >/dev/null 2>/dev/null || ../$debash/debash
+cd src
+GOROOT_BOOTSTRAP=$bootstrap ./make.bash >&2
+cd ../..
+mkdir -p "$SKELBINS"/$ARCH/$NAME-$hsh
+mv go "$SKELBINS"/$ARCH/$NAME-$hsh/$NAME
+
+cd "$SKELBINS"/$ARCH
+mkdir -p $NAME-$hsh/skelpkg/$NAME-$hsh/hooks/postinst
+cat >$NAME-$hsh/skelpkg/$NAME-$hsh/hooks/postinst/01rc-add <<EOF2
+#!/bin/sh -e
+_localpath="\$(realpath local)"
+cat >>rc <<EOF
+export GOPATH="\$_localpath/go"
+export PATH="\$_localpath/$NAME/bin:\\\$PATH"
+EOF
+EOF2
+chmod +x $NAME-$hsh/skelpkg/$NAME-$hsh/hooks/postinst/01rc-add
+
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+# It does not build natively under FreeBSD 13.x (or I did not find an
+# easy way to do that. But you can create 12.x's chroot, disable ASLR
+# and build until... it stops doing anything on cmd/go. That is
+# expected. Then you can continue building outside the chroot:
+# sysctl kern.elf64.aslr.enable=0
+# zstd -d <FreeBSD-12.4-RELEASE-amd64-dvd1.iso.zst >fbsd12.iso
+# mdconfig -a fbsd12.iso
+# mount -t cd9660 /dev/md0 /cdrom
+# mkdir /tmp/fbsd12-chroot
+# tar xfC /cdrom/usr/freebsd-dist/base.txz /tmp/fbsd12-chroot
+# tar xfC go1.4.3.src.tar.gz /tmp/fbsd12-chroot/root
+# cd /tmp/fbsd12-chroot/root/go
+# debash
+# chroot /tmp/fbsd12-chroot /bin/sh
+# cd go/src
+# export CGO_ENABLED=0
+# ./make.bash
+# exit
+# cd /tmp/fbsd12-chroot/root/go/src
+# ./make.bash --no-clean
+
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd go/src
+CGO_ENABLED=0 ./make.bash >&2
+cd ../..
+mkdir -p "$SKELBINS"/$ARCH/$NAME-$hsh
+mv go "$SKELBINS"/$ARCH/$NAME-$hsh/$NAME
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.xz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.xz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+sh Configure -de \
+ -Dprefix="$SKELBINS"/$ARCH/$NAME-$hsh \
+ -Dman1dir=none -Dman3dir=none >&2
+make -j$MAKE_JOBS >&2
+make install-strip >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME/unix
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+make -j$MAKE_JOBS >&2
+make install-binaries install-libraries install-headers >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.zst
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.zst
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --enable-alloca=malloc-reentrant --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+make -j$MAKE_JOBS >&2
+make install-strip >&2
+rm "$SKELBINS"/$ARCH/$NAME-$hsh/share/info/dir
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+rdeps="math/gmp-6.3.0 math/mpfr-4.2.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+make -j$MAKE_JOBS >&2
+make install-strip >&2
+rm "$SKELBINS"/$ARCH/$NAME-$hsh/share/info/dir
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+rdeps="math/gmp-6.3.0"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.xz $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.xz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+make -j$MAKE_JOBS >&2
+make install-strip >&2
+rm "$SKELBINS"/$ARCH/$NAME-$hsh/share/info/dir
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd lang/go1.22.4"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.zst
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.zst
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+go build -mod=vendor -ldflags=-s
+mkdir -p "$SKELBINS"/$ARCH/$NAME-$hsh/bin
+mv gocheese "$SKELBINS"/$ARCH/$NAME-$hsh/bin
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+make -j$MAKE_JOBS >&2
+mkdir -p "$SKELBINS"/$ARCH/$NAME-$hsh/bin
+cp src/spc "$SKELBINS"/$ARCH/$NAME-$hsh/bin
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="
+rc-paths
+stow
+archivers/zstd
+devel/ninja-v1.12.1
+devel/nasm-2.16.01
+devel/pkgconf-2.1.1
+lang/Python-3.7.3
+"
+meson=meson-0.56.0
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.zst "$DISTFILES"/$meson.tar.gz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$meson.tar.gz
+$TAR xf "$DISTFILES"/$NAME.tar.zst
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+mkdir build
+cd build
+../../$meson/meson.py --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+ninja >&2
+ninja install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/gmake-4.4.1 devel/pkgconf-2.1.1"
+rdeps="
+multimedia/dav1d-1.4.2-8-gda2cc78
+multimedia/svt-av1-v2.1.0-12-gfcf56491
+audio/opus-1.5.2
+"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.xz $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.xz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh \
+ --cc=cc --cxx=c++ --objcc=cc --dep-cc=cc \
+ --enable-gpl \
+ --enable-shared --enable-pic \
+ --enable-postproc \
+ --enable-avfilter \
+ --enable-pthreads \
+ --disable-alsa \
+ --enable-libsvtav1 --enable-libdav1d \
+ --enable-libopus --enable-libvorbis \
+ --disable-doc --disable-manpages --disable-podpages --disable-txtpages >&2
+gmake -j$MAKE_JOBS >&2
+gmake install >&2
+
+cd "$SKELBINS"/$ARCH
+rm -r $NAME-$hsh/share/ffmpeg/examples
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="
+rc-paths
+stow
+archivers/zstd
+devel/gmake-4.4.1
+devel/pkgconf-2.1.1
+textproc/texinfo-7.1
+"
+ver=${NAME#ffmpeg-doc-}
+redo-ifchange $bdeps "$DISTFILES"/ffmpeg-$ver.tar.xz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/ffmpeg-$ver.tar.xz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd ffmpeg-$ver
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh \
+ --cc=cc --cxx=c++ --objcc=cc --dep-cc=cc \
+ --enable-gpl --disable-manpages >&2
+gmake -j$MAKE_JOBS install-doc >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.xz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.xz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="
+rc-paths
+stow
+archivers/zstd
+devel/cmake-3.28.3
+devel/gmake-4.4.1
+devel/nasm-2.16.01
+devel/pkgconf-2.1.1
+"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.zst
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.zst
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+mkdir build
+cd build
+cmake -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX="$SKELBINS"/$ARCH/$NAME-$hsh .. >&2
+gmake -j$MAKE_JOBS >&2
+gmake install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+tarballs_initial="
+pip-9.0.3.tar.gz
+setuptools-50.3.2.zip
+wheel-0.42.0.tar.gz
+"
+typing_extensions="typing_extensions-4.2.0.tar.gz"
+tarballs="
+attrs-19.2.0.tar.gz
+pycparser-2.21.tar.gz
+cffi-1.12.0.tar.gz
+six-1.16.0.tar.gz
+frozendict-2.4.0.tar.gz
+certifi-2024.2.2.tar.gz
+charset-normalizer-2.1.1.tar.gz
+idna-3.3.tar.gz
+setuptools_scm-3.5.0.tar.gz
+urllib3-1.21.1.tar.gz
+requests-2.31.0.tar.gz
+zipp-0.5.0.tar.gz
+toml-0.10.2.tar.gz
+importlib_metadata-3.10.1.tar.gz
+frozenlist-1.3.0.tar.gz
+multidict-6.0.5.tar.gz
+python-dateutil-2.8.2.tar.gz
+packaging-15.0.tar.gz
+pyparsing-3.0.7.tar.gz
+packaging-16.1.tar.gz
+"
+bdeps="
+rc-paths
+stow
+archivers/zstd
+devel/pkgconf-2.1.1
+"
+rdeps="lang/Python-3.7.3"
+
+{
+ for tarball in $tarballs_initial $typing_extensions $tarballs ; do
+ echo "$DISTFILES"/py/$tarball
+ done
+ echo $bdeps $rdeps
+} | xargs redo-ifchange
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+mkdir -p "$SKELBINS"/$ARCH/$NAME-$hsh/$NAME
+python3 -m venv "$SKELBINS"/$ARCH/$NAME-$hsh/$NAME >&2
+. "$SKELBINS"/$ARCH/$NAME-$hsh/$NAME/bin/activate
+
+pypi="pip install --disable-pip-version-check --no-cache-dir --no-index"
+
+for pkg in $tarballs_initial ; do $pypi "$DISTFILES"/py/$pkg >&2 ; done
+
+tar xf "$DISTFILES"/py/$typing_extensions
+cd typing_extensions-4.2.0
+mv src/typing_extensions.py .
+cat >setup.py <<EOF
+name = "typing_extensions"
+from setuptools import setup
+setup(name=name, version="4.2.0", py_modules=[name])
+EOF
+python setup.py install >&2
+
+for pkg in $tarballs ; do $pypi "$DISTFILES"/py/$pkg >&2 ; done
+
+# it will be created at postinst hook
+rm "$SKELBINS"/$ARCH/$NAME-$hsh/$NAME/bin/python3
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+
+mkdir $NAME-$hsh/skelpkg/$NAME-$hsh/hooks/postinst
+cat >$NAME-$hsh/skelpkg/$NAME-$hsh/hooks/postinst/010cp-venv <<EOF
+#!/bin/sh -e
+cd local
+"$BASS_ROOT"/build/bin/cp-deref $NAME
+rp=\$(realpath $NAME)
+cd $NAME/bin
+ln -fs ../../bin/python3
+cd ..
+perl -i -npe "s#$SKELBINS/$ARCH/.*/$NAME#\$rp#g" \
+ bin/* lib/python3.7/site-packages/setuptools.pth
+EOF
+chmod +x $NAME-$hsh/skelpkg/$NAME-$hsh/hooks/postinst/010cp-venv
+
+cat >$NAME-$hsh/skelpkg/$NAME-$hsh/hooks/postinst/020rc-add <<EOF2
+#!/bin/sh -e
+_localpath="\$(realpath local)"
+mkdir -p "\$_localpath"/$NAME/additional
+cat >>rc <<EOF
+export PYTHONDONTWRITEBYTECODE=1
+. "\$_localpath"/$NAME/bin/activate
+export PYTHONPATH="\$_localpath/$NAME/additional:\\\$PYTHONPATH"
+EOF
+EOF2
+chmod +x $NAME-$hsh/skelpkg/$NAME-$hsh/hooks/postinst/020rc-add
+
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+mkdir -p "$SKELBINS"/$ARCH/$NAME-$hsh
+cd "$SKELBINS"/$ARCH/$NAME-$hsh
+mkdir -p skelpkg/$NAME-$hsh/hooks/postinst
+cat >skelpkg/$NAME-$hsh/hooks/postinst/rc <<EOF
+_localpath="\$(realpath local)"
+PATH="\$_localpath/bin:\$PATH"
+export MANPATH="\$_localpath/share/man:\$MANPATH"
+export INFOPATH="\$_localpath/share/info:\$INFOPATH"
+export LD_LIBRARY_PATH="\$_localpath/lib:\$LD_LIBRARY_PATH"
+export CFLAGS="-I\$_localpath/include \$CFLAGS"
+export CXXFLAGS="\$CFLAGS \$CXXFLAGS"
+export LDFLAGS="-L\$_localpath/lib \$LDFLAGS"
+EOF
+cat >skelpkg/$NAME-$hsh/hooks/postinst/01rc-inst <<EOF
+#!/bin/sh -e
+cp "\$SKELBINS"/\$ARCH/\$NAMENHASH/skelpkg/\$NAMENHASH/hooks/postinst/rc .
+chmod +w rc
+EOF
+chmod +x skelpkg/$NAME-$hsh/hooks/postinst/01rc-inst
+cd ..
+COMPRESSOR=gzip "$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+rdeps="devel/libiconv-1.17 devel/ncurses-6.4"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.xz $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.xz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --enable-multibyte --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+make >&2
+make install.bin install.modules install.fns STRIPFLAGS="-s" >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+deps="
+ rc-paths
+ stow
+ archivers/zstd
+
+ crypto/b3sum-1.5.0
+ sysutils/daemontools-encore-1.11
+ sysutils/tmux-3.3
+ shells/zsh-5.9
+"
+redo-ifchange $deps
+mkdir -p "$SKELBINS"/$ARCH/$NAME-$hsh
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $deps
+COMPRESSOR=gzip "$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+# That stow is manually installed, to omit any dependencies in build
+# system itself, because pkg-inst requires stow, that we are going to
+# build. Perl is used from the base OS.
+
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+NAME=$NAME-2.3.1
+redo-ifchange "$DISTFILES"/$NAME.tar.bz2
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+$TAR xf "$DISTFILES"/$NAME.tar.bz2
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+_perl=perl-5.32.1
+pmdir=$SKELBINS/$ARCH/$NAME-$hsh/lib/site_perl/${_perl#perl-}
+mkdir -p "$SKELBINS"/$ARCH/$NAME-$hsh/bin "$pmdir"/Stow
+cp bin/stow.in "$SKELBINS"/$ARCH/$NAME-$hsh/bin/stow
+cp bin/chkstow.in "$SKELBINS"/$ARCH/$NAME-$hsh/bin/chkstow
+cp lib/Stow.pm.in "$pmdir"/Stow.pm
+cat default-ignore-list >>"$pmdir"/Stow.pm
+cp lib/Stow/Util.pm.in "$pmdir"/Stow/Util.pm
+cd "$SKELBINS"/$ARCH/$NAME-$hsh
+perl -i -npe "s/\@VERSION@/2.3.1/" bin/stow \
+ lib/site_perl/${_perl#perl-}/Stow.pm \
+ lib/site_perl/${_perl#perl-}/Stow/Util.pm
+perl -i -npe "s#\@PERL@#/usr/bin/env perl#" bin/*
+perl -i -npe "s#\@USE_LIB_PMDIR@#use lib \"$pmdir\";#;" bin/stow
+
+mkdir -p skelpkg/$NAME-$hsh/hooks/postinst
+cat >skelpkg/$NAME-$hsh/hooks/postinst/01stow-self <<EOF
+#!/bin/sh -e
+[ -e non-stowed ] || exit 0
+rm non-stowed
+cd local
+mkdir -p bin lib/site_perl/${_perl#perl-}/Stow
+cd bin
+ln -s "$SKELBINS"/$ARCH/$NAME-$hsh/bin/stow
+ln -s "$SKELBINS"/$ARCH/$NAME-$hsh/bin/chkstow
+cd ../lib/site_perl/${_perl#perl-}
+ln -s "$pmdir"/Stow.pm
+cd Stow
+ln -s "$pmdir"/Stow/Util.pm
+EOF
+cat >skelpkg/$NAME-$hsh/hooks/postinst/02rdep-perl <<EOF
+#!/bin/sh -e
+[ -e "\$SKELPKGS"/\$ARCH/$_perl ] || exit 0
+PATH="\$SKELBINS/\$ARCH/$NAME-$hsh/bin:\$PATH" \
+ exec "\$BASS_ROOT"/build/bin/pkg-inst $_perl
+EOF
+chmod +x skelpkg/$NAME-$hsh/hooks/postinst/*
+
+cd ..
+COMPRESSOR=gzip "$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+cd $NAME
+
+perl -i -npe "s/gcc/cc/" conf-ld conf-cc
+perl -i -ne "print unless /setuser.8/" MAN
+make programs sysdeps man >&2
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+mkdir -p "$SKELBINS"/$ARCH/$NAME-$hsh/bin
+./installer "$SKELBINS"/$ARCH/$NAME-$hsh/bin <BIN >&2
+mkdir -p "$SKELBINS"/$ARCH/$NAME-$hsh/share/man
+./installer "$SKELBINS"/$ARCH/$NAME-$hsh/share/man <MAN >&2
+perl -i -npe "s/.command.//g; s#/service#/var/service#g" \
+ "$SKELBINS"/$ARCH/$NAME-$hsh/bin/svscanboot
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+--- edit.c.orig 2024-06-13 12:59:37.849526000 +0300
++++ edit.c 2024-06-13 13:00:02.184677000 +0300
+@@ -16,9 +16,7 @@
+ #if HAVE_SYS_WAIT_H
+ #include <sys/wait.h>
+ #endif
+-#if OS2
+ #include <signal.h>
+-#endif
+
+ public int fd0 = 0;
+
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/gmake-4.4.1 devel/pkgconf-2.1.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+patch <"$BASS_ROOT"/build/skel/sysutils/less-643-signal.h.patch >&2
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+gmake -j$MAKE_JOBS >&2
+gmake install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd lang/go1.22.4"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.zst
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.zst
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./build-with-thirdparty
+mkdir -p "$SKELBINS"/$ARCH/$NAME-$hsh
+cp -RP bin "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+deps="rc-paths stow archivers/zstd lang/perl-5.32.1"
+redo-ifchange $deps "$DISTFILES"/$NAME.tar.bz2
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $deps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.bz2
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh --disable-documentation >&2
+perl -i -ne 'print unless /^\s+citation_notice..;$/' src/parallel
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $deps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+rdeps="devel/libevent-2.1.12 devel/ncurses-6.4"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+$BASS_ROOT/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+make >&2
+make install-strip >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz \
+ "$DISTFILES"/ucspi-tcp-0.88-ipv6.diff20.bz2
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+bunzip2 <"$DISTFILES"/ucspi-tcp-0.88-ipv6.diff20.bz2 | patch >&2
+perl -i -npe "s/gcc/cc/" conf-ld conf-cc
+perl -i -npe "s/02755/0755/g" hier.c
+echo "$SKELBINS"/$ARCH/$NAME-$hsh >conf-home
+make -j$MAKE_JOBS >&2
+./install
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.xz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.xz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh \
+ --without-docbook --without-tests --without-examples >&2
+make -j$MAKE_JOBS >&2
+make install-strip >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd"
+redo-ifchange $bdeps "$DISTFILES"/${NAME#gnu-}.tar.xz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/${NAME#gnu-}.tar.xz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd ${NAME#gnu-}
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/gmake-4.4.1 devel/pkgconf-2.1.1"
+rdeps="textproc/libxml2-2.9.14"
+! uname -v | grep -q astra || bdeps="$bdeps gcc-8.5.0"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tgz $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+tar xf "$DISTFILES"/$NAME.tgz
+mv icu $NAME
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME/source
+sed -i.tmp "s/\(U_DISABLE_RENAMING\) 0/\1 1/" common/unicode/uconfig.h
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh \
+ --enable-static --disable-renaming --enable-icu-config >&2
+gmake -j$MAKE_JOBS >&2
+gmake install >&2
+
+cd "$SKELBINS"/$ARCH
+uname -v | grep -q astra ||
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../...
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/gmake-4.4.1 devel/pkgconf-2.1.1"
+! uname -v | grep -q astra || bdeps="$bdeps lang/gcc-8.5.0"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tgz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+tar xf "$DISTFILES"/$NAME.tgz
+mv icu $NAME
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME/source
+sed -i.tmp "s/\(U_DISABLE_RENAMING\) 0/\1 1/" common/unicode/uconfig.h
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh \
+ --enable-static --disable-renaming --enable-icu-config >&2
+gmake -j$MAKE_JOBS >&2
+gmake install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/gmake-4.4.1 devel/pkgconf-2.1.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.xz
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.xz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh --without-python >&2
+gmake -j$MAKE_JOBS >&2
+gmake install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+rdeps="lang/perl-5.32.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.xz $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.xz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix "$SKELBINS"/$ARCH/$NAME-$hsh \
+ --disable-perl-xs --disable-nls >&2
+make -j$MAKE_JOBS >&2
+make install-strip >&2
+rm "$SKELBINS"/$ARCH/$NAME-$hsh/share/info/dir
+for f in pod2texi texi2any ; do
+ perl -i -npe 's|^.*$|#!/usr/bin/env perl| if $. == 1' \
+ "$SKELBINS"/$ARCH/$NAME-$hsh/bin/$f
+done
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+rdeps="devel/getopt-1.1.6 shells/bash-5.2.21"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.bz2 $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.bz2
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+sed -i.tmp '1s|^.*$|#!/usr/bin/env bash|' "$SKELBINS"/$ARCH/$NAME-$hsh/bin/xmlto
+sed -i.tmp 's|^\(BASH\)=.*$|\1=bash|' "$SKELBINS"/$ARCH/$NAME-$hsh/bin/xmlto
+rm "$SKELBINS"/$ARCH/$NAME-$hsh/bin/xmlto.tmp
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.gz $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.gz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh/angie \
+ --without-mail_pop3_module \
+ --without-mail_imap_module \
+ --without-mail_smtp_module >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+strip "$SKELBINS"/$ARCH/$NAME-$hsh/angie/sbin/angie
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd"
+rdeps="sysutils/daemontools-encore-1.11 www/angie-1.5.0"
+redo-ifchange $bdeps $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+mkdir -p "$SKELBINS"/$ARCH/$NAME-$hsh/service/angie/log/main
+cd "$SKELBINS"/$ARCH/$NAME-$hsh/service/angie
+mkdir conf tmp www
+echo FILL-ME >conf/angie.conf
+echo FILL-ME >www/index.html
+cat >log/run <<EOF
+#!/bin/sh -e
+exec multilog t s999999 n100 ./main
+EOF
+cat >run <<EOF
+#!/bin/sh -e
+exec ../../angie/sbin/angie -e stderr -c \$(realpath conf/angie.conf) 2>&1
+EOF
+chmod +x log/run run
+touch down
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/prepare-postinst-010-deref $NAME-$hsh service/angie
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.bz2
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps
+. ./rc
+tar xf "$DISTFILES"/$NAME.tar.bz2
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+rdeps="www/apr-1.7.4 devel/expat-2.6.2"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.bz2 $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+tar xf "$DISTFILES"/$NAME.tar.bz2
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh \
+ --with-apr=$_localpath/bin/apr-1-config \
+ --with-expat=$_localpath >&2
+make -j$MAKE_JOBS >&2
+make install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+uname -v | grep -q astra || rdeps="crypto/openssl-1.1.1w"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.xz $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+$TAR xf "$DISTFILES"/$NAME.tar.xz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh \
+ --without-ssl \
+ --without-libpsl \
+ --enable-ipv6 \
+ --disable-docs \
+ --disable-manual \
+ --disable-doh >&2
+make -j$MAKE_JOBS >&2
+make install-strip >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/pkgconf-2.1.1"
+rdeps="crypto/gnutls-3.7.10 dns/libidn2-2.3.7"
+ver=${NAME#curl-with-tls-}
+redo-ifchange $bdeps "$DISTFILES"/curl-$ver.tar.xz $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+$TAR xf "$DISTFILES"/curl-$ver.tar.xz
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd curl-$ver
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh \
+ --with-gnutls \
+ --enable-http \
+ --enable-ftp \
+ --enable-proxy \
+ --enable-tftp \
+ --enable-gopher \
+ --enable-manual \
+ --enable-ipv6 \
+ --enable-verbose \
+ --enable-unix-sockets \
+ --enable-cookies \
+ --enable-http-auth \
+ --enable-netrc \
+ --enable-progress-meter \
+ --enable-hsts \
+ --disable-doh \
+ >&2
+make -j$MAKE_JOBS >&2
+make install-strip >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow zstd devel/pkgconf-2.1.1"
+rdeps="www/apr-1.7.4 www/apr-util-1.6.3 devel/expat-2.6.2"
+redo-ifchange $bdeps "$DISTFILES"/$NAME.tar.bz2 $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $SPATH)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+tar xf "$DISTFILES"/$NAME.tar.bz2
+# tar xf "$DISTFILES"/apr-1.7.4.tar.bz2
+# tar xf "$DISTFILES"/apr-util-1.6.3.tar.bz2
+# mv apr-1.7.4 $NAME/srclib/apr
+# mv apr-util-1.6.3 $NAME/srclib/apr-util
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+# --with-included-apr
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh >&2
+make -j$MAKE_JOBS >&2
+make \
+ program-install \
+ install-conf \
+ install-error \
+ install-cgi \
+ install-include \
+ install-suexec >&2
+make -C support install >&2
+
+cd "$SKELBINS"/$ARCH
+"$BASS_ROOT"/build/lib/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
--- /dev/null
+set-option -g mode-keys vi
+set-option -g base-index 1
+set-option -g escape-time 1
+set-option -g repeat-time 0
+set-option -g renumber-windows on
--- /dev/null
+setopt GLOB_STAR_SHORT GLOB_DOTS EXTENDED_GLOB
+setopt AUTO_PUSHD PUSHD_IGNORE_DUPS
+bindkey -v
--- /dev/null
+Scripts to replace "bash" with "sh" in Go's build scripts.
+Most adequate OSes do not include GNU Bash, so it is burden
+to install it just to satisfy those lame developers.
--- /dev/null
+#!/bin/sh
+
+find src -name "*.bash" -maxdepth 2 -exec perl -i -npe "
+ s%^#!/usr/bin/env bash%#!/bin/sh%;
+ s%^#!/bin/bash%#!/bin/sh%;
+ s%^bash %sh %;
+" {} \+
--- /dev/null
+#!/bin/sh
+
+find src -name "*.bash" -maxdepth 2 -exec perl -i -npe "
+ s%^#!/usr/bin/env bash%#!/bin/sh%;
+ s%^#!/bin/bash%#!/bin/sh%;
+ s%^bash %sh %;
+" {} \+
+perl -i -npe "s/\[\[/[/g ; s/\]\]/]/g ; s/==/=/g" src/make.bash
+perl -i -ne "print unless /NetBSD 7/../^$/" src/run.bash
--- /dev/null
+/distfiles/
--- /dev/null
+Bunch of scripts for preparing the dependencies required for BASS.
+Make, C compiler are prerequired. Go, goredo, meta4ra, zstd will be built.
+
+* Create the state directory, where all your build artefacts will be built:
+ $ mkdir state
+ $ cd state
+* Start dependencies download process from the Internet:
+ $ /path/to/prepare-deps/dl
+* If you already have some version of the Go (its 1.4 version is not
+ easy to build on modern systems), then you can touch the following
+ steps, telling that they should not be done:
+ 010-go1.4.3.done
+ 020-go1.17.13.done
+ 030-go1.20.14.done
+ 040-go1.22.4.done
+ and symlink your Go to ./go1.4.3, ./go1.17.13, ./go1.20.14
+* Start build process itself:
+ $ /path/to/prepare-deps/do
+* Result local/bin should contain only statically built programs, that
+ will be needed for BASS. local/go/bin will contain Go, if you will need it
+* You can use ./clean to remove left built artefacts
--- /dev/null
+#!/bin/sh
+
+rm -fr go1.4.3 go1.17.13 go1.20.14 *.done
--- /dev/null
+#!/bin/sh -ex
+
+ROOT=$(realpath -- $(dirname "$0"))
+DISTFILES=$PWD/distfiles
+mkdir -p $DISTFILES
+
+command -v fetch >/dev/null && DL="fetch -o" || DL="wget -O"
+command -v sha512 >/dev/null && SHA512="sha512" || SHA512="sha512sum --binary"
+
+dodl() {
+ local url="$1"
+ local dst=$2
+ local hsh=$3
+ [ -r $dst ] || {
+ $DL $dst.tmp "$url"
+ mv $dst.tmp $dst
+ }
+ [ -n "$hsh" ] || return 0
+ our=`$SHA512 <$dst | { read our rem ; echo $our ; }`
+ [ "$our" = $hsh ]
+}
+
+( cd $ROOT/steps ; find . -maxdepth 1 -mindepth 1 -name "*.dl" ) |
+ while read step ; do
+ cd $DISTFILES
+ step=${step#./}
+ name=${step#*-}
+ name=${name%.dl}
+ . $ROOT/steps/$step
+done
--- /dev/null
+#!/bin/sh -ex
+
+# Beware! Not all installation operations are atomic!
+
+ROOT=$(realpath -- $(dirname "$0"))
+DIR=$(pwd)
+DISTFILES=$DIR/distfiles
+
+unset GOROOT GOPATH
+export CGO_ENABLED=0
+mkdir -p local
+PATH="$DIR/local/bin:$DIR/local/go/bin:$PATH"
+
+( cd $ROOT/steps ; find . -maxdepth 1 -mindepth 1 -not -name "*.dl" ) |
+ sort -n | while read step ; do
+ step=${step#./}
+ name=${step#*-}
+ [ -e $step.done ] && continue
+ . $ROOT/steps/$step
+ cd $DIR
+ touch $step.done
+done
--- /dev/null
+# It does not build natively under FreeBSD 13.x (or I did not find an
+# easy way to do that. But you can create 12.x's chroot, disable ASLR
+# and build until... it stops doing anything on cmd/go. That is
+# expected. Then you can continue building outside the chroot:
+# sysctl kern.elf64.aslr.enable=0
+# zstd -d <FreeBSD-12.4-RELEASE-amd64-dvd1.iso.zst >fbsd12.iso
+# mdconfig -a fbsd12.iso
+# mount -t cd9660 /dev/md0 /cdrom
+# mkdir /tmp/fbsd12-chroot
+# tar xfC /cdrom/usr/freebsd-dist/base.txz /tmp/fbsd12-chroot
+# tar xfC go1.4.3.src.tar.gz /tmp/fbsd12-chroot/root
+# cd /tmp/fbsd12-chroot/root/go
+# debash
+# chroot /tmp/fbsd12-chroot /bin/sh
+# cd go/src
+# export CGO_ENABLED=0
+# ./make.bash
+# exit
+# cd /tmp/fbsd12-chroot/root/go/src
+# ./make.bash --no-clean
+
+rm -fr go $name
+tar xf $DISTFILES/$name.src.tar.gz
+mv go $name
+cd $name/src
+CGO_ENABLED=0 ./make.bash
--- /dev/null
+dodl https://go.dev/dl/$name.src.tar.gz $name.src.tar.gz 12bade4bce9aa4b34e2b9495ae65a1fc6a2449b3a43bc4de85c8b87ba223c2f999b2f37c1e2fe1188d8521118b5e5357d27afb8b85c0b8ebb4503d4125d25273
--- /dev/null
+# FreeBSD may require disabling ASLR (kern.elf64.aslr.enable=0)
+
+rm -fr go $name
+tar xf $DISTFILES/$name.src.tar.gz
+mv go $name
+cd $name
+command -v bash >/dev/null 2>/dev/null || $ROOT/../go-debash/v0
+cd src
+GOROOT_BOOTSTRAP=$(realpath $DIR/go1.4.3) CGO_ENABLED=0 ./make.bash
--- /dev/null
+dodl https://go.dev/dl/$name.src.tar.gz $name.src.tar.gz 2820bdd679fdb5e37d4c601b26c246bab23d4e8e1b226ac37c38e90a68b693e877bff944275eb25e3296ee772e7b40ef7d71dd49cca524df4cb8e721bfb50c33
--- /dev/null
+rm -fr go $name
+tar xf $DISTFILES/$name.src.tar.gz
+mv go $name
+cd $name
+command -v bash >/dev/null 2>/dev/null || $ROOT/../go-debash/v0
+cd src
+GOROOT_BOOTSTRAP=$(realpath $DIR/go1.17.13) CGO_ENABLED=0 ./make.bash
--- /dev/null
+dodl https://go.dev/dl/$name.src.tar.gz $name.src.tar.gz d97951fedf87a999e3f09819a8ac23608980e68173ae141fa11140f0117a35639308de0ea37d3b209bfb709cd5758cd39016dd0f2dd6c3959e1ea3ea29c6fef4
--- /dev/null
+rm -fr go
+tar xf $DISTFILES/$name.src.tar.gz
+mv go $name
+cd $name
+command -v bash >/dev/null 2>/dev/null || $ROOT/../go-debash/v1
+cd src
+GOROOT_BOOTSTRAP=$(realpath $DIR/go1.20.14) ./make.bash
+cd ../..
+mv $name $DIR/local/go
--- /dev/null
+dodl https://go.dev/dl/$name.src.tar.gz $name.src.tar.gz 4855ba7e277b2eb79eb52e3ad2a52f18b3a4cd3adc20b7a17d29fabae74141265bf31399307b8d3f35110031d11ad7f583016aa903f3e36eeb6d1f64cfc8a5ad
--- /dev/null
+tar xf $DISTFILES/$name.tar.gz
+cd $name
+if command -v gmake >/dev/null 2>/dev/null ; then
+ gmake -j$(nproc)
+else
+ make -j
+fi
+mkdir -p $DIR/local/bin
+mv programs/zstd $DIR/local/bin
+rm -r ../$name
+cd $DIR/local/bin
+strip zstd
+for cmd in unzstd zstdcat zstdmt ; do ln -s zstd $cmd ; done
--- /dev/null
+dodl https://github.com/facebook/zstd/releases/download/v1.5.5/$name.tar.gz $name.tar.gz 99109ec0e07fa65c2101c9cb36be56b672bbd0ee69d265f924718e61f9192ae8385c8d9e4d0c318be9edfa6d849fd3d60e5f164fa120961449429ea3c5dab6b6
--- /dev/null
+tar xf $DISTFILES/$name.tar.zst
+cd $name/src
+go build -mod=vendor -ldflags=-s
+mkdir -p $DIR/local/bin
+mv goredo $DIR/local/bin
+cd ../..
+rm -r $name
+cd $DIR/local/bin
+./goredo -symlinks
--- /dev/null
+dodl http://www.goredo.cypherpunks.ru/download/$name.tar.zst $name.tar.zst 9c3c560da988b0a5a9cbe996c0ae3c1d6bad3f3a2226218027859bd6b68cc8e85d29e5d484c052b4416b3a57d06c3db80dfdc3cd8db4b9fc3c282c3fbd7f22b4
--- /dev/null
+tar xf $DISTFILES/$name.tar.zst
+cd $name
+./build-with-thirdparty
+mkdir -p $DIR/local/bin
+cp -P bin/* $DIR/local/bin
+rm -r ../$name
--- /dev/null
+dodl http://www.meta4ra.stargrave.org/download/$name.tar.zst $name.tar.zst eebd3a86be8da73d038d3af746b27f758fa5dba19e8b9e10ac3aa5ab8f1d8b59a37bf6ba0d2b2499fdd58be8c3284002fa700d85ddc36a66317bec0ed4c987f0
--- /dev/null
+echo PATH="$DIR/local/bin:$DIR/local/go/bin:\$PATH"
--- /dev/null
+*.plantuml.txt
+/bass.html
+/bass.info
--- /dev/null
+rm -rf $1
+MAKEINFO_OPTS="$MAKEINFO_OPTS --html"
+MAKEINFO_OPTS="$MAKEINFO_OPTS --set-customization-variable NO_CSS=1"
+MAKEINFO_OPTS="$MAKEINFO_OPTS --set-customization-variable FORMAT_MENU=menu"
+MAKEINFO_OPTS="$MAKEINFO_OPTS --set-customization-variable DATE_IN_HEADER=1"
+MAKEINFO_OPTS="$MAKEINFO_OPTS" . bass.info.do
+find $3 -type d -exec chmod 755 {} +
+find $3 -type f -exec chmod 644 {} +
--- /dev/null
+redo-ifchange overview.plantuml.txt ci/overview.plantuml.txt
+VERSION=$(git describe --tags)
+MAKEINFO_OPTS="$MAKEINFO_OPTS --set-customization-variable SECTION_NAME_IN_TITLE=1"
+MAKEINFO_OPTS="$MAKEINFO_OPTS --set-customization-variable TREE_TRANSFORMATIONS=complete_tree_nodes_menus"
+MAKEINFO_OPTS="$MAKEINFO_OPTS --set-customization-variable ASCII_PUNCTUATION=1"
+makeinfo -D "VERSION $VERSION" $MAKEINFO_OPTS --output $3 index.texi
--- /dev/null
+@node Build distfiles
+@cindex distfiles
+@section Distfiles
+
+Build process @strong{must} not depend on the Internet access. You
+must be able to preliminary download all necessary source code needed
+for the skel. And as in most package build systems, that retrievable
+source code is called "distfile".
+
+There are no requirements how you will get it. But in most cases that is
+either downloadable tarball or archive created from specific VCS commit.
+Modern DVCS'es commit is already self integrity checked tree of files.
+But tarball is just a bunch of bytes. You have to provide the URL where
+to get it, and checksum(s) to verify against, to be sure that it is not
+tampered or altered somehow. Moreover many distribution sites also
+provide a detached cryptographic signature of the tarball, which you can
+verify against some know author's public key.
+
+That is why @url{https://datatracker.ietf.org/doc/html/rfc5854, Metalink4}
+files are used to get tarballs. They also tend to contain checksum hash
+present on the download website.
+
+@pindex build/distfiles/pack
+You can download all distfiles by invoking @command{redo distfiles/all}
+target. An archive with all of them can be created with
+@command{distfiles/pack >distfiles.tar} command.
+
+@file{.meta4} files can be processed by either of three programs:
+
+@table @env
+
+@item $META4_FETCHER=meta4ra-check
+Use @command{meta4ra-check -dl 0} command to download the first URL.
+This is by default, because @command{meta4ra} utilities are anyway
+installed already. It won't try to download other URLs, unlike other
+fetch options there!
+
+@item $META4_FETCHER=wget
+Use @command{wget} compiled with @option{--with-metalink} option. The
+only drawback is that most OS distributions contain Wget without that
+(@option{--input-metalink}) option.
+
+@item $META4_FETCHER=aria2c
+Use @url{http://aria2.github.io/, Aria2}. Unfortunately it sometimes
+fails to deal with links on GitHub.com.
+
+@end table
--- /dev/null
+@node skelpkg hooks
+@cindex skelpkg hooks
+@section Hooks
+
+Generally installation of a skelpkg is just an unpacking of the
+@file{bin} archive to skelbins directory and creating a symbolic links
+to files inside it. But there is ability to run "pre install"
+(@code{preinst}), "post install" (@code{postinst}), "pre remove"
+(@code{prerm}) and "post remove" (@code{postrm}) hooks.
+
+Hook is a directory with at least one executable file. All executable
+files in that directory are called in a lexicographical order. Each hook
+is placed in @code{$NAME-$hsh/skelpkg/$NAME-$hsh/hooks/$hook} directory.
+
+Hook is executed inside the directory we performing skelpkg
+installation, directory with the @file{local/} subdirectory.
+It expects to get following environmental variables:
+
+@table @env
+@item $DST
+ Path to directory where we perform installation of the skelpkg.
+@item $PKG
+ Name of the skelpkg user entered. As a rule it is more-or-less human
+ readable name without any hashes.
+@item $NAMENHASH
+ @env{$NAME-$hsh} name of the package.
+@item $BASS_ROOT, $BASS_RC, ...
+@end table
+
+@cindex preinst example
+One of the frequent uses of @code{preinst} hook is installation of
+runtime dependencies. For example cURL depends on OpenSSL, so let's see
+its hook:
+
+@example
+$ tar xfO $SKELPKGS/$ARCH/curl-8.6.0 name | read namenhash
+
+$ tar xfO $SKELPKGS/$ARCH/curl-8.6.0 bin |
+ tar tf - $namenhash/skelpkg/$namenhash/hooks/preinst
+$namenhash/skelpkg/$namenhash/hooks/preinst/010-rdeps
+
+$ tar xfO $SKELPKGS/$ARCH/curl-8.6.0 bin |
+ tar xfO - $namenhash/skelpkg/$namenhash/hooks/preinst/010-rdeps
+#!/bin/sh -e
+exec "$BASS_ROOT"/build/bin/pkg-inst openssl-1.1.1w
+@end example
+
+@cindex postinst example
+@code{postinst} hook can be used to alter @env{$DST}'s @file{rc} file,
+like @command{pkgconf} skelpkg does:
+
+@example
+$ tar xfO $SKELPKGS/$ARCH/pkgconf-2.1.1 name | read namenhash
+$ tar xfO $SKELPKGS/$ARCH/pkgconf-2.1.1 bin |
+ tar xfO - $namenhash/skelpkg/$namenhash/hooks/postinst/01rc-add
+#!/bin/sh -e
+_localpath="$(realpath local)"
+cat >>rc <<EOF
+export PKG_CONFIG_PATH="$_localpath/lib/pkgconfig:\$PKG_CONFIG_PATH"
+export PKG_CONFIG_PATH="$_localpath/libdata/pkgconfig:\$PKG_CONFIG_PATH"
+EOF
+@end example
--- /dev/null
+@node Build
+@cindex build system
+@unnumbered Build
+
+Build system is a computer that compiles various software and packs it
+the way easy installable on a remote system. Build system's
+architecture/OS is the same as slave's one. There is no
+cross-compilation ability. If you want to support multiple OSes, then
+use multiple build machines.
+
+@include build/skel.texi
+@include build/skelbin.texi
+@include build/skelpkg.texi
+@include build/hooks.texi
+@include build/skelenv.texi
+@include build/requirements.texi
+@include build/distfiles.texi
+@include build/tutorial.texi
--- /dev/null
+@node Requirements
+@cindex build requirements
+@section Requirements
+
+Build system, except for basic commands like @command{cc},
+(POSIX) @command{make}, requires at least:
+
+@table @asis
+
+@cindex bsdtar
+@item @command{bsdtar}
+GNU tar, available by default on GNU OSes, brings many complications in
+build-related scripts, because it is unable to decompress stdin data on
+the fly. Many GNU/Linux distributions have @command{libarchive-tools}
+package, containing libarchive-based @command{bsdtar} utility, that
+perfectly deals with any compressed archive transparently.
+
+@cindex meta4ra
+@item @url{http://www.meta4ra.stargrave.org/, meta4ra}
+Utilities for making and checking @file{.meta4} files. They are just a
+wrapper over XML and external hasher commands interoperation. They also
+can be used for downloading.
+
+@item @url{https://www.perl.org/, Perl}
+Shell scripts are hard to write in a portable way. For example there is
+no way to know file's size using POSIX-compatible utilities solely,
+except for feeding through @command{wc -c}. There is no way to get
+file's @code{mtime}, as @command{stat}'s options are completely
+different on BSD and GNU systems. Only small subset of features is
+common among @command{sed}, @command{awk}, @command{grep} utilities.
+There is no reliable portable way of using @command{sed -i} for example.
+
+That is why the only sane option is Perl in most cases. Its interpreter
+is minimalistic enough and tend to be included even in OpenWRT
+distributions. It behaves the same way on all widespread OSes (no zoo of
+loosely compatible dialects).
+
+@cindex redo
+@cindex goredo
+@item @url{http://cr.yp.to/redo.html, redo} build system
+@command{redo} started to be used in the project due to its built-in
+ability of using locks to prevent concurrent building of the same
+target. skelbins have to be installed to permanent paths, so concurrent
+builds will ruin them. @command{redo} contains atomic reliable writes of
+the target's result. And by definition it has dependency tracking of the
+targets. All of that greatly reduces the skel's code size. And as an
+unexpected feature you get ability to parallelise your builds.
+
+@url{http://www.goredo.cypherpunks.ru/, goredo} is recommended
+implementation, being very fast and having largest integration test suite.
+
+@cindex setlock
+@cindex lockf
+@cindex flock
+@item Any of @command{setlock}, @command{lockf}, @command{flock}
+@command{setlock} from @command{daemontools}, or
+@command{lockf} from BSD, or
+@command{flock} from GNU.
+
+@item @url{https://go.dev/, Go}
+Obviously, if you are planning to build Go-related software.
+
+@item FreeBSD's @command{fetch}, or @url{https://www.gnu.org/software/wget/, GNU Wget}, or @url{https://curl.se/, cURL}
+Although @command{meta4ra} can be used instead all of them.
+
+@end table
--- /dev/null
+@node skel
+@cindex skel
+@section skel
+
+Software build rules are placed in a so-called "skel" (short of
+"skeleton"). By default, each skel is just a shell script, telling how
+to get the source code, how to configure, compile and install it. If
+there is any architecture-dependent issues, then you just write
+necessary if-s in that skel.
+
+The most crucial decision is installation destination of the skel. In
+too many cases it can not be some temporary directory you create during
+the build. Because much software tend to hardcode various configured
+installation paths and it just won't work from other place. That is why,
+like Nix does, skel is installed to some @strong{permanent} path. If you
+have got enough RAM, it could be just a directory in @command{tmpfs}.
+
+Actually skels are not shell-scripts, but
+@url{http://cr.yp.to/redo.html, redo} targets. So they could be written
+on any other language, even be compiled programs. @command{redo} is used
+because of its built-in locking capabilities and ability to run jobs in
+parallel.
--- /dev/null
+@node skelbin
+@cindex skelbin
+@section skelbin
+
+Built skel is called "skelbin". Each skelbin is placed in its own
+directory, containing nothing more than just that installed skelbin. In
+most cases that is done trivially by specifying
+@option{--prefix=$SKELBINS/$NAME-$hsh} in the skel. @option{$NAME} is
+the skel's name, package's name, something like @file{perl-5.32.1}.
+
+@cindex namenhash
+@option{$hsh} is a supplementary hash value used to distinguish
+different builds/revisions of the same package. Currently it is just a
+hash of the skel itself and BASS'es current commit revision. It is
+URL-safe Base64 encoded string. So for example if @env{$SKELBINS} is
+@file{/tmp/skelbins} directory, then that Perl skelbin is installed to:
+@file{/tmp/skelbins/perl-5.32.1-zP3IpCa_XY7pGHCNYQxp_1KjQQNCyUl84LqSrWLErjA}.
+@var{$NAME-$hsh} is often called "namenhash" in the code.
+
+@cindex GNU Stow
+But that is just a single software skelbin directory. What if my another
+skel requires multiple other skelbins, depends on them?
+@url{https://www.gnu.org/software/stow/, GNU Stow} helps there. That is
+simple symbolic links manager. Assume you have got
+@file{/tmp/skelbins/perl5-$hsh0} and
+@file{/tmp/skelbins/gmake-4.4-$hsh1} skelbins and you current working
+directory is @file{/tmp/tmp.whatever}. @command{stow} is used to create
+symlinks from dependant skelbins to our current's @file{local/}
+subdirectory that way:
+
+@example
+/tmp/tmp.whatever/local/bin/gmake -> /tmp/skelbins/gmake-4.4-$hsh1/bin/gmake
+/tmp/tmp.whatever/local/bin/perl5 -> /tmp/skelbins/perl5-$hsh0/bin/gmake
+/tmp/tmp.whatever/local/lib/site_perl -> /tmp/skelbins/perl5-$hsh0/lib/site_perl
+/tmp/tmp.whatever/local/share/info -> /tmp/skelbins/gmake-4.4-$hsh1/share/info
+[...]
+@end example
+
+If you add @file{$tmp/local/bin} to your @env{$PATH} and
+@file{$tmp/local/lib} to @env{$LD_LIBRARY_PATH}, then both
+@command{gmake} and @command{perl} will be available to that local build
+and work perfectly. Alter @env{$CFLAGS}, @env{$LDFLAGS},
+@env{$PKG_CONFIG_PATH} and in most cases the whole building environment
+will be aware about those skelbins.
--- /dev/null
+@node skelenv
+@cindex skelenv
+@section skelenv
+
+skelpkgs are installed in so-called "skelenv" (skel-environment).
+skelenv is a directory with at least @file{local/} directory.
+
+@pindex build/bin/pkg-inst
+With @command{pkg-inst $PKG} command you can "install" skelpkgs to
+that skelenv. Installation procedure checks if skelbin (unpacked
+skelbin) already exists in @env{$SKELBINS}. Unpacks skelpkg if it is
+not. Then is runs @code{preinst} hook, @command{stow}, @code{postinst}
+hook.
+
+For @command{pkg-inst} usage, @file{skelpkgs/$PKG} subdirectory is
+created in skelenv, with:
+
+@itemize
+@item @file{lock} -- used by @command{pkg-inst} and @command{pkg-rm}
+ commands themselves.
+@item @file{namenhash} -- @env{$NAME-$hsh}
+@item @file{preinst.done}, @file{postinst.done}, @file{prerm.done},
+ @file{postrm.done} -- to track if corresponding hooks were
+ successfully executed (if they exist)
+@end itemize
+
+Only one version of the skelpkg can be installed. You can not use two
+skelpkgs with varying hashes inside them.
+
+Some skelpkgs tend to create and alter @file{rc} file in the root of
+skelenv. If is aimed to be sourced by your shell, to modify various
+environment variables for ease of skelenv usage.
+
+@pindex build/bin/pkg-rm
+@command{pkg-rm $PKG} command can be used to remove skelpkgs from your
+skelenv. Basically it is just un-stow-ing of them and removing the
+@file{skelpkgs/$PKG}, with consideration of the @code{*rm} hooks.
+
+@pindex build/bin/mk-skelenv
+@command{mk-skelenv} can be used to create skelenv in current directory.
+It creates @file{local/} directory and installs @code{rc-paths} and
+@code{stow} packages.
--- /dev/null
+@node skelpkg
+@cindex skelpkg
+@section skelpkg
+
+skelbins are not appropriate to be distributable as is, as a directories
+with bunch of files. That could be fragile due to network filesystem
+limitations. That is slow, because some skelbins already contains tens
+of thousands of files. And additional metadata has to be supplied with
+the skelbin. Your build steps are not aware about the exact
+@option{$hsh} values of the package and it would be insane to hardcode
+and repeatedly update after each BASS/skel's change. And skelbin can
+depend on another skelbin to work (runtime dependency).
+
+@cindex skelpkg format
+That is why, we have to use some kind of distribution format for solving
+the issues above. "skelpkg" is a packed skelbin with additional
+metadata. Similarly to Arch Linux and
+@url{https://www.gentoo.org/glep/glep-0078.html, Gentoo}, skelpkg is a
+single file, uncompressed POSIX pax archive with following entries:
+
+@table @file
+
+ @item name, name.meta4
+ Full name of the skelbin directory, @file{$NAME-$hsh}.
+ With an optional checksum file.
+
+ @item buildinfo, buildinfo.meta4
+ Just a textual information how that skelbin/skelpkg was built.
+ Currently just a current BASS'es commit revision.
+
+ @item bin.meta4, bin
+ Compressed POSIX pax archive containing the skelbin
+ (@file{$NAME-$hsh/} directory hierarchy).
+
+@end table
+
+@cindex pax archive
+@cindex ustar archive
+POSIX ustar archive format can not hold more than 8GiB of data and (very)
+long filenames. Forced pax usage guarantees compatibility with variety
+of OSes. GNU tar's format (also not having limitations above) easily
+could be unreadable on non-GNU systems. Unfortunately forced pax causes
+including of @command{atime}/@command{ctime} metainformation, that can
+not be omitted from @command{bsdtar} CLI. They prevent byte-to-byte
+deterministic archives creation. So we actually use ustar, that will be
+upgraded to pax if necessary (too long filenames or sizes).
+
+As pax/tar does not have any kind of index, as ZIP does, it is crucial
+to place the largest @file{bin} file at the very end of the archive. And
+that is why the outer archive is not compressed -- to easily seek among
+its entries.
+
+@cindex Metalink4
+@cindex .meta4
+Metalink4 (@url{https://datatracker.ietf.org/doc/html/rfc5854, RFC 5854})
+XML-based format is used to keep integrity checksums for files. It is
+well supported format by various tools and it is capable of storing
+multiple checksums simultaneously. That allows us to keep both Streebog
+hashes and much more faster ones.
+
+Nothing prevents you from extending it with additional files, for
+example holding cryptographic signatures.
+
+skelpkg's name is whatever you want. As a rule it should be just skel's
+@option{$NAME}. But what if you do not care about exact skel's version
+and just want to install whatever @command{perl} (for example)? You can
+always just create a (sym)link to it with a short name.
+
+@cindex Zstandard
+@file{bin} inner archive is compressed by default with
+@url{https://en.wikipedia.org/wiki/Zstd, Zstandard}. Being much faster
+than venerable @command{gzip}, it achieves much better compression
+ratio. But the main issues is its ultimate decompression speed, where
+hardly your CPU will be the bottleneck. Reducing amount of data transfer
+between disks/network and you system results in considerable decrease in
+transfer/installation time. That is why so many package managers and
+distributions already moved to its usage by default.
+
+@vindex COMPRESSOR
+But you can override and use any kind of compressor in the skelpkg (with
+@env{$COMPRESSOR} when using @command{build/lib/mk-pkg}). That is
+required for example for @command{zstd} skelpkg itself, that can not be
+decompressed without already having @command{zstd} installed.
--- /dev/null
+@node Build tutorial
+@section Tutorial
+
+One of the most trivial and simple skel of hello world program can be
+made with the following skel in @file{skel/hw.do}:
+
+@example
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+mkdir -p "$SKELBINS"/$ARCH/$NAME/bin
+cd "$SKELBINS"/$ARCH
+cp ~/src/misc/hw/hw.pl $NAME/bin
+"$BASS_ROOT"/build/lib/mk-pkg $NAME
+@end example
+
+But let's write a skel and build a skelpkg for convenient
+@url{https://www.gnu.org/software/parallel/, GNU parallel} utility.
+
+@enumerate
+
+@vindex BASS_RC
+@item Go to @file{build/} subdirectory, and create configuration file. I
+tend to call it @file{rc}. Set @env{$BASS_RC} environment variable with
+the path to it:
+
+@example
+$ cd build/
+$ cat >rc <<EOF
+MAKE_JOBS=8
+SKELBINS=/tmp/skelbins
+EOF
+$ export BASS_RC=`realpath rc`
+@end example
+
+@vindex ARCH
+@vindex SKELBINS
+@vindex BASS_REV
+You can look for variables you can set in @file{lib/rc}. One of the most
+important variable is @env{$ARCH}, which sets what architecture you are
+using. If you have got non-Git capable checkout, then probably you
+should also set @env{$BASS_REV} to some dummy string. When it is changed
+-- your skelbin's hashes too. @env{$SKELBINS} path is crucial to be the
+same as it will be on the slaves.
+
+@item Prepare distfile download rule. @file{distfiles/} directory
+contains @file{default.do} target, so it will be executed by default for
+every target in it (unless that target has its own @file{.do} file). And
+by default that target will download file based on corresponding
+@file{.meta4} file nearby.
+
+According to @command{parallel}'s homepage, it is advised to use GNU
+mirrors for downloading, so let's take its latest release with the
+signature:
+
+@example
+$ wget https://ftpmirror.gnu.org/parallel/parallel-20240122.tar.bz2
+$ wget https://ftpmirror.gnu.org/parallel/parallel-20240122.tar.bz2.sig
+@end example
+
+Its @file{.sig} file contains non-signature related commentary, that we
+should strip off:
+
+@example
+$ perl -i -ne 'print if /BEGIN/../END/' parallel-20240122.tar.bz2.sig
+@end example
+
+Many software provides signatures in binary format, that could be easily
+converted with @code{gpg --enarmor <....sig >....asc}.
+
+@pindex meta4ra-create
+Then we must create corresponding Metalink4 file, which includes
+signature, URL(s) and checksums. I will use
+@command{meta4ra-create} utility for that purpose:
+
+@example
+$ meta4ra-create \
+ -fn parallel-20240122.tar.bz2 \
+ -sig-pgp parallel-20240122.tar.bz2.sig \
+ https://ftpmirror.gnu.org/parallel/parallel-20240122.tar.bz2 \
+ <parallel-20240122.tar.bz2 >parallel-20240122.tar.bz2.meta4
+@end example
+
+@cindex skel example
+@item Write the skel file @file{skel/sysutils/parallel-20240122.do} itself:
+
+@example
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../../../..
+sname=$1.do . "$BASS_ROOT"/lib/rc
+. "$BASS_ROOT"/build/skel/common.rc
+
+bdeps="rc-paths stow archivers/zstd devel/gmake-4.4.1"
+rdeps="lang/perl-5.32.1"
+redo-ifchange $bdeps "$DISTFILES"/$name.tar.bz2 $rdeps
+hsh=$("$BASS_ROOT"/build/bin/cksum $BASS_REV $spath)
+. "$BASS_ROOT"/build/lib/create-tmp-for-build.rc
+"$BASS_ROOT"/build/bin/pkg-inst $bdeps $rdeps
+. ./rc
+$TAR xf "$DISTFILES"/$name.tar.bz2
+"$BASS_ROOT"/bin/rm-r "$SKELBINS"/$ARCH/$NAME-$hsh
+
+cd $NAME
+./configure --prefix="$SKELBINS"/$ARCH/$NAME-$hsh --disable-documentation >&2
+perl -i -ne 'print unless /^\s+citation_notice..;$/' src/parallel
+gmake -j$MAKE_JOBS >&2
+gmake install >&2
+
+cd "$SKELBINS"/$ARCH
+"$LIB"/prepare-preinst-010-rdeps $NAME-$hsh $rdeps
+mkdir -p $NAME-$hsh/skelpkg/$NAME-$hsh/hooks/postinst
+cat >$NAME-$hsh/skelpkg/$NAME-$hsh/hooks/postinst/01will-cite <<EOF
+#!/bin/sh
+echo yeah, yeah, will cite >&2
+EOF
+chmod +x $NAME-$hsh/skelpkg/$NAME-$hsh/hooks/postinst/01will-cite
+"$BASS_ROOT"/build/lib/mk-pkg $NAME-$hsh
+@end example
+
+@pindex build/pkg/mk-arch
+@item Create a link to it in skelpkgs's directory for the given
+architecture. You can use @file{pkg/mk-arch} to conveniently create
+@env{$ARCH} directory and link all missing skels to it:
+
+@example
+$ pkg/mk-arch
+@end example
+
+@item Run the skelpkg creation job itself:
+
+@example
+$ redo pkg/FreeBSD-amd64-13.2-RELEASE/sysutils/parallel-20240122
+@end example
+
+@item Check and confirm that created file looks like a skelpkg:
+
+@example
+% tar xfO pkg/FreeBSD-amd64-13.2-RELEASE/sysutils/parallel-20240122 bin | tar tf -
+parallel-20240122-xhVYojyMWD8XeHTuTe44q1NyHI2b_l5fKsopunYFzkc/
+parallel-20240122-xhVYojyMWD8XeHTuTe44q1NyHI2b_l5fKsopunYFzkc/bin/
+parallel-20240122-xhVYojyMWD8XeHTuTe44q1NyHI2b_l5fKsopunYFzkc/bin/env_parallel
+parallel-20240122-xhVYojyMWD8XeHTuTe44q1NyHI2b_l5fKsopunYFzkc/bin/[...]
+parallel-20240122-xhVYojyMWD8XeHTuTe44q1NyHI2b_l5fKsopunYFzkc/bin/parallel
+@end example
+
+@end enumerate
+
+Let's describe what is happening in the skel:
+
+@itemize
+
+@item
+ As @file{.do} file is not executable and does not have shebang, in
+ most popular @command{redo} implementations it will be started with
+ the @command{/bin/sh -e} command. So it is POSIX shell script file.
+ But you are free to use any interpreted language or even build and
+ even compile @file{.do} file itself with another @file{.do}.
+
+@vindex BASS_ROOT
+@item
+ Nearly all BASS scripts and programs require you to set
+ @env{$BASS_ROOT} (path to the root directory of the BASS project
+ (@file{build/}, @file{master/}, @file{slave/})) and @env{$BASS_RC},
+ which was already set by you before. @env{$BASS_ROOT} generally is
+ set by invoking script itself, considering its own path in BASS'es
+ hierarchy.
+
+ Line with @env{$BASS_ROOT} setting just can be copy-pasted among all
+ skels.
+
+@pindex common.rc
+@item
+ @file{common.rc} checks if we are running under @file{pkg/}
+ directory, not @file{skel/} one. If already prebuilt target result
+ exists in @file{pkg/.../prebuilt/$PKG}, then it is hardlinked as a
+ result. Be @strong{aware} that it also changes current working
+ directory to @env{$SKELPKGS}, so it can depend on @file{subdir/pkg}
+ packages.
+
+@vindex sname
+@vindex lib/rc
+@item
+ Nearly all BASS scripts and programs also assume that you will
+ source its @file{$BASS_ROOT/lib/rc} file, which sets various common
+ variables. And it expects you to pass @env{$sname} variable with
+ current scripts name.
+
+ It will check if @env{$BASS_RC} is specified and set:
+
+ @table @env
+
+ @vindex NAME
+ @item $NAME
+ Base name of the script/skel, without @file{.do} extension.
+
+ @vindex SPATH
+ @item $SPATH
+ Full path to the invoking script itself.
+
+ @vindex ARCH
+ @item $ARCH
+ Current machine's architecture, what it builds for.
+
+ @vindex SKELBINS
+ @item $SKELBINS
+ Path to directory with unpacked skelbins.
+
+ @vindex SKELPKGS
+ @item $SKELPKGS
+ Path to directory containing built @file{$ARCH/$SKELPKG} skelpkgs.
+
+ @vindex MAKE_JOBS
+ @item $MAKE_JOBS
+ Number of Make's parallel jobs. Cane be passed to @command{make}.
+
+ @vindex DISTFILES
+ @item $DISTFILES
+ Path to @file{$BASS_ROOT/build/distfiles} directory.
+
+ @item $BASS_REV
+ Current BASS'es source code revision.
+
+ @vindex SETLOCK
+ @vindex META4RA_HASHES
+ @vindex FSYNC
+ @vindex TAR
+ @vindex TMPDIR
+ @item $SETLOCK, $META4RA_HASHES, $FSYNC, $TAR, $TMPDIR
+
+ @end table
+
+ And of course they could be overridden in most cases with your
+ @env{$BASS_RC}.
+
+@item
+ @env{$bdeps} and @env{$rdeps} are just a convenient variables not to
+ repeat them multiple in the whole script. @command{parallel}
+ requires Perl during build and runtime. I called it "runtime
+ dependency". Actually it builds perfectly with POSIX/BSD
+ @command{make}, but as an exercise we assume that it builds only
+ with GNU make, so we also remember that is is "build dependency".
+
+ Nearly every skel requires @code{rc-paths} (see below), @code{stow}
+ and @code{zstd} skelpkgs.
+
+ @pindex skel/stow
+ @code{stow} skelpkg is very special: it can be build without
+ invoking GNU Make and dependant Perl. It also can be installed by
+ @command{pkg-inst} even if no Stow is installed: it will stow self
+ in @code{postinst} hook. Also, it installs @code{perl} skelpkg only
+ if it exists, so that way it works on a clean build system.
+
+ @pindex skel/zstd
+ @code{zstd} skelpkg makes @command{zstd*} compressor available, when
+ invoking @command{mk-pkg} command to create the resulting skelpkg.
+ Only a few skelpkgs use @command{gzip} compressor.
+
+@item
+ Then we call @command{redo-ifchange} to assure that our distfile
+ exists (otherwise it will be downloaded), as dependency packages
+ too. Remember that @command{redo} guarantees that it will run script
+ in the directory it lives? So here are dependent packages too. If
+ any of them does not exist, then @command{redo} will invoke its
+ building the same way as we invoked building of the
+ @command{parallel} skelpkg. It also assures that @code{rc-paths},
+ @code{stow} and @code{zstd} skelpkgs exist too.
+
+@pindex build/bin/cksum
+@item
+ Next we compute current skelpkg's hash. Currently it is used solely
+ to create a different hash if either BASS commit, or skel itself
+ changes. @file{$BASS_ROOT/build/bin/cksum} utility takes any number
+ of arguments, each of which is either string, or paths to file.
+ @command{cksum} will hash all that information.
+
+@pindex build/lib/create-tmp-for-build.rc
+@item
+ Then we source @file{$BASS_ROOT/build/lib/create-tmp-for-build.rc} helper.
+ @itemize
+ @item it creates and changes to temporary directory (@env{$tmp})
+ @item makes a trap to remove it in case of errors and exit
+ @item creates @file{local/} subdirectory
+ @end itemize
+
+@pindex build/bin/pkg-inst
+@item
+ Then it installs build and runtime dependencies with
+ @command{$BASS_ROOT/build/bin/pkg-inst} command.
+
+ Pay attention that initially it installs @code{stow} skelpkg, that
+ is required virtually by any other skelpkg for working properly. So
+ the order of skels is very important there.
+
+@pindex skel/rc-paths
+@item
+ Then it sources @file{./rc} file there. When did it appear? Each
+ skelpkg can contain @code{postinst} hooks. @code{rc-paths} skelpkg
+ is used solely for its side-effect of @code{postinst} hook, that
+ creates that @file{rc} file with altered
+ @env{$PATH},
+ @env{$MANPATH},
+ @env{$INFOPATH},
+ @env{$LD_LIBRARY_PATH},
+ @env{$CFLAGS},
+ @env{$CXXFLAGS},
+ @env{$LDFLAGS}
+ variables, making them aware of @file{local/} hierarchy.
+
+ When we install @command{pkgconf} skelpkg, then it appends altering
+ of @env{$PKG_CONFIG_PATH} variable in its @code{postinst} hook too.
+
+ Now we are aware of various installed packages and specific
+ environment variables.
+
+@item
+ Unpack the distfile with @command{$TAR} to current temporary
+ directory.
+
+@pindex build/bin/rm-r
+@item
+ Remove existing skelbin if it exists. In theory, each time you make
+ any modifications to your skels, you make a commit in BASS
+ repository, thus changing the @env{$BASS_REV} and corresponding
+ @env{$hsh} value. So each time your new skelbin build should be in
+ different directory. But when you are developing your skel, no
+ commits and hashes are changed. Moreover your previous build attempt
+ may fail due to I/O or system error.
+
+ Because of @command{redo}'s lockfiles it should be safe to remove
+ existing skelbin, because noone must be using it.
+
+ Why not trivial @command{rm -fr}? Because skelbins are forced to be
+ read-only directories, that is why you just won't have enough
+ permissions to remove them. @command{$BASS_ROOT/bin/rm-r} deals with it.
+
+@item
+ Go to the unpacked directory and @command{configure} the program at
+ last! Pay attention to proper installation to immutable/permanent
+ path under @env{$SKELBINS/$ARCH/$NAME-$hsh}.
+
+ Remember that any output to stdout is saved by @command{redo} as a
+ result of the target! So do not forget to redirect messages to
+ stderr or silence them at all.
+
+@item
+ GNU Parallel has possibly annoying and disturbing advertisement about
+ its citing. Let's patch it and remove the annoying code. You can do
+ whatever your want with the code. Download a patch in distfiles and
+ use it here. Keep some source code nearby in skels directory. No
+ limitations.
+
+@item
+ Call @command{gmake} to build it up. Because @command{gmake} skelpkg
+ is installed, that command will be available under that name even on
+ GNU systems. Use @env{$MAKE_JOBS} if it is appropriate and safe to
+ be used. Aware that many programs can not be built in parallel build
+ mode.
+
+@item
+ As @command{parallel} requires Perl at runtime, we need to assure it
+ is installed when our skelpkg is going to be installed. Create a
+ @code{preinst} @ref{skelpkg hooks, hook} for that purpose, that will
+ call @command{pkg-inst} command.
+
+ @pindex build/lib/prepare-preinst-010-rdeps
+ Because runtime dependencies are often used hooks, there is
+ @command{prepare-preinst-010-rdeps} for that. Its arguments will be
+ converted to corresponding
+ @file{skelpkg/$namenhash/hooks/preinst/010-rdeps} executable file.
+
+@item
+ Just as a practice, let's also create @code{postinst} hook, that
+ will print our promise that we will cite that GNU Parallel. Just an
+ ordinary @file{01will-cite} script. After @command{parallel-20240122}
+ skelpkg installation, you will see that promise message.
+
+@pindex build/lib/mk-pkg
+@item
+ And at last we are ready to create the final skelpkg from our
+ existing skelbin directory. @command{$BASS_ROOT/build/lib/mk-pkg}
+ takes a name of the directory you need to pack in skelpkg. It will
+ automatically include necessary @file{name} and @file{buildinfo}
+ files with corresponding @file{.meta4} files.
+
+ @command{mk-pkg} outputs skelpkg to the stdout, that is not
+ explicitly captured in that @command{redo} target, passing it
+ through to the @command{redo} itself, making it the resulting
+ skelpkg.
+
+@end itemize
--- /dev/null
+@node Daemontools
+@cindex daemontools
+@section Daemontools
+
+Most daemons and services are designed to be run under some supervisor
+program. They will be automatically restarted in case of failure. There
+will be reliable signalling ability. And flexible easy to use logging
+capabilities.
+
+@url{http://cr.yp.to/daemontools.html, daemontools}-like
+solutions are advisable.
+@url{https://untroubled.org/daemontools-encore/, daemontools-encore} is
+very good option. But @url{http://smarden.org/runit/, runit} or
+@url{http://www.skarnet.org/software/s6/, s6} are also perfect choices.
+They are cross-platform, easy to compile and has low learning curve.
--- /dev/null
+@node CI
+@cindex CI
+@unnumbered CI
+
+CI system consists of master and slave, joined together by shared
+filesystem. Masters create tasks for slaves. Slaves take those tasks and
+create jobs with computation results.
+
+@verbatiminclude ci/overview.plantuml.txt
+
+@include ci/task.texi
+@include ci/job.texi
+@include ci/daemontools.texi
+@include ci/master.texi
+@include ci/slave.texi
+@include ci/reporter.texi
+@include ci/notifier.texi
--- /dev/null
+@node Job
+@cindex job
+@section Job
+
+Job is the slave's output of running/completed task.
+This is a directory with at least:
+
+@table @file
+
+@item alive
+Constantly @command{touch}ed file when job is running. That updates
+file's mtime and tells that process is still alive.
+
+@item host.txt
+Slave's hostname. It is also used to determine when job was started.
+
+@item tmp-path.txt
+Path to temporary directory on the slave, in case it failed and you
+wish to look at its state.
+
+@item pkg.txt
+Just list of installed skelpkgs during the build.
+
+@item env.txt
+Dump of environment variables used to start each step.
+
+@item steps/
+Subdirectory containing more subdirectories named after each step.
+Each of those directories contains at least:
+
+ @table @file
+
+ @item started
+ Empty file used for creation time determination.
+
+ @item stdout.txt, stderr.txt
+ @url{http://cr.yp.to/libtai/tai64.html, TAI64N}-prefixed output
+ of corresponding streams.
+
+ @item exitcode.txt
+ May not exist if step is in progress. Contains either decimal
+ value of the step's return code, or @code{timeout} string in
+ case the step is killed due to longtime lack of output.
+
+ @end table
+
+@end table
--- /dev/null
+@node Master
+@section Master
+
+Master node(s) are intended to create tasks. As a rule they are created
+as an event on someone pushing the commit. There are no specialised
+committed daemons running on them, because each project's task making
+process can vastly differ in details. Only atomic counter utilities are
+commonly used by "task makers" as a rule.
+
+Let's see how example @file{example/goredo} CI pipeline is created.
+We want to run the tests when someone pushes the commit.
+
+@itemize
+
+@item
+ Prepare necessary directories at the very beginning:
+
+@example
+mkdir -p /nfs/revs/goredo
+mkdir -p /nfs/tasks/ctr/0
+mkdir -p /nfs/tasks/@{cur,old,tmp@}
+mkdir /nfs/jobs
+@end example
+
+@item
+ First thing to do is to create Git's @file{post-receive} hook,
+ that will touch files with the revision needed to be tested.
+
+@example
+$ cat >goredo.git/hooks/post-receive <<EOF
+#!/bin/sh -e
+
+REVS=/nfs/revs/goredo
+ZERO="0000000000000000000000000000000000000000"
+
+read prev curr ref
+[ "$curr" != $ZERO ] || exit 0
+[ "$prev" != $ZERO ] || prev=$curr^
+git rev-list $prev..$curr | while read rev ; do
+ mkdir -p $REVS/$ref
+ echo BASSing $ref/$rev... >&2
+ touch $REVS/$ref/$rev
+done
+EOF
+@end example
+
+ After pushing a bunch of commits, corresponding empty files in
+ revisions directory will be created. Each filename is a commit's
+ hash. Those are basically a notification events about the need to
+ create corresponding tasks.
+
+@item
+ Someone has to process those events. Each project has its own
+ @command{task-maker}, because there are so many variations how code
+ and build steps can be retrieved and created. Let's create one:
+
+@example
+#!/bin/sh -e
+
+[ -n "$BASS_ROOT" ]
+sname="$0" . $BASS_ROOT/lib/rc
+[ -n "$REVS" ] || @{
+ echo '"REVS"' is not set >&2
+ exit 1
+@}
+[ -n "$PROJ" ] || @{
+ echo '"PROJ"' is not set >&2
+ exit 1
+@}
+[ -n "$STEPS" ] || @{
+ echo '"STEPS"' is not set >&2
+ exit 1
+@}
+[ -n "$ARCHS" ] || @{
+ echo '"ARCHS"' is not set >&2
+ exit 1
+@}
+
+cd $REVS
+rev=$(find . -type f | sed -n 1p)
+[ -n "$rev" ]
+rev_path=$(realpath $rev)
+rev=$(basename $rev)
+
+task_proj=goredo
+task_version=$(cd $PROJ ; $BASS_ROOT/master/bin/version-for-git $rev)
+[ -n "$task_version" ]
+task=":$task_proj:$task_version:"
+mkdir $TASKS/tmp/$task
+trap "rm -fr $TASKS/tmp/$@{task@}*" HUP PIPE INT QUIT TERM EXIT
+
+cd $STEPS
+$BASS_ROOT/master/bin/version-for-git >$TASKS/tmp/$task/steps-version.txt
+git rev-parse @ >$TASKS/tmp/$task/steps-revision.txt
+# $TAR cf - --posix * | $COMPRESSOR >$TASKS/tmp/$task/steps.tar
+git archive @ | $COMPRESSOR >$TASKS/tmp/$task/steps.tar
+
+cd $PROJ
+echo $task_version >$TASKS/tmp/$task/code-version.txt
+git show --no-patch --pretty=fuller $rev >>$TASKS/tmp/$task/code-version.txt
+echo $rev >$TASKS/tmp/$task/code-revision.txt
+git archive $rev | $COMPRESSOR >$TASKS/tmp/$task/code.tar
+
+tasks=$($BASS_ROOT/master/bin/clone-with-ctr $task
+ $(for arch in $ARCH ; do echo $@{task@}$@{arch@} ; done))
+[ -n "$tasks" ]
+for t in $tasks ; do
+ echo $t
+ mv $t ../cur
+done
+
+rm $rev_path
+@end example
+
+ @itemize
+ @item
+ Source @file{$BASS_ROOT/lib/rc} to get all possibly useful
+ environmental variables. Expect @env{$REVS} (set by @env{$BASS_RC}
+ sourced file) point to the directory filled by @file{post-receive}
+ hook. Expect @env{$PROJ} point to the Git repository where we can
+ read the code. Expect @env{$STEPS} point to the Git repository with
+ build steps for that project. Expect @env{$ARCHS} to hold whitespace
+ separated list of architectures to create tasks for.
+
+ @item
+ Take one file from @file{$REVS} directory. Then go to project's root
+ and use @command{version-for-git} to get human readable name of the
+ commit.
+
+ @item
+ "task" variable holds partly created name of the future task.
+
+ @item
+ Create temporary directory in @file{$TASKS/tmp}.
+
+ @item
+ Go to @file{$STEPS}, save its Git's commit version in
+ @file{$task/steps-revision.txt} and save all its code in
+ @file{$task/steps.tar}.
+
+ @item
+ Go to @file{$PROJ} and similarly save its code version and code itself.
+
+ @pindex clone-with-ctr
+ @item
+ Go to temporary directory for tasks and call
+ @command{clone-with-ctr}. It copies your specified temporary
+ directory to directories with the architecture in their name. One
+ directory per architecture specified in @env{$ARCHS}.
+
+ Why not ordinary @command{cp -a}? It fsyncs your source directory
+ and hardlinks all files, taking virtually no additional space for
+ each of your task.
+
+ @item
+ At last move you fsynced tasks outside the @file{tmp/}. That way
+ they will appear atomically for processed looking at @file{cur/}.
+ @end itemize
+
+@item
+ That @command{task-maker} is expected to be run under some kind of
+ supervisor, like @ref{Daemontools, daemontools}.
+
+@item
+ Well, task is created, event is removed. Master finished its job.
+ Now it is time for slave to acquire one of appeared tasks.
+
+@end itemize
+
+Note that you can easily create tasks on a cron events, just by touching
+files at specified time. Whatever workflow you wish!
--- /dev/null
+@node Notifier
+@cindex Notifier
+@unnumbered Notifier
+
+@pindex master/bin/notify-non-started
+@pindex master/bin/notify-non-taken
+@command{master/bin/notify-non-started} and
+@command{master/bin/notify-non-taken} commands can be used to notify
+you about problematic tasks.
--- /dev/null
+@startuml
+hide footbox
+participant git
+participant "task-maker"
+participant NFS
+participant "task-taker"
+participant "job-starter"
+
+git -> NFS : revs/$COMMIT
+"task-maker" <- NFS : revs/$COMMIT
+"task-maker" -> NFS : mkdir $CTR/+1
+"task-maker" <- NFS : rc=0
+"task-maker" -> NFS : $TASKS/$CTR:task
+"task-taker" <- NFS : $TASKS/$CTR:task
+"task-taker" -> NFS : mkdir $JOBS/$CTR:task
+"task-taker" <- NFS : rc=0
+"task-taker" -> "job-starter" : $JOBS/$CTR:task
+"job-starter" -> NFS : touch $JOBS/$CTR:task/alive
+"job-starter" -> "job-starter" : "steps-runner"
+"job-starter" -> NFS : touch $JOBS/$CTR:task/finished
+
+@enduml
--- /dev/null
+@node Reporter
+@cindex Reporter
+@unnumbered Reporter
+
+@pindex master/bin/reporter
+@command{master/service/reporter} can be run on a master node. This is
+Web-server showing you the current tasks/jobs state.
+
+A list of tasks is shown on its main page. Job's start time is
+@file{host.txt} file's creation time. Job's finished time is the last
+timestamp on @file{alive} file.
+
+List of steps makes columns for each task. Similarly start time,
+finished time and duration are shown. Step's colour depends on
+@file{exitcode.txt} value.
+
+Link to @file{stdout.txt}/@file{stderr.txt} files is also shown. Pay
+attention, that it contains @code{?tai64nlocal=1} parameters, that
+converts raw hexadecimal TAI64N timestamps to humand readable form.
--- /dev/null
+@node Slave
+@section Slave
+
+After master created some tasks on a shared filesystem, slave must take
+and execute them.
+
+@itemize
+
+@item
+ @pindex task-taker
+ @command{slave/bin/task-taker} is used for that task:
+
+@example
+$ export BASS_ROOT=/path/to/bass BASS_RC=/path/to/rc
+$ $BASS_ROOT/slave/bin/task-taker
+@end example
+
+ It is also expected to be run under some kind of supervisor. It
+ saves @file{lastnum} file in current directory with the latest
+ task's counter value it processed.
+
+ You may run multiple @command{task-takers} to run jobs in parallel.
+
+@item
+ @command{task-taker} runs @command{slave/bin/job-starter} on a taken
+ task.
+
+@item
+ @pindex slave/bin/job-starter
+ Initially @command{job-starter} takes the task and checks does it
+ have appropriate architecture and probably optional hostname set. It
+ exits successfully if task is not for us. Another slave will take it
+ instead.
+
+@item
+ @cindex slave-base
+ Then it creates the job @file{$JOBS/cur/$task} state. Various
+ metainformation is filled in it, like path to temporary directory,
+ hostname and so on. @command{build/bin/mk-skelenv} creates the
+ @ref{skelenv} in that temporary directory and installs
+ @code{slave-base} package, that depends on various utilities needed
+ for running the testing steps.
+
+@item
+ @cindex tmux
+ @file{tmux} executable file is created in that directory, which you
+ can use to attach to the job's @command{tmux} instance.
+
+@item
+ @file{code.tar} and @file{steps.tar} are unpacked to that directory
+ under @file{code/} and @file{steps/} paths.
+
+@item
+ Background heartbeat process is started, that touches
+ @file{$job/alive} file every second.
+
+@item
+ @pindex slave/bin/steps-runner
+ Then the @command{tmux} is started in @file{steps/} directory and
+ runs @command{slave/bin/steps-runner}.
+
+@item
+ If @command{steps-runner} succeeds, then temporary directory is
+ removed. Otherwise @command{tmux} is left running and waiting for
+ someone to attach it and press Enter. If no input happens for
+ @env{$FAILED_JOB_WAITTIME} seconds (one hour be default), it exits
+ and removes the temporary directory.
+
+@end itemize
+
+What exactly does @command{steps-runner}?
+
+@itemize
+
+@item
+ For each step, sorted lexicographically, it creates corresponding output
+ directory in job's directory with @file{started}, @file{stdout.txt},
+ @file{stderr.txt} files.
+
+@item
+ Step is run with its stdout/stderr redirected through
+ @command{tai64n} utility, prepending the timestamps for each output
+ line. Its exitcode it saved in @file{exitcode.txt}. It is always run
+ in the @file{code/} directory.
+
+@item
+ Background process is also started to look for step's output
+ progress. Every second it checks if any stdout/stderr output
+ happened for for the last @env{$LINE_TIMEOUT} (ten minutes by
+ default) seconds. If step is stuck (no output for that time), then
+ it is killed and @code{timeout} is written to @file{exitcode.txt}.
+
+@end itemize
--- /dev/null
+@node Task
+@cindex task
+@section Task
+
+Task is the input for slaves. This is a directory with at least:
+
+@table @file
+
+@cindex code.tar
+@cindex code-revision.txt
+@cindex code-version.txt
+@item code.tar, code-revision.txt, code-version.txt
+Compressed tarball of the code you have to test. As a rule that should
+be some kind of @command{git archive} output. Text files accompany it
+with human readable version and revision (commit hash) information.
+
+@cindex steps.tar
+@cindex steps-revision.txt
+@cindex steps-version.txt
+@item steps.tar, steps-revision.txt, steps-version.txt
+Same as above, but archive contains the steps your slave has to perform.
+Steps is a bunch of lexicographically ordered executable files.
+
+@end table
+
+@cindex task name
+Task's directory name has several fields:
+@code{NUM:PROJ:VERSION:ARCH[:HOST]}. Optional @code{HOST} can be used to
+force job run on a specified host. @code{NUM} is constantly increasing
+number, some kind of unique identifier of the tasks.
+
+@vindex TASKS
+@file{$TASKS} directory has four subdirectories:
+
+@table @file
+@item ctr
+ Atomically incrementing counter state.
+@item tmp
+ Temporary storage for newly creating tasks.
+ They are moved to @file{cur/} after.
+@item cur
+ Ready to be taken tasks.
+@item old
+ Archived tasks, non-taken or completed.
+@end table
--- /dev/null
+@node Tutorial
+@section Tutorial
+
+Let's create test pipeline for @command{goredo} project.
+We want to run
+the tests when someone pushes the commit.
+
+@enumerate
+
+@item
+ Prepare necessary directories at the very beginning:
+
+@example
+mkdir -p /nfs/revs/goredo
+mkdir -p /nfs/tasks/ctr/0
+mkdir -p /nfs/tasks/@{cur,old,tmp@}
+mkdir /nfs/jobs
+@end example
+
+@item
+ First thing to do is to create Git's @file{post-receive} hook,
+ that will touch files with the revision needed to be tested.
+
+@example
+$ cat >goredo.git/hooks/post-receive <<EOF
+#!/bin/sh -e
+
+REVS=/nfs/revs/goredo
+ZERO="0000000000000000000000000000000000000000"
+
+read prev curr ref
+[ "$curr" != $ZERO ] || exit 0
+[ "$prev" != $ZERO ] || prev=$curr^
+git rev-list $prev..$curr | while read rev ; do
+ mkdir -p $REVS/$ref
+ echo BASSing $ref/$rev... >&2
+ touch $REVS/$ref/$rev
+done
+EOF
+@end example
+
+ After pushing a bunch of commits, corresponding empty files in
+ revisions directory will be created. Each filename is a commit's
+ hash. Those are basically a notification events about the need to
+ create corresponding tasks.
+
+@item
+ Someone has to process those events. Each project has its own
+ @command{task-maker}, because there are so many variations how code
+ and build steps can be retrieved and created. Let's create one:
+
+@example
+#!/bin/sh -e
+
+[ -n "$BASS_ROOT" ]
+sname="$0" . $BASS_ROOT/lib/rc
+[ -n "$REVS" ] || @{
+ echo '"REVS"' is not set >&2
+ exit 1
+@}
+[ -n "$PROJ" ] || @{
+ echo '"PROJ"' is not set >&2
+ exit 1
+@}
+[ -n "$STEPS" ] || @{
+ echo '"STEPS"' is not set >&2
+ exit 1
+@}
+[ -n "$ARCHS" ] || @{
+ echo '"ARCHS"' is not set >&2
+ exit 1
+@}
+
+cd $REVS
+rev=$(find . -type f | sed -n 1p)
+[ -n "$rev" ]
+rev_path=$(realpath $rev)
+rev=$(basename $rev)
+
+task_proj=goredo
+task_version=$(cd $PROJ ; $BASS_ROOT/master/bin/version-for-git $rev)
+[ -n "$task_version" ]
+task=":$task_proj:$task_version:"
+mkdir $TASKS/tmp/$task
+trap "rm -fr $TASKS/tmp/$@{task@}*" HUP PIPE INT QUIT TERM EXIT
+
+cd $STEPS
+$BASS_ROOT/master/bin/version-for-git >$TASKS/tmp/$task/steps-version.txt
+git rev-parse @ >$TASKS/tmp/$task/steps-revision.txt
+# $TAR cf - --posix * | $COMPRESSOR >$TASKS/tmp/$task/steps.tar
+git archive @ | $COMPRESSOR >$TASKS/tmp/$task/steps.tar
+
+cd $PROJ
+echo $task_version >$TASKS/tmp/$task/code-version.txt
+git show --no-patch --pretty=fuller $rev >>$TASKS/tmp/$task/code-version.txt
+echo $rev >$TASKS/tmp/$task/code-revision.txt
+git archive $rev | $COMPRESSOR >$TASKS/tmp/$task/code.tar
+
+tasks=$($BASS_ROOT/master/bin/clone-with-ctr $task
+ $(for arch in $ARCH ; do echo $@{task@}$@{arch@} ; done))
+[ -n "$tasks" ]
+for t in $tasks ; do
+ echo $t
+ mv $t ../cur
+done
+
+rm $rev_path
+@end example
+
+ @itemize
+ @item
+ Source @file{$BASS_ROOT/lib/rc} to get all possibly useful
+ environmental variables. Expect @env{$REVS} (set by @env{$BASS_RC}
+ sourced file) point to the directory filled by @file{post-receive}
+ hook. Expect @env{$PROJ} point to the Git repository where we can
+ read the code. Expect @env{$STEPS} point to the Git repository with
+ build steps for that project. Expect @enx{$ARCHS} to hold whitespace
+ separated list of architectures to create tasks for.
+
+ @item
+ Take one file from @file{$REVS} directory. Then go to project's root
+ and use @command{version-for-git} to get human readable name of the
+ commit.
+
+ @item
+ "task" variable holds partly created name of the future task.
+
+ @item
+ Create temporary directory in @file{$TASKS/tmp}.
+
+ @item
+ Go to @file{$STEPS}, save its Git's commit version in
+ @file{$task/steps-revision.txt} and save all its code in
+ @file{$task/steps.tar}.
+
+ @item
+ Go to @file{$PROJ} and similarly save its code version and code itself.
+
+ @pindex clone-with-ctr
+ @item
+ Go to temporary directory for tasks and call
+ @command{clone-with-ctr}. It copies your specified temporary
+ directory to directories with the architecture in their name. One
+ directory per architecture specified in @env{$ARCHS}.
+
+ Why not ordinary @command{cp -a}? It fsyncs your source directory
+ and hardlinks all files, taking virtually no additional space for
+ each of your task.
+
+ @item
+ At last move you fsynced tasks outside the @file{tmp/}. That way
+ they will appear atomically for processed looking at @file{cur/}.
+ @end itemize
+
+@item
+ That @command{task-maker} is expected to be run under some kind of
+ supervisor, like @ref{Daemontools, daemontools}.
+
+@item
+ Well, task is created, event is removed. Master finished its job.
+ Now it is time for slave to acquire one of appeared tasks.
+
+ @pindex task-taker
+ @command{slave/bin/task-taker} is used for that task:
+
+@example
+$ BASS_ROOT=/path/to/bass BASS_RC=/path/to/rc $BASS_ROOT/slave/bin/task-taker
+@end example
+
+ It is also expected to be run under some kind of supervisor. It
+ saves @file{lastnum} file in current directory with the latest
+ task's counter value it processed.
+
+@item
+ @command{task-taker} runs @command{slave/bin/job-starter} on a task.
+
+@end enumerate
--- /dev/null
+#!/bin/sh -e
+
+git clean -d --force --quiet --exclude '!**/.redo' -X
--- /dev/null
+@node Contacts
+@cindex contacts
+@cindex maillist
+@unnumbered Contacts
+
+There is a discussion maillist available at
+@url{http://lists.cypherpunks.ru/bass.html, bass}.
+
+Official website is @url{http://www.bass.cypherpunks.ru/}.
--- /dev/null
+src=${1%.txt}
+plantuml -tutxt -pipe <$src
--- /dev/null
+\input texinfo
+@settitle BASS @value{VERSION}
+
+@copying
+Copyright @copyright{} 2024 @email{stargrave@@stargrave.org, Sergey Matveev}
+@end copying
+
+@node Top
+@top BASS @value{VERSION}
+
+@quotation
+Simple as bass guitar with only a few strings, yet as powerful!
+@end quotation
+
+BASS -- Build Automation Steady System. It includes cross-platform
+package manager and distributed continuous integration system.
+
+Package manager is mainly intended for preparing necessary dependencies
+for continuous integration build processes. But it can be used
+completely independently.
+
+Everything is aimed to work under at least
+@url{https://www.freebsd.org/, FreeBSD} and
+@url{https://www.debian.org/, Debian} GNU/Linux
+(@url{http://astralinux.ru/, Astra SE} particularly, that is very
+popular distribution in Russian Federation, although being closed-source
+proprietary one) operating systems. There should be minimal number of
+required dependencies on each node of the system, to ease installation
+and have as less burden as possible. Just a single small text file
+should be enough for whole configuration of the node. There should be
+just a few executable files and available commands on each node. Nearly
+everything is written on POSIX shell.
+
+BASS is @url{https://www.gnu.org/philosophy/pragmatic.html, copylefted}
+@url{https://www.gnu.org/philosophy/free-sw.html, free software}
+licenced under @url{https://www.gnu.org/licenses/gpl-3.0.html, GNU GPLv3}.
+
+@insertcopying
+
+@include why.texi
+@include overview.texi
+@include install.texi
+@include build/index.texi
+@include ci/index.texi
+@include contacts.texi
+
+@node Indices
+@unnumbered Indices
+
+@node Concepts Index
+@section Concepts Index
+@printindex cp
+
+@node Programs Index
+@section Programs Index
+@printindex pg
+
+@node Variables Index
+@section Variables Index
+@printindex vr
+
+@bye
--- /dev/null
+@node Install
+@unnumbered Install
+
+Look at build @ref{Requirements, requirements}. Some of those programs
+you can build with the help of @file{contrib/prepare-deps} scripts. Both
+master and slave nodes most likely will require @ref{Daemontools,
+daemontools}-like solution also, but you should be able to build it by
+BASS build system itself and install using it in @ref{skelenv}.
+
+Currently a heavy work in progress, especially related to CI-part of the
+project (package building/management is pretty steady now).
+
+@example
+$ git clone git://git.cypherpunks.ru/bass.git
+$ cd bass/contrib/prepare-deps
+$ ./dl
+$ ./do
+$ PATH="$(realpath local/bin):$(realpath local/go/bin):$PATH"
+$ cd ../../build
+$ echo SKELBINS=/tmp/skelbins >rc
+$ export BASS_RC=$(realpath rc)
+$ pkg/mk-arch
+$ redo pkg/FreeBSD-amd64-13.2-RELEASE/shells/zsh-5.9
+$ cd /tmp
+$ mkdir myskelenv
+$ cd myskelenv
+$ /path/to/bass/build/bin/mk-skelenv
+$ /path/to/bass/build/bin/pkg-inst shells/zsh-5.9
+$ . ./rc
+$ zsh
+@end example
--- /dev/null
+@startuml
+hide footbox
+participant build
+participant master
+participant NFS
+participant slave
+
+build -> NFS : skelpkg(s)
+master -> NFS : task
+slave <- NFS : task, skelpkg(s)
+slave -> NFS : job
+master <- NFS : view(job)
+
+@enduml
--- /dev/null
+@node Overview
+@unnumbered Overview
+
+@cindex machine roles
+BASS ecosystem has at least three separate roles for the involved
+machines:
+
+@itemize
+@item @strong{build} machine(s)
+@item @strong{master}(s)
+@item bunch of @strong{slave}s
+@end itemize
+
+@cindex NFS
+@cindex shared filesystem
+All of them use shared filesystem(s). There is no any kind of network
+protocol API between the nodes. No explicit queue manager, lock manager
+or anything like that. Just a shared filesystem. You can run all of that
+on single computer with single generic filesystem. You can share some
+parts of it via @command{nullfs} with isolated slave jails. You can run
+them on remote machines connected with NFS. SMB and CephFS are
+POSIX-compatible enough and also have @command{mkdir} operation atomic,
+which is the only requirement here.
+
+Build node prepares binary packages and saves them on shared directory,
+making them available to slave nodes. Master node creates task in shared
+directory. Slave takes it, and starts a job, executing the steps
+included in the tasks, which may install those prebuilt binary packages.
+Job's results are saved in shared directory, which is browseable on
+master node.
+
+@verbatiminclude overview.plantuml.txt
--- /dev/null
+@node Why?
+@unnumbered Why?
+
+Why not @url{https://www.buildbot.net/, BuildBot},
+@url{https://www.jenkins.io/, Jenkins},
+@url{https://www.travis-ci.com/, TravisCI} or similar solutions? They
+are aimed to be run on large installations, where highly isolated
+untrusted code is run. No developers are expected to be able to login on
+their slave nodes for debugging in case of tests failure. But if you
+want a small installation, where you can easily login everywhere, where
+only Unix-like systems are involved, all those CI solutions are a burden
+to install and quickly use.
+
+Moreover all of them require bloated JavaScript-driven Web-browser.
+BuildBot is some kind of an exception, being much more simpler. Its
+early versions worked without JS-poisoned Web-interface. But try to
+install Python software with @strong{source} dependencies from PyPI --
+you will be excited to see dependency of very basic packages on Rust.
+
+What is the problem with Rust? There is no official way to bootstrap it,
+except for downloading and blind execution of some binaries for your
+platform.
+
+None of them has any kind of package management. Actually does not have
+to, but you are expected to manually install required software on each
+slave in that case. Docker could help there, but it supports only
+GNU/Linux.
+
+But what portable package manager choices are available, supporting
+multiple completely different operating systems?
+@url{https://nixos.org/, Nix} supports only GNU/Linux for a long time
+(however initially it had support of FreeBSD at least). The only
+cross-platform well-known choice is NetBSD's
+@url{https://www.pkgsrc.org/, pkgsrc}. But, unlike Nix, being the
+classical installation system, it won't be able to install multiple
+version of the same package painlessly or work in completely isolated
+temporary directory of the CI's build job. And both of them, especially
+Nix, have considerable learning curve.
--- /dev/null
+Example CI pipeline project for goredo.
+
+* post-receive is a Git-hook
+* steps/ is the testing steps
+* task-maker is a daemon intended to be run under supervisor
+* rc contains an additional configurations options used by those scripts
--- /dev/null
+#!/bin/sh -e
+
+REVS=/nfs/revs/goredo
+ZERO="0000000000000000000000000000000000000000"
+
+read prev curr ref
+[ "$curr" != $ZERO ] || exit 0
+[ "$prev" != $ZERO ] || prev=$curr^
+git rev-list $prev..$curr | while read rev ; do
+ mkdir -p $REVS/$ref
+ echo BASSing $ref/$rev... >&2
+ touch $REVS/$ref/$rev
+done
--- /dev/null
+REVS=/nfs/revs
+STEPS=/home/stargrave/work/bass/projs/goredo/steps
+PROJ=/home/stargrave/tmp/goredo.git
+ARCHS="FreeBSD-amd64-13.2-RELEASE whatever-arch"
--- /dev/null
+#!/bin/sh -ex
+
+cd ..
+$BASS_ROOT/build/bin/pkg-inst go-stringer-0.18.0 sharness-1.2.0 go1.22.4 perl-5.32.1
--- /dev/null
+#!/bin/sh -ex
+
+go generate
--- /dev/null
+#!/bin/sh -ex
+
+go build
+./goredo -symlinks
--- /dev/null
+#!/bin/sh -ex
+
+PATH="$(realpath .):$PATH"
+export SHARNESS_TEST_SRCDIR="$(realpath ../local/share/sharness)"
+cd t
+prove .
--- /dev/null
+#!/bin/sh -e
+
+[ -n "$BASS_ROOT" ]
+sname="$0" . $BASS_ROOT/lib/rc
+[ -n "$REVS" ] || {
+ echo '"REVS"' is not set >&2
+ exit 1
+}
+[ -n "$PROJ" ] || {
+ echo '"PROJ"' is not set >&2
+ exit 1
+}
+[ -n "$STEPS" ] || {
+ echo '"STEPS"' is not set >&2
+ exit 1
+}
+[ -n "$ARCHS" ] || {
+ echo '"ARCHS"' is not set >&2
+ exit 1
+}
+
+cd $REVS
+rev=$(find . -type f | sed -n 1p)
+[ -n "$rev" ]
+rev_path=$(realpath $rev)
+rev=$(basename $rev)
+
+task_proj=goredo
+task_version=$(cd $PROJ ; $BASS_ROOT/master/bin/version-for-git $rev)
+[ -n "$task_version" ]
+task=":$task_proj:$task_version:"
+mkdir $TASKS/tmp/$task
+trap "rm -fr $TASKS/tmp/${task}*" HUP PIPE INT QUIT TERM EXIT
+
+cd $STEPS
+$BASS_ROOT/master/bin/version-for-git >$TASKS/tmp/$task/steps-version.txt
+git rev-parse @ >$TASKS/tmp/$task/steps-revision.txt
+# $TAR cf - --posix * | $COMPRESSOR >$TASKS/tmp/$task/steps.tar
+git archive @ | $COMPRESSOR >$TASKS/tmp/$task/steps.tar
+
+cd $PROJ
+echo $task_version >$TASKS/tmp/$task/code-version.txt
+git show --no-patch --pretty=fuller $rev >>$TASKS/tmp/$task/code-version.txt
+echo $rev >$TASKS/tmp/$task/code-revision.txt
+git archive $rev | $COMPRESSOR >$TASKS/tmp/$task/code.tar
+
+cd $TASKS/tmp
+tasks=$($BASS_ROOT/master/bin/clone-with-ctr $task
+ $(for arch in $ARCH ; do echo ${task}${arch} ; done))
+[ -n "$tasks" ]
+for t in $tasks ; do
+ echo $t
+ mv $t ../cur
+done
+
+rm $rev_path
--- /dev/null
+[ -n "$BASS_RC" ] || {
+ echo '"BASS_RC"' is not set >&2
+ exit 1
+}
+if [ -z "$BASS_ROOT" ] || [ -z "$sname" ] ; then
+ echo '"BASS_ROOT"' and '"sname"' must be set by invoking script >&2
+ exit 1
+fi
+
+NAME="$(basename -- "${sname%.do}")" # name of the skel
+SPATH="$(realpath $sname)" # absolute path to invoking script
+
+. "$BASS_RC"
+
+[ -n "$ARCH" ] || ARCH=$(echo $(uname -o) $(uname -m) $(uname -r) | sed "s/ /-/g ; s#/#_#g")
+export ARCH
+export HOST=${HOST:-$(hostname)}
+
+if [ -z "$SETLOCK" ] ; then
+ command -v setlock >/dev/null 2>/dev/null && SETLOCK=setlock || {
+ command -v lockf >/dev/null 2>/dev/null && SETLOCK=lockf || {
+ command -v flock >/dev/null 2>/dev/null && SETLOCK=flock
+ }
+ }
+fi
+
+export META4RA_HASHES="${META4RA_HASHES:-$(meta4ra-hashes-detect 2>/dev/null)}"
+export FSYNC=${FSYNC:-$(command -v fsync 2>/dev/null || command -v sync)}
+export TAR=${TAR:-bsdtar}
+COMPRESSOR=${COMPRESSOR:-zstdmt}
+export TMPDIR=${TMPDIR:-/tmp}
+MAKE_JOBS=${MAKE_JOBS:-$(nproc)}
+
+# Program to use for downloading .meta4 files: "meta4ra-check", "wget", "aria2c".
+export META4_FETCHER="${META4_FETCHER:-meta4ra-check}"
+
+if command -v fetch >/dev/null 2>/dev/null ; then
+ JUSTDL="fetch -o"
+else
+ command -v wget >/dev/null 2>/dev/null && JUSTDL="wget -O" || JUSTDL="curl -o"
+fi
+
+export DISTFILES=${DISTFILES:-"$BASS_ROOT"/build/distfiles}
+export SKELBINS=${SKELBINS:-/tmp/skelbins}
+[ -d $SKELBINS/$ARCH ] || mkdir -p $SKELBINS/$ARCH
+export SKELPKGS=${SKELPKGS:-"$BASS_ROOT"/build/pkg}
+
+export TASKS=${TASKS:-/nfs/tasks}
+export JOBS=${JOBS:-/nfs/jobs}
+
+export GOPATH=${GOPATH:-$TMPDIR/bass-go-path}
+export GOPROXY=${GOPROXY:-off}
+export GOSUMDB=${GOSUMDB:-off}
+export GOCACHE=${GOCACHE:-$TMPDIR/bass-go-cache}
+export GOMODCACHE=${GOMODCACHE:-"$DISTFILES"/gomodcache}
+
+export PYTHONDONTWRITEBYTECODE=1
+
+SENDMAIL=${SENDMAIL:-sendmail}
+NOTIFY_FROM=${NOTIFY_FROM:-bass@$HOST}
+NOTIFY_TO=${NOTIFY_TO:-invalid@mail.bass.home.arpa}
+
+[ -n "$BASS_REV" ] || {
+ BASS_REV=$(cd "$BASS_ROOT" ; git rev-parse @)
+ [ -n "$BASS_REV" ]
+}
+export BASS_REV
--- /dev/null
+#!/bin/sh -e
+# Usage: cd $TASKS/tmp ; $0 src dst0 [dst1 ...]
+#
+# Copy "src" to "${ctr}${dst}" directories. That scripts assures all
+# necessary fsync-s are called and files are in read-only mode.
+
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../..
+sname="$0" . $BASS_ROOT/lib/rc
+
+src="$1"
+[ -d "$src" ]
+shift
+DSTS="$@"
+[ -n "$DSTS" ]
+
+cd $src
+find . -type f -exec $FSYNC {} \+
+chmod a-w *
+for dst in $DSTS ; do
+ ctr=$($BASS_ROOT/master/bin/ctr-get)
+ [ -n "$ctr" ]
+ mkdir ../${ctr}${dst}
+ for f in * ; do ln $f ../${ctr}${dst}/$f ; done
+ echo ${ctr}${dst}
+done
+
+cd ..
+$FSYNC *${src}
--- /dev/null
+#!/bin/sh -e
+# Usage: $0 [dir] | read ctr
+#
+# "dir" is a directory containing subdirectories, those names are just
+# positive increasing integers. It determines the next free counter
+# value and prints it.
+#
+# It is intended to be used by concurrent process over the NFS.
+# Basically there is only single atomic command available for it --
+# mkdir. So that script tries to mkdir the next counter value and if it
+# succeeds, then that value is taken (printed out). Also that script
+# tidies "dir" from old counter values.
+
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../..
+sname="$0" . $BASS_ROOT/lib/rc
+
+cd ${1:-$TASKS/ctr}
+
+finder() {
+ find . -type d -mindepth 1 | sed "s/^..//" | sort -n
+}
+
+ctrs=$(finder)
+for ctr in $ctrs ; do : ; done
+[ -n "$ctr" ]
+for f in $ctrs ; do [ $f = $ctr ] || rmdir $f ; done
+
+while : ; do
+ ctr=$(finder sed -n '$p')
+ [ -n "$ctr" ]
+ ctr=${ctr#./}
+ ctr=$(( $ctr + 1 ))
+ if mkdir $ctr ; then echo $ctr ; break ; fi
+done
--- /dev/null
+#!/usr/bin/env zsh
+
+setopt ERR_EXIT PIPE_FAIL
+
+export BASS_ROOT=$0:a:h:h
+sname="$0" . $BASS_ROOT/lib/rc
+
+zmodload -F zsh/stat b:zstat
+zmodload -F zsh/datetime b:strftime
+
+NON_STARTED_TIMEOUT=${NON_STARTED_TIMEOUT:-1800}
+
+cd $JOBS/cur
+for job (*(/N)) {
+ [[ ! -e $task/notified-non-started ]] || continue
+ [[ ! -e $job/alive ]] || continue
+ strftime -s now %s
+ zstat -A mtime +mtime $job
+ dur=$(( $now - $mtime ))
+ [[ $dur -ge $NON_STARTED_TIMEOUT ]] || continue
+ $BASS_ROOT/bin/notify "Non-started timeout: $job"
+ touch $task/notified-non-started
+}
--- /dev/null
+#!/usr/bin/env zsh
+
+setopt ERR_EXIT PIPE_FAIL
+
+export BASS_ROOT=$0:a:h:h
+sname=$0 . $BASS_ROOT/lib/rc
+
+zmodload -F zsh/stat b:zstat
+zmodload -F zsh/datetime b:strftime
+
+NON_TAKEN_TIMEOUT=${NON_TAKEN_TIMEOUT:-1800}
+
+cd $TASKS/cur
+for task (*(/N)) {
+ [[ ! -e $task/notified-non-taken ]] || continue
+ [[ ! -d $JOBS/cur/$task ]] || continue
+ [[ ! -d $JOBS/old/$task ]] || continue
+ strftime -s now %s
+ zstat -A mtime +mtime $task
+ dur=$(( $now - $mtime ))
+ [[ $dur -ge $NON_TAKEN_TIMEOUT ]] || continue
+ $BASS_ROOT/bin/notify "Non-taken timeout: $task"
+ touch $task/notified-non-taken
+}
--- /dev/null
+#!/usr/bin/env zsh
+
+# Copyright (C) 2024 Sergey Matveev <stargrave@stargrave.org>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, version 3 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+setopt ERR_EXIT PIPE_FAIL
+
+export BASS_ROOT=$0:a:h:h:h
+sname=$0 . $BASS_ROOT/lib/rc
+
+ALIVE_TIMEOUT=60
+MAX_OLD_TASKS=100
+SERVER="BASS/0.1.0"
+
+zmodload -F zsh/stat b:zstat
+zmodload -F zsh/datetime b:strftime
+
+while read l ; do
+ local cols=(${=l})
+ [[ ${#cols} -ge 2 ]] || break
+ [[ $cols && ${cols[1]} = GET ]] || continue
+ REQPATH=${cols[2]}
+done
+
+doreply() {
+ local ct=$1
+ [[ -n $ct ]]
+ local code=${2:-200 OK}
+ print "HTTP/1.1 $code\r"
+ print "Server: $SERVER\r"
+ print "Connection: close\r"
+ print "Cache-Control: no-cache\r"
+ print "Content-Type: $ct\r"
+ print "\r"
+}
+
+notfound() {
+ doreply text/plain "404 NOT FOUND"
+ exit 0
+}
+
+serve() {
+ local fn=$1
+ local f=cur/$fn
+ [[ -r $f ]] || f=old/$fn
+ if [[ $f =~ "/$" ]] ; then
+ [[ -d $f ]] || notfound
+ doreply text/html
+ cat <<EOF
+<!DOCTYPE html>
+<html><head>
+ <title>$f</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+</head><body>
+<table border=1>
+<tr><th> </th><th>name</th><th>mtime</th><th>size</th></tr>
+EOF
+ cd $f
+ local ctr=0
+ local mtimeSec
+ local mtime
+ for i (*(onN)) {
+ zstat -A mtimeSec +mtime $i
+ strftime -s mtime "%Y-%m-%d %H:%M:%S" $mtimeSec
+ zstat -A size +size $i
+ [[ ! -d $i ]] || i="$i/"
+ print "<tr><td>$ctr</td><td><a href=\"$i\">$i</a></td>"
+ print "<td>$mtime</td><td>$size</td></tr>"
+ ctr=$(( $ctr + 1 ))
+ }
+ print "</table></body></html>"
+ exit 0
+ fi
+ [[ -r $f ]] || notfound
+ local ct=text/plain
+ [[ $f:e = "txt" ]] || ct=application/octet-stream
+ doreply $ct
+ local _cat=cat
+ [[ $REQQUERY =~ "tai64nlocal=1" ]] && _cat=tai64nlocal
+ $_cat <$f
+ exit
+}
+
+REQPATH=(${(s/?/)REQPATH})
+REQQUERY=${REQPATH[2]}
+REQPATH=${REQPATH[1]}
+[[ $REQPATH =~ "/\.\./" ]] && notfound
+case $REQPATH in
+ /) ;;
+ /job/*)
+ cd $JOBS
+ serve ${REQPATH#/job/}
+ ;;
+ /task/*)
+ cd $TASKS
+ serve ${REQPATH#/task/}
+ ;;
+ *) notfound ;;
+esac
+
+doreply text/html
+cat <<EOF
+<!DOCTYPE html>
+<html><head>
+ <title>BASS</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+</head><body>
+EOF
+
+tasks=()
+for kv (${(s/&/)REQQUERY}) {
+ kv=(${(s/=/)kv})
+ [[ ${kv[1]} != "task" ]] || tasks=(${kv[2]})
+}
+[[ ${#tasks} -gt 0 ]] || {
+ cd $TASKS/cur
+ for task (*(/NOnn)) tasks=($tasks $task)
+ cd $TASKS/old
+ for task (*(/NOnn[1,$MAX_OLD_TASKS])) tasks=($tasks $task)
+}
+
+cd $JOBS
+for task ($tasks) {
+ print "<table border=1><caption>"
+ print "<a href=\"/?task=$task\"><tt>$task</tt></a>"
+ print "</caption>"
+ job=cur/$task
+ [[ -d $job ]] || job=old/$task
+ if [[ ! -d $job ]] || [[ ! -s $job/host.txt ]] {
+ print "<tr><td>no data</td></tr></table>"
+ continue
+ }
+
+ strftime -s now %s
+ zstat -A startedSec +mtime $job/host.txt
+ strftime -s started "%Y-%m-%d %H:%M:%S" $startedSec
+ read host <$job/host.txt
+ read tmppath <$job/tmp-path.txt || :
+
+ zstat -A aliveSec +mtime $job/alive
+ dur=$(( $now - $aliveSec ))
+ [[ $dur -le $ALIVE_TIMEOUT ]] || strftime -s finished "%Y-%m-%d %H:%M:%S" $aliveSec
+ dur=$(( $aliveSec - $startedSec ))
+
+ state="bgcolor=green"
+ [[ -e $job/finished ]] || state="bgcolor=magenta"
+ for step ($job/steps/*(N)) {
+ [[ -s $step/exitcode.txt ]] || continue
+ read exitcode <$step/exitcode.txt
+ [[ $exitcode = "0" ]] || {
+ state="bgcolor=red"
+ break
+ }
+ }
+
+ cols=(${(s/:/)job:t})
+ row0=("<td $state><pre>
+${cols[2]}
+<a href=\"/task/$task/\">${cols[3]}</a>
+</pre></td>")
+ row1=("<td><pre>
+started:
+finished:
+duration:
+
+</pre></td>")
+
+ row0=($row0 "<td><pre>
+${cols[4]}
+$host
+</pre></td>")
+ row1=($row1 "<td><pre>
+$started
+$finished
+$dur sec
+<a href=\"/job/$task/tmp-path.txt\">tmp</a> | <a href=\"/job/$task/pkg.txt?tai64nlocal=1\">pkg</a> | <a href=\"/job/$task/\">job</a>
+</pre></td>")
+
+ for step ($job/steps/*(onN)) {
+ row0=($row0 "<td><pre>
+$step:t
+<a href=\"/job/$task/steps/$step:t/stdout.txt?tai64nlocal=1\">stdout</a> | <a href=\"/job/$task/steps/$step:t/stderr.txt?tai64nlocal=1\">stderr</a>
+</pre></td>")
+ [[ ( -r $step/started ) || ( -r $step/stdout.txt ) || ( -r $step/stderr.txt ) ]] || {
+ row1=($row1 "<td> </td>")
+ continue
+ }
+ zstat -A startedSec +mtime $step/started
+ strftime -s started "%Y-%m-%d %H:%M:%S" $startedSec
+ zstat -A stdoutSec +mtime $step/stdout.txt
+ zstat -A stderrSec +mtime $step/stderr.txt
+ [[ $stdoutSec -gt $stderrSec ]] && finishedSec=$stdoutSec || finishedSec=$stderrSec
+ dur=$(( $finishedSec - $startedSec ))
+ strftime -s finished "%Y-%m-%d %H:%M:%S" $finishedSec
+ state=""
+ if [[ -s $step/exitcode.txt ]] ; then
+ read exitcode <$step/exitcode.txt
+ [[ $exitcode = "0" ]] || state="bgcolor=red"
+ else
+ state="bgcolor=yellow"
+ fi
+ row1=($row1 "<td $state><pre>
+$started
+$finished
+$dur sec
+exitcode: $exitcode
+</pre></td>")
+ }
+
+ print "<tr>"
+ for i ({1..${#row0}}) print "${row0[$i]}"
+ print "</tr><tr>"
+ for i ({1..${#row1}}) print "${row1[$i]}"
+ print "</tr></table>"
+}
+
+print "</body></html>"
--- /dev/null
+#!/bin/sh -e
+# Usage: cd ....git ; $0 | read human-readable-revision-name
+
+exec 2>/dev/null
+rev=${1:-@}
+git describe --tags $rev || git describe --always $rev
--- /dev/null
+#!/bin/sh -e
+
+export BASS_RC=/home/stargrave/work/stc/bass/master/rc
+exec /home/stargrave/work/stc/bass/master/bin/notifier
--- /dev/null
+#!/bin/sh -e
+
+export BASS_RC=/home/stargrave/work/stc/bass/master/rc
+exec tcpserver -DHR -l 0 ::0 2345 /home/stargrave/work/stc/bass/master/bin/reporter
--- /dev/null
+#!/bin/sh -e
+
+# Copyright (C) 2024 Sergey Matveev <stargrave@stargrave.org>
+# 2024 Elena Balakhonova <balakhonova.e.v@yandex.ru>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, version 3 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+task="$1"
+[ -d "$task" ]
+
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../..
+sname="$0" . $BASS_ROOT/lib/rc
+
+FAILED_JOB_WAITTIME=${FAILED_JOB_WAITTIME:-3600}
+
+task_num=$(echo $task | cut -d: -f1)
+task_proj=$(echo $task | cut -d: -f2)
+task_rev=$(echo $task | cut -d: -f3)
+task_arch=$(echo $task | cut -d: -f4)
+task_host=$(echo $task | cut -d: -f5)
+export BASS_TASK_REV=$task_rev
+
+[ -z "$task_arch" ] || {
+ [ $task_arch = $ARCH ] || {
+ echo Not mein ARCH
+ exit 0
+ }
+}
+[ -z "$task_host" ] || {
+ [ $task_host = $HOST ] || {
+ echo Not mein HOST
+ exit 0
+ }
+}
+
+umask 022
+mkdir -p $JOBS/cur
+export BASS_JOB=$JOBS/cur/$task
+mkdir $BASS_JOB >/dev/null || {
+ echo Job is already taken
+ exit 0
+}
+
+echo $HOST >$BASS_JOB/host.txt
+chmod -w $BASS_JOB/host.txt
+mktemp -d $TMPDIR/task-$task_num-build.XXXXXX >$BASS_JOB/tmp-path.txt
+read tmp <$BASS_JOB/tmp-path.txt
+echo "$task -> $tmp"
+cd $tmp
+$BASS_ROOT/build/bin/mk-skelenv
+echo export NO_COLOR=1 >>rc
+. ./rc
+localpath=$(realpath local)
+$BASS_ROOT/build/bin/pkg-inst slave-base 2>/dev/null
+env >$BASS_JOB/env.txt
+
+cat >tmux <<EOF
+#!/bin/sh -e
+export PATH="$PATH" LD_LIBRARY_PATH="$LD_LIBRARY_PATH"
+exec tmux -S $tmp/tmux.sock \${1:-attach-session}
+EOF
+chmod +x tmux
+
+for w in code steps ; do
+ mkdir $w
+ $TAR xfC $TASKS/cur/$task/$w.tar $w
+done
+export BASS_CODE=$tmp/code
+
+while : ; do touch $BASS_JOB/alive ; sleep 1 ; done &
+alive_pid=$!
+trap "kill $alive_pid" HUP PIPE INT QUIT TERM EXIT
+
+mkfifo steps/finished
+tmux -S tmux.sock new-session -d "
+ cd steps
+ $BASS_ROOT/slave/bin/steps-runner || touch failed
+ echo done >finished
+ [ ! -r failed ] || {
+ trap \"rm -fr $tmp\" HUP INT QUIT TERM EXIT
+ echo Press enter to start zsh
+ timeout $FAILED_JOB_WAITTIME read whatever && zsh
+ }
+"
+cat steps/finished >/dev/null
+find skelpkgs -maxdepth 1 -mindepth 1 | while read pkg ; do
+ cat $pkg/namenhash
+done | sort >$BASS_JOB/pkg.txt
+touch $BASS_JOB/finished
+find $BASS_JOB -type f -or -type d -exec $FSYNC {} \+
+[ -r steps/failed ] || rm -fr $tmp
--- /dev/null
+#!/bin/sh -e
+
+# Copyright (C) 2024 Sergey Matveev <stargrave@stargrave.org>
+# 2024 Elena Balakhonova <balakhonova.e.v@yandex.ru>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, version 3 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../..
+sname="$0" . $BASS_ROOT/lib/rc
+
+[ -n "$BASS_CODE" ]
+[ -n "$BASS_JOB" ]
+
+LINE_TIMEOUT=600
+
+mkdir $BASS_JOB/steps
+mkfifo step.finished step.stdout step.stderr
+find . -type f -maxdepth 1 | sort | while read step ; do
+ step=${step#./}
+ echo Running $step...
+ mkdir $BASS_JOB/steps/$step
+ touch $BASS_JOB/steps/$step/started \
+ $BASS_JOB/steps/$step/stdout.txt \
+ $BASS_JOB/steps/$step/stderr.txt
+ chmod -w $BASS_JOB/steps/$step/started
+ step_path=$(realpath $step)
+ (
+ # supervise is more appropriate there, but seems that current
+ # solution with step.finished FIFO is also satisfactory, keeping
+ # guarantees about step_pid availability
+ cd $BASS_CODE
+ tai64n <../steps/step.stdout >$BASS_JOB/steps/$step/stdout.txt &
+ tai64n <../steps/step.stderr >$BASS_JOB/steps/$step/stderr.txt &
+ set +e
+ $step_path >../steps/step.stdout 2>../steps/step.stderr
+ printf "%d\n" "$?" >$BASS_JOB/steps/$step/exitcode.txt
+ set -e
+ cat ../steps/step.finished >/dev/null
+ echo Finished $step...
+ ) &
+ step_pid=$!
+ size_prev=0
+ line_last_seen=0
+ while : ; do
+ sleep 1
+ size=$($BASS_ROOT/bin/filessize $BASS_JOB/steps/$step/std*.txt)
+ [ $size -le $size_prev ] || line_last_seen=0
+ size_prev=$size
+ line_last_seen=$(( $line_last_seen + 1 ))
+ [ $line_last_seen -le $LINE_TIMEOUT ] || {
+ echo Killing $step...
+ kill $step_pid
+ echo timeout >$BASS_JOB/steps/$step/exitcode.txt
+ step_pid=0
+ break
+ }
+ [ ! -s $BASS_JOB/steps/$step/exitcode.txt ] || break
+ done
+ [ $step_pid -eq 0 ] || { echo >step.finished ; }
+ read exitcode <$BASS_JOB/steps/$step/exitcode.txt
+ [ "$exitcode" = "0" ] || {
+ echo Failed $step...
+ false
+ }
+done
--- /dev/null
+#!/bin/sh -e
+# Usage: cd /outside/$TASKS ; supervise(task-taker)
+#
+# Take one task from $TASKS/cur and start job-starter on it. Save
+# last started task's number in "task-taker-lastnum" file in current
+# directory, just to skip already started tasks on further invocations.
+
+# Copyright (C) 2024 Sergey Matveev <stargrave@stargrave.org>
+# 2024 Elena Balakhonova <balakhonova.e.v@yandex.ru>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, version 3 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+export BASS_ROOT="$(dirname "$(realpath -- "$0")")"/../..
+sname="$0" . $BASS_ROOT/lib/rc
+
+LASTNUM=${LASTNUM:-lastnum}
+if [ -s $LASTNUM ] ; then
+ read lastnum <$LASTNUM
+else
+ lastnum=0
+ echo $lastnum >$LASTNUM
+fi
+LASTNUM=$(realpath $LASTNUM)
+
+cd $TASKS/cur
+find . -type d -mindepth 1 -maxdepth 1 |
+while read task ; do echo ${task#./} ; done |
+sort -n |
+while read task ; do
+ task=${task#./}
+ task_num=$(echo $task | cut -d: -f1)
+ [ -n "$task_num" ]
+ [ $task_num -gt $lastnum ] || continue
+ echo Starting $task...
+ $BASS_ROOT/slave/bin/job-starter $task
+ echo "$task finished"
+ echo $task_num >$LASTNUM
+done
--- /dev/null
+#!/bin/sh -e
+
+export BASS_ROOT=$HOME/bass
+export BASS_RC=$BASS_ROOT/slave/rc
+$BASS_ROOT/slave/bin/task-taker || {
+ $BASS_ROOT/bin/notify "Failed task-taker" <<EOF
+$(env)
+EOF
+ sleep 10
+ exit 1
+}