Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • alchemy/viewer
  • Miezhiko/alchemy-next
  • JennaHuntsman/xdg-integration
  • logue/alchemy-next
  • FelixWolf/alchemy-viewer
  • XenHat/xdg-integration
6 results
Show changes
Commits on Source (18)
Showing
with 139 additions and 804 deletions
......@@ -190,11 +190,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>78f28893ebc36307a376663ec152cad907f7fbc76ee528b450304353ccdf83e897345194d179aaf64894cf8f5e5780fd0734c184b43afbe73ea2fc97d030d797</string>
<string>663f855659431c8160157159f119aa11fefd0b66e068be3e3d1dad255159db9c7992d003f276cc3b83283d075323a5b46122423b3e93d303deb4f4ec9942d6b9</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/92/packages/generic/boost/1.78.0.1353/boost-1.78.0-darwin64-1353.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/92/packages/generic/boost/1.78.0.1426/boost-1.78.0-darwin64-1426.tar.zst</string>
</map>
<key>name</key>
<string>darwin64</string>
......@@ -204,11 +204,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>10dedbf37d191c3159f7d5dfb37e75871c77a9146c9630c724d7203864f326699222b17120f528289589db919f6b32b17c7ce9b428f63b067aa953e96da6e9a4</string>
<string>10b8c8975542cbad2c3569864ebd8d34859a8fc661b141bbb278fd3757858c9b224715fbdfc901637d47ddbb32f63d7f796e75d106899bba8cc431a5fbc80fde</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/92/packages/generic/boost/1.78.0.1353/boost-1.78.0-linux64-1353.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/92/packages/generic/boost/1.78.0.1426/boost-1.78.0-linux64-1426.tar.zst</string>
</map>
<key>name</key>
<string>linux64</string>
......@@ -218,11 +218,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>5ee260d25664d3d6e3f0bd3ec7199ec081072315bf3d8a4639c17f0ffb77289dcc6d0d30ae57adb2d7ef63dfb2a7d9586570384fa0834b9b7d1c6ce698c123da</string>
<string>0f45b5388c028434435724537bdcdbecab53868cebab22a5a98d20274d73bec9be99261b8049d1701c1665761a0dbe6b9592cb5a0e65c2d666c6a83d506998ae</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/92/packages/generic/boost/1.78.0.1353/boost-1.78.0-windows64-1353.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/92/packages/generic/boost/1.78.0.1426/boost-1.78.0-windows64-1426.tar.zst</string>
</map>
<key>name</key>
<string>windows64</string>
......@@ -252,11 +252,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>14d2d1664450fca1fe667d88802bbf581498f80e221bc8faf24a3e407459b21be5a25f22c8b32039f2e3494663b1246b7f9c9a51b2d323791b9d59ba4dabba8e</string>
<string>f7f3719a93ad10de577fa1db4aa28a16aecb2ddcbf2266bc878b1716a2dab7a69e80dd28e2d360c6c0a3975ca9cd4a115cb40caf148b8d183e608fb407d1e0f2</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/177/packages/generic/c-ares/1.18.1.1381/c_ares-1.18.1-darwin64-1381.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/177/packages/generic/c-ares/1.18.1.1419/c_ares-1.18.1-darwin64-1419.tar.zst</string>
</map>
<key>name</key>
<string>darwin64</string>
......@@ -266,11 +266,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>af10b515ba01ee4f3f816605aaca405b31897a43a32f24385261cfe446671fc222c4c8db7135800307d31b54a91f3ef883f214aa93d12f9bf78dd590714354dd</string>
<string>8981a0dd7b77ed506b926dc2a556f25926ffb1765e9876e759a62273562101667431d88a4f04d1ab9fd3a6b06c90bc7c6ab4e3bf16774a06bd405f02ebfcc333</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/177/packages/generic/c-ares/1.18.1.1381/c_ares-1.18.1-linux64-1381.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/177/packages/generic/c-ares/1.18.1.1419/c_ares-1.18.1-linux64-1419.tar.zst</string>
</map>
<key>name</key>
<string>linux64</string>
......@@ -280,11 +280,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>091d861970c73dafb08a35a806545f5d83e1b0ab41f699cd314c4b5f5283a2c886617ca6989deef7c51d7f1f9762966984e2a59ad34b978ce8a60935ce3c6d38</string>
<string>e4ca0bb268cfc3c5454ff18f2ad4462f69d34ac609a9521491650640a1c911f7669977106d87461c32d464c9a58fb0b983eb62f53f4eec0aba7fdcb2f951aeba</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/177/packages/generic/c-ares/1.18.1.1381/c_ares-1.18.1-windows64-1381.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/177/packages/generic/c-ares/1.18.1.1419/c_ares-1.18.1-windows64-1419.tar.zst</string>
</map>
<key>name</key>
<string>windows64</string>
......@@ -312,11 +312,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>10b0ce212158ace773e58107cc2fb6c92eda31393d300a347f92517f6cca14f56f6f1005e7d7926d3bba9cf2254670ccb9d86abb1e0dd0aebc637a8cbfff4c0c</string>
<string>8bd1049349d2840a60e32174c14663028e2d89eba48068615b8b81a7ce36c86b8e869020e1a82ff52caabbe1029fce5166c22faca154f1d3a808f03b63fdfe62</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/98/packages/generic/colladadom/2.3.0.1357/colladadom-2.3.0-darwin64-1357.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/98/packages/generic/colladadom/2.3.0.1431/colladadom-2.3.0-darwin64-1431.tar.zst</string>
</map>
<key>name</key>
<string>darwin64</string>
......@@ -326,11 +326,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>58fa825d9e71f0f41d4f19ac0315ede8fca165bbb00f7e0ed74366229a330ab46ebf2d8b3490422e3d8aff8f56755072e805b558730f182cb076bc4fe8e30ba4</string>
<string>983339e70109e07398233314d2bb5303d434ac5e14d1a183d91d848d2dfd2567915dbc6fbbeebe0a8274ff8297c268a0afc188383d60c4b563766aed5a1f8517</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/98/packages/generic/colladadom/2.3.0.1357/colladadom-2.3.0-linux64-1357.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/98/packages/generic/colladadom/2.3.0.1431/colladadom-2.3.0-linux64-1431.tar.zst</string>
</map>
<key>name</key>
<string>linux64</string>
......@@ -340,11 +340,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>cd011ee39a434fef32b0bf933a0fae09ed1617bfa1147f952a944ddb22e5e9ea100312f6f42b7bbc99d2c86387caec55f8cf7deb5636dbe4ecf7445935407360</string>
<string>17c319efe3ee927c969843b821033c9835935d9e5775e7418f9204e4f8e3b2b14ed17e6ab649c26f3c61a1c721fb0591a5a29045f50ae7ec1ccc332540198326</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/98/packages/generic/colladadom/2.3.0.1357/colladadom-2.3.0-windows64-1357.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/98/packages/generic/colladadom/2.3.0.1431/colladadom-2.3.0-windows64-1431.tar.zst</string>
</map>
<key>name</key>
<string>windows64</string>
......@@ -402,11 +402,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>4640e06bc5637729e31e3f01b082587409413493bdf2524e158f23c63a0da461add982fa2378ed95cef7092d0dfbc9efcba70f325ea0923060e0475b48242a1c</string>
<string>52fefbbf9d1822e90778730e210742d40cccb5c56aa2de5a94f8bd7c109ebb128c8688c504af9ab215ff0ce3897bfa3edc8b394d7c02905cb9f205b3bda00f27</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/89/packages/generic/curl/7.81.0.1390/curl-7.81.0-darwin64-1390.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/89/packages/generic/curl/7.54.1.1466/curl-7.54.1-darwin64-1466.tar.zst</string>
</map>
<key>name</key>
<string>darwin64</string>
......@@ -416,11 +416,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>009cd83fa8402f07cc0ba4b9f16d59c3dcc3214db15e33a7e64d3ed26b3ba80a02c2f5166341df537943657cd31aa5bec90177eaf5ceebdc5c586c806bfa244c</string>
<string>87afe7644b44639ced2f9bdb50111079fcf54f4e2a2eaa0de3802ccaaf45df715c297178913b1017a6a98b479e3da764ddb5931cee733c77ccef7d06a02fc335</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/89/packages/generic/curl/7.81.0.1390/curl-7.81.0-linux64-1390.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/89/packages/generic/curl/7.54.1.1466/curl-7.54.1-linux64-1466.tar.zst</string>
</map>
<key>name</key>
<string>linux64</string>
......@@ -430,18 +430,18 @@
<key>archive</key>
<map>
<key>hash</key>
<string>58162176b33ad415ca3ba80af6021d3d9b9aebdb526dc57fc9c882c81a7979094f06b25285225e3a3d8baceb26f47e3af3c22d7fb6d14d22b2bfa551b42ec007</string>
<string>4df79db4249095d0b5d85f50702707afcbd2399b220b430027f9959e21dce114cffe6825b4b8d7b5a87ebc0b7aaf5e7995fb667bbaa2eef58608924cb2d50ee2</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/89/packages/generic/curl/7.81.0.1390/curl-7.81.0-windows64-1390.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/89/packages/generic/curl/7.54.1.1466/curl-7.54.1-windows64-1466.tar.zst</string>
</map>
<key>name</key>
<string>windows64</string>
</map>
</map>
<key>version</key>
<string>7.81.0</string>
<string>7.54.1</string>
</map>
<key>dbus_glib</key>
<map>
......@@ -724,11 +724,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>ab38408dc7c3422847b0530070f2c96ec45d8ff1abd6f3e5e707450cc89833c6f2863852b488a6e1824796ef37f9b2be642b6b03ce002abbfbbc67bb52b9b2db</string>
<string>82b0da083716f7fa6cf502fec5f224695e394eb5c966cef1e35a2efed14985defb263c1594443137d29d569a92e3dd731a403b2fbb046c18a6aae821e0f6b084</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/94/packages/generic/freetype/2.11.1.1352/freetype-2.11.1-darwin64-1352.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/94/packages/generic/freetype/2.11.1.1418/freetype-2.11.1-darwin64-1418.tar.zst</string>
</map>
<key>name</key>
<string>darwin64</string>
......@@ -738,11 +738,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>2d1fe689f9146772c82c3e8cc6ecf25ed783e7bbafc28959613d0f4b42d2380efe92db79a59866e34331fe686e88037330a5b773af761e4eb089e5f766e3f306</string>
<string>efaa204d39c9268e6b0f80e7416ad76462362af094a07b57c3ac44c59c8bb6c7b26cd208198e0371023f7b36e92b15b4f4e688c850b1d40d1e2fe8533d513dbf</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/94/packages/generic/freetype/2.11.1.1352/freetype-2.11.1-windows64-1352.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/94/packages/generic/freetype/2.11.1.1418/freetype-2.11.1-windows64-1418.tar.zst</string>
</map>
<key>name</key>
<string>windows64</string>
......@@ -1068,11 +1068,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>3df1cdc2ef3aa46de03bcacfd6cb5e20e00e038eab2b68e18bca53672c2be9fe64988991461c63091c1175b2f1d82de0127d3c09638c6f8caa3170af1e1ef663</string>
<string>0d2f7d042df56a08a9a4022e0b77e79b977be3155d2b041fddf1fc835e492e23d89d8ae1449b56f0453821d3c8983a5c6475119d90997409a5a94b181dd8147e</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/115/packages/generic/libjpeg-turbo/2.1.2.1318/libjpeg_turbo-2.1.2-darwin64-1318.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/115/packages/generic/libjpeg-turbo/2.1.2.1437/libjpeg_turbo-2.1.2-darwin64-1437.tar.zst</string>
</map>
<key>name</key>
<string>darwin64</string>
......@@ -1082,11 +1082,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>bb7420a8236b8cbc6a6d2e7b204bd070fb3d9938bb35df11fc335add788d204b6567919790b44f0c3abbbf43fdc676af8ae6cc68650c2ccfec113cc6cfffc5b0</string>
<string>ef279d070f7a4bd8b799b98c55cd80ea28df80624f903c7e21f245f79e9f25d9b97b01b3e9d42d6428a42275187899925a3926e0f8b7855b43b3e66a75f38520</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/115/packages/generic/libjpeg-turbo/2.1.2.1318/libjpeg_turbo-2.1.2-linux64-1318.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/115/packages/generic/libjpeg-turbo/2.1.2.1437/libjpeg_turbo-2.1.2-linux64-1437.tar.zst</string>
</map>
<key>name</key>
<string>linux64</string>
......@@ -1096,11 +1096,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>94e52e575dd7bd83f93178b0414ca16f6d13f5b7fa91181f426ccd41616fd150ff25fa33137a7c4462e7d7aec626d49ac03b23b1b39c506b8055f942bcfc57ff</string>
<string>c3e33ca4d3e0aecb7f424c1fc9ee1e7f05284cd52e1e4bcc34d927f9a6a725d391908cac0581f12d397e0eabcd4010271fc7b442f371a872918f25ffc19288ca</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/115/packages/generic/libjpeg-turbo/2.1.2.1318/libjpeg_turbo-2.1.2-windows64-1318.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/115/packages/generic/libjpeg-turbo/2.1.2.1437/libjpeg_turbo-2.1.2-windows64-1437.tar.zst</string>
</map>
<key>name</key>
<string>windows64</string>
......@@ -1174,11 +1174,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>c32a4317643245fc8c07f1dafc8534625ca3f060c514ee7f92eb0bc6bba3805274a270b1480ea01a150ba73ffaf0036de0e608c73d615ea92a4c2342c63f24c7</string>
<string>5a45397e6de95393bbf747496e1bf60e5059fe8fcaba66d5f9396aacba823b8d653502f63a58ef85abe3e02362b8085dcd7dbf0615349808d6c1fa7a3d08bd2a</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/93/packages/generic/libpng/1.6.37.1351/libpng-1.6.37-darwin64-1351.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/93/packages/generic/libpng/1.6.37.1416/libpng-1.6.37-darwin64-1416.tar.zst</string>
</map>
<key>name</key>
<string>darwin64</string>
......@@ -1188,11 +1188,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>42de786576b6922f147581d9ff6941e18642af7e6060d972ef1f4dca93b6aa2fbc52a3a270fe60b757276af569fa4f0814d06bf1f0322c7e5cc3ab0007863f13</string>
<string>04cb66dd797fd057e5bcc67af29c9c4191c3bd73be4f8d40680728fb288c2d59fff67c0e9146db6a253ff4503c43de5725f471b67286b6c177f8c0f449cbe867</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/93/packages/generic/libpng/1.6.37.1351/libpng-1.6.37-linux64-1351.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/93/packages/generic/libpng/1.6.37.1416/libpng-1.6.37-linux64-1416.tar.zst</string>
</map>
<key>name</key>
<string>linux64</string>
......@@ -1202,11 +1202,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>804bcc56a312a4181d4a9ef71b9610fb6c39343ddcd4ba05087258804f676427a0cb113392b6d2ddc597da356a9c995b3bd56c9ff78c1e82e6abccd935fb4ef1</string>
<string>1e2db5995d67f31319e4e309a81c4a75f075706196683b9185c3f2069171d2a3bb37fe9aacd638c8cfaeb4635920e9b4de50b118c3677443b19f0299e7b018b2</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/93/packages/generic/libpng/1.6.37.1351/libpng-1.6.37-windows64-1351.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/93/packages/generic/libpng/1.6.37.1416/libpng-1.6.37-windows64-1416.tar.zst</string>
</map>
<key>name</key>
<string>windows64</string>
......@@ -1296,11 +1296,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>3e059139807bd99ca3a023c92022a199c7560b0e6f889245b38b738463f526d8fcef1c1ba4174d43cb63e9a958db3d5cbebae8958548c22ab34df781218ff251</string>
<string>475f26d4bbb9863bcc8d21913bd5bd0ac10cef6505211b39753ed242a363a6986a8e7e1d3e77aca65f735b9068c903433497ed94b0dfd2199e0a0ef310c76a0b</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/97/packages/generic/libxml2/2.9.12.1350/libxml2-2.9.12-darwin64-1350.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/97/packages/generic/libxml2/2.9.12.1429/libxml2-2.9.12-darwin64-1429.tar.zst</string>
</map>
<key>name</key>
<string>darwin64</string>
......@@ -1310,11 +1310,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>22267ff9b23caff59e2f80aac25e16fd3d067f5846a19cc3a7c2a37ecc7226731570c13f05562cb6ab5fcf90a626bb485c30d2b6af6efa00f5678ce332aeae3f</string>
<string>d6eb7add325f35f8bfea962516aebc22bbf7218c3e553c3f7818d629f688e37898c03f09632b46420cc7df0c69a0cbbb6030d1922abc8b2a5bbef6d73e20ff6a</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/97/packages/generic/libxml2/2.9.12.1350/libxml2-2.9.12-linux64-1350.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/97/packages/generic/libxml2/2.9.12.1429/libxml2-2.9.12-linux64-1429.tar.zst</string>
</map>
<key>name</key>
<string>linux64</string>
......@@ -1324,11 +1324,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>dcb28ae547c1d3ce3cb77c5cd7eaa531840ab771782928f0e44aa0260c0e7687c1c2855f73f0fa74bf1411b3ffabd4d24901db2f833f27b8e34ae2739059436d</string>
<string>6b137bf2a2cddc86098e8f63b5c0d04c1c689c7ad3024c904487cb6bddb76b3d766842e53fedcef29e3455f2afa30f44cb7ed9d3e05a55f46f6d9b23ecc0dd8a</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/97/packages/generic/libxml2/2.9.12.1350/libxml2-2.9.12-windows64-1350.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/97/packages/generic/libxml2/2.9.12.1429/libxml2-2.9.12-windows64-1429.tar.zst</string>
</map>
<key>name</key>
<string>windows64</string>
......@@ -1419,11 +1419,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>c030ff8ce88c5dda2da1f516aede703a685b7f5a511d421f2c57dbd0849c2a3e091a91a20fec6881791846bc3a8297458a5a4e51357d1fba72dec71d147fc1fe</string>
<string>c1ab520ab00797df689e2469e1c8c1850ae72cf8f5c1967d45b59e301620143054f96c078aa73d1fbc78bcd9588969bec083fa403bad7eda43defa50b48c1990</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/149/packages/generic/minizip-ng/3.0.4.1349/minizip_ng-3.0.4-darwin64-1349.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/149/packages/generic/minizip-ng/3.0.4.1421/minizip_ng-3.0.4-darwin64-1421.tar.zst</string>
</map>
<key>name</key>
<string>darwin64</string>
......@@ -1433,11 +1433,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>49c29c549c7bf53e68d88482485dafdef362a03c3523d4a274b1a607f534b1ab8a68a0e2f72507ab6606f02b8f3cf281da2d672c65097ffaffb90fcaba022eae</string>
<string>4f95ec73f25810c7cb81abb0a8d9490137385c4675baf5c763b607ea312e4393152fc46b768790b3d9fd7b7254eeb75d4a83453a6dfe134184811914b8ea10f6</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/149/packages/generic/minizip-ng/3.0.4.1349/minizip_ng-3.0.4-linux64-1349.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/149/packages/generic/minizip-ng/3.0.4.1421/minizip_ng-3.0.4-linux64-1421.tar.zst</string>
</map>
<key>name</key>
<string>linux64</string>
......@@ -1447,11 +1447,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>9f0dba76b245cd86c11b3e04cc9f5321194d975c78ab7cc0dcfb7861e45c69228b5ce06a0dece6ab6e47c6debb9bdc70317115287cae172e5f0e41bebcf7c872</string>
<string>0404b08ba413ed10640327d5f27f9dabd2ec7cc8ac9578180dce7ed26845641e919dcdb046f11f93b6fd780a29913d4e25c42cf971739de648ffd8b8737de415</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/149/packages/generic/minizip-ng/3.0.4.1349/minizip_ng-3.0.4-windows64-1349.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/149/packages/generic/minizip-ng/3.0.4.1421/minizip_ng-3.0.4-windows64-1421.tar.zst</string>
</map>
<key>name</key>
<string>windows64</string>
......@@ -1540,11 +1540,11 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key>
<map>
<key>hash</key>
<string>fcf5e48b79919c72b6ac837bfb01e8efba78bbb5373d4afc1d39bf8ab0818cd6ca429505ada4dd5dff1f784d0b68e0bfd11352bf18d5fd0b2f2ffd3836f6631d</string>
<string>25cfaea249976cf97e09bb9a5b2c6b809d7e44f4f70ee70d6281479cb971c0eeae8e6372612ded649efbd41d694e63ae0cfa6dc33a23ffd3d232444dc0e2f02e</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/91/packages/generic/nghttp2/1.46.0.1307/nghttp2-1.46.0-darwin64-1307.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/91/packages/generic/nghttp2/1.46.0.1417/nghttp2-1.46.0-darwin64-1417.tar.zst</string>
</map>
<key>name</key>
<string>darwin64</string>
......@@ -1554,11 +1554,11 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key>
<map>
<key>hash</key>
<string>ef1d5a84f66fe8ce08a9e405612b01ec574263bffcf571141a74341e692fff49969852d301f1ac4acb45c02ba58200e3c529b56f21446df550ac45d26e59fcae</string>
<string>c00f7e6defcd7f03ec9e7c6cbba8b2783a06e6f27855257cdebc31afe3c44bdb34cf729b5b282c0b05158e007785897058e278a1595725e0060a6124ce91f607</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/91/packages/generic/nghttp2/1.46.0.1307/nghttp2-1.46.0-linux64-1307.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/91/packages/generic/nghttp2/1.46.0.1417/nghttp2-1.46.0-linux64-1417.tar.zst</string>
</map>
<key>name</key>
<string>linux64</string>
......@@ -1568,11 +1568,11 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key>
<map>
<key>hash</key>
<string>4df8ba51c4abdc2ee6f4f1e79ccd15f5f2e2a525e5e136f719de522b488fe5955ac87a871bb0918125ea610512e2d6151d3a50f9bb85d6fd2cc7dfa754185056</string>
<string>e15435025abf142850eb452bb8b56239facf54eb3b3cc341035efd9b64efc1d8bc1335b7c3705af330905575b4529274ef06d9f371cadeb708ea6ca7abb2170c</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/91/packages/generic/nghttp2/1.46.0.1307/nghttp2-1.46.0-windows64-1307.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/91/packages/generic/nghttp2/1.46.0.1417/nghttp2-1.46.0-windows64-1417.tar.zst</string>
</map>
<key>name</key>
<string>windows64</string>
......@@ -1634,11 +1634,11 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key>
<map>
<key>hash</key>
<string>d5c36e32b1aa0f98cd18285d652519d25a4ad6fe8ccaf43eca831dd1899e5cc82126f116fd5c149ef38d8c29750649252bf817cd3b6fc34e2e6ea65eca89f6d4</string>
<string>0f0671e017d53f535f1b215d6e8732406ffae9a5acb2425f8b1565bd3fefdc7edcc512dac8686d0acceb102a26c437a22f0c0bfdf2ed5fdd18627cb27f117229</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/112/packages/generic/ogg_vorbis/1.3.5.1315/ogg_vorbis-1.3.5-darwin64-1315.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/112/packages/generic/ogg_vorbis/1.3.5.1443/ogg_vorbis-1.3.5-darwin64-1443.tar.zst</string>
</map>
<key>name</key>
<string>darwin64</string>
......@@ -1648,11 +1648,11 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key>
<map>
<key>hash</key>
<string>b7807ae153416f7a56add30d0723492388aae3c9c1655677e5031ada377dc1382ed15ba4f1dee6cc49d2de97bf60ccd0b1d6b2fd8499edbbfceb5a39885966f0</string>
<string>251cb3c51fdb67c1ba8ca47046c4279600262832d36ecf07b1435f063847492dd1c0b909945f45d26ec4b9343398f999d9742162a731f54439c9653bb629bc42</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/112/packages/generic/ogg_vorbis/1.3.5.1315/ogg_vorbis-1.3.5-linux64-1315.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/112/packages/generic/ogg_vorbis/1.3.5.1443/ogg_vorbis-1.3.5-linux64-1443.tar.zst</string>
</map>
<key>name</key>
<string>linux64</string>
......@@ -1662,11 +1662,11 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key>
<map>
<key>hash</key>
<string>b74af0f241a24ee1baeda0c16a71138c58a93bbc488102ea29f8d3569d91884a70607ff1f11ee2ef60f03cdeb16ed62677f592d42fa8ef239e9cf292981b8dde</string>
<string>4d3ab708150ba546804116fd8b29d508e710aecd7cc3d78e149f6ddc20a4456a3b73295bf4e194ec717036b6e0cf56d245c52634e7be593e8b48671c58ad4c0c</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/112/packages/generic/ogg_vorbis/1.3.5.1315/ogg_vorbis-1.3.5-windows64-1315.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/112/packages/generic/ogg_vorbis/1.3.5.1443/ogg_vorbis-1.3.5-windows64-1443.tar.zst</string>
</map>
<key>name</key>
<string>windows64</string>
......@@ -1726,11 +1726,11 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key>
<map>
<key>hash</key>
<string>0f3237cdfa760f16a690c1eb35f67d90b1f8305fa6108ddfdab4daf58999dd7568ff713a77e1b0f3fc0a495956b97fef45d6f8642e44e6a802a6941fabfdbfe9</string>
<string>6359e6b21b7f01b4f551e270c4eec363a3e43756e2360323f95d1f5e1562e6ec3c3d82baba65557f611e4566e571ce7a9fa5de95dc7b7d7390ead9df3539b0f4</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/141/packages/generic/openal/1.21.1.1310/openal-1.21.1-darwin64-1310.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/141/packages/generic/openal/1.21.1.1440/openal-1.21.1-darwin64-1440.tar.zst</string>
</map>
<key>name</key>
<string>darwin64</string>
......@@ -1740,11 +1740,11 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key>
<map>
<key>hash</key>
<string>e57559027bf5c36e531b57e7e28a139f714497932359adff1b9a0589bb2e8abace5fb52994002d421059b43532f48b27b2519c460891cc815c31a255269ff916</string>
<string>ebfb74be84eba8927cfde61660ec2fb0cf41e40add643f12568e85e4e7f5edd22535310a739533bd7447d8e871d33a0f13b03616d7d34c5520b572f4307da3d4</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/141/packages/generic/openal/1.21.1.1310/openal-1.21.1-linux64-1310.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/141/packages/generic/openal/1.21.1.1440/openal-1.21.1-linux64-1440.tar.zst</string>
</map>
<key>name</key>
<string>linux64</string>
......@@ -1754,11 +1754,11 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key>
<map>
<key>hash</key>
<string>1a6b651db66bcdb010883d93017bfe76f6dc91412776c7f7c347ea40fe455e7d26a92073c1e770e232bb720e2ca23bd8d4c6d4e772742ec8f043add294fcc11e</string>
<string>c5f609abada2dd0476da90b9bef1e3d15b38989dc51c14fc18ade99f4257c8724cf0daf6af0987c135f5a29fd414ee4afd039819f65ad4cc950d962968b3f4a8</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/141/packages/generic/openal/1.21.1.1310/openal-1.21.1-windows64-1310.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/141/packages/generic/openal/1.21.1.1440/openal-1.21.1-windows64-1440.tar.zst</string>
</map>
<key>name</key>
<string>windows64</string>
......@@ -1846,11 +1846,11 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key>
<map>
<key>hash</key>
<string>f1ee540c8988ff06618bea0acab2c803fa6841fa3d32b02cf5bbd6e16ba5a3882d8ff796bdf72ba6ddd3f41a5ee1672083869bed8e6429b43b324068339fd756</string>
<string>cd5f90019af7aa0e480391113d014aef7ce6bc762e86b878bfbf4684fc446a0a838c904cd8c910012ca43894d1a40d12327527ff803ecbe8800ccc5b4eb0f1e7</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/90/packages/generic/openssl/3.0.1.1365/openssl-3.0.1-darwin64-1365.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/90/packages/generic/openssl/1.1.1m.1458/openssl-1.1.1m-darwin64-1458.tar.zst</string>
</map>
<key>name</key>
<string>darwin64</string>
......@@ -1860,11 +1860,11 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key>
<map>
<key>hash</key>
<string>a0e53a93fa889d1c7b9cc9bae00984c61c3540437696a5580ee548a1d70cd69ead1982017fbe4d58809a0371a69d15c384adb436e6c4264aaf516e0b85577308</string>
<string>118469c310d3cf0d33300738ce871793cce5f70ad83207a5bf35ec1383e6536b915c8a5832f0c2f8fd5e21aee64f6637b9f91531f7ab4625f4d43888aec1b331</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/90/packages/generic/openssl/3.0.1.1365/openssl-3.0.1-linux64-1365.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/90/packages/generic/openssl/1.1.1m.1458/openssl-1.1.1m-linux64-1458.tar.zst</string>
</map>
<key>name</key>
<string>linux64</string>
......@@ -1874,18 +1874,18 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key>
<map>
<key>hash</key>
<string>9b2abdfb2a66d681653bb3416de8545e28a434d41f7bf429c6cb1910a6d82a91823df66b9f1be9a919b5fd37b5abb67dcbdc225a18d2c34133c35da3c2622948</string>
<string>0c77f95f7fbd1346db5da1f5b1f806786f7296804b247a65d88da29bb125e14e10f38bb4a4aa6207e22ae03f3a5343527e51cc80b51821c68d8fc6dd7430993a</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/90/packages/generic/openssl/3.0.1.1365/openssl-3.0.1-windows64-1365.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/90/packages/generic/openssl/1.1.1m.1458/openssl-1.1.1m-windows64-1458.tar.zst</string>
</map>
<key>name</key>
<string>windows64</string>
</map>
</map>
<key>version</key>
<string>3.0.1</string>
<string>1.1.1m</string>
</map>
<key>sentry</key>
<map>
......@@ -1908,11 +1908,11 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key>
<map>
<key>hash</key>
<string>af5b41ad1d5e488616fadf4bcdc1778ac1c024c0d8ae79fa621b706f6f3402c396f8cfa983fff92d88b7548b3a3869794f71af55dff6c7f8d1dc1570397437ba</string>
<string>641ed8934dc76ec3eec368784a0a442735a6964075d7e16a5e01bb8d699441aee38b5725315b381e8c8b20a8629d020ff0a92f8109873d2c937ae1935053ed75</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/164/packages/generic/sentry/1.1.0.1400/sentry-1.1.0-darwin64-1400.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/164/packages/generic/sentry/1.1.0.1467/sentry-1.1.0-darwin64-1467.tar.zst</string>
</map>
<key>name</key>
<string>darwin64</string>
......@@ -1922,11 +1922,11 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key>
<map>
<key>hash</key>
<string>8d4365b7a03a563aa32b3a0f219387b6d273004c039a21633a8afa16c0061d8f1af47578ffd66b4c8d41ff2f1010e45022cc29ff079d74f21c407d5de6ed7a6c</string>
<string>f4dcbf996f864e43f281ee843df5eca6f05437af483a7222a3c0459106e9ebd991202f108b27ea19c8e45b5644e3fa2982c7c1dafc7336ecec0abe52ea45ffbb</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/164/packages/generic/sentry/1.1.0.1400/sentry-1.1.0-linux64-1400.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/164/packages/generic/sentry/1.1.0.1467/sentry-1.1.0-linux64-1467.tar.zst</string>
</map>
<key>name</key>
<string>linux64</string>
......@@ -1936,11 +1936,11 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key>
<map>
<key>hash</key>
<string>23e4a982ca56cd15d3d16c1af28aaa705bb464860c8af954be77e07f145dbacd451ac23dc1aa20bd71d1bd1e69c950c781d0604606246d8e13cdf0d6013ec813</string>
<string>876f600b7c6fdd340d78a1a9b7f1183c027ef154fec86bc0fa98a64447d5f6859670f538f19c17bf86f3124a5261622a28b4f90abd3c1ca07007bea4ebc13b43</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/164/packages/generic/sentry/1.1.0.1400/sentry-1.1.0-windows64-1400.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/164/packages/generic/sentry/1.1.0.1467/sentry-1.1.0-windows64-1467.tar.zst</string>
</map>
<key>name</key>
<string>windows64</string>
......@@ -2090,11 +2090,11 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key>
<map>
<key>hash</key>
<string>80c69b33f4eddc1d95faf5c8789645bfc77e2ca5671dbe4ebaedfb33f1d7baed08a2470d57896022f514a6603c357594d5b07a6237a201fcf54a4c7832fa8a42</string>
<string>6d78c17df58aead808f4e40eec5ad3834cbebbd3545deaadf6c66bf51bf580e3d893011f26f784fa56c70e74870a6a1aca41372f4f80dcc7b56e4fcf72652250</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/96/packages/generic/uriparser/0.9.6.1355/uriparser-0.9.6-darwin64-1355.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/96/packages/generic/uriparser/0.9.6.1428/uriparser-0.9.6-darwin64-1428.tar.zst</string>
</map>
<key>name</key>
<string>darwin64</string>
......@@ -2104,11 +2104,11 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key>
<map>
<key>hash</key>
<string>16b65f6e1c05913a73bf61c9e8aff2996342f0abc508c3c03e83e50529a140361a1616eedaa5b8a1c71aad89ceae3b2c1eb5d8053bfc93ebfd68dfe4bdbcd65d</string>
<string>0279ebc017021b39078d4626ce4cfb0f45e2753a93024b05a5a21c03ad19df738c38c4a8efe962af38c6d439c0c5f494d343c540da8ebf8ef8ba20a5c0e93bb1</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/96/packages/generic/uriparser/0.9.6.1355/uriparser-0.9.6-linux64-1355.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/96/packages/generic/uriparser/0.9.6.1428/uriparser-0.9.6-linux64-1428.tar.zst</string>
</map>
<key>name</key>
<string>linux64</string>
......@@ -2118,11 +2118,11 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key>
<map>
<key>hash</key>
<string>67c8a04d5ca9b14979a72d875bb461249e6f2101de2ad7e995aeba12aed46ba2295996fd799e1a532b09692dfd79045c482e2c658594a73e5692c61fca419229</string>
<string>e3a07097eec1fa43b420b7fc54a0d38bf0ca800e3bcbc60fa4360322fac3160b92a4b13b34f41c4c0c45ae1eca815abd32cc01eb052a4590f954baf8e51e1a1f</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/96/packages/generic/uriparser/0.9.6.1355/uriparser-0.9.6-windows64-1355.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/96/packages/generic/uriparser/0.9.6.1428/uriparser-0.9.6-windows64-1428.tar.zst</string>
</map>
<key>name</key>
<string>windows64</string>
......@@ -2302,11 +2302,11 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key>
<map>
<key>hash</key>
<string>0b1ba1ba5269a23e37392728e83a948b83f7c4da0eedf832a382a9aad3c3270303182723ef9d6f41e9728c6211f35830700340fad8a07fd2a9f27a83fba6caf5</string>
<string>8cbde360a9841ad5890381fcee2d9a670d39a6658027ae29e483af9554620ac5c51865d6454c8b48b16c976f7d1fc316a5223a7d03faddb6d153136e04d3a572</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/148/packages/generic/zlib-ng/2.0.6.1345/zlib_ng-2.0.6-darwin64-1345.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/148/packages/generic/zlib-ng/2.0.6.1415/zlib_ng-2.0.6-darwin64-1415.tar.zst</string>
</map>
<key>name</key>
<string>darwin64</string>
......@@ -2316,11 +2316,11 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key>
<map>
<key>hash</key>
<string>5a9482c3c83686e9df50ea928031995b2a90489cc30cba4f4589549e65f18244e47bd46cc7877e2307f8ee90ed4fbb291d754e6526f310913730a3672a7a801b</string>
<string>46667a03449a5478a2ca06434d3fd116c740420aae1b9dcf6f2d82a53d26e77993fc4b16ccb37def5ea221d719bf3e4c7402f76414ff51f7ff65177bd399b91d</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/148/packages/generic/zlib-ng/2.0.6.1345/zlib_ng-2.0.6-linux64-1345.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/148/packages/generic/zlib-ng/2.0.6.1415/zlib_ng-2.0.6-linux64-1415.tar.zst</string>
</map>
<key>name</key>
<string>linux64</string>
......@@ -2330,11 +2330,11 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key>
<map>
<key>hash</key>
<string>e30e56f96240c45d81f0a1f752e54f0cea69039c77ca237ef3cfdedbc5f2a6140d36031c7bd1f0ca7bc412ec883d700ea8ffba303e1df77133dd6885fea695d2</string>
<string>4e3e11bf48b6a45de2d50e8466b3ee81c7c9299a2cc6036e0ce4fe1160d295e30fa3a04142953f4e6f26fb280aa0ce1c77da7ffc5c9f2e0083a4f9890aa6d3b8</string>
<key>hash_algorithm</key>
<string>blake2b</string>
<key>url</key>
<string>https://git.alchemyviewer.org/api/v4/projects/148/packages/generic/zlib-ng/2.0.6.1345/zlib_ng-2.0.6-windows64-1345.tar.zst</string>
<string>https://git.alchemyviewer.org/api/v4/projects/148/packages/generic/zlib-ng/2.0.6.1415/zlib_ng-2.0.6-windows64-1415.tar.zst</string>
</map>
<key>name</key>
<string>windows64</string>
......
......@@ -30,11 +30,6 @@ endif (NOT CMAKE_BUILD_TYPE)
include(Variables)
include(BuildVersion)
set(LEGACY_STDIO_LIBS)
if (WINDOWS)
set(LEGACY_STDIO_LIBS legacy_stdio_definitions)
endif (WINDOWS)
add_subdirectory(cmake)
add_subdirectory(deps)
......
......@@ -85,7 +85,7 @@ if (WINDOWS)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /LARGEADDRESSAWARE")
endif (ADDRESS_SIZE EQUAL 32)
if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" OR FULL_DEBUG_SYMS OR USE_CRASHPAD)
if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" OR FULL_DEBUG_SYMS OR USE_SENTRY)
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /DEBUG:FULL")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /DEBUG:FULL")
else ()
......
......@@ -79,29 +79,29 @@ else (USESYSTEMLIBS)
debug boost_thread-mt${addrsfx}-d)
elseif (DARWIN)
set(BOOST_CONTEXT_LIBRARY
optimized boost_context-mt${addrsfx}
debug boost_context-mt${addrsfx}-d)
optimized boost_context-mt
debug boost_context-mt-d)
set(BOOST_FIBER_LIBRARY
optimized boost_fiber-mt${addrsfx}
debug boost_fiber-mt${addrsfx}-d)
optimized boost_fiber-mt
debug boost_fiber-mt-d)
set(BOOST_FILESYSTEM_LIBRARY
optimized boost_filesystem-mt${addrsfx}
debug boost_filesystem-mt${addrsfx}-d)
optimized boost_filesystem-mt
debug boost_filesystem-mt-d)
set(BOOST_PROGRAM_OPTIONS_LIBRARY
optimized boost_program_options-mt${addrsfx}
debug boost_program_options-mt${addrsfx}-d)
optimized boost_program_options-mt
debug boost_program_options-mt-d)
set(BOOST_REGEX_LIBRARY
optimized boost_regex-mt${addrsfx}
debug boost_regex-mt${addrsfx}-d)
optimized boost_regex-mt
debug boost_regex-mt-d)
set(BOOST_SIGNALS_LIBRARY
optimized boost_signals-mt${addrsfx}
debug boost_signals-mt${addrsfx}-d)
optimized boost_signals-mt
debug boost_signals-mt-d)
set(BOOST_SYSTEM_LIBRARY
optimized boost_system-mt${addrsfx}
debug boost_system-mt${addrsfx}-d)
optimized boost_system-mt
debug boost_system-mt-d)
set(BOOST_THREAD_LIBRARY
optimized boost_thread-mt${addrsfx}
debug boost_thread-mt${addrsfx}-d)
optimized boost_thread-mt
debug boost_thread-mt-d)
endif (WINDOWS)
endif (USESYSTEMLIBS)
......
......@@ -209,7 +209,6 @@ FUNCTION(LL_ADD_INTEGRATION_TEST
)
SET(libraries
${LEGACY_STDIO_LIBS}
${library_dependencies}
${BOOST_FIBER_LIBRARY}
${BOOST_CONTEXT_LIBRARY}
......
......@@ -16,6 +16,13 @@ if (USE_OPENAL)
set(FREEALUT_LIBRARIES
debug ${ARCH_PREBUILT_DIRS_DEBUG}/alut.lib
optimized ${ARCH_PREBUILT_DIRS_RELEASE}/alut.lib)
elseif (DARWIN)
set(OPENAL_LIBRARIES
debug ${ARCH_PREBUILT_DIRS_DEBUG}/libopenal.dylib
optimized ${ARCH_PREBUILT_DIRS_RELEASE}/libopenal.dylib)
set(FREEALUT_LIBRARIES
debug ${ARCH_PREBUILT_DIRS_DEBUG}/libalut.dylib
optimized ${ARCH_PREBUILT_DIRS_RELEASE}/libalut.dylib)
else()
set(OPENAL_LIBRARIES openal)
set(FREEALUT_LIBRARIES alut)
......
option(USE_SENTRY "Use the Sentry crash reporting system" OFF)
if (DEFINED ENV{USE_SENTRY})
set(USE_SENTRY $ENV{USE_SENTRY} CACHE BOOL "" FORCE)
endif()
include(Variables)
if (USE_SENTRY)
if (NOT USESYSTEMLIBS)
......
......@@ -36,7 +36,7 @@ option(ENABLE_MEDIA_PLUGINS "Turn off building media plugins if they are importe
# Compiler and toolchain options
option(INCREMENTAL_LINK "Use incremental linking on win32 builds (enable for faster links on some machines)" OFF)
option(USE_LTO "Enable global and interprocedural optimizations" OFF)
option(FULL_DEBUG_SYMS "Enable Generation of full pdb on msvc" OFF)
option(FULL_DEBUG_SYMS "Enable Generation of full pdb on msvc or dsym on macos" OFF)
option(USE_ASAN "Enable address sanitizer for detection of memory issues" OFF)
option(USE_LEAKSAN "Enable address sanitizer for detection of memory leaks" OFF)
option(USE_UBSAN "Enable undefined behavior sanitizer" OFF)
......@@ -51,6 +51,12 @@ set(VIEWER_SYMBOL_FILE "" CACHE STRING "Name of tarball into which to place symb
option(USE_CEF "Enable CEF media plugin" ON)
option(USE_VLC "Enable VLC media plugin" ON)
#Crash reporting
option(USE_SENTRY "Use the Sentry crash reporting system" OFF)
if (DEFINED ENV{USE_SENTRY})
set(USE_SENTRY $ENV{USE_SENTRY} CACHE BOOL "" FORCE)
endif()
if(LIBS_CLOSED_DIR)
file(TO_CMAKE_PATH "${LIBS_CLOSED_DIR}" LIBS_CLOSED_DIR)
else(LIBS_CLOSED_DIR)
......@@ -171,7 +177,11 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
endif()
set(CMAKE_XCODE_ATTRIBUTE_GCC_GENERATE_DEBUGGING_SYMBOLS YES)
set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT dwarf-with-dsym)
if(FULL_DEBUG_SYMS OR USE_SENTRY)
set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT dwarf-with-dsym)
else()
set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT dwarf)
endif()
set(CMAKE_XCODE_ATTRIBUTE_DEAD_CODE_STRIPPING YES)
set(CMAKE_XCODE_ATTRIBUTE_CLANG_X86_VECTOR_INSTRUCTIONS sse4.2)
......
......@@ -29,8 +29,6 @@ include_directories(
set(llcommon_SOURCE_FILES
indra_constants.cpp
llallocator.cpp
llallocator_heap_profile.cpp
llapp.cpp
llapr.cpp
llassettype.cpp
......@@ -131,8 +129,6 @@ set(llcommon_HEADER_FILES
indra_constants.h
linden_common.h
llalignedarray.h
llallocator.h
llallocator_heap_profile.h
llapp.h
llapr.h
llassettype.h
......
/**
* @file llallocator.cpp
* @brief Implementation of the LLAllocator class.
*
* $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
* Copyright (C) 2010, Linden Research, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License only.
*
* This library 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
#include "linden_common.h"
#include "llallocator.h"
//
// stub implementations for when tcmalloc is disabled
//
void LLAllocator::setProfilingEnabled(bool should_enable)
{
}
// static
bool LLAllocator::isProfiling()
{
return false;
}
std::string LLAllocator::getRawProfile()
{
return std::string();
}
LLAllocatorHeapProfile const & LLAllocator::getProfile()
{
mProf.mLines.clear();
// *TODO - avoid making all these extra copies of things...
std::string prof_text = getRawProfile();
//std::cout << prof_text << std::endl;
mProf.parse(prof_text);
return mProf;
}
/**
* @file llallocator.h
* @brief Declaration of the LLAllocator class.
*
* $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
* Copyright (C) 2010, Linden Research, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License only.
*
* This library 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
#ifndef LL_LLALLOCATOR_H
#define LL_LLALLOCATOR_H
#include <string>
#include "llallocator_heap_profile.h"
class LL_COMMON_API LLAllocator {
friend class LLMemoryView;
public:
void setProfilingEnabled(bool should_enable);
static bool isProfiling();
LLAllocatorHeapProfile const & getProfile();
private:
std::string getRawProfile();
private:
LLAllocatorHeapProfile mProf;
};
#endif // LL_LLALLOCATOR_H
/**
* @file llallocator_heap_profile.cpp
* @brief Implementation of the parser for tcmalloc heap profile data.
* @author Brad Kittenbrink
*
* $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
* Copyright (C) 2010, Linden Research, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License only.
*
* This library 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
#include "linden_common.h"
#include "llallocator_heap_profile.h"
#if LL_MSVC
// disable warning about boost::lexical_cast returning uninitialized data
// when it fails to parse the string
#pragma warning (disable:4701)
#pragma warning (disable:4702)
#endif
#include <boost/algorithm/string/split.hpp>
#include <boost/bind.hpp>
#include <boost/lexical_cast.hpp>
#include <boost/range/iterator_range.hpp>
static const std::string HEAP_PROFILE_MAGIC_STR = "heap profile:";
static bool is_separator(char c)
{
return isspace(c) || c == '[' || c == ']' || c == ':';
}
void LLAllocatorHeapProfile::parse(std::string const & prof_text)
{
// a typedef for handling a token in the string buffer
// it's a begin/end pair of string::const_iterators
typedef boost::iterator_range<std::string::const_iterator> range_t;
mLines.clear();
if(prof_text.compare(0, HEAP_PROFILE_MAGIC_STR.length(), HEAP_PROFILE_MAGIC_STR) != 0)
{
// *TODO - determine if there should be some better error state than
// mLines being empty. -brad
LL_WARNS() << "invalid heap profile data passed into parser." << LL_ENDL;
return;
}
std::vector< range_t > prof_lines;
std::string::const_iterator prof_begin = prof_text.begin() + HEAP_PROFILE_MAGIC_STR.length();
range_t prof_range(prof_begin, prof_text.end());
boost::algorithm::split(prof_lines,
prof_range,
boost::bind(std::equal_to<llwchar>(), '\n', _1));
std::vector< range_t >::const_iterator i;
for(i = prof_lines.begin(); i != prof_lines.end() && !i->empty(); ++i)
{
range_t const & line_text = *i;
std::vector<range_t> line_elems;
boost::algorithm::split(line_elems,
line_text,
is_separator);
std::vector< range_t >::iterator j;
j = line_elems.begin();
while(j != line_elems.end() && j->empty()) { ++j; } // skip any separator tokens
llassert_always(j != line_elems.end());
U32 live_count = boost::lexical_cast<U32>(*j);
++j;
while(j != line_elems.end() && j->empty()) { ++j; } // skip any separator tokens
llassert_always(j != line_elems.end());
U64 live_size = boost::lexical_cast<U64>(*j);
++j;
while(j != line_elems.end() && j->empty()) { ++j; } // skip any separator tokens
llassert_always(j != line_elems.end());
U32 tot_count = boost::lexical_cast<U32>(*j);
++j;
while(j != line_elems.end() && j->empty()) { ++j; } // skip any separator tokens
llassert_always(j != line_elems.end());
U64 tot_size = boost::lexical_cast<U64>(*j);
++j;
while(j != line_elems.end() && j->empty()) { ++j; } // skip any separator tokens
llassert(j != line_elems.end());
if (j != line_elems.end())
{
++j; // skip the '@'
mLines.push_back(line(live_count, live_size, tot_count, tot_size));
line & current_line = mLines.back();
for(; j != line_elems.end(); ++j)
{
if(!j->empty())
{
U32 marker = boost::lexical_cast<U32>(*j);
current_line.mTrace.push_back(marker);
}
}
}
}
// *TODO - parse MAPPED_LIBRARIES section here if we're ever interested in it
}
void LLAllocatorHeapProfile::dump(std::ostream & out) const
{
lines_t::const_iterator i;
for(i = mLines.begin(); i != mLines.end(); ++i)
{
out << i->mLiveCount << ": " << i->mLiveSize << '[' << i->mTotalCount << ": " << i->mTotalSize << "] @";
stack_trace::const_iterator j;
for(j = i->mTrace.begin(); j != i->mTrace.end(); ++j)
{
out << ' ' << *j;
}
out << '\n';
}
out.flush();
}
/**
* @file llallocator_heap_profile.h
* @brief Declaration of the parser for tcmalloc heap profile data.
* @author Brad Kittenbrink
*
* $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
* Copyright (C) 2010, Linden Research, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License only.
*
* This library 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
#ifndef LL_LLALLOCATOR_HEAP_PROFILE_H
#define LL_LLALLOCATOR_HEAP_PROFILE_H
#include "stdtypes.h"
#include <map>
#include <vector>
class LLAllocatorHeapProfile
{
public:
typedef int stack_marker;
typedef std::vector<stack_marker> stack_trace;
struct line {
line(U32 live_count, U64 live_size, U32 tot_count, U64 tot_size) :
mLiveSize(live_size),
mTotalSize(tot_size),
mLiveCount(live_count),
mTotalCount(tot_count)
{
}
U64 mLiveSize, mTotalSize;
U32 mLiveCount, mTotalCount;
stack_trace mTrace;
};
typedef std::vector<line> lines_t;
LLAllocatorHeapProfile() = default;
void parse(std::string const & prof_text);
void dump(std::ostream & out) const;
public:
lines_t mLines;
};
#endif // LL_LLALLOCATOR_HEAP_PROFILE_H
/**
* @file llallocator_heap_profile_test.cpp
* @author Brad Kittenbrink
* @date 2008-02-
* @brief Test for llallocator_heap_profile.cpp.
*
* $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
* Copyright (C) 2010, Linden Research, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License only.
*
* This library 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
#include "../llallocator_heap_profile.h"
#include "../test/lltut.h"
namespace tut
{
struct llallocator_heap_profile_data
{
LLAllocatorHeapProfile prof;
static char const * const sample_win_profile;
// *TODO - get test output from mac/linux tcmalloc
static char const * const sample_mac_profile;
static char const * const sample_lin_profile;
static char const * const crash_testcase;
};
typedef test_group<llallocator_heap_profile_data> factory;
typedef factory::object object;
}
namespace
{
tut::factory llallocator_heap_profile_test_factory("LLAllocatorHeapProfile");
}
namespace tut
{
template<> template<>
void object::test<1>()
{
prof.parse(sample_win_profile);
ensure_equals("count lines", prof.mLines.size() , 5);
ensure_equals("alloc counts", prof.mLines[0].mLiveCount, 2131854U);
ensure_equals("alloc counts", prof.mLines[0].mLiveSize, 2245710106ULL);
ensure_equals("alloc counts", prof.mLines[0].mTotalCount, 14069198U);
ensure_equals("alloc counts", prof.mLines[0].mTotalSize, 4295177308ULL);
ensure_equals("count markers", prof.mLines[0].mTrace.size(), 0);
ensure_equals("count markers", prof.mLines[1].mTrace.size(), 0);
ensure_equals("count markers", prof.mLines[2].mTrace.size(), 4);
ensure_equals("count markers", prof.mLines[3].mTrace.size(), 6);
ensure_equals("count markers", prof.mLines[4].mTrace.size(), 7);
//prof.dump(std::cout);
}
template<> template<>
void object::test<2>()
{
prof.parse(crash_testcase);
ensure_equals("count lines", prof.mLines.size(), 2);
ensure_equals("alloc counts", prof.mLines[0].mLiveCount, 3U);
ensure_equals("alloc counts", prof.mLines[0].mLiveSize, 1049652ULL);
ensure_equals("alloc counts", prof.mLines[0].mTotalCount, 8U);
ensure_equals("alloc counts", prof.mLines[0].mTotalSize, 1049748ULL);
ensure_equals("count markers", prof.mLines[0].mTrace.size(), 0);
ensure_equals("count markers", prof.mLines[1].mTrace.size(), 0);
//prof.dump(std::cout);
}
template<> template<>
void object::test<3>()
{
// test that we don't crash on edge case data
prof.parse("");
ensure("emtpy on error", prof.mLines.empty());
prof.parse("heap profile:");
ensure("emtpy on error", prof.mLines.empty());
}
char const * const llallocator_heap_profile_data::sample_win_profile =
"heap profile: 2131854: 2245710106 [14069198: 4295177308] @\n"
"308592: 1073398388 [966564: 1280998739] @\n"
"462651: 375969538 [1177377: 753561247] @ 2 3 6 1\n"
"314744: 206611283 [2008722: 570934755] @ 2 3 3 7 21 32\n"
"277152: 82862770 [621961: 168503640] @ 2 3 3 7 21 32 87\n"
"\n"
"MAPPED_LIBRARIES:\n"
"00400000-02681000 r-xp 00000000 00:00 0 c:\\proj\\tcmalloc-eval-9\\indra\\build-vc80\\newview\\RelWithDebInfo\\alchemy-bin.exe\n"
"77280000-773a7000 r-xp 00000000 00:00 0 C:\\Windows\\system32\\ntdll.dll\n"
"76df0000-76ecb000 r-xp 00000000 00:00 0 C:\\Windows\\system32\\kernel32.dll\n"
"76000000-76073000 r-xp 00000000 00:00 0 C:\\Windows\\system32\\comdlg32.dll\n"
"75ee0000-75f8a000 r-xp 00000000 00:00 0 C:\\Windows\\system32\\msvcrt.dll\n"
"76c30000-76c88000 r-xp 00000000 00:00 0 C:\\Windows\\system32\\SHLWAPI.dll\n"
"75f90000-75fdb000 r-xp 00000000 00:00 0 C:\\Windows\\system32\\GDI32.dll\n"
"77420000-774bd000 r-xp 00000000 00:00 0 C:\\Windows\\system32\\USER32.dll\n"
"75e10000-75ed6000 r-xp 00000000 00:00 0 C:\\Windows\\system32\\ADVAPI32.dll\n"
"75b00000-75bc2000 r-xp 00000000 00:00 0 C:\\Windows\\system32\\RPCRT4.dll\n"
"72ca0000-72d25000 r-xp 00000000 00:00 0 C:\\Windows\\WinSxS\\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.6001.18000_none_886786f450a74a05\\COMCTL32.dll\n"
"76120000-76c30000 r-xp 00000000 00:00 0 C:\\Windows\\system32\\SHELL32.dll\n"
"71ce0000-71d13000 r-xp 00000000 00:00 0 C:\\Windows\\system32\\DINPUT8.dll\n";
char const * const llallocator_heap_profile_data::crash_testcase =
"heap profile: 3: 1049652 [ 8: 1049748] @\n"
" 3: 1049652 [ 8: 1049748] @\n"
"\n"
"MAPPED_LIBRARIES:\n"
"00400000-004d5000 r-xp 00000000 00:00 0 c:\\code\\linden\\tcmalloc\\indra\\build-vc80\\llcommon\\RelWithDebInfo\\llallocator_test.exe\n"
"7c900000-7c9af000 r-xp 00000000 00:00 0 C:\\WINDOWS\\system32\\ntdll.dll\n"
"7c800000-7c8f6000 r-xp 00000000 00:00 0 C:\\WINDOWS\\system32\\kernel32.dll\n"
"77dd0000-77e6b000 r-xp 00000000 00:00 0 C:\\WINDOWS\\system32\\ADVAPI32.dll\n"
"77e70000-77f02000 r-xp 00000000 00:00 0 C:\\WINDOWS\\system32\\RPCRT4.dll\n"
"77fe0000-77ff1000 r-xp 00000000 00:00 0 C:\\WINDOWS\\system32\\Secur32.dll\n"
"71ab0000-71ac7000 r-xp 00000000 00:00 0 C:\\WINDOWS\\system32\\WS2_32.dll\n"
"77c10000-77c68000 r-xp 00000000 00:00 0 C:\\WINDOWS\\system32\\msvcrt.dll\n"
"71aa0000-71aa8000 r-xp 00000000 00:00 0 C:\\WINDOWS\\system32\\WS2HELP.dll\n"
"76bf0000-76bfb000 r-xp 00000000 00:00 0 C:\\WINDOWS\\system32\\PSAPI.DLL\n"
"5b860000-5b8b5000 r-xp 00000000 00:00 0 C:\\WINDOWS\\system32\\NETAPI32.dll\n"
"10000000-10041000 r-xp 00000000 00:00 0 c:\\code\\linden\\tcmalloc\\indra\\build-vc80\\llcommon\\RelWithDebInfo\\libtcmalloc_minimal.dll\n"
"7c420000-7c4a7000 r-xp 00000000 00:00 0 C:\\WINDOWS\\WinSxS\\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.1433_x-ww_5cf844d2\\MSVCP80.dll\n"
"78130000-781cb000 r-xp 00000000 00:00 0 C:\\WINDOWS\\WinSxS\\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.1433_x-ww_5cf844d2\\MSVCR80.dll\n";
}
/**
* @file llallocator_test.cpp
* @author Brad Kittenbrink
* @date 2008-02-
* @brief Test for llallocator.cpp.
*
* $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
* Copyright (C) 2010, Linden Research, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License only.
*
* This library 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
#include "../llallocator.h"
#include "../test/lltut.h"
namespace tut
{
struct llallocator_data
{
LLAllocator llallocator;
};
typedef test_group<llallocator_data> factory;
typedef factory::object object;
}
namespace
{
tut::factory llallocator_test_factory("LLAllocator");
}
namespace tut
{
template<> template<>
void object::test<1>()
{
llallocator.setProfilingEnabled(false);
ensure("Profiler disable", !llallocator.isProfiling());
}
#if LL_USE_TCMALLOC
template<> template<>
void object::test<2>()
{
llallocator.setProfilingEnabled(true);
ensure("Profiler enable", llallocator.isProfiling());
}
template <> template <>
void object::test<3>()
{
llallocator.setProfilingEnabled(true);
char * test_alloc = new char[1024];
llallocator.getProfile();
delete [] test_alloc;
llallocator.getProfile();
// *NOTE - this test isn't ensuring anything right now other than no
// exceptions are thrown.
}
#endif // LL_USE_TCMALLOC
};
/**
* @file llmemtype_test.cpp
* @author Palmer Truelson
* @date 2008-03-
* @brief Test for llmemtype.cpp.
*
* $LicenseInfo:firstyear=2009&license=viewerlgpl$
* Second Life Viewer Source Code
* Copyright (C) 2010, Linden Research, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License only.
*
* This library 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
#include "../llmemtype.h"
#include "../test/lltut.h"
#include "../llallocator.h"
#include <stack>
std::stack<S32> memTypeStack;
void LLAllocator::pushMemType(S32 i)
{
memTypeStack.push(i);
}
S32 LLAllocator::popMemType(void)
{
S32 ret = memTypeStack.top();
memTypeStack.pop();
return ret;
}
namespace tut
{
struct llmemtype_data
{
};
typedef test_group<llmemtype_data> factory;
typedef factory::object object;
}
namespace
{
tut::factory llmemtype_test_factory("LLMemType");
}
namespace tut
{
template<> template<>
void object::test<1>()
{
ensure("Simplest test ever", true);
}
// test with no scripts
template<> template<>
void object::test<2>()
{
{
LLMemType m1(LLMemType::MTYPE_INIT);
}
ensure("Test that you can construct and destruct the mem type");
}
// test creation and stack testing
template<> template<>
void object::test<3>()
{
{
ensure("Test that creation and destruction properly inc/dec the stack");
ensure_equals(memTypeStack.size(), 0);
{
LLMemType m1(LLMemType::MTYPE_INIT);
ensure_equals(memTypeStack.size(), 1);
LLMemType m2(LLMemType::MTYPE_STARTUP);
ensure_equals(memTypeStack.size(), 2);
}
ensure_equals(memTypeStack.size(), 0);
}
}
// test with no scripts
template<> template<>
void object::test<4>()
{
// catch the begining and end
std::string test_name = LLMemType::getNameFromID(LLMemType::MTYPE_INIT.mID);
ensure_equals("Init name", test_name, "Init");
std::string test_name2 = LLMemType::getNameFromID(LLMemType::MTYPE_VOLUME.mID);
ensure_equals("Volume name", test_name2, "Volume");
std::string test_name3 = LLMemType::getNameFromID(LLMemType::MTYPE_OTHER.mID);
ensure_equals("Other name", test_name3, "Other");
std::string test_name4 = LLMemType::getNameFromID(-1);
ensure_equals("Invalid name", test_name4, "INVALID");
}
};
......@@ -216,7 +216,6 @@ endif (DARWIN)
)
set(example_libs
${LEGACY_STDIO_LIBS}
${LLCOREHTTP_LIBRARIES}
${WINDOWS_LIBRARIES}
${LLMESSAGE_LIBRARIES}
......
......@@ -481,7 +481,10 @@ void HttpLibcurl::policyUpdated(int policy_class)
// We'll try to do pipelining on this multihandle
check_curl_multi_setopt(multi_handle,
CURLMOPT_PIPELINING,
CURLPIPE_MULTIPLEX);
CURLPIPE_HTTP1);
check_curl_multi_setopt(multi_handle,
CURLMOPT_MAX_PIPELINE_LENGTH,
long(options.mPipelining));
check_curl_multi_setopt(multi_handle,
CURLMOPT_MAX_HOST_CONNECTIONS,
long(options.mPerHostConnectionLimit));
......
......@@ -504,8 +504,6 @@ HttpStatus HttpOpRequest::prepareRequest(HttpService * service)
return HttpStatus(HttpStatus::LLCORE, HE_BAD_ALLOC);
}
check_curl_easy_setopt(mCurlHandle, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2TLS);
check_curl_easy_setopt(mCurlHandle, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
check_curl_easy_setopt(mCurlHandle, CURLOPT_NOSIGNAL, 1);
check_curl_easy_setopt(mCurlHandle, CURLOPT_NOPROGRESS, 1);
......@@ -533,7 +531,7 @@ HttpStatus HttpOpRequest::prepareRequest(HttpService * service)
long follow_redirect(1L);
long sslPeerV(0L);
long sslHostV(0L);
long dnsCacheTimeout(60); // Refetch dns after 60 seconds
long dnsCacheTimeout(600); // Refetch dns after 600 seconds
long nobody(0L);
if (mReqOptions)
......
......@@ -299,11 +299,8 @@ CURL *getCurlTemplateHandle()
// about 700 or so requests and starts issuing TCP RSTs to
// new connections. Reuse the DNS lookups for even a few
// seconds and no RSTs.
result = curl_easy_setopt(curlpTemplateHandle, CURLOPT_DNS_CACHE_TIMEOUT, 60); // Refetch dns after 60 seconds
result = curl_easy_setopt(curlpTemplateHandle, CURLOPT_DNS_CACHE_TIMEOUT, 600); // Refetch dns after 600 seconds
check_curl_code(result, CURLOPT_DNS_CACHE_TIMEOUT);
result = curl_easy_setopt(curlpTemplateHandle, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2TLS);
check_curl_code(result, CURLOPT_HTTP_VERSION);
}
}
......