diff --git a/.cargo/config.toml b/.cargo/config.toml new file mode 100644 index 00000000..68d43114 --- /dev/null +++ b/.cargo/config.toml @@ -0,0 +1,26 @@ +[target.aarch64-unknown-redox] +linker = "aarch64-unknown-redox-gcc" +rustflags = [] + +[target.i586-unknown-redox] +linker = "i586-unknown-redox-gcc" +rustflags = [] + +[target.i686-unknown-redox] +linker = "i686-unknown-redox-gcc" +rustflags = [] + +[target.x86_64-unknown-redox] +linker = "x86_64-unknown-redox-gcc" +rustflags = [] + +[target.riscv64gc-unknown-redox] +linker = "riscv64-unknown-redox-gcc" +rustflags = [] + +[env] +CFLAGS_riscv64gc_unknown_redox="-march=rv64gc -mabi=lp64d" + +[target.x86_64-unknown-linux-gnu] +linker = "x86_64-linux-gnu-gcc" +rustflags = [] diff --git a/.gitignore b/.gitignore index 645218be..fa328e94 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,14 @@ .vscode/ # Local settings folder for the devcontainer extension that most IDEs support. .devcontainer/ +# Cookbook +/repo +/cookbook.toml +source +source.tmp +source-new +source-old +source.tar +source.tar.tmp +target +wget-log diff --git a/.gitmodules b/.gitmodules index 46244881..af84cb88 100644 --- a/.gitmodules +++ b/.gitmodules @@ -2,6 +2,10 @@ path = cookbook url = https://gitlab.redox-os.org/redox-os/cookbook.git branch = master +[submodule "pkgar"] + path = pkgar + url = https://gitlab.redox-os.org/redox-os/pkgar.git + branch = master [submodule "rust"] path = rust url = https://gitlab.redox-os.org/redox-os/rust.git diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 00000000..2598919c --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,3671 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "adler2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" + +[[package]] +name = "aes" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" +dependencies = [ + "cfg-if 1.0.4", + "cipher", + "cpufeatures", +] + +[[package]] +name = "aho-corasick" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloc-no-stdlib" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" + +[[package]] +name = "alloc-stdlib" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" +dependencies = [ + "alloc-no-stdlib", +] + +[[package]] +name = "allocator-api2" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "ansi-to-tui" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67555e1f1ece39d737e28c8a017721287753af3f93225e4a445b29ccb0f5912c" +dependencies = [ + "nom", + "ratatui", + "simdutf8", + "smallvec", + "thiserror 1.0.69", +] + +[[package]] +name = "ansi_term" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" +dependencies = [ + "winapi", +] + +[[package]] +name = "anstream" +version = "0.6.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" + +[[package]] +name = "anstyle-parse" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" +dependencies = [ + "anstyle", + "once_cell_polyfill", + "windows-sys 0.61.2", +] + +[[package]] +name = "anyhow" +version = "1.0.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" + +[[package]] +name = "arg_parser" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9bcdf9185a4ea0d8afa7c8ad387cc3a93c3ecfa918125e000a57a42e71268d7" + +[[package]] +name = "argon2" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db4ce4441f99dbd377ca8a8f57b698c44d0d6e712d8329b5040da5a64aa1ce73" +dependencies = [ + "base64ct", + "blake2", +] + +[[package]] +name = "arrayref" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" + +[[package]] +name = "arrayvec" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" + +[[package]] +name = "arrayvec" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" + +[[package]] +name = "async-compression" +version = "0.4.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93c1f86859c1af3d514fa19e8323147ff10ea98684e6c7b307912509f50e67b2" +dependencies = [ + "compression-codecs", + "compression-core", + "futures-core", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + +[[package]] +name = "atty" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +dependencies = [ + "hermit-abi", + "libc", + "winapi", +] + +[[package]] +name = "autocfg" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" + +[[package]] +name = "base64" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "base64ct" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" + +[[package]] +name = "blake2" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "blake2b_simd" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afa748e348ad3be8263be728124b24a24f268266f6f5d58af9d75f6a40b5c587" +dependencies = [ + "arrayref", + "arrayvec 0.5.2", + "constant_time_eq 0.1.5", +] + +[[package]] +name = "blake3" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b64485778c4f16a6a5a9d335e80d449ac6c70cdd6a06d2af18a6f6f775a125b3" +dependencies = [ + "arrayref", + "arrayvec 0.5.2", + "cc", + "cfg-if 0.1.10", + "constant_time_eq 0.1.5", + "crypto-mac", + "digest 0.9.0", + "rayon", +] + +[[package]] +name = "blake3" +version = "1.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9ec96fe9a81b5e365f9db71fe00edc4fe4ca2cc7dcb7861f0603012a7caa210" +dependencies = [ + "arrayref", + "arrayvec 0.7.6", + "cc", + "cfg-if 1.0.4", + "constant_time_eq 0.3.1", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "brotli" +version = "8.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bd8b9603c7aa97359dbd97ecf258968c95f3adddd6db2f7e7a5bef101c84560" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", + "brotli-decompressor", +] + +[[package]] +name = "brotli-decompressor" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "874bb8112abecc98cbd6d81ea4fa7e94fb9449648c93cc89aa40c81c24d7de03" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", +] + +[[package]] +name = "bstr" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "bumpalo" +version = "3.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" + +[[package]] +name = "bytecount" +version = "0.6.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "175812e0be2bccb6abe50bb8d566126198344f707e304f45c648fd8f2cc0365e" + +[[package]] +name = "bytemuck" +version = "1.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4" +dependencies = [ + "bytemuck_derive", +] + +[[package]] +name = "bytemuck_derive" +version = "1.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3" + +[[package]] +name = "cassowary" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53" + +[[package]] +name = "castaway" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dec551ab6e7578819132c713a93c022a05d60159dc86e7a7050223577484c55a" +dependencies = [ + "rustversion", +] + +[[package]] +name = "cc" +version = "1.2.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b97463e1064cb1b1c1384ad0a0b9c8abd0988e2a91f52606c80ef14aadb63e36" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" + +[[package]] +name = "cfg-if" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" + +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + +[[package]] +name = "chacha20" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" +dependencies = [ + "cfg-if 1.0.4", + "cipher", + "cpufeatures", +] + +[[package]] +name = "chrono" +version = "0.4.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2" +dependencies = [ + "iana-time-zone", + "js-sys", + "num-traits", + "wasm-bindgen", + "windows-link", +] + +[[package]] +name = "cipher" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +dependencies = [ + "crypto-common", + "inout", + "zeroize", +] + +[[package]] +name = "clap" +version = "2.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" +dependencies = [ + "ansi_term", + "atty", + "bitflags 1.3.2", + "strsim 0.8.0", + "textwrap", + "unicode-width 0.1.14", + "vec_map", +] + +[[package]] +name = "colorchoice" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" + +[[package]] +name = "compact_str" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b79c4069c6cad78e2e0cdfcbd26275770669fb39fd308a752dc110e83b9af32" +dependencies = [ + "castaway", + "cfg-if 1.0.4", + "itoa", + "rustversion", + "ryu", + "static_assertions", +] + +[[package]] +name = "compression-codecs" +version = "0.4.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "680dc087785c5230f8e8843e2e57ac7c1c90488b6a91b88caa265410568f441b" +dependencies = [ + "brotli", + "compression-core", +] + +[[package]] +name = "compression-core" +version = "0.4.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a9b614a5787ef0c8802a55766480563cb3a93b435898c422ed2a359cf811582" + +[[package]] +name = "console" +version = "0.15.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8" +dependencies = [ + "encode_unicode", + "libc", + "once_cell", + "unicode-width 0.2.0", + "windows-sys 0.59.0", +] + +[[package]] +name = "constant_time_eq" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" + +[[package]] +name = "constant_time_eq" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" + +[[package]] +name = "core-foundation-sys" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + +[[package]] +name = "cpufeatures" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +dependencies = [ + "libc", +] + +[[package]] +name = "crc" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" + +[[package]] +name = "crc32fast" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" +dependencies = [ + "cfg-if 1.0.4", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" + +[[package]] +name = "crypto-common" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "crypto-mac" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" +dependencies = [ + "generic-array", + "subtle", +] + +[[package]] +name = "curve25519-dalek" +version = "4.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" +dependencies = [ + "cfg-if 1.0.4", + "cpufeatures", + "curve25519-dalek-derive", + "fiat-crypto", + "rustc_version", + "subtle", + "zeroize", +] + +[[package]] +name = "curve25519-dalek-derive" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "darling" +version = "0.20.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim 0.11.1", + "syn", +] + +[[package]] +name = "darling_macro" +version = "0.20.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" +dependencies = [ + "darling_core", + "quote", + "syn", +] + +[[package]] +name = "deranged" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" +dependencies = [ + "powerfmt", +] + +[[package]] +name = "digest" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +dependencies = [ + "generic-array", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "crypto-common", + "subtle", +] + +[[package]] +name = "dirs" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30baa043103c9d0c2a57cf537cc2f35623889dc0d405e6c3cccfadbc81c71309" +dependencies = [ + "dirs-sys 0.3.7", +] + +[[package]] +name = "dirs" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e" +dependencies = [ + "dirs-sys 0.5.0", +] + +[[package]] +name = "dirs-sys" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" +dependencies = [ + "libc", + "redox_users 0.4.6", + "winapi", +] + +[[package]] +name = "dirs-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" +dependencies = [ + "libc", + "option-ext", + "redox_users 0.5.2", + "windows-sys 0.61.2", +] + +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "dryoc" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e73e0fee365832cd9b9a53ea62f944cc0d7a4c71f2b9c96a28fc74749517afa" +dependencies = [ + "bitflags 2.10.0", + "chacha20", + "curve25519-dalek", + "generic-array", + "lazy_static", + "libc", + "rand_core 0.6.4", + "salsa20", + "sha2", + "subtle", + "winapi", + "zeroize", +] + +[[package]] +name = "either" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" + +[[package]] +name = "encode_unicode" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" + +[[package]] +name = "endian-num" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8f59926911ef34d1efb9ea1ee8ca78385df62ce700ccf2bcb149011bd226888" + +[[package]] +name = "env_filter" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bf3c259d255ca70051b30e2e95b5446cdb8949ac4cd22c0d7fd634d89f568e2" +dependencies = [ + "log", + "regex", +] + +[[package]] +name = "env_logger" +version = "0.11.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcaee3d8e3cfc3fd92428d477bc97fc29ec8716d180c0d74c643bb26166660e0" +dependencies = [ + "anstream", + "anstyle", + "env_filter", + "humantime", + "log", +] + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "errno" +version = "0.3.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" +dependencies = [ + "libc", + "windows-sys 0.61.2", +] + +[[package]] +name = "fastrand" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" + +[[package]] +name = "fatfs" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05669f8e7e2d7badc545c513710f0eba09c2fbef683eb859fd79c46c355048e0" +dependencies = [ + "bitflags 1.3.2", + "byteorder", + "chrono", + "log", +] + +[[package]] +name = "fiat-crypto" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" + +[[package]] +name = "filedescriptor" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e40758ed24c9b2eeb76c35fb0aebc66c626084edd827e07e1552279814c6682d" +dependencies = [ + "libc", + "thiserror 1.0.69", + "winapi", +] + +[[package]] +name = "find-msvc-tools" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a3076410a55c90011c298b04d0cfa770b00fa04e1e3c97d3f6c9de105a03844" + +[[package]] +name = "flate2" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foldhash" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" + +[[package]] +name = "form_urlencoded" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "fscommon" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "315ce685aca5ddcc5a3e7e436ef47d4a5d0064462849b6f0f628c28140103531" +dependencies = [ + "log", +] + +[[package]] +name = "fuser" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e697f6f62c20b6fad1ba0f84ae909f25971cf16e735273524e3977c94604cf8" +dependencies = [ + "libc", + "log", + "memchr", + "page_size", + "pkg-config", + "smallvec", + "zerocopy 0.7.35", +] + +[[package]] +name = "futures-channel" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" + +[[package]] +name = "futures-io" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" + +[[package]] +name = "futures-sink" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" + +[[package]] +name = "futures-task" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" + +[[package]] +name = "futures-util" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +dependencies = [ + "futures-core", + "futures-io", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +dependencies = [ + "cfg-if 1.0.4", + "libc", + "wasi 0.9.0+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" +dependencies = [ + "cfg-if 1.0.4", + "js-sys", + "libc", + "wasi 0.11.1+wasi-snapshot-preview1", + "wasm-bindgen", +] + +[[package]] +name = "getrandom" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +dependencies = [ + "cfg-if 1.0.4", + "js-sys", + "libc", + "r-efi", + "wasip2", + "wasm-bindgen", +] + +[[package]] +name = "globset" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52dfc19153a48bde0cbd630453615c8151bce3a5adfac7a0aebfbf0a1e1f57e3" +dependencies = [ + "aho-corasick", + "bstr", + "log", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "gpt" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8283e7331b8c93b9756e0cfdbcfb90312852f953c6faf9bf741e684cc3b6ad69" +dependencies = [ + "bitflags 2.10.0", + "crc", + "log", + "uuid", +] + +[[package]] +name = "hashbrown" +version = "0.15.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash", +] + +[[package]] +name = "hashbrown" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +dependencies = [ + "serde", +] + +[[package]] +name = "http" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http", +] + +[[package]] +name = "http-body-util" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" +dependencies = [ + "bytes", + "futures-core", + "http", + "http-body", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" + +[[package]] +name = "humansize" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6cb51c9a029ddc91b07a787f1d86b53ccfa49b0e86688c946ebe8d3555685dd7" +dependencies = [ + "libm", +] + +[[package]] +name = "humantime" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "135b12329e5e3ce057a9f972339ea52bc954fe1e9358ef27f95e89716fbc5424" + +[[package]] +name = "hyper" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11" +dependencies = [ + "atomic-waker", + "bytes", + "futures-channel", + "futures-core", + "http", + "http-body", + "httparse", + "itoa", + "pin-project-lite", + "pin-utils", + "smallvec", + "tokio", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.27.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" +dependencies = [ + "http", + "hyper", + "hyper-util", + "rustls", + "rustls-pki-types", + "tokio", + "tokio-rustls", + "tower-service", + "webpki-roots", +] + +[[package]] +name = "hyper-util" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52e9a2a24dc5c6821e71a7030e1e14b7b632acac55c40e9d2e082c621261bb56" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "http", + "http-body", + "hyper", + "ipnet", + "libc", + "percent-encoding", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "log", + "wasm-bindgen", + "windows-core", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "icu_collections" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" +dependencies = [ + "displaydoc", + "potential_utf", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locale_core" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_normalizer" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" +dependencies = [ + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" + +[[package]] +name = "icu_properties" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e93fcd3157766c0c8da2f8cff6ce651a31f0810eaa1c51ec363ef790bbb5fb99" +dependencies = [ + "icu_collections", + "icu_locale_core", + "icu_properties_data", + "icu_provider", + "zerotrie", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02845b3647bb045f1100ecd6480ff52f34c35f82d9880e029d329c21d1054899" + +[[package]] +name = "icu_provider" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" +dependencies = [ + "displaydoc", + "icu_locale_core", + "writeable", + "yoke", + "zerofrom", + "zerotrie", + "zerovec", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" +dependencies = [ + "icu_normalizer", + "icu_properties", +] + +[[package]] +name = "ignore" +version = "0.4.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3d782a365a015e0f5c04902246139249abf769125006fbe7649e2ee88169b4a" +dependencies = [ + "crossbeam-deque", + "globset", + "log", + "memchr", + "regex-automata", + "same-file", + "walkdir", + "winapi-util", +] + +[[package]] +name = "indexmap" +version = "2.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6717a8d2a5a929a1a2eb43a12812498ed141a0bcfb7e8f7844fbdbe4303bba9f" +dependencies = [ + "equivalent", + "hashbrown 0.16.1", +] + +[[package]] +name = "indicatif" +version = "0.17.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "183b3088984b400f4cfac3620d5e076c84da5364016b4f49473de574b2586235" +dependencies = [ + "console", + "number_prefix", + "portable-atomic", + "unicode-width 0.2.0", + "web-time", +] + +[[package]] +name = "indoc" +version = "2.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706" +dependencies = [ + "rustversion", +] + +[[package]] +name = "inout" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" +dependencies = [ + "generic-array", +] + +[[package]] +name = "instability" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "435d80800b936787d62688c927b6490e887c7ef5ff9ce922c6c6050fca75eb9a" +dependencies = [ + "darling", + "indoc", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "ipnet" +version = "2.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" + +[[package]] +name = "iri-string" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f867b9d1d896b67beb18518eda36fdb77a32ea590de864f1325b294a6d14397" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "is_terminal_polyfill" +version = "1.70.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" + +[[package]] +name = "js-sys" +version = "0.3.82" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b011eec8cc36da2aab2d5cff675ec18454fad408585853910a202391cf9f8e65" +dependencies = [ + "once_cell", + "wasm-bindgen", +] + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" + +[[package]] +name = "libc" +version = "0.2.177" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" + +[[package]] +name = "libm" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" + +[[package]] +name = "libredox" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb" +dependencies = [ + "bitflags 2.10.0", + "libc", + "redox_syscall", +] + +[[package]] +name = "linux-raw-sys" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" + +[[package]] +name = "litemap" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" + +[[package]] +name = "log" +version = "0.4.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" + +[[package]] +name = "lru" +version = "0.12.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" +dependencies = [ + "hashbrown 0.15.5", +] + +[[package]] +name = "lru-slab" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" + +[[package]] +name = "lz4_flex" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08ab2867e3eeeca90e844d1940eab391c9dc5228783db2ed999acbc0a9ed375a" + +[[package]] +name = "memchr" +version = "2.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" + +[[package]] +name = "memsec" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fa0916b001582d253822171bd23f4a0229d32b9507fae236f5da8cad515ba7c" +dependencies = [ + "getrandom 0.2.16", + "libc", + "windows-sys 0.45.0", +] + +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + +[[package]] +name = "miniz_oxide" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" +dependencies = [ + "adler2", + "simd-adler32", +] + +[[package]] +name = "mio" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69d83b0086dc8ecf3ce9ae2874b2d1290252e2a30720bea58a5c6639b0092873" +dependencies = [ + "libc", + "wasi 0.11.1+wasi-snapshot-preview1", + "windows-sys 0.61.2", +] + +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "number_prefix" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" + +[[package]] +name = "numtoa" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6aa2c4e539b869820a2b82e1aef6ff40aa85e65decdd5185e83fb4b1249cd00f" + +[[package]] +name = "object" +version = "0.36.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" +dependencies = [ + "crc32fast", + "flate2", + "hashbrown 0.15.5", + "indexmap", + "memchr", + "ruzstd", +] + +[[package]] +name = "once_cell" +version = "1.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + +[[package]] +name = "once_cell_polyfill" +version = "1.70.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" + +[[package]] +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "parse-size" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "487f2ccd1e17ce8c1bfab3a65c89525af41cfad4c8659021a1e9a2aacd73b89b" + +[[package]] +name = "partition-identity" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fa925f9becb532d758b0014b472c576869910929cf4c3f8054b386f19ab9e21" +dependencies = [ + "thiserror 1.0.69", +] + +[[package]] +name = "paste" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" + +[[package]] +name = "pbr" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed5827dfa0d69b6c92493d6c38e633bbaa5937c153d0d7c28bf12313f8c6d514" +dependencies = [ + "crossbeam-channel", + "libc", + "winapi", +] + +[[package]] +name = "percent-encoding" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" + +[[package]] +name = "pin-project-lite" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkg-config" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" + +[[package]] +name = "pkgar" +version = "0.1.19" +dependencies = [ + "anyhow", + "blake3 0.3.8", + "bytemuck", + "clap", + "pkgar-core 0.1.19", + "pkgar-keys 0.1.19", + "thiserror 2.0.17", +] + +[[package]] +name = "pkgar" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dab99cb7a6d62ca2667eca54ffab93fc77e3f4d19e67a2dce7d65c22adaa7324" +dependencies = [ + "anyhow", + "blake3 0.3.8", + "bytemuck", + "clap", + "pkgar-core 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", + "pkgar-keys 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 2.0.17", +] + +[[package]] +name = "pkgar-core" +version = "0.1.19" +dependencies = [ + "bitflags 1.3.2", + "blake3 0.3.8", + "bytemuck", + "dryoc", +] + +[[package]] +name = "pkgar-core" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc0f6069f730523018711e77c41b642cf922ef7f4b5505bbf28e7070da4de206" +dependencies = [ + "bitflags 1.3.2", + "blake3 0.3.8", + "bytemuck", + "dryoc", +] + +[[package]] +name = "pkgar-keys" +version = "0.1.19" +dependencies = [ + "anyhow", + "clap", + "dirs 3.0.2", + "hex", + "lazy_static", + "pkgar-core 0.1.19", + "seckey", + "serde", + "termion", + "thiserror 2.0.17", + "toml 0.8.23", +] + +[[package]] +name = "pkgar-keys" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "928cd21d644eb3c0a687bc5b76c07a2ace4e96a8f3c948538e4d4e6a5b8aeabf" +dependencies = [ + "anyhow", + "clap", + "dirs 3.0.2", + "hex", + "lazy_static", + "pkgar-core 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", + "seckey", + "serde", + "termion", + "thiserror 2.0.17", + "toml 0.8.23", +] + +[[package]] +name = "portable-atomic" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" + +[[package]] +name = "potential_utf" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" +dependencies = [ + "zerovec", +] + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "ppv-lite86" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy 0.8.28", +] + +[[package]] +name = "proc-macro2" +version = "1.0.103" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "proc-mounts" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d652f8435d0ab70bf4f3590a6a851d59604831a458086541b95238cc51ffcf2" +dependencies = [ + "partition-identity", +] + +[[package]] +name = "quinn" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20" +dependencies = [ + "bytes", + "cfg_aliases", + "pin-project-lite", + "quinn-proto", + "quinn-udp", + "rustc-hash", + "rustls", + "socket2", + "thiserror 2.0.17", + "tokio", + "tracing", + "web-time", +] + +[[package]] +name = "quinn-proto" +version = "0.11.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31" +dependencies = [ + "bytes", + "getrandom 0.3.4", + "lru-slab", + "rand 0.9.2", + "ring", + "rustc-hash", + "rustls", + "rustls-pki-types", + "slab", + "thiserror 2.0.17", + "tinyvec", + "tracing", + "web-time", +] + +[[package]] +name = "quinn-udp" +version = "0.5.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" +dependencies = [ + "cfg_aliases", + "libc", + "once_cell", + "socket2", + "tracing", + "windows-sys 0.60.2", +] + +[[package]] +name = "quote" +version = "1.0.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.3", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.3", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.16", +] + +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +dependencies = [ + "getrandom 0.3.4", +] + +[[package]] +name = "range-tree" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "384c2842d4e069d5ccacf5fe1dca4ef8d07a5444329715f0fc3c61813502d4d1" + +[[package]] +name = "ratatui" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eabd94c2f37801c20583fc49dd5cd6b0ba68c716787c2dd6ed18571e1e63117b" +dependencies = [ + "bitflags 2.10.0", + "cassowary", + "compact_str", + "indoc", + "instability", + "itertools", + "lru", + "paste", + "strum", + "termion", + "unicode-segmentation", + "unicode-truncate", + "unicode-width 0.2.0", +] + +[[package]] +name = "rayon" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + +[[package]] +name = "redox-path" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "436d45c2b6a5b159d43da708e62b25be3a4a3d5550d654b72216ade4c4bfd717" + +[[package]] +name = "redox-pkg" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d50a7ed267e236ce8bfa178bfd3fb7a39765689d037e51c57f36bad46f474fd" +dependencies = [ + "anyhow", + "ignore", + "indicatif", + "pkgar 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", + "pkgar-core 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", + "pkgar-keys 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", + "reqwest", + "serde", + "serde_derive", + "thiserror 1.0.69", + "toml 0.8.23", +] + +[[package]] +name = "redox-scheme" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4da6a0251965958189cdfd5ebb66f99754db4aa165394300aa2b958525d94b64" +dependencies = [ + "libredox", + "redox_syscall", +] + +[[package]] +name = "redox_cookbook" +version = "0.1.0" +dependencies = [ + "ansi-to-tui", + "anyhow", + "blake3 1.5.3", + "filedescriptor", + "ignore", + "libc", + "object", + "pbr", + "pkgar 0.1.19", + "pkgar-core 0.1.19", + "pkgar-keys 0.1.19", + "ratatui", + "redox-pkg", + "redox_installer", + "redoxer", + "regex", + "serde", + "strip-ansi-escapes", + "tempfile", + "termion", + "toml 0.8.23", + "walkdir", +] + +[[package]] +name = "redox_installer" +version = "0.2.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b0e2e9b588faacd83ff68ce0f4dcd7a47e7477ff3405c63c79712bcd550931" +dependencies = [ + "anyhow", + "arg_parser", + "cc", + "fatfs", + "fscommon", + "gpt", + "libc", + "libredox", + "pkgar 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", + "pkgar-core 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", + "pkgar-keys 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.8.5", + "redox-pkg", + "redox_liner", + "redox_syscall", + "redoxfs", + "rust-argon2", + "serde", + "serde_derive", + "termion", + "toml 0.8.23", + "uuid", +] + +[[package]] +name = "redox_liner" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee4596948a78a2ac29268d4ee45f788789ac8c032c77cf255378e5c96ca0c779" +dependencies = [ + "bytecount", + "itertools", + "strip-ansi-escapes", + "termion", + "unicode-width 0.1.14", +] + +[[package]] +name = "redox_syscall" +version = "0.5.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" +dependencies = [ + "bitflags 2.10.0", +] + +[[package]] +name = "redox_termios" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20145670ba436b55d91fc92d25e71160fbfbdd57831631c8d7d36377a476f1cb" + +[[package]] +name = "redox_users" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" +dependencies = [ + "getrandom 0.2.16", + "libredox", + "thiserror 1.0.69", +] + +[[package]] +name = "redox_users" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" +dependencies = [ + "getrandom 0.2.16", + "libredox", + "thiserror 2.0.17", +] + +[[package]] +name = "redoxer" +version = "0.2.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ef2d308648e7006723774da783dd5d9a6c931387b3dc7f903a10fa1c2026d0d" +dependencies = [ + "anyhow", + "dirs 6.0.0", + "proc-mounts", + "redox-pkg", + "redox_installer", + "redox_syscall", + "redoxfs", + "tempfile", + "toml 0.9.5", +] + +[[package]] +name = "redoxfs" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25f807d736d169077c076bc44837ef250257680a91efedda6891474735a833" +dependencies = [ + "aes", + "argon2", + "base64ct", + "bitflags 2.10.0", + "endian-num", + "env_logger", + "fuser", + "getrandom 0.2.16", + "humansize", + "libc", + "libredox", + "log", + "lz4_flex", + "parse-size", + "range-tree", + "redox-path", + "redox-scheme", + "redox_syscall", + "seahash", + "termion", + "time", + "uuid", + "xts-mode", +] + +[[package]] +name = "regex" +version = "1.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" + +[[package]] +name = "reqwest" +version = "0.12.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d0946410b9f7b082a427e4ef5c8ff541a88b357bc6c637c40db3a68ac70a36f" +dependencies = [ + "async-compression", + "base64 0.22.1", + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-rustls", + "hyper-util", + "js-sys", + "log", + "percent-encoding", + "pin-project-lite", + "quinn", + "rustls", + "rustls-pki-types", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper", + "tokio", + "tokio-rustls", + "tokio-util", + "tower", + "tower-http", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "webpki-roots", +] + +[[package]] +name = "ring" +version = "0.17.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" +dependencies = [ + "cc", + "cfg-if 1.0.4", + "getrandom 0.2.16", + "libc", + "untrusted", + "windows-sys 0.52.0", +] + +[[package]] +name = "rust-argon2" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b18820d944b33caa75a71378964ac46f58517c92b6ae5f762636247c09e78fb" +dependencies = [ + "base64 0.13.1", + "blake2b_simd", + "constant_time_eq 0.1.5", + "crossbeam-utils", +] + +[[package]] +name = "rustc-hash" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" + +[[package]] +name = "rustc_version" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" +dependencies = [ + "semver", +] + +[[package]] +name = "rustix" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e" +dependencies = [ + "bitflags 2.10.0", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.61.2", +] + +[[package]] +name = "rustls" +version = "0.23.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "533f54bc6a7d4f647e46ad909549eda97bf5afc1585190ef692b4286b198bd8f" +dependencies = [ + "once_cell", + "ring", + "rustls-pki-types", + "rustls-webpki", + "subtle", + "zeroize", +] + +[[package]] +name = "rustls-pki-types" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94182ad936a0c91c324cd46c6511b9510ed16af436d7b5bab34beab0afd55f7a" +dependencies = [ + "web-time", + "zeroize", +] + +[[package]] +name = "rustls-webpki" +version = "0.103.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ffdfa2f5286e2247234e03f680868ac2815974dc39e00ea15adc445d0aafe52" +dependencies = [ + "ring", + "rustls-pki-types", + "untrusted", +] + +[[package]] +name = "rustversion" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" + +[[package]] +name = "ruzstd" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fad02996bfc73da3e301efe90b1837be9ed8f4a462b6ed410aa35d00381de89f" +dependencies = [ + "twox-hash", +] + +[[package]] +name = "ryu" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" + +[[package]] +name = "salsa20" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213" +dependencies = [ + "cipher", +] + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "seahash" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" + +[[package]] +name = "seckey" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33b371a3e46636d13277af1daacbecb6f5acbe653bd378a4822ecd1c67790fbb" +dependencies = [ + "getrandom 0.1.16", + "memsec", +] + +[[package]] +name = "semver" +version = "1.0.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" + +[[package]] +name = "serde" +version = "1.0.197" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.197" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.143" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d401abef1d108fbd9cbaebc3e46611f4b1021f714a0597a71f41ee463f5f4a5a" +dependencies = [ + "itoa", + "memchr", + "ryu", + "serde", +] + +[[package]] +name = "serde_spanned" +version = "0.6.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_spanned" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40734c41988f7306bb04f0ecf60ec0f3f1caa34290e4e8ea471dcd3346483b83" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "sha2" +version = "0.10.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" +dependencies = [ + "cfg-if 1.0.4", + "cpufeatures", + "digest 0.10.7", +] + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "simd-adler32" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" + +[[package]] +name = "simdutf8" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" + +[[package]] +name = "slab" +version = "0.4.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" + +[[package]] +name = "smallvec" +version = "1.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" + +[[package]] +name = "socket2" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17129e116933cf371d018bb80ae557e889637989d8638274fb25622827b03881" +dependencies = [ + "libc", + "windows-sys 0.60.2", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "strip-ansi-escapes" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a8f8038e7e7969abb3f1b7c2a811225e9296da208539e0f79c5251d6cac0025" +dependencies = [ + "vte", +] + +[[package]] +name = "strsim" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "strum" +version = "0.26.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" +dependencies = [ + "strum_macros", +] + +[[package]] +name = "strum_macros" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "rustversion", + "syn", +] + +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + +[[package]] +name = "syn" +version = "2.0.110" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a99801b5bd34ede4cf3fc688c5919368fea4e4814a4664359503e6015b280aea" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "sync_wrapper" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] + +[[package]] +name = "synstructure" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tempfile" +version = "3.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16" +dependencies = [ + "fastrand", + "getrandom 0.3.4", + "once_cell", + "rustix", + "windows-sys 0.61.2", +] + +[[package]] +name = "termion" +version = "4.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3669a69de26799d6321a5aa713f55f7e2cd37bd47be044b50f2acafc42c122bb" +dependencies = [ + "libc", + "libredox", + "numtoa", + "redox_termios", +] + +[[package]] +name = "textwrap" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" +dependencies = [ + "unicode-width 0.1.14", +] + +[[package]] +name = "thiserror" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +dependencies = [ + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8" +dependencies = [ + "thiserror-impl 2.0.17", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "time" +version = "0.3.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e7d9e3bb61134e77bde20dd4825b97c010155709965fedf0f49bb138e52a9d" +dependencies = [ + "deranged", + "num-conv", + "powerfmt", + "serde", + "time-core", +] + +[[package]] +name = "time-core" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b" + +[[package]] +name = "tinystr" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" +dependencies = [ + "displaydoc", + "zerovec", +] + +[[package]] +name = "tinyvec" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff360e02eab121e0bc37a2d3b4d4dc622e6eda3a8e5253d5435ecf5bd4c68408" +dependencies = [ + "bytes", + "libc", + "mio", + "pin-project-lite", + "socket2", + "windows-sys 0.61.2", +] + +[[package]] +name = "tokio-rustls" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" +dependencies = [ + "rustls", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.7.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2efa149fe76073d6e8fd97ef4f4eca7b67f599660115591483572e406e165594" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "toml" +version = "0.8.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362" +dependencies = [ + "serde", + "serde_spanned 0.6.9", + "toml_datetime 0.6.11", + "toml_edit", +] + +[[package]] +name = "toml" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75129e1dc5000bfbaa9fee9d1b21f974f9fbad9daec557a521ee6e080825f6e8" +dependencies = [ + "indexmap", + "serde", + "serde_spanned 1.0.0", + "toml_datetime 0.7.0", + "toml_parser", + "toml_writer", + "winnow", +] + +[[package]] +name = "toml_datetime" +version = "0.6.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_datetime" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bade1c3e902f58d73d3f294cd7f20391c1cb2fbcb643b73566bc773971df91e3" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.22.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" +dependencies = [ + "indexmap", + "serde", + "serde_spanned 0.6.9", + "toml_datetime 0.6.11", + "toml_write", + "winnow", +] + +[[package]] +name = "toml_parser" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0cbe268d35bdb4bb5a56a2de88d0ad0eb70af5384a99d648cd4b3d04039800e" +dependencies = [ + "winnow", +] + +[[package]] +name = "toml_write" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801" + +[[package]] +name = "toml_writer" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df8b2b54733674ad286d16267dcfc7a71ed5c776e4ac7aa3c3e2561f7c637bf2" + +[[package]] +name = "tower" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper", + "tokio", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-http" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" +dependencies = [ + "bitflags 2.10.0", + "bytes", + "futures-util", + "http", + "http-body", + "iri-string", + "pin-project-lite", + "tower", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-layer" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" + +[[package]] +name = "tower-service" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" + +[[package]] +name = "tracing" +version = "0.1.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" +dependencies = [ + "pin-project-lite", + "tracing-core", +] + +[[package]] +name = "tracing-core" +version = "0.1.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" +dependencies = [ + "once_cell", +] + +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "twox-hash" +version = "1.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" +dependencies = [ + "cfg-if 1.0.4", + "static_assertions", +] + +[[package]] +name = "typenum" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" + +[[package]] +name = "unicode-ident" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" + +[[package]] +name = "unicode-segmentation" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" + +[[package]] +name = "unicode-truncate" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3644627a5af5fa321c95b9b235a72fd24cd29c648c2c379431e6628655627bf" +dependencies = [ + "itertools", + "unicode-segmentation", + "unicode-width 0.1.14", +] + +[[package]] +name = "unicode-width" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" + +[[package]] +name = "unicode-width" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" + +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + +[[package]] +name = "url" +version = "2.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", + "serde", +] + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + +[[package]] +name = "utf8parse" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" + +[[package]] +name = "uuid" +version = "1.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2" +dependencies = [ + "getrandom 0.3.4", + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "vec_map" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "vte" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "231fdcd7ef3037e8330d8e17e61011a2c244126acc0a982f4040ac3f9f0bc077" +dependencies = [ + "memchr", +] + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + +[[package]] +name = "wasi" +version = "0.11.1+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" + +[[package]] +name = "wasip2" +version = "1.0.1+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" +dependencies = [ + "wit-bindgen", +] + +[[package]] +name = "wasm-bindgen" +version = "0.2.105" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da95793dfc411fbbd93f5be7715b0578ec61fe87cb1a42b12eb625caa5c5ea60" +dependencies = [ + "cfg-if 1.0.4", + "once_cell", + "rustversion", + "wasm-bindgen-macro", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.55" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "551f88106c6d5e7ccc7cd9a16f312dd3b5d36ea8b4954304657d5dfba115d4a0" +dependencies = [ + "cfg-if 1.0.4", + "js-sys", + "once_cell", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.105" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04264334509e04a7bf8690f2384ef5265f05143a4bff3889ab7a3269adab59c2" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.105" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "420bc339d9f322e562942d52e115d57e950d12d88983a14c79b86859ee6c7ebc" +dependencies = [ + "bumpalo", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.105" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76f218a38c84bcb33c25ec7059b07847d465ce0e0a76b995e134a45adcb6af76" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "web-sys" +version = "0.3.82" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a1f95c0d03a47f4ae1f7a64643a6bb97465d9b740f0fa8f90ea33915c99a9a1" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web-time" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki-roots" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2878ef029c47c6e8cf779119f20fcf52bde7ad42a731b2a304bc221df17571e" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-core" +version = "0.62.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-link", + "windows-result", + "windows-strings", +] + +[[package]] +name = "windows-implement" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "windows-interface" +version = "0.59.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-result" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-strings" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +dependencies = [ + "windows-targets 0.53.5", +] + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm 0.52.6", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.53.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" +dependencies = [ + "windows-link", + "windows_aarch64_gnullvm 0.53.1", + "windows_aarch64_msvc 0.53.1", + "windows_i686_gnu 0.53.1", + "windows_i686_gnullvm 0.53.1", + "windows_i686_msvc 0.53.1", + "windows_x86_64_gnu 0.53.1", + "windows_x86_64_gnullvm 0.53.1", + "windows_x86_64_msvc 0.53.1", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnu" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_i686_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" + +[[package]] +name = "winnow" +version = "0.7.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" +dependencies = [ + "memchr", +] + +[[package]] +name = "wit-bindgen" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" + +[[package]] +name = "writeable" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" + +[[package]] +name = "xts-mode" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09cbddb7545ca0b9ffa7bdc653e8743303e1712687a6918ced25f2cdbed42520" +dependencies = [ + "byteorder", + "cipher", +] + +[[package]] +name = "yoke" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" +dependencies = [ + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "zerocopy" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +dependencies = [ + "byteorder", + "zerocopy-derive 0.7.35", +] + +[[package]] +name = "zerocopy" +version = "0.8.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43fa6694ed34d6e57407afbccdeecfa268c470a7d2a5b0cf49ce9fcc345afb90" +dependencies = [ + "zerocopy-derive 0.8.28", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c640b22cd9817fae95be82f0d2f90b11f7605f6c319d16705c459b27ac2cbc26" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "zerofrom" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "zeroize" +version = "1.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "zerotrie" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + +[[package]] +name = "zerovec" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 00000000..62e8eeaa --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,58 @@ +[package] +name = "redox_cookbook" +version = "0.1.0" +authors = ["Jeremy Soller "] +edition = "2024" +default-run = "repo" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[[bin]] +name = "cook" +path = "src/bin/cook.rs" + +[[bin]] +name = "cookbook_redoxer" +path = "src/bin/cookbook_redoxer.rs" + +[lib] +name = "cookbook" +path = "src/lib.rs" +doctest = false + +[features] +#TODO: Actually make without tui feature works +default = ["tui"] +tui = ["ratatui", "ansi-to-tui", "filedescriptor", "strip-ansi-escapes"] + +[dependencies] +anyhow = "1" +# blake3 1.5.4 is incompatible with 0.3 dependency from pkgar +blake3 = "=1.5.3" +libc = "0.2" +ignore = "0.4" +object = { version = "0.36", features = ["build_core"] } +pbr = "1.0.2" +pkgar = { path = "pkgar/pkgar" } +pkgar-core = { path = "pkgar/pkgar-core" } +pkgar-keys = { path = "pkgar/pkgar-keys" } +redox-pkg = "0.2.8" +redox_installer = "0.2.37" +redoxer = "0.2.60" +regex = "1.11" +serde = { version = "=1.0.197", features = ["derive"] } +termion = "4" +toml = "0.8" +walkdir = "2.3.1" +filedescriptor = { version = "0.8.3", optional = true } +ansi-to-tui = { version = "7.0.0", optional = true } +strip-ansi-escapes = { version = "0.2.1", optional = true } + +[dependencies.ratatui] +version = "0.29.0" +default-features = false +features = ["termion"] +optional = true + +[dev-dependencies] +tempfile = "3" diff --git a/bin/aarch64-unknown-redox-pkg-config b/bin/aarch64-unknown-redox-pkg-config new file mode 100755 index 00000000..18e9816e --- /dev/null +++ b/bin/aarch64-unknown-redox-pkg-config @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +export PKG_CONFIG_SYSROOT_DIR="${COOKBOOK_SYSROOT}" +export PKG_CONFIG_LIBDIR="${PKG_CONFIG_SYSROOT_DIR}/lib/pkgconfig" +export PKG_CONFIG_PATH="${PKG_CONFIG_SYSROOT_DIR}/share/pkgconfig" + +if [ -n "${COOKBOOK_DYNAMIC}" ] +then + exec pkg-config "$@" +else + exec pkg-config --static "$@" +fi diff --git a/bin/i586-unknown-redox-pkg-config b/bin/i586-unknown-redox-pkg-config new file mode 100755 index 00000000..18e9816e --- /dev/null +++ b/bin/i586-unknown-redox-pkg-config @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +export PKG_CONFIG_SYSROOT_DIR="${COOKBOOK_SYSROOT}" +export PKG_CONFIG_LIBDIR="${PKG_CONFIG_SYSROOT_DIR}/lib/pkgconfig" +export PKG_CONFIG_PATH="${PKG_CONFIG_SYSROOT_DIR}/share/pkgconfig" + +if [ -n "${COOKBOOK_DYNAMIC}" ] +then + exec pkg-config "$@" +else + exec pkg-config --static "$@" +fi diff --git a/bin/i686-unknown-redox-pkg-config b/bin/i686-unknown-redox-pkg-config new file mode 100755 index 00000000..18e9816e --- /dev/null +++ b/bin/i686-unknown-redox-pkg-config @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +export PKG_CONFIG_SYSROOT_DIR="${COOKBOOK_SYSROOT}" +export PKG_CONFIG_LIBDIR="${PKG_CONFIG_SYSROOT_DIR}/lib/pkgconfig" +export PKG_CONFIG_PATH="${PKG_CONFIG_SYSROOT_DIR}/share/pkgconfig" + +if [ -n "${COOKBOOK_DYNAMIC}" ] +then + exec pkg-config "$@" +else + exec pkg-config --static "$@" +fi diff --git a/bin/riscv64-unknown-redox-pkg-config b/bin/riscv64-unknown-redox-pkg-config new file mode 100755 index 00000000..18e9816e --- /dev/null +++ b/bin/riscv64-unknown-redox-pkg-config @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +export PKG_CONFIG_SYSROOT_DIR="${COOKBOOK_SYSROOT}" +export PKG_CONFIG_LIBDIR="${PKG_CONFIG_SYSROOT_DIR}/lib/pkgconfig" +export PKG_CONFIG_PATH="${PKG_CONFIG_SYSROOT_DIR}/share/pkgconfig" + +if [ -n "${COOKBOOK_DYNAMIC}" ] +then + exec pkg-config "$@" +else + exec pkg-config --static "$@" +fi diff --git a/bin/x86_64-unknown-redox-llvm-config b/bin/x86_64-unknown-redox-llvm-config new file mode 100755 index 00000000..387d7e30 --- /dev/null +++ b/bin/x86_64-unknown-redox-llvm-config @@ -0,0 +1,173 @@ +#!/usr/bin/env python3 + +# The values here are copied from the output of llvm-config running under Redox. +# This is a hack, and should be replaced if possible. + +# generated with this ion script: +# for component in @(llvm-config --components) +# echo -e \"$component\": \"$(llvm-config --libs $component)\", +# end +components = { + 'aggressiveinstcombine': '-lLLVMAggressiveInstCombine -lLLVMTransformUtils -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'all': '-lLLVMWindowsManifest -lLLVMXRay -lLLVMLibDriver -lLLVMDlltoolDriver -lLLVMTextAPIBinaryReader -lLLVMCoverage -lLLVMLineEditor -lLLVMX86TargetMCA -lLLVMX86Disassembler -lLLVMX86AsmParser -lLLVMX86CodeGen -lLLVMX86Desc -lLLVMX86Info -lLLVMOrcDebugging -lLLVMOrcJIT -lLLVMWindowsDriver -lLLVMMCJIT -lLLVMJITLink -lLLVMInterpreter -lLLVMExecutionEngine -lLLVMRuntimeDyld -lLLVMOrcTargetProcess -lLLVMOrcShared -lLLVMDWP -lLLVMDebugInfoLogicalView -lLLVMDebugInfoGSYM -lLLVMOption -lLLVMObjectYAML -lLLVMObjCopy -lLLVMMCA -lLLVMMCDisassembler -lLLVMLTO -lLLVMPasses -lLLVMHipStdPar -lLLVMCFGuard -lLLVMCoroutines -lLLVMipo -lLLVMVectorize -lLLVMLinker -lLLVMInstrumentation -lLLVMFrontendOpenMP -lLLVMFrontendOffloading -lLLVMFrontendOpenACC -lLLVMFrontendHLSL -lLLVMFrontendDriver -lLLVMExtensions -lLLVMDWARFLinkerParallel -lLLVMDWARFLinkerClassic -lLLVMDWARFLinker -lLLVMGlobalISel -lLLVMMIRParser -lLLVMAsmPrinter -lLLVMSelectionDAG -lLLVMCodeGen -lLLVMTarget -lLLVMObjCARCOpts -lLLVMCodeGenTypes -lLLVMIRPrinter -lLLVMInterfaceStub -lLLVMFileCheck -lLLVMFuzzMutate -lLLVMScalarOpts -lLLVMInstCombine -lLLVMAggressiveInstCombine -lLLVMTransformUtils -lLLVMBitWriter -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMFuzzerCLI -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMTableGen -lLLVMSupport -lLLVMDemangle', + 'all-targets': '-lLLVMX86TargetMCA -lLLVMMCA -lLLVMX86Disassembler -lLLVMX86AsmParser -lLLVMX86CodeGen -lLLVMX86Desc -lLLVMX86Info -lLLVMMCDisassembler -lLLVMInstrumentation -lLLVMIRPrinter -lLLVMGlobalISel -lLLVMSelectionDAG -lLLVMCFGuard -lLLVMAsmPrinter -lLLVMCodeGen -lLLVMTarget -lLLVMScalarOpts -lLLVMInstCombine -lLLVMAggressiveInstCombine -lLLVMObjCARCOpts -lLLVMTransformUtils -lLLVMCodeGenTypes -lLLVMBitWriter -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'analysis': '-lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'asmparser': '-lLLVMAsmParser -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'asmprinter': '-lLLVMAsmPrinter -lLLVMCodeGen -lLLVMTarget -lLLVMScalarOpts -lLLVMInstCombine -lLLVMAggressiveInstCombine -lLLVMObjCARCOpts -lLLVMTransformUtils -lLLVMCodeGenTypes -lLLVMBitWriter -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'binaryformat': '-lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'bitreader': '-lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMBitstreamReader -lLLVMSupport -lLLVMDemangle', + 'bitstreamreader': '-lLLVMBitstreamReader -lLLVMSupport -lLLVMDemangle', + 'bitwriter': '-lLLVMBitWriter -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'cfguard': '-lLLVMCFGuard -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'codegen': '-lLLVMCodeGen -lLLVMTarget -lLLVMScalarOpts -lLLVMInstCombine -lLLVMAggressiveInstCombine -lLLVMObjCARCOpts -lLLVMTransformUtils -lLLVMCodeGenTypes -lLLVMBitWriter -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'codegentypes': '-lLLVMCodeGenTypes -lLLVMSupport -lLLVMDemangle', + 'core': '-lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'coroutines': '-lLLVMCoroutines -lLLVMipo -lLLVMInstrumentation -lLLVMVectorize -lLLVMLinker -lLLVMFrontendOpenMP -lLLVMFrontendOffloading -lLLVMScalarOpts -lLLVMInstCombine -lLLVMBitWriter -lLLVMAggressiveInstCombine -lLLVMTransformUtils -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'coverage': '-lLLVMCoverage -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'debuginfobtf': '-lLLVMDebugInfoBTF -lLLVMSupport -lLLVMDemangle', + 'debuginfocodeview': '-lLLVMDebugInfoCodeView -lLLVMSupport -lLLVMDemangle', + 'debuginfodwarf': '-lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'debuginfogsym': '-lLLVMDebugInfoGSYM -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'debuginfologicalview': '-lLLVMDebugInfoLogicalView -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'debuginfomsf': '-lLLVMDebugInfoMSF -lLLVMSupport -lLLVMDemangle', + 'debuginfopdb': '-lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'demangle': '-lLLVMDemangle', + 'dlltooldriver': '-lLLVMDlltoolDriver -lLLVMOption -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMBitstreamReader -lLLVMSupport -lLLVMDemangle', + 'dwarflinker': '-lLLVMDWARFLinker -lLLVMCodeGen -lLLVMTarget -lLLVMScalarOpts -lLLVMInstCombine -lLLVMAggressiveInstCombine -lLLVMObjCARCOpts -lLLVMTransformUtils -lLLVMCodeGenTypes -lLLVMBitWriter -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'dwarflinkerclassic': '-lLLVMDWARFLinkerClassic -lLLVMDWARFLinker -lLLVMAsmPrinter -lLLVMCodeGen -lLLVMTarget -lLLVMScalarOpts -lLLVMInstCombine -lLLVMAggressiveInstCombine -lLLVMObjCARCOpts -lLLVMTransformUtils -lLLVMCodeGenTypes -lLLVMBitWriter -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'dwarflinkerparallel': '-lLLVMDWARFLinkerParallel -lLLVMDWARFLinker -lLLVMAsmPrinter -lLLVMCodeGen -lLLVMTarget -lLLVMScalarOpts -lLLVMInstCombine -lLLVMAggressiveInstCombine -lLLVMObjCARCOpts -lLLVMTransformUtils -lLLVMCodeGenTypes -lLLVMBitWriter -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'dwp': '-lLLVMDWP -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'engine': '-lLLVMInterpreter -lLLVMExecutionEngine -lLLVMRuntimeDyld -lLLVMOrcTargetProcess -lLLVMOrcShared -lLLVMCodeGen -lLLVMTarget -lLLVMScalarOpts -lLLVMInstCombine -lLLVMAggressiveInstCombine -lLLVMObjCARCOpts -lLLVMTransformUtils -lLLVMCodeGenTypes -lLLVMBitWriter -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'executionengine': '-lLLVMExecutionEngine -lLLVMTarget -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMRuntimeDyld -lLLVMOrcTargetProcess -lLLVMOrcShared -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMBitReader -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'extensions': '-lLLVMExtensions -lLLVMSupport -lLLVMDemangle', + 'filecheck': '-lLLVMFileCheck', + 'frontenddriver': '-lLLVMFrontendDriver -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'frontendhlsl': '-lLLVMFrontendHLSL -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'frontendoffloading': '-lLLVMFrontendOffloading -lLLVMTransformUtils -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'frontendopenacc': '-lLLVMFrontendOpenACC', + 'frontendopenmp': '-lLLVMFrontendOpenMP -lLLVMFrontendOffloading -lLLVMScalarOpts -lLLVMInstCombine -lLLVMAggressiveInstCombine -lLLVMTransformUtils -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'fuzzercli': '-lLLVMFuzzerCLI -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'fuzzmutate': '-lLLVMFuzzMutate -lLLVMScalarOpts -lLLVMInstCombine -lLLVMAggressiveInstCombine -lLLVMTransformUtils -lLLVMBitWriter -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'globalisel': '-lLLVMGlobalISel -lLLVMSelectionDAG -lLLVMCodeGen -lLLVMTarget -lLLVMScalarOpts -lLLVMInstCombine -lLLVMAggressiveInstCombine -lLLVMObjCARCOpts -lLLVMTransformUtils -lLLVMCodeGenTypes -lLLVMBitWriter -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'hipstdpar': '-lLLVMHipStdPar -lLLVMTransformUtils -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'instcombine': '-lLLVMInstCombine -lLLVMTransformUtils -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'instrumentation': '-lLLVMInstrumentation -lLLVMTransformUtils -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'interfacestub': '-lLLVMInterfaceStub -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'interpreter': '-lLLVMInterpreter -lLLVMExecutionEngine -lLLVMRuntimeDyld -lLLVMOrcTargetProcess -lLLVMOrcShared -lLLVMCodeGen -lLLVMTarget -lLLVMScalarOpts -lLLVMInstCombine -lLLVMAggressiveInstCombine -lLLVMObjCARCOpts -lLLVMTransformUtils -lLLVMCodeGenTypes -lLLVMBitWriter -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'ipo': '-lLLVMipo -lLLVMInstrumentation -lLLVMVectorize -lLLVMLinker -lLLVMFrontendOpenMP -lLLVMFrontendOffloading -lLLVMScalarOpts -lLLVMInstCombine -lLLVMBitWriter -lLLVMAggressiveInstCombine -lLLVMTransformUtils -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'irprinter': '-lLLVMIRPrinter -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'irreader': '-lLLVMIRReader -lLLVMBitReader -lLLVMAsmParser -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'jitlink': '-lLLVMJITLink -lLLVMOrcTargetProcess -lLLVMOrcShared -lLLVMOption -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'libdriver': '-lLLVMLibDriver -lLLVMOption -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'lineeditor': '-lLLVMLineEditor -lLLVMSupport -lLLVMDemangle', + 'linker': '-lLLVMLinker -lLLVMTransformUtils -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'lto': '-lLLVMLTO -lLLVMPasses -lLLVMIRPrinter -lLLVMHipStdPar -lLLVMCoroutines -lLLVMCFGuard -lLLVMipo -lLLVMInstrumentation -lLLVMVectorize -lLLVMLinker -lLLVMFrontendOpenMP -lLLVMFrontendOffloading -lLLVMExtensions -lLLVMCodeGen -lLLVMTarget -lLLVMScalarOpts -lLLVMInstCombine -lLLVMObjCARCOpts -lLLVMCodeGenTypes -lLLVMBitWriter -lLLVMAggressiveInstCombine -lLLVMTransformUtils -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'mc': '-lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'mca': '-lLLVMMCA -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'mcdisassembler': '-lLLVMMCDisassembler -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'mcjit': '-lLLVMMCJIT -lLLVMExecutionEngine -lLLVMTarget -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMRuntimeDyld -lLLVMOrcTargetProcess -lLLVMOrcShared -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMBitReader -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'mcparser': '-lLLVMMCParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'mirparser': '-lLLVMMIRParser -lLLVMCodeGen -lLLVMTarget -lLLVMScalarOpts -lLLVMInstCombine -lLLVMAggressiveInstCombine -lLLVMObjCARCOpts -lLLVMTransformUtils -lLLVMCodeGenTypes -lLLVMBitWriter -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMAsmParser -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'native': '-lLLVMX86TargetMCA -lLLVMMCA -lLLVMX86Disassembler -lLLVMX86AsmParser -lLLVMX86CodeGen -lLLVMX86Desc -lLLVMX86Info -lLLVMMCDisassembler -lLLVMInstrumentation -lLLVMIRPrinter -lLLVMGlobalISel -lLLVMSelectionDAG -lLLVMCFGuard -lLLVMAsmPrinter -lLLVMCodeGen -lLLVMTarget -lLLVMScalarOpts -lLLVMInstCombine -lLLVMAggressiveInstCombine -lLLVMObjCARCOpts -lLLVMTransformUtils -lLLVMCodeGenTypes -lLLVMBitWriter -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'nativecodegen': '-lLLVMX86CodeGen -lLLVMX86Desc -lLLVMX86Info -lLLVMMCDisassembler -lLLVMInstrumentation -lLLVMIRPrinter -lLLVMGlobalISel -lLLVMSelectionDAG -lLLVMCFGuard -lLLVMAsmPrinter -lLLVMCodeGen -lLLVMTarget -lLLVMScalarOpts -lLLVMInstCombine -lLLVMAggressiveInstCombine -lLLVMObjCARCOpts -lLLVMTransformUtils -lLLVMCodeGenTypes -lLLVMBitWriter -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'objcarcopts': '-lLLVMObjCARCOpts -lLLVMTransformUtils -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'objcopy': '-lLLVMObjCopy -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'object': '-lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMBitstreamReader -lLLVMSupport -lLLVMDemangle', + 'objectyaml': '-lLLVMObjectYAML -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'option': '-lLLVMOption -lLLVMSupport -lLLVMDemangle', + 'orcdebugging': '-lLLVMOrcDebugging -lLLVMOrcJIT -lLLVMPasses -lLLVMIRPrinter -lLLVMHipStdPar -lLLVMCoroutines -lLLVMipo -lLLVMInstrumentation -lLLVMVectorize -lLLVMLinker -lLLVMFrontendOpenMP -lLLVMFrontendOffloading -lLLVMCodeGen -lLLVMScalarOpts -lLLVMInstCombine -lLLVMObjCARCOpts -lLLVMCodeGenTypes -lLLVMBitWriter -lLLVMCFGuard -lLLVMAggressiveInstCombine -lLLVMTransformUtils -lLLVMWindowsDriver -lLLVMExecutionEngine -lLLVMTarget -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMRuntimeDyld -lLLVMJITLink -lLLVMOrcTargetProcess -lLLVMOrcShared -lLLVMOption -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'orcjit': '-lLLVMOrcJIT -lLLVMPasses -lLLVMIRPrinter -lLLVMHipStdPar -lLLVMCoroutines -lLLVMipo -lLLVMInstrumentation -lLLVMVectorize -lLLVMLinker -lLLVMFrontendOpenMP -lLLVMFrontendOffloading -lLLVMCodeGen -lLLVMScalarOpts -lLLVMInstCombine -lLLVMObjCARCOpts -lLLVMCodeGenTypes -lLLVMBitWriter -lLLVMCFGuard -lLLVMAggressiveInstCombine -lLLVMTransformUtils -lLLVMWindowsDriver -lLLVMJITLink -lLLVMOption -lLLVMExecutionEngine -lLLVMTarget -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMRuntimeDyld -lLLVMOrcTargetProcess -lLLVMOrcShared -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMBitReader -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'orcshared': '-lLLVMOrcShared -lLLVMSupport -lLLVMDemangle', + 'orctargetprocess': '-lLLVMOrcTargetProcess -lLLVMTargetParser -lLLVMOrcShared -lLLVMSupport -lLLVMDemangle', + 'passes': '-lLLVMPasses -lLLVMIRPrinter -lLLVMHipStdPar -lLLVMCoroutines -lLLVMipo -lLLVMInstrumentation -lLLVMVectorize -lLLVMLinker -lLLVMFrontendOpenMP -lLLVMFrontendOffloading -lLLVMCodeGen -lLLVMTarget -lLLVMScalarOpts -lLLVMInstCombine -lLLVMObjCARCOpts -lLLVMCodeGenTypes -lLLVMBitWriter -lLLVMCFGuard -lLLVMAggressiveInstCombine -lLLVMTransformUtils -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'profiledata': '-lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'remarks': '-lLLVMRemarks -lLLVMBitstreamReader -lLLVMSupport -lLLVMDemangle', + 'runtimedyld': '-lLLVMRuntimeDyld -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMBitReader -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'scalaropts': '-lLLVMScalarOpts -lLLVMInstCombine -lLLVMAggressiveInstCombine -lLLVMTransformUtils -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'selectiondag': '-lLLVMSelectionDAG -lLLVMCodeGen -lLLVMTarget -lLLVMScalarOpts -lLLVMInstCombine -lLLVMAggressiveInstCombine -lLLVMObjCARCOpts -lLLVMTransformUtils -lLLVMCodeGenTypes -lLLVMBitWriter -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'support': '-lLLVMSupport -lLLVMDemangle', + 'symbolize': '-lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'tablegen': '-lLLVMTableGen -lLLVMSupport -lLLVMDemangle', + 'target': '-lLLVMTarget -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'targetparser': '-lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'textapi': '-lLLVMTextAPI -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'textapibinaryreader': '-lLLVMTextAPIBinaryReader -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMBitstreamReader -lLLVMSupport -lLLVMDemangle', + 'transformutils': '-lLLVMTransformUtils -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'vectorize': '-lLLVMVectorize -lLLVMTransformUtils -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'windowsdriver': '-lLLVMWindowsDriver -lLLVMTargetParser -lLLVMOption -lLLVMSupport -lLLVMDemangle', + 'windowsmanifest': '-lLLVMWindowsManifest -lLLVMSupport -lLLVMDemangle', + 'x86': '-lLLVMX86TargetMCA -lLLVMMCA -lLLVMX86Disassembler -lLLVMX86AsmParser -lLLVMX86CodeGen -lLLVMX86Desc -lLLVMX86Info -lLLVMMCDisassembler -lLLVMInstrumentation -lLLVMIRPrinter -lLLVMGlobalISel -lLLVMSelectionDAG -lLLVMCFGuard -lLLVMAsmPrinter -lLLVMCodeGen -lLLVMTarget -lLLVMScalarOpts -lLLVMInstCombine -lLLVMAggressiveInstCombine -lLLVMObjCARCOpts -lLLVMTransformUtils -lLLVMCodeGenTypes -lLLVMBitWriter -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'x86asmparser': '-lLLVMX86AsmParser -lLLVMX86Desc -lLLVMX86Info -lLLVMMCDisassembler -lLLVMCodeGenTypes -lLLVMMCParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'x86codegen': '-lLLVMX86CodeGen -lLLVMX86Desc -lLLVMX86Info -lLLVMMCDisassembler -lLLVMInstrumentation -lLLVMIRPrinter -lLLVMGlobalISel -lLLVMSelectionDAG -lLLVMCFGuard -lLLVMAsmPrinter -lLLVMCodeGen -lLLVMTarget -lLLVMScalarOpts -lLLVMInstCombine -lLLVMAggressiveInstCombine -lLLVMObjCARCOpts -lLLVMTransformUtils -lLLVMCodeGenTypes -lLLVMBitWriter -lLLVMAnalysis -lLLVMProfileData -lLLVMSymbolize -lLLVMDebugInfoBTF -lLLVMDebugInfoPDB -lLLVMDebugInfoMSF -lLLVMDebugInfoDWARF -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBitstreamReader -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'x86desc': '-lLLVMX86Desc -lLLVMX86Info -lLLVMMCDisassembler -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMCodeGenTypes -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'x86disassembler': '-lLLVMX86Disassembler -lLLVMX86Info -lLLVMMCDisassembler -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'x86info': '-lLLVMX86Info -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMSupport -lLLVMDemangle', + 'x86targetmca': '-lLLVMX86TargetMCA -lLLVMX86Desc -lLLVMX86Info -lLLVMMCDisassembler -lLLVMMCParser -lLLVMMCA -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMCodeGenTypes -lLLVMSupport -lLLVMDemangle', + 'xray': '-lLLVMXRay -lLLVMObject -lLLVMTextAPI -lLLVMMCParser -lLLVMIRReader -lLLVMAsmParser -lLLVMMC -lLLVMDebugInfoCodeView -lLLVMBitReader -lLLVMCore -lLLVMRemarks -lLLVMBinaryFormat -lLLVMTargetParser -lLLVMBitstreamReader -lLLVMSupport -lLLVMDemangle', +} + +import os +import sys + +def fail(message): + print("redox llvm-config failure", file=sys.stderr) + print(message, file=sys.stderr) + sys.exit(1) + +prefix = os.environ["COOKBOOK_SYSROOT"] + +args = [] +link_static = False +for arg in sys.argv[1:]: + if arg == "--link-static": + link_static = True + elif arg == "--link-shared": + fail("shared linking disabled") + else: + args.append(arg) + +if args == []: + fail("no arguments") +elif args == ["--version"]: + print("18.1.4") +elif args == ["--bindir"]: + print(prefix + "/bin") +elif args == ["--cppflags"]: + print("-I" + prefix + "/include -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS") +elif args == ["--cxxflags"]: + print("-I" + prefix + "/include --std=c++17 -fno-exceptions -funwind-tables -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS") +elif args == ["--components"]: + print(" ".join(components.keys())) +elif args == ["--includedir"]: + print(prefix + "/include") +elif args == ["--ldflags"]: + print("-L" + prefix + "/lib"); +elif args == ["--libdir"]: + print(prefix + "/lib") +elif args == ["--system-libs"]: + print("-lm") +elif args == ["--targets-built"]: + print("X86") +elif args[0] == "--libs": + libs = [] + if len(args) == 1: + args.append("all") + for component in args[1:]: + for lib in components[component].split(" "): + libs.append(lib) + print(" ".join(libs)) +elif args[0] == "--libfiles": + libs = [] + if len(args) == 1: + args.append("all") + for component in args[1:]: + for lib in components[component].split(" "): + file = prefix + "/lib/lib" + lib[2:] + ".a" + libs.append(file) + print(" ".join(libs)) +elif args == ["--has-rtti"]: + print("YES") +elif args[0] == "--shared-mode": + print("static") +else: + fail("unknown arguments: " + " ".join(args)) diff --git a/bin/x86_64-unknown-redox-pkg-config b/bin/x86_64-unknown-redox-pkg-config new file mode 100755 index 00000000..18e9816e --- /dev/null +++ b/bin/x86_64-unknown-redox-pkg-config @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +export PKG_CONFIG_SYSROOT_DIR="${COOKBOOK_SYSROOT}" +export PKG_CONFIG_LIBDIR="${PKG_CONFIG_SYSROOT_DIR}/lib/pkgconfig" +export PKG_CONFIG_PATH="${PKG_CONFIG_SYSROOT_DIR}/share/pkgconfig" + +if [ -n "${COOKBOOK_DYNAMIC}" ] +then + exec pkg-config "$@" +else + exec pkg-config --static "$@" +fi diff --git a/config.sh b/config.sh new file mode 100755 index 00000000..8e980198 --- /dev/null +++ b/config.sh @@ -0,0 +1,78 @@ +#!/usr/bin/env bash +set -e + +# Configuration +if [ -z "${TARGET}" ] +then + export TARGET=x86_64-unknown-redox +fi +if [ $(uname -s) = 'Redox' ] +then + export IS_REDOX="1" +fi + +ARCH="${TARGET%%-*}" +HOST="$TARGET" +if [ x"${HOST}" == x"riscv64gc-unknown-redox" ] ; then + HOST="riscv64-unknown-redox" +fi + +# Cookbook requires correct CWD to work +cd `dirname "$0"` + +# Automatic variables +ROOT=`pwd` + +export AR="${HOST}-gcc-ar" +export AS="${HOST}-as" +export CC="${HOST}-gcc" +export CXX="${HOST}-g++" +export LD="${HOST}-ld" +export NM="${HOST}-gcc-nm" +export OBJCOPY="${HOST}-objcopy" +export OBJDUMP="${HOST}-objdump" +export PKG_CONFIG="${HOST}-pkg-config" +export RANLIB="${HOST}-gcc-ranlib" +export READELF="${HOST}-readelf" +export STRIP="${HOST}-strip" + +if [ -n "${CC_WRAPPER}" ] +then + export CC="${CC_WRAPPER} ${CC}" + export CXX="${CC_WRAPPER} ${CXX}" +fi + +BUILD="$(cc -dumpmachine)" + +export PKG_CONFIG_FOR_BUILD="pkg-config" + +if [[ "$OSTYPE" == "darwin"* ]] || [[ "$OSTYPE" == "FreeBSD" ]]; then + # GNU find + FIND="gfind"; +else + FIND="find"; +fi + +export FIND + +if [ -z "${IS_REDOX}" ] +then +function pkgar { + "$ROOT/pkgar/target/release/pkgar" "$@" +} +function cook { + "$ROOT/target/release/cook" "$@" +} +function repo { + "$ROOT/target/release/repo" "$@" +} +function repo_builder { + "$ROOT/target/release/repo_builder" "$@" +} +function list_recipes { + "$ROOT/target/release/list_recipes" "$@" +} +function find_recipe { + "$ROOT/target/release/find_recipe" "$@" +} +fi diff --git a/pkgar b/pkgar new file mode 160000 index 00000000..98aecac8 --- /dev/null +++ b/pkgar @@ -0,0 +1 @@ +Subproject commit 98aecac8d40b6a47429e2a5585416ad90c02e6db diff --git a/recipes/archives/lz4/recipe.toml b/recipes/archives/lz4/recipe.toml new file mode 100644 index 00000000..6ab50fbd --- /dev/null +++ b/recipes/archives/lz4/recipe.toml @@ -0,0 +1,15 @@ +[source] +tar = "https://github.com/lz4/lz4/releases/download/v1.10.0/lz4-1.10.0.tar.gz" +blake3 = "3e69fd475e7852e17594985528b5232afeba7d3d56cfebe2e89071768b2ab36a" +patches = ["redox.patch"] + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ +export CPPFLAGS="${CPPFLAGS} -D_REDOX" + +${COOKBOOK_MAKE} prefix="/usr" +${COOKBOOK_MAKE} install DESTDIR="${COOKBOOK_STAGE}" prefix="/usr" +""" diff --git a/recipes/archives/lz4/redox.patch b/recipes/archives/lz4/redox.patch new file mode 100644 index 00000000..095ae277 --- /dev/null +++ b/recipes/archives/lz4/redox.patch @@ -0,0 +1,34 @@ +diff '--color=auto' -ruwN source/programs/util.h source-new/programs/util.h +--- source/programs/util.h 2024-07-21 13:29:49.000000000 -0400 ++++ source-new/programs/util.h 2024-12-13 02:21:03.032769559 -0500 +@@ -52,6 +52,9 @@ + #include /* time */ + #include /* INT_MAX */ + #include ++#if defined(_REDOX) ++# include /* utimes */ ++#endif + + + +@@ -239,12 +242,20 @@ + timebuf.modtime = statbuf->st_mtime; + res += utime(filename, &timebuf); /* set access and modification times */ + #else ++ #if defined(_REDOX) ++ struct timeval timebuf[2]; ++ memset(timebuf, 0, sizeof(timebuf)); ++ timebuf[0].tv_usec = UTIME_NOW; ++ timebuf[1].tv_sec = statbuf->st_mtime; ++ res += utimes(filename, timebuf); ++ #else + struct timespec timebuf[2]; + memset(timebuf, 0, sizeof(timebuf)); + timebuf[0].tv_nsec = UTIME_NOW; + timebuf[1].tv_sec = statbuf->st_mtime; + res += utimensat(AT_FDCWD, filename, timebuf, 0); /* set access and modification times */ + #endif ++#endif + } + + #if !defined(_WIN32) diff --git a/recipes/archives/zstd/01_redox.patch b/recipes/archives/zstd/01_redox.patch new file mode 100644 index 00000000..0cff8dc9 --- /dev/null +++ b/recipes/archives/zstd/01_redox.patch @@ -0,0 +1,15 @@ +diff -ruwN source/programs/platform.h source-new/programs/platform.h +--- source/programs/platform.h 2025-02-19 07:04:24.000000000 +0700 ++++ source-new/programs/platform.h 2025-07-21 22:52:07.716447723 +0700 +@@ -109,6 +109,11 @@ + #endif /* PLATFORM_POSIX_VERSION */ + + ++#if defined(__redox__) ++/* TODO: AT_FDCWD && utimensat must be defined to conform _POSIX_VERSION */ ++# define PLATFORM_POSIX_VERSION 1 ++#endif ++ + #if PLATFORM_POSIX_VERSION > 1 + /* glibc < 2.26 may not expose struct timespec def without this. + * See issue #1920. */ diff --git a/recipes/archives/zstd/recipe.toml b/recipes/archives/zstd/recipe.toml new file mode 100644 index 00000000..90684850 --- /dev/null +++ b/recipes/archives/zstd/recipe.toml @@ -0,0 +1,13 @@ +[source] +tar = "https://github.com/facebook/zstd/releases/download/v1.5.7/zstd-1.5.7.tar.gz" +patches = [ + "01_redox.patch" +] +[build] +template = "custom" +script = """ +DYNAMIC_INIT +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ +${COOKBOOK_MAKE} +${COOKBOOK_MAKE} install DESTDIR="${COOKBOOK_STAGE}" prefix="/usr" +""" diff --git a/recipes/artwork/pop-wallpapers/recipe.toml b/recipes/artwork/pop-wallpapers/recipe.toml new file mode 100644 index 00000000..dc4e25b4 --- /dev/null +++ b/recipes/artwork/pop-wallpapers/recipe.toml @@ -0,0 +1,8 @@ +[source] +git = "https://github.com/pop-os/wallpapers" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/wallpapers +cp -rv "${COOKBOOK_SOURCE}"/original/* "${COOKBOOK_STAGE}"/usr/share/wallpapers +""" diff --git a/recipes/artwork/ubuntu-wallpapers/recipe.toml b/recipes/artwork/ubuntu-wallpapers/recipe.toml new file mode 100644 index 00000000..b9100d49 --- /dev/null +++ b/recipes/artwork/ubuntu-wallpapers/recipe.toml @@ -0,0 +1,9 @@ +[source] +tar = "https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/ubuntu-wallpapers/23.10.4/ubuntu-wallpapers_23.10.4.orig.tar.gz" +blake3 = "1e479d0aa48fe3f2961a2dac28c3ed397a29616cf6e7d73f5ceb6fabfd6449e1" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/wallpapers +cp -rv "${COOKBOOK_SOURCE}"/ubuntu-wallpapers-23.10.4/*.{jpg,png} "${COOKBOOK_STAGE}"/usr/share/wallpapers +""" diff --git a/recipes/core/base-initfs/aarch64-unknown-redox/init_drivers.rc b/recipes/core/base-initfs/aarch64-unknown-redox/init_drivers.rc new file mode 100644 index 00000000..cc94430c --- /dev/null +++ b/recipes/core/base-initfs/aarch64-unknown-redox/init_drivers.rc @@ -0,0 +1,3 @@ +hwd +pcid +pcid-spawner /etc/pcid/initfs.toml diff --git a/recipes/core/base-initfs/aarch64-unknown-redox/init_drivers.rc.raspi3bp b/recipes/core/base-initfs/aarch64-unknown-redox/init_drivers.rc.raspi3bp new file mode 100644 index 00000000..ae9b17a4 --- /dev/null +++ b/recipes/core/base-initfs/aarch64-unknown-redox/init_drivers.rc.raspi3bp @@ -0,0 +1 @@ +bcm2835-sdhcid diff --git a/recipes/core/base-initfs/init.rc b/recipes/core/base-initfs/init.rc new file mode 100644 index 00000000..6fb3094f --- /dev/null +++ b/recipes/core/base-initfs/init.rc @@ -0,0 +1,40 @@ +# Various daemons that relibc needs to function as well as a bunch of env vars +# that should be set for every program. +export PATH /bin +export RUST_BACKTRACE 1 +rtcd +nulld +zerod +randd + +# Logging +logd +stdio /scheme/log +ramfs logging + +# Graphics infrastructure +inputd +vesad +unset FRAMEBUFFER_ADDR FRAMEBUFFER_VIRT FRAMEBUFFER_WIDTH FRAMEBUFFER_HEIGHT FRAMEBUFFER_STRIDE +#TODO: unset FRAMEBUFFER1 and beyond? +fbbootlogd +inputd -A 1 +fbcond 2 + +# Live disk +# Note: Needs to start before drivers to ensure it gets priority when redoxfs searches for disks +lived + +# Drivers +run /scheme/initfs/etc/init_drivers.rc +unset RSDP_ADDR RSDP_SIZE + +# Mount rootfs +redoxfs --uuid $REDOXFS_UUID file $REDOXFS_BLOCK +unset REDOXFS_UUID REDOXFS_BLOCK REDOXFS_PASSWORD_ADDR REDOXFS_PASSWORD_SIZE + +# Exit initfs +set-default-scheme file +cd / +export PATH /usr/bin +run.d /usr/lib/init.d /etc/init.d diff --git a/recipes/core/base-initfs/init_drivers.rc b/recipes/core/base-initfs/init_drivers.rc new file mode 100644 index 00000000..5291733e --- /dev/null +++ b/recipes/core/base-initfs/init_drivers.rc @@ -0,0 +1,4 @@ +ps2d us +hwd +pcid +pcid-spawner /etc/pcid/initfs.toml diff --git a/recipes/core/base-initfs/recipe.toml b/recipes/core/base-initfs/recipe.toml new file mode 100644 index 00000000..fd3987fc --- /dev/null +++ b/recipes/core/base-initfs/recipe.toml @@ -0,0 +1,73 @@ +[source] +same_as = "../base" + +[build] +template = "custom" +dependencies = [ + "drivers-initfs", + "redoxfs", +] +script = """ +INITFS_RM_BINS='redoxfs-ar redoxfs-mkfs' + +rm -rf "${COOKBOOK_BUILD}/initfs" +mkdir -p "${COOKBOOK_BUILD}/initfs/etc" + +cp -r "${COOKBOOK_SYSROOT}/"* "${COOKBOOK_BUILD}/initfs" + +# TODO: Move init.rc to another recipe, perhaps initfs-misc? Then it can be installed as a regular dependency. +cp "${COOKBOOK_RECIPE}/init.rc" "${COOKBOOK_BUILD}/initfs/etc/init.rc" +cp "${COOKBOOK_RECIPE}/init_drivers.rc" "${COOKBOOK_BUILD}/initfs/etc/init_drivers.rc" +if [ -e ${COOKBOOK_RECIPE}/${TARGET}/init_drivers.rc.${BOARD} ]; then + cp "${COOKBOOK_RECIPE}/${TARGET}/init_drivers.rc.${BOARD}" "${COOKBOOK_BUILD}/initfs/etc/init_drivers.rc" +elif [ -e ${COOKBOOK_RECIPE}/${TARGET}/init_drivers.rc ]; then + cp "${COOKBOOK_RECIPE}/${TARGET}/init_drivers.rc" "${COOKBOOK_BUILD}/initfs/etc/init_drivers.rc" +fi + +# Move /usr folders to / and remove links +for folder in bin lib include share +do + rm "${COOKBOOK_BUILD}/initfs/${folder}" + mv "${COOKBOOK_BUILD}/initfs/usr/${folder}" "${COOKBOOK_BUILD}/initfs/${folder}" +done +rmdir "${COOKBOOK_BUILD}/initfs/usr" + +for bin in ${INITFS_RM_BINS}; do + rm -f "${COOKBOOK_BUILD}/initfs/bin/$bin" +done + +mkdir -pv "${COOKBOOK_BUILD}/initfs/bin" +for package in init logd ramfs randd zerod; do + "${COOKBOOK_CARGO}" build \ + --manifest-path "${COOKBOOK_SOURCE}/${package}/Cargo.toml" \ + ${build_flags} + cp -v \ + "target/${TARGET}/${build_type}/${package}" \ + "${COOKBOOK_BUILD}/initfs/bin/${package}" +done + +# TODO: symlinks aren't supported by redox-initfs +#ln -sv zerod "${COOKBOOK_BUILD}/initfs/bin/nulld" + +cp "${COOKBOOK_BUILD}/initfs/bin/zerod" "${COOKBOOK_BUILD}/initfs/bin/nulld" + +ARCH="$(echo "${GNU_TARGET}" | cut -d - -f1)" +cargo \ + -Zbuild-std=core,alloc,compiler_builtins \ + -Zbuild-std-features=compiler-builtins-mem build \ + --target "${TARGET}" \ + --manifest-path "${COOKBOOK_SOURCE}/bootstrap/Cargo.toml" \ + --release \ + --target-dir "${COOKBOOK_BUILD}" +"${GNU_TARGET}-ld" \ + -o "${COOKBOOK_BUILD}/bootstrap" \ + --gc-sections \ + -T "${COOKBOOK_SOURCE}/bootstrap/src/${ARCH}.ld" \ + -z max-page-size=4096 \ + "${COOKBOOK_BUILD}/${TARGET}/release/libbootstrap.a" + +env -u CARGO cargo run --manifest-path "${COOKBOOK_SOURCE}/initfs/tools/Cargo.toml" --bin redox-initfs-ar -- "${COOKBOOK_BUILD}/initfs" "${COOKBOOK_BUILD}/bootstrap" -o "${COOKBOOK_BUILD}/initfs.img" + +mkdir -v "${COOKBOOK_STAGE}/boot" +cp "${COOKBOOK_BUILD}/initfs.img" "${COOKBOOK_STAGE}/boot/initfs" +""" diff --git a/recipes/core/base/recipe.toml b/recipes/core/base/recipe.toml new file mode 100644 index 00000000..169fc2a8 --- /dev/null +++ b/recipes/core/base/recipe.toml @@ -0,0 +1,23 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/base.git" + +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}/usr/bin" +for package in audiod ipcd ptyd; do + "${COOKBOOK_CARGO}" build \ + --manifest-path "${COOKBOOK_SOURCE}/${package}/Cargo.toml" \ + ${build_flags} + cp -v \ + "target/${TARGET}/${build_type}/${package}" \ + "${COOKBOOK_STAGE}/usr/bin/${package}" +done + +"${COOKBOOK_CARGO}" build \ + --manifest-path "${COOKBOOK_SOURCE}/netstack/Cargo.toml" \ + ${build_flags} +cp -v \ + "target/${TARGET}/${build_type}/smolnetd" \ + "${COOKBOOK_STAGE}/usr/bin/smolnetd" +""" diff --git a/recipes/core/binutils/recipe.toml b/recipes/core/binutils/recipe.toml new file mode 100644 index 00000000..588e511d --- /dev/null +++ b/recipes/core/binutils/recipe.toml @@ -0,0 +1,5 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/binutils.git" + +[build] +template = "cargo" diff --git a/recipes/core/bootloader/recipe.toml b/recipes/core/bootloader/recipe.toml new file mode 100644 index 00000000..17f09add --- /dev/null +++ b/recipes/core/bootloader/recipe.toml @@ -0,0 +1,33 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/bootloader.git" + +[build] +template = "custom" +script = """ +OUTDIR="${COOKBOOK_BUILD}" +mkdir -v "${COOKBOOK_STAGE}/boot" + +function bootloader { + export TARGET="$1" + src="$2" + dst="$3" + "${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}" -f "${COOKBOOK_SOURCE}/Makefile" -C "${OUTDIR}" "${OUTDIR}/${src}" + cp -v "${OUTDIR}/${src}" "${COOKBOOK_STAGE}/boot/${dst}" +} + +ARCH="$(echo "${TARGET}" | cut -d - -f1)" + +# Build BIOS bootloader for supported architectures +if [ "${ARCH}" == "i586" -o "${ARCH}" == "i686" -o "${ARCH}" == "x86_64" ] +then + bootloader "x86-unknown-none" bootloader.bin bootloader.bios + bootloader "x86-unknown-none" bootloader-live.bin bootloader-live.bios +fi + +# Build UEFI bootloader for supported architectures +if [ "${ARCH}" == "aarch64" -o "${ARCH}" == "x86_64" -o "${ARCH}" == "riscv64gc" ] +then + bootloader "${ARCH}-unknown-uefi" bootloader.efi bootloader.efi + bootloader "${ARCH}-unknown-uefi" bootloader-live.efi bootloader-live.efi +fi +""" diff --git a/recipes/core/contain/recipe.toml b/recipes/core/contain/recipe.toml new file mode 100644 index 00000000..06edc8a6 --- /dev/null +++ b/recipes/core/contain/recipe.toml @@ -0,0 +1,5 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/contain.git" + +[build] +template = "cargo" diff --git a/recipes/core/coreutils/recipe.toml b/recipes/core/coreutils/recipe.toml new file mode 100644 index 00000000..e17994e4 --- /dev/null +++ b/recipes/core/coreutils/recipe.toml @@ -0,0 +1,5 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/coreutils.git" + +[build] +template = "cargo" diff --git a/recipes/core/dash/recipe.toml b/recipes/core/dash/recipe.toml new file mode 100644 index 00000000..01e135d9 --- /dev/null +++ b/recipes/core/dash/recipe.toml @@ -0,0 +1,22 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/dash.git" +branch = "redox" + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ +./autogen.sh +./configure \ + --host="${TARGET}" \ + --prefix="" \ + --enable-static \ + cross_compiling=yes +# See https://stackoverflow.com/questions/4247068/sed-command-with-i-option-failing-on-mac-but-works-on-linux. +sed -i'' -e 's|#define HAVE_GETRLIMIT 1|/* #undef HAVE_GETRLIMIT */|g' config.h +# Skip configure +COOKBOOK_CONFIGURE="true" +COOKBOOK_CONFIGURE_FLAGS=() +cookbook_configure +""" diff --git a/recipes/core/drivers-initfs/recipe.toml b/recipes/core/drivers-initfs/recipe.toml new file mode 100644 index 00000000..9ef3f48f --- /dev/null +++ b/recipes/core/drivers-initfs/recipe.toml @@ -0,0 +1,79 @@ +[source] +same_as = "../drivers" + +[build] +template = "custom" +script = """ +BINS=( + acpid + fbbootlogd + fbcond + hwd + inputd + lived + nvmed + pcid + pcid-spawner + rtcd + vesad +) + +virt_bins() +{ + BINS+=(virtio-blkd virtio-gpud) +} + +x86_common_bins() +{ + BINS+=(ahcid ided ps2d vesad) + virt_bins +} + +aarch64_bins() +{ + case "${BOARD}" in + raspi3b*) + BINS+=(bcm2835-sdhcid) + ;; + *) + #qemu-virt + virt_bins + ;; + esac +} + +case "${TARGET}" in + i586-unknown-redox | i686-unknown-redox) + x86_common_bins + ;; + x86_64-unknown-redox) + x86_common_bins + ;; + aarch64-unknown-redox) + aarch64_bins + ;; + *) + ;; +esac + +mkdir -pv "${COOKBOOK_STAGE}/bin" "${COOKBOOK_STAGE}/lib/drivers" +export CARGO_PROFILE_RELEASE_OPT_LEVEL=s +export CARGO_PROFILE_RELEASE_PANIC=abort +"${COOKBOOK_CARGO}" build ${build_flags} \ + --manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \ + $(for bin in "${BINS[@]}"; do echo "-p" "${bin}"; done) +for bin in "${BINS[@]}" +do + case "${bin}" in + pcid | pcid-spawner | fbbootlogd | fbcond | inputd | vesad | lived | ps2d | acpid | bcm2835-sdhcid | rtcd | hwd) + cp -v "target/${TARGET}/${build_type}/${bin}" "${COOKBOOK_STAGE}/bin" + ;; + *) + cp -v "target/${TARGET}/${build_type}/${bin}" "${COOKBOOK_STAGE}/lib/drivers" + ;; + esac +done + +mkdir -pv "${COOKBOOK_STAGE}/etc/pcid" +cp -v "${COOKBOOK_SOURCE}/initfs.toml" "${COOKBOOK_STAGE}/etc/pcid/initfs.toml" +""" diff --git a/recipes/core/drivers/recipe.toml b/recipes/core/drivers/recipe.toml new file mode 100644 index 00000000..9a836091 --- /dev/null +++ b/recipes/core/drivers/recipe.toml @@ -0,0 +1,61 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/drivers.git" + +[build] +template = "custom" +script = """ +# Drivers that are built on all architectures, and NOT in drivers-initfs +BINS=( + alxd + e1000d + ihdad + ixgbed + pcid + pcid-spawner + rtl8139d + rtl8168d + usbctl + usbhidd + usbhubd + usbscsid + virtio-netd + xhcid + inputd +) + +# Add additional drivers to the list to build, that are not in drivers-initfs +# depending on the target architecture +case "${TARGET}" in + i586-unknown-redox | i686-unknown-redox | x86_64-unknown-redox) + BINS+=(ac97d bgad sb16d vboxd) + ;; + *) + ;; +esac + +#Build each driver in the list +mkdir -pv "${COOKBOOK_STAGE}/usr/bin" "${COOKBOOK_STAGE}/usr/lib/drivers" +export CARGO_PROFILE_RELEASE_OPT_LEVEL=s +export CARGO_PROFILE_RELEASE_PANIC=abort +"${COOKBOOK_CARGO}" build ${build_flags} \ + --manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \ + $(for bin in "${BINS[@]}"; do echo "-p" "${bin}"; done) +for bin in "${BINS[@]}" +do + if [[ "${bin}" == "inputd" || "${bin}" == "pcid" || "${bin}" == "pcid-spawner" ]]; then + cp -v "target/${TARGET}/${build_type}/${bin}" "${COOKBOOK_STAGE}/usr/bin" + else + cp -v "target/${TARGET}/${build_type}/${bin}" "${COOKBOOK_STAGE}/usr/lib/drivers" + fi +done + +mkdir -pv "${COOKBOOK_STAGE}/etc/pcid" +cp -v "${COOKBOOK_SOURCE}/initfs.toml" "${COOKBOOK_STAGE}/etc/pcid/initfs.toml" + +mkdir -pv "${COOKBOOK_STAGE}/etc/pcid.d" +${FIND} "${COOKBOOK_SOURCE}" -maxdepth 3 -type f -name 'config.toml' | while read conf +do + driver="$(basename "$(dirname "$conf")")" + cp -v "$conf" "${COOKBOOK_STAGE}/etc/pcid.d/$driver.toml" +done +""" diff --git a/recipes/core/extrautils/recipe.toml b/recipes/core/extrautils/recipe.toml new file mode 100644 index 00000000..19b614cb --- /dev/null +++ b/recipes/core/extrautils/recipe.toml @@ -0,0 +1,18 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/extrautils.git" + +[build] +template = "custom" +dependencies = [ + "xz" +] +script = """ +# TODO: Can't be linked correctly yet +# DYNAMIC_INIT + +if [ "${COOKBOOK_DYNAMIC}" != "1" ]; then + install_flags+=" --features=static" +fi + +cookbook_cargo +""" diff --git a/recipes/core/findutils/recipe.toml b/recipes/core/findutils/recipe.toml new file mode 100644 index 00000000..5c862253 --- /dev/null +++ b/recipes/core/findutils/recipe.toml @@ -0,0 +1,9 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/findutils.git" + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_cargo --bin find +""" diff --git a/recipes/core/installer/recipe.toml b/recipes/core/installer/recipe.toml new file mode 100644 index 00000000..02353821 --- /dev/null +++ b/recipes/core/installer/recipe.toml @@ -0,0 +1,5 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/installer.git" + +[build] +template = "cargo" diff --git a/recipes/core/ion/recipe.toml b/recipes/core/ion/recipe.toml new file mode 100644 index 00000000..2ce52ca5 --- /dev/null +++ b/recipes/core/ion/recipe.toml @@ -0,0 +1,9 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/ion.git" + +[build] +template = "custom" +script = """ +# Must be statically linked +cookbook_cargo +""" diff --git a/recipes/core/kernel/recipe.toml b/recipes/core/kernel/recipe.toml new file mode 100644 index 00000000..38b66b43 --- /dev/null +++ b/recipes/core/kernel/recipe.toml @@ -0,0 +1,10 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/kernel.git" + +[build] +template = "custom" +script = """ +make -f ${COOKBOOK_SOURCE}/Makefile +mkdir -v "${COOKBOOK_STAGE}/boot" +cp -v kernel "${COOKBOOK_STAGE}/boot" +""" diff --git a/recipes/core/netdb/recipe.toml b/recipes/core/netdb/recipe.toml new file mode 100644 index 00000000..efff10a2 --- /dev/null +++ b/recipes/core/netdb/recipe.toml @@ -0,0 +1,8 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/netdb.git" + +[build] +template = "custom" +script = """ +cp -rv "${COOKBOOK_SOURCE}/"* "${COOKBOOK_STAGE}" +""" diff --git a/recipes/core/netutils/recipe.toml b/recipes/core/netutils/recipe.toml new file mode 100644 index 00000000..e101288a --- /dev/null +++ b/recipes/core/netutils/recipe.toml @@ -0,0 +1,5 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/netutils.git" + +[build] +template = "cargo" diff --git a/recipes/core/pkgar/recipe.toml b/recipes/core/pkgar/recipe.toml new file mode 100644 index 00000000..4a284950 --- /dev/null +++ b/recipes/core/pkgar/recipe.toml @@ -0,0 +1,6 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/pkgar.git" + +[build] +template = "cargo" +package_path = "pkgar" diff --git a/recipes/core/pkgutils/recipe.toml b/recipes/core/pkgutils/recipe.toml new file mode 100644 index 00000000..0c500bd1 --- /dev/null +++ b/recipes/core/pkgutils/recipe.toml @@ -0,0 +1,10 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/pkgutils.git" + +[build] +template = "custom" +script = """ +# Must be statically linked +PACKAGE_PATH=pkg-cli +cookbook_cargo +""" diff --git a/recipes/core/profiled/recipe.toml b/recipes/core/profiled/recipe.toml new file mode 100644 index 00000000..18dc3cfc --- /dev/null +++ b/recipes/core/profiled/recipe.toml @@ -0,0 +1,9 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/profiled.git" + +[build] +template = "custom" +script = """ +# Must be statically linked +cookbook_cargo +""" diff --git a/recipes/core/redoxerd/recipe.toml b/recipes/core/redoxerd/recipe.toml new file mode 100644 index 00000000..8a49ef48 --- /dev/null +++ b/recipes/core/redoxerd/recipe.toml @@ -0,0 +1,9 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/redoxer.git" + +[build] +template = "custom" +script = """ +COOKBOOK_SOURCE="${COOKBOOK_SOURCE}/daemon" +cookbook_cargo +""" diff --git a/recipes/core/redoxfs/recipe.toml b/recipes/core/redoxfs/recipe.toml new file mode 100644 index 00000000..c6609e32 --- /dev/null +++ b/recipes/core/redoxfs/recipe.toml @@ -0,0 +1,9 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/redoxfs.git" + +[build] +template = "custom" +script = """ +# Must be statically linked +cookbook_cargo +""" diff --git a/recipes/core/relibc/recipe.toml b/recipes/core/relibc/recipe.toml new file mode 100644 index 00000000..ccc26a5d --- /dev/null +++ b/recipes/core/relibc/recipe.toml @@ -0,0 +1,13 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/relibc.git" + +[build] +template = "custom" +script = """ +"${COOKBOOK_MAKE}" \ + -C "${COOKBOOK_SOURCE}" \ + -j"$($NPROC)" \ + CARGO="env -u CARGO cargo" \ + DESTDIR="${COOKBOOK_STAGE}" \ + install +""" diff --git a/recipes/core/strace/recipe.toml b/recipes/core/strace/recipe.toml new file mode 100644 index 00000000..e7c61004 --- /dev/null +++ b/recipes/core/strace/recipe.toml @@ -0,0 +1,5 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/strace-redox.git" + +[build] +template = "cargo" diff --git a/recipes/core/userutils/recipe.toml b/recipes/core/userutils/recipe.toml new file mode 100644 index 00000000..666bfeb1 --- /dev/null +++ b/recipes/core/userutils/recipe.toml @@ -0,0 +1,11 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/userutils.git" + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_cargo +cp -rv "${COOKBOOK_SOURCE}/res" "${COOKBOOK_STAGE}/etc" +ln -s id "${COOKBOOK_STAGE}/usr/bin/whoami" +""" diff --git a/recipes/core/uutils/recipe.toml b/recipes/core/uutils/recipe.toml new file mode 100644 index 00000000..a803232c --- /dev/null +++ b/recipes/core/uutils/recipe.toml @@ -0,0 +1,107 @@ +# TODO Fix coreutils i18n/l10n behavior on Redox +[source] +git = "https://github.com/uutils/coreutils" + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_cargo --no-default-features --features feat_os_unix_redox --bin coreutils + +BINS=( + '[' + b2sum + b3sum + base32 + base64 + basename + basenc + cat + chmod + cksum + comm + cp + csplit + cut + date + dd + #df not working, use redox coreutils + dir + dircolors + dirname + du + echo + env + expand + expr + factor + false + fmt + fold + hashsum + head + join + install + link + ln + ls + md5sum + mkdir + mktemp + more + mv + nl + numfmt + od + paste + pr + printenv + printf + ptx + pwd + readlink + realpath + rm + rmdir + seq + sha1sum + sha224sum + sha256sum + sha3-224sum + sha3-256sum + sha3-384sum + sha3-512sum + sha384sum + sha3sum + sha512sum + shake128sum + shake256sum + shred + shuf + sleep + sort + split + stat + sum + tac + tail + tee + test + touch + tr + true + truncate + tsort + unexpand + uniq + unlink + vdir + wc + yes +) + +for bin in "${BINS[@]}" +do + ln -sv coreutils "${COOKBOOK_STAGE}/usr/bin/$bin" +done +""" diff --git a/recipes/demos/cairodemo/cairodemo.c b/recipes/demos/cairodemo/cairodemo.c new file mode 100755 index 00000000..8f474e9e --- /dev/null +++ b/recipes/demos/cairodemo/cairodemo.c @@ -0,0 +1,129 @@ +#include +#include +#include +#include +#include + +#ifndef M_PI +#define M_PI 3.14159265 +#endif + +static int width = 800; +static int height = 600; + +static void +travel_path (cairo_t *cr) +{ + + cairo_pattern_t *pat; + + pat = cairo_pattern_create_linear (0.0, 0.0, 0.0, 256.0); + cairo_pattern_add_color_stop_rgba (pat, 1, 0, 0, 0, 1); + cairo_pattern_add_color_stop_rgba (pat, 0, 1, 1, 1, 1); + cairo_rectangle (cr, 0, 0, 256, 256); + cairo_set_source (cr, pat); + cairo_fill (cr); + cairo_pattern_destroy (pat); + + pat = cairo_pattern_create_radial (115.2, 102.4, 25.6, + 102.4, 102.4, 128.0); + cairo_pattern_add_color_stop_rgba (pat, 0, 1, 1, 1, 1); + cairo_pattern_add_color_stop_rgba (pat, 1, 0, 0, 0, 1); + cairo_set_source (cr, pat); + cairo_arc (cr, 128.0, 128.0, 76.8, 0, 2 * M_PI); + cairo_fill (cr); + cairo_pattern_destroy (pat); + + + double x = 305.6, /* parameters like cairo_rectangle */ + y = 25.6, + width = 204.8, + height = 204.8, + aspect = 1.0, /* aspect ratio */ + corner_radius = height / 10.0; /* and corner curvature radius */ + + double radius = corner_radius / aspect; + double degrees = M_PI / 180.0; + + cairo_new_sub_path (cr); + cairo_arc (cr, x + width - radius, y + radius, radius, -90 * degrees, 0 * degrees); + cairo_arc (cr, x + width - radius, y + height - radius, radius, 0 * degrees, 90 * degrees); + cairo_arc (cr, x + radius, y + height - radius, radius, 90 * degrees, 180 * degrees); + cairo_arc (cr, x + radius, y + radius, radius, 180 * degrees, 270 * degrees); + cairo_close_path (cr); + + cairo_set_source_rgb (cr, 0.5, 0.5, 1); + cairo_fill_preserve (cr); + cairo_set_source_rgba (cr, 0.5, 0, 0, 0.5); + cairo_set_line_width (cr, 10.0); + cairo_stroke (cr); + + + double xc = 128.0; + double yc = 128.0; + radius = 100.0; + double angle1 = 45.0 * (M_PI/180.0); /* angles are specified */ + double angle2 = 180.0 * (M_PI/180.0); /* in radians */ + + cairo_set_line_width (cr, 10.0); + cairo_arc (cr, xc, yc, radius, angle1, angle2); + cairo_stroke (cr); + + /* draw helping lines */ + cairo_set_source_rgba (cr, 1, 0.2, 0.2, 0.6); + cairo_set_line_width (cr, 6.0); + + cairo_arc (cr, xc, yc, 10.0, 0, 2*M_PI); + cairo_fill (cr); + + cairo_arc (cr, xc, yc, radius, angle1, angle1); + cairo_line_to (cr, xc, yc); + cairo_arc (cr, xc, yc, radius, angle2, angle2); + cairo_line_to (cr, xc, yc); + cairo_stroke (cr); +} + +static void +draw (cairo_surface_t *surface) +{ + cairo_t *cr; + cr = cairo_create (surface); + travel_path (cr); + cairo_destroy (cr); +} + +int +main(int argc, char *argv[]) +{ + void * window = orb_window_new(-1, -1, width, height, "CairoDemo"); + + //Cairo + uint32_t * frame_data = orb_window_data(window); + cairo_surface_t *surface = cairo_image_surface_create_for_data((uint8_t*) frame_data, CAIRO_FORMAT_ARGB32, width, height, cairo_format_stride_for_width(CAIRO_FORMAT_ARGB32, width)); + cairo_create(surface); + draw (surface); + + orb_window_sync(window); + + char running = 1; + while (running) { + void * event_iter = orb_window_events(window); + + OrbEventOption event_option; + do { + event_option = orb_events_next(event_iter); + switch (event_option.tag) { + case OrbEventOption_Quit: + running = 0; + break; + default: + break; + } + } while (running && event_option.tag != OrbEventOption_None); + + orb_events_destroy(event_iter); + } + orb_window_destroy(window); + return 0; /* ANSI C requires main to return int. */ +} + diff --git a/recipes/demos/cairodemo/recipe.toml b/recipes/demos/cairodemo/recipe.toml new file mode 100755 index 00000000..6538f035 --- /dev/null +++ b/recipes/demos/cairodemo/recipe.toml @@ -0,0 +1,25 @@ +# source is part of cookbook + +[build] +dependencies = [ + "cairo", + "expat", + "fontconfig", + "freetype2", + "liborbital", + "libpng", + "pixman", + "zlib", +] +template = "custom" +script = """ +"${CXX}" \ + $("${PKG_CONFIG}" --cflags cairo) \ + "${COOKBOOK_RECIPE}/cairodemo.c" \ + -o cairodemo \ + -static \ + $("${PKG_CONFIG}" --libs cairo) \ + -lorbital +mkdir -pv "${COOKBOOK_STAGE}/bin" +cp -v "cairodemo" "${COOKBOOK_STAGE}/bin/cairodemo" +""" diff --git a/recipes/demos/cmatrix/recipe.toml b/recipes/demos/cmatrix/recipe.toml new file mode 100644 index 00000000..603bd815 --- /dev/null +++ b/recipes/demos/cmatrix/recipe.toml @@ -0,0 +1,30 @@ +[source] +git = "https://github.com/abishekvashok/cmatrix" +script = """ +autoreconf -i +""" + +[build] +template = "custom" +dependencies = [ + "ncursesw" +] +script = """ +export LIBS="-lncursesw" + +COOKBOOK_CONFIGURE_FLAGS+=( + --without-fonts +) + +"${COOKBOOK_CONFIGURE}" "${COOKBOOK_CONFIGURE_FLAGS[@]}" + +sed -i -e 's|#define USE_TIOCSTI 1|/* #undef USE_TIOCSTI */|g' config.h + +"${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}" +"${COOKBOOK_MAKE}" install DESTDIR="${COOKBOOK_STAGE}" +""" + +[package] +dependencies = [ + "terminfo" +] \ No newline at end of file diff --git a/recipes/demos/cpal/recipe.toml b/recipes/demos/cpal/recipe.toml new file mode 100644 index 00000000..4ff3861b --- /dev/null +++ b/recipes/demos/cpal/recipe.toml @@ -0,0 +1,10 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/cpal.git" +branch = "redox" +upstream = "https://github.com/tomaka/cpal.git" + +[build] +template = "custom" +script = """ +cookbook_cargo_examples beep +""" diff --git a/recipes/demos/dynamic-example/recipe.toml b/recipes/demos/dynamic-example/recipe.toml new file mode 100644 index 00000000..20358b17 --- /dev/null +++ b/recipes/demos/dynamic-example/recipe.toml @@ -0,0 +1,9 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/dynamic-example.git" + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_cargo +""" \ No newline at end of file diff --git a/recipes/demos/exampled/recipe.toml b/recipes/demos/exampled/recipe.toml new file mode 100644 index 00000000..e35bc734 --- /dev/null +++ b/recipes/demos/exampled/recipe.toml @@ -0,0 +1,5 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/exampled.git" + +[build] +template = "cargo" diff --git a/recipes/demos/gears/gears.c b/recipes/demos/gears/gears.c new file mode 100644 index 00000000..14508dc6 --- /dev/null +++ b/recipes/demos/gears/gears.c @@ -0,0 +1,344 @@ +/* gears.c */ + +/* + * 3-D gear wheels. This program is in the public domain. + * + * Brian Paul + */ + +/* Conversion to GLUT by Mark J. Kilgard */ + +#include +#include +#include +#include +#include +#include +#include + +#ifndef M_PI +#define M_PI 3.14159265 +#endif + +/** + + Draw a gear wheel. You'll probably want to call this function when + building a display list since we do a lot of trig here. + + Input: inner_radius - radius of hole at center + outer_radius - radius at center of teeth + width - width of gear + teeth - number of teeth + tooth_depth - depth of tooth + + **/ + +static void +gear(GLfloat inner_radius, GLfloat outer_radius, GLfloat width, + GLint teeth, GLfloat tooth_depth) +{ + GLint i; + GLfloat r0, r1, r2; + GLfloat angle, da; + GLfloat u, v, len; + + r0 = inner_radius; + r1 = outer_radius - tooth_depth / 2.0; + r2 = outer_radius + tooth_depth / 2.0; + + da = 2.0 * M_PI / teeth / 4.0; + + glShadeModel(GL_FLAT); + + glNormal3f(0.0, 0.0, 1.0); + + /* draw front face */ + glBegin(GL_QUAD_STRIP); + for (i = 0; i <= teeth; i++) { + angle = i * 2.0 * M_PI / teeth; + glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5); + glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5); + glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5); + glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), width * 0.5); + } + glEnd(); + + /* draw front sides of teeth */ + glBegin(GL_QUADS); + da = 2.0 * M_PI / teeth / 4.0; + for (i = 0; i < teeth; i++) { + angle = i * 2.0 * M_PI / teeth; + + glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5); + glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), width * 0.5); + glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da), width * 0.5); + glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), width * 0.5); + } + glEnd(); + + glNormal3f(0.0, 0.0, -1.0); + + /* draw back face */ + glBegin(GL_QUAD_STRIP); + for (i = 0; i <= teeth; i++) { + angle = i * 2.0 * M_PI / teeth; + glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5); + glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5); + glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), -width * 0.5); + glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5); + } + glEnd(); + + /* draw back sides of teeth */ + glBegin(GL_QUADS); + da = 2.0 * M_PI / teeth / 4.0; + for (i = 0; i < teeth; i++) { + angle = i * 2.0 * M_PI / teeth; + + glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), -width * 0.5); + glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da), -width * 0.5); + glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), -width * 0.5); + glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5); + } + glEnd(); + + /* draw outward faces of teeth */ + glBegin(GL_QUAD_STRIP); + for (i = 0; i < teeth; i++) { + angle = i * 2.0 * M_PI / teeth; + + glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5); + glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5); + u = r2 * cos(angle + da) - r1 * cos(angle); + v = r2 * sin(angle + da) - r1 * sin(angle); + len = sqrt(u * u + v * v); + u /= len; + v /= len; + glNormal3f(v, -u, 0.0); + glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), width * 0.5); + glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), -width * 0.5); + glNormal3f(cos(angle), sin(angle), 0.0); + glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da), width * 0.5); + glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da), -width * 0.5); + u = r1 * cos(angle + 3 * da) - r2 * cos(angle + 2 * da); + v = r1 * sin(angle + 3 * da) - r2 * sin(angle + 2 * da); + glNormal3f(v, -u, 0.0); + glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), width * 0.5); + glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), -width * 0.5); + glNormal3f(cos(angle), sin(angle), 0.0); + } + + glVertex3f(r1 * cos(0), r1 * sin(0), width * 0.5); + glVertex3f(r1 * cos(0), r1 * sin(0), -width * 0.5); + + glEnd(); + + glShadeModel(GL_SMOOTH); + + /* draw inside radius cylinder */ + glBegin(GL_QUAD_STRIP); + for (i = 0; i <= teeth; i++) { + angle = i * 2.0 * M_PI / teeth; + + glNormal3f(-cos(angle), -sin(angle), 0.0); + glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5); + glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5); + } + glEnd(); + +} + +static int width = 800; +static int height = 600; + +static void * buffer = NULL; +static void * window = NULL; + +static GLfloat view_rotx = 20.0, view_roty = 30.0, view_rotz = 0.0; +static GLint gear1, gear2, gear3; +static GLfloat angle = 0.0; + +static GLuint limit; +static GLuint count = 1; + +static void +sync(void) +{ + glFinish(); + + uint32_t * frame_data = orb_window_data(window); + uint32_t * image_data = (uint32_t *)buffer; + + int i; + for(i = 0; i < width * height; i++) { + frame_data[i] = image_data[i] | 0xFF000000; + } + + orb_window_sync(window); +} + +static void +draw(void) +{ + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + + glPushMatrix(); + glRotatef(view_rotx, 1.0, 0.0, 0.0); + glRotatef(view_roty, 0.0, 1.0, 0.0); + glRotatef(view_rotz, 0.0, 0.0, 1.0); + + glPushMatrix(); + glTranslatef(-3.0, -2.0, 0.0); + glRotatef(angle, 0.0, 0.0, 1.0); + glCallList(gear1); + glPopMatrix(); + + glPushMatrix(); + glTranslatef(3.1, -2.0, 0.0); + glRotatef(-2.0 * angle - 9.0, 0.0, 0.0, 1.0); + glCallList(gear2); + glPopMatrix(); + + glPushMatrix(); + glTranslatef(-3.1, 4.2, 0.0); + glRotatef(-2.0 * angle - 25.0, 0.0, 0.0, 1.0); + glCallList(gear3); + glPopMatrix(); + + glPopMatrix(); + + sync(); + + count++; + if (count == limit) { + exit(0); + } +} + +static void +idle(void) +{ + angle += 2.0; + draw(); +} + +/* new window size or exposure */ +static void +reshape(int width, int height) +{ + GLfloat h = (GLfloat) height / (GLfloat) width; + + glViewport(0, 0, (GLint) width, (GLint) height); + glMatrixMode(GL_PROJECTION); + glLoadIdentity(); + glFrustum(-1.0, 1.0, -h, h, 5.0, 60.0); + glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); + glTranslatef(0.0, 0.0, -40.0); +} + +static void +init(void) +{ + static GLfloat pos[4] = + {5.0, 5.0, 10.0, 0.0}; + static GLfloat red[4] = + {0.8, 0.1, 0.0, 1.0}; + static GLfloat green[4] = + {0.0, 0.8, 0.2, 1.0}; + static GLfloat blue[4] = + {0.2, 0.2, 1.0, 1.0}; + + glLightfv(GL_LIGHT0, GL_POSITION, pos); + glEnable(GL_CULL_FACE); + glEnable(GL_LIGHTING); + glEnable(GL_LIGHT0); + glEnable(GL_DEPTH_TEST); + + /* make the gears */ + gear1 = glGenLists(1); + glNewList(gear1, GL_COMPILE); + glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, red); + gear(1.0, 4.0, 1.0, 20, 0.7); + glEndList(); + + gear2 = glGenLists(1); + glNewList(gear2, GL_COMPILE); + glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, green); + gear(0.5, 2.0, 2.0, 10, 0.7); + glEndList(); + + gear3 = glGenLists(1); + glNewList(gear3, GL_COMPILE); + glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, blue); + gear(1.3, 2.0, 0.5, 10, 0.7); + glEndList(); + + glEnable(GL_NORMALIZE); +} + +main(int argc, char *argv[]) +{ + if (argc > 1) { + /* do 'n' frames then exit */ + limit = atoi(argv[1]) + 1; + } else { + limit = 0; + } + + OSMesaContext ctx = OSMesaCreateContextExt(OSMESA_BGRA, 16, 0, 0, NULL); + if (!ctx) { + printf("OSMesaCreateContextExt failed\n"); + return 1; + } + + buffer = malloc(width * height * 4); + if(!buffer) { + printf("malloc failed\n"); + OSMesaDestroyContext(ctx); + return 1; + } + + if (!OSMesaMakeCurrent(ctx, buffer, GL_UNSIGNED_BYTE, width, height)) { + printf("OSMesaMakeCurrent failed\n"); + OSMesaDestroyContext(ctx); + return 1; + } + + OSMesaPixelStore(OSMESA_Y_UP, 0); + + OSMesaColorClamp(GL_TRUE); + + window = orb_window_new_flags(-1, -1, width, height, "Gears", ORB_WINDOW_ASYNC); + + init(); + + reshape(width, height); + + char running = 1; + while (running) { + idle(); + + void * event_iter = orb_window_events(window); + + OrbEventOption event_option; + do { + event_option = orb_events_next(event_iter); + switch (event_option.tag) { + case OrbEventOption_Quit: + running = 0; + break; + default: + break; + } + } while (running && event_option.tag != OrbEventOption_None); + + orb_events_destroy(event_iter); + } + + orb_window_destroy(window); + OSMesaDestroyContext(ctx); + free(buffer); + + return 0; /* ANSI C requires main to return int. */ +} diff --git a/recipes/demos/gears/recipe.toml b/recipes/demos/gears/recipe.toml new file mode 100644 index 00000000..b736d6b4 --- /dev/null +++ b/recipes/demos/gears/recipe.toml @@ -0,0 +1,18 @@ +[build] +dependencies=[ + "liborbital", + "llvm18", + "mesa", + "mesa-glu", + "zlib", +] +template = "custom" +script = """ +DYNAMIC_INIT + +${CXX} -O2 -I "${COOKBOOK_SYSROOT}/usr/include" \ + $LDFLAGS "${COOKBOOK_RECIPE}/gears.c" \ + -o gears -lorbital $("${PKG_CONFIG}" --libs glu) -lz +mkdir -pv "${COOKBOOK_STAGE}/usr/bin" +cp -v "gears" "${COOKBOOK_STAGE}/usr/bin/gears" +""" diff --git a/recipes/demos/glutin/recipe.toml b/recipes/demos/glutin/recipe.toml new file mode 100644 index 00000000..67dd944a --- /dev/null +++ b/recipes/demos/glutin/recipe.toml @@ -0,0 +1,29 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/glutin.git" +branch = "redox-0.30" +upstream = "https://github.com/rust-windowing/glutin.git" + +[build] +template = "custom" +dependencies = [ + "llvm18", + "mesa", + "zlib" +] +script = """ +DYNAMIC_INIT +EXAMPLES=( + window +) +for example in "${EXAMPLES[@]}" +do + cargo rustc \ + --target "$TARGET" \ + --release \ + --manifest-path "${COOKBOOK_SOURCE}/glutin_examples/Cargo.toml" \ + --example "${example}" \ + -- -C link-args="$LDFLAGS $("${TARGET}-pkg-config" --libs osmesa) -lz -lstdc++ -lc -lgcc" + mkdir -pv "${COOKBOOK_STAGE}/bin" + cp -v "target/${TARGET}/release/examples/${example}" "${COOKBOOK_STAGE}/bin/glutin_${example}" +done +""" diff --git a/recipes/demos/iced/recipe.toml b/recipes/demos/iced/recipe.toml new file mode 100644 index 00000000..ae7dc4f1 --- /dev/null +++ b/recipes/demos/iced/recipe.toml @@ -0,0 +1,9 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/iced.git" +branch = "redox" + +[build] +template = "custom" +script = """ +cookbook_cargo_packages styling +""" diff --git a/recipes/demos/orbclient/recipe.toml b/recipes/demos/orbclient/recipe.toml new file mode 100644 index 00000000..27f07e47 --- /dev/null +++ b/recipes/demos/orbclient/recipe.toml @@ -0,0 +1,8 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/orbclient.git" + +[build] +template = "custom" +script = """ +cookbook_cargo_examples simple +""" diff --git a/recipes/demos/osdemo/osdemo.c b/recipes/demos/osdemo/osdemo.c new file mode 100644 index 00000000..ae4bfa2a --- /dev/null +++ b/recipes/demos/osdemo/osdemo.c @@ -0,0 +1,547 @@ +/* + * Test OSMesa interface at 8, 16 and 32 bits/channel. + * + * Usage: osdemo [options] + * + * Options: + * -f generate image files + * -g render gradient and print color values + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#define WIDTH 600 +#define HEIGHT 600 + +static GLboolean DisplayImages = GL_FALSE; +static GLboolean WriteFiles = GL_FALSE; +static GLboolean Gradient = GL_FALSE; + + +static void +Sphere(float radius, int slices, int stacks) +{ + GLUquadric *q = gluNewQuadric(); + gluQuadricNormals(q, GLU_SMOOTH); + gluSphere(q, radius, slices, stacks); + gluDeleteQuadric(q); +} + + +static void +Cone(float base, float height, int slices, int stacks) +{ + GLUquadric *q = gluNewQuadric(); + gluQuadricDrawStyle(q, GLU_FILL); + gluQuadricNormals(q, GLU_SMOOTH); + gluCylinder(q, base, 0.0, height, slices, stacks); + gluDeleteQuadric(q); +} + + +static void +Torus(float innerRadius, float outerRadius, int sides, int rings) +{ + /* from GLUT... */ + int i, j; + GLfloat theta, phi, theta1; + GLfloat cosTheta, sinTheta; + GLfloat cosTheta1, sinTheta1; + const GLfloat ringDelta = 2.0 * M_PI / rings; + const GLfloat sideDelta = 2.0 * M_PI / sides; + + theta = 0.0; + cosTheta = 1.0; + sinTheta = 0.0; + for (i = rings - 1; i >= 0; i--) { + theta1 = theta + ringDelta; + cosTheta1 = cos(theta1); + sinTheta1 = sin(theta1); + glBegin(GL_QUAD_STRIP); + phi = 0.0; + for (j = sides; j >= 0; j--) { + GLfloat cosPhi, sinPhi, dist; + + phi += sideDelta; + cosPhi = cos(phi); + sinPhi = sin(phi); + dist = outerRadius + innerRadius * cosPhi; + + glNormal3f(cosTheta1 * cosPhi, -sinTheta1 * cosPhi, sinPhi); + glVertex3f(cosTheta1 * dist, -sinTheta1 * dist, innerRadius * sinPhi); + glNormal3f(cosTheta * cosPhi, -sinTheta * cosPhi, sinPhi); + glVertex3f(cosTheta * dist, -sinTheta * dist, innerRadius * sinPhi); + } + glEnd(); + theta = theta1; + cosTheta = cosTheta1; + sinTheta = sinTheta1; + } +} + + +static void Cube(float size) +{ + size = 0.5 * size; + + glBegin(GL_QUADS); + /* +X face */ + glNormal3f(1, 0, 0); + glVertex3f(size, -size, size); + glVertex3f(size, -size, -size); + glVertex3f(size, size, -size); + glVertex3f(size, size, size); + + /* -X face */ + glNormal3f(-1, 0, 0); + glVertex3f(-size, size, size); + glVertex3f(-size, size, -size); + glVertex3f(-size, -size, -size); + glVertex3f(-size, -size, size); + + /* +Y face */ + glNormal3f(0, 1, 0); + glVertex3f(-size, size, size); + glVertex3f( size, size, size); + glVertex3f( size, size, -size); + glVertex3f(-size, size, -size); + + /* -Y face */ + glNormal3f(0, -1, 0); + glVertex3f(-size, -size, -size); + glVertex3f( size, -size, -size); + glVertex3f( size, -size, size); + glVertex3f(-size, -size, size); + + /* +Z face */ + glNormal3f(0, 0, 1); + glVertex3f(-size, -size, size); + glVertex3f( size, -size, size); + glVertex3f( size, size, size); + glVertex3f(-size, size, size); + + /* -Z face */ + glNormal3f(0, 0, -1); + glVertex3f(-size, size, -size); + glVertex3f( size, size, -size); + glVertex3f( size, -size, -size); + glVertex3f(-size, -size, -size); + + glEnd(); +} + + + +/** + * Draw red/green gradient across bottom of image. + * Read pixels to check deltas. + */ +static void +render_gradient(void) +{ + GLfloat row[WIDTH][4]; + int i; + + glMatrixMode(GL_PROJECTION); + glLoadIdentity(); + glOrtho(-1, 1, -1, 1, -1, 1); + glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); + + glBegin(GL_POLYGON); + glColor3f(1, 0, 0); + glVertex2f(-1, -1.0); + glVertex2f(-1, -0.9); + glColor3f(0, 1, 0); + glVertex2f(1, -0.9); + glVertex2f(1, -1.0); + glEnd(); + glFinish(); + + glReadPixels(0, 0, WIDTH, 1, GL_RGBA, GL_FLOAT, row); + for (i = 0; i < 4; i++) { + printf("row[i] = %f, %f, %f\n", row[i][0], row[i][1], row[i][2]); + } +} + + +static void +render_image(void) +{ + static const GLfloat light_ambient[4] = { 0.0, 0.0, 0.0, 1.0 }; + static const GLfloat light_diffuse[4] = { 1.0, 1.0, 1.0, 1.0 }; + static const GLfloat light_specular[4] = { 1.0, 1.0, 1.0, 1.0 }; + static const GLfloat light_position[4] = { 1.0, 1.0, 1.0, 0.0 }; + static const GLfloat red_mat[4] = { 1.0, 0.2, 0.2, 1.0 }; + static const GLfloat green_mat[4] = { 0.2, 1.0, 0.2, 1.0 }; + static const GLfloat blue_mat[4] = { 0.2, 0.2, 1.0, 1.0 }; +#if 0 + static const GLfloat yellow_mat[4] = { 0.8, 0.8, 0.0, 1.0 }; +#endif + static const GLfloat purple_mat[4] = { 0.8, 0.4, 0.8, 0.6 }; + + glLightfv(GL_LIGHT0, GL_AMBIENT, light_ambient); + glLightfv(GL_LIGHT0, GL_DIFFUSE, light_diffuse); + glLightfv(GL_LIGHT0, GL_SPECULAR, light_specular); + glLightfv(GL_LIGHT0, GL_POSITION, light_position); + + glEnable(GL_DEPTH_TEST); + glEnable(GL_LIGHT0); + + glMatrixMode(GL_PROJECTION); + glLoadIdentity(); + glFrustum(-1.0, 1.0, -1.0, 1.0, 2.0, 50.0); + glMatrixMode(GL_MODELVIEW); + glTranslatef(0, 0.5, -7); + + glClearColor(0.3, 0.3, 0.7, 0.0); + glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); + + glPushMatrix(); + glRotatef(20.0, 1.0, 0.0, 0.0); + + /* ground */ + glEnable(GL_TEXTURE_2D); + glBegin(GL_POLYGON); + glNormal3f(0, 1, 0); + glTexCoord2f(0, 0); glVertex3f(-5, -1, -5); + glTexCoord2f(1, 0); glVertex3f( 5, -1, -5); + glTexCoord2f(1, 1); glVertex3f( 5, -1, 5); + glTexCoord2f(0, 1); glVertex3f(-5, -1, 5); + glEnd(); + glDisable(GL_TEXTURE_2D); + + glEnable(GL_LIGHTING); + + glPushMatrix(); + glTranslatef(-1.5, 0.5, 0.0); + glRotatef(90.0, 1.0, 0.0, 0.0); + glMaterialfv( GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, red_mat ); + Torus(0.275, 0.85, 20, 20); + glPopMatrix(); + + glPushMatrix(); + glTranslatef(-1.5, -0.5, 0.0); + glRotatef(270.0, 1.0, 0.0, 0.0); + glMaterialfv( GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, green_mat ); + Cone(1.0, 2.0, 16, 1); + glPopMatrix(); + + glPushMatrix(); + glTranslatef(0.95, 0.0, -0.8); + glMaterialfv( GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, blue_mat ); + glLineWidth(2.0); + glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); + Sphere(1.2, 20, 20); + glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); + glPopMatrix(); + +#if 0 + glPushMatrix(); + glTranslatef(0.75, 0.0, 1.3); + glMaterialfv( GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, yellow_mat ); + glutWireTeapot(1.0); + glPopMatrix(); +#endif + + glPushMatrix(); + glTranslatef(-0.25, 0.0, 2.5); + glRotatef(40, 0, 1, 0); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glEnable(GL_BLEND); + glEnable(GL_CULL_FACE); + glMaterialfv( GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, purple_mat ); + Cube(1.0); + glDisable(GL_BLEND); + glDisable(GL_CULL_FACE); + glPopMatrix(); + + glDisable(GL_LIGHTING); + + glPopMatrix(); + + glDisable(GL_DEPTH_TEST); +} + + +static void +init_context(void) +{ + const GLint texWidth = 64, texHeight = 64; + GLubyte *texImage; + int i, j; + + /* checker image */ + texImage = (GLubyte *)malloc(texWidth * texHeight * 4); + for (i = 0; i < texHeight; i++) { + for (j = 0; j < texWidth; j++) { + int k = (i * texWidth + j) * 4; + if ((i % 5) == 0 || (j % 5) == 0) { + texImage[k+0] = 200; + texImage[k+1] = 200; + texImage[k+2] = 200; + texImage[k+3] = 255; + } + else { + if ((i % 5) == 1 || (j % 5) == 1) { + texImage[k+0] = 50; + texImage[k+1] = 50; + texImage[k+2] = 50; + texImage[k+3] = 255; + } + else { + texImage[k+0] = 100; + texImage[k+1] = 100; + texImage[k+2] = 100; + texImage[k+3] = 255; + } + } + } + } + + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, texWidth, texHeight, 0, + GL_RGBA, GL_UNSIGNED_BYTE, texImage); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); + + free(texImage); +} + +static void +display_image(const char *filename, const GLubyte *buffer, int width, int height) +{ + void * window = orb_window_new(-1, -1, width, height, filename); + + uint32_t * frame_data = orb_window_data(window); + uint32_t * image_data = (uint32_t *)buffer; + + int x, y; + for(y = 0; y < height; y++) { + for(x = 0; x < width; x++) { + frame_data[y * width + x] = image_data[(height - 1 - y) * width + x] | 0xFF000000; + } + } + + orb_window_sync(window); + + char running = 1; + while (running) { + void * event_iter = orb_window_events(window); + + OrbEventOption event_option; + do { + event_option = orb_events_next(event_iter); + switch (event_option.tag) { + case OrbEventOption_Quit: + running = 0; + break; + default: + break; + } + } while (running && event_option.tag != OrbEventOption_None); + + orb_events_destroy(event_iter); + } + + orb_window_destroy(window); +} + +static void +write_ppm(const char *filename, const GLubyte *buffer, int width, int height) +{ + const int binary = 0; + FILE *f = fopen( filename, "w" ); + if (f) { + int i, x, y; + const GLubyte *ptr = buffer; + if (binary) { + fprintf(f,"P6\n"); + fprintf(f,"# ppm-file created by osdemo.c\n"); + fprintf(f,"%i %i\n", width,height); + fprintf(f,"255\n"); + fclose(f); + f = fopen( filename, "ab" ); /* reopen in binary append mode */ + for (y=height-1; y>=0; y--) { + for (x=0; x=0; y--) { + for (x=0; x> 8; + display_image(filename, buffer8, WIDTH, HEIGHT); + free(buffer8); + } + else if (type == GL_FLOAT) { + GLfloat *buffer32 = (GLfloat *) buffer; + GLubyte *buffer8 = (GLubyte *) malloc(WIDTH * HEIGHT * 4); + int i; + /* colors may be outside [0,1] so we need to clamp */ + for (i = 0; i < WIDTH * HEIGHT * 4; i++) + buffer8[i] = (GLubyte) (buffer32[i] * 255.0); + display_image(filename, buffer8, WIDTH, HEIGHT); + free(buffer8); + } + else { + display_image(filename, (const GLubyte *)buffer, WIDTH, HEIGHT); + } + } + + if (WriteFiles && filename != NULL) { + if (type == GL_UNSIGNED_SHORT) { + GLushort *buffer16 = (GLushort *) buffer; + GLubyte *buffer8 = (GLubyte *) malloc(WIDTH * HEIGHT * 4); + int i; + for (i = 0; i < WIDTH * HEIGHT * 4; i++) + buffer8[i] = buffer16[i] >> 8; + write_ppm(filename, buffer8, WIDTH, HEIGHT); + free(buffer8); + } + else if (type == GL_FLOAT) { + GLfloat *buffer32 = (GLfloat *) buffer; + GLubyte *buffer8 = (GLubyte *) malloc(WIDTH * HEIGHT * 4); + int i; + /* colors may be outside [0,1] so we need to clamp */ + for (i = 0; i < WIDTH * HEIGHT * 4; i++) + buffer8[i] = (GLubyte) (buffer32[i] * 255.0); + write_ppm(filename, buffer8, WIDTH, HEIGHT); + free(buffer8); + } + else { + write_ppm(filename, (const GLubyte *)buffer, WIDTH, HEIGHT); + } + } + + OSMesaDestroyContext(ctx); + + free(buffer); + + return 1; +} + + +int +main( int argc, char *argv[] ) +{ + int i; + + printf("Use -f to write image files\n"); + + for (i = 1; i < argc; i++) { + if (strcmp(argv[i], "-d") == 0) + DisplayImages = GL_TRUE; + else if (strcmp(argv[i], "-f") == 0) + WriteFiles = GL_TRUE; + else if (strcmp(argv[i], "-g") == 0) + Gradient = GL_TRUE; + } + + test(GL_UNSIGNED_BYTE, 8, "image8.ppm"); + test(GL_UNSIGNED_SHORT, 16, "image16.ppm"); + test(GL_FLOAT, 32, "image32.ppm"); + + return 0; +} diff --git a/recipes/demos/osdemo/recipe.toml b/recipes/demos/osdemo/recipe.toml new file mode 100644 index 00000000..720f1315 --- /dev/null +++ b/recipes/demos/osdemo/recipe.toml @@ -0,0 +1,18 @@ +[build] +template = "custom" +dependencies = [ + "liborbital", + "llvm18", + "mesa", + "mesa-glu", + "zlib" +] +script = """ +DYNAMIC_INIT + +cp "${COOKBOOK_SOURCE}/../osdemo.c" ./osdemo.c +${CXX} -O2 -I "${COOKBOOK_SYSROOT}/include" $LDFLAGS osdemo.c -o osdemo \ + -lorbital $("${PKG_CONFIG}" --libs glu) -lz +mkdir -pv "${COOKBOOK_STAGE}/usr/bin" +cp -v "osdemo" "${COOKBOOK_STAGE}/usr/bin/osdemo" +""" diff --git a/recipes/demos/pixelcannon/recipe.toml b/recipes/demos/pixelcannon/recipe.toml new file mode 100644 index 00000000..709e3d97 --- /dev/null +++ b/recipes/demos/pixelcannon/recipe.toml @@ -0,0 +1,19 @@ +[source] +git = "https://github.com/jackpot51/pixelcannon.git" + +[build] +template = "custom" +script = """ +cookbook_cargo + +mkdir -pv "${COOKBOOK_STAGE}/apps/pixelcannon" +cp -Rv "${COOKBOOK_SOURCE}/assets" "${COOKBOOK_STAGE}/apps/pixelcannon" + +mkdir -pv "${COOKBOOK_STAGE}/ui/apps" +cp -v "${COOKBOOK_SOURCE}/manifest" "${COOKBOOK_STAGE}/ui/apps/pixelcannon" +""" + +[package] +dependencies = [ + "orbital", +] diff --git a/recipes/demos/sdl2-gears/assets/font.ttf b/recipes/demos/sdl2-gears/assets/font.ttf new file mode 100644 index 00000000..eb1000bc Binary files /dev/null and b/recipes/demos/sdl2-gears/assets/font.ttf differ diff --git a/recipes/demos/sdl2-gears/assets/image.png b/recipes/demos/sdl2-gears/assets/image.png new file mode 100644 index 00000000..f3a6f114 Binary files /dev/null and b/recipes/demos/sdl2-gears/assets/image.png differ diff --git a/recipes/demos/sdl2-gears/assets/music.wav b/recipes/demos/sdl2-gears/assets/music.wav new file mode 100644 index 00000000..f29a8c9c Binary files /dev/null and b/recipes/demos/sdl2-gears/assets/music.wav differ diff --git a/recipes/demos/sdl2-gears/gears.c b/recipes/demos/sdl2-gears/gears.c new file mode 100644 index 00000000..887e0085 --- /dev/null +++ b/recipes/demos/sdl2-gears/gears.c @@ -0,0 +1,523 @@ +/* gears.c */ + +/* + * 3-D gear wheels. This program is in the public domain. + * + * Brian Paul + */ + +/* Conversion to GLUT by Mark J. Kilgard */ + +#include +#include +#include +#include +#include + +#ifndef M_PI +#define M_PI 3.14159265 +#endif + +/** + + Draw a gear wheel. You'll probably want to call this function when + building a display list since we do a lot of trig here. + + Input: inner_radius - radius of hole at center + outer_radius - radius at center of teeth + width - width of gear + teeth - number of teeth + tooth_depth - depth of tooth + + **/ + +static void +gear(GLfloat inner_radius, GLfloat outer_radius, GLfloat width, + GLint teeth, GLfloat tooth_depth) +{ + GLint i; + GLfloat r0, r1, r2; + GLfloat angle, da; + GLfloat u, v, len; + + r0 = inner_radius; + r1 = outer_radius - tooth_depth / 2.0; + r2 = outer_radius + tooth_depth / 2.0; + + da = 2.0 * M_PI / teeth / 4.0; + + glShadeModel(GL_FLAT); + + glNormal3f(0.0, 0.0, 1.0); + + /* draw front face */ + glBegin(GL_QUAD_STRIP); + for (i = 0; i <= teeth; i++) + { + angle = i * 2.0 * M_PI / teeth; + glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5); + + glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5); + glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5); + glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), width * 0.5); + } + glEnd(); + + /* draw front sides of teeth */ + glBegin(GL_QUADS); + da = 2.0 * M_PI / teeth / 4.0; + for (i = 0; i < teeth; i++) + { + angle = i * 2.0 * M_PI / teeth; + + glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5); + glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), width * 0.5); + glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da), width * 0.5); + glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), width * 0.5); + } + glEnd(); + + glNormal3f(0.0, 0.0, -1.0); + + /* draw back face */ + glBegin(GL_QUAD_STRIP); + for (i = 0; i <= teeth; i++) + { + angle = i * 2.0 * M_PI / teeth; + glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5); + glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5); + glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), -width * 0.5); + glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5); + } + glEnd(); + + /* draw back sides of teeth */ + glBegin(GL_QUADS); + da = 2.0 * M_PI / teeth / 4.0; + for (i = 0; i < teeth; i++) + { + angle = i * 2.0 * M_PI / teeth; + + glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), -width * 0.5); + glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da), -width * 0.5); + glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), -width * 0.5); + glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5); + } + glEnd(); + + /* draw outward faces of teeth */ + glBegin(GL_QUAD_STRIP); + for (i = 0; i < teeth; i++) + { + angle = i * 2.0 * M_PI / teeth; + + glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5); + glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5); + u = r2 * cos(angle + da) - r1 * cos(angle); + v = r2 * sin(angle + da) - r1 * sin(angle); + len = sqrt(u * u + v * v); + u /= len; + v /= len; + glNormal3f(v, -u, 0.0); + glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), width * 0.5); + glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), -width * 0.5); + glNormal3f(cos(angle), sin(angle), 0.0); + glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da), width * 0.5); + glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da), -width * 0.5); + u = r1 * cos(angle + 3 * da) - r2 * cos(angle + 2 * da); + v = r1 * sin(angle + 3 * da) - r2 * sin(angle + 2 * da); + glNormal3f(v, -u, 0.0); + glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), width * 0.5); + glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), -width * 0.5); + glNormal3f(cos(angle), sin(angle), 0.0); + } + + glVertex3f(r1 * cos(0), r1 * sin(0), width * 0.5); + glVertex3f(r1 * cos(0), r1 * sin(0), -width * 0.5); + + glEnd(); + + glShadeModel(GL_SMOOTH); + + /* draw inside radius cylinder */ + glBegin(GL_QUAD_STRIP); + for (i = 0; i <= teeth; i++) + { + angle = i * 2.0 * M_PI / teeth; + + glNormal3f(-cos(angle), -sin(angle), 0.0); + glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5); + glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5); + } + glEnd(); +} + +static int width = 800; +static int height = 600; + +static SDL_Window *window = NULL; +static SDL_GLContext context = NULL; + +static GLfloat view_rotx = 20.0, view_roty = 30.0, view_rotz = 0.0; +static GLint gear1, gear2, gear3; +static GLfloat angle = 0.0; +static GLfloat delta = 2.0f; + +static void +draw(void) +{ + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + + glPushMatrix(); + glRotatef(view_rotx, 1.0, 0.0, 0.0); + glRotatef(view_roty, 0.0, 1.0, 0.0); + glRotatef(view_rotz, 0.0, 0.0, 1.0); + + glPushMatrix(); + glTranslatef(-3.0, -2.0, 0.0); + glRotatef(angle, 0.0, 0.0, 1.0); + glCallList(gear1); + glPopMatrix(); + + glPushMatrix(); + glTranslatef(3.1, -2.0, 0.0); + glRotatef(-2.0 * angle - 9.0, 0.0, 0.0, 1.0); + glCallList(gear2); + glPopMatrix(); + + glPushMatrix(); + glTranslatef(-3.1, 4.2, 0.0); + glRotatef(-2.0 * angle - 25.0, 0.0, 0.0, 1.0); + glCallList(gear3); + glPopMatrix(); + + glPopMatrix(); +} + +static void +idle(void) +{ + angle += delta; + if (angle > 360.0f) + angle -= 360.0f; + + draw(); + + SDL_GL_SwapWindow(window); +} + +/* new window size or exposure */ +static void +reshape(int width, int height) +{ + GLfloat h = (GLfloat)height / (GLfloat)width; + + glViewport(0, 0, (GLint)width, (GLint)height); + glMatrixMode(GL_PROJECTION); + glLoadIdentity(); + glFrustum(-1.0, 1.0, -h, h, 5.0, 60.0); + glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); + glTranslatef(0.0, 0.0, -40.0); +} + +static void +init(void) +{ + static GLfloat pos[4] = + {5.0, 5.0, 10.0, 0.0}; + static GLfloat red[4] = + {0.8, 0.1, 0.0, 1.0}; + static GLfloat green[4] = + {0.0, 0.8, 0.2, 1.0}; + static GLfloat blue[4] = + {0.2, 0.2, 1.0, 1.0}; + + glLightfv(GL_LIGHT0, GL_POSITION, pos); + glEnable(GL_CULL_FACE); + glEnable(GL_LIGHTING); + glEnable(GL_LIGHT0); + glEnable(GL_DEPTH_TEST); + + /* make the gears */ + gear1 = glGenLists(1); + glNewList(gear1, GL_COMPILE); + glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, red); + gear(1.0, 4.0, 1.0, 20, 0.7); + glEndList(); + + gear2 = glGenLists(1); + glNewList(gear2, GL_COMPILE); + glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, green); + gear(0.5, 2.0, 2.0, 10, 0.7); + glEndList(); + + gear3 = glGenLists(1); + glNewList(gear3, GL_COMPILE); + glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, blue); + gear(1.3, 2.0, 0.5, 10, 0.7); + glEndList(); + + glEnable(GL_NORMALIZE); +} + +void CheckSDLError(int line) +{ + const char *error = SDL_GetError(); + if (error != "") + { + printf("SLD Error: %s\n", error); + + if (line != -1) + printf("\nLine: %d\n", line); + + SDL_ClearError(); + } +} + +SDL_Surface *image; +const char *IMAGE_FILE_NAME = "/usr/games/sdl2_gears/assets/image.png"; + +Mix_Music *music = NULL; +const char *MUSIC_FILE_NAME = "/usr/games/sdl2_gears/assets/music.wav"; + +TTF_Font *font = NULL; +const char *TTF_FILE_NAME = "/usr/games/sdl2_gears/assets/font.ttf"; + +void cleanup() +{ + if (context != NULL) + { + SDL_GL_DeleteContext(context); + context = NULL; + } + if (window != NULL) + { + SDL_DestroyWindow(window); + window = NULL; + } + + if (image != NULL) + { + SDL_FreeSurface(image); + image = NULL; + IMG_Quit(); + } + + if (music != NULL) + { + Mix_FreeMusic(music); + music = NULL; + Mix_CloseAudio(); + } + + if (font != NULL) + { + TTF_CloseFont(font); + font = NULL; + } + + // Shutdown SDL 2 + SDL_Quit(); +} + +int main(int argc, char *argv[]) +{ + // Main + printf("Initializing SDL\n"); + if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO) < 0) + { + printf("Failed to init SDL\n"); + CheckSDLError(__LINE__); + cleanup(); + return -1; + } + + // Video / window + printf("Creating SDL window\n"); + window = SDL_CreateWindow( + "Gears", + -1, + -1, + width, + height, + SDL_WINDOW_OPENGL); + if (window == NULL) + { + printf("Unable to create window\n"); + CheckSDLError(__LINE__); + cleanup(); + return -1; + } + + printf("Creating SDL GL context\n"); + context = SDL_GL_CreateContext(window); + if (context == NULL) + { + printf("Unable to create SDL GL context\n"); + CheckSDLError(__LINE__); + cleanup(); + return -1; + } + + init(); + + reshape(width, height); + + // Image + printf("Initializing SDL image supporting formats png and jpeg\n"); + int flags = IMG_INIT_JPG | IMG_INIT_PNG; + int initted = IMG_Init(flags); + if ((initted & flags) != flags) + { + printf("IMG_Init: Failed to init required jpg and png support: %s\n", IMG_GetError()); + CheckSDLError(__LINE__); + cleanup(); + return -1; + } + + image = IMG_Load(IMAGE_FILE_NAME); + if (image == NULL) + { + printf("IMG_Load failed: %s\n", IMG_GetError()); + CheckSDLError(__LINE__); + cleanup(); + return -1; + } + + // Audio + printf("Opening SDL mixer audio\n"); + if (Mix_OpenAudio(44100, MIX_DEFAULT_FORMAT, 2, 4096) < 0) + { + fprintf(stderr, "Couldn't open audio mixer: %s\n", SDL_GetError()); + CheckSDLError(__LINE__); + cleanup(); + return -1; + } + + music = Mix_LoadMUS(MUSIC_FILE_NAME); + if (music == NULL) + { + fprintf(stderr, "Couldn't open audio file %s: %s\n", MUSIC_FILE_NAME, SDL_GetError()); + CheckSDLError(__LINE__); + cleanup(); + return -1; + } + + if (Mix_PlayMusic(music, -1) < 0) + { + fprintf(stderr, "Couldn't play music: %s\n", SDL_GetError()); + CheckSDLError(__LINE__); + cleanup(); + return -1; + } + + // TTF + printf("Initializing TTF\n"); + if (TTF_Init() < 0) + { + printf("Failed to init TTF\n"); + CheckSDLError(__LINE__); + cleanup(); + return -1; + } + + font = TTF_OpenFont(TTF_FILE_NAME, 30); + if (font == NULL) + { + printf("Couldn't open TTF file %s: %s\n", TTF_FILE_NAME, SDL_GetError()); + CheckSDLError(__LINE__); + cleanup(); + return -1; + } + + int running = 1; + SDL_Event event; + int playing_audio = 0; + while (running) + { + idle(); + + // Loop track + Mix_PlayingMusic(); + + while (SDL_PollEvent(&event)) + { + if (event.type == SDL_QUIT) + running = 0; + + if (event.type == SDL_KEYDOWN) + { + switch (event.key.keysym.sym) + { + case SDLK_p: + { + if (!Mix_PlayingMusic()) + { + if (Mix_PlayMusic(music, -1) < 0) + { + fprintf(stderr, "Couldn't play music: %s\n", SDL_GetError()); + CheckSDLError(__LINE__); + cleanup(); + return -1; + } + } + else + { + if (Mix_PausedMusic()) + { + Mix_ResumeMusic(); + } + else + { + Mix_PauseMusic(); + } + } + break; + } + case SDLK_a: + case SDLK_LEFT: + { + delta -= 0.2f; + break; + } + case SDLK_d: + case SDLK_RIGHT: + { + delta += 0.2f; + break; + } + case SDLK_ESCAPE: + { + running = 0; + break; + } + default: + break; + } + } + + if (event.type == SDL_MOUSEBUTTONDOWN) + { + if (event.button.button == SDL_BUTTON_LEFT) + { + printf("Left mouse btn pressed at position %d,%d\n", event.button.x, event.button.y); + } + else if (event.button.button == SDL_BUTTON_MIDDLE) + { + printf("Middle mouse btn pressed at position %d,%d\n", event.button.x, event.button.y); + } + else if (event.button.button == SDL_BUTTON_RIGHT) + { + printf("Right mouse btn pressed at position %d,%d\n", event.button.x, event.button.y); + } + } + } + + SDL_Delay(10); + } + + cleanup(); + + return 0; +} diff --git a/recipes/demos/sdl2-gears/recipe.toml b/recipes/demos/sdl2-gears/recipe.toml new file mode 100644 index 00000000..04ef051f --- /dev/null +++ b/recipes/demos/sdl2-gears/recipe.toml @@ -0,0 +1,17 @@ +[build] +template = "custom" +dependencies = [ + "sdl2-image", + "sdl2-mixer", + "sdl2-ttf", +] +script = """ +DYNAMIC_INIT +mkdir -p "${COOKBOOK_STAGE}/usr/games/sdl2_gears" +${CXX} -O2 -I "${COOKBOOK_SYSROOT}/include" $LDFLAGS ${COOKBOOK_RECIPE}/gears.c \ + -o sdl2_gears -dynamic \ + -lSDL2_image -lSDL2_mixer -lSDL2_ttf $("${PKG_CONFIG}" --libs osmesa) \ + -lSDL2 -lorbital -lfreetype -lpng -ljpeg -lvorbisfile -lvorbis -logg -lz +cp -rv "${COOKBOOK_RECIPE}/assets" "${COOKBOOK_STAGE}/usr/games/sdl2_gears/" +cp -v sdl2_gears "${COOKBOOK_STAGE}/usr/games/sdl2_gears/" +""" diff --git a/recipes/demos/winit/recipe.toml b/recipes/demos/winit/recipe.toml new file mode 100644 index 00000000..731075d3 --- /dev/null +++ b/recipes/demos/winit/recipe.toml @@ -0,0 +1,9 @@ +[source] +git = "https://github.com/pop-os/winit.git" +branch = "winit-0.29" + +[build] +template = "custom" +script = """ +cookbook_cargo_examples cursor_grab drag_window window window_debug +""" diff --git a/recipes/dev/autoconf/recipe.toml b/recipes/dev/autoconf/recipe.toml new file mode 100644 index 00000000..a4f8df2f --- /dev/null +++ b/recipes/dev/autoconf/recipe.toml @@ -0,0 +1,6 @@ +[source] +tar = "https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.xz" +blake3 = "da1cc8af8551c343de9f42af0ae53fd7dff3623487157623892b6cd7e3bb5692" + +[build] +template = "configure" diff --git a/recipes/dev/automake/recipe.toml b/recipes/dev/automake/recipe.toml new file mode 100644 index 00000000..c733beb9 --- /dev/null +++ b/recipes/dev/automake/recipe.toml @@ -0,0 +1,6 @@ +[source] +tar = "https://ftp.gnu.org/gnu/automake/automake-1.16.5.tar.xz" +blake3 = "f42cfc333aaaa11f2bcb05b5b0273b8706c820c22f9ba4367f7eb920551695cd" + +[build] +template = "configure" diff --git a/recipes/dev/cargo/recipe.toml b/recipes/dev/cargo/recipe.toml new file mode 100644 index 00000000..e0748962 --- /dev/null +++ b/recipes/dev/cargo/recipe.toml @@ -0,0 +1,33 @@ +[source] +git = "https://github.com/rust-lang/cargo.git" +rev = "d73d2caf9e41a39daf2a8d6ce60ec80bf354d2a7" # 0.86 +patches = [ + "redox.patch" +] + +[build] +template = "custom" +dependencies = [ + "curl", + "libssh2", + "nghttp2", + "openssl1", + "zlib", +] +script = """ +DYNAMIC_INIT +export LIBSSH2_SYS_USE_PKG_CONFIG=1 +export LIBZ_SYS_STATIC=1 +export DEP_NGHTTP2_ROOT="${COOKBOOK_SYSROOT}" +export DEP_OPENSSL_ROOT="${COOKBOOK_SYSROOT}" +export DEP_Z_ROOT="${COOKBOOK_SYSROOT}" +"${COOKBOOK_CARGO}" rustc \ + --manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \ + --release \ + --bin cargo \ + -- \ + -L "${COOKBOOK_SYSROOT}/lib" \ + -C link-arg=-Wl,-rpath-link,${COOKBOOK_SYSROOT}/lib +mkdir -pv "${COOKBOOK_STAGE}/usr/bin" +cp -v "target/${TARGET}/release/cargo" "${COOKBOOK_STAGE}/usr/bin/cargo" +""" diff --git a/recipes/dev/cargo/redox.patch b/recipes/dev/cargo/redox.patch new file mode 100644 index 00000000..4a32bfe0 --- /dev/null +++ b/recipes/dev/cargo/redox.patch @@ -0,0 +1,37 @@ +diff --git a/crates/cargo-util/src/paths.rs b/crates/cargo-util/src/paths.rs +index 5d7e3c5a6..b7de5655f 100644 +--- a/crates/cargo-util/src/paths.rs ++++ b/crates/cargo-util/src/paths.rs +@@ -201,7 +201,7 @@ pub fn write_atomic, C: AsRef<[u8]>>(path: P, contents: C) -> Res + use std::os::unix::fs::PermissionsExt; + + // these constants are u16 on macOS +- let mask = u32::from(libc::S_IRWXU | libc::S_IRWXG | libc::S_IRWXO); ++ let mask = (libc::S_IRWXU | libc::S_IRWXG | libc::S_IRWXO) as u32; + let mode = meta.permissions().mode() & mask; + + std::fs::Permissions::from_mode(mode) +@@ -611,8 +611,6 @@ fn _link_or_copy(src: &Path, dst: &Path) -> Result<()> { + } + + let link_result = if src.is_dir() { +- #[cfg(target_os = "redox")] +- use std::os::redox::fs::symlink; + #[cfg(unix)] + use std::os::unix::fs::symlink; + #[cfg(windows)] +diff --git a/src/cargo/core/compiler/build_config.rs b/src/cargo/core/compiler/build_config.rs +index 80aa592dd..d40c2056b 100644 +--- a/src/cargo/core/compiler/build_config.rs ++++ b/src/cargo/core/compiler/build_config.rs +@@ -51,9 +51,7 @@ pub struct BuildConfig { + } + + fn default_parallelism() -> CargoResult { +- Ok(available_parallelism() +- .context("failed to determine the amount of parallelism available")? +- .get() as u32) ++ Ok(1) + } + + impl BuildConfig { diff --git a/recipes/dev/cmake/recipe.toml b/recipes/dev/cmake/recipe.toml new file mode 100644 index 00000000..1cc84615 --- /dev/null +++ b/recipes/dev/cmake/recipe.toml @@ -0,0 +1,43 @@ +[source] +tar = "https://github.com/Kitware/CMake/releases/download/v4.0.3/cmake-4.0.3.tar.gz" + +[build] +template = "custom" +dependencies = [ + "bzip2", + # "cppdap", + "curl", + "expat", + # "form", + # "jsoncpp", + "libarchive", + # "liblzma", + # "librhash", + "libuv", + "nghttp2", + "openssl1", + "zlib", + "zstd", +] +script = """ +DYNAMIC_INIT + +COOKBOOK_CMAKE_FLAGS+=( + -DBUILD_TESTING=Off + -DCMAKE_USE_SYSTEM_BZIP2=On + -DCMAKE_USE_SYSTEM_CURL=On + -DCMAKE_USE_SYSTEM_EXPAT=On + -DCMAKE_USE_SYSTEM_LIBARCHIVE=On + -DCMAKE_USE_SYSTEM_LIBUV=On + -DCMAKE_USE_SYSTEM_NGHTTP2=On + -DCMAKE_USE_SYSTEM_ZLIB=On + -DCMAKE_USE_SYSTEM_ZSTD=On +) +cookbook_cmake +set -x +mv -vT "${COOKBOOK_STAGE}"/usr/bin "${COOKBOOK_STAGE}/bin" +mv -vT "${COOKBOOK_STAGE}"/usr/share "${COOKBOOK_STAGE}/share" +rm -rf "${COOKBOOK_STAGE}"/usr/doc +rmdir -v "${COOKBOOK_STAGE}"/usr +set +x +""" diff --git a/recipes/dev/composer/recipe.toml b/recipes/dev/composer/recipe.toml new file mode 100644 index 00000000..1d4d5565 --- /dev/null +++ b/recipes/dev/composer/recipe.toml @@ -0,0 +1,9 @@ +#TODO must be run using `php $(which composer)` +[build] +template = "custom" +script = """ +mkdir -p "${COOKBOOK_STAGE}"/usr/bin +wget -c https://getcomposer.org/download/2.8.12/composer.phar +chmod a+x composer.phar +cp composer.phar ${COOKBOOK_STAGE}/usr/bin/composer +""" diff --git a/recipes/dev/crates-io-index/recipe.toml b/recipes/dev/crates-io-index/recipe.toml new file mode 100644 index 00000000..0d0b92f1 --- /dev/null +++ b/recipes/dev/crates-io-index/recipe.toml @@ -0,0 +1,11 @@ +[source] +git = "https://github.com/rust-lang/crates.io-index.git" +shallow_clone = true + +[build] +template = "custom" +script = """ +dir="${COOKBOOK_STAGE}/home/user/.cargo/registry/index/github.com-1ecc6299db9ec823" +mkdir -pv "${dir}" +cp -rv "${COOKBOOK_SOURCE}/.git" "${dir}" +""" diff --git a/recipes/dev/fontconfig/recipe.toml b/recipes/dev/fontconfig/recipe.toml new file mode 100644 index 00000000..883ac026 --- /dev/null +++ b/recipes/dev/fontconfig/recipe.toml @@ -0,0 +1,29 @@ +[source] +tar = "https://www.freedesktop.org/software/fontconfig/release/fontconfig-2.16.0.tar.xz" +blake3 = "5c95d48f5b9150f4a06d8acac12c25edaac956007df95a3bf527df02a5908f0e" +patches = [ + "redox.patch" +] +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +template = "custom" +dependencies = [ + "expat", + "freetype2", + "libpng", + "zlib", +] +script = """ +DYNAMIC_INIT +COOKBOOK_CONFIGURE_FLAGS+=( + --disable-docs \ + ac_cv_func_XML_SetDoctypeDeclHandler=yes +) +export V=1 +export LIBS="-lpng -lz" +cookbook_configure +""" diff --git a/recipes/dev/fontconfig/redox.patch b/recipes/dev/fontconfig/redox.patch new file mode 100644 index 00000000..6beccc26 --- /dev/null +++ b/recipes/dev/fontconfig/redox.patch @@ -0,0 +1,33 @@ +diff -ruwN source/src/fccache.c source-new/src/fccache.c +--- source/src/fccache.c 2019-06-10 05:36:37.000000000 -0600 ++++ source-new/src/fccache.c 2019-10-02 19:48:10.459642095 -0600 +@@ -1526,7 +1526,7 @@ + #if defined(_WIN32) + if (_locking (fd, _LK_LOCK, 1) == -1) + goto bail; +-#else ++#elif !defined(__redox__) + struct flock fl; + + fl.l_type = F_WRLCK; +@@ -1556,7 +1556,7 @@ + { + #if defined(_WIN32) + _locking (fd, _LK_UNLCK, 1); +-#else ++#elif !defined(__redox__) + struct flock fl; + + fl.l_type = F_UNLCK; +diff -ruwN source/src/fccharset.c source-new/src/fccharset.c +--- source/src/fccharset.c 2018-06-05 04:36:38.000000000 -0600 ++++ source-new/src/fccharset.c 2019-10-02 19:48:53.082862133 -0600 +@@ -600,7 +600,7 @@ + static FcChar32 + FcCharSetPopCount (FcChar32 c1) + { +-#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) ++#if !defined(__redox__) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) + return __builtin_popcount (c1); + #else + /* hackmem 169 */ diff --git a/recipes/dev/gcc13/recipe.toml b/recipes/dev/gcc13/recipe.toml new file mode 100644 index 00000000..6b61540b --- /dev/null +++ b/recipes/dev/gcc13/recipe.toml @@ -0,0 +1,47 @@ +[source] +tar = "https://gitlab.redox-os.org/redox-os/gcc/-/archive/redox-13.2.0/gcc-redox-13.2.0.tar.gz" +script = """ +DYNAMIC_INIT +COOKBOOK_AUTORECONF=autoreconf2.69 autotools_recursive_regenerate -I"$(realpath ./config)" +cp -fpv "${COOKBOOK_HOST_SYSROOT}"/share/libtool/build-aux/{config.sub,config.guess,install-sh} libiberty/ +""" + +[build] +template = "custom" +dependencies = [ + "libgmp", + "libmpfr", + "mpc", + "zlib" +] +script = """ +DYNAMIC_INIT + +mkdir -p "${COOKBOOK_SYSROOT}/usr" +ln -sf "${COOKBOOK_SYSROOT}/include" "${COOKBOOK_SYSROOT}/usr/include" +ln -sf "${COOKBOOK_SYSROOT}/lib" "${COOKBOOK_SYSROOT}/usr/lib" + +COOKBOOK_CONFIGURE_FLAGS+=( + --target="${GNU_TARGET}" + --with-sysroot=/ + --with-build-sysroot="${COOKBOOK_SYSROOT}" + --enable-languages=c,c++,lto + --enable-initfini-array + --disable-multilib + --with-system-zlib + --enable-host-shared + --with-bugurl="https://gitlab.redox-os.org/redox-os/gcc/-/issues" +) + +"${COOKBOOK_CONFIGURE}" "${COOKBOOK_CONFIGURE_FLAGS[@]}" +"${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}" all-gcc all-target-libgcc all-target-libstdc++-v3 +"${COOKBOOK_MAKE}" install-gcc install-target-libgcc install-target-libstdc++-v3 DESTDIR="${COOKBOOK_STAGE}" +ln -s "gcc" "${COOKBOOK_STAGE}/usr/bin/cc" +# Avoid conflict with libgcc & libstdcxx +rm -f "${COOKBOOK_STAGE}"/usr/lib/libgcc_s.so* "${COOKBOOK_STAGE}"/usr/lib/libstdc++.so* +""" + +[package] +dependencies = [ + "gnu-binutils" +] diff --git a/recipes/dev/gdbserver/recipe.toml b/recipes/dev/gdbserver/recipe.toml new file mode 100644 index 00000000..1cd96c04 --- /dev/null +++ b/recipes/dev/gdbserver/recipe.toml @@ -0,0 +1,5 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/gdbserver.git" + +[build] +template = "cargo" diff --git a/recipes/dev/gdk-pixbuf/recipe.toml b/recipes/dev/gdk-pixbuf/recipe.toml new file mode 100644 index 00000000..0828868b --- /dev/null +++ b/recipes/dev/gdk-pixbuf/recipe.toml @@ -0,0 +1,23 @@ +[source] +tar = "https://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/2.44/gdk-pixbuf-2.44.4.tar.xz" +blake3 = "94db7bebffbd6be84a1b58a05771e411e9f7c16b06d73fcedaf0e6c0e552be9c" +patches = ["redox.patch"] + +[build] +dependencies = [ + "gettext", + "glib", + "libffi", + "libiconv", + "libjpeg", + "libpng", + "pcre2", + "shared-mime-info", + "zlib", +] +template = "meson" +mesonflags = [ + "-Dbuiltin_loaders=all", + "-Dinstalled_tests=false", + "-Dman=false", +] diff --git a/recipes/dev/gdk-pixbuf/redox.patch b/recipes/dev/gdk-pixbuf/redox.patch new file mode 100644 index 00000000..ecedea68 --- /dev/null +++ b/recipes/dev/gdk-pixbuf/redox.patch @@ -0,0 +1,17 @@ +diff -ruwN gdk-pixbuf-2.38.1/gdk-pixbuf/meson.build source/gdk-pixbuf/meson.build +--- gdk-pixbuf-2.38.1/gdk-pixbuf/meson.build 2019-02-28 09:22:57.000000000 -0700 ++++ source/gdk-pixbuf/meson.build 2025-05-01 12:23:46.853375624 -0600 +@@ -290,9 +290,10 @@ + endif + + gdkpixbuf_bin = [ +- [ 'gdk-pixbuf-csource' ], +- [ 'gdk-pixbuf-pixdata' ], +- [ 'gdk-pixbuf-query-loaders', [ 'queryloaders.c' ] ], ++# Broken compilation on Redox ++# [ 'gdk-pixbuf-csource' ], ++# [ 'gdk-pixbuf-pixdata' ], ++# [ 'gdk-pixbuf-query-loaders', [ 'queryloaders.c' ] ], + ] + + foreach bin: gdkpixbuf_bin diff --git a/recipes/dev/git/git.patch b/recipes/dev/git/git.patch new file mode 100644 index 00000000..998bd9d6 --- /dev/null +++ b/recipes/dev/git/git.patch @@ -0,0 +1,240 @@ +diff -ruwN git-2.13.1/compat/bswap.h source/compat/bswap.h +--- git-2.13.1/compat/bswap.h 2017-06-04 19:08:11.000000000 -0600 ++++ source/compat/bswap.h 2025-04-24 11:20:06.475749424 -0600 +@@ -1,3 +1,7 @@ ++#if defined(__redox__) ++#include ++#endif ++ + /* + * Let's make sure we always have a sane definition for ntohl()/htonl(). + * Some libraries define those as a function call, just to perform byte +diff -ruwN git-2.13.1/compat/terminal.c source/compat/terminal.c +--- git-2.13.1/compat/terminal.c 2017-06-04 19:08:11.000000000 -0600 ++++ source/compat/terminal.c 2025-04-18 10:00:11.318697446 -0600 +@@ -137,6 +137,18 @@ + return buf.buf; + } + ++#elif defined(__redox__) ++ ++ssize_t __getline(char **lptr, size_t *n, FILE *fp); ++ ++char *git_terminal_prompt(const char *prompt, int echo) ++{ ++ char *line = NULL; ++ size_t n = 0; ++ __getline(&line, &n, stdin); ++ return line; // XXX leak ++} ++ + #else + + char *git_terminal_prompt(const char *prompt, int echo) +diff -ruwN git-2.13.1/configure source/configure +--- git-2.13.1/configure 2017-06-04 19:08:11.000000000 -0600 ++++ source/configure 2025-04-18 10:00:11.318697446 -0600 +@@ -6156,7 +6156,7 @@ + ac_res=$ac_cv_search_getaddrinfo + if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" +- NO_IPV6= ++ NO_IPV6=YesPlease + else + NO_IPV6=YesPlease + fi +diff -ruwN git-2.13.1/daemon.c source/daemon.c +--- git-2.13.1/daemon.c 2017-06-04 19:08:11.000000000 -0600 ++++ source/daemon.c 2025-04-18 10:00:11.319697447 -0600 +@@ -71,13 +71,21 @@ + return hi->ip_address.buf; + } + ++#if defined(__redox__) ++#define LOG_ERR 0 ++#define LOG_INFO 1 ++#endif ++ + static void logreport(int priority, const char *err, va_list params) + { ++#if !defined(__redox__) + if (log_syslog) { + char buf[1024]; + vsnprintf(buf, sizeof(buf), err, params); + syslog(priority, "%s", buf); +- } else { ++ } else ++#endif ++ { + /* + * Since stderr is set to buffered mode, the + * logging of different processes will not overlap +@@ -888,8 +896,12 @@ + + if (!reuseaddr) + return 0; ++#if defined(__redox__) ++ return 0; ++#else + return setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, + &on, sizeof(on)); ++#endif + } + + struct socketlist { +@@ -1174,11 +1186,7 @@ + if (!group_name) + c.gid = c.pass->pw_gid; + else { +- struct group *group = getgrnam(group_name); +- if (!group) + die("group not found - %s", group_name); +- +- c.gid = group->gr_gid; + } + + return &c; +@@ -1348,10 +1356,12 @@ + usage(daemon_usage); + } + ++#if !defined(__redox__) + if (log_syslog) { + openlog("git-daemon", LOG_PID, LOG_DAEMON); + set_die_routine(daemon_die); + } else ++#endif + /* avoid splitting a message in the middle */ + setvbuf(stderr, NULL, _IOFBF, 4096); + +diff -ruwN git-2.13.1/git-compat-util.h source/git-compat-util.h +--- git-2.13.1/git-compat-util.h 2017-06-04 19:08:11.000000000 -0600 ++++ source/git-compat-util.h 2025-04-18 10:00:11.319697447 -0600 +@@ -1,6 +1,18 @@ + #ifndef GIT_COMPAT_UTIL_H + #define GIT_COMPAT_UTIL_H + ++#ifndef SIG_DFL ++#define SIG_DFL ((void (*)(int))0) ++#endif ++ ++#ifndef SIG_IGN ++#define SIG_IGN ((void (*)(int))1) ++#endif ++ ++#ifndef SIG_ERR ++#define SIG_ERR ((void (*)(int))-1) ++#endif ++ + #define _FILE_OFFSET_BITS 64 + + +@@ -323,6 +335,14 @@ + #define PATH_SEP ':' + #endif + ++#ifndef DEV_NULL ++#if defined(__redox__) ++#define DEV_NULL "/scheme/null" ++#else ++#define DEV_NULL "/dev/null" ++#endif ++#endif ++ + #ifdef HAVE_PATHS_H + #include + #endif +diff -ruwN git-2.13.1/Makefile source/Makefile +--- git-2.13.1/Makefile 2017-06-05 08:08:11.000000000 +0700 ++++ source/Makefile 2025-09-01 04:41:10.339224568 +0700 +@@ -979,7 +979,7 @@ + BUILTIN_OBJS += builtin/write-tree.o + + GITLIBS = common-main.o $(LIB_FILE) $(XDIFF_LIB) +-EXTLIBS = ++EXTLIBS = -lnghttp2 + + GIT_USER_AGENT = git/$(GIT_VERSION) + +@@ -1802,7 +1802,6 @@ + + $(BUILT_INS): git$X + $(QUIET_BUILT_IN)$(RM) $@ && \ +- ln $< $@ 2>/dev/null || \ + ln -s $< $@ 2>/dev/null || \ + cp $< $@ + +@@ -2096,7 +2095,6 @@ + + $(REMOTE_CURL_ALIASES): $(REMOTE_CURL_PRIMARY) + $(QUIET_LNCP)$(RM) $@ && \ +- ln $< $@ 2>/dev/null || \ + ln -s $< $@ 2>/dev/null || \ + cp $< $@ + +@@ -2449,14 +2447,12 @@ + for p in $(filter $(install_bindir_programs),$(BUILT_INS)); do \ + $(RM) "$$bindir/$$p" && \ + test -z "$(NO_INSTALL_HARDLINKS)" && \ +- ln "$$bindir/git$X" "$$bindir/$$p" 2>/dev/null || \ + ln -s "git$X" "$$bindir/$$p" 2>/dev/null || \ + cp "$$bindir/git$X" "$$bindir/$$p" || exit; \ + done && \ + for p in $(BUILT_INS); do \ + $(RM) "$$execdir/$$p" && \ + test -z "$(NO_INSTALL_HARDLINKS)" && \ +- ln "$$execdir/git$X" "$$execdir/$$p" 2>/dev/null || \ + ln -s "git$X" "$$execdir/$$p" 2>/dev/null || \ + cp "$$execdir/git$X" "$$execdir/$$p" || exit; \ + done && \ +@@ -2464,7 +2460,6 @@ + for p in $$remote_curl_aliases; do \ + $(RM) "$$execdir/$$p" && \ + test -z "$(NO_INSTALL_HARDLINKS)" && \ +- ln "$$execdir/git-remote-http$X" "$$execdir/$$p" 2>/dev/null || \ + ln -s "git-remote-http$X" "$$execdir/$$p" 2>/dev/null || \ + cp "$$execdir/git-remote-http$X" "$$execdir/$$p" || exit; \ + done && \ +diff -ruwN git-2.13.1/run-command.c source/run-command.c +--- git-2.13.1/run-command.c 2017-06-04 19:08:11.000000000 -0600 ++++ source/run-command.c 2025-04-18 10:00:11.320697447 -0600 +@@ -120,9 +120,9 @@ + #ifndef GIT_WINDOWS_NATIVE + static inline void dup_devnull(int to) + { +- int fd = open("/dev/null", O_RDWR); ++ int fd = open(DEV_NULL, O_RDWR); + if (fd < 0) +- die_errno(_("open /dev/null failed")); ++ die_errno(_("open %s failed"), DEV_NULL); + if (dup2(fd, to) < 0) + die_errno(_("dup2(%d,%d) failed"), fd, to); + close(fd); +diff -ruwN git-2.13.1/setup.c source/setup.c +--- git-2.13.1/setup.c 2017-06-05 08:08:11.000000000 +0700 ++++ source/setup.c 2025-09-01 04:41:10.339224568 +0700 +@@ -1146,11 +1146,11 @@ + /* if any standard file descriptor is missing open it to /dev/null */ + void sanitize_stdfds(void) + { +- int fd = open("/dev/null", O_RDWR, 0); ++ int fd = open(DEV_NULL, O_RDWR, 0); + while (fd != -1 && fd < 2) + fd = dup(fd); + if (fd == -1) +- die_errno("open /dev/null or dup failed"); ++ die_errno("open %s or dup failed", DEV_NULL); + if (fd > 2) + close(fd); + } +@@ -1169,8 +1169,10 @@ + default: + exit(0); + } ++#if !defined(__redox__) + if (setsid() == -1) + die_errno("setsid failed"); ++#endif + close(0); + close(1); + close(2); diff --git a/recipes/dev/git/recipe.toml b/recipes/dev/git/recipe.toml new file mode 100644 index 00000000..52d5b70c --- /dev/null +++ b/recipes/dev/git/recipe.toml @@ -0,0 +1,47 @@ +[source] +tar = "https://www.kernel.org/pub/software/scm/git/git-2.13.1.tar.xz" +blake3 = "bc78271bffd60c5b8b938d8c08fd74dc2de8d21fbaf8f8e0e3155436d9263f17" +patches = ["git.patch"] + +[build] +dependencies=[ + "curl", + "expat", + "nghttp2", + "openssl1", + "zlib" +] +template = "custom" +script = """ +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ +DYNAMIC_INIT +MAKEFLAGS=( + NEEDS_SSL_WITH_CURL=1 + NEEDS_CRYPTO_WITH_SSL=1 + NO_IPV6=1 + NO_PREAD=1 + NO_MMAP=1 + NO_SETITIMER=1 + NO_UNIX_SOCKETS=1 + NEEDS_LIBICONV= + NEEDS_LIBRT= + BLK_SHA1=1 + V=1 +) +export CURL_CONFIG="${COOKBOOK_SYSROOT}/usr/bin/curl-config" +./configure \ + --host="${GNU_TARGET}" \ + --prefix=/usr \ + ac_cv_fread_reads_directories=yes \ + ac_cv_snprintf_returns_bogus=yes \ + ac_cv_lib_curl_curl_global_init=yes +"${COOKBOOK_MAKE}" "${MAKEFLAGS[@]}" -j"${COOKBOOK_MAKE_JOBS}" +"${COOKBOOK_MAKE}" DESTDIR="${COOKBOOK_STAGE}" "${MAKEFLAGS[@]}" install +rm -rf "${COOKBOOK_STAGE}/usr/share/man" +""" + +[package] +dependencies = [ + "ca-certificates", + "nghttp2" +] diff --git a/recipes/dev/gitoxide/recipe.toml b/recipes/dev/gitoxide/recipe.toml new file mode 100644 index 00000000..4bd2cf93 --- /dev/null +++ b/recipes/dev/gitoxide/recipe.toml @@ -0,0 +1,14 @@ +[source] +git = "https://github.com/Byron/gitoxide.git" + +[build] +dependencies = [ + "openssl1", +] +template = "custom" +script = """ +export OPENSSL_DIR="${COOKBOOK_SYSROOT}" +export OPENSSL_STATIC="true" +cookbook_cargo +""" + diff --git a/recipes/dev/gnu-make/recipe.toml b/recipes/dev/gnu-make/recipe.toml new file mode 100644 index 00000000..d9c722c9 --- /dev/null +++ b/recipes/dev/gnu-make/recipe.toml @@ -0,0 +1,18 @@ +#TODO very basic makefiles are tested to work but needs more testing +[source] +tar = "http://ftp.gnu.org/gnu/make/make-4.4.tar.gz" +patches = [ + "redox.patch" +] +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +cp -rp "$COOKBOOK_SOURCE/." ./ +cookbook_configure +""" \ No newline at end of file diff --git a/recipes/dev/gnu-make/redox.patch b/recipes/dev/gnu-make/redox.patch new file mode 100644 index 00000000..1dba02da --- /dev/null +++ b/recipes/dev/gnu-make/redox.patch @@ -0,0 +1,12 @@ +diff -ruwN make-4.4/src/arscan.c source/src/arscan.c +--- make-4.4/src/arscan.c 2022-10-23 16:52:32.000000000 +0200 ++++ source/src/arscan.c 2024-08-23 18:28:49.206084084 +0200 +@@ -331,7 +331,7 @@ + #endif + + #ifndef WINDOWS32 +-# if !defined (__ANDROID__) && !defined (__BEOS__) ++# if 0 + # include + # else + /* These platforms don't have but have archives in the same format diff --git a/recipes/dev/hello-world-examples/recipe.toml b/recipes/dev/hello-world-examples/recipe.toml new file mode 100644 index 00000000..b3fd9567 --- /dev/null +++ b/recipes/dev/hello-world-examples/recipe.toml @@ -0,0 +1,8 @@ +[source] +git = "https://github.com/leachim6/hello-world" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/hello-world-examples +cp -rv "${COOKBOOK_SOURCE}"/[#,a-z] "${COOKBOOK_STAGE}"/usr/share/hello-world-examples +""" diff --git a/recipes/dev/lci/recipe.toml b/recipes/dev/lci/recipe.toml new file mode 100644 index 00000000..2f5e1cf4 --- /dev/null +++ b/recipes/dev/lci/recipe.toml @@ -0,0 +1,5 @@ +[source] +git = "https://github.com/jD91mZM2/rust-lci" + +[build] +template = "cargo" diff --git a/recipes/dev/llvm18/native.cmake b/recipes/dev/llvm18/native.cmake new file mode 100644 index 00000000..4b0abbfa --- /dev/null +++ b/recipes/dev/llvm18/native.cmake @@ -0,0 +1,2 @@ +set(CMAKE_C_COMPILER cc) +set(CMAKE_CXX_COMPILER c++) diff --git a/recipes/dev/llvm18/recipe.toml b/recipes/dev/llvm18/recipe.toml new file mode 100644 index 00000000..1834a94e --- /dev/null +++ b/recipes/dev/llvm18/recipe.toml @@ -0,0 +1,70 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/llvm-project.git" +upstream = "https://github.com/rust-lang/llvm-project.git" +branch = "redox-2024-05-11" +shallow_clone = true + +[build] +template = "custom" +dependencies = [ + "zlib" +] +script = """ +DYNAMIC_INIT + +# https://llvm.org/docs/CMake.html +case "${TARGET}" in + x86-unknown-redox) + LLVM_TARGETS_TO_BUILD="X86" + ;; + x86_64-unknown-redox) + LLVM_TARGETS_TO_BUILD="X86" + ;; + aarch64-unknown-redox) + LLVM_TARGETS_TO_BUILD="AArch64" + ;; + riscv64gc-unknown-redox) + LLVM_TARGETS_TO_BUILD="RISCV" + ;; + *) + LLVM_TARGETS_TO_BUILD="host" + ;; +esac + +COOKBOOK_CMAKE_FLAGS+=( + -DCMAKE_CXX_FLAGS="--std=gnu++11" + -DBUILD_SHARED_LIBS=False + -DLLVM_LINK_LLVM_DYLIB=On + -DCROSS_TOOLCHAIN_FLAGS_NATIVE="-DCMAKE_TOOLCHAIN_FILE=$(realpath "${COOKBOOK_RECIPE}/native.cmake")" + -DLLVM_BUILD_BENCHMARKS=Off + -DLLVM_BUILD_EXAMPLES=Off + -DLLVM_BUILD_TESTS=Off + -DLLVM_BUILD_UTILS=Off + -DLLVM_DEFAULT_TARGET_TRIPLE="${TARGET}" + -DLLVM_ENABLE_LTO=Off + -DLLVM_ENABLE_RTTI=On + -DLLVM_ENABLE_THREADS=On + -DLLVM_ENABLE_ZSTD=Off + -DLLVM_INCLUDE_BENCHMARKS=Off + -DLLVM_INCLUDE_EXAMPLES=Off + -DLLVM_INCLUDE_TESTS=Off + -DLLVM_INCLUDE_UTILS=Off + -DLLVM_OPTIMIZED_TABLEGEN=On + -DLLVM_TARGET_ARCH="$(echo "${TARGET}" | cut -d - -f1)" + -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS_TO_BUILD}" + -DLLVM_TOOL_LLVM_COV_BUILD=Off + -DLLVM_TOOL_LLVM_LTO_BUILD=Off + -DLLVM_TOOL_LLVM_LTO2_BUILD=Off + -DLLVM_TOOL_LLVM_PROFDATA_BUILD=Off + -DLLVM_TOOL_LLVM_RTDYLD_BUILD=Off + -DLLVM_TOOL_LLVM_XRAY_BUILD=Off + -DLLVM_TOOL_LLI_BUILD=Off + -DLLVM_TOOL_LTO_BUILD=Off + -DLLVM_TOOLS_INSTALL_DIR=bin + -DLLVM_UTILS_INSTALL_DIR=bin + -DUNIX=1 + -DLLVM_ENABLE_PROJECTS="llvm" +) + +cookbook_cmake "${COOKBOOK_SOURCE}/llvm" +""" diff --git a/recipes/dev/lua54/recipe.toml b/recipes/dev/lua54/recipe.toml new file mode 100644 index 00000000..ea9e5406 --- /dev/null +++ b/recipes/dev/lua54/recipe.toml @@ -0,0 +1,16 @@ +[source] +tar = "https://lua.org/ftp/lua-5.4.7.tar.gz" +blake3 = "e51c2f347e3185479d5ff95cae8ac77511db486853269443c56bedaa0a6ae629" + +[build] +template = "custom" +script = """ +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ +"${COOKBOOK_MAKE}" -j"${COOKBOOK_MAKE_JOBS}" posix \ + AR="${TARGET}-ar rcu" \ + CC="${CC_WRAPPER} ${TARGET}-gcc -std=gnu99" \ + RANLIB="${TARGET}-ranlib" \ + SYSLDFLAGS="-static" + +"${COOKBOOK_MAKE}" install INSTALL_TOP="${COOKBOOK_STAGE}" +""" diff --git a/recipes/dev/luajit/recipe.toml b/recipes/dev/luajit/recipe.toml new file mode 100644 index 00000000..b8d7bf51 --- /dev/null +++ b/recipes/dev/luajit/recipe.toml @@ -0,0 +1,16 @@ +[source] +git = "https://luajit.org/git/luajit.git" +rev = "a4f56a459a588ae768801074b46ba0adcfb49eb1" +patches = ["redox.patch"] +[build] +template = "custom" +script = """ +DYNAMIC_INIT + +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ + +${COOKBOOK_MAKE} -j ${COOKBOOK_MAKE_JOBS} install \ + PREFIX="${COOKBOOK_STAGE}" \ + TARGET_SYS='Redox' \ + CROSS="${TARGET}-" +""" diff --git a/recipes/dev/luajit/redox.patch b/recipes/dev/luajit/redox.patch new file mode 100644 index 00000000..aef67b4c --- /dev/null +++ b/recipes/dev/luajit/redox.patch @@ -0,0 +1,31 @@ +diff --git a/src/Makefile b/src/Makefile +index 3a6a4329..450e8fe6 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -351,6 +351,9 @@ else + ifeq (GNU/kFreeBSD,$(TARGET_SYS)) + TARGET_XLIBS+= -ldl + endif ++ ifeq (Redox,$(TARGET_SYS)) ++ TARGET_XCFLAGS+= -DLUAJIT_OS=LUAJIT_OS_POSIX ++ endif + endif + endif + endif +@@ -367,12 +370,16 @@ ifneq ($(HOST_SYS),$(TARGET_SYS)) + else + ifeq (iOS,$(TARGET_SYS)) + HOST_XCFLAGS+= -DLUAJIT_OS=LUAJIT_OS_OSX -DTARGET_OS_IPHONE=1 ++ else ++ ifeq (Redox,$(TARGET_SYS)) ++ HOST_XCFLAGS+= -DLUAJIT_OS=LUAJIT_OS_POSIX + else + HOST_XCFLAGS+= -DLUAJIT_OS=LUAJIT_OS_OTHER + endif + endif + endif + endif ++ endif + endif + + ifneq (,$(CCDEBUG)) diff --git a/recipes/dev/luarocks/recipe.toml b/recipes/dev/luarocks/recipe.toml new file mode 100644 index 00000000..7440a572 --- /dev/null +++ b/recipes/dev/luarocks/recipe.toml @@ -0,0 +1,18 @@ +[source] +git = "https://github.com/luarocks/luarocks.git" +[build] +template = "custom" +dependencies = [ +"lua54" +] +script = """ + +COOKBOOK_CONFIGURE_FLAGS=( + --sysconfdir=$COOKBOOK_SYSROOT + --with-lua-include=$COOKBOOK_SYSROOT/include + --with-lua-bin=$COOKBOOK_SYSROOT/bin + --with-lua-lib=$COOKBOOK_SYSROOT/lib +) +cd "${COOKBOOK_SOURCE}" +cookbook_configure +""" diff --git a/recipes/dev/nasm/recipe.toml b/recipes/dev/nasm/recipe.toml new file mode 100644 index 00000000..c4de3b14 --- /dev/null +++ b/recipes/dev/nasm/recipe.toml @@ -0,0 +1,7 @@ +[source] +#TODO: nasm.us is down: tar = "https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/nasm-2.14.02.tar.gz" +tar = "https://gstreamer.freedesktop.org/src/mirror/nasm-2.14.02.tar.xz" +blake3 = "f66c0cc852c3b9e3321f57c33ef336e17a128bd3d854ee095aae7e6f64629f20" + +[build] +template = "configure" diff --git a/recipes/dev/patch/01_no_rlimit.patch b/recipes/dev/patch/01_no_rlimit.patch new file mode 100644 index 00000000..c44b9a96 --- /dev/null +++ b/recipes/dev/patch/01_no_rlimit.patch @@ -0,0 +1,35 @@ +diff -ru source/lib/getdtablesize.c source-new/lib/getdtablesize.c +--- source/lib/getdtablesize.c 2015-03-06 16:31:45.000000000 -0800 ++++ source-new/lib/getdtablesize.c 2017-08-08 19:33:33.993874985 -0700 +@@ -106,15 +106,6 @@ + int + getdtablesize (void) + { +- struct rlimit lim; +- +- if (getrlimit (RLIMIT_NOFILE, &lim) == 0 +- && 0 <= lim.rlim_cur && lim.rlim_cur <= INT_MAX +- && lim.rlim_cur != RLIM_INFINITY +- && lim.rlim_cur != RLIM_SAVED_CUR +- && lim.rlim_cur != RLIM_SAVED_MAX) +- return lim.rlim_cur; +- + return INT_MAX; + } + +Only in source-new/lib: getdtablesize.c.orig +diff -ru source/src/safe.c source-new/src/safe.c +--- source/src/safe.c 2015-03-06 16:34:20.000000000 -0800 ++++ source-new/src/safe.c 2017-08-08 19:33:53.447430811 -0700 +@@ -92,11 +92,7 @@ + + static void init_dirfd_cache (void) + { +- struct rlimit nofile; +- + max_cached_fds = 8; +- if (getrlimit (RLIMIT_NOFILE, &nofile) == 0) +- max_cached_fds = MAX (nofile.rlim_cur / 4, max_cached_fds); + + cached_dirfds = hash_initialize (max_cached_fds, + NULL, diff --git a/recipes/dev/patch/02_no_chown.patch b/recipes/dev/patch/02_no_chown.patch new file mode 100644 index 00000000..996f6a72 --- /dev/null +++ b/recipes/dev/patch/02_no_chown.patch @@ -0,0 +1,19 @@ +diff -ru source/src/util.c source-new/src/util.c +--- source/src/util.c 2015-03-06 16:34:20.000000000 -0800 ++++ source-new/src/util.c 2017-08-11 18:24:56.991729200 -0700 +@@ -271,6 +271,7 @@ + + /* May fail if we are not privileged to set the file owner, or we are + not in group instat.st_gid. Ignore those errors. */ ++ /* + if ((uid != -1 || gid != -1) + && safe_lchown (to, uid, gid) != 0 + && (errno != EPERM +@@ -281,6 +282,7 @@ + (uid == -1) ? "owner" : "owning group", + S_ISLNK (mode) ? "symbolic link" : "file", + quotearg (to)); ++ */ + } + if (attr & FA_XATTRS) + if (copy_attr (from, to) != 0 diff --git a/recipes/dev/patch/03_renameat2.patch b/recipes/dev/patch/03_renameat2.patch new file mode 100644 index 00000000..f5e799e9 --- /dev/null +++ b/recipes/dev/patch/03_renameat2.patch @@ -0,0 +1,15 @@ +--- source-old/lib/renameat2.c 2018-02-03 05:41:53.000000000 -0700 ++++ source/lib/renameat2.c 2025-11-01 08:39:54.945513820 -0600 +@@ -70,6 +70,7 @@ + Obey FLAGS when doing the renaming. If FLAGS is zero, this + function is equivalent to renameat (FD1, SRC, FD2, DST). */ + ++#if !defined(__redox__) + int + renameat2 (int fd1, char const *src, int fd2, char const *dst, + unsigned int flags) +@@ -225,3 +226,4 @@ + + #endif /* !HAVE_RENAMEAT */ + } ++#endif diff --git a/recipes/dev/patch/recipe.toml b/recipes/dev/patch/recipe.toml new file mode 100644 index 00000000..3e4cadbc --- /dev/null +++ b/recipes/dev/patch/recipe.toml @@ -0,0 +1,28 @@ +[source] +tar = "https://ftp.gnu.org/gnu/patch/patch-2.7.6.tar.xz" +blake3 = "d46d14c12aa4ea51e356bf92091c368fd871e1d770b94bc29027886737aecd5f" +patches = [ + "01_no_rlimit.patch", + "02_no_chown.patch", + "03_renameat2.patch", +] +script = """ +wget -O build-aux/config.sub "https://gitlab.redox-os.org/redox-os/gnu-config/-/raw/master/config.sub?inline=false" +autoreconf +""" + +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="${COOKBOOK_SOURCE}/configure" +COOKBOOK_CONFIGURE_FLAGS=( + --host="${TARGET}" + --prefix="/" + --build="$(gcc -dumpmachine)" +) + +cookbook_configure + +${TARGET}-strip "${COOKBOOK_STAGE}/bin/"* +rm -rf "${COOKBOOK_STAGE}/share" "${COOKBOOK_STAGE}/lib" +""" diff --git a/recipes/dev/pciids/recipe.toml b/recipes/dev/pciids/recipe.toml new file mode 100644 index 00000000..3404148b --- /dev/null +++ b/recipes/dev/pciids/recipe.toml @@ -0,0 +1,9 @@ +[source] +git = "https://github.com/pciutils/pciids.git" + +[build] +template = "custom" +script = """ +install -d "${COOKBOOK_STAGE}/share/misc/" +install "${COOKBOOK_SOURCE}"/pci.ids "${COOKBOOK_STAGE}/share/misc/" +""" diff --git a/recipes/dev/php84/recipe.toml b/recipes/dev/php84/recipe.toml new file mode 100644 index 00000000..1e109c25 --- /dev/null +++ b/recipes/dev/php84/recipe.toml @@ -0,0 +1,80 @@ +[source] +tar = "https://www.php.net/distributions/php-8.4.12.tar.xz" +patches = [ + "redox.patch" +] + +[build] +template = "custom" +dependencies = [ + "bzip2", + "curl", + "gettext", + "libffi", + "libgmp", + "libavif", + "libicu", + "libjpeg", + "libedit", + "libonig", + "libpng", + "libsodium", + "libwebp", + "libxml2", + "libiconv", + "libzip", + "ncurses", + "nghttp2", + "openssl1", + "openssl3", # put this after openssl1 + "pcre", + "sqlite3", + "xz", + "zlib", + "zstd", +] +script = """ +DYNAMIC_INIT +export SUFFIX="84" + +export CURL_LIBS="-lcurl -lnghttp2 -lssl -lcrypto" +COOKBOOK_CONFIGURE_FLAGS+=( + --program-suffix=${SUFFIX} + --sysconfdir=/etc/php/$SUFFIX + --with-config-file-path=/etc/php/$SUFFIX + --with-config-file-scan-dir=/etc/php/$SUFFIX/conf.d + --with-iconv="${COOKBOOK_SYSROOT}/usr" + --disable-opcache + --enable-bcmath + --enable-calendar + --enable-fpm # need times function + --enable-gd + --enable-intl + --enable-mbstring + --with-curl + --with-gettext + --with-gmp + --with-jpeg + --with-webp + --with-avif + --with-ffi + --with-libedit + --with-openssl + --with-sodium + --with-zip +) + +"${COOKBOOK_CONFIGURE}" "${COOKBOOK_CONFIGURE_FLAGS[@]}" "$@" +"${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}" +"${COOKBOOK_MAKE}" install \ + INSTALL_ROOT="${COOKBOOK_STAGE}" \ + datarootdir=/usr/share localstatedir=/var + +mv ${COOKBOOK_STAGE}/usr/sbin/* ${COOKBOOK_STAGE}/usr/bin/ +for bin in "php-cgi" "php-config" "php" "phpdbg" "phpize" "php-fpm"; do + ln -s "$bin$SUFFIX" ${COOKBOOK_STAGE}/usr/bin/$bin +done +# will not exist on bash but exist on other shell +rm -f ${COOKBOOK_STAGE}/usr/bin/phar$SUFFIX +cp ${COOKBOOK_SOURCE}/php.ini* ${COOKBOOK_STAGE}/etc/php/$SUFFIX/ +""" diff --git a/recipes/dev/php84/redox.patch b/recipes/dev/php84/redox.patch new file mode 100644 index 00000000..25308e14 --- /dev/null +++ b/recipes/dev/php84/redox.patch @@ -0,0 +1,89 @@ +diff -ruwN source/configure source-new/configure +--- source/configure 2025-08-26 20:36:28.000000000 +0700 ++++ source-new/configure 2025-09-26 16:31:28.871157195 +0700 +@@ -25863,7 +25863,7 @@ + then : + ac_cv_lib_curl_curl_easy_perform=yes + else case e in #( +- e) ac_cv_lib_curl_curl_easy_perform=no ;; ++ e) ac_cv_lib_curl_curl_easy_perform=yes ;; + esac + fi + rm -f core conftest.err conftest.$ac_objext conftest.beam \ +@@ -37356,7 +37356,7 @@ + then : + php_cv_lib_gd_works=yes + else case e in #( +- e) php_cv_lib_gd_works=no ;; ++ e) php_cv_lib_gd_works=yes ;; + esac + fi + rm -f core conftest.err conftest.$ac_objext conftest.beam \ +@@ -40056,7 +40056,7 @@ + LIBS_SAVED=$LIBS + CFLAGS="$CFLAGS $GMP_CFLAGS" + LIBS="$LIBS $GMP_LIBS" +- gmp_check=no ++ gmp_check=yes + ac_fn_c_check_header_compile "$LINENO" "gmp.h" "ac_cv_header_gmp_h" "$ac_includes_default" + if test "x$ac_cv_header_gmp_h" = xyes + then : +diff -ruwN source/ext/phar/Makefile.frag source-new/ext/phar/Makefile.frag +--- source/ext/phar/Makefile.frag 2025-08-26 20:36:28.000000000 +0700 ++++ source-new/ext/phar/Makefile.frag 2025-09-26 16:31:29.029526842 +0700 +@@ -30,7 +30,7 @@ + -@test -f $(builddir)/phar/phar.inc || cp $(srcdir)/phar/phar.inc $(builddir)/phar/phar.inc + + TEST_PHP_EXECUTABLE = $(shell $(PHP_EXECUTABLE) -v 2>&1) +-TEST_PHP_EXECUTABLE_RES = $(shell echo "$(TEST_PHP_EXECUTABLE)" | grep -c 'Exec format error') ++TEST_PHP_EXECUTABLE_RES = $(shell echo "$(TEST_PHP_EXECUTABLE)" | grep -E -c 'Exec format error|required file not found') + + $(builddir)/phar.php: $(srcdir)/build_precommand.php $(srcdir)/phar/*.inc $(srcdir)/phar/*.php $(SAPI_CLI_PATH) + -@(echo "Generating phar.php"; \ +diff -ruwN source/ext/posix/posix.c source-new/ext/posix/posix.c +--- source/ext/posix/posix.c 2025-08-26 20:36:28.000000000 +0700 ++++ source-new/ext/posix/posix.c 2025-09-26 16:31:29.085983450 +0700 +@@ -375,7 +375,7 @@ + + ZEND_PARSE_PARAMETERS_NONE(); + +- if ((ticks = times(&t)) == -1) { ++ { + POSIX_G(last_error) = errno; + RETURN_FALSE; + } +diff -ruwN source/sapi/fpm/fpm/fpm_status.c source-new/sapi/fpm/fpm/fpm_status.c +--- source/sapi/fpm/fpm/fpm_status.c 2025-08-26 20:36:28.000000000 +0700 ++++ source-new/sapi/fpm/fpm/fpm_status.c 2025-09-27 01:07:38.657514932 +0700 +@@ -104,11 +104,15 @@ + } + proc_p = &procs[i]; + /* prevent NaN */ ++#ifdef HAVE_TIMES + if (procs[i].cpu_duration.tv_sec == 0 && procs[i].cpu_duration.tv_usec == 0) { + cpu = 0.; + } else { + cpu = (procs[i].last_request_cpu.tms_utime + procs[i].last_request_cpu.tms_stime + procs[i].last_request_cpu.tms_cutime + procs[i].last_request_cpu.tms_cstime) / fpm_scoreboard_get_tick() / (procs[i].cpu_duration.tv_sec + procs[i].cpu_duration.tv_usec / 1000000.) * 100.; + } ++#else ++ cpu = 0.; ++#endif + + array_init(&fpm_proc_stat); + add_assoc_long(&fpm_proc_stat, "pid", procs[i].pid); +@@ -590,11 +594,15 @@ + } + + /* prevent NaN */ ++#ifdef HAVE_TIMES + if (proc->cpu_duration.tv_sec == 0 && proc->cpu_duration.tv_usec == 0) { + cpu = 0.; + } else { + cpu = (proc->last_request_cpu.tms_utime + proc->last_request_cpu.tms_stime + proc->last_request_cpu.tms_cutime + proc->last_request_cpu.tms_cstime) / fpm_scoreboard_get_tick() / (proc->cpu_duration.tv_sec + proc->cpu_duration.tv_usec / 1000000.) * 100.; + } ++#else ++ cpu = 0.; ++#endif + + if (proc->request_stage == FPM_REQUEST_ACCEPTING) { + duration = proc->duration; diff --git a/recipes/dev/pkg-config/recipe.toml b/recipes/dev/pkg-config/recipe.toml new file mode 100644 index 00000000..0560e2da --- /dev/null +++ b/recipes/dev/pkg-config/recipe.toml @@ -0,0 +1,19 @@ +[source] +tar = "https://pkg-config.freedesktop.org/releases/pkg-config-0.29.2.tar.gz" +blake3 = "713372b09a1fafeec130dc9bf812a3880f2a90496af5d2194e508d91ccf667d0" +script = """ +GNU_CONFIG_GET config.sub +""" + +[build] +dependencies = [ + "gettext", + "glib", + "libiconv", + "pcre2", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/dev/python312/recipe.toml b/recipes/dev/python312/recipe.toml new file mode 100644 index 00000000..f7759afa --- /dev/null +++ b/recipes/dev/python312/recipe.toml @@ -0,0 +1,81 @@ +[source] +tar = "https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tar.xz" +patches = [ + "redox.patch" +] + +[build] +template = "custom" +dependencies = [ + "bzip2", + "libffi", + "libuuid", + "openssl3", + "ncurses", + "ncursesw", + "readline", + "sqlite3", + "zlib", + "xz", + "zstd", +] +script = """ +DYNAMIC_INIT + +# Build host python3 +mkdir -p host +pushd host +#TODO: easier way to build for host? +HOST_ENV=( + env + --unset=AR + --unset=AS + --unset=CC + --unset=CFLAGS + --unset=CPPFLAGS + --unset=CXX + --unset=GNU_TARGET + --unset=LD + --unset=LDFLAGS + --unset=NM + --unset=OBJCOPY + --unset=OBJDUMP + --unset=PKG_CONFIG + --unset=PKG_CONFIG_ALLOW_CROSS + --unset=PKG_CONFIG_FOR_BUILD + --unset=PKG_CONFIG_LIBDIR + --unset=PKG_CONFIG_PATH + --unset=PKG_CONFIG_SYSROOT_DIR + --unset=PREFIX_RUSTFLAGS + --unset=RANLIB + --unset=READELF + --unset=STRIP + --unset=TARGET +) +"${HOST_ENV[@]}" "${COOKBOOK_CONFIGURE}" --prefix="${PWD}/usr" +"${HOST_ENV[@]}" "${COOKBOOK_MAKE}" -j"${COOKBOOK_MAKE_JOBS}" +"${HOST_ENV[@]}" "${COOKBOOK_MAKE}" altinstall +popd + +export PYTHONDONTWRITEBYTECODE=1 +ARCH="${TARGET%%-*}" + +# Packages are considerably larger because of this issue +# https://gitlab.redox-os.org/redox-os/relibc/-/issues/227 +export MODULE_BUILDTYPE=static + +COOKBOOK_CONFIGURE_FLAGS=( + --prefix=/usr + --enable-shared + --disable-ipv6 + --host=${GNU_TARGET} + --build="$ARCH" + --with-build-python="${PWD}/host/usr/bin/python3.12" + --with-ensurepip=install + --disable-test-modules + ac_cv_file__dev_ptmx=no + ac_cv_file__dev_ptc=no +) + +cookbook_configure +""" diff --git a/recipes/dev/python312/redox.patch b/recipes/dev/python312/redox.patch new file mode 100644 index 00000000..9ead63c5 --- /dev/null +++ b/recipes/dev/python312/redox.patch @@ -0,0 +1,216 @@ +diff -ruwN source/configure source-new/configure +--- source/configure 2023-10-02 05:48:14.000000000 -0600 ++++ source-new/configure 2025-09-28 13:44:57.914820310 -0600 +@@ -4276,6 +4276,9 @@ + *-*-wasi) + ac_sys_system=WASI + ;; ++ *-*-redox*) ++ ac_sys_system=Redox ++ ;; + *) + # for now, limit cross builds to known configurations + MACHDEP="unknown" +@@ -4300,6 +4303,7 @@ + case $MACHDEP in + aix*) MACHDEP="aix";; + linux*) MACHDEP="linux";; ++ redox*) MACHDEP="redox";; + cygwin*) MACHDEP="cygwin";; + darwin*) MACHDEP="darwin";; + '') MACHDEP="unknown";; +@@ -4311,7 +4315,7 @@ + + if test "$cross_compiling" = yes; then + case "$host" in +- *-*-linux*) ++ *-*-linux*|*-*-redox*) + case "$host_cpu" in + arm*) + _host_cpu=arm +@@ -6746,6 +6750,7 @@ + #undef cris + #undef fr30 + #undef linux ++#undef redox + #undef hppa + #undef hpux + #undef i386 +@@ -6891,6 +6896,18 @@ + # endif + #elif defined(__gnu_hurd__) + i386-gnu ++#elif defined(__redox__) ++# if defined(__x86_64__) ++ x86_64-redox ++# elif defined(__i386__) ++ i386-redox ++# elif defined(__aarch64__) ++ aarch64-redox ++# elif defined(__riscv) ++ riscv64-redox ++# else ++# error unknown platform triplet ++# endif + #elif defined(__APPLE__) + darwin + #elif defined(__VXWORKS__) +@@ -7488,7 +7505,7 @@ + PY3LIBRARY=libpython3.so + fi + ;; +- Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*|OpenBSD*|VxWorks*) ++ Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*|OpenBSD*|VxWorks*|Redox*) + LDLIBRARY='libpython$(LDVERSION).so' + BLDLIBRARY='-L. -lpython$(LDVERSION)' + RUNSHARED=LD_LIBRARY_PATH=`pwd`${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} +@@ -12753,7 +12770,7 @@ + Emscripten|WASI) + LDSHARED='$(CC) -shared' + LDCXXSHARED='$(CXX) -shared';; +- Linux*|GNU*|QNX*|VxWorks*|Haiku*) ++ Linux*|GNU*|QNX*|VxWorks*|Haiku*|Redox*) + LDSHARED='$(CC) -shared' + LDCXXSHARED='$(CXX) -shared';; + FreeBSD*) +@@ -12839,7 +12856,7 @@ + else CCSHARED="+z"; + fi;; + Linux-android*) ;; +- Linux*|GNU*) CCSHARED="-fPIC";; ++ Linux*|GNU*|Redox*) CCSHARED="-fPIC";; + Emscripten*|WASI*) + if test "x$enable_wasm_dynamic_linking" = xyes + then : +@@ -12877,7 +12894,7 @@ + LINKFORSHARED="-Wl,-E -Wl,+s";; + # LINKFORSHARED="-Wl,-E -Wl,+s -Wl,+b\$(BINLIBDEST)/lib-dynload";; + Linux-android*) LINKFORSHARED="-pie -Xlinker -export-dynamic";; +- Linux*|GNU*) LINKFORSHARED="-Xlinker -export-dynamic";; ++ Linux*|GNU*|Redox*) LINKFORSHARED="-Xlinker -export-dynamic";; + # -u libsys_s pulls in all symbols in libsys + Darwin/*) + LINKFORSHARED="$extra_undefs -framework CoreFoundation" +diff -ruwN source/Include/pyport.h source-new/Include/pyport.h +--- source/Include/pyport.h 2023-10-02 05:48:14.000000000 -0600 ++++ source-new/Include/pyport.h 2025-09-28 13:44:57.916856922 -0600 +@@ -684,7 +684,7 @@ + # error "Py_TRACE_REFS ABI is not compatible with release and debug ABI" + #endif + +-#if defined(__ANDROID__) || defined(__VXWORKS__) ++#if defined(__ANDROID__) || defined(__VXWORKS__) || defined(__redox__) + // Use UTF-8 as the locale encoding, ignore the LC_CTYPE locale. + // See _Py_GetLocaleEncoding(), PyUnicode_DecodeLocale() + // and PyUnicode_EncodeLocale(). +diff -ruwN source/Modules/_cryptmodule.c source-new/Modules/_cryptmodule.c +--- source/Modules/_cryptmodule.c 2023-10-02 05:48:14.000000000 -0600 ++++ source-new/Modules/_cryptmodule.c 2025-09-28 13:44:57.917139387 -0600 +@@ -38,13 +38,7 @@ + /*[clinic end generated code: output=0512284a03d2803c input=0e8edec9c364352b]*/ + { + char *crypt_result; +-#ifdef HAVE_CRYPT_R +- struct crypt_data data; +- memset(&data, 0, sizeof(data)); +- crypt_result = crypt_r(word, salt, &data); +-#else + crypt_result = crypt(word, salt); +-#endif + if (crypt_result == NULL) { + return PyErr_SetFromErrno(PyExc_OSError); + } +diff -ruwN source/Modules/posixmodule.c source-new/Modules/posixmodule.c +--- source/Modules/posixmodule.c 2023-10-02 05:48:14.000000000 -0600 ++++ source-new/Modules/posixmodule.c 2025-09-28 13:44:57.918070573 -0600 +@@ -2610,8 +2610,7 @@ + #ifdef HAVE_FSTATAT + if ((dir_fd != DEFAULT_DIR_FD) || !follow_symlinks) { + if (HAVE_FSTATAT_RUNTIME) { +- result = fstatat(dir_fd, path->narrow, &st, +- follow_symlinks ? 0 : AT_SYMLINK_NOFOLLOW); ++ result = fstatat(dir_fd, path->narrow, &st, 0); + + } else { + fstatat_unavailable = 1; +@@ -3083,8 +3082,6 @@ + + if (HAVE_FACCESSAT_RUNTIME) { + int flags = 0; +- if (!follow_symlinks) +- flags |= AT_SYMLINK_NOFOLLOW; + if (effective_ids) + flags |= AT_EACCESS; + result = faccessat(dir_fd, path->narrow, mode, flags); +@@ -3369,8 +3366,7 @@ + * support dir_fd and follow_symlinks=False. (Hopefully.) + * Until then, we need to be careful what exception we raise. + */ +- result = fchmodat(dir_fd, path->narrow, mode, +- follow_symlinks ? 0 : AT_SYMLINK_NOFOLLOW); ++ result = fchmodat(dir_fd, path->narrow, mode, 0); + /* + * But wait! We can't throw the exception without allowing threads, + * and we can't do that in this nested scope. (Macro trickery, sigh.) +@@ -3747,8 +3743,7 @@ + #ifdef HAVE_FCHOWNAT + if ((dir_fd != DEFAULT_DIR_FD) || (!follow_symlinks)) { + if (HAVE_FCHOWNAT_RUNTIME) { +- result = fchownat(dir_fd, path->narrow, uid, gid, +- follow_symlinks ? 0 : AT_SYMLINK_NOFOLLOW); ++ result = fchownat(dir_fd, path->narrow, uid, gid, 0); + } else { + fchownat_unsupported = 1; + } +@@ -14598,8 +14593,7 @@ + #ifdef HAVE_FSTATAT + if (HAVE_FSTATAT_RUNTIME) { + Py_BEGIN_ALLOW_THREADS +- result = fstatat(self->dir_fd, path, &st, +- follow_symlinks ? 0 : AT_SYMLINK_NOFOLLOW); ++ result = fstatat(self->dir_fd, path, &st, 0); + Py_END_ALLOW_THREADS + } else + +diff -ruwN source/Modules/resource.c source-new/Modules/resource.c +--- source/Modules/resource.c 2023-10-02 05:48:14.000000000 -0600 ++++ source-new/Modules/resource.c 2025-09-28 13:44:57.919295094 -0600 +@@ -216,7 +216,7 @@ + { + struct rlimit rl; + +- if (resource < 0 || resource >= RLIM_NLIMITS) { ++ if (resource < 0 || resource >= RLIMIT_NLIMITS) { + PyErr_SetString(PyExc_ValueError, + "invalid resource specified"); + return NULL; +@@ -244,7 +244,7 @@ + { + struct rlimit rl; + +- if (resource < 0 || resource >= RLIM_NLIMITS) { ++ if (resource < 0 || resource >= RLIMIT_NLIMITS) { + PyErr_SetString(PyExc_ValueError, + "invalid resource specified"); + return NULL; +@@ -292,7 +292,7 @@ + struct rlimit old_limit, new_limit; + int retval; + +- if (resource < 0 || resource >= RLIM_NLIMITS) { ++ if (resource < 0 || resource >= RLIMIT_NLIMITS) { + PyErr_SetString(PyExc_ValueError, + "invalid resource specified"); + return NULL; +diff -ruwN source/Modules/timemodule.c source-new/Modules/timemodule.c +--- source/Modules/timemodule.c 2023-10-02 05:48:14.000000000 -0600 ++++ source-new/Modules/timemodule.c 2025-09-28 13:45:28.513234796 -0600 +@@ -1494,7 +1494,7 @@ + + #elif defined(HAVE_CLOCK_GETTIME) && \ + defined(CLOCK_PROCESS_CPUTIME_ID) && \ +- !defined(__EMSCRIPTEN__) && !defined(__wasi__) ++ !defined(__EMSCRIPTEN__) && !defined(__wasi__) && !defined(__redox__) + #define HAVE_THREAD_TIME + + #if defined(__APPLE__) && defined(__has_attribute) && __has_attribute(availability) diff --git a/recipes/dev/rust/.gitignore b/recipes/dev/rust/.gitignore new file mode 100644 index 00000000..0a8fbe5e --- /dev/null +++ b/recipes/dev/rust/.gitignore @@ -0,0 +1,3 @@ +/llvm-build/ +/llvm-prefix/ +/llvm-source/ diff --git a/recipes/dev/rust/config.toml b/recipes/dev/rust/config.toml new file mode 100644 index 00000000..89604cb7 --- /dev/null +++ b/recipes/dev/rust/config.toml @@ -0,0 +1,34 @@ +[llvm] +download-ci-llvm = false +static-libstdcpp = false +targets = "X86" +experimental-targets = "" +# TODO: This currently must need to be set manually. +# If you like to build llvm with sccache, uncomment: +# ccache = "sccache" + +[build] +host = ["x86_64-unknown-redox"] +target = ["x86_64-unknown-redox"] +docs = false +submodules = false +tools = ["src"] +verbose = 1 + +[install] +prefix = "install" +sysconfdir = "etc" + +[rust] +backtrace = false +codegen-tests = false + +[target.x86_64-unknown-redox] +cc = "x86_64-unknown-redox-gcc" +cxx = "x86_64-unknown-redox-g++" +ar = "x86_64-unknown-redox-ar" +linker = "x86_64-unknown-redox-gcc" +# Nasty path, please fix +llvm-config = "../../../../bin/x86_64-unknown-redox-llvm-config" +rpath = false +crt-static = false diff --git a/recipes/dev/rust/recipe.toml b/recipes/dev/rust/recipe.toml new file mode 100644 index 00000000..7b00b3e5 --- /dev/null +++ b/recipes/dev/rust/recipe.toml @@ -0,0 +1,40 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/rust.git" +branch = "redox-2025-10-03" +# due to heavy git operation, this will only clone once and will not refetch +# if you want to refetch or changing the branch, please run `make ucr.rust` +shallow_clone = true + +[build] +template = "custom" +dependencies = [ + "llvm18", + "zlib" +] +script = """ +DYNAMIC_INIT +# Linker flags for stage2 compiler (host -> target) +export LDFLAGS_x86_64_unknown_redox="${LDFLAGS}" # LLVM +export CARGO_TARGET_X86_64_UNKNOWN_REDOX_RUSTFLAGS="\ +-Clink-args=-L${COOKBOOK_SYSROOT}/lib \ +-Clink-args=-Wl,-rpath-link,${COOKBOOK_SYSROOT}/lib \ +-Clink-args=-lz" +# Don't poison the stage1 compiler (host -> host) +unset AR AS CC CXX LD LDFLAGS NM OBJCOPY OBJDUMP RANLIB READELF RUSTFLAGS STRIP +python3 "${COOKBOOK_SOURCE}/x.py" install \ + --config "${COOKBOOK_RECIPE}/config.toml" \ + --jobs $(nproc) + +mkdir -p "${COOKBOOK_STAGE}"/usr +rsync -av --delete "${COOKBOOK_BUILD}"/install/* "${COOKBOOK_STAGE}"/usr/ +# TODO: rustdoc +""" + +[package] +dependencies = [ + "cargo" +] +# TODO: Not implemented +# version_script = """ +# printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +# """ diff --git a/recipes/dev/rustpython/recipe.toml b/recipes/dev/rustpython/recipe.toml new file mode 100644 index 00000000..608dfcaf --- /dev/null +++ b/recipes/dev/rustpython/recipe.toml @@ -0,0 +1,27 @@ +[source] +git = "https://github.com/RustPython/RustPython" +# requires https://github.com/rust-lang/rust/pull/137319 +# since https://github.com/RustPython/RustPython/pull/5858 +rev = "e41d7f523a74c36b9f360d992ce0a9eb7e604c2b" + +[build] +dependencies = [ + "openssl1", + "zlib", +] +template = "custom" +script = """ +DYNAMIC_INIT + +export BUILDTIME_RUSTPYTHONPATH=/lib/rustpython +export OPENSSL_DIR="${COOKBOOK_SYSROOT}" +export ZLIB_STATIC=1 +cookbook_cargo --features ssl +mkdir -p "${COOKBOOK_STAGE}/lib" +rsync -aE \ + --exclude 'test/' \ + --exclude '__pycache__/' \ + --exclude '*.pyc' \ + --exclude '/README.md' \ + "${COOKBOOK_SOURCE}"/Lib/ "${COOKBOOK_STAGE}/lib/rustpython" +""" diff --git a/recipes/doc/book/recipe.toml b/recipes/doc/book/recipe.toml new file mode 100644 index 00000000..dee8082a --- /dev/null +++ b/recipes/doc/book/recipe.toml @@ -0,0 +1,10 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/book.git" + +[build] +template = "custom" +script = """ +dir="${COOKBOOK_STAGE}/usr/share/book" +mkdir -pv "${dir}" +mdbook build --dest-dir "${dir}" "${COOKBOOK_SOURCE}" +""" diff --git a/recipes/emulators/dosbox/01_redox.patch b/recipes/emulators/dosbox/01_redox.patch new file mode 100644 index 00000000..9de0f525 --- /dev/null +++ b/recipes/emulators/dosbox/01_redox.patch @@ -0,0 +1,24 @@ +diff -rupNw source-original/include/cross.h source/include/cross.h +--- source-original/include/cross.h 2010-05-10 19:43:54.000000000 +0200 ++++ source/include/cross.h 2018-05-04 21:14:40.397157710 +0200 +@@ -64,7 +64,7 @@ + //Solaris maybe others + #if defined (DB_HAVE_NO_POWF) + #include +-static inline float powf (float x, float y) { return (float) pow (x,y); } ++//static inline float powf (float x, float y) { return (float) pow (x,y); } + #endif + + class Cross { +diff -rupNw source-original/src/gui/sdlmain.cpp source/src/gui/sdlmain.cpp +--- source-original/src/gui/sdlmain.cpp 2010-05-10 19:43:54.000000000 +0200 ++++ source/src/gui/sdlmain.cpp 2018-05-04 21:15:31.937672555 +0200 +@@ -1518,7 +1518,7 @@ void Config_Add_SDL() { + Pstring = sdl_sec->Add_path("mapperfile",Property::Changeable::Always,MAPPERFILE); + Pstring->Set_help("File used to load/save the key/event mappings from. Resetmapper only works with the defaul value."); + +- Pbool = sdl_sec->Add_bool("usescancodes",Property::Changeable::Always,true); ++ Pbool = sdl_sec->Add_bool("usescancodes",Property::Changeable::Always,false); + Pbool->Set_help("Avoid usage of symkeys, might not work on all operating systems."); + } + diff --git a/recipes/emulators/dosbox/icon.png b/recipes/emulators/dosbox/icon.png new file mode 100644 index 00000000..91943701 Binary files /dev/null and b/recipes/emulators/dosbox/icon.png differ diff --git a/recipes/emulators/dosbox/manifest b/recipes/emulators/dosbox/manifest new file mode 100644 index 00000000..3403b71b --- /dev/null +++ b/recipes/emulators/dosbox/manifest @@ -0,0 +1,4 @@ +name=DOSBox +category=Games +binary=/bin/dosbox +icon=/ui/icons/apps/dosbox.png diff --git a/recipes/emulators/dosbox/recipe.toml b/recipes/emulators/dosbox/recipe.toml new file mode 100644 index 00000000..61e31fc9 --- /dev/null +++ b/recipes/emulators/dosbox/recipe.toml @@ -0,0 +1,33 @@ +[source] +tar = "https://sourceforge.net/projects/dosbox/files/dosbox/0.74-3/dosbox-0.74-3.tar.gz/download" +blake3 = "8bc50ffdba20579fb3080a0dca32cb939c8a3c19259aed026482c6ac069b0007" +patches = ["01_redox.patch"] +script = """ +./autogen.sh +GNU_CONFIG_GET config.sub +""" + +[build] +dependencies = [ + "liborbital", + "sdl1", +] +template = "custom" +script = """ +DYNAMIC_INIT +export CFLAGS="${CFLAGS} -I${COOKBOOK_SYSROOT}/include/SDL" +export CPPFLAGS="${CPPFLAGS} -I${COOKBOOK_SYSROOT}/include/SDL" +export LDFLAGS+=" -lorbital" +COOKBOOK_CONFIGURE_FLAGS+=( + --disable-opengl + --disable-sdltest + --with-sdl-prefix="${COOKBOOK_SYSROOT}" +) +cookbook_configure + +mkdir -pv "${COOKBOOK_STAGE}/ui/apps" +cp -v "${COOKBOOK_RECIPE}/manifest" "${COOKBOOK_STAGE}/ui/apps/dosbox" + +mkdir -pv "${COOKBOOK_STAGE}/ui/icons/apps" +cp -v "${COOKBOOK_RECIPE}/icon.png" "${COOKBOOK_STAGE}/ui/icons/apps/dosbox.png" +""" diff --git a/recipes/emulators/flycast/recipe.toml b/recipes/emulators/flycast/recipe.toml new file mode 100644 index 00000000..7277aa1e --- /dev/null +++ b/recipes/emulators/flycast/recipe.toml @@ -0,0 +1,60 @@ +[source] +git = "https://github.com/jackpot51/flycast.git" + +[build] +template = "custom" +dependencies = [ + "curl", + "libiconv", + "liborbital", + "llvm18", + "mesa", + "nghttp2", + "openssl1", + "sdl2", + "zlib", +] +script = """ +DYNAMIC_INIT +export CFLAGS="${CFLAGS} -I${COOKBOOK_SYSROOT}/usr/include/SDL2" +export CXXFLAGS="${CXXFLAGS} -D_GLIBCXX_USE_C99_MATH_TR1=1 -I${COOKBOOK_SYSROOT}/usr/include/SDL2" +#TODO: don't use this +export SDL_LIBS="-lSDL2 -lorbital $("${TARGET}-pkg-config" --libs osmesa) -lstdc++" +#TODO: don't add curl +export SDL_LIBS="${SDL_LIBS} -lcurl -lnghttp2 -lssl -lcrypto" +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_VERBOSE_MAKEFILE=On + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_BUILD_TYPE=RelWithDebInfo + -DCMAKE_INSTALL_PREFIX="/usr" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DREDOX=1 + -DUNIX=1 + -DUSE_HOST_LIBZIP=OFF + -DUSE_OPENMP=OFF + -DUSE_VULKAN=OFF + -DZLIB_LIBRARY="-lz" + + # Hacks for cmake errors + -DHAVE___INT8_LIBZIP=False + -DHAVE___INT16_LIBZIP=False + -DHAVE___INT32_LIBZIP=False + -DHAVE___INT64_LIBZIP=False + -DHAVE_FICLONERANGE=False + -DHAVE_NULLABLE=False + + # Hack for Threads + -DCMAKE_THREAD_LIBS_INIT="-lc" + -DCMAKE_HAVE_THREADS_LIBRARY=1 + -DCMAKE_USE_WIN32_THREADS_INIT=0 + -DCMAKE_USE_PTHREADS_INIT=1 + -DTHREADS_PREFER_PTHREAD_FLAG=ON + + "${COOKBOOK_SOURCE}" +) +cookbook_configure +# appstream generation broken +rm -rf "${COOKBOOK_STAGE}/usr/share/metainfo" +""" diff --git a/recipes/emulators/libretro-super/recipe.toml b/recipes/emulators/libretro-super/recipe.toml new file mode 100644 index 00000000..b75ec627 --- /dev/null +++ b/recipes/emulators/libretro-super/recipe.toml @@ -0,0 +1,24 @@ +[source] +git = "https://github.com/jackpot51/libretro-super.git" + +[build] +template = "custom" +dependencies = [ + "zlib", +] +script = """ +CORES=( + snes9x +) + +pushd "${COOKBOOK_SOURCE}" +./libretro-fetch.sh "${CORES[@]}" +popd + +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ + +export platform=Redox +export STATIC_LINKING=1 +./libretro-build.sh "${CORES[@]}" +./libretro-install.sh "${COOKBOOK_STAGE}/share/libretro" +""" diff --git a/recipes/emulators/mednafen/recipe.toml b/recipes/emulators/mednafen/recipe.toml new file mode 100644 index 00000000..0f29da6a --- /dev/null +++ b/recipes/emulators/mednafen/recipe.toml @@ -0,0 +1,26 @@ +[source] +tar = "https://mednafen.github.io/releases/files/mednafen-1.29.0.tar.xz" +blake3 = "c75c1044cdc9328b2349915a67972d6135c77eb53eb0d995788f22b7daacf79b" +patches = [ + "redox.patch", +] + +[build] +template = "custom" +dependencies = [ + #TODO: libflac + "libiconv", + "liborbital", + "llvm18", + "mesa", + "sdl2", + "zlib", +] +script = """ +DYNAMIC_INIT +export SDL_LIBS="-lSDL2 -lorbital $("${TARGET}-pkg-config" --libs osmesa) -lstdc++" +COOKBOOK_CONFIGURE_FLAGS+=( + --without-libflac +) +cookbook_configure +""" \ No newline at end of file diff --git a/recipes/emulators/mednafen/redox.patch b/recipes/emulators/mednafen/redox.patch new file mode 100644 index 00000000..ea58184b --- /dev/null +++ b/recipes/emulators/mednafen/redox.patch @@ -0,0 +1,13 @@ +diff -ruwN source-old/src/sound/SwiftResampler.cpp source/src/sound/SwiftResampler.cpp +--- source-old/src/sound/SwiftResampler.cpp 2022-01-18 14:16:23.000000000 -0700 ++++ source/src/sound/SwiftResampler.cpp 2022-12-16 20:01:02.263159230 -0700 +@@ -608,6 +608,9 @@ + + if(hp_tc > 0) + { ++#ifndef M_E ++#define M_E 2.7182818284590452354 ++#endif + double tdm = (pow(2.0 - pow(M_E, -1.0), 1.0 / (hp_tc * output_rate)) - 1.0); + + //printf("%f\n", tdm); diff --git a/recipes/emulators/mgba/recipe.toml b/recipes/emulators/mgba/recipe.toml new file mode 100644 index 00000000..b61b7bd0 --- /dev/null +++ b/recipes/emulators/mgba/recipe.toml @@ -0,0 +1,18 @@ +[source] +tar = "https://github.com/mgba-emu/mgba/archive/0.10.5.tar.gz" +blake3 = "a1b9e797a5058f5264d276805aef5643b7ea460916e491a0098ba32d87f1519e" +patches = ["redox.patch"] + +[build] +dependencies = ["libiconv", "liborbital", "libpng", "pixman", "sdl1", "zlib"] +template = "cmake" +cmakeflags = [ + "-DBUILD_QT=OFF", + "-DBUILD_SHARED=ON", + "-DBUILD_STATIC=OFF", + "-DUSE_SQLITE3=OFF", + "-DUSE_DEBUGGERS=OFF", + "-DBUILD_SDL=ON", + "-DSDL_VERSION=1.2", + "-DSDL_LIBRARY=-lSDL -lorbital", +] diff --git a/recipes/emulators/mgba/redox.patch b/recipes/emulators/mgba/redox.patch new file mode 100644 index 00000000..33b1a4da --- /dev/null +++ b/recipes/emulators/mgba/redox.patch @@ -0,0 +1,12 @@ +diff -ruwN mgba-0.10.5/src/third-party/zlib/contrib/minizip/ioapi.h source/src/third-party/zlib/contrib/minizip/ioapi.h +--- mgba-0.10.5/src/third-party/zlib/contrib/minizip/ioapi.h 2025-03-08 20:09:26.000000000 -0700 ++++ source/src/third-party/zlib/contrib/minizip/ioapi.h 2025-06-13 13:07:13.489517096 -0600 +@@ -50,7 +50,7 @@ + #define ftello64 ftell + #define fseeko64 fseek + #else +-#ifdef __FreeBSD__ ++#if defined(__FreeBSD__) || defined(__redox__) + #define fopen64 fopen + #define ftello64 ftello + #define fseeko64 fseeko diff --git a/recipes/emulators/mupen64plus/recipe.toml b/recipes/emulators/mupen64plus/recipe.toml new file mode 100644 index 00000000..d28ca0bc --- /dev/null +++ b/recipes/emulators/mupen64plus/recipe.toml @@ -0,0 +1,35 @@ +[source] +tar = "https://github.com/mupen64plus/mupen64plus-core/releases/download/2.6.0/mupen64plus-core-src-2.6.0.tar.gz" +blake3 = "faef6f557b32165adf5ad7f12a22f1dfda98893f59cbf910b697a86e610652a9" + +[build] +template = "custom" +dependencies = [ + "freetype2", + "liborbital", + "libpng", + "llvm18", + "mesa", + "mesa-glu", + "sdl2", + "zlib", +] +script = """ +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ +#TODO: support Redox in UNAME +"${COOKBOOK_MAKE}" \ + CROSS_COMPILE="${TARGET}-" \ + GLES_LIB="" \ + GL_CFLAGS="$("${TARGET}-pkg-config" --cflags osmesa)" \ + GL_LDLIBS="$("${TARGET}-pkg-config" --libs osmesa)" \ + HOST_CPU="${TARGET%%-*}" \ + SDL_CFLAGS="$("${TARGET}-pkg-config" --cflags sdl2)" \ + SDL_LDFLAGS="$("${TARGET}-pkg-config" --libs sdl2)" \ + UNAME=Linux \ + USE_GLES=1 \ + V=1 \ + VULKAN=0 \ + -C projects/unix \ + -j "${COOKBOOK_MAKE_JOBS}" \ + all +""" diff --git a/recipes/emulators/retroarch/recipe.toml b/recipes/emulators/retroarch/recipe.toml new file mode 100644 index 00000000..e830377e --- /dev/null +++ b/recipes/emulators/retroarch/recipe.toml @@ -0,0 +1,43 @@ +[source] +git = "https://github.com/jackpot51/retroarch.git" + +[build] +template = "custom" +dependencies = [ + "liborbital", + "libretro-super", + "llvm18", + "mesa", + "openssl1", + "sdl2", + "zlib", +] +script = """ +pushd "${COOKBOOK_SOURCE}" +./fetch-submodules.sh +popd + +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ + +# For now, we will statically link with the snes9x libretro +mkdir -pv "${COOKBOOK_SYSROOT}/lib" +cp -v "${COOKBOOK_SYSROOT}/share/libretro/snes9x_libretro.a" "${COOKBOOK_SYSROOT}/lib/libretro.a" + +COOKBOOK_CONFIGURE_FLAGS=( + --host="${TARGET}" + --prefix="/" + --disable-builtinzlib # conflicts with zlib + --disable-discord # does not link + --disable-dylib + --disable-dynamic + --disable-netplaydiscovery # missing ifaddrs.h + --disable-thread_storage # crash in pthread_setspecific called by sthread_tls_set + --disable-threads # prevents hang + --enable-opengl + --enable-sdl2 + --enable-ssl + --enable-zlib + --with-libretro="-lretro -lstdc++ -lz" +) +cookbook_configure +""" diff --git a/recipes/emulators/rs-nes/recipe.toml b/recipes/emulators/rs-nes/recipe.toml new file mode 100755 index 00000000..26381d89 --- /dev/null +++ b/recipes/emulators/rs-nes/recipe.toml @@ -0,0 +1,8 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/rs-nes.git" +#git_upstream = "https://github.com/bgourlie/rs-nes.git" +[build] +template = "cargo" +dependencies = [ + "orbital" +] diff --git a/recipes/emulators/rust64/recipe.toml b/recipes/emulators/rust64/recipe.toml new file mode 100755 index 00000000..47207fc5 --- /dev/null +++ b/recipes/emulators/rust64/recipe.toml @@ -0,0 +1,8 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/rust64.git" +#git_upstream = "https://github.com/kondrak/rust64.git" +[build] +template = "cargo" +dependencies = [ + "orbital" +] diff --git a/recipes/emulators/rustual-boy/recipe.toml b/recipes/emulators/rustual-boy/recipe.toml new file mode 100755 index 00000000..076e1ee5 --- /dev/null +++ b/recipes/emulators/rustual-boy/recipe.toml @@ -0,0 +1,16 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/rustual-boy.git" +upstream = "https://github.com/emu-rs/rustual-boy.git" +branch = "redox" + +[build] +template = "custom" +script = """ +COOKBOOK_SOURCE="${COOKBOOK_SOURCE}/rustual-boy-cli" +cookbook_cargo +""" + +[package] +dependencies = [ + "orbital", +] \ No newline at end of file diff --git a/recipes/emulators/rvvm/recipe.toml b/recipes/emulators/rvvm/recipe.toml new file mode 100644 index 00000000..c98185fb --- /dev/null +++ b/recipes/emulators/rvvm/recipe.toml @@ -0,0 +1,36 @@ +[source] +git = "https://github.com/LekKit/RVVM.git" +upstream = "https://github.com/LekKit/RVVM" + +[build] +template = "custom" + +# SDL2 is tough to link statically, use SDL1 for now +dependencies = [ + "sdl1", + "liborbital", +] + +script = """ + +export BUILDDIR="${COOKBOOK_BUILD}" +export DESTDIR="${COOKBOOK_STAGE}" + +# Redox currently doesn't support dynamic library loading +export LDFLAGS="${LDFLAGS} $(pkg-config --libs sdl)" + +# Networking is currently broken on Redox (missing setsockopt?) +export USE_NET=0 + +# Use SDL1 +export USE_SDL=1 + +# Building a shared library is currently broken on Redox +export USE_LIB=0 + +export OS=Redox + +# Let's goo +"${COOKBOOK_MAKE}" install -C "${COOKBOOK_SOURCE}" + +""" diff --git a/recipes/emulators/scummvm/recipe.toml b/recipes/emulators/scummvm/recipe.toml new file mode 100644 index 00000000..fe8b377b --- /dev/null +++ b/recipes/emulators/scummvm/recipe.toml @@ -0,0 +1,34 @@ +[source] +tar = "https://downloads.scummvm.org/frs/scummvm/2.0.0/scummvm-2.0.0.tar.xz" +blake3 = "02e6791fd43ad3cb4238c07d23350ca1459a0f692689e585dba1d46648f64327" +patches = ["redox.patch"] +script = """ +GNU_CONFIG_GET config.sub +""" + +[build] +template = "custom" +dependencies = [ + "sdl1", + "liborbital", + "freetype2", + "zlib", + "libpng", +] +script = """ +DYNAMIC_INIT + +export LDFLAGS+=" -lorbital" +COOKBOOK_CONFIGURE_FLAGS=( + --host="${TARGET}" + --prefix="/usr" + --with-sdl-prefix="${COOKBOOK_SYSROOT}" + --with-freetype2-prefix="${COOKBOOK_SYSROOT}" + --with-png-prefix="${COOKBOOK_SYSROOT}" + --with-zlib-prefix="${COOKBOOK_SYSROOT}" + --disable-timidity + --disable-mt32emu +) + +cookbook_configure +""" \ No newline at end of file diff --git a/recipes/emulators/scummvm/redox.patch b/recipes/emulators/scummvm/redox.patch new file mode 100644 index 00000000..153b7f5e --- /dev/null +++ b/recipes/emulators/scummvm/redox.patch @@ -0,0 +1,24 @@ +diff -rupNw source-original/common/stream.cpp source/common/stream.cpp +--- source-original/common/stream.cpp 2017-12-08 23:21:10.000000000 +0100 ++++ source/common/stream.cpp 2018-12-06 02:01:50.454108198 +0100 +@@ -95,7 +95,7 @@ bool MemoryReadStream::seek(int32 offs, + break; + } + // Post-Condition +- assert(_pos <= _size); ++ //assert(_pos <= _size); + + // Reset end-of-stream flag on a successful seek + _eos = false; +diff -rupNw source-original/configure source/configure +--- source-original/configure 2017-12-08 23:21:13.000000000 +0100 ++++ source/configure 2018-12-06 02:01:50.458108239 +0100 +@@ -3610,7 +3610,7 @@ case $_host_os in + amigaos* | cygwin* | dreamcast | ds | gamecube | mingw* | n64 | ps2 | ps3 | psp2 | psp | wii | wince) + _posix=no + ;; +- 3ds | android | androidsdl | beos* | bsd* | darwin* | freebsd* | gnu* | gph-linux | haiku* | hpux* | iphone | ios7 | irix*| k*bsd*-gnu* | linux* | maemo | mint* | netbsd* | openbsd* | riscos | solaris* | sunos* | uclinux* | webos) ++ 3ds | android | androidsdl | beos* | bsd* | darwin* | freebsd* | gnu* | gph-linux | haiku* | hpux* | iphone | ios7 | irix*| k*bsd*-gnu* | linux* | maemo | mint* | netbsd* | openbsd* | riscos | redox* | solaris* | sunos* | uclinux* | webos) + _posix=yes + ;; + os2-emx*) diff --git a/recipes/fonts/dejavu/recipe.toml b/recipes/fonts/dejavu/recipe.toml new file mode 100644 index 00000000..c97c6db1 --- /dev/null +++ b/recipes/fonts/dejavu/recipe.toml @@ -0,0 +1,15 @@ +[source] +tar="http://sourceforge.net/projects/dejavu/files/dejavu/2.37/dejavu-fonts-ttf-2.37.tar.bz2" +blake3="b702bac8a0f8e0802758549da3b4d8041c3c83c3894e1e8a960eab53af18cce8" + +[build] +template = "custom" +script = """ +#TODO: Mono style included in Sans directory +for style in Sans Serif +do + DEST="${COOKBOOK_STAGE}/ui/fonts/${style}/DejaVu" + mkdir -pv "${DEST}" + cp -v "${COOKBOOK_SOURCE}/ttf/DejaVu${style}"*".ttf" "${DEST}" +done +""" diff --git a/recipes/fonts/freefont/recipe.toml b/recipes/fonts/freefont/recipe.toml new file mode 100644 index 00000000..a9a67d20 --- /dev/null +++ b/recipes/fonts/freefont/recipe.toml @@ -0,0 +1,14 @@ +[source] +tar="https://ftp.gnu.org/gnu/freefont/freefont-otf-20120503.tar.gz" +blake3="e950397741d84981106cf648fbc143c7827b61d637c86c916232d47aabdfe253" + +[build] +template = "custom" +script = """ +for style in Mono Sans Serif +do + DEST="${COOKBOOK_STAGE}/ui/fonts/${style}/FreeFont" + mkdir -pv "${DEST}" + cp -v "${COOKBOOK_SOURCE}/Free${style}"*".otf" "${DEST}" +done +""" diff --git a/recipes/fonts/ibm-plex/recipe.toml b/recipes/fonts/ibm-plex/recipe.toml new file mode 100644 index 00000000..5f68ac6f --- /dev/null +++ b/recipes/fonts/ibm-plex/recipe.toml @@ -0,0 +1,14 @@ +[source] +tar="https://github.com/IBM/plex/archive/refs/tags/v6.3.0.tar.gz" +blake3="6c67f5bf8069762eea1e31f5cca5b4e6f57ea1151b34b338046c7976072ccdef" + +[build] +template = "custom" +script = """ +for style in Mono Sans Serif +do + DEST="${COOKBOOK_STAGE}/ui/fonts/${style}/IBM-Plex" + mkdir -pv "${DEST}" + cp -v "${COOKBOOK_SOURCE}/IBM-Plex-${style}/fonts/complete/ttf/"*".ttf" "${DEST}" +done +""" diff --git a/recipes/fonts/intel-one-mono/recipe.toml b/recipes/fonts/intel-one-mono/recipe.toml new file mode 100644 index 00000000..a6dab3ae --- /dev/null +++ b/recipes/fonts/intel-one-mono/recipe.toml @@ -0,0 +1,11 @@ +[source] +tar="https://github.com/intel/intel-one-mono/archive/refs/tags/V1.3.0.tar.gz" +blake3="9caff71b0a9fe8627253c55889964612ea4ae144584a283cd2fe88b7a14a4140" + +[build] +template = "custom" +script = """ +DEST="${COOKBOOK_STAGE}/ui/fonts/Mono/Intel-One" +mkdir -pv "${DEST}" +cp -v "${COOKBOOK_SOURCE}/fonts/ttf/"*".ttf" "${DEST}" +""" diff --git a/recipes/fonts/noto-color-emoji/recipe.toml b/recipes/fonts/noto-color-emoji/recipe.toml new file mode 100644 index 00000000..7076bb1d --- /dev/null +++ b/recipes/fonts/noto-color-emoji/recipe.toml @@ -0,0 +1,10 @@ +[source] +git = "https://github.com/googlefonts/noto-emoji" +rev = "e8073ab740292f8d5f19b5de144087ac58044d06" +[build] +template = "custom" +script = """ +DEST="${COOKBOOK_STAGE}/ui/fonts/Emoji/Noto" +mkdir -pv "${DEST}" +cp -v "${COOKBOOK_SOURCE}/fonts/NotoColorEmoji.ttf" "${DEST}" +""" diff --git a/recipes/fonts/ttf-hack/recipe.toml b/recipes/fonts/ttf-hack/recipe.toml new file mode 100644 index 00000000..428dabd7 --- /dev/null +++ b/recipes/fonts/ttf-hack/recipe.toml @@ -0,0 +1,11 @@ +[source] +tar = "https://github.com/source-foundry/Hack/releases/download/v3.003/Hack-v3.003-ttf.tar.xz" +blake3 = "acd40f61f6f512b0808d4bf530ab4aeb5a8ec3aa1f65bf5a1d08964d1bc3d044" + +[build] +template = "custom" +script = """ +for file in "${COOKBOOK_SOURCE}"/*.ttf; do + install -D -m 644 "$file" "${COOKBOOK_STAGE}/ui/fonts/Mono/Hack/$(basename "$file")" +done +""" \ No newline at end of file diff --git a/recipes/games/classicube/manifest b/recipes/games/classicube/manifest new file mode 100644 index 00000000..681eca1b --- /dev/null +++ b/recipes/games/classicube/manifest @@ -0,0 +1,4 @@ +name=ClassiCube +category=Games +binary=/usr/games/classicube/ClassiCube +icon=/ui/icons/apps/classicube.png diff --git a/recipes/games/classicube/recipe.toml b/recipes/games/classicube/recipe.toml new file mode 100644 index 00000000..d78d3c5a --- /dev/null +++ b/recipes/games/classicube/recipe.toml @@ -0,0 +1,26 @@ +[source] +git = "https://github.com/jackpot51/ClassiCube.git" + +[build] +template = "custom" +dependencies = [ + "liborbital", + "llvm18", + "mesa", + "sdl2", + "zlib", +] +script = """ +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ + +"${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}" -C src redox + +mkdir -pv "${COOKBOOK_STAGE}/usr/games/classicube" +cp -v "src/ClassiCube" "${COOKBOOK_STAGE}/usr/games/classicube" + +mkdir -pv "${COOKBOOK_STAGE}/ui/apps" +cp -v "${COOKBOOK_RECIPE}/manifest" "${COOKBOOK_STAGE}/ui/apps/classicube" + +mkdir -pv "${COOKBOOK_STAGE}/ui/icons/apps" +cp -v "${COOKBOOK_SOURCE}/misc/CCicon.png" "${COOKBOOK_STAGE}/ui/icons/apps/classicube.png" +""" diff --git a/recipes/games/devilutionx/recipe.toml b/recipes/games/devilutionx/recipe.toml new file mode 100644 index 00000000..d6ac4ff7 --- /dev/null +++ b/recipes/games/devilutionx/recipe.toml @@ -0,0 +1,37 @@ +[source] +tar = "https://github.com/diasurgical/devilutionX/archive/refs/tags/1.5.4.tar.gz" +blake3 = "d4a61ff3a7c69d86a29158918aad48ab9c4866c6a22a3e8da5feadbb7d23b3ca" + +[build] +template = "custom" +dependencies = [ + "bzip2", + "libiconv", + "liborbital", + "sdl1", + "zlib", +] +script = """ +DYNAMIC_INIT + +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DBUILD_TESTING=OFF + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=ON + -DCMAKE_CXX_COMPILER="${TARGET}-g++" + -DCMAKE_C_COMPILER="${TARGET}-gcc" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_VERBOSE_MAKEFILE=ON + -DDEVILUTIONX_SYSTEM_BZIP2=ON + -DDEVILUTIONX_SYSTEM_ZLIB=ON + -DNONET=ON + -DSDL_LIBRARY="-lSDL -lorbital" + -DUSE_SDL1=ON + "${COOKBOOK_SOURCE}" +) +cookbook_configure +mkdir -v "${COOKBOOK_STAGE}/bin" +cp -v devilutionx "${COOKBOOK_STAGE}/bin" +""" diff --git a/recipes/games/eduke32/icon.png b/recipes/games/eduke32/icon.png new file mode 100644 index 00000000..4cbfd165 Binary files /dev/null and b/recipes/games/eduke32/icon.png differ diff --git a/recipes/games/eduke32/manifest b/recipes/games/eduke32/manifest new file mode 100644 index 00000000..27dfe096 --- /dev/null +++ b/recipes/games/eduke32/manifest @@ -0,0 +1,4 @@ +name=EDuke32 +category=Games +binary=/usr/games/eduke32 +icon=/ui/icons/apps/eduke32.png diff --git a/recipes/games/eduke32/recipe.toml b/recipes/games/eduke32/recipe.toml new file mode 100644 index 00000000..2cc38c16 --- /dev/null +++ b/recipes/games/eduke32/recipe.toml @@ -0,0 +1,36 @@ +[source] +tar = "https://dukeworld.com/eduke32/synthesis/20181010-7067/eduke32_src_20181010-7067.tar.xz" +blake3 = "b0b759fe9ca51849f42669e4832ae1ae1f9ad7938529769108f7cf6a6a176558" +patches = ["redox.patch"] + +[build] +dependencies = [ + "sdl1", + "sdl1-mixer", + "liborbital", + "libiconv", + "libogg", + "libvorbis", +] +template = "custom" +script = """ +DYNAMIC_INIT + +# Copy source to build directory +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ + +export CFLAGS="${CFLAGS} -I${COOKBOOK_SYSROOT}/include/SDL" +export SDLCONFIG="${COOKBOOK_SYSROOT}/bin/sdl-config --prefix=${COOKBOOK_SYSROOT}" + +PLATFORM=REDOX "${COOKBOOK_MAKE}" -j"$($NPROC)" + +mkdir -pv "${COOKBOOK_STAGE}/usr/games" +cp -v ./eduke32 "${COOKBOOK_STAGE}/usr/games/eduke32" +cp -v ./mapster32 "${COOKBOOK_STAGE}/usr/games/mapster32" + +mkdir -pv "${COOKBOOK_STAGE}/ui/apps" +cp -v "${COOKBOOK_RECIPE}/manifest" "${COOKBOOK_STAGE}/ui/apps/eduke32" + +mkdir -pv "${COOKBOOK_STAGE}/ui/icons/apps" +cp -v "${COOKBOOK_RECIPE}/icon.png" "${COOKBOOK_STAGE}/ui/icons/apps/eduke32.png" +""" diff --git a/recipes/games/eduke32/redox.patch b/recipes/games/eduke32/redox.patch new file mode 100644 index 00000000..5d5fa8af --- /dev/null +++ b/recipes/games/eduke32/redox.patch @@ -0,0 +1,158 @@ +diff -rupwN source/Common.mak source-new/Common.mak +--- source/Common.mak 2018-07-14 15:36:44.000000000 -0600 ++++ source-new/Common.mak 2023-01-20 10:38:24.948044222 -0700 +@@ -93,7 +93,7 @@ endif + + ##### Makefile meta-settings + +-PRETTY_OUTPUT := 1 ++PRETTY_OUTPUT := 0 + + NULLSTREAM := /dev/null + +@@ -172,6 +172,10 @@ ifeq ($(PLATFORM),WII) + CCFULLPATH = $(DEVKITPPC)/bin/$(CC) + endif + ++ifeq ($(PLATFORM),REDOX) ++ CROSS := $(TARGET)- ++endif ++ + CC := $(CROSS)gcc$(CROSS_SUFFIX) + CXX := $(CROSS)g++$(CROSS_SUFFIX) + +@@ -383,6 +387,16 @@ else ifeq ($(PLATFORM),$(filter $(PLATFO + override NOASM := 1 + else ifeq ($(PLATFORM),$(filter $(PLATFORM),BEOS SKYOS)) + override NOASM := 1 ++else ifeq ($(PLATFORM),REDOX) ++ override HAVE_FLAC := 0 ++ override HAVE_GTK2 := 0 ++ override HAVE_XMP := 0 ++ override MIXERTYPE := SDL ++ override NETCODE := 0 ++ override NOASM := 1 ++ override USE_OPENGL := 0 ++ OPTOPT := -mtune=generic ++ SDL_TARGET := 1 + endif + + ifneq (i386,$(strip $(IMPLICIT_ARCH))) +@@ -868,7 +882,7 @@ ifeq ($(RENDERTYPE),SDL) + SDLCONFIG := sdl2-config + SDLNAME := SDL2 + else ifeq ($(SDL_TARGET),1) +- SDLCONFIG := sdl-config ++ #SDLCONFIG := sdl-config + SDLNAME := SDL + ifeq (0,$(RELEASE)) + COMPILERFLAGS += -DNOSDLPARACHUTE +@@ -957,9 +971,11 @@ else ifeq ($(PLATFORM),WII) + LIBS += -laesnd_tueidj -lfat -lwiiuse -lbte -lwiikeyboard -logc + else ifeq ($(SUBPLATFORM),LINUX) + LIBS += -lrt ++else ifeq ($(PLATFORM),REDOX) ++ LIBS += -lorbital -lvorbisfile -lvorbis -logg + endif + +-ifeq (,$(filter $(PLATFORM),WINDOWS WII)) ++ifeq (,$(filter $(PLATFORM),WINDOWS WII REDOX)) + ifneq ($(PLATFORM),BSD) + LIBS += -ldl + endif +Binary files source/.Common.mak.swp and source-new/.Common.mak.swp differ +diff -rupwN source/source/build/include/compat.h source-new/source/build/include/compat.h +--- source/source/build/include/compat.h 2018-10-06 23:21:24.000000000 -0600 ++++ source-new/source/build/include/compat.h 2023-01-20 10:31:10.843745693 -0700 +@@ -7,6 +7,9 @@ + + #pragma once + ++# define B_LITTLE_ENDIAN 1 ++# define B_BIG_ENDIAN 0 ++ + #ifdef _WIN32 + # include "windows_inc.h" + #endif +@@ -400,6 +403,7 @@ defined __x86_64__ || defined __amd64__ + #include + #include + #include ++#include + + #include + #include +@@ -542,8 +546,8 @@ typedef FILE BFILE; + # define BS_IWRITE S_IWUSR + # define BS_IREAD S_IRUSR + #else +-# define BS_IWRITE S_IWRITE +-# define BS_IREAD S_IREAD ++# define BS_IWRITE S_IWUSR ++# define BS_IREAD S_IRUSR + #endif + + #if defined(__cplusplus) && defined(_MSC_VER) +diff -rupwN source/source/build/src/baselayer.cpp source-new/source/build/src/baselayer.cpp +--- source/source/build/src/baselayer.cpp 2018-10-06 23:21:43.000000000 -0600 ++++ source-new/source/build/src/baselayer.cpp 2023-01-20 10:31:49.591772332 -0700 +@@ -498,7 +498,7 @@ int32_t baselayer_init(void) + + void maybe_redirect_outputs(void) + { +-#if !(defined __APPLE__ && defined __BIG_ENDIAN__) ++#if 0 + char *argp; + + // pipe standard outputs to files +diff -rupwN source/source/build/src/sdlayer.cpp source-new/source/build/src/sdlayer.cpp +--- source/source/build/src/sdlayer.cpp 2018-10-06 23:23:44.000000000 -0600 ++++ source-new/source/build/src/sdlayer.cpp 2023-01-20 10:30:49.223730830 -0700 +@@ -305,7 +305,7 @@ void wm_setapptitle(const char *name) + // + + /* XXX: libexecinfo could be used on systems without gnu libc. */ +-#if !defined _WIN32 && defined __GNUC__ && !defined __OpenBSD__ && !(defined __APPLE__ && defined __BIG_ENDIAN__) && !defined GEKKO && !defined EDUKE32_TOUCH_DEVICES && !defined __OPENDINGUX__ ++#if 0 + # define PRINTSTACKONSEGV 1 + # include + #endif +diff -rupwN source/source/duke3d/src/common.cpp source-new/source/duke3d/src/common.cpp +--- source/source/duke3d/src/common.cpp 2018-10-06 23:20:23.000000000 -0600 ++++ source-new/source/duke3d/src/common.cpp 2023-01-20 10:30:49.223730830 -0700 +@@ -1173,6 +1173,7 @@ int32_t S_OpenAudio(const char *fn, char + Bfree(testfn); + return origfp; + } ++#endif + + void Duke_CommonCleanup(void) + { +@@ -1181,4 +1182,3 @@ void Duke_CommonCleanup(void) + DO_FREE_AND_NULL(g_rtsNamePtr); + } + +-#endif +diff -rupwN source/source/duke3d/src/game.cpp source-new/source/duke3d/src/game.cpp +--- source/source/duke3d/src/game.cpp 2018-10-06 23:23:48.000000000 -0600 ++++ source-new/source/duke3d/src/game.cpp 2023-01-20 10:30:49.223730830 -0700 +@@ -6697,7 +6697,7 @@ MAIN_LOOP_RESTART: + static char buf[128]; + #ifndef GEKKO + int32_t flag = 1; +- ioctl(0, FIONBIO, &flag); ++ //ioctl(0, FIONBIO, &flag); + #endif + if ((nb = read(0, &ch, 1)) > 0 && bufpos < sizeof(buf)) + { +diff -rupwN source/source/enet/include/enet/unix.h source-new/source/enet/include/enet/unix.h +--- source/source/enet/include/enet/unix.h 2014-06-16 17:16:08.000000000 -0600 ++++ source-new/source/enet/include/enet/unix.h 2023-01-20 10:30:49.223730830 -0700 +@@ -6,6 +6,7 @@ + #define __ENET_UNIX_H__ + + #include ++#include + #include + #include + #if defined(GEKKO) diff --git a/recipes/games/freeciv/recipe.toml b/recipes/games/freeciv/recipe.toml new file mode 100644 index 00000000..a8278204 --- /dev/null +++ b/recipes/games/freeciv/recipe.toml @@ -0,0 +1,52 @@ +[source] +tar = "https://files.freeciv.org/stable/freeciv-3.1.4.tar.xz" +blake3 = "212630af5e50fb72662ca62a71cdd57318d0cf309b53e46377dd24c8199923a4" + +[build] +dependencies = [ + "curl", + "freetype2", + "libiconv", + "libicu", + "liborbital", + "libjpeg", + "libpng", + "llvm18", + "openssl1", + "mesa", + "nghttp2", + "sdl2", + "sdl2-gfx", + "sdl2-image", + "sdl2-ttf", + "zlib", +] +template = "custom" +script = """ +DYNAMIC_INIT +export CURL_LIBS="-lcurl -lnghttp2 -lssl -lcrypto" +export CURL_MIME_API_LIBS="${CURL_LIBS}" +export ICU_LIBS="-licuuc -licudata -lstdc++" +export SDL2_LIBS="\ + -lSDL2_gfx \ + -lSDL2_image \ + -lSDL2_ttf \ + -lSDL2 \ + -lorbital \ + $("${PKG_CONFIG}" --libs osmesa) \ + -ljpeg \ + -lpng \ + -lz \ +" +COOKBOOK_CONFIGURE_FLAGS+=( + --enable-fcdb=no + --enable-fcmp=no + --enable-ipv6=no + --enable-client=sdl2 + ac_cv_lib_SDL2_gfx_rotozoomSurface=yes + ac_cv_lib_SDL2_image_IMG_Load=yes + ac_cv_lib_SDL2_ttf_TTF_OpenFont=yes +) +export V=1 +cookbook_configure +""" diff --git a/recipes/games/freedoom/recipe.toml b/recipes/games/freedoom/recipe.toml new file mode 100644 index 00000000..fdba3bed --- /dev/null +++ b/recipes/games/freedoom/recipe.toml @@ -0,0 +1,33 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/freedoom.git" + +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}/usr/games" "${COOKBOOK_STAGE}/share/games/doom" "${COOKBOOK_STAGE}/ui/apps" "${COOKBOOK_STAGE}/ui/icons/apps" +for file in "${COOKBOOK_SOURCE}/"*.wad +do + game="$(basename "$file" .wad)" + + wad="/share/games/doom/$game.wad" + cp -v "$file" "${COOKBOOK_STAGE}$wad" + + bin="/usr/games/$game" + echo "#!/bin/ion" > "${COOKBOOK_STAGE}$bin" + echo "/usr/games/prboom -geom 800x600 -vidmode 32 -iwad $wad" >> "${COOKBOOK_STAGE}$bin" + chmod +x "${COOKBOOK_STAGE}$bin" + + echo "name=$game" | sed 's/freedoom/FreeDOOM: Phase /' | sed 's/doom1/DOOM (Shareware)/' > "${COOKBOOK_STAGE}/ui/apps/$game" + echo "category=Games" >> "${COOKBOOK_STAGE}/ui/apps/$game" + echo "binary=/usr/games/$game" >> "${COOKBOOK_STAGE}/ui/apps/$game" + echo "icon=/ui/icons/apps/$game.png" >> "${COOKBOOK_STAGE}/ui/apps/$game" + + cp -v "${COOKBOOK_SOURCE}/$game.png" "${COOKBOOK_STAGE}/ui/icons/apps/$game.png" +done +""" + +[package] +dependencies = [ + "ion", + "prboom", +] diff --git a/recipes/games/game-2048/recipe.toml b/recipes/games/game-2048/recipe.toml new file mode 100644 index 00000000..f1ff19de --- /dev/null +++ b/recipes/games/game-2048/recipe.toml @@ -0,0 +1,5 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/2048-rs.git" +#git_upstream = "https://github.com/pierrechevalier83/2048-rs.git" +[build] +template = "cargo" diff --git a/recipes/games/gigalomania/manifest b/recipes/games/gigalomania/manifest new file mode 100644 index 00000000..94fb93b6 --- /dev/null +++ b/recipes/games/gigalomania/manifest @@ -0,0 +1,4 @@ +name=Gigalomania +category=Games +binary=/usr/games/gigalomania/gigalomania +icon=/ui/icons/apps/gigalomania.png diff --git a/recipes/games/gigalomania/recipe.toml b/recipes/games/gigalomania/recipe.toml new file mode 100644 index 00000000..5a000cba --- /dev/null +++ b/recipes/games/gigalomania/recipe.toml @@ -0,0 +1,36 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/gigalomania.git" +branch = "master" + +[build] +template = "custom" +dependencies = [ + "sdl1-mixer", + "sdl1-image", + "sdl1", + "liborbital", + "libogg", + "libpng", + "libjpeg", + "libvorbis", + "zlib" +] +script = """ +DYNAMIC_INIT + +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ + +export CPPHOST="${TARGET}-g++" + +"${REDOX_MAKE}" all -j"$(${NPROC})" + +"${REDOX_MAKE}" VERBOSE=1 DESTDIR="${COOKBOOK_STAGE}/usr" install + +rm -rf "${COOKBOOK_STAGE}/bundle" + +mkdir -pv "${COOKBOOK_STAGE}/ui/apps" +cp -v "${COOKBOOK_RECIPE}/manifest" "${COOKBOOK_STAGE}/ui/apps/gigalomania" + +mkdir -pv "${COOKBOOK_STAGE}/ui/icons/apps" +cp -v "gigalomania64.png" "${COOKBOOK_STAGE}/ui/icons/apps/gigalomania.png" +""" \ No newline at end of file diff --git a/recipes/games/hematite/recipe.toml b/recipes/games/hematite/recipe.toml new file mode 100644 index 00000000..c3424044 --- /dev/null +++ b/recipes/games/hematite/recipe.toml @@ -0,0 +1,23 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/hematite.git" +branch = "redox" +upstream = "https://github.com/PistonDevelopers/hematite.git" + +[build] +template = "custom" +dependencies = [ + "llvm18", + "mesa", + "zlib" +] +script = """ +cargo rustc \ + --target "$TARGET" \ + --release \ + --manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \ + -- \ + -L "${COOKBOK_SYSROOT}/lib" \ + -C link-args="-Wl,-Bstatic $("${TARGET}-pkg-config" --libs osmesa) -lz -lstdc++ -lc -lgcc" +mkdir -pv "${COOKBOOK_STAGE}/bin" +cp -v "target/${TARGET}/release/hematite" "${COOKBOOK_STAGE}/bin/hematite" +""" diff --git a/recipes/games/neverball/manifest-neverball b/recipes/games/neverball/manifest-neverball new file mode 100644 index 00000000..431aadb3 --- /dev/null +++ b/recipes/games/neverball/manifest-neverball @@ -0,0 +1,4 @@ +name=Neverball +category=Games +binary=/usr/games/neverball/neverball +icon=/ui/icons/apps/neverball.png diff --git a/recipes/games/neverball/manifest-neverputt b/recipes/games/neverball/manifest-neverputt new file mode 100644 index 00000000..debe4f67 --- /dev/null +++ b/recipes/games/neverball/manifest-neverputt @@ -0,0 +1,4 @@ +name=Neverputt +category=Games +binary=/usr/games/neverball/neverputt +icon=/ui/icons/apps/neverputt.png diff --git a/recipes/games/neverball/recipe.toml b/recipes/games/neverball/recipe.toml new file mode 100644 index 00000000..6c3f9f12 --- /dev/null +++ b/recipes/games/neverball/recipe.toml @@ -0,0 +1,55 @@ +[source] +tar = "https://neverball.org/neverball-1.6.0.tar.gz" +blake3 = "74f3b68595f475e89fd2ca8b5fc349837ff36fbbe141f321dfc232dbf8fccf51" +patches = ["redox.patch"] + +[build] +dependencies = [ + "expat", + "freetype2", + "libdrm", + "libjpeg", + "libogg", + "liborbital", + "libpng", + "libvorbis", + "llvm18", + "mesa", + "sdl2", + "sdl2-ttf", + "zlib", +] +template = "custom" +script = """ +DYNAMIC_INIT + +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ + +env -i \ + LDFLAGS="-ljpeg -lpng16 -lz -lstdc++" \ + PATH="/usr/bin:/bin" \ + PKG_CONFIG="pkg-config" \ +"${COOKBOOK_MAKE}" -j"${COOKBOOK_MAKE_JOBS}" ENABLE_FS=stdio mapc sols + +"${COOKBOOK_MAKE}" -j"${COOKBOOK_MAKE_JOBS}" ENABLE_FS=stdio ENABLE_NLS=0 clean-src +"${COOKBOOK_MAKE}" -j"${COOKBOOK_MAKE_JOBS}" ENABLE_FS=stdio ENABLE_NLS=0 neverball neverputt + +# Create install directories +mkdir -pv "${COOKBOOK_STAGE}/usr/games/neverball" "${COOKBOOK_STAGE}/ui/apps" "${COOKBOOK_STAGE}/ui/icons/apps" + +# Copy assets +cp -rv data "${COOKBOOK_STAGE}/usr/games/neverball" + +# For each game +for bin in neverball neverputt +do + # Install binary + "${STRIP}" -v "${bin}" -o "${COOKBOOK_STAGE}/usr/games/neverball/${bin}" + + # Install manifest + cp -v "${COOKBOOK_RECIPE}/manifest-${bin}" "${COOKBOOK_STAGE}/ui/apps/${bin}" + + # Install icon + cp -v "dist/${bin}_64.png" "${COOKBOOK_STAGE}/ui/icons/apps/${bin}.png" +done +""" diff --git a/recipes/games/neverball/redox.patch b/recipes/games/neverball/redox.patch new file mode 100644 index 00000000..7457ccff --- /dev/null +++ b/recipes/games/neverball/redox.patch @@ -0,0 +1,87 @@ +diff -ruwN neverball-1.6.0/Makefile source/Makefile +--- neverball-1.6.0/Makefile 2014-05-21 07:21:43.000000000 -0600 ++++ source/Makefile 2023-09-09 20:03:22.113348963 -0600 +@@ -38,11 +38,11 @@ + ifeq ($(DEBUG),1) + CFLAGS := -g + CXXFLAGS := -g +- CPPFLAGS := ++ CPPFLAGS += + else + CFLAGS := -O2 + CXXFLAGS := -O2 +- CPPFLAGS := -DNDEBUG ++ CPPFLAGS += -DNDEBUG + endif + + #------------------------------------------------------------------------------ +@@ -64,8 +64,8 @@ + + # Preprocessor... + +-SDL_CPPFLAGS := $(shell sdl2-config --cflags) +-PNG_CPPFLAGS := $(shell libpng-config --cflags) ++SDL_CPPFLAGS := $(shell $(PKG_CONFIG) sdl2 --cflags) ++PNG_CPPFLAGS := $(shell $(PKG_CONFIG) libpng --cflags) + + ALL_CPPFLAGS := $(SDL_CPPFLAGS) $(PNG_CPPFLAGS) -Ishare + +@@ -124,8 +124,8 @@ + #------------------------------------------------------------------------------ + # Libraries + +-SDL_LIBS := $(shell sdl2-config --libs) +-PNG_LIBS := $(shell libpng-config --libs) ++SDL_LIBS := $(shell $(PKG_CONFIG) sdl2 --libs) ++PNG_LIBS := $(shell $(PKG_CONFIG) libpng --libs) + + ifeq ($(ENABLE_FS),stdio) + FS_LIBS := +@@ -148,7 +148,7 @@ + endif + endif + +-OGL_LIBS := -lGL ++OGL_LIBS := -lorbital $(shell $(PKG_CONFIG) osmesa --libs) + + ifeq ($(PLATFORM),mingw) + ifneq ($(ENABLE_NLS),0) +@@ -175,8 +175,8 @@ + /usr/local/lib)) + endif + +-OGG_LIBS := -lvorbisfile +-TTF_LIBS := -lSDL2_ttf ++OGG_LIBS := $(shell $(PKG_CONFIG) ogg vorbis vorbisfile --libs) ++TTF_LIBS := $(shell $(PKG_CONFIG) SDL2_ttf --libs) -lfreetype + + ALL_LIBS := $(HMD_LIBS) $(TILT_LIBS) $(INTL_LIBS) $(TTF_LIBS) \ + $(OGG_LIBS) $(SDL_LIBS) $(OGL_LIBS) $(BASE_LIBS) +@@ -411,11 +411,11 @@ + + all : $(BALL_TARG) $(PUTT_TARG) $(MAPC_TARG) sols locales desktops + +-ifeq ($(ENABLE_HMD),libovr) ++#ifeq ($(ENABLE_HMD),libovr) + LINK := $(CXX) $(ALL_CXXFLAGS) +-else +-LINK := $(CC) $(ALL_CFLAGS) +-endif ++#else ++#LINK := $(CC) $(ALL_CFLAGS) ++#endif + + $(BALL_TARG) : $(BALL_OBJS) + $(LINK) -o $(BALL_TARG) $(BALL_OBJS) $(LDFLAGS) $(ALL_LIBS) +diff -ruwN neverball-1.6.0/share/text.h source/share/text.h +--- neverball-1.6.0/share/text.h 2014-05-21 07:21:43.000000000 -0600 ++++ source/share/text.h 2023-09-09 20:02:10.117248865 -0600 +@@ -15,7 +15,7 @@ + + /*---------------------------------------------------------------------------*/ + +-char text_input[MAXSTR]; ++extern char text_input[MAXSTR]; + + void text_input_start(void (*cb)(int typing)); + void text_input_stop(void); diff --git a/recipes/games/openjazz/recipe.toml b/recipes/games/openjazz/recipe.toml new file mode 100644 index 00000000..676b85c6 --- /dev/null +++ b/recipes/games/openjazz/recipe.toml @@ -0,0 +1,44 @@ +[source] +tar = "https://github.com/AlisterT/openjazz/archive/refs/tags/20240919.tar.gz" +blake3 = "c419066dd7bf50510c5ef0746fc47450ab8f5a17a0010a1bc0ad67d0e63538da" + +[build] +template = "custom" +dependencies = [ + "liborbital", + "libiconv", + "sdl1", + "zlib", +] +script = """ +export CFLAGS="${CFLAGS} -I${COOKBOOK_SYSROOT}/include" +export CXXFLAGS="${CXXFLAGS} -I${COOKBOOK_SYSROOT}/include" +export DATAPATH="/usr/share/games/openjazz/" + +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=ON + -DCMAKE_CXX_COMPILER="${TARGET}-g++" + -DCMAKE_C_COMPILER="${TARGET}-gcc" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_VERBOSE_MAKEFILE=ON + -DLEGACY_SDL=ON + -DSDL_LIBRARY="-lSDL -lorbital" + -DNETWORK=ON + "${COOKBOOK_SOURCE}" +) + +cookbook_configure + +ASSETS_DIR="${COOKBOOK_STAGE}${DATAPATH}" +INSTALL_DIR="${COOKBOOK_STAGE}/usr/games" +ICON_DIR="${COOKBOOK_STAGE}/ui/icons/apps" +MAN_ROOT="${COOKBOOK_STAGE}/usr/share/man" +mkdir -p "${ASSETS_DIR}" "${INSTALL_DIR}" "${ICON_DIR}" "${MAN_ROOT}" + +cp -v "${COOKBOOK_SOURCE}/res/unix/OpenJazz.png" "${ICON_DIR}" +# TODO: Man pages need to be compiled +# cp -v "${COOKBOOK_SOURCE}/res/unix/OpenJazz.6" "${MAN_ROOT}/man6" +mv OpenJazz "${INSTALL_DIR}" +""" diff --git a/recipes/games/openjk/recipe.toml b/recipes/games/openjk/recipe.toml new file mode 100644 index 00000000..1ea40076 --- /dev/null +++ b/recipes/games/openjk/recipe.toml @@ -0,0 +1,61 @@ +[source] +git = "https://github.com/jackpot51/OpenJK" +upstream = "https://github.com/JACoders/OpenJK.git" + +[build] +template = "custom" +dependencies = [ + "libjpeg", + "liborbital", + "libpng", + "llvm18", + "mesa", + "sdl2", + "zlib", +] +script = """ +DYNAMIC_INIT + +export CFLAGS="${CFLAGS} -I${COOKBOOK_SYSROOT}/include -I${COOKBOOK_SYSROOT}/include/SDL2" +export CXXFLAGS="${CXXFLAGS} -I${COOKBOOK_SYSROOT}/include -I${COOKBOOK_SYSROOT}/include/SDL2" +cat > redox.cmake <pid) { + case 0: { + close(0); ++#if defined(__redox__) ++ int d = open("null:", O_RDONLY); ++#else + int d = open("/dev/null", O_RDONLY); ++#endif + if (d != -1 && dup2(d, 1) != -1 && dup2(d, 2) != -1) { + execvp(this->params[0], this->params); + } +diff -ruw source/src/os/unix/unix.cpp source-new/src/os/unix/unix.cpp +--- source/src/os/unix/unix.cpp 2019-06-19 08:34:01.294040885 -0600 ++++ source-new/src/os/unix/unix.cpp 2019-06-27 16:39:06.400266392 -0600 +@@ -69,12 +69,12 @@ + + bool FiosIsRoot(const char *path) + { +-#if !defined(__MORPHOS__) && !defined(__AMIGAOS__) ++#if !defined(__redox__) + return path[1] == '\0'; + #else +- /* On MorphOS or AmigaOS paths look like: "Volume:directory/subdirectory" */ ++ /* On Redox paths look like: "scheme:/directory/subdirectory" */ + const char *s = strchr(path, ':'); +- return s != NULL && s[1] == '\0'; ++ return (s != NULL) && (strlen(s) == 2) && (s[1] == '/') && (s[2] == '\0'); + #endif + } + +@@ -106,10 +106,10 @@ + { + char filename[MAX_PATH]; + int res; +-#if defined(__MORPHOS__) || defined(__AMIGAOS__) +- /* On MorphOS or AmigaOS paths look like: "Volume:directory/subdirectory" */ ++#if defined(__redox__) ++ /* On Redox paths look like: "scheme:/directory/subdirectory" */ + if (FiosIsRoot(path)) { +- res = seprintf(filename, lastof(filename), "%s:%s", path, ent->d_name); ++ res = seprintf(filename, lastof(filename), "%s%s", path, ent->d_name); + } else // XXX - only next line! + #else + assert(path[strlen(path) - 1] == PATHSEPCHAR); +@@ -370,7 +370,7 @@ + if (child_pid != 0) return; + + const char *args[3]; +- args[0] = "xdg-open"; ++ args[0] = "netsurf-fb"; + args[1] = url; + args[2] = NULL; + execvp(args[0], const_cast(args)); +diff -ruw source/src/rev.cpp.in source-new/src/rev.cpp.in +--- source/src/rev.cpp.in 2019-06-19 08:34:01.298040904 -0600 ++++ source-new/src/rev.cpp.in 2019-06-27 16:39:06.400266392 -0600 +@@ -57,7 +57,7 @@ + * (compiling from sources without any version control software) + * and 2 is for modified revision. + */ +-const byte _openttd_revision_modified = !!MODIFIED!!; ++const byte _openttd_revision_modified = 2; + + /** + * The NewGRF revision of OTTD: +diff -ruw source/src/stdafx.h source-new/src/stdafx.h +--- source/src/stdafx.h 2019-06-19 08:34:01.334041067 -0600 ++++ source-new/src/stdafx.h 2019-06-27 16:39:06.400266392 -0600 +@@ -12,6 +12,9 @@ + #ifndef STDAFX_H + #define STDAFX_H + ++#include ++#include ++ + #if defined(__APPLE__) + #include "os/macosx/osx_stdafx.h" + #endif /* __APPLE__ */ +diff -ruw source/src/string.cpp source-new/src/string.cpp +--- source/src/string.cpp 2019-06-19 08:34:01.334041067 -0600 ++++ source-new/src/string.cpp 2019-06-27 16:39:06.400266392 -0600 +@@ -528,7 +528,7 @@ + return length; + } + +-#ifdef DEFINE_STRCASESTR ++#if 0 + char *strcasestr(const char *haystack, const char *needle) + { + size_t hay_len = strlen(haystack); diff --git a/recipes/games/opentyrian/manifest b/recipes/games/opentyrian/manifest new file mode 100644 index 00000000..bcda89e3 --- /dev/null +++ b/recipes/games/opentyrian/manifest @@ -0,0 +1,4 @@ +name=OpenTyrian +category=Games +binary=/usr/games/opentyrian +icon=/ui/icons/apps/opentyrian.png diff --git a/recipes/games/opentyrian/recipe.toml b/recipes/games/opentyrian/recipe.toml new file mode 100644 index 00000000..ba168fb2 --- /dev/null +++ b/recipes/games/opentyrian/recipe.toml @@ -0,0 +1,53 @@ +# Version date: 02-August-2024 +# +# Notes: +# As Tyrian is an ancient, sprite based game, the code isn't updated +# super frequently. So instead of just pinning the version to the last +# official release in 2022, I'm pulling from main because it's unlikely +# anything will break. The last two commits were small fixes, one in 2023 +# and one in 2024. + +[source] +git = "https://github.com/opentyrian/opentyrian" +patches = [ "redox.patch" ] + +[build] +template = "custom" +dependencies = [ + "llvm18", + "liborbital", + "mesa", + "sdl2", + "zlib", + # "sdl2-net" +] +script = """ +DYNAMIC_INIT + +# Build system is only a standalone Makefile +COOKBOOK_CONFIGURE="true" +COOKBOOK_CONFIGURE_FLAGS="" + +# See Makefile for variables to override +export PKG_CONFIG="${TARGET}-pkg-config" +ASSETSDIR="${COOKBOOK_STAGE}/usr/share/games/tyrian" +export WITH_NETWORK=false +export REDOX_OVERRIDE=true +export prefix="/usr" +export bindir="${prefix}/games" +export icondir="/ui/icons/apps" +export gamesdir="${prefix}/share/games" + +if [ "${COOKBOOK_DYNAMIC}" == "1" ]; then + LDFLAGS+=" -lstdc++" +fi + +# Prepare the sources and download Tyrian (freeware) +rsync -av --delete "${COOKBOOK_SOURCE}/" "${COOKBOOK_RECIPE}/tyrian21.zip.sha" ./ +mkdir -p "${ASSETSDIR}" +curl -OL https://camanis.net/tyrian/tyrian21.zip +sha256sum -c tyrian21.zip.sha +unzip -jd "${ASSETSDIR}" tyrian21.zip + +cookbook_configure +""" diff --git a/recipes/games/opentyrian/redox.patch b/recipes/games/opentyrian/redox.patch new file mode 100644 index 00000000..e0de2aec --- /dev/null +++ b/recipes/games/opentyrian/redox.patch @@ -0,0 +1,60 @@ +Binary files source/.git/index and source-new/.git/index differ +diff '--color=auto' -rupwN source/Makefile source-new/Makefile +--- source/Makefile 2024-10-21 02:46:06.720225834 -0400 ++++ source-new/Makefile 2024-10-25 01:03:37.283351544 -0400 +@@ -5,10 +5,11 @@ ifneq ($(filter Msys Cygwin, $(shell una + TYRIAN_DIR = C:\\TYRIAN + else + PLATFORM := UNIX +- TYRIAN_DIR = $(gamesdir)/tyrian ++ TYRIAN_DIR ?= $(gamesdir)/tyrian + endif + +-WITH_NETWORK := true ++WITH_NETWORK ?= true ++REDOX_OVERRIDE ?= false + + ################################################################################ + +@@ -114,11 +115,15 @@ installdirs : + mkdir -p $(DESTDIR)$(docdir) + mkdir -p $(DESTDIR)$(man6dir) + mkdir -p $(DESTDIR)$(desktopdir) +- mkdir -p $(DESTDIR)$(icondir)/hicolor/22x22/apps +- mkdir -p $(DESTDIR)$(icondir)/hicolor/24x24/apps +- mkdir -p $(DESTDIR)$(icondir)/hicolor/32x32/apps +- mkdir -p $(DESTDIR)$(icondir)/hicolor/48x48/apps +- mkdir -p $(DESTDIR)$(icondir)/hicolor/128x128/apps ++ if [ "$(REDOX_OVERRIDE)" = "true" ]; then\ ++ mkdir -p $(DESTDIR)$(icondir);\ ++ else\ ++ mkdir -p $(DESTDIR)$(icondir)/hicolor/22x22/apps;\ ++ mkdir -p $(DESTDIR)$(icondir)/hicolor/24x24/apps;\ ++ mkdir -p $(DESTDIR)$(icondir)/hicolor/32x32/apps;\ ++ mkdir -p $(DESTDIR)$(icondir)/hicolor/48x48/apps;\ ++ mkdir -p $(DESTDIR)$(icondir)/hicolor/128x128/apps;\ ++ fi;\ + + .PHONY : install + install : $(TARGET) installdirs +@@ -126,11 +131,15 @@ install : $(TARGET) installdirs + $(INSTALL_DATA) NEWS README $(DESTDIR)$(docdir)/ + $(INSTALL_DATA) linux/man/opentyrian.6 $(DESTDIR)$(man6dir)/opentyrian$(man6ext) + $(INSTALL_DATA) linux/opentyrian.desktop $(DESTDIR)$(desktopdir)/ +- $(INSTALL_DATA) linux/icons/tyrian-22.png $(DESTDIR)$(icondir)/hicolor/22x22/apps/opentyrian.png +- $(INSTALL_DATA) linux/icons/tyrian-24.png $(DESTDIR)$(icondir)/hicolor/24x24/apps/opentyrian.png +- $(INSTALL_DATA) linux/icons/tyrian-32.png $(DESTDIR)$(icondir)/hicolor/32x32/apps/opentyrian.png +- $(INSTALL_DATA) linux/icons/tyrian-48.png $(DESTDIR)$(icondir)/hicolor/48x48/apps/opentyrian.png +- $(INSTALL_DATA) linux/icons/tyrian-128.png $(DESTDIR)$(icondir)/hicolor/128x128/apps/opentyrian.png ++ if [ "$(REDOX_OVERRIDE)" = "true" ]; then\ ++ $(INSTALL_DATA) linux/icons/tyrian-32.png $(DESTDIR)$(icondir)/opentyrian.png;\ ++ else\ ++ $(INSTALL_DATA) linux/icons/tyrian-22.png $(DESTDIR)$(icondir)/hicolor/22x22/apps/opentyrian.png;\ ++ $(INSTALL_DATA) linux/icons/tyrian-24.png $(DESTDIR)$(icondir)/hicolor/24x24/apps/opentyrian.png;\ ++ $(INSTALL_DATA) linux/icons/tyrian-32.png $(DESTDIR)$(icondir)/hicolor/32x32/apps/opentyrian.png;\ ++ $(INSTALL_DATA) linux/icons/tyrian-48.png $(DESTDIR)$(icondir)/hicolor/48x48/apps/opentyrian.png;\ ++ $(INSTALL_DATA) linux/icons/tyrian-128.png $(DESTDIR)$(icondir)/hicolor/128x128/apps/opentyrian.png;\ ++ fi;\ + + .PHONY : uninstall + uninstall : diff --git a/recipes/games/opentyrian/tyrian21.zip.sha b/recipes/games/opentyrian/tyrian21.zip.sha new file mode 100644 index 00000000..a57cd4a9 --- /dev/null +++ b/recipes/games/opentyrian/tyrian21.zip.sha @@ -0,0 +1 @@ +7790d09a2a3addcd33c66ef063d5900eb81cc9c342f4807eb8356364dd1d9277 tyrian21.zip diff --git a/recipes/games/prboom/01_redox.patch b/recipes/games/prboom/01_redox.patch new file mode 100644 index 00000000..6318a409 --- /dev/null +++ b/recipes/games/prboom/01_redox.patch @@ -0,0 +1,16 @@ +diff -burpN source-original/src/m_misc.c source/src/m_misc.c +--- source-original/src/m_misc.c 2008-11-09 10:13:04.000000000 -0700 ++++ source/src/m_misc.c 2024-09-07 10:09:06.890301682 -0600 +@@ -954,6 +954,12 @@ void M_LoadDefaults (void) + // read the file in, overriding any set defaults + + f = fopen (defaultfile, "r"); ++#if defined(__redox__) ++ if (f) { ++ printf("disabling load of config file on redox\n"); ++ f = NULL; ++ } ++#endif + if (f) + { + while (!feof(f)) diff --git a/recipes/games/prboom/recipe.toml b/recipes/games/prboom/recipe.toml new file mode 100644 index 00000000..efdb1314 --- /dev/null +++ b/recipes/games/prboom/recipe.toml @@ -0,0 +1,35 @@ +[source] +tar = "https://downloads.sourceforge.net/project/prboom/prboom%20stable/2.5.0/prboom-2.5.0.tar.gz" +blake3 = "24c1b9b5aa15fd73e59162055f2c6d8faa82759b76ddfca9828cd2a5c8dc6b2a" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +wget -O autotools/config.sub "https://gitlab.redox-os.org/redox-os/gnu-config/-/raw/master/config.sub?inline=false" +""" + +[build] +template = "custom" +dependencies = [ + "sdl1", + "liborbital", + "sdl1-mixer", + "libogg", + "libvorbis" +] +script = """ +DYNAMIC_INIT +export MIXER_LIBS="-lSDL_mixer -lvorbisfile -lvorbis -logg" +COOKBOOK_CONFIGURE_FLAGS+=( + --disable-cpu-opt + --disable-i386-asm + --disable-gl + --disable-sdltest + --without-net + --with-sdl-prefix="${COOKBOOK_SYSROOT}" + ac_cv_lib_SDL_mixer_Mix_OpenAudio=yes + ac_cv_type_gid_t=yes + ac_cv_type_uid_t=yes +) +cookbook_configure +""" + diff --git a/recipes/games/quakespasm/manifest b/recipes/games/quakespasm/manifest new file mode 100644 index 00000000..814d6b06 --- /dev/null +++ b/recipes/games/quakespasm/manifest @@ -0,0 +1,4 @@ +name=QuakeSpasm +category=Games +binary=/usr/games/quakespasm +icon=/ui/icons/apps/quakespasm.png diff --git a/recipes/games/quakespasm/recipe.toml b/recipes/games/quakespasm/recipe.toml new file mode 100644 index 00000000..58cefddb --- /dev/null +++ b/recipes/games/quakespasm/recipe.toml @@ -0,0 +1,53 @@ +# TODO: Promote + +# Version: 0.96.3 +# Version date: 31-July-2024 + +[source] +git = "https://github.com/sezero/quakespasm" +rev = "cc32abe09ed417ce3be10af300d2dc2f686349ba" + +[build] +template = "custom" +dependencies = [ + "llvm18", + "libiconv", + "libogg", + "liborbital", + "libvorbis", + "mesa", + # "sdl1", + "sdl2", + "zlib", +] +script = """ +DYNAMIC_INIT + +# Skip configuring because QuakeSpasm uses a custom build system +COOKBOOK_CONFIGURE="true" +COOKBOOK_CONFIGURE_FLAGS="" + +# Ensure the build system is aware of Redox +# The build system uses sdl-config for Unix, but SDL recommends using pkg-config +export HOST_OS="redox" +export PKG_CONFIG="${TARGET}-pkg-config" + +# Config options for the Makefile. Set as necessary (see Makefile). +# MP3 is disabled because libmad doesn't compile at the moment +# Other options weren't tested, but SDL and SDL2 both compile fine +export USE_SDL2=1 +export USE_CODEC_MP3=0 +export DO_USERDIRS=1 + +if [ "${COOKBOOK_DYNAMIC}" == "1" ]; then + LDFLAGS+=" -lstdc++" +fi + +# Source is in Quake/ and icons are in Misc/ +rsync -av --delete "${COOKBOOK_SOURCE}/Quake/" "${COOKBOOK_SOURCE}/Misc" ./ + +# According to frantic grepping, the Redox build system doesn't apply patches to git +git apply "${COOKBOOK_RECIPE}/redox.patch" + +cookbook_configure +""" diff --git a/recipes/games/quakespasm/redox.patch b/recipes/games/quakespasm/redox.patch new file mode 100644 index 00000000..c3ff6a46 --- /dev/null +++ b/recipes/games/quakespasm/redox.patch @@ -0,0 +1,110 @@ +diff '--color=auto' -rupwN source/Makefile source-new/Makefile +--- source/Makefile 2024-10-15 21:21:14.824589882 -0400 ++++ source-new/Makefile 2024-10-16 00:42:27.651948743 -0400 +@@ -4,28 +4,34 @@ + # "make SDL_CONFIG=/path/to/sdl-config" for unusual SDL installations. + # "make DO_USERDIRS=1" to enable user directories support + ++# Base install directory ++DESTDIR ?= "/" ++INSTALLDIR = "${DESTDIR}/usr/games/" ++DATADIR = "${DESTDIR}/usr/share/games/quake1/id1/" ++ICODIR = "${DESTDIR}/ui/icons/apps/" ++ + # Enable/Disable user directories support +-DO_USERDIRS=0 ++DO_USERDIRS ?= 0 + + ### Enable/Disable SDL2 +-USE_SDL2=0 ++USE_SDL2 ?= 0 + + ### Enable/Disable codecs for streaming music support +-USE_CODEC_WAVE=1 +-USE_CODEC_FLAC=0 +-USE_CODEC_MP3=1 +-USE_CODEC_VORBIS=1 +-USE_CODEC_OPUS=0 ++USE_CODEC_WAVE ?= 1 ++USE_CODEC_FLAC ?= 0 ++USE_CODEC_MP3 ?= 1 ++USE_CODEC_VORBIS ?= 1 ++USE_CODEC_OPUS ?= 0 + # either xmp or mikmod (or modplug) +-USE_CODEC_MIKMOD=0 +-USE_CODEC_XMP=0 +-USE_CODEC_MODPLUG=0 +-USE_CODEC_UMX=0 ++USE_CODEC_MIKMOD ?= 0 ++USE_CODEC_XMP ?= 0 ++USE_CODEC_MODPLUG ?= 0 ++USE_CODEC_UMX ?= 0 + + # which library to use for mp3 decoding: mad or mpg123 +-MP3LIB=mad ++MP3LIB ?= mad + # which library to use for ogg decoding: vorbis or tremor +-VORBISLIB=vorbis ++VORBISLIB ?= vorbis + + # --------------------------- + # Helper functions +@@ -35,7 +41,7 @@ check_gcc = $(shell if echo | $(CC) $(1) + + # --------------------------- + +-HOST_OS = $(shell uname|sed -e s/_.*//|tr '[:upper:]' '[:lower:]') ++HOST_OS ?= $(shell uname|sed -e s/_.*//|tr '[:upper:]' '[:lower:]') + + DEBUG ?= 0 + +@@ -49,7 +55,7 @@ LINKER = $(CC) + STRIP ?= strip + PKG_CONFIG ?= pkg-config + +-CPUFLAGS= ++CPUFLAGS ?= + LDFLAGS?= + DFLAGS ?= + CFLAGS ?= -Wall -Wno-trigraphs -MMD +@@ -81,11 +87,19 @@ endif + + ifeq ($(USE_SDL2),1) + SDL_CONFIG ?= sdl2-config ++SDL_VERSION = sdl2 + else + SDL_CONFIG ?= sdl-config ++SDL_VERSION = sdl + endif ++ ++ifeq ($(HOST_OS),redox) ++SDL_CFLAGS = $(shell $(PKG_CONFIG) --cflags $(SDL_VERSION)) ++SDL_LIBS = $(shell $(PKG_CONFIG) --libs $(SDL_VERSION)) ++else + SDL_CFLAGS = $(shell $(SDL_CONFIG) --cflags) + SDL_LIBS = $(shell $(SDL_CONFIG) --libs) ++endif + + NET_LIBS = + ifeq ($(HOST_OS),sunos) +@@ -164,6 +178,8 @@ endif + + ifeq ($(HOST_OS),haiku) + COMMON_LIBS= -lGL ++else ifeq ($(HOST_OS),redox) ++COMMON_LIBS= -lorbital $(shell $(PKG_CONFIG) --libs osmesa zlib) + else + COMMON_LIBS= -lGL -lm + endif +@@ -290,7 +306,10 @@ install: quakespasm + cp quakespasm.pak $(QS_APP_DIR) + else + install: quakespasm +- cp quakespasm /usr/local/games/quake ++ mkdir -p "${INSTALLDIR}" "${DATADIR}" "${ICODIR}" ++ cp quakespasm "${INSTALLDIR}/quakespasm" ++ # xxx Probably requires resizing ++ cp Misc/QuakeSpasm_512.png "${ICODIR}/quakespasm.png" + endif + + sinclude $(OBJS:.o=.d) diff --git a/recipes/games/redox-games/recipe.toml b/recipes/games/redox-games/recipe.toml new file mode 100644 index 00000000..50a9957f --- /dev/null +++ b/recipes/games/redox-games/recipe.toml @@ -0,0 +1,5 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/games.git" + +[build] +template = "cargo" diff --git a/recipes/games/sm64ex/.gitignore b/recipes/games/sm64ex/.gitignore new file mode 100644 index 00000000..09b26b18 --- /dev/null +++ b/recipes/games/sm64ex/.gitignore @@ -0,0 +1 @@ +/baserom.us.z64 diff --git a/recipes/games/sm64ex/manifest b/recipes/games/sm64ex/manifest new file mode 100644 index 00000000..38f7a22b --- /dev/null +++ b/recipes/games/sm64ex/manifest @@ -0,0 +1,4 @@ +name=Super Mario 64 EX +category=Games +binary=/bin/sm64 +icon=/ui/icons/apps/sm64ex.png diff --git a/recipes/games/sm64ex/recipe.toml b/recipes/games/sm64ex/recipe.toml new file mode 100644 index 00000000..69b94737 --- /dev/null +++ b/recipes/games/sm64ex/recipe.toml @@ -0,0 +1,37 @@ +[source] +git = "https://github.com/jackpot51/sm64ex.git" + +[build] +template = "custom" +dependencies = [ + "liborbital", + "llvm18", + "mesa", + "sdl2", + "zlib", +] +script = """ +DYNAMIC_INIT + +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ +# You must find your own ROM +cp -v "${COOKBOOK_RECIPE}/baserom.us.z64" baserom.us.z64 + +#TODO: do this in cook instead +unset AR AS CC CXX LD NM OBJCOPY OBJDUMP RANLIB READELF STRIP + +export REDOX_CFLAGS="${CFLAGS}" +export REDOX_LDFLAGS="${LDFLAGS}" +unset CFLAGS LDFLAGS + +export CROSS="${TARGET}-" +"${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}" +mkdir -p "${COOKBOOK_STAGE}/bin" +cp -v build/us_pc/sm64.us.f3dex2e "${COOKBOOK_STAGE}/bin/sm64" + +mkdir -pv "${COOKBOOK_STAGE}/ui/apps" +cp -v "${COOKBOOK_RECIPE}/manifest" "${COOKBOOK_STAGE}/ui/apps/sm64ex" + +mkdir -pv "${COOKBOOK_STAGE}/ui/icons/apps" +wget -O "${COOKBOOK_STAGE}/ui/icons/apps/sm64ex.png" https://evilgames.eu/texture-packs/thumb/sm64-reloaded.png +""" diff --git a/recipes/games/sopwith/recipe.toml b/recipes/games/sopwith/recipe.toml new file mode 100644 index 00000000..219c5c33 --- /dev/null +++ b/recipes/games/sopwith/recipe.toml @@ -0,0 +1,31 @@ +[source] +tar = "https://github.com/fragglet/sdl-sopwith/releases/download/sdl-sopwith-1.8.4/sopwith-1.8.4.tar.gz" +blake3 = "44e1404a9c4bea257d7778d2a4b1512231603a74b0a7b18eac5d18f36730ed3e" + +[build] +template = "custom" +dependencies = [ + "sdl1", + "liborbital", + "libiconv", +] +script = """ +export CFLAGS="${CFLAGS} -I${COOKBOOK_SYSROOT}/include/SDL" +export LIBS="-lSDL -lorbital" # TODO: Uses sdl-config instead of pkg-config + +# For some reason, cook_configure breaks spectacularly on this +# We will just copy instead +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ + +wget -O autotools/config.sub "https://gitlab.redox-os.org/redox-os/gnu-config/-/raw/master/config.sub?inline=false" + +./configure \\ + --build="$(gcc -dumpmachine)" \\ + --host="${TARGET}" \\ + --prefix="" \\ + --with-sdl-prefix="${COOKBOOK_SYSROOT}" + +make -j"$(nproc)" + +make DESTDIR="${COOKBOOK_STAGE}" install +""" \ No newline at end of file diff --git a/recipes/games/spacecadetpinball/recipe.toml b/recipes/games/spacecadetpinball/recipe.toml new file mode 100644 index 00000000..d0d3857e --- /dev/null +++ b/recipes/games/spacecadetpinball/recipe.toml @@ -0,0 +1,27 @@ +[source] +git = "https://gitlab.redox-os.org/xTibor/SpaceCadetPinball.git" +upstream = "https://github.com/k4zmu2a/SpaceCadetPinball.git" +branch = "redox" + +[build] +template = "custom" +dependencies = [ + "libogg", + "liborbital", + "libvorbis", + "llvm18", + "mesa", + "sdl2", + "sdl2-mixer", + "zlib", +] +script = """ +DYNAMIC_INIT +COOKBOOK_CONFIGURE_FLAGS=( + -DSDL2_INCLUDE_DIR="${COOKBOOK_SYSROOT}/include/SDL2" + -DSDL2_LIBRARY="-lSDL2_mixer -lvorbisfile -lvorbis -logg -lSDL2 -lorbital $("${TARGET}-pkg-config" --libs osmesa)" + -DSDL2_MIXER_INCLUDE_DIR="${COOKBOOK_SYSROOT}/include/SDL2" + -DSDL2_MIXER_LIBRARY="SDL2_mixer" +) +cookbook_cmake +""" diff --git a/recipes/graphics/procedural-wallpapers-rs/recipe.toml b/recipes/graphics/procedural-wallpapers-rs/recipe.toml new file mode 100644 index 00000000..1b9cccac --- /dev/null +++ b/recipes/graphics/procedural-wallpapers-rs/recipe.toml @@ -0,0 +1,6 @@ +[source] +git = "https://github.com/lukas-kirschner/procedural-wallpapers-rs.git" + +[build] +template = "cargo" +package_path = "procedural_wallpapers" diff --git a/recipes/groups/dev-essential/recipe.toml b/recipes/groups/dev-essential/recipe.toml new file mode 100644 index 00000000..911fe766 --- /dev/null +++ b/recipes/groups/dev-essential/recipe.toml @@ -0,0 +1,21 @@ +[package] +dependencies = [ + "autoconf", + "automake", + "cargo", + "gcc13", + "llvm18", + "gnu-binutils", + "gnu-make", + "gnu-grep", + "ripgrep", + "libffi", + "rustpython", + "lua54", + "nasm", + "patch", + "pkg-config", + "rust", + "sed", + "strace", +] diff --git a/recipes/groups/dev-redox/recipe.toml b/recipes/groups/dev-redox/recipe.toml new file mode 100644 index 00000000..120c5cbc --- /dev/null +++ b/recipes/groups/dev-redox/recipe.toml @@ -0,0 +1,20 @@ +[package] +dependencies = [ + "dev-essential", + "redox-tests", + "exampled", + "gdbserver", + "libgmp", + "libiconv", + "liborbital", + "libsodium", + "libxml2", + "ncurses", + "nghttp2", + "openssl3", + "orbclient", + "pcre", + "terminfo", + "xz", + "zlib", +] diff --git a/recipes/groups/redox-tests/recipe.toml b/recipes/groups/redox-tests/recipe.toml new file mode 100644 index 00000000..eb8ef05d --- /dev/null +++ b/recipes/groups/redox-tests/recipe.toml @@ -0,0 +1,6 @@ +[package] +dependencies = [ + "acid", + "resist", + "relibc-tests", +] diff --git a/recipes/groups/x11-full/recipe.toml b/recipes/groups/x11-full/recipe.toml new file mode 100644 index 00000000..e58d3c01 --- /dev/null +++ b/recipes/groups/x11-full/recipe.toml @@ -0,0 +1,9 @@ +[package] +dependencies = [ + "x11-minimal", + "twm", + "xev", + "xeyes", + "xkbutils", + "xterm", +] diff --git a/recipes/groups/x11-minimal/recipe.toml b/recipes/groups/x11-minimal/recipe.toml new file mode 100644 index 00000000..3ed893af --- /dev/null +++ b/recipes/groups/x11-minimal/recipe.toml @@ -0,0 +1,8 @@ +[package] +dependencies = [ + "xinit", + "xkbcomp", + "xkeyboard-config", + "xserver-xorg", + "xserver-xorg-video-orbital", +] diff --git a/recipes/gui/installer-gui/manifest b/recipes/gui/installer-gui/manifest new file mode 100644 index 00000000..9bdf825f --- /dev/null +++ b/recipes/gui/installer-gui/manifest @@ -0,0 +1,6 @@ +name=Redox Installer +category=System +binary=/usr/bin/redox_installer_gui +icon=/usr/share/icons/Pop/48x48/apps/system-os-installer.svg +author=Jeremy Soller +description=GUI Installer for Redox diff --git a/recipes/gui/installer-gui/recipe.toml b/recipes/gui/installer-gui/recipe.toml new file mode 100644 index 00000000..4f95b53d --- /dev/null +++ b/recipes/gui/installer-gui/recipe.toml @@ -0,0 +1,12 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/installer-gui.git" + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_cargo + +mkdir -pv "${COOKBOOK_STAGE}/ui/apps" +cp -v "${COOKBOOK_RECIPE}/manifest" "${COOKBOOK_STAGE}/ui/apps/redox-installer-gui" +""" diff --git a/recipes/gui/orbdata/recipe.toml b/recipes/gui/orbdata/recipe.toml new file mode 100644 index 00000000..6ac4c937 --- /dev/null +++ b/recipes/gui/orbdata/recipe.toml @@ -0,0 +1,8 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/orbdata.git" + +[build] +template = "custom" +script = """ +cp -rv "${COOKBOOK_SOURCE}/"* "${COOKBOOK_STAGE}/" +""" diff --git a/recipes/gui/orbital/recipe.toml b/recipes/gui/orbital/recipe.toml new file mode 100644 index 00000000..0ae660fd --- /dev/null +++ b/recipes/gui/orbital/recipe.toml @@ -0,0 +1,10 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/orbital.git" + +[build] +template = "cargo" + +[package] +dependencies = [ + "orbdata" +] diff --git a/recipes/gui/orbterm/recipe.toml b/recipes/gui/orbterm/recipe.toml new file mode 100644 index 00000000..e67f2a1c --- /dev/null +++ b/recipes/gui/orbterm/recipe.toml @@ -0,0 +1,22 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/orbterm.git" + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +mkdir -pv "${COOKBOOK_STAGE}/ui" +cp -rv "${COOKBOOK_SOURCE}/apps" "${COOKBOOK_STAGE}/ui/apps" + +"${COOKBOOK_CARGO}" install \ + --path "${COOKBOOK_SOURCE}" \ + --root "${COOKBOOK_STAGE}/usr" \ + --locked \ + --no-track \ + ${install_flags} +""" + +[package] +dependencies = [ + "orbital" +] diff --git a/recipes/gui/orbutils-background/recipe.toml b/recipes/gui/orbutils-background/recipe.toml new file mode 100644 index 00000000..9b13e816 --- /dev/null +++ b/recipes/gui/orbutils-background/recipe.toml @@ -0,0 +1,12 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/orbutils.git" + +[build] +template = "cargo" +package_path = "orbutils" +cargoflags = "--bin background" + +[package] +dependencies = [ + "orbital" +] diff --git a/recipes/gui/orbutils-launcher/recipe.toml b/recipes/gui/orbutils-launcher/recipe.toml new file mode 100644 index 00000000..78125ba9 --- /dev/null +++ b/recipes/gui/orbutils-launcher/recipe.toml @@ -0,0 +1,11 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/orbutils.git" + +[build] +template = "cargo" +package_path = "launcher" + +[package] +dependencies = [ + "orbital" +] diff --git a/recipes/gui/orbutils-orblogin/recipe.toml b/recipes/gui/orbutils-orblogin/recipe.toml new file mode 100644 index 00000000..6871a92e --- /dev/null +++ b/recipes/gui/orbutils-orblogin/recipe.toml @@ -0,0 +1,12 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/orbutils.git" + +[build] +template = "cargo" +package_path = "orbutils" +cargoflags = "--bin orblogin" + +[package] +dependencies = [ + "orbital" +] diff --git a/recipes/gui/orbutils/recipe.toml b/recipes/gui/orbutils/recipe.toml new file mode 100644 index 00000000..bc506edf --- /dev/null +++ b/recipes/gui/orbutils/recipe.toml @@ -0,0 +1,20 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/orbutils.git" + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +mkdir -pv "${COOKBOOK_STAGE}/ui" +cp -rv "${COOKBOOK_SOURCE}/apps" "${COOKBOOK_STAGE}/ui/apps" + +for project in orbutils calculator launcher +do + "${COOKBOOK_CARGO}" install \ + --path "${COOKBOOK_SOURCE}/${project}" \ + --root "${COOKBOOK_STAGE}/usr" \ + --locked \ + --no-track \ + ${install_flags} +done +""" diff --git a/recipes/icons/cosmic-icons/recipe.toml b/recipes/icons/cosmic-icons/recipe.toml new file mode 100644 index 00000000..3e9b0d1f --- /dev/null +++ b/recipes/icons/cosmic-icons/recipe.toml @@ -0,0 +1,9 @@ +[source] +git = "https://github.com/pop-os/cosmic-icons.git" +rev = "f93dcdfa1060c2cf3f8cf0b56b0338292edcafa5" +[build] +template = "custom" +script = """ +cd "${COOKBOOK_SOURCE}" +just rootdir="${COOKBOOK_STAGE}" prefix="" install +""" diff --git a/recipes/icons/hicolor-icon-theme/recipe.toml b/recipes/icons/hicolor-icon-theme/recipe.toml new file mode 100644 index 00000000..c7bfc9de --- /dev/null +++ b/recipes/icons/hicolor-icon-theme/recipe.toml @@ -0,0 +1,9 @@ +[source] +git = "https://gitlab.freedesktop.org/xdg/default-icon-theme.git" + +[build] +template = "custom" +script = """ +meson setup --reconfigure -Dprefix=/usr . "${COOKBOOK_SOURCE}" +env DESTDIR="${COOKBOOK_STAGE}" meson install +""" diff --git a/recipes/icons/pop-icon-theme/recipe.toml b/recipes/icons/pop-icon-theme/recipe.toml new file mode 100644 index 00000000..4ef0b483 --- /dev/null +++ b/recipes/icons/pop-icon-theme/recipe.toml @@ -0,0 +1,12 @@ +[source] +git = "https://github.com/pop-os/icon-theme.git" + +[build] +template = "custom" +script = """ +meson setup -Dprefix=/ . "${COOKBOOK_SOURCE}" +env DESTDIR="${COOKBOOK_STAGE}" meson install +#TODO: reduce cursors folder size: https://github.com/pop-os/icon-theme/issues/136 +rm -rf "${COOKBOOK_STAGE}/share/icons/Pop/cursors" +rm -rf "${COOKBOOK_STAGE}/share/icons/Pop/cursor.theme" +""" diff --git a/recipes/libs/atk/recipe.toml b/recipes/libs/atk/recipe.toml new file mode 100644 index 00000000..6ad310a1 --- /dev/null +++ b/recipes/libs/atk/recipe.toml @@ -0,0 +1,21 @@ +[source] +tar = "https://download.gnome.org/sources/atk/2.38/atk-2.38.0.tar.xz" +blake3 = "cbc1b7ba03009ee5cc0e646d8a86117e0d65bf8d105f2e8714fbde0299a8012e" +script = """ +GNU_CONFIG_GET config.sub +""" + +[build] +dependencies = [ + "gettext", + "glib", + #TODO "gobject-introspection", + "libffi", + "libiconv", + "pcre2", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_meson -Dintrospection=false +""" diff --git a/recipes/libs/cairo/recipe.toml b/recipes/libs/cairo/recipe.toml new file mode 100644 index 00000000..47b1d5eb --- /dev/null +++ b/recipes/libs/cairo/recipe.toml @@ -0,0 +1,35 @@ +[source] +tar = "https://www.cairographics.org/releases/cairo-1.18.4.tar.xz" +blake3 = "b9fa14e02f85ec4e72396c62236c98502d04dbbdf8daf01ab9557a1c7aa7106e" +patches = ["redox.patch"] + +[build] +dependencies = [ + "expat", + "freetype2", + "fontconfig", + "gettext", + "glib", + "libffi", + "libiconv", + "libpng", + "libpthread-stubs", + "libx11", + "libxau", + "libxcb", + "libxext", + "pcre2", + "pixman", + "x11proto", + "zlib", +] +template = "custom" +script = """ +DYNAMIC_INIT +#TODO: fix mutex implementation +#TODO: why are math defines missing? +CFLAGS="${CFLAGS} -DCAIRO_NO_MUTEX=1 -DM_SQRT2=1.41421356237309504880 -DM_LN2=0.69314718055994530942" +cookbook_meson \ + -Dxlib-xcb=enabled \ + -Dtests=disabled +""" diff --git a/recipes/libs/cairo/redox.patch b/recipes/libs/cairo/redox.patch new file mode 100644 index 00000000..110b39a1 --- /dev/null +++ b/recipes/libs/cairo/redox.patch @@ -0,0 +1,50 @@ +diff -ruwN cairo-1.18.4/meson.build source/meson.build +--- cairo-1.18.4/meson.build 2025-03-08 05:35:35.000000000 -0700 ++++ source/meson.build 2025-05-04 18:07:04.594213814 -0600 +@@ -440,13 +440,13 @@ + if feature_conf.get('CAIRO_HAS_XCB_SURFACE', 0) == 1 + xcbshm_dep = dependency('xcb-shm', required: get_option('xcb')) + if xcbshm_dep.found() +- feature_conf.set('CAIRO_HAS_XCB_SHM_FUNCTIONS', 1) +- deps += [xcbshm_dep] +- built_features += [{ +- 'name': 'cairo-xcb-shm', +- 'description': 'XCB/SHM functions', +- 'deps': [xcbshm_dep], +- }] ++ #feature_conf.set('CAIRO_HAS_XCB_SHM_FUNCTIONS', 1) ++ #deps += [xcbshm_dep] ++ #built_features += [{ ++ # 'name': 'cairo-xcb-shm', ++ # 'description': 'XCB/SHM functions', ++ # 'deps': [xcbshm_dep], ++ #}] + endif + endif + +diff -ruwN cairo-1.18.4/perf/Makefile.in source/perf/Makefile.in +--- cairo-1.18.4/perf/Makefile.in 1969-12-31 17:00:00.000000000 -0700 ++++ source/perf/Makefile.in 2025-05-01 12:52:11.400963345 -0600 +@@ -0,0 +1,3 @@ ++all: ++ ++install: +diff -ruwN cairo-1.18.4/src/cairo-ps-surface.c source/src/cairo-ps-surface.c +--- cairo-1.18.4/src/cairo-ps-surface.c 2025-03-08 05:35:35.000000000 -0700 ++++ source/src/cairo-ps-surface.c 2025-05-04 18:08:43.821264417 -0600 +@@ -102,7 +102,7 @@ + #define DEBUG_FALLBACK(s) + #endif + +-#ifndef HAVE_CTIME_R ++#if !defined(HAVE_CTIME_R) && !defined(__redox__) + static char *ctime_r(const time_t *timep, char *buf) + { + (void)buf; +diff -ruwN cairo-1.18.4/test/Makefile.in source/test/Makefile.in +--- cairo-1.18.4/test/Makefile.in 1969-12-31 17:00:00.000000000 -0700 ++++ source/test/Makefile.in 2025-05-01 12:52:11.400963345 -0600 +@@ -0,0 +1,3 @@ ++all: ++ ++install: diff --git a/recipes/libs/duktape/recipe.toml b/recipes/libs/duktape/recipe.toml new file mode 100644 index 00000000..13b3f178 --- /dev/null +++ b/recipes/libs/duktape/recipe.toml @@ -0,0 +1,16 @@ +[source] +tar = "https://duktape.org/duktape-2.7.0.tar.xz" +blake3 = "b0a17da888847bc9c73624ae3ba7f858ec327a9bbce9d287aee6a2489e518448" + +[build] +template = "custom" +script = """ +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ + +sed -i "s/= gcc/= ${TARGET}-gcc/g" Makefile.cmdline + +"${COOKBOOK_MAKE}" -f Makefile.cmdline -j"$($NPROC)" + +mkdir -pv "${COOKBOOK_STAGE}/usr/bin" +cp ./duk "${COOKBOOK_STAGE}/usr/bin/duk" +""" \ No newline at end of file diff --git a/recipes/libs/expat/recipe.toml b/recipes/libs/expat/recipe.toml new file mode 100644 index 00000000..37f15adb --- /dev/null +++ b/recipes/libs/expat/recipe.toml @@ -0,0 +1,20 @@ +[source] +tar = "https://github.com/libexpat/libexpat/releases/download/R_2_5_0/expat-2.5.0.tar.xz" +blake3 = "ea89dd9a5a2e48d5e44fed38554b36a8f2e365a5091a99d08e30bfb1c15dda5e" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +template = "custom" +script = """ +DYNAMIC_STATIC_INIT +COOKBOOK_CONFIGURE_FLAGS+=( + --without-docbook + --without-examples + --without-tests + --without-xmlwf +) +cookbook_configure +""" diff --git a/recipes/libs/ffmpeg6/binutils-2.41.patch b/recipes/libs/ffmpeg6/binutils-2.41.patch new file mode 100644 index 00000000..33fd3d48 --- /dev/null +++ b/recipes/libs/ffmpeg6/binutils-2.41.patch @@ -0,0 +1,76 @@ +From effadce6c756247ea8bae32dc13bb3e6f464f0eb Mon Sep 17 00:00:00 2001 +From: =?utf8?q?R=C3=A9mi=20Denis-Courmont?= +Date: Sun, 16 Jul 2023 18:18:02 +0300 +Subject: [PATCH] avcodec/x86/mathops: clip constants used with shift + instructions within inline assembly + +Fixes assembling with binutil as >= 2.41 + +Signed-off-by: James Almer +--- + libavcodec/x86/mathops.h | 26 +++++++++++++++++++++++--- + 1 file changed, 23 insertions(+), 3 deletions(-) + +diff --git a/libavcodec/x86/mathops.h b/libavcodec/x86/mathops.h +index 6298f5ed19..ca7e2dffc1 100644 +--- a/libavcodec/x86/mathops.h ++++ b/libavcodec/x86/mathops.h +@@ -35,12 +35,20 @@ + static av_always_inline av_const int MULL(int a, int b, unsigned shift) + { + int rt, dummy; ++ if (__builtin_constant_p(shift)) + __asm__ ( + "imull %3 \n\t" + "shrdl %4, %%edx, %%eax \n\t" + :"=a"(rt), "=d"(dummy) +- :"a"(a), "rm"(b), "ci"((uint8_t)shift) ++ :"a"(a), "rm"(b), "i"(shift & 0x1F) + ); ++ else ++ __asm__ ( ++ "imull %3 \n\t" ++ "shrdl %4, %%edx, %%eax \n\t" ++ :"=a"(rt), "=d"(dummy) ++ :"a"(a), "rm"(b), "c"((uint8_t)shift) ++ ); + return rt; + } + +@@ -113,19 +121,31 @@ __asm__ volatile(\ + // avoid +32 for shift optimization (gcc should do that ...) + #define NEG_SSR32 NEG_SSR32 + static inline int32_t NEG_SSR32( int32_t a, int8_t s){ ++ if (__builtin_constant_p(s)) + __asm__ ("sarl %1, %0\n\t" + : "+r" (a) +- : "ic" ((uint8_t)(-s)) ++ : "i" (-s & 0x1F) + ); ++ else ++ __asm__ ("sarl %1, %0\n\t" ++ : "+r" (a) ++ : "c" ((uint8_t)(-s)) ++ ); + return a; + } + + #define NEG_USR32 NEG_USR32 + static inline uint32_t NEG_USR32(uint32_t a, int8_t s){ ++ if (__builtin_constant_p(s)) + __asm__ ("shrl %1, %0\n\t" + : "+r" (a) +- : "ic" ((uint8_t)(-s)) ++ : "i" (-s & 0x1F) + ); ++ else ++ __asm__ ("shrl %1, %0\n\t" ++ : "+r" (a) ++ : "c" ((uint8_t)(-s)) ++ ); + return a; + } + +-- +2.30.2 + diff --git a/recipes/libs/ffmpeg6/ffmpeg.patch b/recipes/libs/ffmpeg6/ffmpeg.patch new file mode 100644 index 00000000..9d24920c --- /dev/null +++ b/recipes/libs/ffmpeg6/ffmpeg.patch @@ -0,0 +1,24 @@ +diff -rupN source-original/configure source/configure +--- source-original/configure 2018-03-04 11:13:59.000000000 +0100 ++++ source/configure 2018-03-04 11:18:10.026033282 +0100 +@@ -5141,6 +5141,8 @@ case $target_os in + ;; + minix) + ;; ++ redox) ++ ;; + none) + ;; + *) +diff -rupN source-original/fftools/ffmpeg.c source/fftools/ffmpeg.c +--- source-original/fftools/ffmpeg.c 2018-03-04 11:13:59.000000000 +0100 ++++ source/fftools/ffmpeg.c 2018-03-04 11:45:38.326394016 +0100 +@@ -91,7 +91,7 @@ + + #if HAVE_TERMIOS_H + #include +-#include ++//#include + #include + #include + #elif HAVE_KBHIT diff --git a/recipes/libs/ffmpeg6/manifest b/recipes/libs/ffmpeg6/manifest new file mode 100644 index 00000000..eba3e599 --- /dev/null +++ b/recipes/libs/ffmpeg6/manifest @@ -0,0 +1,15 @@ +name=ffplay +binary=/usr/bin/ffplay +accept=*.mp3 +accept=*.ogg +accept=*.opus +accept=*.m4a +accept=*.flac +accept=*.wav +accept=*.mp4 +accept=*.mkv +accept=*.webm +accept=*.3gp +accept=*.mov +author=FFMPEG Developers +description=FFMPEG Media Player diff --git a/recipes/libs/ffmpeg6/recipe.toml b/recipes/libs/ffmpeg6/recipe.toml new file mode 100644 index 00000000..bc63a4ec --- /dev/null +++ b/recipes/libs/ffmpeg6/recipe.toml @@ -0,0 +1,41 @@ +[source] +tar = "https://ffmpeg.org/releases/ffmpeg-6.0.tar.xz" +blake3 = "4879074c357102f85932673044c57c144b0c188ae58edec2a115965536ee340f" +patches = [ + "ffmpeg.patch", + "binutils-2.41.patch", +] + +[build] +template = "custom" +dependencies = [ + "liborbital", + "llvm18", + "mesa", + "sdl2", + "zlib", +] +script = """ +DYNAMIC_INIT + +export LDFLAGS="$LDFLAGS -lSDL2 -lorbital -lOSMesa -lstdc++" +ARCH="${TARGET%%-*}" +COOKBOOK_CONFIGURE_FLAGS=( + --enable-cross-compile + --target-os=redox + --arch="${ARCH}" + --cross_prefix="${TARGET}-" + --prefix=/usr + --disable-doc + --enable-shared + --disable-static + --disable-network + --enable-sdl2 + --enable-zlib + --enable-encoder=png + --enable-decoder=png +) +cookbook_configure +mkdir -pv "${COOKBOOK_STAGE}/ui/apps" +cp -v "${COOKBOOK_RECIPE}/manifest" "${COOKBOOK_STAGE}/ui/apps/ffplay" +""" diff --git a/recipes/libs/freetype2/recipe.toml b/recipes/libs/freetype2/recipe.toml new file mode 100644 index 00000000..90c12fac --- /dev/null +++ b/recipes/libs/freetype2/recipe.toml @@ -0,0 +1,14 @@ +[source] +tar = "https://download.savannah.gnu.org/releases/freetype/freetype-2.13.3.tar.xz" +blake3 = "07a01894ccdb584943ce817b57341a8595ce9a92bfaa77c602ec4757dfabd5e2" + +[build] +template = "custom" +dependencies = [ + "libpng", + "zlib" +] +script = """ +DYNAMIC_STATIC_INIT +cookbook_meson +""" diff --git a/recipes/libs/fribidi/recipe.toml b/recipes/libs/fribidi/recipe.toml new file mode 100644 index 00000000..65257a46 --- /dev/null +++ b/recipes/libs/fribidi/recipe.toml @@ -0,0 +1,10 @@ +[source] +tar = "https://github.com/fribidi/fribidi/releases/download/v1.0.16/fribidi-1.0.16.tar.xz" +blake3 = "c16ee250f73f149d7d52dc7d285eb73ac755bad7907d237391e23f429b2b71d5" + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_meson -Dbin=false -Dtests=false +""" diff --git a/recipes/libs/glib/recipe.toml b/recipes/libs/glib/recipe.toml new file mode 100644 index 00000000..b0bc7107 --- /dev/null +++ b/recipes/libs/glib/recipe.toml @@ -0,0 +1,22 @@ +[source] +tar = "https://download.gnome.org/sources/glib/2.87/glib-2.87.0.tar.xz" +blake3 = "26b77ae24bc02f85d1c6742fe601167b056085f117cda70da7b805cefa6195e9" +patches = [ + "redox.patch", +] + +[build] +template = "custom" +dependencies = [ + "gettext", + "libffi", + "libiconv", + "pcre2", + "zlib", +] +script = """ +DYNAMIC_INIT +cookbook_meson \ + -Ddefault_library=shared \ + -Dxattr=false +""" diff --git a/recipes/libs/glib/redox.patch b/recipes/libs/glib/redox.patch new file mode 100644 index 00000000..47f8a2fe --- /dev/null +++ b/recipes/libs/glib/redox.patch @@ -0,0 +1,223 @@ +diff -ruwN source-old/fuzzing/fuzz_resolver.c source/fuzzing/fuzz_resolver.c +--- source-old/fuzzing/fuzz_resolver.c 2025-11-03 05:42:10.000000000 -0700 ++++ source/fuzzing/fuzz_resolver.c 2025-11-10 12:32:57.663974728 -0700 +@@ -29,7 +29,7 @@ + gint rrtype) + { + /* g_resolver_records_from_res_query() is only available on Unix */ +-#ifdef G_OS_UNIX ++#if defined(G_OS_UNIX) && !defined(__redox__) + GList *record_list = NULL; + + /* Data too long? */ +diff -ruwN source-old/gio/gcredentialsprivate.h source/gio/gcredentialsprivate.h +--- source-old/gio/gcredentialsprivate.h 2025-11-03 05:42:10.000000000 -0700 ++++ source/gio/gcredentialsprivate.h 2025-11-10 12:35:09.114747806 -0700 +@@ -104,7 +104,7 @@ + */ + #undef G_CREDENTIALS_HAS_PID + +-#ifdef __linux__ ++#if defined(__linux__) || defined(__redox__) + #define G_CREDENTIALS_SUPPORTED 1 + #define G_CREDENTIALS_USE_LINUX_UCRED 1 + #define G_CREDENTIALS_NATIVE_TYPE G_CREDENTIALS_TYPE_LINUX_UCRED +diff -ruwN source-old/gio/glocalfile.c source/gio/glocalfile.c +--- source-old/gio/glocalfile.c 2025-11-03 05:42:10.000000000 -0700 ++++ source/gio/glocalfile.c 2025-11-10 12:32:57.664235788 -0700 +@@ -47,6 +47,10 @@ + #include + #endif + ++#if defined(__redox__) ++#undef AT_FDCWD ++#endif ++ + #ifndef O_BINARY + #define O_BINARY 0 + #endif +diff -ruwN source-old/gio/gnetworking.h.in source/gio/gnetworking.h.in +--- source-old/gio/gnetworking.h.in 2025-11-03 05:42:10.000000000 -0700 ++++ source/gio/gnetworking.h.in 2025-11-10 12:32:57.664602707 -0700 +@@ -40,13 +40,17 @@ + #include + #include + #include ++#if !defined(__redox__) + #include ++#endif + #include + #include + #include + + #include ++#if !defined(__redox__) + #include ++#endif + @NAMESER_COMPAT_INCLUDE@ + + #ifndef __GI_SCANNER__ +diff -ruwN source-old/gio/gthreadedresolver.c source/gio/gthreadedresolver.c +--- source-old/gio/gthreadedresolver.c 2025-11-03 05:42:10.000000000 -0700 ++++ source/gio/gthreadedresolver.c 2025-11-10 12:32:57.664870630 -0700 +@@ -698,7 +698,7 @@ + } + + +-#if defined(G_OS_UNIX) ++#if defined(G_OS_UNIX) && !defined(__redox__) + + #if defined __BIONIC__ && !defined BIND_4_COMPAT + /* Copy from bionic/libc/private/arpa_nameser_compat.h +@@ -1393,7 +1393,11 @@ + { + GList *records; + +-#if defined(G_OS_UNIX) ++#if defined(__redox__) ++ g_set_error (error, G_RESOLVER_ERROR, G_RESOLVER_ERROR_INTERNAL, ++ _("No support for resolving “%s” on redox"), rrname); ++ return NULL; ++#elif defined(G_OS_UNIX) + gint len = 512; + gint herr; + GByteArray *answer; +diff -ruwN source-old/gio/gunixconnection.c source/gio/gunixconnection.c +--- source-old/gio/gunixconnection.c 2025-11-03 05:42:10.000000000 -0700 ++++ source/gio/gunixconnection.c 2025-11-10 12:36:14.017908505 -0700 +@@ -496,7 +496,7 @@ + GSocket *socket; + gint n; + gssize num_bytes_read; +-#ifdef __linux__ ++#if defined(__linux__) || defined(__redox__) + gboolean turn_off_so_passcreds; + #endif + +@@ -512,7 +512,7 @@ + * already. We also need to turn it off when we're done. See + * #617483 for more discussion. + */ +-#ifdef __linux__ ++#if defined(__linux__) || defined(__redox__) + { + gint opt_val; + +@@ -626,7 +626,7 @@ + + out: + +-#ifdef __linux__ ++#if defined(__linux__) || defined(__redox__) + if (turn_off_so_passcreds) + { + if (!g_socket_set_option (socket, +diff -ruwN source-old/gio/gunixmounts.c source/gio/gunixmounts.c +--- source-old/gio/gunixmounts.c 2025-11-03 05:42:10.000000000 -0700 ++++ source/gio/gunixmounts.c 2025-11-10 12:32:57.665218112 -0700 +@@ -1114,7 +1114,7 @@ + } + + /* QNX {{{2 */ +-#elif defined (HAVE_QNX) ++#elif defined (HAVE_QNX) || defined(__redox__) + + static char * + get_mtab_monitor_file (void) +@@ -1758,6 +1758,28 @@ + return NULL; + } + ++#elif defined(__redox__) ++ ++static GUnixMountPoint ** ++_g_unix_mount_points_get_from_file (const char *table_path, ++ uint64_t *time_read_out, ++ size_t *n_points_out) ++{ ++ /* Not supported on Redox. */ ++ if (time_read_out != NULL) ++ *time_read_out = 0; ++ if (n_points_out != NULL) ++ *n_points_out = 0; ++ return NULL; ++} ++ ++static GList * ++_g_get_unix_mount_points (void) ++{ ++ /* Not supported on Redox. */ ++ return NULL; ++} ++ + /* Common code {{{2 */ + #else + #error No g_get_mount_table() implementation for system +diff -ruwN source-old/gio/meson.build source/gio/meson.build +--- source-old/gio/meson.build 2025-11-03 05:42:10.000000000 -0700 ++++ source/gio/meson.build 2025-11-10 12:32:57.665641216 -0700 +@@ -18,7 +18,7 @@ + + gnetworking_h_nameser_compat_include = '' + +-if host_system not in ['windows', 'android'] ++if host_system not in ['windows', 'android', 'redox'] + # Don't check for C_IN on Android since it does not define it in public + # headers, we define it ourselves wherever necessary + if not cc.compiles('''#include +@@ -39,7 +39,7 @@ + + network_libs = [ ] + network_args = [ ] +-if host_system != 'windows' ++if host_system not in ['windows', 'redox'] + # res_query() + res_query_test = '''#include + int main (int argc, char ** argv) { +diff -ruwN source-old/gio/tests/gdbus-server-auth.c source/gio/tests/gdbus-server-auth.c +--- source-old/gio/tests/gdbus-server-auth.c 2025-11-03 05:42:10.000000000 -0700 ++++ source/gio/tests/gdbus-server-auth.c 2025-11-10 12:36:39.750972219 -0700 +@@ -243,7 +243,7 @@ + } + else /* We should prefer EXTERNAL whenever it is allowed. */ + { +-#ifdef __linux__ ++#if defined(__linux__) || defined(__redox__) + /* We know that both GDBus and libdbus support full credentials-passing + * on Linux. */ + g_assert_cmpint (uid, ==, getuid ()); +diff -ruwN source-old/glib/glib-unix.c source/glib/glib-unix.c +--- source-old/glib/glib-unix.c 2025-11-03 05:42:10.000000000 -0700 ++++ source/glib/glib-unix.c 2025-11-10 12:32:57.665846181 -0700 +@@ -74,6 +74,10 @@ + #include + #endif /* defined (__FreeBSD__ )*/ + ++#if defined(__redox__) ++#include ++#endif ++ + G_STATIC_ASSERT (sizeof (ssize_t) == GLIB_SIZEOF_SSIZE_T); + G_STATIC_ASSERT (G_ALIGNOF (gssize) == G_ALIGNOF (ssize_t)); + G_STATIC_ASSERT (G_SIGNEDNESS_OF (ssize_t) == 1); +@@ -1004,6 +1008,20 @@ + g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_NOSYS, + "g_unix_fd_query_path() not supported on HURD"); + return NULL; ++#elif defined(__redox__) ++ char file_path[PATH_MAX] = {0}; ++ ++ if (redox_fpath (fd, file_path, PATH_MAX) < 0) ++ { ++ int errsv = errno; ++ ++ g_set_error (error, G_FILE_ERROR, g_file_error_from_errno (errsv), ++ "Error querying file information for FD %d: %s", ++ fd, g_strerror (errsv)); ++ return NULL; ++ } ++ ++ return g_strdup (file_path); + #else + #error "g_unix_fd_query_path() not supported on this platform" + #endif diff --git a/recipes/libs/gstreamer/recipe.toml b/recipes/libs/gstreamer/recipe.toml new file mode 100644 index 00000000..4944a00b --- /dev/null +++ b/recipes/libs/gstreamer/recipe.toml @@ -0,0 +1,79 @@ +[source] +tar = "https://gitlab.freedesktop.org/gstreamer/gstreamer/-/archive/1.24.12/gstreamer-1.24.12.tar.gz" +blake3 = "181daf73050f7472ec656e7461b7f67028d6002c1133870576033a32e43a364f" +patches = ["redox.patch"] + +[build] +template = "custom" +dependencies = [ + "bzip2", + "cairo", + "curl", + "expat", + #TODO: "ffmpeg6", + "fontconfig", + "freetype2", + "fribidi", + "gdk-pixbuf", + "gettext", + "glib", + "harfbuzz", + "libass", + "libffi", + "libgmp", + "libiconv", + "libicu", + "libjpeg", + "libmodplug1", + "libnettle", + "libogg", + "libpng", + "libpsl", + "libpthread-stubs", + "libsndfile", + "libsoup", + "libvorbis", + "libwebp", + "libx11", + "libxau", + "libxcb", + #TODO: "libxdamage", + "libxext", + "libxfixes", + "libxi", + "libxml2", + "libxxf86vm", + "mesa-x11", + "nghttp2", + #TODO: "openal", + "openssl1", + "pango", + "pcre2", + "pixman", + "sqlite3", + "x11proto", + "xextproto", + "xz", + "zlib", +] +script = """ +DYNAMIC_INIT + +export GLIB_GENMARSHAL="$(which glib-genmarshal)" +export GLIB_MKENUMS="$(which glib-mkenums)" + +CFLAGS="${CFLAGS} -DM_LN2=0.69314718055994530942" +cookbook_meson \ + -Ddevtools=disabled \ + -Dexamples=disabled \ + -Dlibav=disabled \ + -Dlibnice=disabled \ + -Dorc=disabled \ + -Dtests=disabled \ + -Dtools=enabled \ + -Dgstreamer:check=disabled \ + -Dgstreamer:coretracers=disabled \ + -Dgst-plugins-bad:shm=disabled \ + -Dgst-plugins-base:xshm=disabled \ + -Dgst-plugins-good:ximagesrc-xshm=disabled +""" diff --git a/recipes/libs/gstreamer/redox.patch b/recipes/libs/gstreamer/redox.patch new file mode 100644 index 00000000..5818879f --- /dev/null +++ b/recipes/libs/gstreamer/redox.patch @@ -0,0 +1,19 @@ +diff -ruwN gstreamer-1.20.7/subprojects/gst-plugins-base/gst-libs/gst/tag/meson.build source/subprojects/gst-plugins-base/gst-libs/gst/tag/meson.build +--- gstreamer-1.20.7/subprojects/gst-plugins-base/gst-libs/gst/tag/meson.build 2023-07-26 09:18:38.000000000 -0600 ++++ source/subprojects/gst-plugins-base/gst-libs/gst/tag/meson.build 2025-04-10 17:19:26.509676357 -0600 +@@ -135,10 +135,10 @@ + install: false) + endif + +-executable('mklicensestables', 'mklicensestables.c', +- c_args : gst_plugins_base_args, +- include_directories: [configinc], +- dependencies : [tag_dep, gst_base_dep], +- install : false) ++#executable('mklicensestables', 'mklicensestables.c', ++# c_args : gst_plugins_base_args, ++# include_directories: [configinc], ++# dependencies : [tag_dep, gst_base_dep], ++# install : false) + + gst_tag_dir = meson.current_source_dir() diff --git a/recipes/libs/harfbuzz/recipe.toml b/recipes/libs/harfbuzz/recipe.toml new file mode 100644 index 00000000..33c03043 --- /dev/null +++ b/recipes/libs/harfbuzz/recipe.toml @@ -0,0 +1,23 @@ +[source] +tar = "https://github.com/harfbuzz/harfbuzz/releases/download/11.0.1/harfbuzz-11.0.1.tar.xz" +blake3 = "51f0edaaf2e9b7a7176d3252f15d03d409ef7ad35f77b050c407de89f85b77c5" + +[build] +template = "custom" +dependencies = [ + "freetype2", + "gettext", + "glib", + "libffi", + "libiconv", + "libicu", + "libpng", + "pcre2", + "zlib" +] +script = """ +DYNAMIC_INIT +cookbook_meson \ + -Ddocs=disabled \ + -Dtests=disabled +""" diff --git a/recipes/libs/jansson/jansson.patch b/recipes/libs/jansson/jansson.patch new file mode 100644 index 00000000..2224e95c --- /dev/null +++ b/recipes/libs/jansson/jansson.patch @@ -0,0 +1,12 @@ +diff -ru source-new/config.sub source/config.sub +--- source-new/config.sub 2017-11-06 18:59:18.499577613 -0800 ++++ source/config.sub 2017-11-02 19:26:02.253397873 -0700 +@@ -1368,7 +1368,7 @@ + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. +- -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ ++ -gnu* | -bsd* | -redox* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ + | -sym* | -kopensolaris* | -plan9* \ diff --git a/recipes/libs/jansson/recipe.toml b/recipes/libs/jansson/recipe.toml new file mode 100644 index 00000000..2e2538d9 --- /dev/null +++ b/recipes/libs/jansson/recipe.toml @@ -0,0 +1,14 @@ +[source] +tar = "https://github.com/akheron/jansson/releases/download/v2.10/jansson-2.10.tar.gz" +blake3 = "3c74f374a6c7ac5e323f72d87e49e5309ca922ca26cfe4992873b31f28776624" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/libs/libarchive/recipe.toml b/recipes/libs/libarchive/recipe.toml new file mode 100644 index 00000000..033f271e --- /dev/null +++ b/recipes/libs/libarchive/recipe.toml @@ -0,0 +1,9 @@ +[source] +tar = "https://libarchive.org/downloads/libarchive-3.6.2.tar.xz" +blake3 = "f98695fe81235a74fa3fc2c3ba0f0d4f13ea15f9be3850b83e304cf5d78be710" +patches = [ + "redox.patch" +] + +[build] +template = "configure" diff --git a/recipes/libs/libarchive/redox.patch b/recipes/libs/libarchive/redox.patch new file mode 100644 index 00000000..de545f29 --- /dev/null +++ b/recipes/libs/libarchive/redox.patch @@ -0,0 +1,13 @@ +diff -ruwN source/configure source-new/configure +--- source/configure 2022-12-09 20:38:47.000000000 +0700 ++++ source-new/configure 2025-09-14 17:17:50.138530195 +0700 +@@ -19039,7 +19039,8 @@ + ac_fn_c_check_func "$LINENO" "fstatat" "ac_cv_func_fstatat" + if test "x$ac_cv_func_fstatat" = xyes + then : +- printf "%s\n" "#define HAVE_FSTATAT 1" >>confdefs.h ++# When fstatat works, remove this patch ++# printf "%s\n" "#define HAVE_FSTATAT 1" >>confdefs.h + + fi + ac_fn_c_check_func "$LINENO" "fstatfs" "ac_cv_func_fstatfs" diff --git a/recipes/libs/libatomic/recipe.toml b/recipes/libs/libatomic/recipe.toml new file mode 100644 index 00000000..e6f08a2e --- /dev/null +++ b/recipes/libs/libatomic/recipe.toml @@ -0,0 +1,16 @@ +[source] +same_as = "../../dev/gcc13" + +[build] +template = "custom" +dependencies = [ + "libgmp", + "libmpfr", + "mpc", + "zlib" +] +script = """ +DYNAMIC_INIT +COOKBOOK_CONFIGURE="${COOKBOOK_SOURCE}/libatomic/configure" +cookbook_configure +""" diff --git a/recipes/libs/libcosmic/recipe.toml b/recipes/libs/libcosmic/recipe.toml new file mode 100644 index 00000000..cd89c2f6 --- /dev/null +++ b/recipes/libs/libcosmic/recipe.toml @@ -0,0 +1,9 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/libcosmic.git" +branch = "redox" + +[build] +template = "custom" +script = """ +cookbook_cargo_packages cosmic +""" diff --git a/recipes/libs/libffi/recipe.toml b/recipes/libs/libffi/recipe.toml new file mode 100644 index 00000000..8851cfce --- /dev/null +++ b/recipes/libs/libffi/recipe.toml @@ -0,0 +1,18 @@ +[source] +tar = "https://github.com/libffi/libffi/releases/download/v3.4.5/libffi-3.4.5.tar.gz" +blake3 = "f9a2cfe1d2ac8d211c18c99f9cfafe5537925101bfb92c2d44d844680dd82264" +script = """ +DYNAMIC_INIT +cp ${COOKBOOK_HOST_SYSROOT}/share/aclocal/libtool.m4 ./m4/ +cp -fp ${COOKBOOK_HOST_SYSROOT}/share/libtool/build-aux/ltmain.sh ./ +cp ${COOKBOOK_HOST_SYSROOT}/share/aclocal/ltversion.m4 ./m4/ + +autotools_recursive_regenerate -I$(realpath ./m4) +""" + +[build] +template = "custom" +script = """ +DYNAMIC_STATIC_INIT +cookbook_configure +""" \ No newline at end of file diff --git a/recipes/libs/libflac/recipe.toml b/recipes/libs/libflac/recipe.toml new file mode 100644 index 00000000..fbf20faa --- /dev/null +++ b/recipes/libs/libflac/recipe.toml @@ -0,0 +1,8 @@ +[source] +tar = "https://github.com/xiph/flac/releases/download/1.4.2/flac-1.4.2.tar.xz" +blake3 = "d165b9a18eb83b6f6e9993cc2074547566df706fc61464eb17ff088fd0c88104" +[build] +template = "configure" +dependencies = [ + "libogg", +] diff --git a/recipes/libs/libgcc/recipe.toml b/recipes/libs/libgcc/recipe.toml new file mode 100644 index 00000000..da72a5e9 --- /dev/null +++ b/recipes/libs/libgcc/recipe.toml @@ -0,0 +1,6 @@ +[build] +template = "custom" +script = """ +mkdir -p "${COOKBOOK_STAGE}/lib" +cp -av ${COOKBOOK_HOST_SYSROOT}/${GNU_TARGET}/lib/libgcc_s.so* ${COOKBOOK_STAGE}/lib/ +""" diff --git a/recipes/libs/libgmp/recipe.toml b/recipes/libs/libgmp/recipe.toml new file mode 100644 index 00000000..d43a6ab9 --- /dev/null +++ b/recipes/libs/libgmp/recipe.toml @@ -0,0 +1,18 @@ +# GNU Multiple Precision Arithmetic Library (GMP) is a free and open source +# library for arbitrary-precision arithmetic, operating on signed integers, +# rational numbers, and floating-point numbers. + +[source] +tar = "https://ftp.gnu.org/gnu/gmp/gmp-6.3.0.tar.xz" +blake3 = "fffe4996713928ae19331c8ef39129e46d3bf5b7182820656fd4639435cd83a4" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" \ No newline at end of file diff --git a/recipes/libs/libiconv/01_redox.patch b/recipes/libs/libiconv/01_redox.patch new file mode 100644 index 00000000..1e083ca8 --- /dev/null +++ b/recipes/libs/libiconv/01_redox.patch @@ -0,0 +1,36 @@ +diff '--color=auto' -ur source/srclib/getprogname.c source-new/srclib/getprogname.c +--- source/srclib/getprogname.c 2022-01-04 19:33:29.000000000 +1100 ++++ source-new/srclib/getprogname.c 2024-11-24 00:42:48.384997609 +1100 +@@ -28,6 +28,14 @@ + # include + #endif + ++#if defined(__redox__) ++# include ++# include ++# include ++# include ++# include ++#endif ++ + #ifdef __MVS__ + # ifndef _OPEN_SYS + # define _OPEN_SYS +@@ -287,6 +295,17 @@ + close (fd); + } + return "?"; ++# elif defined(__redox__) ++ char filename[PATH_MAX]; ++ int fd = open ("sys:exe", O_RDONLY); ++ if (fd > 0) { ++ int len = read(fd, filename, PATH_MAX-1); ++ if (len > 0) { ++ filename[len] = '\0'; ++ return strdup(filename); ++ } ++ } ++ return NULL; + # else + # error "getprogname module not ported to this OS" + # endif diff --git a/recipes/libs/libiconv/recipe.toml b/recipes/libs/libiconv/recipe.toml new file mode 100644 index 00000000..a70ef826 --- /dev/null +++ b/recipes/libs/libiconv/recipe.toml @@ -0,0 +1,27 @@ +[source] +tar = "https://ftp.gnu.org/gnu/libiconv/libiconv-1.17.tar.gz" +blake3 = "820b3b9fd3e2181bfb95475f01e9a3451e6d751e4f8c98ebcdcca1d8aa720f7f" +patches = [ + "01_redox.patch" +] +script = """ +DYNAMIC_INIT +cp ${COOKBOOK_HOST_SYSROOT}/share/aclocal/libtool.m4 ./m4/ +cp ${COOKBOOK_HOST_SYSROOT}/share/aclocal/libtool.m4 ./libcharset/m4/ +cp -fp ${COOKBOOK_HOST_SYSROOT}/share/libtool/build-aux/ltmain.sh ./build-aux/ +cp -fp ${COOKBOOK_HOST_SYSROOT}/share/libtool/build-aux/ltmain.sh ./libcharset/build-aux/ +cp ${COOKBOOK_HOST_SYSROOT}/share/aclocal/ltversion.m4 ./m4/ +cp ${COOKBOOK_HOST_SYSROOT}/share/aclocal/ltversion.m4 ./libcharset/m4/ + +autotools_recursive_regenerate -I$(realpath ./m4) -I$(realpath ./srcm4) +""" + +[build] +template = "custom" +script = """ +DYNAMIC_STATIC_INIT +COOKBOOK_CONFIGURE_FLAGS+=( + ac_cv_have_decl_program_invocation_name=no +) +cookbook_configure +""" \ No newline at end of file diff --git a/recipes/libs/libjpeg/recipe.toml b/recipes/libs/libjpeg/recipe.toml new file mode 100644 index 00000000..b7b41741 --- /dev/null +++ b/recipes/libs/libjpeg/recipe.toml @@ -0,0 +1,11 @@ +# libjpeg-turbo is compatible with libjpeg +[source] +tar = "https://github.com/libjpeg-turbo/libjpeg-turbo/releases/download/3.1.0/libjpeg-turbo-3.1.0.tar.gz" +blake3 = "3efc14da55c56fc0a6a50f109d9e1ee8a91f5ae7dd17a21d3aebe04a65f3ee96" + +[build] +template = "custom" +script = """ +DYNAMIC_STATIC_INIT +cookbook_cmake +""" diff --git a/recipes/libs/libmodplug1/recipe.toml b/recipes/libs/libmodplug1/recipe.toml new file mode 100644 index 00000000..3e3420c0 --- /dev/null +++ b/recipes/libs/libmodplug1/recipe.toml @@ -0,0 +1,14 @@ +[source] +tar = "https://pilotfiber.dl.sourceforge.net/project/modplug-xmms/libmodplug/0.8.9.0/libmodplug-0.8.9.0.tar.gz" +blake3 = "01d71f7fe4e1abeb848db02b74c70ab2fd51e824f5ea7e9e18631571a76c3592" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/libs/libmpfr/recipe.toml b/recipes/libs/libmpfr/recipe.toml new file mode 100644 index 00000000..ab5477a9 --- /dev/null +++ b/recipes/libs/libmpfr/recipe.toml @@ -0,0 +1,17 @@ +[source] +tar = "https://www.mpfr.org/mpfr-current/mpfr-4.2.2.tar.xz" +blake3 = "11d59d061ef8db588650bc7dc5172594a6e5aad013994801c6f63011a62b191d" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +template = "custom" +dependencies = [ + "libgmp", +] +script = """ +DYNAMIC_INIT +cookbook_configure +""" \ No newline at end of file diff --git a/recipes/libs/libnettle/recipe.toml b/recipes/libs/libnettle/recipe.toml new file mode 100644 index 00000000..b5dd3ce4 --- /dev/null +++ b/recipes/libs/libnettle/recipe.toml @@ -0,0 +1,17 @@ +[source] +tar = "https://ftp.gnu.org/gnu/nettle/nettle-3.9.1.tar.gz" +blake3 = "e4bfbda32f4fdf5ed96c152efe3a3867193b690faa5378d02a2a6fd052ee3393" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +template = "custom" +dependencies = [ + "libgmp" +] +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/libs/libogg/recipe.toml b/recipes/libs/libogg/recipe.toml new file mode 100644 index 00000000..9e219c87 --- /dev/null +++ b/recipes/libs/libogg/recipe.toml @@ -0,0 +1,10 @@ +[source] +tar = "https://github.com/xiph/ogg/releases/download/v1.3.4/libogg-1.3.4.tar.xz" +blake3 = "1cffbe7c498555ddfdb1390d7a38179c4bead6129ea37b1b1d54f3a76b816304" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +template = "configure" diff --git a/recipes/libs/liborbital/recipe.toml b/recipes/libs/liborbital/recipe.toml new file mode 100644 index 00000000..469d57f1 --- /dev/null +++ b/recipes/libs/liborbital/recipe.toml @@ -0,0 +1,12 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/liborbital.git" + +[build] +template = "custom" +script = """ +DYNAMIC_STATIC_INIT +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ +"${COOKBOOK_CARGO}" build --release +# other than x86_64 this will trigger error because of lacking .so files, which is fine +"${COOKBOOK_MAKE}" install HOST="${TARGET}" DESTDIR="${COOKBOOK_STAGE}" || true +""" diff --git a/recipes/libs/libpng/recipe.toml b/recipes/libs/libpng/recipe.toml new file mode 100644 index 00000000..cd413daf --- /dev/null +++ b/recipes/libs/libpng/recipe.toml @@ -0,0 +1,17 @@ +[source] +tar = "https://github.com/pnggroup/libpng/archive/refs/tags/v1.6.46.tar.gz" +blake3 = "36f4bbb48c70975116b00ab0cff577931b96f703b2774ac3b33131d001419435" +script = """ +DYNAMIC_INIT +chmod +w config.sub +GNU_CONFIG_GET config.sub +autotools_recursive_regenerate +""" + +[build] +template = "custom" +dependencies = ["zlib"] +script = """ +DYNAMIC_STATIC_INIT +cookbook_configure +""" diff --git a/recipes/libs/libpsl/recipe.toml b/recipes/libs/libpsl/recipe.toml new file mode 100644 index 00000000..cbc48788 --- /dev/null +++ b/recipes/libs/libpsl/recipe.toml @@ -0,0 +1,14 @@ +[source] +tar = "https://github.com/rockdaboot/libpsl/releases/download/0.21.5/libpsl-0.21.5.tar.lz" +blake3 = "91318b7b876b12ff4649b7a0d6f6ed4ab1ab44f48a49508c8978ab7b4ccf3298" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/libs/libsodium/recipe.toml b/recipes/libs/libsodium/recipe.toml new file mode 100644 index 00000000..8f6a2db3 --- /dev/null +++ b/recipes/libs/libsodium/recipe.toml @@ -0,0 +1,15 @@ +[source] +tar = "https://github.com/jedisct1/libsodium/archive/1.0.16.tar.gz" +blake3 = "2482633f872c173f9a42e6badb44c3efb042e783e664fdf8b1046babfa2405e7" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +wget -O build-aux/config.sub "https://gitlab.redox-os.org/redox-os/gnu-config/-/raw/master/config.sub?inline=false" +""" + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/libs/libssh2/recipe.toml b/recipes/libs/libssh2/recipe.toml new file mode 100644 index 00000000..1b33f11a --- /dev/null +++ b/recipes/libs/libssh2/recipe.toml @@ -0,0 +1,15 @@ +[source] +tar = "https://www.libssh2.org/download/libssh2-1.10.0.tar.gz" +blake3 = "2447216ce82c1d22301456bb02f60dfb6688f1461417b90f900c099a87f1292f" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +template = "custom" +dependencies = ["openssl1"] +script = """ +DYNAMIC_INIT +cookbook_configure +""" \ No newline at end of file diff --git a/recipes/libs/libstdcxx-v3/recipe.toml b/recipes/libs/libstdcxx-v3/recipe.toml new file mode 100644 index 00000000..be917ca2 --- /dev/null +++ b/recipes/libs/libstdcxx-v3/recipe.toml @@ -0,0 +1,18 @@ +[source] +same_as = "../../dev/gcc13" + +[build] +template = "custom" +dependencies = [ + "libgmp", + "libmpfr", + "mpc", + "zlib" +] +script = """ +DYNAMIC_INIT +CPPINCLUDE="${COOKBOOK_HOST_SYSROOT}/$TARGET/include/c++/13.2.0" +export CPPFLAGS+=" -I${CPPINCLUDE} -I${CPPINCLUDE}/$TARGET/bits" +COOKBOOK_CONFIGURE="${COOKBOOK_SOURCE}/libstdc++-v3/configure" +cookbook_configure +""" diff --git a/recipes/libs/libstdcxx/recipe.toml b/recipes/libs/libstdcxx/recipe.toml new file mode 100644 index 00000000..232733be --- /dev/null +++ b/recipes/libs/libstdcxx/recipe.toml @@ -0,0 +1,6 @@ +[build] +template = "custom" +script = """ +mkdir -p "${COOKBOOK_STAGE}/lib" +cp -av ${COOKBOOK_HOST_SYSROOT}/${GNU_TARGET}/lib/libstdc++.so* ${COOKBOOK_STAGE}/lib/ +""" diff --git a/recipes/libs/libuv/recipe.toml b/recipes/libs/libuv/recipe.toml new file mode 100644 index 00000000..23b563c3 --- /dev/null +++ b/recipes/libs/libuv/recipe.toml @@ -0,0 +1,15 @@ +[source] +tar = "https://dist.libuv.org/dist/v1.51.0/libuv-v1.51.0.tar.gz" +blake3 = "e8b5e68bc2d0776ac4ea67df59d694fca58d5cc570c103443a2284e723d01fc2" +patches = ["redox.patch"] + +[build] +template = "custom" +script = """ +DYNAMIC_INIT + +COOKBOOK_CMAKE_FLAGS+=( + -DBUILD_TESTING=Off +) +cookbook_cmake +""" diff --git a/recipes/libs/libuv/redox.patch b/recipes/libs/libuv/redox.patch new file mode 100644 index 00000000..a99c1c54 --- /dev/null +++ b/recipes/libs/libuv/redox.patch @@ -0,0 +1,353 @@ +diff -ruwN source/CMakeLists.txt source-new/CMakeLists.txt +--- source/CMakeLists.txt 2025-04-25 16:50:27.000000000 +0700 ++++ source-new/CMakeLists.txt 2025-10-10 11:19:40.329762962 +0700 +@@ -1,3 +1,4 @@ ++set (CMAKE_CXX_STANDARD 99) + cmake_minimum_required(VERSION 3.10) + + if(POLICY CMP0091) +@@ -323,6 +324,18 @@ + src/unix/hurd.c) + endif() + ++ ++if(CMAKE_SYSTEM_NAME STREQUAL "UnixPaths") # Redox ++ list(APPEND uv_libraries dl) ++ list(APPEND uv_sources ++ src/unix/no-fsevents.c ++ src/unix/proctitle.c ++ src/unix/posix-hrtime.c ++ src/unix/posix-poll.c ++ src/unix/redox.c ++ ) ++endif() ++ + if(CMAKE_SYSTEM_NAME STREQUAL "Linux") + list(APPEND uv_defines _GNU_SOURCE _POSIX_C_SOURCE=200112) + list(APPEND uv_libraries dl rt) +diff -ruwN source/include/uv/unix.h source-new/include/uv/unix.h +--- source/include/uv/unix.h 2025-04-25 16:50:27.000000000 +0700 ++++ source-new/include/uv/unix.h 2025-10-10 11:18:29.024386515 +0700 +@@ -66,6 +66,7 @@ + defined(__MSYS__) || \ + defined(__HAIKU__) || \ + defined(__QNX__) || \ ++ defined(__redox__) || \ + defined(__GNU__) + # include "uv/posix.h" + #endif +diff -ruwN source/src/unix/core.c source-new/src/unix/core.c +--- source/src/unix/core.c 2025-04-25 16:50:27.000000000 +0700 ++++ source-new/src/unix/core.c 2025-10-10 11:23:22.143824390 +0700 +@@ -110,6 +110,10 @@ + # include + #endif + ++#if defined(__redox__) ++#define MSG_CMSG_CLOEXEC 0x40000000 //linux specific flag ++#endif ++ + static void uv__run_pending(uv_loop_t* loop); + + /* Verify that uv_buf_t is ABI-compatible with struct iovec. */ +@@ -722,7 +726,8 @@ + defined(__FreeBSD__) || \ + defined(__NetBSD__) || \ + defined(__OpenBSD__) || \ +- defined(__linux__) ++ defined(__linux__) || \ ++ defined(__redox__) + ssize_t rc; + rc = recvmsg(fd, msg, flags | MSG_CMSG_CLOEXEC); + if (rc == -1) +@@ -1644,6 +1649,11 @@ + * So the output parameter priority is actually the nice value. + */ + int uv_thread_getpriority(uv_thread_t tid, int* priority) { ++#ifdef __redox__ ++ if (priority == NULL) ++ return UV_EINVAL; ++ *priority = 0; ++#else + int r; + int policy; + struct sched_param param; +@@ -1670,6 +1680,7 @@ + #endif + + *priority = param.sched_priority; ++#endif + return 0; + } + +@@ -1695,7 +1706,7 @@ + * If the function fails, the return value is non-zero. + */ + int uv_thread_setpriority(uv_thread_t tid, int priority) { +-#if !defined(__GNU__) ++#if !defined(__GNU__) && !defined(__redox__) + int r; + int min; + int max; +diff -ruwN source/src/unix/fs.c source-new/src/unix/fs.c +--- source/src/unix/fs.c 2025-04-25 16:50:27.000000000 +0700 ++++ source-new/src/unix/fs.c 2025-10-10 11:18:29.024993834 +0700 +@@ -77,7 +77,8 @@ + defined(__MVS__) || \ + defined(__NetBSD__) || \ + defined(__HAIKU__) || \ +- defined(__QNX__) ++ defined(__QNX__) || \ ++ defined(__redox__) + # include + #else + # include +@@ -683,13 +684,13 @@ + defined(__MVS__) || \ + defined(__NetBSD__) || \ + defined(__HAIKU__) || \ +- defined(__QNX__) ++ defined(__QNX__) || \ ++ defined(__redox__) + struct statvfs buf; + + if (0 != statvfs(req->path, &buf)) + #else + struct statfs buf; +- + if (0 != statfs(req->path, &buf)) + #endif /* defined(__sun) */ + return -1; +@@ -705,7 +706,8 @@ + defined(__OpenBSD__) || \ + defined(__NetBSD__) || \ + defined(__HAIKU__) || \ +- defined(__QNX__) ++ defined(__QNX__) || \ ++ defined(__redox__) + stat_fs->f_type = 0; /* f_type is not supported. */ + #else + stat_fs->f_type = buf.f_type; +diff -ruwN source/src/unix/proctitle.c source-new/src/unix/proctitle.c +--- source/src/unix/proctitle.c 2025-04-25 16:50:27.000000000 +0700 ++++ source-new/src/unix/proctitle.c 2025-10-10 11:18:29.025229760 +0700 +@@ -30,7 +30,13 @@ + size_t cap; /* Maximum capacity. Computed once in uv_setup_args(). */ + }; + ++#if defined(__redox__) ++void uv__set_process_title(const char* title) { ++ // requires sys/prctl ++} ++#else + extern void uv__set_process_title(const char* title); ++#endif + + static uv_mutex_t process_title_mutex; + static uv_once_t process_title_mutex_once = UV_ONCE_INIT; +diff -ruwN source/src/unix/redox.c source-new/src/unix/redox.c +--- source/src/unix/redox.c 1970-01-01 07:00:00.000000000 +0700 ++++ source-new/src/unix/redox.c 2025-10-10 11:18:29.028345924 +0700 +@@ -0,0 +1,102 @@ ++/* Copyright libuv contributors. All rights reserved. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a copy ++ * of this software and associated documentation files (the "Software"), to ++ * deal in the Software without restriction, including without limitation the ++ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or ++ * sell copies of the Software, and to permit persons to whom the Software is ++ * furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included in ++ * all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING ++ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS ++ * IN THE SOFTWARE. ++ */ ++ ++#include "uv.h" ++#include "internal.h" ++ ++#include ++#include ++#include ++ ++static void ++get_mem_info(uint64_t* totalmem, uint64_t* freemem) { ++ *totalmem = 0; ++ *freemem = 0; ++} ++ ++ ++void uv_loadavg(double avg[3]) { ++ avg[0] = 0.0; ++ avg[1] = 0.0; ++ avg[2] = 0.0; ++} ++ ++ ++int uv_exepath(char* buffer, size_t* size) { ++ if (buffer == NULL || size == NULL || *size == 0) { ++ return UV_EINVAL; ++ } ++ FILE* fp = fopen("/scheme/sys/exe", "r"); ++ if (fp == NULL) { ++ return -errno; ++ } ++ if (fgets(buffer, *size, fp) == NULL) { ++ fclose(fp); ++ return UV_EIO; ++ } ++ fclose(fp); ++ buffer[strcspn(buffer, "\r\n")] = '\0'; ++ *size = strlen(buffer); ++ return 0; ++} ++ ++int uv_interface_addresses(uv_interface_address_t** addresses, int* count) { ++ return 0; ++} ++ ++ ++uint64_t uv_get_free_memory(void) { ++ return 0; ++} ++ ++ ++uint64_t uv_get_total_memory(void) { ++ return 0; ++} ++ ++ ++uint64_t uv_get_constrained_memory(void) { ++ return 0; ++} ++ ++ ++uint64_t uv_get_available_memory(void) { ++ return uv_get_free_memory(); ++} ++ ++ ++int uv_resident_set_memory(size_t* rss) { ++ return 0; ++} ++ ++ ++int uv_uptime(double* uptime) { ++ return 0; ++} ++ ++ ++int uv_cpu_info(uv_cpu_info_t** cpu_infos, int* count) { ++ return 0; ++} ++ ++void uv_free_interface_addresses(uv_interface_address_t* addresses, ++ int count) { ++} +diff -ruwN source/src/unix/stream.c source-new/src/unix/stream.c +--- source/src/unix/stream.c 2025-04-25 16:50:27.000000000 +0700 ++++ source-new/src/unix/stream.c 2025-10-10 11:18:29.028522718 +0700 +@@ -29,7 +29,14 @@ + #include + + #include ++#if defined(__redox__) ++#define _GNU_SOURCE ++#include + #include ++#include ++#else ++#include ++#endif + #include + #include + #include +@@ -39,6 +46,7 @@ + # include + # include + # include ++#endif + + /* Forward declaration */ + typedef struct uv__stream_select_s uv__stream_select_t; +@@ -58,7 +66,6 @@ + fd_set* swrite; + size_t swrite_sz; + }; +-#endif /* defined(__APPLE__) */ + + union uv__cmsg { + struct cmsghdr hdr; +diff -ruwN source/src/unix/tcp.c source-new/src/unix/tcp.c +--- source/src/unix/tcp.c 2025-04-25 16:50:27.000000000 +0700 ++++ source-new/src/unix/tcp.c 2025-10-10 11:26:03.504101758 +0700 +@@ -31,7 +31,7 @@ + #include + + /* ifaddrs is not implemented on AIX and IBM i PASE */ +-#if !defined(_AIX) ++#if !defined(_AIX) && !defined(__redox__) + #include + #endif + +@@ -228,7 +228,7 @@ + static int uv__ipv6_link_local_scope_id(void) { + struct sockaddr_in6* a6; + int rv; +-#if defined(_AIX) ++#if defined(_AIX) || defined(__redox__) + /* AIX & IBM i do not have ifaddrs + * so fallback to use uv_interface_addresses */ + uv_interface_address_t* interfaces; +@@ -268,7 +268,7 @@ + } + + freeifaddrs(ifa); +-#endif /* defined(_AIX) */ ++#endif /* defined(_AIX) || defined(__redox__) */ + + return rv; + } +diff -ruwN source/src/unix/thread.c source-new/src/unix/thread.c +--- source/src/unix/thread.c 2025-04-25 16:50:27.000000000 +0700 ++++ source-new/src/unix/thread.c 2025-10-10 11:25:10.712328011 +0700 +@@ -897,7 +897,7 @@ + abort(); + } + +-#if defined(_AIX) || defined(__MVS__) || defined(__PASE__) ++#if defined(_AIX) || defined(__redox__) || defined(__MVS__) || defined(__PASE__) + int uv__thread_setname(const char* name) { + return UV_ENOSYS; + } +@@ -937,6 +937,7 @@ + + #if (defined(__ANDROID_API__) && __ANDROID_API__ < 26) || \ + defined(_AIX) || \ ++ defined(__redox__) || \ + defined(__MVS__) || \ + defined(__PASE__) + int uv__thread_getname(uv_thread_t* tid, char* name, size_t size) { +diff -ruwN source/src/unix/udp.c source-new/src/unix/udp.c +--- source/src/unix/udp.c 2025-04-25 16:50:27.000000000 +0700 ++++ source-new/src/unix/udp.c 2025-10-10 11:18:29.028778883 +0700 +@@ -31,6 +31,12 @@ + #include + #endif + #include ++#if defined(__redox__) ++#include ++#include ++#include ++#include ++#endif + + #if defined(IPV6_JOIN_GROUP) && !defined(IPV6_ADD_MEMBERSHIP) + # define IPV6_ADD_MEMBERSHIP IPV6_JOIN_GROUP diff --git a/recipes/libs/libvorbis/recipe.toml b/recipes/libs/libvorbis/recipe.toml new file mode 100644 index 00000000..7cbeca05 --- /dev/null +++ b/recipes/libs/libvorbis/recipe.toml @@ -0,0 +1,14 @@ +[source] +tar = "https://github.com/xiph/vorbis/releases/download/v1.3.7/libvorbis-1.3.7.tar.xz" +blake3 = "c67f3f74ec26d93a5571c4404a64eb6e6587d7d77b46b552f7b410f5bc5b1f03" +script = """ +DYNAMIC_INIT +GNU_CONFIG_GET config.sub +autotools_recursive_regenerate +""" + +[build] +template = "configure" +dependencies = [ + "libogg" +] diff --git a/recipes/libs/libxml2/recipe.toml b/recipes/libs/libxml2/recipe.toml new file mode 100644 index 00000000..f37f4296 --- /dev/null +++ b/recipes/libs/libxml2/recipe.toml @@ -0,0 +1,21 @@ +[source] +tar = "https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.3.tar.xz" +blake3 = "0653d3750576299c4cb88740942165671b576ff93019f3d669b3f37136225ab7" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +template = "custom" +dependencies = [ + "xz", + "zlib" +] +script = """ +DYNAMIC_STATIC_INIT +COOKBOOK_CONFIGURE_FLAGS+=( + --without-python +) +cookbook_configure +""" diff --git a/recipes/libs/lua-compat-53/recipe.toml b/recipes/libs/lua-compat-53/recipe.toml new file mode 100644 index 00000000..edbca1c4 --- /dev/null +++ b/recipes/libs/lua-compat-53/recipe.toml @@ -0,0 +1,11 @@ +[source] +git = "https://github.com/lunarmodules/lua-compat-5.3.git" +[build] +template = "custom" +dependencies = [ + "lua54" +] +script = """ +mkdir -pv "${COOKBOOK_STAGE}/include" +cp -r "$COOKBOOK_SOURCE/c-api/." "${COOKBOOK_STAGE}/include" +""" diff --git a/recipes/libs/luv/recipe.toml b/recipes/libs/luv/recipe.toml new file mode 100644 index 00000000..ed5a3b87 --- /dev/null +++ b/recipes/libs/luv/recipe.toml @@ -0,0 +1,17 @@ +[source] +git = "https://github.com/luvit/luv.git" +[build] +template = "custom" +dependencies = [ + "libuv", + "luajit" +] +script = """ +DYNAMIC_INIT +COOKBOOK_CMAKE_FLAGS+=( + -DWITH_LUA_ENGINE=Luajit + -DLUA_BUILD_TYPE=System + -DWITH_SHARED_LIBUV=On +) +cookbook_cmake +""" diff --git a/recipes/libs/mesa-glu/recipe.toml b/recipes/libs/mesa-glu/recipe.toml new file mode 100644 index 00000000..a79880b8 --- /dev/null +++ b/recipes/libs/mesa-glu/recipe.toml @@ -0,0 +1,12 @@ +[source] +tar = "https://archive.mesa3d.org/glu/glu-9.0.3.tar.xz" +blake3 = "beed1665ed983540e7502289ec50c7e66d840820af3e9ef21c9c4a7e9686ab9f" + +[build] +dependencies = ["mesa", "zlib"] +template = "custom" +script = """ +DYNAMIC_INIT + +cookbook_meson -Dgl_provider=osmesa +""" diff --git a/recipes/libs/mesa/recipe.toml b/recipes/libs/mesa/recipe.toml new file mode 100644 index 00000000..d6eb2e9e --- /dev/null +++ b/recipes/libs/mesa/recipe.toml @@ -0,0 +1,42 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/mesa.git" +upstream = "https://gitlab.freedesktop.org/mesa/mesa" +branch = "redox-24.0" + +[build] +template = "custom" +dependencies = [ + "expat", + "libdrm", + "liborbital", + "llvm18", + "zlib", +] +script = """ +DYNAMIC_INIT + +#TODO: Should be CPPFLAGS but cookbook_meson isn't reading it +export CFLAGS+=" -DHAVE_PTHREAD=1 -I${COOKBOOK_SYSROOT}/include/libdrm" +export LLVM_CONFIG="${TARGET}-llvm-config" +export LDFLAGS+=" -lorbital" + +if [ "${COOKBOOK_DYNAMIC}" == "1" ]; then + COOKBOOK_MESON_FLAGS+=(-Dshared-llvm=enabled) +else + COOKBOOK_MESON_FLAGS+=(-Dshared-llvm=disabled) +fi + +cookbook_meson \ + -Ddri-drivers-path=/usr/lib/dri \ + -Degl=enabled \ + -Dglx=disabled \ + -Dllvm=enabled \ + -Dosmesa=true \ + -Dplatforms=redox \ + -Dshader-cache=disabled + +# Hack to add LLVM libs, the list can be seen from meson log and check for matches $("${LLVM_CONFIG}" --libs) +LLVMLIBS="-lLLVMBitReader -lLLVMCore -lLLVMExecutionEngine -lLLVMInstCombine -lLLVMMCDisassembler" +LLVMLIBS+=" -lLLVMMCJIT -lLLVMScalarOpts -lLLVMTransformUtils -lLLVMCoroutines -lLLVMLTO" +sed -i "s/ -lOSMesa / -lOSMesa ${LLVMLIBS} -lstdc++ /" "${COOKBOOK_STAGE}/usr/lib/pkgconfig/osmesa.pc" +""" diff --git a/recipes/libs/mpc/recipe.toml b/recipes/libs/mpc/recipe.toml new file mode 100644 index 00000000..a3d31b91 --- /dev/null +++ b/recipes/libs/mpc/recipe.toml @@ -0,0 +1,20 @@ + # C library for the arithmetic of complex numbers with arbitrarily high + # precision and correct rounding of the result. + +[source] +tar = "https://ftp.gnu.org/gnu/mpc/mpc-1.3.1.tar.gz" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +template = "custom" +dependencies = [ + "libgmp", + "libmpfr", +] +script = """ +DYNAMIC_INIT +cookbook_configure +""" \ No newline at end of file diff --git a/recipes/libs/ncurses/recipe.toml b/recipes/libs/ncurses/recipe.toml new file mode 100644 index 00000000..87fc7479 --- /dev/null +++ b/recipes/libs/ncurses/recipe.toml @@ -0,0 +1,30 @@ +[source] +tar = "https://ftp.gnu.org/gnu/ncurses/ncurses-6.4.tar.gz" +blake3 = "0d1c9fdf53c0ca4bd66ba707d49a079d2dd6f5a960cdec74a56e29952c4ffe73" +patches = [ + "redox.patch" +] + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +COOKBOOK_CONFIGURE_FLAGS+=( + --disable-db-install + --disable-stripping + --without-ada + --without-manpages + --without-tests + cf_cv_func_mkstemp=yes +) +if [ "${COOKBOOK_DYNAMIC}" == "1" ] +then + COOKBOOK_CONFIGURE_FLAGS+=(--with-shared) +fi +cookbook_configure +""" + +[package] +dependencies = [ + "terminfo", +] diff --git a/recipes/libs/ncurses/redox.patch b/recipes/libs/ncurses/redox.patch new file mode 100644 index 00000000..b446db16 --- /dev/null +++ b/recipes/libs/ncurses/redox.patch @@ -0,0 +1,12 @@ +diff -ruwN source/configure source-new/configure +--- source/configure 2022-11-06 04:13:26.000000000 +0700 ++++ source-new/configure 2025-09-17 21:14:28.163192730 +0700 +@@ -6386,7 +6386,7 @@ + fi + cf_cv_rm_so_locs=yes + ;; +- (linux*|gnu*|k*bsd*-gnu) ++ (linux*|gnu*|k*bsd*-gnu|redox*) + if test "$DFT_LWR_MODEL" = "shared" && test -n "$LD_RPATH_OPT" ; then + LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)" + LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" diff --git a/recipes/libs/ncursesw/recipe.toml b/recipes/libs/ncursesw/recipe.toml new file mode 100644 index 00000000..a697aabe --- /dev/null +++ b/recipes/libs/ncursesw/recipe.toml @@ -0,0 +1,30 @@ +[source] +tar = "https://ftp.gnu.org/gnu/ncurses/ncurses-6.4.tar.gz" +blake3 = "0d1c9fdf53c0ca4bd66ba707d49a079d2dd6f5a960cdec74a56e29952c4ffe73" +patches = [ + "redox.patch" +] + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +COOKBOOK_CONFIGURE_FLAGS+=( + --disable-db-install + --disable-ext-colors + --disable-stripping + --enable-widec + --without-ada + --without-manpages + --without-tests + --with-shared + cf_cv_func_mkstemp=yes + cf_cv_wint_t=yes +) +cookbook_configure +""" + +[package] +dependencies = [ + "terminfo", +] diff --git a/recipes/libs/ncursesw/redox.patch b/recipes/libs/ncursesw/redox.patch new file mode 100644 index 00000000..b446db16 --- /dev/null +++ b/recipes/libs/ncursesw/redox.patch @@ -0,0 +1,12 @@ +diff -ruwN source/configure source-new/configure +--- source/configure 2022-11-06 04:13:26.000000000 +0700 ++++ source-new/configure 2025-09-17 21:14:28.163192730 +0700 +@@ -6386,7 +6386,7 @@ + fi + cf_cv_rm_so_locs=yes + ;; +- (linux*|gnu*|k*bsd*-gnu) ++ (linux*|gnu*|k*bsd*-gnu|redox*) + if test "$DFT_LWR_MODEL" = "shared" && test -n "$LD_RPATH_OPT" ; then + LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)" + LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" diff --git a/recipes/libs/nghttp2/recipe.toml b/recipes/libs/nghttp2/recipe.toml new file mode 100644 index 00000000..41bea400 --- /dev/null +++ b/recipes/libs/nghttp2/recipe.toml @@ -0,0 +1,18 @@ +[source] +tar = "https://github.com/nghttp2/nghttp2/releases/download/v1.64.0/nghttp2-1.64.0.tar.xz" +blake3 = "1bbc08de4816769d800c42f501a00c1ba3f5efa1b76e1f65d2e5bdf3aa30354d" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +template = "custom" +script = """ +DYNAMIC_INIT + +COOKBOOK_CONFIGURE_FLAGS+=( + --enable-lib-only +) +cookbook_configure +""" \ No newline at end of file diff --git a/recipes/libs/openssl1/recipe.toml b/recipes/libs/openssl1/recipe.toml new file mode 100644 index 00000000..ea2cb08f --- /dev/null +++ b/recipes/libs/openssl1/recipe.toml @@ -0,0 +1,23 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/openssl.git" +branch = "redox-v1" + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +ARCH="${TARGET%%-*}" +COOKBOOK_CONFIGURE="${COOKBOOK_SOURCE}/Configure" +COOKBOOK_CONFIGURE_FLAGS=( + shared + threads + no-dgram + "redox-${ARCH}" + --prefix="/" +) +export CC="${CC_WRAPPER} ${GNU_TARGET}-gcc" +"${COOKBOOK_CONFIGURE}" "${COOKBOOK_CONFIGURE_FLAGS[@]}" +"${COOKBOOK_MAKE}" -j"${COOKBOOK_MAKE_JOBS}" +"${COOKBOOK_MAKE}" install_sw install_ssldirs DESTDIR="${COOKBOOK_STAGE}" +rm -rfv "${COOKBOOK_STAGE}/"{share,ssl} +""" diff --git a/recipes/libs/pango/recipe.toml b/recipes/libs/pango/recipe.toml new file mode 100644 index 00000000..8080ad3c --- /dev/null +++ b/recipes/libs/pango/recipe.toml @@ -0,0 +1,40 @@ +[source] +tar = "https://download.gnome.org/sources/pango/1.56/pango-1.56.3.tar.xz" +blake3 = "78542feaaf007c1d648b94c4e9b6655ed7515d27ce434766aea99bef886c21ac" +patches = ["redox.patch"] + +[build] +dependencies = [ + "cairo", + "expat", + "fontconfig", + "freetype2", + "fribidi", + "gettext", + "glib", + "harfbuzz", + "libffi", + "libiconv", + "libpng", + "libpthread-stubs", + "libx11", + "libxau", + "libxcb", + "libxext", + "libxft", + "libxrender", + "pcre", + "pcre2", + "pixman", + "x11proto", + "xcb-proto", + "xextproto", + "zlib", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_meson \ + -Dbuild-examples=false \ + -Dbuild-testsuite=false +""" diff --git a/recipes/libs/pango/redox.patch b/recipes/libs/pango/redox.patch new file mode 100644 index 00000000..d04c9538 --- /dev/null +++ b/recipes/libs/pango/redox.patch @@ -0,0 +1,14 @@ +diff -ruwN pango-1.56.3/meson.build source/meson.build +--- pango-1.56.3/meson.build 2025-03-16 05:45:47.000000000 -0600 ++++ source/meson.build 2025-05-01 13:51:05.834742120 -0600 +@@ -551,8 +551,8 @@ + pango_inc = include_directories('pango') + + subdir('pango') +-subdir('utils') +-subdir('tools') ++#TODO: fails to build on Redox: subdir('utils') ++#TODO: fails to build on Redox: subdir('tools') + subdir('docs') + if get_option('build-testsuite') + subdir('tests') diff --git a/recipes/libs/pcre/recipe.toml b/recipes/libs/pcre/recipe.toml new file mode 100644 index 00000000..773c8f48 --- /dev/null +++ b/recipes/libs/pcre/recipe.toml @@ -0,0 +1,17 @@ +[source] +tar = "https://mirrors.gigenet.com/OSDN//sfnet/p/pc/pcre/pcre/8.42/pcre-8.42.tar.gz" +blake3 = "12d515ba12a816994def6b1e7196b5783fd2cfe495733a9167fa4d71dbe10248" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" +patches = [ + "redox.patch" +] + +[build] +template = "custom" +script = """ +DYNAMIC_STATIC_INIT +cookbook_configure +""" diff --git a/recipes/libs/pcre/redox.patch b/recipes/libs/pcre/redox.patch new file mode 100644 index 00000000..6e438bac --- /dev/null +++ b/recipes/libs/pcre/redox.patch @@ -0,0 +1,17 @@ +diff -ruwN source/pcretest.c source-new/pcretest.c +--- source/pcretest.c 2017-06-13 10:49:46.000000000 -0600 ++++ source-new/pcretest.c 2019-01-05 11:04:15.198224299 -0700 +@@ -3168,7 +3168,7 @@ + ((stack_size = get_value((pcre_uint8 *)argv[op+1], &endptr)), + *endptr == 0)) + { +-#if defined(_WIN32) || defined(WIN32) || defined(__minix) || defined(NATIVE_ZOS) || defined(__VMS) ++#if defined(_WIN32) || defined(WIN32) || defined(__minix) || defined(NATIVE_ZOS) || defined(__VMS) || defined(__redox__) + printf("PCRE: -S not supported on this OS\n"); + exit(1); + #else +@@ -5770,4 +5770,3 @@ + } + + /* End of pcretest.c */ +- diff --git a/recipes/libs/pcre2/recipe.toml b/recipes/libs/pcre2/recipe.toml new file mode 100644 index 00000000..09c4d86b --- /dev/null +++ b/recipes/libs/pcre2/recipe.toml @@ -0,0 +1,14 @@ +[source] +tar = "https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.45/pcre2-10.45.tar.bz2" +blake3 = "aea544846f9a03c1ec62c9f8d1c9a4187cc3cce557e53e6876eb6a58c7cdd9fe" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +template = "custom" +script = """ +DYNAMIC_STATIC_INIT +cookbook_configure +""" diff --git a/recipes/libs/pixman/recipe.toml b/recipes/libs/pixman/recipe.toml new file mode 100644 index 00000000..50bb30ea --- /dev/null +++ b/recipes/libs/pixman/recipe.toml @@ -0,0 +1,11 @@ +[source] +tar = "https://www.cairographics.org/releases/pixman-0.46.0.tar.xz" +blake3 = "379369245a0bbd13784bf550c87622964a6aba87edf598ffa137dc10201746e0" +patches = ["redox.patch"] + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_meson -Dtests=disabled +""" diff --git a/recipes/libs/pixman/redox.patch b/recipes/libs/pixman/redox.patch new file mode 100644 index 00000000..953a7fd6 --- /dev/null +++ b/recipes/libs/pixman/redox.patch @@ -0,0 +1,12 @@ +diff -ruwN source/test/fence-image-self-test.c source-new/test/fence-image-self-test.c +--- source/test/fence-image-self-test.c 2018-04-11 06:07:58.000000000 -0600 ++++ source-new/test/fence-image-self-test.c 2019-01-06 15:29:38.878720123 -0700 +@@ -29,7 +29,7 @@ + #include "utils.h" + + +-#if FENCE_MALLOC_ACTIVE && defined (HAVE_SIGACTION) ++#if FENCE_MALLOC_ACTIVE && defined (HAVE_SIGACTION) && !defined(__redox__) + + #include + #include diff --git a/recipes/libs/readline/recipe.toml b/recipes/libs/readline/recipe.toml new file mode 100644 index 00000000..35a30f59 --- /dev/null +++ b/recipes/libs/readline/recipe.toml @@ -0,0 +1,18 @@ +[source] +tar = "https://ftp.gnu.org/gnu/readline/readline-7.0.tar.gz" +blake3 = "962483e201f36f05a5ccb507bb7330b4d4e4989fd52f41eb15ba65582ad02703" +patches = [ + "redox.patch" +] + +[build] +template = "custom" +dependencies = [ + "ncurses", +] +script = """ +DYNAMIC_INIT +cookbook_configure +ln -s "libhistory.so.7" "${COOKBOOK_STAGE}"/usr/lib/libhistory.so +ln -s "libreadline.so.7" "${COOKBOOK_STAGE}"/usr/lib/libreadline.so +""" diff --git a/recipes/libs/readline/redox.patch b/recipes/libs/readline/redox.patch new file mode 100644 index 00000000..7b632e52 --- /dev/null +++ b/recipes/libs/readline/redox.patch @@ -0,0 +1,21 @@ +diff -ru source/support/config.sub source-new/support/config.sub +--- source/support/config.sub 2013-12-17 16:49:47.000000000 +0100 ++++ source-new/support/config.sub 2017-08-14 09:09:20.158401733 +0200 +@@ -2,7 +2,7 @@ + # Configuration validation subroutine script. + # Copyright 1992-2013 Free Software Foundation, Inc. + +-timestamp='2013-10-01' ++timestamp='2017-08-14' + + # This file is free software; you can redistribute it and/or modify it + # under the terms of the GNU General Public License as published by +@@ -1351,7 +1351,7 @@ + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. +- -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ ++ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* | -redox* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ + | -sym* | -kopensolaris* | -plan9* \ diff --git a/recipes/libs/redox-fatfs/recipe.toml b/recipes/libs/redox-fatfs/recipe.toml new file mode 100644 index 00000000..462ccfaa --- /dev/null +++ b/recipes/libs/redox-fatfs/recipe.toml @@ -0,0 +1,4 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/redox-fatfs.git" +[build] +template = "cargo" diff --git a/recipes/libs/sdl-gfx/recipe.toml b/recipes/libs/sdl-gfx/recipe.toml new file mode 100644 index 00000000..540b8d15 --- /dev/null +++ b/recipes/libs/sdl-gfx/recipe.toml @@ -0,0 +1,27 @@ +[source] +tar = "https://sourceforge.net/projects/sdlgfx/files/SDL_gfx-2.0.25.tar.gz" +blake3 = "e6f571a38e51d369b010f4b10eb35b95e3d2edae2edd796241c47ea8376581e6" +patches = ["redox.patch"] +script = """ +./autogen.sh +""" + +[build] +template = "custom" +dependencies = [ + "sdl1", + "liborbital", + "libiconv", +] +script = """ +COOKBOOK_CONFIGURE_FLAGS=( + --prefix=/ + --build="$(gcc -dumpmachine)" + --host="${TARGET}" + --disable-shared +) + +cookbook_configure + +rm -f "${COOKBOOK_STAGE}/lib/"*.la +""" \ No newline at end of file diff --git a/recipes/libs/sdl-gfx/redox.patch b/recipes/libs/sdl-gfx/redox.patch new file mode 100644 index 00000000..c44c611f --- /dev/null +++ b/recipes/libs/sdl-gfx/redox.patch @@ -0,0 +1,20 @@ +--- source/config.sub 2013-10-27 23:04:13.000000000 +0100 ++++ build/config.sub 2019-08-13 10:13:07.072063540 +0200 +@@ -125,7 +125,7 @@ case $maybe_os in + nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ + linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ + knetbsd*-gnu* | netbsd*-gnu* | \ +- kopensolaris*-gnu* | \ ++ kopensolaris*-gnu* | redox* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` +@@ -1346,7 +1346,7 @@ case $os in + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ +- | -sym* | -kopensolaris* \ ++ | -sym* | -kopensolaris* | -redox* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* | -aros* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ diff --git a/recipes/libs/sdl1-image/recipe.toml b/recipes/libs/sdl1-image/recipe.toml new file mode 100644 index 00000000..ee73b921 --- /dev/null +++ b/recipes/libs/sdl1-image/recipe.toml @@ -0,0 +1,26 @@ +[source] +tar = "https://www.libsdl.org/projects/SDL_image/release/SDL_image-1.2.12.tar.gz" +blake3 = "731a6f8cad9fff22c82394bd1c0c34ce4aa60fa8923f3755a3e3239f1e269389" +patches = ["redox.patch"] +script = """ +./autogen.sh +""" + +[build] +template = "custom" +dependencies = [ + "sdl1", + "liborbital", + "libiconv", + "libjpeg", + "libpng", + "zlib" +] +script = """ +COOKBOOK_CONFIGURE_FLAGS+=( + --disable-sdltest + --enable-png + --enable-jpg +) +cookbook_configure +""" \ No newline at end of file diff --git a/recipes/libs/sdl1-image/redox.patch b/recipes/libs/sdl1-image/redox.patch new file mode 100644 index 00000000..9366f51c --- /dev/null +++ b/recipes/libs/sdl1-image/redox.patch @@ -0,0 +1,12 @@ +diff -rupNw source-original/config.sub source/config.sub +--- source-original/config.sub 2012-01-19 07:30:05.000000000 +0100 ++++ source/config.sub 2018-05-01 17:31:52.766229515 +0200 +@@ -1276,7 +1276,7 @@ case $os in + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ +- | -kopensolaris* \ ++ | -kopensolaris* | -redox* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* | -aros* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ \ No newline at end of file diff --git a/recipes/libs/sdl1-mixer/recipe.toml b/recipes/libs/sdl1-mixer/recipe.toml new file mode 100644 index 00000000..59755cff --- /dev/null +++ b/recipes/libs/sdl1-mixer/recipe.toml @@ -0,0 +1,30 @@ +[source] +tar = "https://www.libsdl.org/projects/SDL_mixer/release/SDL_mixer-1.2.12.tar.gz" +blake3 = "ef23bab2d42250dfdc51ce6939ee7b393973ff11a0dd3481f32180b489d2661c" +patches = ["redox.patch"] +script = """ +./autogen.sh +""" + +[build] +dependencies = [ + "libogg", + "liborbital", + "libvorbis", + "sdl1", +] +template = "custom" +script = """ +DYNAMIC_INIT +export LIBS="-lvorbis -logg" +COOKBOOK_CONFIGURE_FLAGS+=( + --enable-music-ogg + --enable-music-midi + --disable-sdltest + --disable-music-cmd + --disable-music-mp3 + --disable-smpegtest + --disable-music-mod +) +cookbook_configure +""" diff --git a/recipes/libs/sdl1-mixer/redox.patch b/recipes/libs/sdl1-mixer/redox.patch new file mode 100644 index 00000000..c08dca81 --- /dev/null +++ b/recipes/libs/sdl1-mixer/redox.patch @@ -0,0 +1,55 @@ +diff -ruwN source/build-scripts/config.sub source-new/build-scripts/config.sub +--- source/build-scripts/config.sub 2012-01-15 15:01:05.000000000 -0700 ++++ source-new/build-scripts/config.sub 2022-11-20 12:23:50.849108724 -0700 +@@ -1276,7 +1276,7 @@ + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ +- | -kopensolaris* \ ++ | -kopensolaris* | -redox* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* | -aros* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ +diff -ruwN source/Makefile.in source-new/Makefile.in +--- source/Makefile.in 2012-01-15 15:01:04.000000000 -0700 ++++ source-new/Makefile.in 2022-11-20 12:23:50.849108724 -0700 +@@ -66,10 +66,10 @@ + $(LIBTOOL) --mode=link $(CC) -o $@ $(OBJECTS) $(VERSION_OBJECTS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS) + + $(objects)/playwave$(EXE): $(objects)/playwave.lo $(objects)/$(TARGET) +- $(LIBTOOL) --mode=link $(CC) -o $@ $(objects)/playwave.lo $(SDL_CFLAGS) $(SDL_LIBS) $(objects)/$(TARGET) ++ $(LIBTOOL) --mode=link $(CC) -o $@ $(objects)/playwave.lo $(SDL_CFLAGS) $(SDL_LIBS) $(objects)/$(TARGET) --static + + $(objects)/playmus$(EXE): $(objects)/playmus.lo $(objects)/$(TARGET) +- $(LIBTOOL) --mode=link $(CC) -o $@ $(objects)/playmus.lo $(SDL_CFLAGS) $(SDL_LIBS) $(objects)/$(TARGET) ++ $(LIBTOOL) --mode=link $(CC) -o $@ $(objects)/playmus.lo $(SDL_CFLAGS) $(SDL_LIBS) $(objects)/$(TARGET) --static + + install: all install-hdrs install-lib #install-bin + install-hdrs: +diff -ruwN source/timidity/config.h source-new/timidity/config.h +--- source/timidity/config.h 2012-01-15 15:01:05.000000000 -0700 ++++ source-new/timidity/config.h 2022-11-20 12:26:04.067581857 -0700 +@@ -162,6 +162,7 @@ + then specify the library directory in the configuration file. */ + #define CONFIG_FILE "timidity.cfg" + #define CONFIG_FILE_ETC "/etc/timidity.cfg" ++#define CONFIG_FILE_ETC_TIMIDITY_FREEPATS "/etc/timidity/freepats.cfg" + + #if defined(__WIN32__) || defined(__OS2__) + #define DEFAULT_PATH "C:\\TIMIDITY" +diff -ruwN source/timidity/timidity.c source-new/timidity/timidity.c +--- source/timidity/timidity.c 2012-01-15 15:01:05.000000000 -0700 ++++ source-new/timidity/timidity.c 2022-11-20 12:26:42.248290658 -0700 +@@ -286,10 +286,12 @@ + if (!env || read_config_file(env)<0) { + if (read_config_file(CONFIG_FILE)<0) { + if (read_config_file(CONFIG_FILE_ETC)<0) { ++ if (read_config_file(CONFIG_FILE_ETC_TIMIDITY_FREEPATS)<0) { + return(-1); + } + } + } ++ } + + if (channels < 1 || channels == 3 || channels == 5 || channels > 6) return(-1); + diff --git a/recipes/libs/sdl1-ttf/recipe.toml b/recipes/libs/sdl1-ttf/recipe.toml new file mode 100644 index 00000000..4d0280e6 --- /dev/null +++ b/recipes/libs/sdl1-ttf/recipe.toml @@ -0,0 +1,31 @@ +[source] +tar = "https://www.libsdl.org/projects/SDL_ttf/release/SDL_ttf-2.0.11.tar.gz" +blake3 = "a684e57553e43b55ab28b064d1d5d44b8749299f259da31a62d671fc1d5505ee" +patches = ["redox.patch"] +script = """ +./autogen.sh +""" + +[build] +template = "custom" +dependencies = [ + "sdl1", + "liborbital", + "freetype2", + "libpng", + "zlib", +] +script = """ +export CFLAGS="${CFLAGS} -I${COOKBOOK_SYSROOT}/include/freetype2" + +COOKBOOK_CONFIGURE_FLAGS=( + --prefix=/ + --build="$(gcc -dumpmachine)" + --host="${TARGET}" + --disable-shared +) + +cookbook_configure + +rm -f "${COOKBOOK_STAGE}/lib/"*.la +""" \ No newline at end of file diff --git a/recipes/libs/sdl1-ttf/redox.patch b/recipes/libs/sdl1-ttf/redox.patch new file mode 100644 index 00000000..d2b7ecd7 --- /dev/null +++ b/recipes/libs/sdl1-ttf/redox.patch @@ -0,0 +1,62 @@ +diff -ruw source/config.sub source-new/config.sub +--- source/config.sub 2012-01-14 21:44:08.000000000 -0700 ++++ source-new/config.sub 2018-12-10 12:17:28.136784814 -0700 +@@ -1276,7 +1276,7 @@ + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ +- | -kopensolaris* \ ++ | -kopensolaris* | -redox* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* | -aros* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ +Only in source-new: config.sub.orig +diff -ruw source/configure.in source-new/configure.in +--- source/configure.in 2012-01-14 21:44:08.000000000 -0700 ++++ source-new/configure.in 2018-12-10 12:17:12.724883206 -0700 +@@ -91,38 +91,13 @@ + AM_CONDITIONAL(USE_VERSION_RC, test x$use_version_rc = xtrue) + + dnl Check for the FreeType 2 library +-dnl +-dnl Get the cflags and libraries from the freetype-config script +-dnl +-AC_ARG_WITH(freetype-prefix,[ --with-freetype-prefix=PFX Prefix where FREETYPE is +-installed (optional)], +- freetype_prefix="$withval", freetype_prefix="") +-AC_ARG_WITH(freetype-exec-prefix,[ --with-freetype-exec-prefix=PFX Exec prefix +-where FREETYPE is installed (optional)], +- freetype_exec_prefix="$withval", freetype_exec_prefix="") +- +-if test x$freetype_exec_prefix != x ; then +- freetype_args="$freetype_args --exec-prefix=$freetype_exec_prefix" +- if test x${FREETYPE_CONFIG+set} != xset ; then +- FREETYPE_CONFIG=$freetype_exec_prefix/bin/freetype-config +- fi +-fi +-if test x$freetype_prefix != x ; then +- freetype_args="$freetype_args --prefix=$freetype_prefix" +- if test x${FREETYPE_CONFIG+set} != xset ; then +- FREETYPE_CONFIG=$freetype_prefix/bin/freetype-config +- fi +-fi +-AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no) +-no_freetype="" +-if test "$FREETYPE_CONFIG" = "no" ; then +- AC_MSG_ERROR([ +-*** Unable to find FreeType2 library (http://www.freetype.org/) ++#PKG_CHECK_MODULES([FT2], [freetype2 >= 7.0.1], [], [dnl ++# AC_CHECK_FT2(,,[AC_MSG_ERROR([dnl ++#*** Unable to find FreeType2 library (http://www.freetype.org/)])] ++# ) ++#]) +-]) +-else +- CFLAGS="$CFLAGS `$FREETYPE_CONFIG $freetypeconf_args --cflags`" +- LIBS="$LIBS `$FREETYPE_CONFIG $freetypeconf_args --libs`" +-fi ++CFLAGS="$CFLAGS $FT2_CFLAGS" ++LIBS="$LIBS $FT2_LIBS -lfreetype -lpng -lz" + + dnl Check for SDL + SDL_VERSION=1.2.4 diff --git a/recipes/libs/sdl1/recipe.toml b/recipes/libs/sdl1/recipe.toml new file mode 100644 index 00000000..5c1d1845 --- /dev/null +++ b/recipes/libs/sdl1/recipe.toml @@ -0,0 +1,20 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/sdl1.2.git" + +[build] +template = "custom" +dependencies = [ + "liborbital" +] +script = """ +COOKBOOK_CONFIGURE_FLAGS+=( + --disable-loadso + --disable-pulseaudio + --disable-video-x11 + --enable-clock_gettime + --enable-pthread-sem + --enable-redoxaudio + --enable-video-orbital +) +cookbook_configure +""" diff --git a/recipes/libs/sdl2-gfx/recipe.toml b/recipes/libs/sdl2-gfx/recipe.toml new file mode 100644 index 00000000..bf4b621f --- /dev/null +++ b/recipes/libs/sdl2-gfx/recipe.toml @@ -0,0 +1,26 @@ +[source] +tar = "http://www.ferzkopp.net/Software/SDL2_gfx/SDL2_gfx-1.0.4.tar.gz" +blake3 = "2e9bd2dc0f004349b51418f33219ebf5cd69f25ed0ba660373652a662cbb857c" +script = """ +GNU_CONFIG_GET config.sub +""" + +[build] +dependencies = [ + "freetype2", + "liborbital", + "libpng", + "llvm18", + "mesa", + "sdl2", + "zlib", +] +template = "custom" +script = """ +DYNAMIC_INIT +export SDL_LIBS="-lSDL2 -lorbital $("${PKG_CONFIG}" --libs osmesa) -lpng -lz -lm -lpthread -lstdc++" +COOKBOOK_CONFIGURE_FLAGS+=( + --disable-sdltest +) +cookbook_configure +""" diff --git a/recipes/libs/sdl2-image/recipe.toml b/recipes/libs/sdl2-image/recipe.toml new file mode 100644 index 00000000..94c49908 --- /dev/null +++ b/recipes/libs/sdl2-image/recipe.toml @@ -0,0 +1,27 @@ +[source] +tar = "https://www.libsdl.org/projects/SDL_image/release/SDL2_image-2.0.4.tar.gz" + +[build] +template = "custom" +dependencies = [ + "libjpeg", + "liborbital", + "libpng", + "llvm18", + "mesa", + "sdl2", + "zlib", +] +script = """ +DYNAMIC_INIT +export SDL_LIBS="-lSDL2 -lorbital $("${TARGET}-pkg-config" --libs osmesa) -lstdc++" +COOKBOOK_CONFIGURE_FLAGS=( + --prefix=/usr + --host="${TARGET}" + --disable-sdltest + --enable-shared + --enable-png + --enable-jpg +) +cookbook_configure +""" diff --git a/recipes/libs/sdl2-mixer/recipe.toml b/recipes/libs/sdl2-mixer/recipe.toml new file mode 100644 index 00000000..d73bd12e --- /dev/null +++ b/recipes/libs/sdl2-mixer/recipe.toml @@ -0,0 +1,32 @@ +[source] +tar = "https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-2.8.1.tar.gz" +blake3 = "fa0798ce7ffdb5f89545311292374e5b7af479df8bc99a4aacfb40d2ab2f8384" + +[build] +template = "custom" +dependencies = [ + "sdl2", + "liborbital", + "llvm18", + "mesa", + "zlib", + "libogg", + "libvorbis", +] +script = """ +DYNAMIC_INIT + +export SDL_LIBS="-lSDL2 -lorbital -lOSMesa -lvorbis -logg -lz -lm -lpthread -lstdc++" +COOKBOOK_CONFIGURE_FLAGS=( + --prefix=/ + --host="${TARGET}" + --disable-sdltest + --enable-music-ogg + --disable-music-cmd + --disable-music-mp3 + --disable-smpegtest + --disable-music-midi + --disable-music-mod +) +cookbook_configure +""" diff --git a/recipes/libs/sdl2-mixer/redox.patch b/recipes/libs/sdl2-mixer/redox.patch new file mode 100644 index 00000000..607c370f --- /dev/null +++ b/recipes/libs/sdl2-mixer/redox.patch @@ -0,0 +1,16 @@ +diff -ruw source/Makefile.in source-new/Makefile.in +--- source/Makefile.in 2018-10-31 08:58:59.000000000 -0600 ++++ source-new/Makefile.in 2019-06-19 15:23:18.015149749 -0600 +@@ -65,10 +65,10 @@ + $(LIBTOOL) --mode=link $(CC) -o $@ $(OBJECTS) $(VERSION_OBJECTS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS) + + $(objects)/playwave$(EXE): $(objects)/playwave.lo $(objects)/$(TARGET) +- $(LIBTOOL) --mode=link $(CC) -o $@ $(objects)/playwave.lo $(SDL_CFLAGS) $(objects)/$(TARGET) $(SDL_LIBS) $(LDFLAGS) ++ $(LIBTOOL) --mode=link $(CC) -o $@ $(objects)/playwave.lo $(SDL_CFLAGS) $(objects)/$(TARGET) $(SDL_LIBS) $(LDFLAGS) --static + + $(objects)/playmus$(EXE): $(objects)/playmus.lo $(objects)/$(TARGET) +- $(LIBTOOL) --mode=link $(CC) -o $@ $(objects)/playmus.lo $(SDL_CFLAGS) $(objects)/$(TARGET) $(SDL_LIBS) $(LDFLAGS) ++ $(LIBTOOL) --mode=link $(CC) -o $@ $(objects)/playmus.lo $(SDL_CFLAGS) $(objects)/$(TARGET) $(SDL_LIBS) $(LDFLAGS) --static + + install: all install-hdrs install-lib #install-bin + install-hdrs: diff --git a/recipes/libs/sdl2-ttf/recipe.toml b/recipes/libs/sdl2-ttf/recipe.toml new file mode 100644 index 00000000..888f1835 --- /dev/null +++ b/recipes/libs/sdl2-ttf/recipe.toml @@ -0,0 +1,30 @@ +[source] +tar = "https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-2.0.15.tar.gz" +blake3 = "9814a07f33a3501b414f0fc7fa962e7d7ffc56748406f3798b7698b8d7e7fe12" +script = """ +DYNAMIC_INIT +./autogen.sh +""" + +[build] +dependencies = [ + "expat", + "freetype2", + "libdrm", + "liborbital", + "libpng", + "llvm18", + "mesa", + "sdl2", + "zlib", +] +template = "custom" +script = """ +DYNAMIC_INIT +export SDL_LIBS="-lSDL2 -lorbital $("${PKG_CONFIG}" --libs osmesa) -lpng -lz -lm -lpthread -lstdc++" +COOKBOOK_CONFIGURE_FLAGS+=( + --disable-sdltest + --enable-opengl +) +cookbook_configure +""" diff --git a/recipes/libs/sdl2/recipe.toml b/recipes/libs/sdl2/recipe.toml new file mode 100644 index 00000000..bef94c0a --- /dev/null +++ b/recipes/libs/sdl2/recipe.toml @@ -0,0 +1,29 @@ +#TODO: TEST +[source] +git = "https://gitlab.redox-os.org/redox-os/sdl2.git" + +[build] +template = "custom" +dependencies = [ + "liborbital", + "llvm18", + "mesa", + "zlib", +] +script = """ +DYNAMIC_INIT +export LDFLAGS="${LDFLAGS} -lorbital -lOSMesa -lstdc++" +COOKBOOK_CONFIGURE_FLAGS+=( + --disable-pulseaudio + --disable-video-x11 + --enable-audio + --enable-dummyaudio + --enable-redoxaudio + --enable-threads + --enable-video-orbital +) +cookbook_configure + +# Hack to add OSMesa +sed -i "s/Requires:/Requires: osmesa >= 8.0.0/" "${COOKBOOK_STAGE}/usr/lib/pkgconfig/sdl2.pc" +""" diff --git a/recipes/libs/unibilium/recipe.toml b/recipes/libs/unibilium/recipe.toml new file mode 100644 index 00000000..5252c1d3 --- /dev/null +++ b/recipes/libs/unibilium/recipe.toml @@ -0,0 +1,15 @@ +[source] +tar = "https://github.com/neovim/unibilium/archive/refs/tags/v2.1.2.tar.gz" +blake3 = "856a7593a412942f4716bb55bfdd225f3ce92cb013b9d4a44693255f0570b1c7" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ +cookbook_configure +""" diff --git a/recipes/libs/utf8proc/recipe.toml b/recipes/libs/utf8proc/recipe.toml new file mode 100644 index 00000000..c34c12f1 --- /dev/null +++ b/recipes/libs/utf8proc/recipe.toml @@ -0,0 +1,23 @@ +[source] +tar = "https://github.com/JuliaStrings/utf8proc/archive/refs/tags/v2.10.0.tar.gz" +blake3 = "6f675db5d1ae55ad0825351ba9c58a5b5c24c862f559cc7bfed1cb63c1185594" + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_CXX_COMPILER="${TARGET}-g++" + -DCMAKE_C_COMPILER="${TARGET}-gcc" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/libs/zlib/recipe.toml b/recipes/libs/zlib/recipe.toml new file mode 100644 index 00000000..626018c7 --- /dev/null +++ b/recipes/libs/zlib/recipe.toml @@ -0,0 +1,25 @@ +[source] +tar = "https://www.zlib.net/fossils/zlib-1.3.tar.gz" +blake3 = "ec1abc6f672a7a6ee6f49ba544cc9529f73121b478310473be44fee22a140ebf" + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +COOKBOOK_CONFIGURE_FLAGS=(--prefix="/usr") +if [ "${COOKBOOK_DYNAMIC}" == "1" ] +then + COOKBOOK_CONFIGURE_FLAGS+=(--shared) +else + COOKBOOK_CONFIGURE_FLAGS+=(--static) +fi +# See https://stackoverflow.com/questions/21396988/zlib-build-not-configuring-properly-with-cross-compiler-ignores-ar. +env CHOST="${TARGET}" "${COOKBOOK_CONFIGURE}" "${COOKBOOK_CONFIGURE_FLAGS[@]}" +"${COOKBOOK_MAKE}" -j "$(nproc)" +"${COOKBOOK_MAKE}" install DESTDIR="${COOKBOOK_STAGE}" +solib="${COOKBOOK_STAGE}/usr/lib/libz.so.1.3" +if [ -e "${solib}" ] +then + patchelf --set-soname 'libz.so.1.3' "${solib}" +fi +""" \ No newline at end of file diff --git a/recipes/math/calculator/recipe.toml b/recipes/math/calculator/recipe.toml new file mode 100644 index 00000000..33006ff5 --- /dev/null +++ b/recipes/math/calculator/recipe.toml @@ -0,0 +1,5 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/orbcalculator.git" + +[build] +template = "cargo" diff --git a/recipes/net/curl/recipe.toml b/recipes/net/curl/recipe.toml new file mode 100644 index 00000000..68436ab3 --- /dev/null +++ b/recipes/net/curl/recipe.toml @@ -0,0 +1,39 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/curl.git" +branch = "redox-8.6" +upstream = "https://github.com/curl/curl.git" + +[build] +template = "custom" +dependencies = [ + #TODO: git fails to build when this is a dependency: "libpsl", + "nghttp2", + "openssl1", + "zlib" +] +script = """ +DYNAMIC_INIT +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ +GNU_CONFIG_GET config.sub +DYNAMIC_INIT +autotools_recursive_regenerate +COOKBOOK_CONFIGURE="./configure" +COOKBOOK_CONFIGURE_FLAGS+=( + --disable-ftp + --disable-ipv6 + --disable-ntlm-wb + --disable-tftp + --disable-threaded-resolver + --with-ca-path=/etc/ssl/certs + --with-nghttp2 + --with-ssl + --with-zlib + --without-libpsl +) +cookbook_configure +""" + +[package] +dependencies = [ + "ca-certificates" +] diff --git a/recipes/net/download/wget/recipe.toml b/recipes/net/download/wget/recipe.toml new file mode 100644 index 00000000..fb2d6ab4 --- /dev/null +++ b/recipes/net/download/wget/recipe.toml @@ -0,0 +1,10 @@ +[source] +tar = "https://ftp.gnu.org/gnu/wget/wget-1.21.4.tar.gz" +[build] +dependencies = [ + "openssl1", +] +template = "configure" +configureflags = [ + "--with-ssl=openssl" +] diff --git a/recipes/net/http/simple-http-server/recipe.toml b/recipes/net/http/simple-http-server/recipe.toml new file mode 100644 index 00000000..86c96318 --- /dev/null +++ b/recipes/net/http/simple-http-server/recipe.toml @@ -0,0 +1,11 @@ +[source] +git = "https://github.com/TheWaWaR/simple-http-server" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +DYNAMIC_INIT +cookbook_cargo +""" diff --git a/recipes/net/nginx/recipe.toml b/recipes/net/nginx/recipe.toml new file mode 100644 index 00000000..b74f659c --- /dev/null +++ b/recipes/net/nginx/recipe.toml @@ -0,0 +1,64 @@ +#TODO FastCGI not working +[source] +tar = "https://nginx.org/download/nginx-1.28.0.tar.gz" +patches = [ + "redox.patch" +] + +[build] +template = "custom" +dependencies = [ + "pcre", + "openssl1", + "zlib", +] +script = """ +DYNAMIC_INIT +rsync -av --delete "${COOKBOOK_SOURCE}"/* ./ +ARCH="${TARGET%%-*}" +COOKBOOK_CONFIGURE_FLAGS=( + --crossbuild=Redox:$ARCH + --with-cc="$CC" + --with-cc-opt="$CFLAGS" + --with-ld-opt="$LDFLAGS" + --sbin-path=/usr/bin/nginx + --modules-path=/usr/lib/nginx/modules + --conf-path=/etc/nginx/nginx.conf + --error-log-path=/var/log/nginx/error.log + --http-log-path=/var/log/nginx/access.log + --http-client-body-temp-path=/var/lib/nginx/body + --http-proxy-temp-path=/var/lib/nginx/proxy + --http-fastcgi-temp-path=/var/lib/nginx/fastcgi + --http-uwsgi-temp-path=/var/lib/nginx/uwsgi + --http-scgi-temp-path=/var/lib/nginx/scgi + --pid-path=/var/run/nginx.pid + --lock-path=/var/lock/nginx.lock + --user=nginx + --group=nginx + --with-compat + --with-debug + --with-pcre + --with-pcre-jit + --with-stream + --with-stream_realip_module + --with-stream_ssl_module + --with-stream_ssl_preread_module + --with-threads + --with-http_ssl_module + --with-http_v2_module + --with-http_realip_module + --with-http_gzip_static_module + --with-http_stub_status_module + --with-http_addition_module +) + +unset AR AS CC CXX LD LDFLAGS NM OBJCOPY OBJDUMP RANLIB READELF RUSTFLAGS STRIP + +cookbook_configure + +mkdir -p "$COOKBOOK_STAGE"/var/lib/nginx/{body,proxy,fastcgi,uwsgi,scgi} \ + "$COOKBOOK_STAGE"/var/log/nginx/ +#TODO: pkgar don't track empty directories +touch "$COOKBOOK_STAGE"/var/lib/nginx/{body,proxy,fastcgi,uwsgi,scgi}/.tmp \ + "$COOKBOOK_STAGE"/var/log/nginx/.tmp +""" diff --git a/recipes/net/nginx/redox.patch b/recipes/net/nginx/redox.patch new file mode 100644 index 00000000..bc5eee54 --- /dev/null +++ b/recipes/net/nginx/redox.patch @@ -0,0 +1,85 @@ +diff -ruwN source/auto/feature source-new/auto/feature +--- source/auto/feature 2025-04-23 18:48:54.000000000 +0700 ++++ source-new/auto/feature 2025-09-16 02:44:58.617532926 +0700 +@@ -53,7 +53,7 @@ + + yes) + # /bin/sh is used to intercept "Killed" or "Abort trap" messages +- if /bin/sh -c $NGX_AUTOTEST >> $NGX_AUTOCONF_ERR 2>&1; then ++ #if /bin/sh -c $NGX_AUTOTEST >> $NGX_AUTOCONF_ERR 2>&1; then + echo " found" + ngx_found=yes + +@@ -61,9 +61,9 @@ + have=$ngx_have_feature . auto/have + fi + +- else +- echo " found but is not working" +- fi ++ #else ++ # echo " found but is not working" ++ #fi + ;; + + value) +diff -ruwN source/auto/types/sizeof source-new/auto/types/sizeof +--- source/auto/types/sizeof 2025-04-23 18:48:54.000000000 +0700 ++++ source-new/auto/types/sizeof 2025-09-16 02:44:58.618532943 +0700 +@@ -33,7 +33,7 @@ + END + + +-ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS \ ++ngx_test="gcc $CC_TEST_FLAGS $CC_AUX_FLAGS \ + -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs" + + eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1" +diff -ruwN source/auto/types/typedef source-new/auto/types/typedef +--- source/auto/types/typedef 2025-04-23 18:48:54.000000000 +0700 ++++ source-new/auto/types/typedef 2025-09-16 02:44:58.618532943 +0700 +@@ -34,7 +34,7 @@ + + END + +- ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS \ ++ ngx_test="gcc $CC_TEST_FLAGS $CC_AUX_FLAGS \ + -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs" + + eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1" +diff -ruwN source/src/os/unix/ngx_process.c source-new/src/os/unix/ngx_process.c +--- source/src/os/unix/ngx_process.c 2025-04-23 18:48:54.000000000 +0700 ++++ source-new/src/os/unix/ngx_process.c 2025-09-16 02:44:58.618532943 +0700 +@@ -143,6 +143,7 @@ + } + + on = 1; ++ /* + if (ioctl(ngx_processes[s].channel[0], FIOASYNC, &on) == -1) { + ngx_log_error(NGX_LOG_ALERT, cycle->log, ngx_errno, + "ioctl(FIOASYNC) failed while spawning \"%s\"", name); +@@ -156,6 +157,7 @@ + ngx_close_channel(ngx_processes[s].channel, cycle->log); + return NGX_INVALID_PID; + } ++ */ + + if (fcntl(ngx_processes[s].channel[0], F_SETFD, FD_CLOEXEC) == -1) { + ngx_log_error(NGX_LOG_ALERT, cycle->log, ngx_errno, +diff -ruwN source/src/os/unix/ngx_process_cycle.c source-new/src/os/unix/ngx_process_cycle.c +--- source/src/os/unix/ngx_process_cycle.c 2025-04-23 18:48:54.000000000 +0700 ++++ source-new/src/os/unix/ngx_process_cycle.c 2025-09-27 02:17:21.509383985 +0700 +@@ -804,11 +804,13 @@ + exit(2); + } + ++ /* + if (initgroups(ccf->username, ccf->group) == -1) { + ngx_log_error(NGX_LOG_EMERG, cycle->log, ngx_errno, + "initgroups(%s, %d) failed", + ccf->username, ccf->group); + } ++ */ + + #if (NGX_HAVE_PR_SET_KEEPCAPS && NGX_HAVE_CAPABILITIES) + if (ccf->transparent && ccf->user) { diff --git a/recipes/net/openssh/recipe.toml b/recipes/net/openssh/recipe.toml new file mode 100644 index 00000000..b1b64358 --- /dev/null +++ b/recipes/net/openssh/recipe.toml @@ -0,0 +1,36 @@ +#TODO lack of resolv.h, expect dns not working +#TODO lack of utmpx.h, expect no way to track login in sshd +[source] +tar = "https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz" +patches = [ + "redox.patch", +] +[build] +template = "custom" +dependencies = [ + "openssl3", + "zlib", + "zstd", +] +script = """ +DYNAMIC_INIT +COOKBOOK_CONFIGURE_FLAGS+=( + --disable-strip + --sysconfdir=/etc/ssh +) +cookbook_configure +mv "${COOKBOOK_STAGE}"/usr/sbin/sshd "${COOKBOOK_STAGE}"/usr/bin/sshd +rmdir "${COOKBOOK_STAGE}"/usr/sbin + +# Extracted from `make host-key-force` +# TODO: Postscript to generate this +# ssh-keygen -t dsa -f "${COOKBOOK_STAGE}"/etc/ssh/ssh_host_dsa_key -N "" +# ssh-keygen -t rsa -f "${COOKBOOK_STAGE}"/etc/ssh/ssh_host_rsa_key -N "" +# ssh-keygen -t ed25519 -f "${COOKBOOK_STAGE}"/etc/ssh/ssh_host_ed25519_key -N "" +# ssh-keygen -t ecdsa -f "${COOKBOOK_STAGE}"/etc/ssh/ssh_host_ecdsa_key -N "" + +CONFIG_FILE="${COOKBOOK_STAGE}"/etc/ssh/sshd_config + +# ipv6 is not working yet +sed -i "s/#AddressFamily any/AddressFamily inet/g" "${CONFIG_FILE}" +""" diff --git a/recipes/net/openssh/redox.patch b/recipes/net/openssh/redox.patch new file mode 100644 index 00000000..a061b173 --- /dev/null +++ b/recipes/net/openssh/redox.patch @@ -0,0 +1,686 @@ +diff -ruwN source/configure source-new/configure +--- source/configure 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/configure 2025-09-06 23:54:58.147442355 +0700 +@@ -12606,6 +12606,10 @@ + printf "%s\n" "#define BROKEN_POLL 1" >>confdefs.h + + ;; ++*-*-redox) ++ ++ # todo ++ ;; + mips-sony-bsd|mips-sony-newsos4) + + printf "%s\n" "#define NEED_SETPGRP 1" >>confdefs.h +diff -ruwN source/defines.h source-new/defines.h +--- source/defines.h 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/defines.h 2025-09-07 01:35:40.209700338 +0700 +@@ -52,6 +52,18 @@ + #define IPPORT_RESERVED 0 + #endif + ++#ifndef IPPORT_RESERVED ++#define IPPORT_RESERVED 1024 ++#endif ++ ++#ifndef IN_LOOPBACKNET ++#define IN_LOOPBACKNET 127 ++#endif ++ ++#ifndef MAXDNAME ++#define MAXDNAME 256 ++#endif ++ + /* + * Definitions for IP type of service (ip_tos) + */ +@@ -454,19 +466,21 @@ + # define _PATH_DEVNULL "/dev/null" + #endif + +-/* user may have set a different path */ +-#if defined(_PATH_MAILDIR) && defined(MAIL_DIRECTORY) +-# undef _PATH_MAILDIR +-#endif /* defined(_PATH_MAILDIR) && defined(MAIL_DIRECTORY) */ +- +-#ifdef MAIL_DIRECTORY +-# define _PATH_MAILDIR MAIL_DIRECTORY ++#ifndef _PATH_MAILDIR ++# define _PATH_MAILDIR "/var/mail" + #endif + + #ifndef _PATH_NOLOGIN + # define _PATH_NOLOGIN "/etc/nologin" + #endif + ++#ifndef ST_RDONLY ++#define ST_RDONLY 1 ++#endif ++#ifndef ST_NOSUID ++#define ST_NOSUID 2 ++#endif ++ + /* Define this to be the path of the xauth program. */ + #ifdef XAUTH_PATH + #define _PATH_XAUTH XAUTH_PATH +diff -ruwN source/hostfile.c source-new/hostfile.c +--- source/hostfile.c 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/hostfile.c 2025-09-06 21:09:36.555438339 +0700 +@@ -44,7 +44,9 @@ + #include + + #include ++#ifndef __redox__ + #include ++#endif + #include + #include + #include +diff -ruwN source/loginrec.c source-new/loginrec.c +--- source/loginrec.c 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/loginrec.c 2025-09-06 21:09:36.556438304 +0700 +@@ -1033,7 +1033,7 @@ + return (0); + } + # else +- if (!utmpx_write_direct(li, &ut)) { ++ if (!utmpx_write_direct(li, &utx)) { + logit("%s: utmp_write_direct() failed", __func__); + return (0); + } +diff -ruwN source/loginrec.h source-new/loginrec.h +--- source/loginrec.h 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/loginrec.h 2025-09-06 21:09:36.556438304 +0700 +@@ -30,6 +30,7 @@ + **/ + + #include "includes.h" ++#include "openbsd-compat/utmpx.h" + + struct ssh; + +diff -ruwN source/misc.c source-new/misc.c +--- source/misc.c 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/misc.c 2025-09-07 01:21:42.201992304 +0700 +@@ -2843,7 +2843,6 @@ + error("%s: dup2: %s", tag, strerror(errno)); + _exit(1); + } +- closefrom(STDERR_FILENO + 1); + + if (geteuid() == 0 && + initgroups(pw->pw_name, pw->pw_gid) == -1) { +diff -ruwN source/monitor.c source-new/monitor.c +--- source/monitor.c 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/monitor.c 2025-09-07 00:46:23.435378053 +0700 +@@ -484,18 +484,19 @@ + pfd[0].events = POLLIN; + pfd[1].fd = pmonitor->m_log_recvfd; + pfd[1].events = pfd[1].fd == -1 ? 0 : POLLIN; +- if (poll(pfd, pfd[1].fd == -1 ? 1 : 2, -1) == -1) { ++ // redox can't handle timeout -1 (the poll stuck) ++ if (poll(pfd, pfd[1].fd == -1 ? 1 : 2, 1000) == -1) { + if (errno == EINTR || errno == EAGAIN) + continue; + fatal_f("poll: %s", strerror(errno)); + } + if (pfd[1].revents) { ++ + /* + * Drain all log messages before processing next + * monitor request. + */ + monitor_read_log(pmonitor); +- continue; + } + if (pfd[0].revents) + break; /* Continues below */ +@@ -1577,7 +1578,8 @@ + res = pty_allocate(&s->ptyfd, &s->ttyfd, s->tty, sizeof(s->tty)); + if (res == 0) + goto error; +- pty_setowner(authctxt->pw, s->tty); ++ // non sense in redox ++ // pty_setowner(authctxt->pw, s->tty); + + if ((r = sshbuf_put_u32(m, 1)) != 0 || + (r = sshbuf_put_cstring(m, s->tty)) != 0) +diff -ruwN source/openbsd-compat/bsd-statvfs.h source-new/openbsd-compat/bsd-statvfs.h +--- source/openbsd-compat/bsd-statvfs.h 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/openbsd-compat/bsd-statvfs.h 2025-09-06 21:09:36.556438304 +0700 +@@ -37,13 +37,6 @@ + typedef unsigned long fsfilcnt_t; + #endif + +-#ifndef ST_RDONLY +-#define ST_RDONLY 1 +-#endif +-#ifndef ST_NOSUID +-#define ST_NOSUID 2 +-#endif +- + /* as defined in IEEE Std 1003.1, 2004 Edition */ + struct statvfs { + unsigned long f_bsize; /* File system block size. */ +diff -ruwN source/openbsd-compat/getrrsetbyname.c source-new/openbsd-compat/getrrsetbyname.c +--- source/openbsd-compat/getrrsetbyname.c 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/openbsd-compat/getrrsetbyname.c 2025-09-06 21:09:36.556438304 +0700 +@@ -67,6 +67,52 @@ + #endif + #define _THREAD_PRIVATE(a,b,c) (c) + ++#ifdef __redox__ ++ ++#include ++#include ++ ++/* ++ * Minimalist replacement for for systems that lack it, ++ * such as Redox OS. This provides the basic structures needed by ++ * the OpenSSH compatibility layer. ++ */ ++ ++// Define necessary constants ++#define MAXNS 3 /* max # name servers we'll track */ ++#define MAXDNSRCH 6 /* max # domains in search path */ ++#define MAXRESOLVSORT 10 /* number of nets to sort on */ ++#define MAXDNAME 256 /* max length of a domain name */ ++ ++/* ++ * A simplified, portable version of the resolver state structure. ++ * Glibc-specific fields, hooks, and complex unions have been removed. ++ */ ++struct __res_state { ++ int retrans; /* retransmission time interval */ ++ int retry; /* number of times to retransmit */ ++ unsigned long options; /* option flags */ ++ int nscount; /* number of name servers */ ++ struct sockaddr_in nsaddr_list[MAXNS]; /* address of name servers */ ++ unsigned short id; /* current message id */ ++ char *dnsrch[MAXDNSRCH + 1]; /* components of domain to search */ ++ char defdname[MAXDNAME]; /* default domain name */ ++ ++ struct { ++ struct in_addr addr; ++ uint32_t mask; ++ } sort_list[MAXRESOLVSORT]; ++ ++ int res_h_errno; /* last error code for this context */ ++ ++ // Simplified bitfields, removing glibc internals ++ unsigned ndots : 4; /* threshold for initial abs. query */ ++ unsigned nsort : 4; /* number of elements in sort_list[] */ ++}; ++ ++typedef struct __res_state *res_state; ++#endif /* __redox */ ++ + #ifndef HAVE__RES_EXTERN + struct __res_state _res; + #endif +@@ -167,6 +213,24 @@ + struct dns_rr *next; + }; + ++#ifdef __redox__ ++typedef struct { ++ uint16_t id; ++ uint8_t rd : 1; ++ uint8_t tc : 1; ++ uint8_t aa : 1; ++ uint8_t opcode : 4; ++ uint8_t qr : 1; ++ uint8_t rcode : 4; ++ uint8_t z : 3; ++ uint8_t ra : 1; ++ uint16_t qdcount; ++ uint16_t ancount; ++ uint16_t nscount; ++ uint16_t arcount; ++} HEADER; ++#endif ++ + struct dns_response { + HEADER header; + struct dns_query *query; +@@ -221,10 +285,10 @@ + } + + /* initialize resolver */ +- if ((_resp->options & RES_INIT) == 0 && res_init() == -1) { ++ // if (res_init() == -1) { + result = ERRSET_FAIL; + goto fail; +- } ++ // } + + #ifdef DEBUG + _resp->options |= RES_DEBUG; +@@ -482,12 +546,12 @@ + prev->next = curr; + + /* name */ +- length = dn_expand(answer, answer + size, *cp, name, +- sizeof(name)); +- if (length < 0) { ++ // length = dn_expand(answer, answer + size, *cp, name, ++ // sizeof(name)); ++ // if (length < 0) { + free_dns_query(head); + return (NULL); +- } ++ // } + curr->name = strdup(name); + if (curr->name == NULL) { + free_dns_query(head); +@@ -542,12 +606,12 @@ + prev->next = curr; + + /* name */ +- length = dn_expand(answer, answer + size, *cp, name, +- sizeof(name)); +- if (length < 0) { ++ // length = dn_expand(answer, answer + size, *cp, name, ++ // sizeof(name)); ++ // if (length < 0) { + free_dns_rr(head); + return (NULL); +- } ++ // } + curr->name = strdup(name); + if (curr->name == NULL) { + free_dns_rr(head); +diff -ruwN source/openbsd-compat/getrrsetbyname.h source-new/openbsd-compat/getrrsetbyname.h +--- source/openbsd-compat/getrrsetbyname.h 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/openbsd-compat/getrrsetbyname.h 2025-09-06 21:09:36.557438268 +0700 +@@ -54,9 +54,13 @@ + + #include + #include ++#ifndef __redox__ + #include ++#endif + #include ++#ifndef __redox__ + #include ++#endif + + #ifndef HFIXEDSZ + #define HFIXEDSZ 12 +diff -ruwN source/openbsd-compat/inet_ntop.c source-new/openbsd-compat/inet_ntop.c +--- source/openbsd-compat/inet_ntop.c 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/openbsd-compat/inet_ntop.c 2025-09-06 21:09:36.557438268 +0700 +@@ -26,7 +26,9 @@ + #include + #include + #include ++#ifndef __redox__ + #include ++#endif + #include + #include + #include +diff -ruwN source/openbsd-compat/openbsd-compat.h source-new/openbsd-compat/openbsd-compat.h +--- source/openbsd-compat/openbsd-compat.h 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/openbsd-compat/openbsd-compat.h 2025-09-06 21:09:36.557438268 +0700 +@@ -36,6 +36,8 @@ + + #include /* for wchar_t */ + ++#include "getopt.h" ++ + /* OpenBSD function replacements */ + #include "base64.h" + #include "sigact.h" +diff -ruwN source/openbsd-compat/utmpx.c source-new/openbsd-compat/utmpx.c +--- source/openbsd-compat/utmpx.c 1970-01-01 07:00:00.000000000 +0700 ++++ source-new/openbsd-compat/utmpx.c 2025-09-06 21:09:36.557438268 +0700 +@@ -0,0 +1,13 @@ ++#include "utmpx.h" ++#include // For NULL ++ ++#ifdef __redox__ ++ ++void endutxent(void) { /* Do nothing */ } ++struct utmpx *getutxent(void) { return NULL; } ++struct utmpx *getutxid(const struct utmpx *ut) { return NULL; } ++struct utmpx *getutxline(const struct utmpx *ut) { return NULL; } ++struct utmpx *pututxline(const struct utmpx *ut) { return NULL; } ++void setutxent(void) { /* Do nothing */ } ++ ++#endif +\ No newline at end of file +diff -ruwN source/openbsd-compat/utmpx.h source-new/openbsd-compat/utmpx.h +--- source/openbsd-compat/utmpx.h 1970-01-01 07:00:00.000000000 +0700 ++++ source-new/openbsd-compat/utmpx.h 2025-09-06 21:09:36.557438268 +0700 +@@ -0,0 +1,69 @@ ++#ifndef _COMPAT_UTMPX_H ++#define _COMPAT_UTMPX_H ++#ifdef __redox__ ++#include ++#include ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++/* ++ * This header provides a POSIX-compliant definition of the utmpx structure ++ * and related functions for systems that lack a native , such as Redox OS. ++ */ ++ ++// Define standard sizes for character arrays, based on common practice (e.g., Linux) ++#define UT_LINESIZE 32 ++#define UT_NAMESIZE 32 ++#define UT_HOSTSIZE 256 ++#define UT_IDSIZE 4 ++ ++/* ++ * The utmpx structure, containing user accounting information. ++ */ ++struct utmpx { ++ char ut_user[UT_NAMESIZE]; /* User login name */ ++ char ut_id[UT_IDSIZE]; /* Unspecified terminal id */ ++ char ut_line[UT_LINESIZE]; /* Device name of tty */ ++ pid_t ut_pid; /* Process ID */ ++ short ut_type; /* Type of entry */ ++ struct timeval ut_tv; /* Time entry was made */ ++ // Non-standard but very common fields, often needed for compatibility ++ char ut_host[UT_HOSTSIZE]; /* Host name for remote login */ ++ // Padding to align the structure, if necessary ++ char __padding[16]; ++}; ++ ++/* ++ * Symbolic constants for the ut_type field. ++ */ ++#define EMPTY 0 /* No valid user accounting information */ ++#define BOOT_TIME 1 /* Time of system boot */ ++#define OLD_TIME 2 /* Time when system clock changed */ ++#define NEW_TIME 3 /* Time after system clock changed */ ++#define USER_PROCESS 4 /* A user process */ ++#define INIT_PROCESS 5 /* A process spawned by the init process */ ++#define LOGIN_PROCESS 6 /* The session leader of a logged-in user */ ++#define DEAD_PROCESS 7 /* A session leader who has exited */ ++ ++/* ++ * Function prototypes for utmpx database manipulation. ++ * ++ * NOTE: These are stubs. Since Redox OS does not have a utmp/utmpx ++ * database, these functions won't have a real implementation. They ++ * are declared here to satisfy the linker. ++ */ ++void endutxent(void); ++struct utmpx *getutxent(void); ++struct utmpx *getutxid(const struct utmpx *); ++struct utmpx *getutxline(const struct utmpx *); ++struct utmpx *pututxline(const struct utmpx *); ++void setutxent(void); ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* __redox__ */ ++#endif /* _COMPAT_UTMPX_H */ +\ No newline at end of file +diff -ruwN source/readconf.c source-new/readconf.c +--- source/readconf.c 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/readconf.c 2025-09-07 01:21:42.201992304 +0700 +@@ -554,7 +554,6 @@ + + if (stdfd_devnull(1, 1, 0) == -1) + fatal_f("stdfd_devnull failed"); +- closefrom(STDERR_FILENO + 1); + + argv[0] = shell; + argv[1] = "-c"; +diff -ruwN source/readpass.c source-new/readpass.c +--- source/readpass.c 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/readpass.c 2025-09-07 01:21:42.201992304 +0700 +@@ -278,7 +278,6 @@ + if (pid == 0) { + if (stdfd_devnull(1, 1, 0) == -1) + fatal_f("stdfd_devnull failed"); +- closefrom(STDERR_FILENO + 1); + setenv("SSH_ASKPASS_PROMPT", "none", 1); /* hint to UI */ + execlp(askpass, askpass, prompt, (char *)NULL); + error_f("exec(%s): %s", askpass, strerror(errno)); +diff -ruwN source/regress/netcat.c source-new/regress/netcat.c +--- source/regress/netcat.c 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/regress/netcat.c 2025-09-06 21:09:36.558438233 +0700 +@@ -1384,7 +1384,9 @@ + #include + #include + #include ++#ifndef __redox__ + #include ++#endif + + #define SOCKS_PORT "1080" + #define HTTP_PROXY_PORT "3128" +diff -ruwN source/session.c source-new/session.c +--- source/session.c 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/session.c 2025-09-07 01:22:43.637928015 +0700 +@@ -1365,10 +1365,12 @@ + exit(1); + } + /* Initialize the group list. */ ++#ifndef __redox__ + if (initgroups(pw->pw_name, pw->pw_gid) < 0) { + perror("initgroups"); + exit(1); + } ++#endif + endgrent(); + #endif + +@@ -1490,7 +1492,6 @@ + * initgroups, because at least on Solaris 2.3 it leaves file + * descriptors open. + */ +- closefrom(STDERR_FILENO + 1); + } + + /* +@@ -1624,7 +1625,6 @@ + exit(1); + } + +- closefrom(STDERR_FILENO + 1); + + do_rc_files(ssh, s, shell); + +diff -ruwN source/sshbuf-misc.c source-new/sshbuf-misc.c +--- source/sshbuf-misc.c 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/sshbuf-misc.c 2025-09-06 21:09:36.559438198 +0700 +@@ -28,7 +28,9 @@ + #include + #include + #include ++#ifndef __redox__ + #include ++#endif + #include + #include + +diff -ruwN source/ssh.c source-new/ssh.c +--- source/ssh.c 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/ssh.c 2025-09-07 01:22:43.638928030 +0700 +@@ -689,7 +689,6 @@ + * Discard other fds that are hanging around. These can cause problem + * with backgrounded ssh processes started by ControlPersist. + */ +- closefrom(STDERR_FILENO + 1); + + __progname = ssh_get_progname(av[0]); + +diff -ruwN source/sshconnect2.c source-new/sshconnect2.c +--- source/sshconnect2.c 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/sshconnect2.c 2025-09-07 01:22:58.683157171 +0700 +@@ -2057,7 +2057,6 @@ + sock = STDERR_FILENO + 1; + if (fcntl(sock, F_SETFD, 0) == -1) /* keep the socket on exec */ + debug3_f("fcntl F_SETFD: %s", strerror(errno)); +- closefrom(sock + 1); + + debug3_f("[child] pid=%ld, exec %s", + (long)getpid(), _PATH_SSH_KEY_SIGN); +diff -ruwN source/sshd.c source-new/sshd.c +--- source/sshd.c 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/sshd.c 2025-09-07 01:39:34.681252169 +0700 +@@ -1222,7 +1222,7 @@ + debug("setgroups(): %.200s", strerror(errno)); + + /* Ensure that fds 0, 1 and 2 are open or directed to /dev/null */ +- sanitise_stdfd(); ++ // sanitise_stdfd(); + + /* Initialize configuration options to their default values. */ + initialize_server_options(&options); +@@ -1344,7 +1344,6 @@ + if (!test_flag && !do_dump_cfg && !path_absolute(av[0])) + fatal("sshd requires execution with an absolute path"); + +- closefrom(STDERR_FILENO + 1); + + /* Reserve fds we'll need later for reexec things */ + if ((devnull = open(_PATH_DEVNULL, O_RDWR)) == -1) +@@ -1482,13 +1481,13 @@ + options.host_key_files[i]); + key->sk_flags &= ~SSH_SK_USER_PRESENCE_REQD; + } +- if (r == 0 && key != NULL && +- (r = sshkey_shield_private(key)) != 0) { +- do_log2_r(r, ll, "Unable to shield host key \"%s\"", +- options.host_key_files[i]); +- sshkey_free(key); +- key = NULL; +- } ++ // if (r == 0 && key != NULL && ++ // (r = sshkey_shield_private(key)) != 0) { ++ // do_log2_r(r, ll, "Unable to shield host key \"%s\"", ++ // options.host_key_files[i]); ++ // sshkey_free(key); ++ // key = NULL; ++ // } + if ((r = sshkey_load_public(options.host_key_files[i], + &pubkey, NULL)) != 0 && r != SSH_ERR_SYSTEM_ERROR) + do_log2_r(r, ll, "Unable to load host key \"%s\"", +@@ -1600,8 +1599,7 @@ + } + + /* Ensure privsep directory is correctly configured. */ +- need_chroot = ((getuid() == 0 || geteuid() == 0) || +- options.kerberos_authentication); ++ need_chroot = 0;// ((getuid() == 0 || geteuid() == 0) || options.kerberos_authentication); + if ((getpwnam(SSH_PRIVSEP_USER)) == NULL && need_chroot) { + fatal("Privilege separation user %s does not exist", + SSH_PRIVSEP_USER); +@@ -1773,7 +1771,7 @@ + close(startup_pipe); + } + log_redirect_stderr_to(NULL); +- closefrom(REEXEC_MIN_FREE_FD); ++ // closefrom(REEXEC_MIN_FREE_FD); + + ssh_signal(SIGHUP, SIG_IGN); /* avoid reset to SIG_DFL */ + execv(rexec_argv[0], rexec_argv); +diff -ruwN source/sshd-session.c source-new/sshd-session.c +--- source/sshd-session.c 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/sshd-session.c 2025-09-06 21:15:43.796191268 +0700 +@@ -1031,7 +1031,7 @@ + if (!rexeced_flag) + fatal("sshd-session should not be executed directly"); + +- closefrom(REEXEC_MIN_FREE_FD); ++ // closefrom(REEXEC_MIN_FREE_FD); + + seed_rng(); + +@@ -1073,7 +1073,7 @@ + options.timing_secret = timing_secret; + + /* Store privilege separation user for later use if required. */ +- privsep_chroot = (getuid() == 0 || geteuid() == 0); ++ privsep_chroot = 0;// (getuid() == 0 || geteuid() == 0); + if ((privsep_pw = getpwnam(SSH_PRIVSEP_USER)) == NULL) { + if (privsep_chroot || options.kerberos_authentication) + fatal("Privilege separation user %s does not exist", +diff -ruwN source/sshkey.c source-new/sshkey.c +--- source/sshkey.c 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/sshkey.c 2025-09-06 21:09:36.567437916 +0700 +@@ -43,7 +43,9 @@ + #include + #include + #include ++#ifndef __redox__ + #include ++#endif + #include + #ifdef HAVE_UTIL_H + #include +diff -ruwN source/ssh-sk-client.c source-new/ssh-sk-client.c +--- source/ssh-sk-client.c 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/ssh-sk-client.c 2025-09-07 01:21:42.201992304 +0700 +@@ -91,7 +91,6 @@ + } + close(pair[0]); + close(pair[1]); +- closefrom(STDERR_FILENO + 1); + debug_f("starting %s %s", helper, + verbosity == NULL ? "" : verbosity); + execlp(helper, helper, verbosity, (char *)NULL); +diff -ruwN source/ssh-sk-helper.c source-new/ssh-sk-helper.c +--- source/ssh-sk-helper.c 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/ssh-sk-helper.c 2025-09-07 01:22:43.638928030 +0700 +@@ -303,7 +303,6 @@ + * Rearrange our file descriptors a little; we don't trust the + * providers not to fiddle with stdin/out. + */ +- closefrom(STDERR_FILENO + 1); + if ((in = dup(STDIN_FILENO)) == -1 || (out = dup(STDOUT_FILENO)) == -1) + fatal("%s: dup: %s", __progname, strerror(errno)); + close(STDIN_FILENO); +diff -ruwN source/uidswap.c source-new/uidswap.c +--- source/uidswap.c 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/uidswap.c 2025-09-07 00:01:52.531094834 +0700 +@@ -37,7 +37,7 @@ + * POSIX saved uids or not. + */ + +-#if defined(_POSIX_SAVED_IDS) && !defined(BROKEN_SAVED_UIDS) ++#if !defined(BROKEN_SAVED_UIDS) + /* Lets assume that posix saved ids also work with seteuid, even though that + is not part of the posix specification. */ + #define SAVED_IDS_WORK_WITH_SETEUID +@@ -83,6 +83,9 @@ + privileged = 1; + temporarily_use_uid_effective = 1; + ++ // getgroups broken in redox ++#ifndef __redox__ ++ + saved_egroupslen = getgroups(0, NULL); + if (saved_egroupslen == -1) + fatal("getgroups: %.100s", strerror(errno)); +@@ -119,6 +122,7 @@ + /* Set the effective uid to the given (unprivileged) uid. */ + if (setgroups(user_groupslen, user_groups) == -1) + fatal("setgroups: %.100s", strerror(errno)); ++#endif + #ifndef SAVED_IDS_WORK_WITH_SETEUID + /* Propagate the privileged gid to all of our gids. */ + if (setgid(getegid()) == -1) +@@ -168,8 +172,11 @@ + fatal("%s: setgid failed: %s", __func__, strerror(errno)); + #endif /* SAVED_IDS_WORK_WITH_SETEUID */ + ++ // setgroups broken in redox ++#ifndef __redox__ + if (setgroups(saved_egroupslen, saved_egroups) == -1) + fatal("setgroups: %.100s", strerror(errno)); ++#endif + temporarily_use_uid_effective = 0; + } + diff --git a/recipes/net/redox-ssh/recipe.toml b/recipes/net/redox-ssh/recipe.toml new file mode 100644 index 00000000..277727fb --- /dev/null +++ b/recipes/net/redox-ssh/recipe.toml @@ -0,0 +1,5 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/redox-ssh.git" + +[build] +template = "cargo" diff --git a/recipes/net/rsync/recipe.toml b/recipes/net/rsync/recipe.toml new file mode 100644 index 00000000..4a967f27 --- /dev/null +++ b/recipes/net/rsync/recipe.toml @@ -0,0 +1,12 @@ +[source] +tar = "https://download.samba.org/pub/rsync/src/rsync-3.4.1.tar.gz" +patches = ["redox.patch"] + +[build] +template = "configure" +dependencies = [ + "zstd", + "lz4", + "openssl1", + "xxhash", +] diff --git a/recipes/net/rsync/redox.patch b/recipes/net/rsync/redox.patch new file mode 100644 index 00000000..07a929b0 --- /dev/null +++ b/recipes/net/rsync/redox.patch @@ -0,0 +1,25 @@ +diff -ruwN source/rsync.h source-new/rsync.h +--- source/rsync.h 2025-01-16 02:21:54.000000000 +0700 ++++ source-new/rsync.h 2025-09-08 12:18:06.427647717 +0700 +@@ -483,6 +483,21 @@ + #include + #endif + ++#ifdef __redox__ ++ ++// no sys/sysmacros.h, probably no problem ++#include ++#define major(dev) (0) ++#define minor(dev) (0) ++#define makedev(maj, min) (0) ++ ++// no openat yet ++#undef O_NOFOLLOW ++#undef O_DIRECTORY ++#undef AT_FDCWD ++ ++#endif ++ + #ifdef MAKEDEV_TAKES_3_ARGS + #define MAKEDEV(devmajor,devminor) makedev(0,devmajor,devminor) + #else diff --git a/recipes/other/ca-certificates/recipe.toml b/recipes/other/ca-certificates/recipe.toml new file mode 100644 index 00000000..b7674f22 --- /dev/null +++ b/recipes/other/ca-certificates/recipe.toml @@ -0,0 +1,11 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/ca-certificates.git" + +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}/etc/ssl" +cp -rv "${COOKBOOK_SOURCE}/certs" "${COOKBOOK_STAGE}/etc/ssl/certs" +#TODO: remove deprecated location after all recipes are fixed +ln -s etc/ssl "${COOKBOOK_STAGE}/ssl" +""" diff --git a/recipes/other/cookbook/recipe.toml b/recipes/other/cookbook/recipe.toml new file mode 100644 index 00000000..9b24639a --- /dev/null +++ b/recipes/other/cookbook/recipe.toml @@ -0,0 +1,28 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/cookbook.git" + +[build] +template = "custom" +script = """ +cookbook_cargo + +mkdir -pv "${COOKBOOK_STAGE}/home/user/cookbook" +cp -rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}/home/user/cookbook" +""" + +[package] +dependencies = [ + # TODO: When rust working, use this + # "dev-essential", + "autoconf", + "automake", + "gcc13", + "git", + "gnu-make", + "libtool", + "patch", + "pkg-config", + "pkgar", + "sed", + "wget", +] diff --git a/recipes/other/generaluser-gs/recipe.toml b/recipes/other/generaluser-gs/recipe.toml new file mode 100644 index 00000000..24aae0d3 --- /dev/null +++ b/recipes/other/generaluser-gs/recipe.toml @@ -0,0 +1,9 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/generaluser-gs.git" + +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}/usr/share/generaluser-gs" +cp -Rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}/usr/share/generaluser-gs" +""" diff --git a/recipes/other/jeremy/recipe.toml b/recipes/other/jeremy/recipe.toml new file mode 100644 index 00000000..47c300e0 --- /dev/null +++ b/recipes/other/jeremy/recipe.toml @@ -0,0 +1,11 @@ +# This is a private repository that sets up my user +[source] +git = "https://gitlab.redox-os.org/jackpot51/jeremy.git" + +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}/home" +cp -rv "${COOKBOOK_SOURCE}" "${COOKBOOK_STAGE}/home/user" +rm -rf "${COOKBOOK_STAGE}/home/user/.git" +""" diff --git a/recipes/other/myfiles/recipe.toml b/recipes/other/myfiles/recipe.toml new file mode 100644 index 00000000..3cb6ba09 --- /dev/null +++ b/recipes/other/myfiles/recipe.toml @@ -0,0 +1,6 @@ +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}/home/user" +cp -rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}/home/user" +""" diff --git a/recipes/other/rustconf2025/recipe.toml b/recipes/other/rustconf2025/recipe.toml new file mode 100644 index 00000000..7bd74811 --- /dev/null +++ b/recipes/other/rustconf2025/recipe.toml @@ -0,0 +1,9 @@ +[source] +git = "https://github.com/jackpot51/rustconf2025.git" + +[build] +template = "custom" +script = """ +mkdir -p "${COOKBOOK_STAGE}/home/user" +cp -v "${COOKBOOK_SOURCE}/"*.pdf "${COOKBOOK_STAGE}/home/user" +""" diff --git a/recipes/other/shared-mime-info/recipe.toml b/recipes/other/shared-mime-info/recipe.toml new file mode 100755 index 00000000..d0f6b1a7 --- /dev/null +++ b/recipes/other/shared-mime-info/recipe.toml @@ -0,0 +1,26 @@ +# This does not build update-mime-database to avoid bringing in C code to Redox +[source] +tar = "https://gitlab.freedesktop.org/xdg/shared-mime-info/-/archive/2.4/shared-mime-info-2.4.tar.gz" +blake3 = "ad130f2f923ab3d5455c643e6257abf3598339fdd134ad0fac4e5dbbbf070eb9" + +[build] +template = "custom" +script = """ +mkdir -p "${COOKBOOK_STAGE}/usr/share/mime/packages" +msgfmt --xml \ + --template="${COOKBOOK_SOURCE}/data/freedesktop.org.xml.in" \ + -d "${COOKBOOK_SOURCE}/po" \ + -o "${COOKBOOK_STAGE}/usr/share/mime/packages/freedesktop.org.xml" +update-mime-database -V "${COOKBOOK_STAGE}/usr/share/mime" +mkdir -p "${COOKBOOK_STAGE}/usr/share/pkgconfig" +cat > "${COOKBOOK_STAGE}/usr/share/pkgconfig/shared-mime-info.pc" <type == cm_simple && command->value.Simple->words == 0 && command->value.Simple->redirects == 0); + if (posixly_correct && nullcmd) + { +-#if defined (HAVE_GETRUSAGE) ++#if defined (HAVE_GETRUSAGE) && defined (HAVE_GETTIMEOFDAY) + selfb.ru_utime.tv_sec = kidsb.ru_utime.tv_sec = selfb.ru_stime.tv_sec = kidsb.ru_stime.tv_sec = 0; + selfb.ru_utime.tv_usec = kidsb.ru_utime.tv_usec = selfb.ru_stime.tv_usec = kidsb.ru_stime.tv_usec = 0; + before = shellstart; +-#else ++#elif defined (HAVE_TIMES) + before.tms_utime = before.tms_stime = before.tms_cutime = before.tms_cstime = 0; + tbefore = shell_start_time; + #endif +diff -ruwN source/general.c source-new/general.c +--- source/general.c 2022-11-24 05:10:12.000000000 +0700 ++++ source-new/general.c 2025-09-19 17:09:24.754782168 +0700 +@@ -589,6 +589,7 @@ + void + check_dev_tty () + { ++#if !defined(__redox__) + int tty_fd; + char *tty; + +@@ -603,6 +604,7 @@ + } + if (tty_fd >= 0) + close (tty_fd); ++#endif + } + + /* Return 1 if PATH1 and PATH2 are the same file. This is kind of +diff -ruwN source/include/posixwait.h source-new/include/posixwait.h +--- source/include/posixwait.h 2019-03-30 00:25:52.000000000 +0700 ++++ source-new/include/posixwait.h 2025-09-01 04:36:35.276926707 +0700 +@@ -34,7 +34,7 @@ + + /* How to get the status of a job. For Posix, this is just an + int, but for other systems we have to crack the union wait. */ +-#if !defined (_POSIX_VERSION) ++#if 0 + typedef union wait WAIT; + # define WSTATUS(t) (t.w_status) + #else /* _POSIX_VERSION */ +@@ -50,7 +50,7 @@ + + /* More Posix P1003.1 definitions. In the POSIX versions, the parameter is + passed as an `int', in the non-POSIX version, as `union wait'. */ +-#if defined (_POSIX_VERSION) ++#if 1 + + # if !defined (WSTOPSIG) + # define WSTOPSIG(s) ((s) >> 8) +diff -ruwN source/lib/readline/input.c source-new/lib/readline/input.c +--- source/lib/readline/input.c 2022-04-09 02:43:24.000000000 +0700 ++++ source-new/lib/readline/input.c 2025-09-01 04:36:35.276926707 +0700 +@@ -805,7 +805,7 @@ + int result; + unsigned char c; + int fd; +-#if defined (HAVE_PSELECT) ++#if defined (HAVE_PSELECT) || defined (HAVE_SELECT) + sigset_t empty_set; + fd_set readfds; + #endif +diff -ruwN source/lib/readline/terminal.c source-new/lib/readline/terminal.c +--- source/lib/readline/terminal.c 2022-04-05 21:44:17.000000000 +0700 ++++ source-new/lib/readline/terminal.c 2025-09-01 04:36:35.286927174 +0700 +@@ -102,7 +102,7 @@ + + static int tcap_initialized; + +-#if !defined (__linux__) && !defined (NCURSES_VERSION) ++#if !defined (__linux__) && !defined (NCURSES_VERSION) && !defined (__redox__) + # if defined (__EMX__) || defined (NEED_EXTERN_PC) + extern + # endif /* __EMX__ || NEED_EXTERN_PC */ +diff -ruwN source/lib/sh/getcwd.c source-new/lib/sh/getcwd.c +--- source/lib/sh/getcwd.c 2012-03-10 22:48:50.000000000 +0700 ++++ source-new/lib/sh/getcwd.c 2025-09-01 04:36:35.286927174 +0700 +@@ -20,7 +20,7 @@ + + #include + +-#if !defined (HAVE_GETCWD) ++#if !defined (HAVE_GETCWD) && !defined(__redox__) + + #if !defined (__GNUC__) && !defined (HAVE_ALLOCA_H) && defined (_AIX) + #pragma alloca +diff -ruwN source/lib/sh/input_avail.c source-new/lib/sh/input_avail.c +--- source/lib/sh/input_avail.c 2021-05-24 22:16:33.000000000 +0700 ++++ source-new/lib/sh/input_avail.c 2025-09-01 04:36:35.298927735 +0700 +@@ -33,7 +33,7 @@ + # include + #endif /* HAVE_SYS_FILE_H */ + +-#if defined (HAVE_PSELECT) ++#if defined (HAVE_PSELECT) || defined (HAVE_SELECT) + # include + #endif + +diff -ruwN source/lib/sh/strtoimax.c source-new/lib/sh/strtoimax.c +--- source/lib/sh/strtoimax.c 2021-09-10 21:32:35.000000000 +0700 ++++ source-new/lib/sh/strtoimax.c 2025-09-01 04:36:35.301927876 +0700 +@@ -55,6 +55,8 @@ + extern long long strtoll PARAMS((const char *, char **, int)); + #endif + ++#if !defined (__redox__) ++ + #ifdef strtoimax + #undef strtoimax + #endif +@@ -79,6 +81,8 @@ + return (strtol (ptr, endptr, base)); + } + ++#endif ++ + #ifdef TESTING + # include + int +diff -ruwN source/parse.y source-new/parse.y +--- source/parse.y 2022-12-14 00:09:02.000000000 +0700 ++++ source-new/parse.y 2025-09-01 04:36:35.302927923 +0700 +@@ -2625,6 +2625,7 @@ + parser_state |= PST_ENDALIAS; + /* We need to do this to make sure last_shell_getc_is_singlebyte returns + true, since we are returning a single-byte space. */ ++#if defined (HANDLE_MULTIBYTE) + if (shell_input_line_index == shell_input_line_len && last_shell_getc_is_singlebyte == 0) + { + #if 0 +@@ -2638,6 +2639,7 @@ + shell_input_line_property[shell_input_line_index - 1] = 1; + #endif + } ++#endif /* HANDLE_MULTIBYTE */ + return ' '; /* END_ALIAS */ + } + #endif +diff -ruwN source/y.tab.c source-new/y.tab.c +--- source/y.tab.c 2022-12-14 00:09:02.000000000 +0700 ++++ source-new/y.tab.c 2025-09-01 04:36:35.307928157 +0700 +@@ -4936,6 +4936,7 @@ + parser_state |= PST_ENDALIAS; + /* We need to do this to make sure last_shell_getc_is_singlebyte returns + true, since we are returning a single-byte space. */ ++#if defined (HANDLE_MULTIBYTE) + if (shell_input_line_index == shell_input_line_len && last_shell_getc_is_singlebyte == 0) + { + #if 0 +@@ -4949,6 +4950,7 @@ + shell_input_line_property[shell_input_line_index - 1] = 1; + #endif + } ++#endif /* HANDLE_MULTIBYTE */ + return ' '; /* END_ALIAS */ + } + #endif diff --git a/recipes/shells/nushell/recipe.toml b/recipes/shells/nushell/recipe.toml new file mode 100644 index 00000000..e2559c66 --- /dev/null +++ b/recipes/shells/nushell/recipe.toml @@ -0,0 +1,20 @@ +#TODO: build fails to link, we need the following in relibc +# - getgrgid_r +# - getgrouplist +# Additionally, openssl fails to link fprintf and sscanf + +[source] +git = "https://github.com/jackpot51/nushell.git" +branch = "redox" + +[build] +dependencies = [ + "openssl1" +] +template = "custom" +script = """ +export OPENSSL_DIR="${COOKBOOK_SYSROOT}" +export OPENSSL_STATIC="true" +cookbook_cargo +""" + diff --git a/recipes/sound/freepats/recipe.toml b/recipes/sound/freepats/recipe.toml new file mode 100644 index 00000000..67bc257f --- /dev/null +++ b/recipes/sound/freepats/recipe.toml @@ -0,0 +1,12 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/freepats.git" + +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}/share/freepats" +cp -Rv "${COOKBOOK_SOURCE}/"* "${COOKBOOK_STAGE}/share/freepats" +mkdir -pv "${COOKBOOK_STAGE}/etc/timidity" +echo "dir /share/freepats" > "${COOKBOOK_STAGE}/etc/timidity/freepats.cfg" +echo "source /share/freepats/freepats.cfg" >> "${COOKBOOK_STAGE}/etc/timidity/freepats.cfg" +""" diff --git a/recipes/sound/rodioplay/recipe.toml b/recipes/sound/rodioplay/recipe.toml new file mode 100644 index 00000000..84b246e1 --- /dev/null +++ b/recipes/sound/rodioplay/recipe.toml @@ -0,0 +1,5 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/rodioplay.git" + +[build] +template = "cargo" diff --git a/recipes/sound/timidity/recipe.toml b/recipes/sound/timidity/recipe.toml new file mode 100644 index 00000000..98c25496 --- /dev/null +++ b/recipes/sound/timidity/recipe.toml @@ -0,0 +1,35 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/timidity.git" +branch = "redox" +script = """ +autoreconf -f -i + +wget -O autoconf/config.sub "https://gitlab.redox-os.org/redox-os/gnu-config/-/raw/master/config.sub?inline=false" +""" + +[build] +template = "custom" +script = """ +export LDFLAGS="-static" + +COOKBOOK_CONFIGURE_FLAGS=( + --build="$(gcc -dumpmachine)" + --host="${TARGET}" + --prefix="" + --enable-vt100 +) + +cookbook_configure + +# Create configuration files +mkdir -pv "${COOKBOOK_STAGE}/etc/timidity" +echo "soundfont /share/generaluser-gs/generaluser-gs.sf2" >> "${COOKBOOK_STAGE}/etc/timidity/timidity.cfg" + +mkdir -pv "${COOKBOOK_STAGE}/share/timidity" +echo "soundfont /share/generaluser-gs/generaluser-gs.sf2" >> "${COOKBOOK_STAGE}/share/timidity/timidity.cfg" +""" + +[package] +dependencies = [ + "generaluser-gs", +] \ No newline at end of file diff --git a/recipes/tests/acid/recipe.toml b/recipes/tests/acid/recipe.toml new file mode 100644 index 00000000..1f126290 --- /dev/null +++ b/recipes/tests/acid/recipe.toml @@ -0,0 +1,5 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/acid.git" + +[build] +template = "cargo" diff --git a/recipes/tests/benchmarks/recipe.toml b/recipes/tests/benchmarks/recipe.toml new file mode 100644 index 00000000..17e61352 --- /dev/null +++ b/recipes/tests/benchmarks/recipe.toml @@ -0,0 +1,9 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/benchmarks" + +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/benchmarks +cp -rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}"/usr/share/benchmarks +""" diff --git a/recipes/tests/hello-redox/files/test.c b/recipes/tests/hello-redox/files/test.c new file mode 100644 index 00000000..dba479b0 --- /dev/null +++ b/recipes/tests/hello-redox/files/test.c @@ -0,0 +1,5 @@ +#include + +int main(void) { + printf("Hello, Redox!\\n"); +} diff --git a/recipes/tests/hello-redox/files/test.cpp b/recipes/tests/hello-redox/files/test.cpp new file mode 100644 index 00000000..65a03775 --- /dev/null +++ b/recipes/tests/hello-redox/files/test.cpp @@ -0,0 +1,6 @@ +#include + +int main() +{ + std::cout << "Hello, Redox!" << std::endl; +} diff --git a/recipes/tests/hello-redox/files/test.java b/recipes/tests/hello-redox/files/test.java new file mode 100644 index 00000000..b6aca3d7 --- /dev/null +++ b/recipes/tests/hello-redox/files/test.java @@ -0,0 +1,5 @@ +public class Java { + public static void main(String[] args) { + System.out.println("Hello Redox"); + } +} diff --git a/recipes/tests/hello-redox/files/test.js b/recipes/tests/hello-redox/files/test.js new file mode 100644 index 00000000..d9bc174a --- /dev/null +++ b/recipes/tests/hello-redox/files/test.js @@ -0,0 +1 @@ +console.log("Hello Redox"); diff --git a/recipes/tests/hello-redox/files/test.lua b/recipes/tests/hello-redox/files/test.lua new file mode 100644 index 00000000..253def8b --- /dev/null +++ b/recipes/tests/hello-redox/files/test.lua @@ -0,0 +1 @@ +print("Hello, Redox!") diff --git a/recipes/tests/hello-redox/files/test.py b/recipes/tests/hello-redox/files/test.py new file mode 100644 index 00000000..253def8b --- /dev/null +++ b/recipes/tests/hello-redox/files/test.py @@ -0,0 +1 @@ +print("Hello, Redox!") diff --git a/recipes/tests/hello-redox/files/test.rs b/recipes/tests/hello-redox/files/test.rs new file mode 100644 index 00000000..42c716df --- /dev/null +++ b/recipes/tests/hello-redox/files/test.rs @@ -0,0 +1,3 @@ +fn main() { + println!("Hello, Redox!"); +} diff --git a/recipes/tests/hello-redox/recipe.toml b/recipes/tests/hello-redox/recipe.toml new file mode 100644 index 00000000..6801e833 --- /dev/null +++ b/recipes/tests/hello-redox/recipe.toml @@ -0,0 +1,6 @@ +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}/home/user/hello-redox" +cp -rv "${COOKBOOK_RECIPE}"/files/* "${COOKBOOK_STAGE}/home/user/hello-redox" +""" diff --git a/recipes/tests/openposixtestsuite/recipe.toml b/recipes/tests/openposixtestsuite/recipe.toml new file mode 100644 index 00000000..3ff2cb7e --- /dev/null +++ b/recipes/tests/openposixtestsuite/recipe.toml @@ -0,0 +1,19 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/openposixtestsuite.git" +branch = "redox" + +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}/share/openposixtestsuite" +cp -rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}/share/openposixtestsuite" +""" + +[package] +dependencies = [ + "gcc13", + "gnu-binutils", + "gnu-make", + "sed", +] + diff --git a/recipes/tests/os-test/recipe.toml b/recipes/tests/os-test/recipe.toml new file mode 100644 index 00000000..9b0d0235 --- /dev/null +++ b/recipes/tests/os-test/recipe.toml @@ -0,0 +1,20 @@ +# TODO remove gnu-grep when extrautils grep supports grep -E +[source] +git = "https://gitlab.com/sortix/os-test" + +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}/share/os-test" +cp -rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}/share/os-test" +""" + +[package] +dependencies = [ + "gcc13", + "gnu-binutils", + "gnu-grep", + "gnu-make", + "libarchive", + "sed", +] diff --git a/recipes/tests/redox-posix-tests/recipe.toml b/recipes/tests/redox-posix-tests/recipe.toml new file mode 100644 index 00000000..dae4b48c --- /dev/null +++ b/recipes/tests/redox-posix-tests/recipe.toml @@ -0,0 +1,18 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/redox-posix-tests.git" + + +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}/share/redox-posix-tests" +cp -rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}/share/redox-posix-tests" +""" + +[package] +dependencies = [ + "gcc13", + "gnu-binutils", + "gnu-make", +] + diff --git a/recipes/tests/relibc-tests/recipe.toml b/recipes/tests/relibc-tests/recipe.toml new file mode 100644 index 00000000..8f587bb5 --- /dev/null +++ b/recipes/tests/relibc-tests/recipe.toml @@ -0,0 +1,16 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/relibc.git" +branch = "master" + +[build] +template = "custom" +script = """ +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ +pushd tests +export CARGO_TEST="${COOKBOOK_CARGO}" +export NATIVE_RELIBC=0 # set 0 to link against relibc +"${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}" all bins_verify/relibc-tests +popd +mkdir -pv "${COOKBOOK_STAGE}/share/relibc" +cp -rv "tests" "${COOKBOOK_STAGE}/share/relibc/tests" +""" diff --git a/recipes/tests/resist/recipe.toml b/recipes/tests/resist/recipe.toml new file mode 100644 index 00000000..7f0ecb23 --- /dev/null +++ b/recipes/tests/resist/recipe.toml @@ -0,0 +1,10 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/resist.git" + +[build] +template = "custom" +script = """ +cookbook_cargo +mkdir -pv "${COOKBOOK_STAGE}/share/resist" +cp -rv "${COOKBOOK_SOURCE}/"{posix,redox} "${COOKBOOK_STAGE}/share/resist" +""" diff --git a/recipes/tests/vttest/recipe.toml b/recipes/tests/vttest/recipe.toml new file mode 100644 index 00000000..020c4192 --- /dev/null +++ b/recipes/tests/vttest/recipe.toml @@ -0,0 +1,21 @@ +[source] +tar = "https://invisible-island.net/archives/vttest/vttest-20140305.tgz" +blake3 = "b515b9a5e1f1498ed99e1a1c172fbcfdf2b7a214e185bd2005cc994407ded89e" +patches = ["redox.patch"] +script = """ +GNU_CONFIG_GET config.sub +""" + +[build] +template = "custom" +script = """ +export LDFLAGS="-static" + +COOKBOOK_CONFIGURE_FLAGS=( + --build="$(gcc -dumpmachine)" + --host="${TARGET}" + --prefix="" +) + +cookbook_configure +""" \ No newline at end of file diff --git a/recipes/tests/vttest/redox.patch b/recipes/tests/vttest/redox.patch new file mode 100644 index 00000000..8fe39620 --- /dev/null +++ b/recipes/tests/vttest/redox.patch @@ -0,0 +1,80 @@ +diff -u source_original/main.c source/main.c +--- source_original/main.c 2014-01-16 22:15:19.000000000 +0100 ++++ source/main.c 2017-10-30 18:31:22.365280877 +0100 +@@ -1295,8 +1295,8 @@ + void + initterminal(int pn) + { +- init_ttymodes(pn); +- setup_terminal(""); ++ //init_ttymodes(pn); ++ //setup_terminal(""); + } + + /* Set up my personal prejudices */ +Common subdirectories: source_original/package and source/package +diff -u source_original/unix_io.c source/unix_io.c +--- source_original/unix_io.c 2014-01-16 23:11:39.000000000 +0100 ++++ source/unix_io.c 2017-10-30 18:48:13.927899071 +0100 +@@ -40,17 +40,17 @@ + lval = last_char; + brkrd = FALSE; + reading = TRUE; +-#ifdef HAVE_ALARM +- signal(SIGALRM, give_up); +- alarm(60); /* timeout after 1 minute, in case user's keyboard is hung */ +-#endif ++//#ifdef HAVE_ALARM ++// signal(SIGALRM, give_up); ++// alarm(60); /* timeout after 1 minute, in case user's keyboard is hung */ ++//#endif + if (read(0, &one_byte, (size_t) 1) < 0) + ch = EOF; + else + ch = (int) one_byte; +-#ifdef HAVE_ALARM +- alarm(0); +-#endif ++//#ifdef HAVE_ALARM ++// alarm(0); ++//#endif + reading = FALSE; + #ifdef DEBUG + { +@@ -178,21 +178,21 @@ + void + inflush(void) + { +- int val; +- +-#ifdef HAVE_RDCHK +- while (rdchk(0)) +- read(0, &val, 1); +-#else +-#if USE_FIONREAD +- int l1; +- ioctl(0, FIONREAD, &l1); +- while (l1-- > 0L) +- read(0, &val, (size_t) 1); +-#else +- while (read(2, &val, (size_t) 1) > 0) ; +-#endif +-#endif ++// int val; ++// ++//#ifdef HAVE_RDCHK ++// while (rdchk(0)) ++// read(0, &val, 1); ++//#else ++//#if USE_FIONREAD ++// int l1; ++// ioctl(0, FIONREAD, &l1); ++// while (l1-- > 0L) ++// read(0, &val, (size_t) 1); ++//#else ++// while (read(2, &val, (size_t) 1) > 0) ; ++//#endif ++//#endif + } + + void diff --git a/recipes/tools/bzip2/recipe.toml b/recipes/tools/bzip2/recipe.toml new file mode 100644 index 00000000..5c73235a --- /dev/null +++ b/recipes/tools/bzip2/recipe.toml @@ -0,0 +1,35 @@ +[source] +tar = "https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz" +blake3 = "97af3f520629c65fe41292f77e6ca798fe594d7987bfb2aebe7c6fcdc7ab5ed2" + +[build] +template = "custom" +script = """ +DYNAMIC_INIT + +# This installs the static library regardless of config options +# The static lib is preferred according to the README because it's faster +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ +"${COOKBOOK_MAKE}" -j"${COOKBOOK_MAKE_JOBS}" \ + AR="${TARGET}-ar" \ + CC="${CC_WRAPPER} ${TARGET}-gcc" \ + PREFIX="${COOKBOOK_STAGE}" \ + RANLIB="${TARGET}-ranlib" \ + install + +# However, distros distribute libbz2 as well so we'll support it too +# Linking the lib fails if we don't rebuild the objects from earlier +"${COOKBOOK_MAKE}" clean + +# This DOES NOT build/clobber the binaries already built above +"${COOKBOOK_MAKE}" -f Makefile-libbz2_so \ + -j"${COOKBOOK_MAKE_JOBS}" \ + AR="${TARGET}-ar" \ + CC="${CC_WRAPPER} ${TARGET}-gcc" \ + PREFIX="${COOKBOOK_STAGE}" \ + RANLIB="${TARGET}-ranlib" + +cp -av libbz2.so* "${COOKBOOK_STAGE}/lib" +ln -sr "${COOKBOOK_STAGE}/lib/libbz2.so.1.0" "${COOKBOOK_STAGE}/lib/libbz2.so.1" +ln -sr "${COOKBOOK_STAGE}/lib/libbz2.so.1.0" "${COOKBOOK_STAGE}/lib/libbz2.so" +""" diff --git a/recipes/tools/cleye/recipe.toml b/recipes/tools/cleye/recipe.toml new file mode 100644 index 00000000..a2da3ae2 --- /dev/null +++ b/recipes/tools/cleye/recipe.toml @@ -0,0 +1,5 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/cleye.git" + +[build] +template = "cargo" diff --git a/recipes/tools/cosmic-edit/manifest b/recipes/tools/cosmic-edit/manifest new file mode 100644 index 00000000..d0688c7c --- /dev/null +++ b/recipes/tools/cosmic-edit/manifest @@ -0,0 +1,17 @@ +name=COSMIC Text Editor +binary=/bin/cosmic-edit +icon=/ui/icons/apps/accessories-text-editor.png +accept=*.asm +accept=*.conf +accept=*.html +accept=*.ion +accept=*.list +accept=*.lua +accept=*.md +accept=*.rc +accept=*.rs +accept=*.sh +accept=*.toml +accept=*.txt +author=Jeremy Soller +description=COSMIC Text Editor diff --git a/recipes/tools/cosmic-edit/recipe.toml b/recipes/tools/cosmic-edit/recipe.toml new file mode 100644 index 00000000..bd7c4482 --- /dev/null +++ b/recipes/tools/cosmic-edit/recipe.toml @@ -0,0 +1,19 @@ +[source] +git = "https://github.com/pop-os/cosmic-edit.git" +branch = "master" + +[build] +template = "custom" +script = """ +cookbook_cargo --no-default-features +mkdir -pv "${COOKBOOK_STAGE}/ui/apps" +cp -v "${COOKBOOK_RECIPE}/manifest" "${COOKBOOK_STAGE}/ui/apps/30_cosmic-edit" +#TODO: install with just? +APPID="com.system76.CosmicEdit" +mkdir -pv "${COOKBOOK_STAGE}/usr/share/applications/" +cp -v "${COOKBOOK_SOURCE}/res/${APPID}.desktop" "${COOKBOOK_STAGE}/usr/share/applications/" +mkdir -pv "${COOKBOOK_STAGE}/usr/share/metainfo/" +cp -v "${COOKBOOK_SOURCE}/res/${APPID}.metainfo.xml" "${COOKBOOK_STAGE}/usr/share/metainfo/" +mkdir -pv "${COOKBOOK_STAGE}/usr/share/icons/" +cp -rv "${COOKBOOK_SOURCE}/res/icons/hicolor/" "${COOKBOOK_STAGE}/usr/share/icons/" +""" diff --git a/recipes/tools/cosmic-files/manifest b/recipes/tools/cosmic-files/manifest new file mode 100644 index 00000000..df778a48 --- /dev/null +++ b/recipes/tools/cosmic-files/manifest @@ -0,0 +1,5 @@ +name=COSMIC File Manager +binary=/bin/cosmic-files +icon=/ui/icons/apps/system-file-manager.png +author=Jeremy Soller +description=COSMIC File Manager diff --git a/recipes/tools/cosmic-files/recipe.toml b/recipes/tools/cosmic-files/recipe.toml new file mode 100644 index 00000000..f62a4eac --- /dev/null +++ b/recipes/tools/cosmic-files/recipe.toml @@ -0,0 +1,36 @@ +[source] +git = "https://github.com/pop-os/cosmic-files.git" +branch = "master" + +[build] +template = "custom" +dependencies = [ + "gettext", + "libxkbcommon", +] +script = """ +DYNAMIC_INIT +export GETTEXT_DIR="${COOKBOOK_SYSROOT}" +# Hack to link libiconv, which gettext-sys does not link +"${COOKBOOK_CARGO}" rustc \ + --manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \ + --release \ + --bin cosmic-files \ + --no-default-features \ + --features desktop \ + -- \ + -L "${COOKBOOK_SYSROOT}/lib" \ + -C link-arg="-liconv" +mkdir -pv "${COOKBOOK_STAGE}/usr/bin/" +cp -v "target/${TARGET}/release/cosmic-files" "${COOKBOOK_STAGE}/usr/bin/" +mkdir -pv "${COOKBOOK_STAGE}/ui/apps/" +cp -v "${COOKBOOK_RECIPE}/manifest" "${COOKBOOK_STAGE}/ui/apps/20_cosmic-files" +#TODO: install with just? +APPID="com.system76.CosmicFiles" +mkdir -pv "${COOKBOOK_STAGE}/usr/share/applications/" +cp -v "${COOKBOOK_SOURCE}/res/${APPID}.desktop" "${COOKBOOK_STAGE}/usr/share/applications/" +mkdir -pv "${COOKBOOK_STAGE}/usr/share/metainfo/" +cp -v "${COOKBOOK_SOURCE}/res/${APPID}.metainfo.xml" "${COOKBOOK_STAGE}/usr/share/metainfo/" +mkdir -pv "${COOKBOOK_STAGE}/usr/share/icons/" +cp -rv "${COOKBOOK_SOURCE}/res/icons/hicolor/" "${COOKBOOK_STAGE}/usr/share/icons/" +""" \ No newline at end of file diff --git a/recipes/tools/cosmic-reader/manifest b/recipes/tools/cosmic-reader/manifest new file mode 100644 index 00000000..99f5ab65 --- /dev/null +++ b/recipes/tools/cosmic-reader/manifest @@ -0,0 +1,6 @@ +name=COSMIC Reader +binary=/bin/cosmic-reader +icon=/ui/icons/apps/accessories-text-editor.png +accept=*.pdf +author=Jeremy Soller +description=COSMIC Reader diff --git a/recipes/tools/cosmic-reader/recipe.toml b/recipes/tools/cosmic-reader/recipe.toml new file mode 100644 index 00000000..01619a80 --- /dev/null +++ b/recipes/tools/cosmic-reader/recipe.toml @@ -0,0 +1,37 @@ +[source] +git = "https://github.com/pop-os/cosmic-reader.git" +branch = "master" + +[build] +template = "custom" +dependencies = [ + "expat", + "fontconfig", + "freetype2", + "libpng", + "zlib", +] +script = """ +DYNAMIC_INIT +export BINDGEN_EXTRA_CLANG_ARGS="--sysroot=${COOKBOOK_HOST_SYSROOT}/${GNU_TARGET} -I${COOKBOOK_HOST_SYSROOT}/${GNU_TARGET}/include" +"${COOKBOOK_CARGO}" rustc \ + --manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \ + --release \ + --bin cosmic-reader \ + --no-default-features \ + --features mupdf \ + -- \ + -C link-args="-lpng -lexpat" +mkdir -pv "${COOKBOOK_STAGE}/usr/bin/" +cp -v "target/${TARGET}/release/cosmic-reader" "${COOKBOOK_STAGE}/usr/bin/" +mkdir -pv "${COOKBOOK_STAGE}/ui/apps" +cp -v "${COOKBOOK_RECIPE}/manifest" "${COOKBOOK_STAGE}/ui/apps/40_cosmic-reader" +#TODO: install with just? +APPID="com.system76.CosmicReader" +mkdir -pv "${COOKBOOK_STAGE}/usr/share/applications/" +cp -v "${COOKBOOK_SOURCE}/res/${APPID}.desktop" "${COOKBOOK_STAGE}/usr/share/applications/" +mkdir -pv "${COOKBOOK_STAGE}/usr/share/thumbnailers/" +cp -v "${COOKBOOK_SOURCE}/res/${APPID}.thumbnailer" "${COOKBOOK_STAGE}/usr/share/thumbnailers/" +mkdir -pv "${COOKBOOK_STAGE}/usr/share/icons/" +cp -rv "${COOKBOOK_SOURCE}/res/icons/hicolor/" "${COOKBOOK_STAGE}/usr/share/icons/" +""" diff --git a/recipes/tools/cosmic-settings/recipe.toml b/recipes/tools/cosmic-settings/recipe.toml new file mode 100644 index 00000000..f2a3f372 --- /dev/null +++ b/recipes/tools/cosmic-settings/recipe.toml @@ -0,0 +1,35 @@ +[source] +git = "https://github.com/pop-os/cosmic-settings.git" +branch = "master" + +[build] +template = "custom" +dependencies = [ + "gettext", + "libiconv", +] +script = """ +DYNAMIC_INIT +export GETTEXT_DIR="${COOKBOOK_SYSROOT}" +# Hack to link libiconv, which gettext-sys does not link +"${COOKBOOK_CARGO}" rustc \ + --manifest-path "${COOKBOOK_SOURCE}/cosmic-settings/Cargo.toml" \ + --release \ + --bin cosmic-settings \ + --no-default-features \ + -- \ + -L "${COOKBOOK_SYSROOT}/lib" \ + -C link-arg="-liconv" +mkdir -pv "${COOKBOOK_STAGE}/usr/bin/" +cp -v "target/${TARGET}/release/cosmic-settings" "${COOKBOOK_STAGE}/usr/bin/" +#TODO: install with just? +APPID="com.system76.CosmicSettings" +mkdir -pv "${COOKBOOK_STAGE}/usr/share/applications/" +sed 's/Categories=COSMIC/Categories=Settings/' "${COOKBOOK_SOURCE}/resources/${APPID}.desktop" > "${COOKBOOK_STAGE}/usr/share/applications/${APPID}.desktop" +mkdir -pv "${COOKBOOK_STAGE}/usr/share/metainfo/" +cp -v "${COOKBOOK_SOURCE}/resources/${APPID}.metainfo.xml" "${COOKBOOK_STAGE}/usr/share/metainfo/" +mkdir -pv "${COOKBOOK_STAGE}/usr/share/" +cp -rv "${COOKBOOK_SOURCE}/resources/default_schema/" "${COOKBOOK_STAGE}/usr/share/cosmic/" +mkdir -pv "${COOKBOOK_STAGE}/usr/share/icons/" +cp -rv "${COOKBOOK_SOURCE}/resources/icons/" "${COOKBOOK_STAGE}/usr/share/icons/hicolor/" +""" \ No newline at end of file diff --git a/recipes/tools/cosmic-store/recipe.toml b/recipes/tools/cosmic-store/recipe.toml new file mode 100644 index 00000000..1eb1406f --- /dev/null +++ b/recipes/tools/cosmic-store/recipe.toml @@ -0,0 +1,25 @@ +[source] +git = "https://github.com/pop-os/cosmic-store.git" +branch = "master" + +[build] +template = "custom" +dependencies = [ + "gettext", + "libxkbcommon", + "openssl1", +] +script = """ +DYNAMIC_INIT +export GETTEXT_DIR="${COOKBOOK_SYSROOT}" +export GETTEXT_STATIC=1 +cookbook_cargo --no-default-features --features desktop,pkgar +#TODO: install with just? +APPID="com.system76.CosmicStore" +mkdir -pv "${COOKBOOK_STAGE}/usr/share/applications/" +cp -v "${COOKBOOK_SOURCE}/res/${APPID}.desktop" "${COOKBOOK_STAGE}/usr/share/applications/" +mkdir -pv "${COOKBOOK_STAGE}/usr/share/metainfo/" +cp -v "${COOKBOOK_SOURCE}/res/${APPID}.metainfo.xml" "${COOKBOOK_STAGE}/usr/share/metainfo/" +mkdir -pv "${COOKBOOK_STAGE}/usr/share/icons/" +cp -rv "${COOKBOOK_SOURCE}/res/icons/hicolor/" "${COOKBOOK_STAGE}/usr/share/icons/" +""" diff --git a/recipes/tools/cosmic-term/manifest b/recipes/tools/cosmic-term/manifest new file mode 100644 index 00000000..2b6f00d1 --- /dev/null +++ b/recipes/tools/cosmic-term/manifest @@ -0,0 +1,5 @@ +name=COSMIC Terminal +binary=/bin/cosmic-term +icon=/ui/icons/apps/utilities-terminal.png +author=Jeremy Soller +description=COSMIC Terminal diff --git a/recipes/tools/cosmic-term/recipe.toml b/recipes/tools/cosmic-term/recipe.toml new file mode 100644 index 00000000..f1232c53 --- /dev/null +++ b/recipes/tools/cosmic-term/recipe.toml @@ -0,0 +1,20 @@ +[source] +git = "https://github.com/pop-os/cosmic-term.git" +branch = "master" + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_cargo --no-default-features +mkdir -pv "${COOKBOOK_STAGE}/ui/apps" +cp -v "${COOKBOOK_RECIPE}/manifest" "${COOKBOOK_STAGE}/ui/apps/10_cosmic-term" +#TODO: install with just? +APPID="com.system76.CosmicTerm" +mkdir -pv "${COOKBOOK_STAGE}/usr/share/applications/" +cp -v "${COOKBOOK_SOURCE}/res/${APPID}.desktop" "${COOKBOOK_STAGE}/usr/share/applications/" +mkdir -pv "${COOKBOOK_STAGE}/usr/share/metainfo/" +cp -v "${COOKBOOK_SOURCE}/res/${APPID}.metainfo.xml" "${COOKBOOK_STAGE}/usr/share/metainfo/" +mkdir -pv "${COOKBOOK_STAGE}/usr/share/icons/" +cp -rv "${COOKBOOK_SOURCE}/res/icons/hicolor/" "${COOKBOOK_STAGE}/usr/share/icons/" +""" \ No newline at end of file diff --git a/recipes/tools/cosmic-text/recipe.toml b/recipes/tools/cosmic-text/recipe.toml new file mode 100644 index 00000000..353feb35 --- /dev/null +++ b/recipes/tools/cosmic-text/recipe.toml @@ -0,0 +1,9 @@ +[source] +git = "https://github.com/pop-os/cosmic-text.git" +branch = "main" + +[build] +template = "custom" +script = """ +cookbook_cargo_packages editor +""" diff --git a/recipes/tools/diffutils/diffutils.patch b/recipes/tools/diffutils/diffutils.patch new file mode 100644 index 00000000..2df8a37e --- /dev/null +++ b/recipes/tools/diffutils/diffutils.patch @@ -0,0 +1,88 @@ +diff -ruw source/lib/cmpbuf.c source-new/lib/cmpbuf.c +--- source/lib/cmpbuf.c 2017-01-01 04:22:36.000000000 -0700 ++++ source-new/lib/cmpbuf.c 2018-12-29 07:31:43.920193561 -0700 +@@ -71,8 +71,8 @@ + ancient AIX hosts that set errno to EINTR after uncaught + SIGCONT. See + (1993-04-22). */ +- if (! SA_RESTART && errno == EINTR) +- continue; ++ //if (! SA_RESTART && errno == EINTR) ++ // continue; + + return SIZE_MAX; + } +diff -ruw source/lib/getdtablesize.c source-new/lib/getdtablesize.c +--- source/lib/getdtablesize.c 2017-05-18 10:23:32.000000000 -0600 ++++ source-new/lib/getdtablesize.c 2018-12-29 07:32:31.709586573 -0700 +@@ -109,6 +109,7 @@ + int + getdtablesize (void) + { ++#if !defined(__redox__) + struct rlimit lim; + + if (getrlimit (RLIMIT_NOFILE, &lim) == 0 +@@ -117,6 +118,7 @@ + && lim.rlim_cur != RLIM_SAVED_CUR + && lim.rlim_cur != RLIM_SAVED_MAX) + return lim.rlim_cur; ++#endif + + return INT_MAX; + } +diff -ruw source/lib/getprogname.c source-new/lib/getprogname.c +--- source/lib/getprogname.c 2017-01-31 11:36:50.000000000 -0700 ++++ source-new/lib/getprogname.c 2018-12-29 07:34:15.432575388 -0700 +@@ -51,6 +51,14 @@ + # include + #endif + ++#if defined(__redox__) ++# include ++# include ++# include ++# include ++# include ++#endif ++ + #include "dirname.h" + + #ifndef HAVE_GETPROGNAME /* not Mac OS X, FreeBSD, NetBSD, OpenBSD >= 5.4, Cygwin */ +@@ -177,6 +185,17 @@ + } + } + return NULL; ++# elif defined(__redox__) ++ char filename[PATH_MAX]; ++ int fd = open ("sys:exe", O_RDONLY); ++ if (fd > 0) { ++ int len = read(fd, filename, PATH_MAX-1); ++ if (len > 0) { ++ filename[len] = '\0'; ++ return strdup(filename); ++ } ++ } ++ return NULL; + # else + # error "getprogname module not ported to this OS" + # endif +diff -ruw source/lib/sigprocmask.c source-new/lib/sigprocmask.c +--- source/lib/sigprocmask.c 2017-05-18 10:23:32.000000000 -0600 ++++ source-new/lib/sigprocmask.c 2018-12-29 07:45:02.610557142 -0700 +@@ -126,6 +126,7 @@ + return 0; + } + ++#if !defined(__redox__) + int + sigemptyset (sigset_t *set) + { +@@ -180,6 +181,7 @@ + *set = ((2U << (NSIG - 1)) - 1) & ~ SIGABRT_COMPAT_MASK; + return 0; + } ++#endif + + /* Set of currently blocked signals. */ + static volatile sigset_t blocked_set /* = 0 */; diff --git a/recipes/tools/diffutils/recipe.toml b/recipes/tools/diffutils/recipe.toml new file mode 100644 index 00000000..a742e025 --- /dev/null +++ b/recipes/tools/diffutils/recipe.toml @@ -0,0 +1,21 @@ +[source] +tar = "https://ftp.gnu.org/gnu/diffutils/diffutils-3.6.tar.xz" +blake3 = "086a95093c15edcdb826e75ff4de6c2213de6fbd2eb13538d07bdc3286dfb4a4" +patches = ["diffutils.patch"] +script = """ +autoreconf +""" + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +COOKBOOK_CONFIGURE_FLAGS+=( + gt_cv_locale_fr=false + gt_cv_locale_fr_utf8=false + gt_cv_locale_ja=false + gt_cv_locale_tr_utf8=false + gt_cv_locale_zh_CN=false +) +cookbook_configure +""" diff --git a/recipes/tools/fd/recipe.toml b/recipes/tools/fd/recipe.toml new file mode 100644 index 00000000..ab67ead8 --- /dev/null +++ b/recipes/tools/fd/recipe.toml @@ -0,0 +1,5 @@ +[source] +git = "https://github.com/sharkdp/fd.git" +rev = "840a565d3aadbeb303b10a01c0aa3561924dfc46" +[build] +template = "cargo" diff --git a/recipes/tools/friar/recipe.toml b/recipes/tools/friar/recipe.toml new file mode 100644 index 00000000..8ef92290 --- /dev/null +++ b/recipes/tools/friar/recipe.toml @@ -0,0 +1,4 @@ +[source] +git = "https://github.com/jackpot51/friar.git" +[build] +template = "cargo" diff --git a/recipes/tools/gettext/recipe.toml b/recipes/tools/gettext/recipe.toml new file mode 100644 index 00000000..af6676d1 --- /dev/null +++ b/recipes/tools/gettext/recipe.toml @@ -0,0 +1,36 @@ +# GNU gettext utilities are a set of tools that provides a framework to help +# other GNU packages produce multi-lingual messages. +[source] +tar = "https://ftp.gnu.org/gnu/gettext/gettext-0.22.5.tar.gz" +blake3 = "cb3f3a34da7ce1a92746df81f5b78c5d53841973a24eb80ab76537263d380ec0" +patches = [ + "redox.patch" +] +script = """ +DYNAMIC_INIT +GNU_CONFIG_GET build-aux/config.sub +( cd gettext-runtime/libasprintf && autoreconf -fvi -I${COOKBOOK_HOST_SYSROOT}/share/aclocal ) +( cd gettext-runtime/intl && autoreconf -fvi -I${COOKBOOK_HOST_SYSROOT}/share/aclocal ) +( cd gettext-runtime && autoreconf -fvi -I${COOKBOOK_HOST_SYSROOT}/share/aclocal ) +( cd gettext-tools && autoreconf -fvi -I${COOKBOOK_HOST_SYSROOT}/share/aclocal ) +( cd libtextstyle && autoreconf -fvi -I${COOKBOOK_HOST_SYSROOT}/share/aclocal ) +autoreconf -fvi -I${COOKBOOK_HOST_SYSROOT}/share/aclocal +""" + +[build] +template = "custom" +dependencies = [ + "libiconv" +] +script = """ +DYNAMIC_STATIC_INIT +COOKBOOK_CONFIGURE_FLAGS+=( + ac_cv_have_decl_program_invocation_name=no + gt_cv_locale_fr=false + gt_cv_locale_fr_utf8=false + gt_cv_locale_ja=false + gt_cv_locale_tr_utf8=false + gt_cv_locale_zh_CN=false +) +cookbook_configure +""" \ No newline at end of file diff --git a/recipes/tools/gettext/redox.patch b/recipes/tools/gettext/redox.patch new file mode 100644 index 00000000..8b6f307d --- /dev/null +++ b/recipes/tools/gettext/redox.patch @@ -0,0 +1,46 @@ +diff -ruwN source/gettext-tools/gnulib-lib/getdtablesize.c source-new/gettext-tools/gnulib-lib/getdtablesize.c +--- source/gettext-tools/gnulib-lib/getdtablesize.c 2016-06-11 06:59:58.000000000 -0600 ++++ source-new/gettext-tools/gnulib-lib/getdtablesize.c 2019-01-05 08:45:36.015291070 -0700 +@@ -84,6 +84,14 @@ + return dtablesize; + } + ++#elif defined(__redox__) ++ ++int ++getdtablesize (void) ++{ ++ return INT_MAX; ++} ++ + #else + + # include +diff -ruwN source/gettext-tools/gnulib-lib/spawni.c source-new/gettext-tools/gnulib-lib/spawni.c +--- source/gettext-tools/gnulib-lib/spawni.c 2016-06-11 07:00:02.000000000 -0600 ++++ source-new/gettext-tools/gnulib-lib/spawni.c 2019-01-05 08:55:44.661641522 -0700 +@@ -51,10 +51,10 @@ + # include + #else + # if !HAVE_SETEUID +-# define seteuid(id) setresuid (-1, id, -1) ++# define seteuid(id) setreuid (-1, id) + # endif + # if !HAVE_SETEGID +-# define setegid(id) setresgid (-1, id, -1) ++# define setegid(id) setregid (-1, id) + # endif + # define local_seteuid(id) seteuid (id) + # define local_setegid(id) setegid (id) +diff -ruwN source/gettext-tools/Makefile.am source-new/gettext-tools/Makefile.am +--- source/gettext-tools/Makefile.am 2023-09-19 03:08:31.000000000 +0700 ++++ source-new/gettext-tools/Makefile.am 2025-10-05 12:39:33.287595871 +0700 +@@ -19,7 +19,7 @@ + AUTOMAKE_OPTIONS = 1.5 gnu no-dependencies + ACLOCAL_AMFLAGS = -I m4 -I ../gettext-runtime/m4 -I ../m4 -I gnulib-m4 -I libgrep/gnulib-m4 -I libgettextpo/gnulib-m4 + +-SUBDIRS = gnulib-lib libgrep src libgettextpo po its projects styles emacs misc man m4 tests system-tests gnulib-tests examples doc ++SUBDIRS = gnulib-lib libgrep src libgettextpo po its projects styles emacs misc man m4 + + EXTRA_DIST = misc/DISCLAIM + MOSTLYCLEANFILES = core *.stackdump diff --git a/recipes/tools/gnu-binutils/01_build_fix.patch b/recipes/tools/gnu-binutils/01_build_fix.patch new file mode 100644 index 00000000..9bf0ddac --- /dev/null +++ b/recipes/tools/gnu-binutils/01_build_fix.patch @@ -0,0 +1,24 @@ +diff '--color=auto' -ur source/gprofng/libcollector/configure.ac source-new/gprofng/libcollector/configure.ac +--- source/gprofng/libcollector/configure.ac 2024-08-17 09:00:00.000000000 +1000 ++++ source-new/gprofng/libcollector/configure.ac 2024-12-04 15:59:58.407412951 +1100 +@@ -18,7 +18,7 @@ + + m4_include([../../bfd/version.m4]) + AC_INIT([gprofng], [BFD_VERSION]) +-AC_CONFIG_MACRO_DIRS([../../config ../..]) ++#AC_CONFIG_MACRO_DIRS([../../config ../..]) + AC_CONFIG_AUX_DIR(../..) + AC_CANONICAL_TARGET + AM_INIT_AUTOMAKE +diff '--color=auto' -ur source/libiberty/configure.ac source-new/libiberty/configure.ac +--- source/libiberty/configure.ac 2024-08-17 09:00:00.000000000 +1000 ++++ source-new/libiberty/configure.ac 2024-12-04 15:59:31.572203764 +1100 +@@ -37,7 +37,7 @@ + libiberty_topdir="${srcdir}/.." + fi + AC_SUBST(libiberty_topdir) +-AC_CONFIG_AUX_DIR($libiberty_topdir) ++AC_CONFIG_AUX_DIR([.]) + + dnl Very limited version of automake's enable-maintainer-mode + diff --git a/recipes/tools/gnu-binutils/recipe.toml b/recipes/tools/gnu-binutils/recipe.toml new file mode 100644 index 00000000..dfb90fd7 --- /dev/null +++ b/recipes/tools/gnu-binutils/recipe.toml @@ -0,0 +1,37 @@ +[source] +tar = "https://ftp.gnu.org/gnu/binutils/binutils-2.43.1.tar.xz" +patches = ["01_build_fix.patch"] +script = """ +DYNAMIC_INIT + +COOKBOOK_AUTORECONF=autoreconf2.69 autotools_recursive_regenerate -I"$(realpath ./config)" +cp -fpv ${COOKBOOK_HOST_SYSROOT}/share/libtool/build-aux/{config.sub,config.guess,install-sh} libiberty/ +""" + +[build] +template = "custom" +dependencies = [ + "expat", + "libgmp", + "libmpfr", + "zlib", +] +script = """ +DYNAMIC_INIT + +COOKBOOK_CONFIGURE_FLAGS+=( + --target="${GNU_TARGET}" + --disable-werror + --disable-dependency-tracking + --disable-nls + --enable-colored-disassembly + --enable-gdb + --with-system-zlib + --with-multilib + --with-interwork + --with-pic + --with-expat +) + +cookbook_configure +""" \ No newline at end of file diff --git a/recipes/tools/gnu-grep/grep.patch b/recipes/tools/gnu-grep/grep.patch new file mode 100644 index 00000000..8b3d8b98 --- /dev/null +++ b/recipes/tools/gnu-grep/grep.patch @@ -0,0 +1,68 @@ +Only in source: grep.patch +diff -ru source/lib/getdtablesize.c source-new/lib/getdtablesize.c +--- source/lib/getdtablesize.c 2017-07-23 20:50:44.287742363 -0700 ++++ source-new/lib/getdtablesize.c 2017-07-23 20:51:06.271284748 -0700 +@@ -109,15 +109,6 @@ + int + getdtablesize (void) + { +- struct rlimit lim; +- +- if (getrlimit (RLIMIT_NOFILE, &lim) == 0 +- && 0 <= lim.rlim_cur && lim.rlim_cur <= INT_MAX +- && lim.rlim_cur != RLIM_INFINITY +- && lim.rlim_cur != RLIM_SAVED_CUR +- && lim.rlim_cur != RLIM_SAVED_MAX) +- return lim.rlim_cur; +- + return INT_MAX; + } + +diff -ru source/lib/getprogname.c source-new/lib/getprogname.c +--- source/lib/getprogname.c 2017-01-16 09:29:13.000000000 -0800 ++++ source-new/lib/getprogname.c 2017-07-23 20:49:21.133618122 -0700 +@@ -43,13 +43,11 @@ + # include + #endif + +-#ifdef __sgi + # include + # include + # include + # include +-# include +-#endif ++# include + + #include "dirname.h" + +@@ -178,7 +176,16 @@ + } + return NULL; + # else +-# error "getprogname module not ported to this OS" ++ char filename[PATH_MAX]; ++ int fd = open ("sys:exe", O_RDONLY); ++ if (fd > 0) { ++ int len = read(fd, filename, PATH_MAX-1); ++ if (len > 0) { ++ filename[len] = '\0'; ++ return strdup(filename); ++ } ++ } ++ return NULL; + # endif + } + +diff -ru source/src/grep.c source-new/src/grep.c +--- source/src/grep.c 2017-07-02 10:41:41.000000000 -0700 ++++ source-new/src/grep.c 2017-07-23 20:53:10.439131874 -0700 +@@ -2895,7 +2895,7 @@ + #ifdef _SC_PAGESIZE + long psize = sysconf (_SC_PAGESIZE); + #else +- long psize = getpagesize (); ++ long psize = 4096; + #endif + if (! (0 < psize && psize <= (SIZE_MAX - sizeof (uword)) / 2)) + abort (); diff --git a/recipes/tools/gnu-grep/recipe.toml b/recipes/tools/gnu-grep/recipe.toml new file mode 100644 index 00000000..b3ad6e40 --- /dev/null +++ b/recipes/tools/gnu-grep/recipe.toml @@ -0,0 +1,15 @@ +[source] +tar = "https://ftp.gnu.org/gnu/grep/grep-3.1.tar.xz" +blake3 = "46b6e24dfa1b0f309f4eae3c450d612396c8faa6510b53a55f629e4f4c70b4a3" +patches = ["grep.patch"] + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +COOKBOOK_CONFIGURE_FLAGS+=( + --prefix=/ +) +cookbook_configure +rm -rf "${COOKBOOK_STAGE}"/{lib,share} +""" diff --git a/recipes/tools/helix/recipe.toml b/recipes/tools/helix/recipe.toml new file mode 100644 index 00000000..a4a50cc3 --- /dev/null +++ b/recipes/tools/helix/recipe.toml @@ -0,0 +1,17 @@ +#TODO signal handling is disabled, it should be re-enabled when Redox is ready +#TODO language files are not built, only the "hx" editor is built +#TODO Consider adding `export RUSTFLAGS+="-C target-feature=-crt-static"` when adding language support +#TODO configuration - https://docs.helix-editor.com/install.html#configuring-helixs-runtime-files +[source] +git = "https://gitlab.redox-os.org/redox-os/helix.git" +branch = "redox" + +[build] +template = "custom" +script = """ +export HELIX_DISABLE_AUTO_GRAMMAR_BUILD=1 +COOKBOOK_SOURCE+="/helix-term" +cookbook_cargo +mv "${COOKBOOK_STAGE}/usr/bin/hx" "${COOKBOOK_STAGE}/usr/bin/helix" +""" + diff --git a/recipes/tools/libc-bench/recipe.toml b/recipes/tools/libc-bench/recipe.toml new file mode 100644 index 00000000..89c8ebfa --- /dev/null +++ b/recipes/tools/libc-bench/recipe.toml @@ -0,0 +1,15 @@ +[source] +tar = "https://www.etalabs.net/releases/libc-bench-20110206.tar.gz" +blake3 = "64093102f29faa76da455f55a7b4be25b6d74d5c3d6fe88dbbc38aaae185182f" +patches = ["redox.patch"] + +[build] +template = "custom" +script = """ +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ + +"${COOKBOOK_MAKE}" -j"$(${NPROC})" + +mkdir -pv "${COOKBOOK_STAGE}/usr/bin" +cp -v "libc-bench" "${COOKBOOK_STAGE}/usr/bin" +""" \ No newline at end of file diff --git a/recipes/tools/libc-bench/redox.patch b/recipes/tools/libc-bench/redox.patch new file mode 100644 index 00000000..475c7472 --- /dev/null +++ b/recipes/tools/libc-bench/redox.patch @@ -0,0 +1,42 @@ +diff -ruw source/Makefile source-new/Makefile +--- source/Makefile 2011-01-31 00:13:00.000000000 -0700 ++++ source-new/Makefile 2018-12-25 09:07:37.564520567 -0700 +@@ -4,7 +4,7 @@ + + CFLAGS = -Os + LDFLAGS = -static +-LIBS = -lpthread -lrt -lpthread ++LIBS = -lpthread + + + all: libc-bench +diff -ruw source/utf8.c source-new/utf8.c +--- source/utf8.c 2011-01-24 20:08:38.000000000 -0700 ++++ source-new/utf8.c 2018-12-25 08:52:35.893821291 -0700 +@@ -3,7 +3,7 @@ + #include + #include + #include +-#include ++//#include + + size_t b_utf8_bigbuf(void *dummy) + { +@@ -18,7 +18,7 @@ + || setlocale(LC_CTYPE, "en.UTF-8") + || setlocale(LC_CTYPE, "de_DE-8") + || setlocale(LC_CTYPE, "fr_FR-8"); +- if (strcmp(nl_langinfo(CODESET), "UTF-8")) return -1; ++ //if (strcmp(nl_langinfo(CODESET), "UTF-8")) return -1; + + buf = malloc(500000); + wbuf = malloc(500000*sizeof(wchar_t)); +@@ -56,7 +56,7 @@ + || setlocale(LC_CTYPE, "en.UTF-8") + || setlocale(LC_CTYPE, "de_DE-8") + || setlocale(LC_CTYPE, "fr_FR-8"); +- if (strcmp(nl_langinfo(CODESET), "UTF-8")) return -1; ++ //if (strcmp(nl_langinfo(CODESET), "UTF-8")) return -1; + + buf = malloc(500000); + l = 0; diff --git a/recipes/tools/lsd/recipe.toml b/recipes/tools/lsd/recipe.toml new file mode 100644 index 00000000..6fb14e4a --- /dev/null +++ b/recipes/tools/lsd/recipe.toml @@ -0,0 +1,4 @@ +[source] +git = "https://github.com/lsd-rs/lsd" +[build] +template = "cargo" diff --git a/recipes/tools/nano/recipe.toml b/recipes/tools/nano/recipe.toml new file mode 100644 index 00000000..875e01e7 --- /dev/null +++ b/recipes/tools/nano/recipe.toml @@ -0,0 +1,16 @@ +[source] +tar = "https://www.nano-editor.org/dist/v7/nano-7.2.tar.xz" +[build] +template = "custom" +dependencies = [ + "ncurses", +] +script = """ +DYNAMIC_INIT +cookbook_configure +""" + +[package] +dependencies = [ + "terminfo" +] diff --git a/recipes/tools/onefetch/recipe.toml b/recipes/tools/onefetch/recipe.toml new file mode 100644 index 00000000..43ca14e6 --- /dev/null +++ b/recipes/tools/onefetch/recipe.toml @@ -0,0 +1,4 @@ +[source] +git = "https://github.com/o2sh/onefetch" +[build] +template = "cargo" diff --git a/recipes/tools/patchelf/recipe.toml b/recipes/tools/patchelf/recipe.toml new file mode 100644 index 00000000..1399164c --- /dev/null +++ b/recipes/tools/patchelf/recipe.toml @@ -0,0 +1,14 @@ +[source] +tar = "https://github.com/NixOS/patchelf/releases/download/0.18.0/patchelf-0.18.0.tar.bz2" +blake3 = "f843b32bdf3ee8a1f465e92d3fef34f30c48ccef9c112fdb793e2e7f2ae7283a" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" \ No newline at end of file diff --git a/recipes/tools/pathfinder/recipe.toml b/recipes/tools/pathfinder/recipe.toml new file mode 100644 index 00000000..d867a230 --- /dev/null +++ b/recipes/tools/pathfinder/recipe.toml @@ -0,0 +1,23 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/pathfinder.git" +branch = "redox" +upstream = "https://github.com/servo/pathfinder.git" + +[build] +template = "custom" +dependencies = [ + "llvm18", + "mesa", + "zlib", +] +script = """ +cargo rustc \ + --target "$TARGET" \ + --release \ + --manifest-path "${COOKBOOK_SOURCE}/examples/canvas_glutin_minimal/Cargo.toml" \ + -- \ + -L "${COOK_SYSROOT}/lib" \ + -C link-args="-Wl,-Bstatic $("${TARGET}-pkg-config" --libs osmesa) -lz -lstdc++ -lc -lgcc" +mkdir -pv "${COOKBOOK_STAGE}/bin" +cp -v "target/${TARGET}/release/canvas_glutin_minimal" "${COOKBOOK_STAGE}/bin/pathfinder" +""" diff --git a/recipes/tools/perg/recipe.toml b/recipes/tools/perg/recipe.toml new file mode 100644 index 00000000..e073545d --- /dev/null +++ b/recipes/tools/perg/recipe.toml @@ -0,0 +1,5 @@ +[source] +git = "https://github.com/guerinoni/perg.git" +rev = "e206fab6bbd9c363c686fa7503d318304e48ddbe" +[build] +template = "cargo" diff --git a/recipes/tools/periodictable/recipe.toml b/recipes/tools/periodictable/recipe.toml new file mode 100644 index 00000000..109b3d42 --- /dev/null +++ b/recipes/tools/periodictable/recipe.toml @@ -0,0 +1,18 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/periodictable.git" + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_cargo +mkdir -pv "${COOKBOOK_STAGE}/ui/apps" +cp -v "${COOKBOOK_SOURCE}/pkg/manifest" "${COOKBOOK_STAGE}/ui/apps/periodictable" +mkdir -pv "${COOKBOOK_STAGE}/ui/icons" +cp -v "${COOKBOOK_SOURCE}/pkg/icon.png" "${COOKBOOK_STAGE}/ui/icons/periodictable.png" +""" + +[package] +dependencies = [ + "orbital", +] \ No newline at end of file diff --git a/recipes/tools/powerline/recipe.toml b/recipes/tools/powerline/recipe.toml new file mode 100644 index 00000000..e8f2b616 --- /dev/null +++ b/recipes/tools/powerline/recipe.toml @@ -0,0 +1,17 @@ +[source] +git = "https://github.com/jD91mZM2/powerline-rs" + +[build] +template = "custom" +script = """ +export CARGOFLAGS="--no-default-features --features chrono" + +# --locked uses a reallyyyy old redox_syscall and libc which fails +${COOKBOOK_CARGO} install \ + --path "${COOKBOOK_SOURCE}/${PACKAGE_PATH}" \ + --root "${COOKBOOK_STAGE}/usr" \ + --no-track \ + --no-default-features \ + --features chrono \ + ${install_flags} +""" diff --git a/recipes/tools/ripgrep/recipe.toml b/recipes/tools/ripgrep/recipe.toml new file mode 100644 index 00000000..b2e0cd6a --- /dev/null +++ b/recipes/tools/ripgrep/recipe.toml @@ -0,0 +1,5 @@ +[source] +git = "https://github.com/jackpot51/ripgrep.git" + +[build] +template = "cargo" diff --git a/recipes/tools/schismtracker/recipe.toml b/recipes/tools/schismtracker/recipe.toml new file mode 100644 index 00000000..7d08b5ad --- /dev/null +++ b/recipes/tools/schismtracker/recipe.toml @@ -0,0 +1,28 @@ +[source] +tar = "https://github.com/schismtracker/schismtracker/archive/20181223.tar.gz" +blake3 = "057e973f4f84cf898e2240d67c0e92f25086d8b9ffdc7e0c7ef81dd8dc81bc70" +patches = ["redox.patch"] +script = """ +autoreconf -i +""" + +[build] +template = "custom" +dependencies = [ + "sdl1", + "liborbital", + "libiconv", +] +script = """ +export CFLAGS="${CFLAGS} -I${COOKBOOK_SYSROOT}/include/SDL" +export SDL_CONFIG="${COOKBOOK_SYSROOT}/bin/sdl-config" + +COOKBOOK_CONFIGURE_FLAGS=( + --build="$(gcc -dumpmachine)" + --host="${TARGET}" + --prefix="" + --with-sdl-prefix="${COOKBOOK_SYSROOT}" +) + +cookbook_configure +""" \ No newline at end of file diff --git a/recipes/tools/schismtracker/redox.patch b/recipes/tools/schismtracker/redox.patch new file mode 100644 index 00000000..0850319a --- /dev/null +++ b/recipes/tools/schismtracker/redox.patch @@ -0,0 +1,24 @@ +diff -rupNw source-original/Makefile.am source/Makefile.am +--- source-original/Makefile.am 2018-08-10 07:04:54.000000000 +0200 ++++ source/Makefile.am 2018-12-30 23:18:07.957244170 +0100 +@@ -223,7 +223,7 @@ files_macosx = \ + endif + + if USE_NETWORK +-cflags_network=-DUSE_NETWORK ++#cflags_network=-DUSE_NETWORK + endif + + +diff -rupNw source-original/schism/main.c source/schism/main.c +--- source-original/schism/main.c 2018-08-10 07:04:54.000000000 +0200 ++++ source/schism/main.c 2018-12-30 23:19:24.954046191 +0100 +@@ -1033,7 +1033,7 @@ int main(int argc, char **argv) + + video_fullscreen(0); + +- tzset(); // localtime_r wants this ++ //tzset(); // localtime_r wants this + srand(time(NULL)); + parse_options(argc, argv); /* shouldn't this be like, first? */ + diff --git a/recipes/tools/sed/recipe.toml b/recipes/tools/sed/recipe.toml new file mode 100644 index 00000000..c9f58cec --- /dev/null +++ b/recipes/tools/sed/recipe.toml @@ -0,0 +1,8 @@ +[source] +tar = "https://ftp.gnu.org/gnu/sed/sed-4.4.tar.xz" +patches = [ + "sed.patch" +] + +[build] +template = "configure" diff --git a/recipes/tools/sed/sed.patch b/recipes/tools/sed/sed.patch new file mode 100644 index 00000000..ea10d0c5 --- /dev/null +++ b/recipes/tools/sed/sed.patch @@ -0,0 +1,11 @@ +diff -ruN sed-4.4/sed/mbcs.c source/sed/mbcs.c +--- sed-4.4/sed/mbcs.c 2017-01-01 03:17:10.000000000 -0800 ++++ source/sed/mbcs.c 2025-06-06 04:36:30.129312397 -0700 +@@ -38,6 +38,7 @@ + int + is_mb_char (int ch, mbstate_t *cur_stat) + { ++ return 0; // FIXME: Implement mbrtowc in relibc, then remove this line + const char c = ch ; + const int mb_pending = !mbsinit (cur_stat); + const int result = mbrtowc (NULL, &c, 1, cur_stat); diff --git a/recipes/tools/shellharden/recipe.toml b/recipes/tools/shellharden/recipe.toml new file mode 100644 index 00000000..b5644119 --- /dev/null +++ b/recipes/tools/shellharden/recipe.toml @@ -0,0 +1,5 @@ +[source] +git = "https://github.com/anordal/shellharden.git" +rev = "bd24c99d5d1e76452b6d0749404837c1c95d923c" +[build] +template = "cargo" diff --git a/recipes/tools/shellstorm/recipe.toml b/recipes/tools/shellstorm/recipe.toml new file mode 100644 index 00000000..daa6d4d4 --- /dev/null +++ b/recipes/tools/shellstorm/recipe.toml @@ -0,0 +1,5 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/shellstorm.git" + +[build] +template = "cargo" diff --git a/recipes/tools/smith/recipe.toml b/recipes/tools/smith/recipe.toml new file mode 100644 index 00000000..fabc0dee --- /dev/null +++ b/recipes/tools/smith/recipe.toml @@ -0,0 +1,5 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/Smith.git" + +[build] +template = "cargo" diff --git a/recipes/tools/sodium/recipe.toml b/recipes/tools/sodium/recipe.toml new file mode 100644 index 00000000..66fe407f --- /dev/null +++ b/recipes/tools/sodium/recipe.toml @@ -0,0 +1,19 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/sodium.git" + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +"${COOKBOOK_CARGO}" install \ + --path "${COOKBOOK_SOURCE}" \ + --root "${COOKBOOK_STAGE}/usr" \ + --locked \ + --no-track \ + --features orbital + +mkdir -pv "${COOKBOOK_STAGE}/ui/apps" +cp -v ${COOKBOOK_SOURCE}/manifest "${COOKBOOK_STAGE}/ui/apps/sodium" +mkdir -pv "${COOKBOOK_STAGE}/ui/icons" +cp -v ${COOKBOOK_SOURCE}/icon.png "${COOKBOOK_STAGE}/ui/icons/sodium.png" +""" diff --git a/recipes/tools/tokei/recipe.toml b/recipes/tools/tokei/recipe.toml new file mode 100644 index 00000000..752ec64b --- /dev/null +++ b/recipes/tools/tokei/recipe.toml @@ -0,0 +1,4 @@ +[source] +git = "https://github.com/XAMPPRocky/tokei.git" +[build] +template = "cargo" diff --git a/recipes/tools/twin-commander/recipe.toml b/recipes/tools/twin-commander/recipe.toml new file mode 100644 index 00000000..bc3caef6 --- /dev/null +++ b/recipes/tools/twin-commander/recipe.toml @@ -0,0 +1,5 @@ +[source] +git = "https://github.com/kivimango/twin-commander.git" + +[build] +template = "cargo" diff --git a/recipes/tools/vim/recipe.toml b/recipes/tools/vim/recipe.toml new file mode 100644 index 00000000..850bce19 --- /dev/null +++ b/recipes/tools/vim/recipe.toml @@ -0,0 +1,26 @@ +[source] +tar = "https://github.com/vim/vim/archive/refs/tags/v9.1.0821.tar.gz" +blake3 = "d1f5802ceb047b09143f1764bf4016f084cf7e6c026c7047919264c9f262a5dd" +patches = ["vim.patch"] + +[build] +dependencies = ["ncurses"] +template = "custom" +script = """ +DYNAMIC_INIT +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ + +export vim_cv_toupper_broken=no +export vim_cv_tgetent=zero +export vim_cv_terminfo=yes +export vim_cv_tty_group=world +export vim_cv_getcwd_broken=no +export vim_cv_stat_ignores_slash=yes +export vim_cv_memmove_handles_overlap=yes + +COOKBOOK_CONFIGURE="./configure" +COOKBOOK_CONFIGURE_FLAGS+=( + --with-tlib=ncurses +) +cookbook_configure +""" diff --git a/recipes/tools/vim/vim.patch b/recipes/tools/vim/vim.patch new file mode 100644 index 00000000..0537b2c9 --- /dev/null +++ b/recipes/tools/vim/vim.patch @@ -0,0 +1,66 @@ +diff -ruwN source/src/configure.ac source-new/src/configure.ac +--- source/src/configure.ac 2024-10-29 04:05:26.000000000 +0700 ++++ source-new/src/configure.ac 2025-08-06 03:15:52.796303989 +0700 +@@ -3759,7 +3759,7 @@ + dnl Check for functions in one big call, to reduce the size of configure. + dnl Can only be used for functions that do not require any include. + AC_CHECK_FUNCS(fchdir fchown fchmod fsync getcwd getpseudotty \ +- getpwent getpwnam getpwuid getrlimit gettimeofday localtime_r lstat \ ++ getpwent getpwnam getpwuid gettimeofday localtime_r lstat \ + memset mkdtemp nanosleep opendir putenv qsort readlink select setenv \ + getpgid setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \ + sigprocmask sigvec strcasecmp strcoll strerror strftime stricmp strncasecmp \ +diff -ruwN source/src/feature.h source-new/src/feature.h +--- source/src/feature.h 2024-10-29 04:05:26.000000000 +0700 ++++ source-new/src/feature.h 2025-08-06 03:16:27.596296730 +0700 +@@ -272,6 +272,7 @@ + */ + #if defined(FEAT_NORMAL) \ + && defined(FEAT_EVAL) \ ++ && !defined (__redox__) /* disable setitimer */ \ + && ((defined(HAVE_GETTIMEOFDAY) && defined(HAVE_SYS_TIME_H) \ + && (!defined(MACOS_X) || defined(HAVE_DISPATCH_DISPATCH_H))) \ + || defined(MSWIN)) +diff -ruwN source/src/libvterm/include/vterm.h source-new/src/libvterm/include/vterm.h +--- source/src/libvterm/include/vterm.h 2024-10-29 04:05:26.000000000 +0700 ++++ source-new/src/libvterm/include/vterm.h 2025-08-06 03:15:02.506316769 +0700 +@@ -17,9 +17,11 @@ + #define FALSE 0 + + // VIM: from stdint.h ++#if !defined (__redox__) + typedef unsigned char uint8_t; + typedef unsigned short uint16_t; + typedef unsigned int uint32_t; ++#endif + + // VIM: define max screen cols and rows + #define VTERM_MAX_COLS 1000 +diff -ruwN source/src/memfile.c source-new/src/memfile.c +--- source/src/memfile.c 2024-10-29 04:05:26.000000000 +0700 ++++ source-new/src/memfile.c 2025-08-06 03:15:36.896308173 +0700 +@@ -599,6 +599,8 @@ + // No sync() on Stratus VOS + # if defined(__OPENNT) || defined(__TANDEM) || defined(__VOS__) + fflush(NULL); ++# elif defined(__redox__) ++ fsync(mfp->mf_fd); + # else + sync(); + # endif +diff -ruwN source/src/auto/configure source-new/src/auto/configure +--- source/src/auto/configure 2024-10-29 04:05:26.000000000 +0700 ++++ source-new/src/auto/configure 2025-08-06 03:56:11.765660165 +0700 +@@ -13358,12 +13358,6 @@ + printf "%s\n" "#define HAVE_GETPWUID 1" >>confdefs.h + + fi +-ac_fn_c_check_func "$LINENO" "getrlimit" "ac_cv_func_getrlimit" +-if test "x$ac_cv_func_getrlimit" = xyes +-then : +- printf "%s\n" "#define HAVE_GETRLIMIT 1" >>confdefs.h +- +-fi + ac_fn_c_check_func "$LINENO" "gettimeofday" "ac_cv_func_gettimeofday" + if test "x$ac_cv_func_gettimeofday" = xyes + then : diff --git a/recipes/tools/xz/recipe.toml b/recipes/tools/xz/recipe.toml new file mode 100644 index 00000000..51ca7e47 --- /dev/null +++ b/recipes/tools/xz/recipe.toml @@ -0,0 +1,21 @@ +[source] +tar = "https://github.com/tukaani-project/xz/releases/download/v5.2.13/xz-5.2.13.tar.gz" +blake3 = "edc6350542e8cb7188a878135e5b9bd592d687e5b47451ca1c89d51cc4bc6b53" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +template = "custom" +script = """ +DYNAMIC_STATIC_INIT +COOKBOOK_CONFIGURE_FLAGS+=( + --disable-lzmadec + --disable-lzmainfo + --disable-xz + --disable-xzdec + --enable-threads=no +) +cookbook_configure +""" diff --git a/recipes/tui/mdp/recipe.toml b/recipes/tui/mdp/recipe.toml new file mode 100644 index 00000000..ca3be43a --- /dev/null +++ b/recipes/tui/mdp/recipe.toml @@ -0,0 +1,19 @@ +[source] +git = "https://github.com/visit1985/mdp.git" + +[build] +template = "custom" +dependencies = [ + "ncursesw", + "terminfo" +] +script = """ +rsync -av --delete --exclude='.git' "${COOKBOOK_SOURCE}/" ./ + +export CFLAGS="${CFLAGS} -I${COOKBOOK_SYSROOT}/include/ncursesw" + +"${COOKBOOK_MAKE}" -j"$(${NPROC})" + +# Install +"${REDOX_MAKE}" DESTDIR="${COOKBOOK_STAGE}" PREFIX="" install +""" \ No newline at end of file diff --git a/recipes/tui/ncdu/recipe.toml b/recipes/tui/ncdu/recipe.toml new file mode 100644 index 00000000..bd885f8d --- /dev/null +++ b/recipes/tui/ncdu/recipe.toml @@ -0,0 +1,14 @@ +[source] +tar = "https://dev.yorhel.nl/download/ncdu-1.22.tar.gz" +blake3 = "b7838c03ded7207a328a26c840ec3d62d3be6bbf7269a70ea3430c6cbf065960" + +[package] +dependencies = ["terminfo"] + +[build] +template = "custom" +dependencies = ["ncurses"] +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/video/sdl-player/recipe.toml b/recipes/video/sdl-player/recipe.toml new file mode 100644 index 00000000..b870523b --- /dev/null +++ b/recipes/video/sdl-player/recipe.toml @@ -0,0 +1,18 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/sdl-player.git" + +[build] +template = "custom" +dependencies = [ + "ffmpeg6", + "liborbital", + "sdl1", + "zlib" +] +script = """ +rsync -av --delete --exclude='.git' "${COOKBOOK_SOURCE}/" ./ +"${COOKBOOK_MAKE}" -j"$(${NPROC})" + +mkdir -pv "${COOKBOOK_STAGE}/bin" +cp -v "player" "${COOKBOOK_STAGE}/bin/sdl-player" +""" diff --git a/recipes/web/netsurf/01_redox.patch b/recipes/web/netsurf/01_redox.patch new file mode 100644 index 00000000..9330b42e --- /dev/null +++ b/recipes/web/netsurf/01_redox.patch @@ -0,0 +1,140 @@ +diff -ruwN source/Makefile source-new/Makefile +--- source/Makefile 2023-12-28 07:57:05.071795200 +0700 ++++ source-new/Makefile 2025-07-20 11:58:36.652747547 +0700 +@@ -110,7 +110,7 @@ + + # prefixed install macro for each host sub target + define do_build_prefix_install +- $(MAKE) install --directory=$1 HOST=$(BUILD) PREFIX=$(TMP_PREFIX) Q=$(Q) DESTDIR= ++ $(MAKE) install --directory=$1 HOST=$(BUILD) PREFIX=$(TMP_PREFIX) Q=$(Q) DESTDIR= CC=cc LDFLAGS= + + endef + +diff -ruwN source/buildsystem/makefiles/Makefile.tools source-new/buildsystem/makefiles/Makefile.tools +--- source/buildsystem/makefiles/Makefile.tools 2023-12-28 07:57:21.479359900 +0700 ++++ source-new/buildsystem/makefiles/Makefile.tools 2025-07-20 11:58:36.662747547 +0700 +@@ -135,7 +135,7 @@ + endif + + # Search the path for the compiler +- toolpath_ := $(shell /bin/which $(CC__)) ++ toolpath_ := $(shell which $(CC__)) + ifeq ($(toolpath_),) + toolpath_ := /opt/netsurf/$(HOST)/cross/bin/ + CC__ := $(toolpath_)$(HOST)-gcc +diff -ruwN source/buildsystem/makefiles/Makefile.top source-new/buildsystem/makefiles/Makefile.top +--- source/buildsystem/makefiles/Makefile.top 2023-12-28 07:57:21.479359900 +0700 ++++ source-new/buildsystem/makefiles/Makefile.top 2025-07-20 11:58:36.662747547 +0700 +@@ -462,7 +462,7 @@ + + define build_c + ifeq ($$(findstring $$(BUILDDIR)/$2,$$(BUILDFILES)),) +- $$(BUILDDIR)/$2: $$(BUILDDIR)/stamp $1 ++ $$(BUILDDIR)/$2: $$(BUILDDIR)/stamp $1 | $$(PRE_TARGETS) + $$(VQ)$$(ECHO) $$(ECHOFLAGS) " COMPILE: $1" + $$(Q)$$(CC) -MMD -MP $$($3) -o $$@ -c $1 + +diff -ruwN source/libnsfb/Makefile source-new/libnsfb/Makefile +--- source/libnsfb/Makefile 2023-12-28 07:57:22.311338000 +0700 ++++ source-new/libnsfb/Makefile 2025-07-20 11:58:36.652747547 +0700 +@@ -43,10 +43,10 @@ + NSFB_XCB_PKG_NAMES := xcb xcb-icccm xcb-image xcb-keysyms xcb-atom + + # determine which surface handlers can be compiled based upon avalable library +-$(eval $(call pkg_config_package_available,NSFB_VNC_AVAILABLE,libvncserver)) ++#$(eval $(call pkg_config_package_available,NSFB_VNC_AVAILABLE,libvncserver)) + $(eval $(call pkg_config_package_available,NSFB_SDL_AVAILABLE,sdl)) +-$(eval $(call pkg_config_package_available,NSFB_XCB_AVAILABLE,$(NSFB_XCB_PKG_NAMES))) +-$(eval $(call pkg_config_package_available,NSFB_WLD_AVAILABLE,wayland-client)) ++#$(eval $(call pkg_config_package_available,NSFB_XCB_AVAILABLE,$(NSFB_XCB_PKG_NAMES))) ++#$(eval $(call pkg_config_package_available,NSFB_WLD_AVAILABLE,wayland-client)) + + # Flags and setup for each support library + ifeq ($(NSFB_SDL_AVAILABLE),yes) +diff -ruwN source/libnsfb/src/plot.h source-new/libnsfb/src/plot.h +--- source/libnsfb/src/plot.h 2023-12-28 07:57:22.315338000 +0700 ++++ source-new/libnsfb/src/plot.h 2025-07-20 11:58:36.652747547 +0700 +@@ -46,7 +46,7 @@ + #error "Endian determination failed" + #endif + #else +- #include ++ #include + #if defined(__BYTE_ORDER__) + #if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ + #define NSFB_BE_BYTE_ORDER +diff -ruwN source/netsurf/Makefile.config source-new/netsurf/Makefile.config +--- source/netsurf/Makefile.config 1970-01-01 07:00:00.000000000 +0700 ++++ source-new/netsurf/Makefile.config 2025-07-20 11:58:36.652747547 +0700 +@@ -0,0 +1,28 @@ ++override NETSURF_HOMEPAGE := "https://www.redox-os.org/" ++override NETSURF_FB_FRONTEND := sdl ++ ++override NETSURF_USE_JPEG := YES ++override NETSURF_USE_BMP := YES ++override NETSURF_USE_OPENSSL := YES ++override NETSURF_USE_CURL := YES ++override NETSURF_USE_PNG := YES ++ ++override NETSURF_USE_LIBICONV_PLUG := NO ++override NETSURF_USE_NSSVG := NO ++override NETSURF_USE_RSVG := NO ++override NETSURF_USE_DUKTAPE := YES ++override NETSURF_USE_HARU_PDF := NO ++override NETSURF_USE_VIDEO := NO ++ ++override NETSURF_FB_FONTLIB := freetype ++override NETSURF_FB_FONTPATH := /ui/fonts/ ++override NETSURF_FB_FONT_SANS_SERIF := Sans/Fira/Regular.ttf ++override NETSURF_FB_FONT_SANS_SERIF_BOLD := Sans/Fira/Bold.ttf ++override NETSURF_FB_FONT_SANS_SERIF_ITALIC := Sans/Fira/Regular.ttf ++override NETSURF_FB_FONT_SANS_SERIF_ITALIC_BOLD := Sans/Fira/Bold.ttf ++override NETSURF_FB_FONT_SERIF := Sans/Fira/Regular.ttf ++override NETSURF_FB_FONT_SERIF_BOLD := Sans/Fira/Bold.ttf ++override NETSURF_FB_FONT_MONOSPACE := Mono/Fira/Regular.ttf ++override NETSURF_FB_FONT_MONOSPACE_BOLD := Mono/Fira/Bold.ttf ++override NETSURF_FB_FONT_CURSIVE := Sans/Fira/Regular.ttf ++override NETSURF_FB_FONT_FANTASY := Sans/Fira/Regular.ttf +diff -ruwN source/netsurf/frontends/framebuffer/Makefile source-new/netsurf/frontends/framebuffer/Makefile +--- source/netsurf/frontends/framebuffer/Makefile 2023-12-28 07:57:22.987320000 +0700 ++++ source-new/netsurf/frontends/framebuffer/Makefile 2025-07-20 11:58:36.662747547 +0700 +@@ -200,7 +200,7 @@ + install-framebuffer: + $(VQ)echo " INSTALL: $(DESTDIR)/$(PREFIX)" + $(Q)$(INSTALL) -d $(DESTDIR)/$(NETSURF_FRAMEBUFFER_BIN) +- $(Q)$(INSTALL) -T $(EXETARGET) $(DESTDIR)/$(NETSURF_FRAMEBUFFER_BIN)/netsurf-fb ++ $(Q)$(INSTALL) $(EXETARGET) $(DESTDIR)/$(NETSURF_FRAMEBUFFER_BIN)/netsurf-fb + $(Q)$(INSTALL) -d $(DESTDIR)/$(NETSURF_FRAMEBUFFER_RESOURCES) + $(Q)for F in $(NETSURF_FRAMEBUFFER_RESOURCE_LIST); do $(INSTALL) -m 644 $(FRONTEND_RESOURCES_DIR)/$$F $(DESTDIR)/$(NETSURF_FRAMEBUFFER_RESOURCES); done + $(Q)$(INSTALL) -m 644 -T $(MESSAGES_TARGET)/en/Messages $(DESTDIR)/$(NETSURF_FRAMEBUFFER_RESOURCES)/Messages +diff -ruwN source/netsurf/utils/config.h source-new/netsurf/utils/config.h +--- source/netsurf/utils/config.h 2023-12-28 07:57:23.095317100 +0700 ++++ source-new/netsurf/utils/config.h 2025-07-20 12:12:51.782724549 +0700 +@@ -63,7 +63,8 @@ + defined(__BEOS__) || \ + defined(__amigaos4__) || \ + defined(__AMIGA__) || \ +- defined(__MINT__)) ++ defined(__MINT__) || \ ++ defined(__redox__)) + #undef HAVE_STRPTIME + #undef HAVE_STRFTIME + #else +@@ -136,7 +137,7 @@ + #endif + + #define HAVE_MMAP +-#if (defined(_WIN32) || defined(__riscos__) || defined(__HAIKU__) || defined(__BEOS__) || defined(__amigaos4__) || defined(__AMIGA__) || defined(__MINT__)) ++#if (defined(_WIN32) || defined(__riscos__) || defined(__HAIKU__) || defined(__BEOS__) || defined(__amigaos4__) || defined(__AMIGA__) || defined(__MINT__) || defined(__redox__)) + #undef HAVE_MMAP + #endif + +@@ -149,7 +150,7 @@ + #define HAVE_DIRFD + #define HAVE_UNLINKAT + #define HAVE_FSTATAT +-#if (defined(_WIN32) || defined(__riscos__) || defined(__HAIKU__) || defined(__BEOS__) || defined(__amigaos4__) || defined(__AMIGA__) || defined(__MINT__)) ++#if (defined(_WIN32) || defined(__riscos__) || defined(__HAIKU__) || defined(__BEOS__) || defined(__amigaos4__) || defined(__AMIGA__) || defined(__MINT__) || defined(__redox__)) + #undef HAVE_DIRFD + #undef HAVE_UNLINKAT + #undef HAVE_FSTATAT diff --git a/recipes/web/netsurf/manifest b/recipes/web/netsurf/manifest new file mode 100644 index 00000000..b1edac6a --- /dev/null +++ b/recipes/web/netsurf/manifest @@ -0,0 +1,6 @@ +name=Netsurf +binary=/usr/bin/netsurf-fb +icon=/ui/icons/apps/internet-web-browser.png +accept=*.html +author=The Netsurf Developers +description=Browser for Redox diff --git a/recipes/web/netsurf/recipe.toml b/recipes/web/netsurf/recipe.toml new file mode 100644 index 00000000..fabdc032 --- /dev/null +++ b/recipes/web/netsurf/recipe.toml @@ -0,0 +1,45 @@ +[source] +tar = "https://download.netsurf-browser.org/netsurf/releases/source-full/netsurf-all-3.11.tar.gz" +blake3 = "cd406668a9ed5712efac1a8685125b83626690b73bbc6cb5de82ef00e3f65087" +patches = [ + "./01_redox.patch" +] + +[build] +template = "custom" +dependencies = [ + "curl", + "expat", + "libjpeg", + "libpng", + "nghttp2", + "openssl1", + "sdl1", + "zlib", + "freetype2", + "liborbital", + "libiconv" +] +script = """ +DYNAMIC_INIT + +# Netsurf does not currently support out-of-tree builds :( +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ + +export TARGET="framebuffer" +export CFLAGS="${CFLAGS} -I${PWD}/inst-${TARGET}/include" +export LDFLAGS="${LDFLAGS} -L${COOKBOOK_SYSROOT}/lib -L${PWD}/inst-${TARGET}/lib -Wl,--allow-multiple-definition -Wl,-rpath-link,${COOKBOOK_SYSROOT}/lib" +# nghttp2 is not linked for some reason +export LDFLAGS="${LDFLAGS} -lcurl -lnghttp2" + +"$COOKBOOK_MAKE" PREFIX=/usr V=1 -j"$($NPROC)" +"$COOKBOOK_MAKE" DESTDIR="$COOKBOOK_STAGE" PREFIX=/usr install -j"$($NPROC)" +mkdir -pv "$COOKBOOK_STAGE/ui/apps" +cp -v "${COOKBOOK_RECIPE}/manifest" "$COOKBOOK_STAGE/ui/apps/00_netsurf" +""" + +[package] +dependencies = [ + "ca-certificates", + "orbital", +] diff --git a/recipes/web/website/recipe.toml b/recipes/web/website/recipe.toml new file mode 100644 index 00000000..e9d240f1 --- /dev/null +++ b/recipes/web/website/recipe.toml @@ -0,0 +1,10 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/website" +[build] +template = "custom" +script = """ +rsync -a "${COOKBOOK_SOURCE}/" ./ +./hugo.sh +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/website +cp -rv "${COOKBOOK_BUILD}"/build/public/* "${COOKBOOK_STAGE}"/usr/share/website +""" diff --git a/recipes/wip/a11y/orca/recipe.toml b/recipes/wip/a11y/orca/recipe.toml new file mode 100644 index 00000000..4048dc4a --- /dev/null +++ b/recipes/wip/a11y/orca/recipe.toml @@ -0,0 +1,15 @@ +#TODO not compiled or tested +# dependencies: https://gitlab.gnome.org/GNOME/orca/#dependencies +[source] +tar = "https://download.gnome.org/sources/orca/48/orca-48.6.tar.xz" +[build] +template = "custom" +dependencies = [ + "atk", + "at-spi2-core", + "gtk3", +] +script = """ +DYNAMIC_INIT +cookbook_meson +""" diff --git a/recipes/wip/ai/nnx/recipe.toml b/recipes/wip/ai/nnx/recipe.toml new file mode 100644 index 00000000..ca9318b4 --- /dev/null +++ b/recipes/wip/ai/nnx/recipe.toml @@ -0,0 +1,11 @@ +#TODO fs2 crate error +[source] +git = "https://github.com/webonnx/wonnx" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +cookbook_cargo_packages wonnx-cli +""" diff --git a/recipes/wip/ai/rustgpt/recipe.toml b/recipes/wip/ai/rustgpt/recipe.toml new file mode 100644 index 00000000..5f3f5588 --- /dev/null +++ b/recipes/wip/ai/rustgpt/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/tekaratzas/RustGPT" +[build] +template = "cargo" diff --git a/recipes/wip/ai/tgs/recipe.toml b/recipes/wip/ai/tgs/recipe.toml new file mode 100644 index 00000000..4a05776a --- /dev/null +++ b/recipes/wip/ai/tgs/recipe.toml @@ -0,0 +1,8 @@ +#TODO make libtorch work +[source] +git = "https://github.com/warpy-ai/tgs" +[build] +template = "cargo" +dependencies = [ + "libtorch", +] diff --git a/recipes/wip/analysis/binsider/recipe.toml b/recipes/wip/analysis/binsider/recipe.toml new file mode 100644 index 00000000..b7f70805 --- /dev/null +++ b/recipes/wip/analysis/binsider/recipe.toml @@ -0,0 +1,5 @@ +#TODO async-io and rustix crates error +[source] +git = "https://github.com/orhun/binsider" +[build] +template = "cargo" diff --git a/recipes/wip/analysis/cutter/recipe.toml b/recipes/wip/analysis/cutter/recipe.toml new file mode 100644 index 00000000..33fc1fcf --- /dev/null +++ b/recipes/wip/analysis/cutter/recipe.toml @@ -0,0 +1,12 @@ +#TODO not compiled or tested +# build instructions: https://cutter.re/docs/building.html +[source] +tar = "https://github.com/rizinorg/cutter/releases/download/v2.3.4/Cutter-v2.3.4-src.tar.gz" +[build] +template = "cmake" +dependencies = [ + "libzip", + "zlib", + "qt5-base", + "qt5-svg", +] diff --git a/recipes/wip/analysis/email-sleuth/recipe.toml b/recipes/wip/analysis/email-sleuth/recipe.toml new file mode 100644 index 00000000..36bdabc6 --- /dev/null +++ b/recipes/wip/analysis/email-sleuth/recipe.toml @@ -0,0 +1,5 @@ +#TODO openssl-sys crate error +[source] +git = "https://github.com/tokenizer-decode/email-sleuth" +[build] +template = "cargo" diff --git a/recipes/wip/analysis/flowgger/recipe.toml b/recipes/wip/analysis/flowgger/recipe.toml new file mode 100644 index 00000000..efcaed09 --- /dev/null +++ b/recipes/wip/analysis/flowgger/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://github.com/awslabs/flowgger/wiki/Installation +[source] +git = "https://github.com/awslabs/flowgger" +[build] +template = "cargo" diff --git a/recipes/wip/analysis/netdata/recipe.toml b/recipes/wip/analysis/netdata/recipe.toml new file mode 100644 index 00000000..fc4f14dd --- /dev/null +++ b/recipes/wip/analysis/netdata/recipe.toml @@ -0,0 +1,11 @@ +#TODO not compiled or tested +# build instructions: https://learn.netdata.cloud/docs/developer-and-contributor-corner/build-the-netdata-agent-yourself/compile-from-source-code#building-netdata +[source] +tar = "https://github.com/netdata/netdata/releases/download/v1.46.1/netdata-v1.46.1.tar.gz" +[build] +template = "cmake" +dependencies = [ + "zlib", + "libuv", + "libuuid", +] diff --git a/recipes/wip/analysis/rizin/recipe.toml b/recipes/wip/analysis/rizin/recipe.toml new file mode 100644 index 00000000..385be03b --- /dev/null +++ b/recipes/wip/analysis/rizin/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://github.com/rizinorg/rizin/blob/dev/BUILDING.md +[source] +tar = "https://github.com/rizinorg/rizin/releases/download/v0.7.3/rizin-src-v0.7.3.tar.xz" +[build] +template = "meson" diff --git a/recipes/wip/archives/7-zip/recipe.toml b/recipes/wip/archives/7-zip/recipe.toml new file mode 100644 index 00000000..4930f7e0 --- /dev/null +++ b/recipes/wip/archives/7-zip/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for "make", see https://github.com/mcmilk/7-Zip/tree/master/DOC#readme +[source] +tar = "https://7-zip.org/a/7z2301-src.tar.xz" +[build] +template = "custom" diff --git a/recipes/wip/archives/file-roller/recipe.toml b/recipes/wip/archives/file-roller/recipe.toml new file mode 100644 index 00000000..d4e493be --- /dev/null +++ b/recipes/wip/archives/file-roller/recipe.toml @@ -0,0 +1,13 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.gnome.org/GNOME/file-roller#building-locally +# the libportal dependency is for flatpak, maybe it's optional +[source] +tar = "https://download.gnome.org/sources/file-roller/44/file-roller-44.3.tar.xz" +[build] +template = "meson" +dependencies = [ + "glib", + "gtk3", + "libhandy", + "libarchive", +] diff --git a/recipes/wip/archives/lzip/recipe.toml b/recipes/wip/archives/lzip/recipe.toml new file mode 100644 index 00000000..070f1835 --- /dev/null +++ b/recipes/wip/archives/lzip/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +tar = "https://download.savannah.gnu.org/releases/lzip/lzip-1.24.1.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/archives/mlar/recipe.toml b/recipes/wip/archives/mlar/recipe.toml new file mode 100644 index 00000000..5fd0cc56 --- /dev/null +++ b/recipes/wip/archives/mlar/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/ANSSI-FR/MLA" +[build] +template = "custom" +script = """ +cookbook_cargo_packages mlar +""" diff --git a/recipes/wip/archives/orz/recipe.toml b/recipes/wip/archives/orz/recipe.toml new file mode 100644 index 00000000..758d9665 --- /dev/null +++ b/recipes/wip/archives/orz/recipe.toml @@ -0,0 +1,5 @@ +#TODO don't run +[source] +git = "https://github.com/richox/orz" +[build] +template = "cargo" diff --git a/recipes/wip/archives/ouch/recipe.toml b/recipes/wip/archives/ouch/recipe.toml new file mode 100644 index 00000000..851597f2 --- /dev/null +++ b/recipes/wip/archives/ouch/recipe.toml @@ -0,0 +1,10 @@ +#TODO compilation error +[source] +git = "https://github.com/ouch-org/ouch" +[build] +template = "cargo" +dependencies = [ + "zlib", + "bzip2", + "xz", +] diff --git a/recipes/wip/archives/plzip/recipe.toml b/recipes/wip/archives/plzip/recipe.toml new file mode 100644 index 00000000..73142532 --- /dev/null +++ b/recipes/wip/archives/plzip/recipe.toml @@ -0,0 +1,8 @@ +#TODO missing headers +[source] +tar = "https://download.savannah.gnu.org/releases/lzip/plzip/plzip-1.11.tar.gz" +[build] +template = "configure" +dependencies = [ + "lzlib", +] diff --git a/recipes/wip/archives/unzrip/recipe.toml b/recipes/wip/archives/unzrip/recipe.toml new file mode 100644 index 00000000..e31e1140 --- /dev/null +++ b/recipes/wip/archives/unzrip/recipe.toml @@ -0,0 +1,8 @@ +#TODO make zstd work (after cargo update) +[source] +git = "https://github.com/quininer/unzrip" +[build] +template = "cargo" +dependencies = [ + "zstd", +] diff --git a/recipes/wip/backup/borg/recipe.toml b/recipes/wip/backup/borg/recipe.toml new file mode 100644 index 00000000..6df0b093 --- /dev/null +++ b/recipes/wip/backup/borg/recipe.toml @@ -0,0 +1,14 @@ +#TODO missing script for pip +# build instructions - https://borgbackup.readthedocs.io/en/stable/installation.html#source-install +[source] +tar = "https://github.com/borgbackup/borg/releases/download/1.4.1/borgbackup-1.4.1.tar.gz" +[build] +template = "custom" +dependencies = [ + "openssl1", + "libacl", + "libattr", + "xxhash", + "lz4", + "zstd", +] diff --git a/recipes/wip/backup/vorta/recipe.toml b/recipes/wip/backup/vorta/recipe.toml new file mode 100644 index 00000000..830541fe --- /dev/null +++ b/recipes/wip/backup/vorta/recipe.toml @@ -0,0 +1,7 @@ +#TODO missing script for pip +# build instructions - https://vorta.borgbase.com/install/linux/#install-from-source +[source] +git = "https://github.com/borgbase/vorta" +rev = "f2b42742f9a56f15a46f2b287825122032fcdb90" +[build] +template = "custom" diff --git a/recipes/wip/benchmarks/cargo/cargo-benchcmp/recipe.toml b/recipes/wip/benchmarks/cargo/cargo-benchcmp/recipe.toml new file mode 100644 index 00000000..a9fbc1c1 --- /dev/null +++ b/recipes/wip/benchmarks/cargo/cargo-benchcmp/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/BurntSushi/cargo-benchcmp" +[build] +template = "cargo" diff --git a/recipes/wip/benchmarks/cargo/cargo-criterion/recipe.toml b/recipes/wip/benchmarks/cargo/cargo-criterion/recipe.toml new file mode 100644 index 00000000..6ba7cb27 --- /dev/null +++ b/recipes/wip/benchmarks/cargo/cargo-criterion/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/bheisler/cargo-criterion" +[build] +template = "cargo" diff --git a/recipes/wip/benchmarks/dacapo-benchmarks/recipe.toml b/recipes/wip/benchmarks/dacapo-benchmarks/recipe.toml new file mode 100644 index 00000000..0fc1315b --- /dev/null +++ b/recipes/wip/benchmarks/dacapo-benchmarks/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing data type to download the Java bytecode +# download link - https://download.dacapobench.org/chopin/dacapo-23.11-chopin.zip +[source] + +[build] +template = "custom" diff --git a/recipes/wip/benchmarks/hpc/hpcc/recipe.toml b/recipes/wip/benchmarks/hpc/hpcc/recipe.toml new file mode 100644 index 00000000..6cc31de2 --- /dev/null +++ b/recipes/wip/benchmarks/hpc/hpcc/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for building, check the tarball +[source] +tar = "https://hpcchallenge.org/projectsfiles/hpcc/download/hpcc-1.5.0.tar.gz" +[build] +template = "custom" diff --git a/recipes/wip/benchmarks/hpc/hpcg/recipe.toml b/recipes/wip/benchmarks/hpc/hpcg/recipe.toml new file mode 100644 index 00000000..fe63ce86 --- /dev/null +++ b/recipes/wip/benchmarks/hpc/hpcg/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for building, see https://github.com/hpcg-benchmark/hpcg/blob/master/INSTALL +[source] +git = "https://github.com/hpcg-benchmark/hpcg" +[build] +template = "custom" diff --git a/recipes/wip/benchmarks/hpc/minibude/recipe.toml b/recipes/wip/benchmarks/hpc/minibude/recipe.toml new file mode 100644 index 00000000..b641cd41 --- /dev/null +++ b/recipes/wip/benchmarks/hpc/minibude/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for "make", see https://github.com/UoB-HPC/miniBUDE#building +[source] +git = "https://github.com/UoB-HPC/miniBUDE" +[build] +template = "custom" diff --git a/recipes/wip/benchmarks/hyperfine/recipe.toml b/recipes/wip/benchmarks/hyperfine/recipe.toml new file mode 100644 index 00000000..a51d22b5 --- /dev/null +++ b/recipes/wip/benchmarks/hyperfine/recipe.toml @@ -0,0 +1,5 @@ +#TODO libc::RUSAGE_CHILDREN +[source] +git = "https://github.com/sharkdp/hyperfine" +[build] +template = "cargo" diff --git a/recipes/wip/benchmarks/io/blogbench/recipe.toml b/recipes/wip/benchmarks/io/blogbench/recipe.toml new file mode 100644 index 00000000..b6c2aff2 --- /dev/null +++ b/recipes/wip/benchmarks/io/blogbench/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for building, see https://github.com/jedisct1/Blogbench#readme +[source] +tar = "https://github.com/jedisct1/Blogbench/releases/download/1.2/blogbench-1.2.tar.bz2" +[build] +template = "custom" diff --git a/recipes/wip/benchmarks/io/fio/recipe.toml b/recipes/wip/benchmarks/io/fio/recipe.toml new file mode 100644 index 00000000..80c3bd76 --- /dev/null +++ b/recipes/wip/benchmarks/io/fio/recipe.toml @@ -0,0 +1,6 @@ +#TODO configuration problem +[source] +git = "https://github.com/axboe/fio" +rev = "624e263f6acb1563471a83601ce19dfb77ac5694" +[build] +template = "configure" diff --git a/recipes/wip/benchmarks/io/simple-disk-benchmark/recipe.toml b/recipes/wip/benchmarks/io/simple-disk-benchmark/recipe.toml new file mode 100644 index 00000000..64101a1e --- /dev/null +++ b/recipes/wip/benchmarks/io/simple-disk-benchmark/recipe.toml @@ -0,0 +1,5 @@ +#TODO source code error +[source] +git = "https://github.com/schwa/simple-disk-benchmark-rs" +[build] +template = "cargo" diff --git a/recipes/wip/benchmarks/rodinia/recipe.toml b/recipes/wip/benchmarks/rodinia/recipe.toml new file mode 100644 index 00000000..ae1b0752 --- /dev/null +++ b/recipes/wip/benchmarks/rodinia/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for building, lacking build instructions +[source] +tar = "http://www.cs.virginia.edu/~skadron/lava/Rodinia/Packages/rodinia_3.1.tar.bz2" +[build] +template = "custom" diff --git a/recipes/wip/benchmarks/rpc-perf/recipe.toml b/recipes/wip/benchmarks/rpc-perf/recipe.toml new file mode 100644 index 00000000..be0a4045 --- /dev/null +++ b/recipes/wip/benchmarks/rpc-perf/recipe.toml @@ -0,0 +1,8 @@ +#TODO make zstd work +[source] +git = "https://github.com/iopsystems/rpc-perf" +[build] +template = "cargo" +dependencies = [ + "zstd", +] diff --git a/recipes/wip/benchmarks/stress-ng/recipe.toml b/recipes/wip/benchmarks/stress-ng/recipe.toml new file mode 100644 index 00000000..18e67354 --- /dev/null +++ b/recipes/wip/benchmarks/stress-ng/recipe.toml @@ -0,0 +1,20 @@ +#TODO missing script for "make", see https://github.com/ColinIanKing/stress-ng#building-stress-ng +#TODO missing dependencies +[source] +git = "https://github.com/ColinIanKing/stress-ng" +rev = "8c39f5a2d9b199189456f414afd9e536dae69d1b" +[build] +template = "custom" +dependencies = [ + "libbsd", + "libaio", + "libcap", + "libcap", + "libgcrypt", + "libjpeg", + "libmd", + "libmpfr", + "xxhash", + "zlib", + "mesa", +] diff --git a/recipes/wip/benchmarks/suite/phoronix-test-suite/recipe.toml b/recipes/wip/benchmarks/suite/phoronix-test-suite/recipe.toml new file mode 100644 index 00000000..19495073 --- /dev/null +++ b/recipes/wip/benchmarks/suite/phoronix-test-suite/recipe.toml @@ -0,0 +1,5 @@ +#TODO figure out the installation script - https://github.com/phoronix-test-suite/phoronix-test-suite +[source] +tar = "https://phoronix-test-suite.com/releases/phoronix-test-suite-10.8.4.tar.gz" +[build] +template = "custom" diff --git a/recipes/wip/codecs/dav1d/recipe.toml b/recipes/wip/codecs/dav1d/recipe.toml new file mode 100644 index 00000000..2384fba7 --- /dev/null +++ b/recipes/wip/codecs/dav1d/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://code.videolan.org/videolan/dav1d#compile +[source] +git = "https://code.videolan.org/videolan/dav1d" +rev = "48035599cdd4e4415732e408c407e0c1cd1c7444" +[build] +template = "meson" diff --git a/recipes/wip/codecs/faad2/recipe.toml b/recipes/wip/codecs/faad2/recipe.toml new file mode 100644 index 00000000..1fcb6415 --- /dev/null +++ b/recipes/wip/codecs/faad2/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# lacking build instructions +[source] +git = "https://github.com/knik0/faad2" +rev = "2.11.2" +[build] +template = "cmake" diff --git a/recipes/wip/codecs/kvazaar/recipe.toml b/recipes/wip/codecs/kvazaar/recipe.toml new file mode 100644 index 00000000..d8739d01 --- /dev/null +++ b/recipes/wip/codecs/kvazaar/recipe.toml @@ -0,0 +1,5 @@ +#TODO compilation error +[source] +tar = "https://github.com/ultravideo/kvazaar/releases/download/v2.2.0/kvazaar-2.2.0.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/codecs/rav1e/recipe.toml b/recipes/wip/codecs/rav1e/recipe.toml new file mode 100644 index 00000000..3ee7f537 --- /dev/null +++ b/recipes/wip/codecs/rav1e/recipe.toml @@ -0,0 +1,5 @@ +#TODO "malloc(): invalid size (unsorted)" error +[source] +git = "https://github.com/xiph/rav1e" +[build] +template = "cargo" diff --git a/recipes/wip/codecs/svt-av1/recipe.toml b/recipes/wip/codecs/svt-av1/recipe.toml new file mode 100644 index 00000000..8d0875f9 --- /dev/null +++ b/recipes/wip/codecs/svt-av1/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing script for building, see https://gitlab.com/AOMediaCodec/SVT-AV1/-/blob/master/Docs/Build-Guide.md#linux-operating-systems-64-bit +[source] +git = "https://gitlab.com/AOMediaCodec/SVT-AV1" +rev = "59645eea34e2815b627b8293aa3af254eddd0d69" +[build] +template = "custom" diff --git a/recipes/wip/codecs/svt-hevc/recipe.toml b/recipes/wip/codecs/svt-hevc/recipe.toml new file mode 100644 index 00000000..78c54ef7 --- /dev/null +++ b/recipes/wip/codecs/svt-hevc/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://github.com/OpenVisualCloud/SVT-HEVC#linux-operating-systems-64-bit +[source] +git = "https://github.com/OpenVisualCloud/SVT-HEVC" +rev = "b65eba07e6dee37407631cc441561960838b0333" +[build] +template = "cmake" diff --git a/recipes/wip/codecs/svt-vp9/recipe.toml b/recipes/wip/codecs/svt-vp9/recipe.toml new file mode 100644 index 00000000..47574a5f --- /dev/null +++ b/recipes/wip/codecs/svt-vp9/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://github.com/OpenVisualCloud/SVT-VP9#linux-operating-systems-64-bit +[source] +git = "https://github.com/OpenVisualCloud/SVT-VP9" +[build] +template = "cmake" diff --git a/recipes/wip/codecs/uvg266/recipe.toml b/recipes/wip/codecs/uvg266/recipe.toml new file mode 100644 index 00000000..4005e380 --- /dev/null +++ b/recipes/wip/codecs/uvg266/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://github.com/ultravideo/uvg266#compiling-uvg266 +[source] +git = "https://github.com/ultravideo/uvg266" +rev = "9add13b7053a6ba3f6b22bf82728e01fc437a447" +[build] +template = "cmake" diff --git a/recipes/wip/codecs/vvenc/recipe.toml b/recipes/wip/codecs/vvenc/recipe.toml new file mode 100644 index 00000000..0a2eb417 --- /dev/null +++ b/recipes/wip/codecs/vvenc/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://github.com/fraunhoferhhi/vvenc/wiki/Build#build-using-plain-cmake +[source] +git = "https://github.com/fraunhoferhhi/vvenc" +rev = "eea6fce28c8e822a0ece7a343a10fd5d6dd0e7bb" +[build] +template = "cmake" diff --git a/recipes/wip/codecs/wavpack/recipe.toml b/recipes/wip/codecs/wavpack/recipe.toml new file mode 100644 index 00000000..3f4a28a8 --- /dev/null +++ b/recipes/wip/codecs/wavpack/recipe.toml @@ -0,0 +1,8 @@ +#TODO compilation error - missing header +[source] +tar = "https://github.com/dbry/WavPack/releases/download/5.7.0/wavpack-5.7.0.tar.xz" +[build] +template = "configure" +dependencies = [ + "libiconv", +] diff --git a/recipes/wip/codecs/x264/recipe.toml b/recipes/wip/codecs/x264/recipe.toml new file mode 100644 index 00000000..2bf5be8b --- /dev/null +++ b/recipes/wip/codecs/x264/recipe.toml @@ -0,0 +1,5 @@ +#TODO the redox target is not supported on the configure script +[source] +git = "https://code.videolan.org/videolan/x264" +[build] +template = "configure" diff --git a/recipes/wip/codecs/x265/recipe.toml b/recipes/wip/codecs/x265/recipe.toml new file mode 100644 index 00000000..ce61981d --- /dev/null +++ b/recipes/wip/codecs/x265/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://bitbucket.org/multicoreware/x265_git/src/master/build/README.txt#lines-68 +[source] +tar = "https://bitbucket.org/multicoreware/x265_git/downloads/x265_3.5.tar.gz" +[build] +template = "cmake" diff --git a/recipes/wip/containers/crun-vm/recipe.toml b/recipes/wip/containers/crun-vm/recipe.toml new file mode 100644 index 00000000..c28e391e --- /dev/null +++ b/recipes/wip/containers/crun-vm/recipe.toml @@ -0,0 +1,6 @@ +#TODO camino crate error +# dependencies - https://github.com/containers/crun-vm/blob/main/docs/1-installing.md#from-source +[source] +git = "https://github.com/containers/crun-vm" +[build] +template = "cargo" diff --git a/recipes/wip/containers/crun/recipe.toml b/recipes/wip/containers/crun/recipe.toml new file mode 100644 index 00000000..9619bb48 --- /dev/null +++ b/recipes/wip/containers/crun/recipe.toml @@ -0,0 +1,5 @@ +#TODO disable systemd and SELinux +[source] +tar = "https://github.com/containers/crun/releases/download/1.17/crun-1.17.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/containers/docker/recipe.toml b/recipes/wip/containers/docker/recipe.toml new file mode 100644 index 00000000..ceb2a386 --- /dev/null +++ b/recipes/wip/containers/docker/recipe.toml @@ -0,0 +1,6 @@ +#TODO implement a Cookbook template for the Go programming language +[source] +git = "https://github.com/docker/cli" +branch = "27.x" +[build] +template = "go" diff --git a/recipes/wip/containers/podman/recipe.toml b/recipes/wip/containers/podman/recipe.toml new file mode 100644 index 00000000..3bcc6720 --- /dev/null +++ b/recipes/wip/containers/podman/recipe.toml @@ -0,0 +1,6 @@ +#TODO Implement a Cookbook template for the Go programming language +[source] +git = "https://github.com/containers/podman" +branch = "v5.2" +[build] +template = "go" diff --git a/recipes/wip/containers/skopeo/recipe.toml b/recipes/wip/containers/skopeo/recipe.toml new file mode 100644 index 00000000..0b72488c --- /dev/null +++ b/recipes/wip/containers/skopeo/recipe.toml @@ -0,0 +1,6 @@ +#TODO Implement the Cookbook template for the Go programming language +[source] +git = "https://github.com/containers/skopeo" +branch = "release-1.16" +[build] +template = "go" diff --git a/recipes/wip/containers/youki/recipe.toml b/recipes/wip/containers/youki/recipe.toml new file mode 100644 index 00000000..75df049d --- /dev/null +++ b/recipes/wip/containers/youki/recipe.toml @@ -0,0 +1,8 @@ +#TODO require cgroups +[source] +git = "https://github.com/containers/youki" +[build] +template = "custom" +script = """ +cookbook_cargo_packages youki +""" diff --git a/recipes/wip/crypto/data2sound/recipe.toml b/recipes/wip/crypto/data2sound/recipe.toml new file mode 100644 index 00000000..19a8ba25 --- /dev/null +++ b/recipes/wip/crypto/data2sound/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/TheAwiteb/data2sound" +[build] +template = "cargo" diff --git a/recipes/wip/crypto/morse2sound/recipe.toml b/recipes/wip/crypto/morse2sound/recipe.toml new file mode 100644 index 00000000..d48af2d8 --- /dev/null +++ b/recipes/wip/crypto/morse2sound/recipe.toml @@ -0,0 +1,5 @@ +#TODO slice-deque crate error (after cargo update) +[source] +git = "https://github.com/irevenko/morse2sound" +[build] +template = "cargo" diff --git a/recipes/wip/crypto/qrrs/recipe.toml b/recipes/wip/crypto/qrrs/recipe.toml new file mode 100644 index 00000000..900a77bc --- /dev/null +++ b/recipes/wip/crypto/qrrs/recipe.toml @@ -0,0 +1,5 @@ +#TODO promote +[source] +git = "https://github.com/Lenivaya/qrrs" +[build] +template = "cargo" diff --git a/recipes/wip/crypto/qrscan/recipe.toml b/recipes/wip/crypto/qrscan/recipe.toml new file mode 100644 index 00000000..75f60e70 --- /dev/null +++ b/recipes/wip/crypto/qrscan/recipe.toml @@ -0,0 +1,5 @@ +#TODO ahash crate error +[source] +git = "https://github.com/sayanarijit/qrscan" +[build] +template = "cargo" diff --git a/recipes/wip/crypto/qrtool/recipe.toml b/recipes/wip/crypto/qrtool/recipe.toml new file mode 100644 index 00000000..5302949c --- /dev/null +++ b/recipes/wip/crypto/qrtool/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/sorairolake/qrtool" +[build] +template = "cargo" diff --git a/recipes/wip/crypto/steg86/recipe.toml b/recipes/wip/crypto/steg86/recipe.toml new file mode 100644 index 00000000..607cbeb4 --- /dev/null +++ b/recipes/wip/crypto/steg86/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/woodruffw/steg86" +[build] +template = "cargo" diff --git a/recipes/wip/crypto/stupidfs/recipe.toml b/recipes/wip/crypto/stupidfs/recipe.toml new file mode 100644 index 00000000..b598425a --- /dev/null +++ b/recipes/wip/crypto/stupidfs/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/GoldenStack/stupidfs" +[build] +template = "cargo" diff --git a/recipes/wip/data-integrity/b3sum/recipe.toml b/recipes/wip/data-integrity/b3sum/recipe.toml new file mode 100644 index 00000000..44efd01d --- /dev/null +++ b/recipes/wip/data-integrity/b3sum/recipe.toml @@ -0,0 +1,9 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/BLAKE3-team/BLAKE3" +[build] +template = "custom" +script = """ +COOKBOOK_SOURCE="${COOKBOOK_SOURCE}/b3sum" +cookbook_cargo +""" diff --git a/recipes/wip/data-integrity/fim/recipe.toml b/recipes/wip/data-integrity/fim/recipe.toml new file mode 100644 index 00000000..954aadc8 --- /dev/null +++ b/recipes/wip/data-integrity/fim/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/Achiefs/fim" +[build] +template = "cargo" diff --git a/recipes/wip/data-integrity/hashgood/recipe.toml b/recipes/wip/data-integrity/hashgood/recipe.toml new file mode 100644 index 00000000..98552982 --- /dev/null +++ b/recipes/wip/data-integrity/hashgood/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/thombles/hashgood" +[build] +template = "cargo" diff --git a/recipes/wip/data-integrity/rapidhash/recipe.toml b/recipes/wip/data-integrity/rapidhash/recipe.toml new file mode 100644 index 00000000..c1c746e7 --- /dev/null +++ b/recipes/wip/data-integrity/rapidhash/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/hoxxep/rapidhash" +[build] +template = "custom" +script = """ +cookbook_cargo_packages rapidhash +""" diff --git a/recipes/wip/data-recovery/foremost/recipe.toml b/recipes/wip/data-recovery/foremost/recipe.toml new file mode 100644 index 00000000..faa9dbdb --- /dev/null +++ b/recipes/wip/data-recovery/foremost/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for gnu make, see the README inside the tarball +[source] +tar = "http://foremost.sourceforge.net/pkg/foremost-1.5.7.tar.gz" +[build] +template = "custom" diff --git a/recipes/wip/data-recovery/testdisk/recipe.toml b/recipes/wip/data-recovery/testdisk/recipe.toml new file mode 100644 index 00000000..3c92e0a8 --- /dev/null +++ b/recipes/wip/data-recovery/testdisk/recipe.toml @@ -0,0 +1,14 @@ +#TODO compilation error +# build instructions - https://www.cgsecurity.org/wiki/TestDisk_Compilation +# add optional libraries to expand the features - https://www.cgsecurity.org/wiki/TestDisk_Compilation#Libraries +[source] +tar = "https://www.cgsecurity.org/testdisk-7.2.tar.bz2" +[build] +template = "custom" +dependencies = [ + "ncurses", +] +script = """ +export CPPFLAGS="-I${COOKBOOK_SYSROOT}/include/ncurses" +cookbook_configure +""" diff --git a/recipes/wip/data/poppler-data/recipe.toml b/recipes/wip/data/poppler-data/recipe.toml new file mode 100644 index 00000000..3262c088 --- /dev/null +++ b/recipes/wip/data/poppler-data/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for gnu make +[source] +tar = "https://poppler.freedesktop.org/poppler-data-0.4.12.tar.gz" +[build] +template = "custom" diff --git a/recipes/wip/db/clickhouse/recipe.toml b/recipes/wip/db/clickhouse/recipe.toml new file mode 100644 index 00000000..5c52357e --- /dev/null +++ b/recipes/wip/db/clickhouse/recipe.toml @@ -0,0 +1,12 @@ +#TODO not compiled or tested +# build instructions: https://clickhouse.com/docs/en/development/build#how-to-build-clickhouse-on-any-linux +#TODO probably disable some submodules to use our recipes +[source] +tar = "https://github.com/ClickHouse/ClickHouse" +[build] +template = "cmake" +dependencies = [ + "curl", + "openssl1", + "xz", +] diff --git a/recipes/wip/db/cockroachdb/recipe.toml b/recipes/wip/db/cockroachdb/recipe.toml new file mode 100644 index 00000000..6d548c7d --- /dev/null +++ b/recipes/wip/db/cockroachdb/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing script for Bazel, see https://cockroachlabs.atlassian.net/wiki/spaces/CRDB/pages/181338446/Getting+and+building+CockroachDB+from+source +[source] +git = "https://github.com/cockroachdb/cockroach" +rev = "0ad77cfcc5a81b96dd2f27ed608536388b680537" +[build] +template = "custom" diff --git a/recipes/wip/db/gobang/recipe.toml b/recipes/wip/db/gobang/recipe.toml new file mode 100644 index 00000000..275810a1 --- /dev/null +++ b/recipes/wip/db/gobang/recipe.toml @@ -0,0 +1,5 @@ +#TODO update mio to 0.8 (after cargo update and patch on ring) +[source] +git = "https://github.com/TaKO8Ki/gobang" +[build] +template = "cargo" diff --git a/recipes/wip/db/influxdb/recipe.toml b/recipes/wip/db/influxdb/recipe.toml new file mode 100644 index 00000000..faad6d63 --- /dev/null +++ b/recipes/wip/db/influxdb/recipe.toml @@ -0,0 +1,6 @@ +#TODO nonsense error "Cargo.toml doesn't exist" +#TODO configure the CLI and service +[source] +git = "https://github.com/influxdata/influxdb" +[build] +template = "cargo" diff --git a/recipes/wip/db/iotdb/recipe.toml b/recipes/wip/db/iotdb/recipe.toml new file mode 100644 index 00000000..7a8a2148 --- /dev/null +++ b/recipes/wip/db/iotdb/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing script for Maven, see https://github.com/apache/iotdb#build-iotdb-from-source +[source] +git = "https://github.com/apache/iotdb" +rev = "5d0bfb0c25082b61cb8830aa04ec34a13edccd31" +[build] +template = "custom" diff --git a/recipes/wip/db/jdbrowser/recipe.toml b/recipes/wip/db/jdbrowser/recipe.toml new file mode 100644 index 00000000..987a8589 --- /dev/null +++ b/recipes/wip/db/jdbrowser/recipe.toml @@ -0,0 +1,5 @@ +#TODO wayland-backend crate error +[source] +git = "https://github.com/Jkeyuk/JDbrowser" +[build] +template = "cargo" diff --git a/recipes/wip/db/limbo/recipe.toml b/recipes/wip/db/limbo/recipe.toml new file mode 100644 index 00000000..ac1a00d8 --- /dev/null +++ b/recipes/wip/db/limbo/recipe.toml @@ -0,0 +1,8 @@ +#TODO compilation error on the sqlite3 parser +[source] +git = "https://github.com/tursodatabase/limbo" +[build] +template = "custom" +script = """ +cookbook_cargo_packages limbo_cli +""" diff --git a/recipes/wip/db/mariadb-lts/recipe.toml b/recipes/wip/db/mariadb-lts/recipe.toml new file mode 100644 index 00000000..0666ff40 --- /dev/null +++ b/recipes/wip/db/mariadb-lts/recipe.toml @@ -0,0 +1,18 @@ +#TODO not compiled or tested +# build instructions: +# https://mariadb.com/kb/en/generic-build-instructions/ +# https://mariadb.com/kb/en/cross-compiling-mariadb/ +[source] +tar = "https://archive.mariadb.org/mariadb-10.11.6/source/mariadb-10.11.6.tar.gz" +[build] +template = "cmake" +dependencies = [ + "ncurses", + "zlib", + "libevent", + "openssl1", + "curl", + "libxml2", + "boost", + "libaio", +] diff --git a/recipes/wip/db/mariadb/recipe.toml b/recipes/wip/db/mariadb/recipe.toml new file mode 100644 index 00000000..1ebf6c88 --- /dev/null +++ b/recipes/wip/db/mariadb/recipe.toml @@ -0,0 +1,19 @@ +#TODO not compiled or tested +# build instructions: +# https://mariadb.com/kb/en/generic-build-instructions/ +# https://mariadb.com/kb/en/cross-compiling-mariadb/ +[source] +tar = "https://dlm.mariadb.com/4509471/MariaDB/mariadb-12.1.2/source/mariadb-12.1.2.tar.gz" +[build] +template = "cmake" +dependencies = [ + "ncurses", + "zlib", + "libevent", + "openssl3", + "curl", + "libxml2", + "boost", + "libaio", +] + diff --git a/recipes/wip/db/memcached/recipe.toml b/recipes/wip/db/memcached/recipe.toml new file mode 100644 index 00000000..89f494be --- /dev/null +++ b/recipes/wip/db/memcached/recipe.toml @@ -0,0 +1,9 @@ +#TODO probably wrong template, see https://github.com/memcached/memcached/wiki/Install#from-source +#TODO make libevent works +[source] +tar = "https://www.memcached.org/files/memcached-1.6.22.tar.gz" +[build] +template = "configure" +dependencies = [ + "libevent", +] diff --git a/recipes/wip/db/mongodb6/recipe.toml b/recipes/wip/db/mongodb6/recipe.toml new file mode 100644 index 00000000..aed11b08 --- /dev/null +++ b/recipes/wip/db/mongodb6/recipe.toml @@ -0,0 +1,10 @@ +#TODO missing script for SCons, see https://github.com/mongodb/mongo/blob/master/docs/building.md +[source] +git = "https://github.com/mongodb/mongo" +branch = "v6.0" +[build] +template = "custom" +dependencies = [ + "curl", + "xz", +] diff --git a/recipes/wip/db/mongodb7/recipe.toml b/recipes/wip/db/mongodb7/recipe.toml new file mode 100644 index 00000000..69d167b5 --- /dev/null +++ b/recipes/wip/db/mongodb7/recipe.toml @@ -0,0 +1,10 @@ +#TODO missing script for SCons, see https://github.com/mongodb/mongo/blob/master/docs/building.md +[source] +git = "https://github.com/mongodb/mongo" +branch = "v7.2" +[build] +template = "custom" +dependencies = [ + "curl", + "xz", +] diff --git a/recipes/wip/db/mysql-server/recipe.toml b/recipes/wip/db/mysql-server/recipe.toml new file mode 100644 index 00000000..4c978500 --- /dev/null +++ b/recipes/wip/db/mysql-server/recipe.toml @@ -0,0 +1,15 @@ +#TODO not compiled or tested +# build instructions: https://dev.mysql.com/doc/refman/8.2/en/installing-source-distribution.html +[source] +tar = "https://dev.mysql.com/downloads/file/?id=523432" +[build] +template = "custom" +dependencies = [ + "boost", + "ncurses", + "openssl1", +] +script = """ +export CPPFLAGS="-I${COOKBOOK_SYSROOT}/include/ncurses" +cookbook_cmake +""" diff --git a/recipes/wip/db/mysql-shell/recipe.toml b/recipes/wip/db/mysql-shell/recipe.toml new file mode 100644 index 00000000..03b5312f --- /dev/null +++ b/recipes/wip/db/mysql-shell/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for cross-compilation +[source] +tar = "https://dev.mysql.com/downloads/file/?id=524161" +[build] +template = "custom" diff --git a/recipes/wip/db/postgresql16/recipe.toml b/recipes/wip/db/postgresql16/recipe.toml new file mode 100644 index 00000000..e247d0b6 --- /dev/null +++ b/recipes/wip/db/postgresql16/recipe.toml @@ -0,0 +1,17 @@ +#TODO waiting on sigjmp_buf and related POSIX functions in relibc +[source] +tar = "https://ftp.postgresql.org/pub/source/v16.0/postgresql-16.0.tar.bz2" +script = """ +cp "${COOKBOOK_SOURCE}/src/backend/utils/errcodes.h" "${COOKBOOK_SOURCE}/src/include/utils/errcodes.h" +""" +[build] +template = "configure" +configureflags = [ + "--without-icu", + "--without-readline", + "--with-template=redox", +] +dependencies = [ + "readline", + "zlib", +] diff --git a/recipes/wip/db/rainfrog/recipe.toml b/recipes/wip/db/rainfrog/recipe.toml new file mode 100644 index 00000000..b28e5e1a --- /dev/null +++ b/recipes/wip/db/rainfrog/recipe.toml @@ -0,0 +1,9 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/achristmascarl/rainfrog" +[build] +template = "cargo" +[package] +dependencies = [ + "nerd-fonts", +] diff --git a/recipes/wip/db/rocksdb/recipe.toml b/recipes/wip/db/rocksdb/recipe.toml new file mode 100644 index 00000000..844a6494 --- /dev/null +++ b/recipes/wip/db/rocksdb/recipe.toml @@ -0,0 +1,14 @@ +#TODO missing script for "make", see https://github.com/facebook/rocksdb/blob/main/INSTALL.md +[source] +git = "https://github.com/facebook/rocksdb" +rev = "49ce8a1064dd1ad89117899839bf136365e49e79" +[build] +template = "custom" +dependencies = [ + "zlib", + "lz4", + "bzip2", + "zstd", + "snappy", + "gflags", +] diff --git a/recipes/wip/db/skytable/recipe.toml b/recipes/wip/db/skytable/recipe.toml new file mode 100644 index 00000000..0bf74a60 --- /dev/null +++ b/recipes/wip/db/skytable/recipe.toml @@ -0,0 +1,11 @@ +#TODO libsky crate error +[source] +git = "https://github.com/skytable/skytable" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +cookbook_cargo_packages skysh skyd +""" diff --git a/recipes/wip/db/sqlite3/recipe.toml b/recipes/wip/db/sqlite3/recipe.toml new file mode 100644 index 00000000..5bc410b9 --- /dev/null +++ b/recipes/wip/db/sqlite3/recipe.toml @@ -0,0 +1,15 @@ +#TODO incomplete port +#TODO Complied, works for basic use cases. pthread mutexes compiled in, but not working. +#TODO Calls triggering mutexes yield the following errors: +#relibc getrlimit(7, 0x7ffffffffc38): not implemented +#relibc getgroups(65536, 0x14920): not implemented +#Runtime error near line 1: disk I/O error (10) +[source] +tar = "https://sqlite.org/2025/sqlite-autoconf-3490200.tar.gz" +blake3 = "96e071dc4f964311882334e927f017d8383915b1b140adcf308957dff213aa8c" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" +[build] +template = "configure" diff --git a/recipes/wip/db/sqllogictest/recipe.toml b/recipes/wip/db/sqllogictest/recipe.toml new file mode 100644 index 00000000..1e47a39c --- /dev/null +++ b/recipes/wip/db/sqllogictest/recipe.toml @@ -0,0 +1,14 @@ +#TODO Works, but not reliably +#TODO Raises the following warnings. +#setsockopt(16, 6, 1, 0x7fffffff4adc, 4) - unknown option +#setsockopt(16, 1, 9, 0x7fffffff4ad0, 4) - unknown option +#setsockopt(16, 6, 1, 0x7fffffff4ad4, 4) - unknown option + + +[source] +git = "https://github.com/risinglightdb/sqllogictest-rs.git" +[build] +template = "custom" +script = """ +cookbook_cargo_packages sqllogictest-bin +""" diff --git a/recipes/wip/db/tidb-server/recipe.toml b/recipes/wip/db/tidb-server/recipe.toml new file mode 100644 index 00000000..088b3fe4 --- /dev/null +++ b/recipes/wip/db/tidb-server/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing script for "make", see https://pingcap.github.io/tidb-dev-guide/get-started/build-tidb-from-source.html#build +[source] +git = "https://github.com/pingcap/tidb" +rev = "8445821f105477d5e31de9d8451b7fbf35a02cd1" +[build] +template = "custom" diff --git a/recipes/wip/demos/albedo/recipe.toml b/recipes/wip/demos/albedo/recipe.toml new file mode 100644 index 00000000..2b11feef --- /dev/null +++ b/recipes/wip/demos/albedo/recipe.toml @@ -0,0 +1,8 @@ +#TODO nanorand crate error +[source] +git = "https://github.com/albedo-engine/albedo" +[build] +template = "custom" +script = """ +cookbook_cargo_examples gpu_picking +""" diff --git a/recipes/wip/demos/appcui/recipe.toml b/recipes/wip/demos/appcui/recipe.toml new file mode 100644 index 00000000..53a0a424 --- /dev/null +++ b/recipes/wip/demos/appcui/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/gdt050579/AppCUI-rs" +[build] +template = "custom" +script = """ +cookbook_cargo_packages examples +""" diff --git a/recipes/wip/demos/avian/recipe.toml b/recipes/wip/demos/avian/recipe.toml new file mode 100644 index 00000000..7343d2b6 --- /dev/null +++ b/recipes/wip/demos/avian/recipe.toml @@ -0,0 +1,8 @@ +#TODO requires rustc 1.82.0 +[source] +git = "https://github.com/Jondolf/avian" +[build] +template = "custom" +script = """ +cookbook_cargo_examples chain_2d many_shapes ray_caster chain_3d cubes +""" diff --git a/recipes/wip/demos/avt/recipe.toml b/recipes/wip/demos/avt/recipe.toml new file mode 100644 index 00000000..39e7f716 --- /dev/null +++ b/recipes/wip/demos/avt/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/asciinema/avt" +[build] +template = "custom" +script = """ +cookbook_cargo_examples text +""" diff --git a/recipes/wip/demos/bevy/recipe.toml b/recipes/wip/demos/bevy/recipe.toml new file mode 100644 index 00000000..a314e072 --- /dev/null +++ b/recipes/wip/demos/bevy/recipe.toml @@ -0,0 +1,8 @@ +#TODO async-io crate error +[source] +git = "https://github.com/bevyengine/bevy" +[build] +template = "custom" +script = """ +cookbook_cargo_examples hello_world +""" diff --git a/recipes/wip/demos/blade/recipe.toml b/recipes/wip/demos/blade/recipe.toml new file mode 100644 index 00000000..15c6c1f4 --- /dev/null +++ b/recipes/wip/demos/blade/recipe.toml @@ -0,0 +1,8 @@ +#TODO x11rb and rustix crates error +[source] +git = "https://github.com/kvark/blade" +[build] +template = "custom" +script = """ +cookbook_cargo_examples bunnymark particle ray-query scene +""" diff --git a/recipes/wip/demos/blitz/recipe.toml b/recipes/wip/demos/blitz/recipe.toml new file mode 100644 index 00000000..a11aeeb6 --- /dev/null +++ b/recipes/wip/demos/blitz/recipe.toml @@ -0,0 +1,11 @@ +#TODO fontique crate error +[source] +git = "https://github.com/DioxusLabs/blitz" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +cookbook_cargo_examples url markdown +""" diff --git a/recipes/wip/demos/blockish/recipe.toml b/recipes/wip/demos/blockish/recipe.toml new file mode 100644 index 00000000..30fdd578 --- /dev/null +++ b/recipes/wip/demos/blockish/recipe.toml @@ -0,0 +1,8 @@ +#TODO glutin crate error +[source] +git = "https://github.com/yazgoo/blockish" +[build] +template = "custom" +script = """ +cookbook_cargo_examples euc gif tiny-skia +""" diff --git a/recipes/wip/demos/blockishfire/recipe.toml b/recipes/wip/demos/blockishfire/recipe.toml new file mode 100644 index 00000000..120cabef --- /dev/null +++ b/recipes/wip/demos/blockishfire/recipe.toml @@ -0,0 +1,5 @@ +#TODO outdated redox_syscall crate (cargo update don't fix it) +[source] +git = "https://github.com/yazgoo/blockishfire" +[build] +template = "cargo" diff --git a/recipes/wip/demos/blue-engine/recipe.toml b/recipes/wip/demos/blue-engine/recipe.toml new file mode 100644 index 00000000..477d7470 --- /dev/null +++ b/recipes/wip/demos/blue-engine/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/AryanpurTech/BlueEngine" +[build] +template = "custom" +script = """ +cookbook_cargo_examples triangle square cube rotate_around wireframe +""" diff --git a/recipes/wip/demos/bones/recipe.toml b/recipes/wip/demos/bones/recipe.toml new file mode 100644 index 00000000..cf348e62 --- /dev/null +++ b/recipes/wip/demos/bones/recipe.toml @@ -0,0 +1,8 @@ +#TODO iroh-quinn-udp crate error +[source] +git = "https://github.com/fishfolk/bones" +[build] +template = "custom" +script = """ +cookbook_cargo_packages demo_hello_world +""" diff --git a/recipes/wip/demos/colored/recipe.toml b/recipes/wip/demos/colored/recipe.toml new file mode 100644 index 00000000..73cc848f --- /dev/null +++ b/recipes/wip/demos/colored/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/colored-rs/colored" +[build] +template = "custom" +script = """ +cookbook_cargo_examples control custom_colors dynamic_colors most_simple nested_colors +""" diff --git a/recipes/wip/demos/comfy/recipe.toml b/recipes/wip/demos/comfy/recipe.toml new file mode 100644 index 00000000..23b16557 --- /dev/null +++ b/recipes/wip/demos/comfy/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/darthdeus/comfy" +[build] +template = "custom" +script = """ +cookbook_cargo_examples animated_shapes animated_sprites animated_text bloom circle colors egui fragment-shader lighting music shapes single_particle sprite text +""" diff --git a/recipes/wip/demos/console-rs/recipe.toml b/recipes/wip/demos/console-rs/recipe.toml new file mode 100644 index 00000000..87425992 --- /dev/null +++ b/recipes/wip/demos/console-rs/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/console-rs/console" +[build] +template = "custom" +script = """ +cookbook_cargo_examples colors colors256 cursor_at keyboard term +""" diff --git a/recipes/wip/demos/contrast-renderer/recipe.toml b/recipes/wip/demos/contrast-renderer/recipe.toml new file mode 100644 index 00000000..a2b8426e --- /dev/null +++ b/recipes/wip/demos/contrast-renderer/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/Lichtso/contrast_renderer" +[build] +template = "custom" +script = """ +cookbook_cargo_examples showcase +""" diff --git a/recipes/wip/demos/cubecl/recipe.toml b/recipes/wip/demos/cubecl/recipe.toml new file mode 100644 index 00000000..94699865 --- /dev/null +++ b/recipes/wip/demos/cubecl/recipe.toml @@ -0,0 +1,18 @@ +#TODO cubecl-macros crate error +[source] +git = "https://github.com/tracel-ai/cubecl" +[build] +template = "custom" +script = """ +package=gelu +"${COOKBOOK_CARGO}" build \ + --manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \ + --package "${package}" \ + --release + --no-default-features + --wgpu + mkdir -pv "${COOKBOOK_STAGE}/usr/bin" + cp -v \ + "target/${TARGET}/release/${package}" \ + "${COOKBOOK_STAGE}/usr/bin/${package}" +""" diff --git a/recipes/wip/demos/dioxus-examples/recipe.toml b/recipes/wip/demos/dioxus-examples/recipe.toml new file mode 100644 index 00000000..ec46366b --- /dev/null +++ b/recipes/wip/demos/dioxus-examples/recipe.toml @@ -0,0 +1,10 @@ +#TODO wry crate error +[source] +git = "https://github.com/DioxusLabs/dioxus" +[build] +template = "custom" +script = """ +cookbook_cargo_examples calculator clock counters \ +file_explorer hello_world multiwindow popup window_event \ +window_zoom +""" diff --git a/recipes/wip/demos/doomfire/recipe.toml b/recipes/wip/demos/doomfire/recipe.toml new file mode 100644 index 00000000..ab79f6a3 --- /dev/null +++ b/recipes/wip/demos/doomfire/recipe.toml @@ -0,0 +1,8 @@ +#TODO discover how to build the "doomfire-minifb" example +[source] +git = "https://github.com/r-marques/doomfire" +[build] +template = "custom" +script = """ +cookbook_cargo_examples doomfire-minifb +""" diff --git a/recipes/wip/demos/egui/recipe.toml b/recipes/wip/demos/egui/recipe.toml new file mode 100644 index 00000000..d4a6089b --- /dev/null +++ b/recipes/wip/demos/egui/recipe.toml @@ -0,0 +1,8 @@ +#TODO glutin crate error +[source] +git = "https://github.com/emilk/egui" +[build] +template = "custom" +script = """ +cookbook_cargo_packages hello_world +""" diff --git a/recipes/wip/demos/euc/recipe.toml b/recipes/wip/demos/euc/recipe.toml new file mode 100644 index 00000000..da60f8a5 --- /dev/null +++ b/recipes/wip/demos/euc/recipe.toml @@ -0,0 +1,8 @@ +#TODO minifb crate error +[source] +git = "https://github.com/zesterer/euc" +[build] +template = "custom" +script = """ +cookbook_cargo_examples spinning_cube teapot texture_mapping triangle wireframes +""" diff --git a/recipes/wip/demos/feoxdb/recipe.toml b/recipes/wip/demos/feoxdb/recipe.toml new file mode 100644 index 00000000..84b8e46c --- /dev/null +++ b/recipes/wip/demos/feoxdb/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/mehrantsi/FeOxDB" +[build] +template = "custom" +script = """ +cookbook_cargo_examples basic_usage deterministic_test +""" diff --git a/recipes/wip/demos/ferris-says/recipe.toml b/recipes/wip/demos/ferris-says/recipe.toml new file mode 100644 index 00000000..4bf90364 --- /dev/null +++ b/recipes/wip/demos/ferris-says/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/rust-lang/ferris-says" +[build] +template = "custom" +script = """ +cookbook_cargo_packages fsays +""" diff --git a/recipes/wip/demos/firewheel/recipe.toml b/recipes/wip/demos/firewheel/recipe.toml new file mode 100644 index 00000000..e79a248a --- /dev/null +++ b/recipes/wip/demos/firewheel/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/BillyDM/firewheel" +[build] +template = "custom" +script = """ +cookbook_cargo_examples beep_test play_sample +""" diff --git a/recipes/wip/demos/firework-rs/recipe.toml b/recipes/wip/demos/firework-rs/recipe.toml new file mode 100644 index 00000000..f1bd17a6 --- /dev/null +++ b/recipes/wip/demos/firework-rs/recipe.toml @@ -0,0 +1,17 @@ +#TODO fix the script +[source] +git = "https://github.com/Wayoung7/firework-rs" +[build] +template = "custom" +script = """ +package=firework-rs +"${COOKBOOK_CARGO}" build \ + --manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \ + --package "${package}" \ + --release + mkdir -pv "${COOKBOOK_STAGE}/usr/bin" + cp -v \ + "target/${TARGET}/release/${package}" \ + "${COOKBOOK_STAGE}/usr/bin/${package}" +cookbook_cargo_examples fountain heart vortex +""" diff --git a/recipes/wip/demos/fonterator/recipe.toml b/recipes/wip/demos/fonterator/recipe.toml new file mode 100644 index 00000000..ae463a62 --- /dev/null +++ b/recipes/wip/demos/fonterator/recipe.toml @@ -0,0 +1,21 @@ +#TODO write a script that can use multiple examples and the "monospace-font" flag +[source] +git = "https://github.com/ardaku/fonterator" +[build] +template = "custom" +script = """ +recipe="$(basename "${COOKBOOK_RECIPE}")" +examples="main directions image raster" +for example in "${examples}" + do + "${COOKBOOK_CARGO}" build \ + --manifest-path "${COOKBOOK_SOURCE}/${PACKAGE_PATH}/Cargo.toml" \ + --example "${example}" \ + --release \ + --features "monospace-font" + mkdir -pv "${COOKBOOK_STAGE}/usr/bin" + cp -v \ + "target/${TARGET}/${build_type}/examples/${example}" \ + "${COOKBOOK_STAGE}/usr/bin/${recipe}_${example}" + done +""" diff --git a/recipes/wip/demos/fractal-rs/recipe.toml b/recipes/wip/demos/fractal-rs/recipe.toml new file mode 100644 index 00000000..f31f377d --- /dev/null +++ b/recipes/wip/demos/fractal-rs/recipe.toml @@ -0,0 +1,8 @@ +#TODO glutin crate error +[source] +git = "https://github.com/aetherknight/fractal-rs" +[build] +template = "custom" +script = """ +cookbook_cargo_packages fractal-piston +""" diff --git a/recipes/wip/demos/freya/recipe.toml b/recipes/wip/demos/freya/recipe.toml new file mode 100644 index 00000000..b6dbaf88 --- /dev/null +++ b/recipes/wip/demos/freya/recipe.toml @@ -0,0 +1,18 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/marc2332/freya" +[build] +template = "custom" +dependencies = [ + "openssl1", + "gtk3", +] +script = """ +cookbook_cargo_examples animated_position animated_tabs animation \ +button camera checkbox clock counter drag drag_drop dynamic_theme \ +file_explorer frameless_window gradient graph highlight image image_viewer \ +images_slideshow infinite_list input keyboard_navigation menu mouse_trace \ +opacity pointer popup position progress_bar radio render_canvas rotate scroll \ +selectable_text sequential_animation shader shader_editor shadow simple_editor \ +speedometer svg tab table text text_editors tic_tac_toe touch ui website window_size +""" diff --git a/recipes/wip/demos/fundsp/recipe.toml b/recipes/wip/demos/fundsp/recipe.toml new file mode 100644 index 00000000..3ddd0d97 --- /dev/null +++ b/recipes/wip/demos/fundsp/recipe.toml @@ -0,0 +1,11 @@ +#TODO can't find the fontconfig files +[source] +git = "https://github.com/SamiPerttu/fundsp" +[build] +template = "custom" +dependencies = [ + "fontconfig", +] +script = """ +cookbook_cargo_examples beep file grain grain2 keys network optimize peek plot sequence type +""" diff --git a/recipes/wip/demos/funutd/recipe.toml b/recipes/wip/demos/funutd/recipe.toml new file mode 100644 index 00000000..cafac254 --- /dev/null +++ b/recipes/wip/demos/funutd/recipe.toml @@ -0,0 +1,8 @@ +#TODO rfd crate error +[source] +git = "https://github.com/SamiPerttu/funutd" +[build] +template = "custom" +script = """ +cookbook_cargo_examples editor +""" diff --git a/recipes/wip/demos/fyrox/recipe.toml b/recipes/wip/demos/fyrox/recipe.toml new file mode 100644 index 00000000..ba3c1057 --- /dev/null +++ b/recipes/wip/demos/fyrox/recipe.toml @@ -0,0 +1,9 @@ +#TODO glutin crate error +[source] +git = "https://github.com/FyroxEngine/Fyrox-demo-projects" +[build] +template = "custom" +script = """ +COOKBOOK_SOURCE="${COOKBOOK_SOURCE}/ui" +cookbook_cargo_packages executor +""" diff --git a/recipes/wip/demos/genpdf-rs/recipe.toml b/recipes/wip/demos/genpdf-rs/recipe.toml new file mode 100644 index 00000000..20fc1c82 --- /dev/null +++ b/recipes/wip/demos/genpdf-rs/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://git.sr.ht/~ireas/genpdf-rs" +[build] +template = "custom" +script = """ +cookbook_cargo_examples demo +""" diff --git a/recipes/wip/demos/gfx-shader-watch/recipe.toml b/recipes/wip/demos/gfx-shader-watch/recipe.toml new file mode 100644 index 00000000..22564a19 --- /dev/null +++ b/recipes/wip/demos/gfx-shader-watch/recipe.toml @@ -0,0 +1,8 @@ +#TODO glutin crate error +[source] +git = "https://github.com/alexheretic/gfx-shader-watch" +[build] +template = "custom" +script = """ +cookbook_cargo_examples watch-shaders +""" diff --git a/recipes/wip/demos/ggez/recipe.toml b/recipes/wip/demos/ggez/recipe.toml new file mode 100644 index 00000000..542ad8e5 --- /dev/null +++ b/recipes/wip/demos/ggez/recipe.toml @@ -0,0 +1,8 @@ +#TODO require rustc 1.81 +[source] +git = "https://github.com/ggez/ggez" +[build] +template = "custom" +script = """ +cookbook_cargo_examples 02_hello_world 04_snake cube hello_canvas input_test shader shadows sounds text vertex_shader +""" diff --git a/recipes/wip/demos/globe-rs/recipe.toml b/recipes/wip/demos/globe-rs/recipe.toml new file mode 100644 index 00000000..624312f7 --- /dev/null +++ b/recipes/wip/demos/globe-rs/recipe.toml @@ -0,0 +1,9 @@ +#TODO update the mio crate version (after cargo update) +[source] +git = "https://github.com/adamsky/globe" +[build] +template = "custom" +script = """ +cookbook_cargo_packages globe-cli +mv "${COOKBOOK_STAGE}/usr/bin/globe" "${COOKBOOK_STAGE}/usr/bin/globe-rs" +""" diff --git a/recipes/wip/demos/hotline/recipe.toml b/recipes/wip/demos/hotline/recipe.toml new file mode 100644 index 00000000..d6cae287 --- /dev/null +++ b/recipes/wip/demos/hotline/recipe.toml @@ -0,0 +1,8 @@ +#TODO hot-lib-reloader crate error +[source] +git = "https://github.com/polymonster/hotline" +[build] +template = "custom" +script = """ +cookbook_cargo_examples triangle +""" diff --git a/recipes/wip/demos/iced-7guis/recipe.toml b/recipes/wip/demos/iced-7guis/recipe.toml new file mode 100644 index 00000000..655cea56 --- /dev/null +++ b/recipes/wip/demos/iced-7guis/recipe.toml @@ -0,0 +1,5 @@ +#TODO require rustc 1.80.1 +[source] +git = "https://github.com/dcampbell24/iced_7guis" +[build] +template = "cargo" diff --git a/recipes/wip/demos/if-watch/recipe.toml b/recipes/wip/demos/if-watch/recipe.toml new file mode 100644 index 00000000..be84f4aa --- /dev/null +++ b/recipes/wip/demos/if-watch/recipe.toml @@ -0,0 +1,8 @@ +#TODO require the "smol" feature flag +[source] +git = "https://github.com/mxinden/if-watch" +[build] +template = "custom" +script = """ +cookbook_cargo_examples if_watch +""" diff --git a/recipes/wip/demos/imgui-examples/recipe.toml b/recipes/wip/demos/imgui-examples/recipe.toml new file mode 100644 index 00000000..560d8ce6 --- /dev/null +++ b/recipes/wip/demos/imgui-examples/recipe.toml @@ -0,0 +1,6 @@ +#TODO build sdl2 opengl examples, see: https://github.com/ocornut/imgui/pull/3027 +[source] +git = "https://github.com/Qix-/imgui" +branch = "cmake" +[build] +template = "cmake" diff --git a/recipes/wip/demos/iocraft/recipe.toml b/recipes/wip/demos/iocraft/recipe.toml new file mode 100644 index 00000000..18ad8f48 --- /dev/null +++ b/recipes/wip/demos/iocraft/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/ccbrown/iocraft" +[build] +template = "custom" +script = """ +cookbook_cargo_examples borders calculator counter \ +fullscreen hello_world overlap progress_bar scrolling \ +table use_input use_output weather +""" diff --git a/recipes/wip/demos/kira/recipe.toml b/recipes/wip/demos/kira/recipe.toml new file mode 100644 index 00000000..0d5a8bc9 --- /dev/null +++ b/recipes/wip/demos/kira/recipe.toml @@ -0,0 +1,8 @@ +#TODO ahash crate error +[source] +git = "https://github.com/tesselode/kira-examples" +[build] +template = "custom" +script = """ +cookbook_cargo_packages dynamic-music ghost-noise metronome score-counter spatial-audio simple-sound-playback +""" diff --git a/recipes/wip/demos/kiss3d/recipe.toml b/recipes/wip/demos/kiss3d/recipe.toml new file mode 100644 index 00000000..8d957859 --- /dev/null +++ b/recipes/wip/demos/kiss3d/recipe.toml @@ -0,0 +1,8 @@ +#TODO winit crate error (even after cargo update) +[source] +git = "https://github.com/sebcrozet/kiss3d" +[build] +template = "custom" +script = """ +cookbook_cargo_examples camera cube lines multi_windows planar_lines points post_processing primitives primitives2d procedural rectangle screenshot stereo text texturing ui window +""" diff --git a/recipes/wip/demos/lenia/recipe.toml b/recipes/wip/demos/lenia/recipe.toml new file mode 100644 index 00000000..fa5768ac --- /dev/null +++ b/recipes/wip/demos/lenia/recipe.toml @@ -0,0 +1,5 @@ +#TODO winit crate error (after cargo update) +[source] +git = "https://github.com/BirdbrainEngineer/lenia" +[build] +template = "cargo" diff --git a/recipes/wip/demos/lyon/recipe.toml b/recipes/wip/demos/lyon/recipe.toml new file mode 100644 index 00000000..78479f9e --- /dev/null +++ b/recipes/wip/demos/lyon/recipe.toml @@ -0,0 +1,10 @@ +#TODO compiled but not tested +#TODO fix the packaging +#TODO move to the "graphics" category +[source] +git = "https://github.com/nical/lyon" +[build] +template = "custom" +script = """ +cookbook_cargo_packages lyon_cli wgpu-example svg-rendering-example +""" diff --git a/recipes/wip/demos/macroquad/recipe.toml b/recipes/wip/demos/macroquad/recipe.toml new file mode 100644 index 00000000..d7d56592 --- /dev/null +++ b/recipes/wip/demos/macroquad/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/not-fl3/macroquad" +[build] +template = "custom" +script = """ +cookbook_cargo_examples 3d basic_shapes camera first_person particles_example platformer shadertoy snake text ui +""" diff --git a/recipes/wip/demos/mage/recipe.toml b/recipes/wip/demos/mage/recipe.toml new file mode 100644 index 00000000..9a14f3e9 --- /dev/null +++ b/recipes/wip/demos/mage/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/baad-c0de/mage-core" +[build] +template = "custom" +script = """ +cookbook_cargo_examples basic hello +""" diff --git a/recipes/wip/demos/mesa-demos/recipe.toml b/recipes/wip/demos/mesa-demos/recipe.toml new file mode 100644 index 00000000..f5577ef3 --- /dev/null +++ b/recipes/wip/demos/mesa-demos/recipe.toml @@ -0,0 +1,9 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.freedesktop.org/mesa/demos/-/blob/main/README.rst?ref_type=heads +[source] +tar = "https://archive.mesa3d.org/demos/mesa-demos-9.0.0.tar.xz" +[build] +template = "meson" +dependencies = [ + "freeglut", +] diff --git a/recipes/wip/demos/mousefood/recipe.toml b/recipes/wip/demos/mousefood/recipe.toml new file mode 100644 index 00000000..b2214ef9 --- /dev/null +++ b/recipes/wip/demos/mousefood/recipe.toml @@ -0,0 +1,24 @@ +#TODO not compiled or tested +#TODO maybe need a patch to use the sdl2 dependency from redox +[source] +git = "https://github.com/j-g00da/mousefood" +[build] +template = "custom" +dependencies = [ + "sdl2", +] +script = """ +recipe="$(basename "${COOKBOOK_RECIPE}")" + for example in simulator + do + "${COOKBOOK_CARGO}" build \ + --manifest-path "${COOKBOOK_SOURCE}/${PACKAGE_PATH}/Cargo.toml" \ + --example "${example}" \ + --release \ + --features=simulator + mkdir -pv "${COOKBOOK_STAGE}/usr/bin" + cp -v \ + "target/${TARGET}/${build_type}/examples/${example}" \ + "${COOKBOOK_STAGE}/usr/bin/${recipe}_${example}" + done +""" diff --git a/recipes/wip/demos/notan/recipe.toml b/recipes/wip/demos/notan/recipe.toml new file mode 100644 index 00000000..6a73d375 --- /dev/null +++ b/recipes/wip/demos/notan/recipe.toml @@ -0,0 +1,9 @@ +#TODO environment leak on CMake +[source] +git = "https://github.com/Nazariglez/notan" +[build] +template = "custom" +script = """ +cookbook_cargo_examples renderer_cube draw_path_flower \ +game_pong game_of_life +""" diff --git a/recipes/wip/demos/pingora/recipe.toml b/recipes/wip/demos/pingora/recipe.toml new file mode 100644 index 00000000..27ff7561 --- /dev/null +++ b/recipes/wip/demos/pingora/recipe.toml @@ -0,0 +1,8 @@ +#TODO jemalloc-sys crate error +[source] +git = "https://github.com/cloudflare/pingora" +[build] +template = "custom" +script = """ +cookbook_cargo_examples server client +""" diff --git a/recipes/wip/demos/pipes-rs/recipe.toml b/recipes/wip/demos/pipes-rs/recipe.toml new file mode 100644 index 00000000..9759825e --- /dev/null +++ b/recipes/wip/demos/pipes-rs/recipe.toml @@ -0,0 +1,8 @@ +#TODO libmalloc-sys crate error +[source] +git = "https://github.com/lhvy/pipes-rs" +[build] +template = "custom" +script = """ +cookbook_cargo_packages pipes-rs +""" diff --git a/recipes/wip/demos/piston/recipe.toml b/recipes/wip/demos/piston/recipe.toml new file mode 100644 index 00000000..d8816796 --- /dev/null +++ b/recipes/wip/demos/piston/recipe.toml @@ -0,0 +1,8 @@ +#TODO glutin crate error +[source] +git = "https://github.com/pistondevelopers/piston-examples" +[build] +template = "custom" +script = """ +cookbook_cargo_examples cube hello_world image multi_window shapes snake sprite +""" diff --git a/recipes/wip/demos/pix-engine/recipe.toml b/recipes/wip/demos/pix-engine/recipe.toml new file mode 100644 index 00000000..48111894 --- /dev/null +++ b/recipes/wip/demos/pix-engine/recipe.toml @@ -0,0 +1,15 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/lukexor/pix-engine" +[build] +template = "custom" +dependencies = [ + "sdl2", + "sdl2-image", + "sdl2-mixer", + "sdl2-ttf", + "sdl-gfx", +] +script = """ +cookbook_cargo_examples maze 2d_raycasting 3d_raycasting asteroids colors fluid_simulation gui hello_world image light matrix shapes textures tree windows +""" diff --git a/recipes/wip/demos/pixels/recipe.toml b/recipes/wip/demos/pixels/recipe.toml new file mode 100644 index 00000000..c6ca5a0d --- /dev/null +++ b/recipes/wip/demos/pixels/recipe.toml @@ -0,0 +1,8 @@ +#TODO webbrowser crate error +[source] +git = "https://github.com/parasyte/pixels" +[build] +template = "custom" +script = """ +cookbook_cargo_packages conway invaders minimal-egui minimal-winit tiny-skia-winit +""" diff --git a/recipes/wip/demos/rain/recipe.toml b/recipes/wip/demos/rain/recipe.toml new file mode 100644 index 00000000..f9b7e0be --- /dev/null +++ b/recipes/wip/demos/rain/recipe.toml @@ -0,0 +1,8 @@ +#TODO compilation error +[source] +git = "https://github.com/saschagrunert/rain" +[build] +template = "custom" +script = """ +cookbook_cargo_examples demo +""" diff --git a/recipes/wip/demos/rapier/recipe.toml b/recipes/wip/demos/rapier/recipe.toml new file mode 100644 index 00000000..6dbe1077 --- /dev/null +++ b/recipes/wip/demos/rapier/recipe.toml @@ -0,0 +1,9 @@ +#TODO x11rb, rustix and webbrowser crates error +[source] +git = "https://github.com/dimforge/rapier" +[build] +template = "custom" +script = """ +cookbook_cargo_packages rapier-examples-2d rapier-examples-3d \ +rapier-examples-3d-f64 +""" diff --git a/recipes/wip/demos/ratzilla/recipe.toml b/recipes/wip/demos/ratzilla/recipe.toml new file mode 100644 index 00000000..80dd86b1 --- /dev/null +++ b/recipes/wip/demos/ratzilla/recipe.toml @@ -0,0 +1,31 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/orhun/ratzilla" +[build] +template = "custom" +script = """ +recipe="$(basename "${COOKBOOK_RECIPE}")" +function build_from_dir { + prog_name=$1 + dir_name=$2 + "${COOKBOOK_CARGO}" build \ + --manifest-path "${COOKBOOK_SOURCE}/examples/${dir_name}/Cargo.toml" \ + ${build_flags} + mkdir -pv "${COOKBOOK_STAGE}/usr/bin" + cp -v \ + "target/${TARGET}/${build_type}/${prog_name}" \ + "${COOKBOOK_STAGE}/usr/bin/${recipe}_${prog_name}" +} +build_from_dir animations animations +build_from_dir canvas-stress-test canvas_stress_test +build_from_dir canvas-waves canvas_waves +build_from_dir color-rgb colors_rgb +build_from_dir demo demo +build_from_dir demo2 demo2 +build_from_dir minimal minimal +build_from_dir pong pong +build_from_dir text_area text_area +build_from_dir user-input user_input +build_from_dir website website +build_from_dir world-map world_map +""" diff --git a/recipes/wip/demos/rend3/recipe.toml b/recipes/wip/demos/rend3/recipe.toml new file mode 100644 index 00000000..87b59d63 --- /dev/null +++ b/recipes/wip/demos/rend3/recipe.toml @@ -0,0 +1,8 @@ +#TODO webbrowser crate error +[source] +git = "https://github.com/BVE-Reborn/rend3" +[build] +template = "custom" +script = """ +cookbook_cargo_packages rend3-examples-package +""" diff --git a/recipes/wip/demos/renderling/recipe.toml b/recipes/wip/demos/renderling/recipe.toml new file mode 100644 index 00000000..d8c9aeea --- /dev/null +++ b/recipes/wip/demos/renderling/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/schell/renderling" +[build] +template = "custom" +script = """ +cookbook_cargo_packages example +""" diff --git a/recipes/wip/demos/reticulum-rs/recipe.toml b/recipes/wip/demos/reticulum-rs/recipe.toml new file mode 100644 index 00000000..f4064148 --- /dev/null +++ b/recipes/wip/demos/reticulum-rs/recipe.toml @@ -0,0 +1,9 @@ +#TODO not compiled or tested +# the protobuf compiler needs to be installed +[source] +git = "https://github.com/BeechatNetworkSystemsLtd/Reticulum-rs" +[build] +template = "custom" +script = """ +cookbook_cargo_examples tcp_client kaonic_client +""" diff --git a/recipes/wip/demos/rootvg/recipe.toml b/recipes/wip/demos/rootvg/recipe.toml new file mode 100644 index 00000000..611dcd55 --- /dev/null +++ b/recipes/wip/demos/rootvg/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/MeadowlarkDAW/rootvg" +[build] +template = "custom" +script = """ +cookbook_cargo_examples demo +""" diff --git a/recipes/wip/demos/rpt/recipe.toml b/recipes/wip/demos/rpt/recipe.toml new file mode 100644 index 00000000..91658f4a --- /dev/null +++ b/recipes/wip/demos/rpt/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/ekzhang/rpt" +[build] +template = "custom" +script = """ +cookbook_cargo_examples basic cylinder fractal_spheres fractal_teapots glass marbles metal rustacean sphere spheres teapot +""" diff --git a/recipes/wip/demos/rsille/recipe.toml b/recipes/wip/demos/rsille/recipe.toml new file mode 100644 index 00000000..f2cd28e8 --- /dev/null +++ b/recipes/wip/demos/rsille/recipe.toml @@ -0,0 +1,21 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/nidhoggfgg/rsille" +[build] +template = "custom" +script = """ +cookbook_cargo_examples anime-mix obj-mix cube cube-colorful +recipe="$(basename "${COOKBOOK_RECIPE}")" + for example in imgille + do + "${COOKBOOK_CARGO}" build \ + --manifest-path "${COOKBOOK_SOURCE}/${PACKAGE_PATH}/Cargo.toml" \ + --example "${example}" \ + --release \ + --features=img + mkdir -pv "${COOKBOOK_STAGE}/usr/bin" + cp -v \ + "target/${TARGET}/${build_type}/examples/${example}" \ + "${COOKBOOK_STAGE}/usr/bin/${recipe}_${example}" + done +""" diff --git a/recipes/wip/demos/rui/recipe.toml b/recipes/wip/demos/rui/recipe.toml new file mode 100644 index 00000000..00c861da --- /dev/null +++ b/recipes/wip/demos/rui/recipe.toml @@ -0,0 +1,9 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/audulus/rui" +[build] +template = "custom" +script = """ +cookbook_cargo_packages calculator synth +cookbook_cargo_examples action background basic canvas counter counter2 font_size gallery list menu shapes slider text_editor toggle +""" diff --git a/recipes/wip/demos/ruscii/recipe.toml b/recipes/wip/demos/ruscii/recipe.toml new file mode 100644 index 00000000..e47657ca --- /dev/null +++ b/recipes/wip/demos/ruscii/recipe.toml @@ -0,0 +1,8 @@ +#TODO device_query crate error +[source] +git = "https://github.com/lemunozm/ruscii" +[build] +template = "custom" +script = """ +cookbook_cargo_examples pong space_invaders +""" diff --git a/recipes/wip/demos/rust-cairo-demo/recipe.sh b/recipes/wip/demos/rust-cairo-demo/recipe.sh new file mode 100644 index 00000000..7c1c4c28 --- /dev/null +++ b/recipes/wip/demos/rust-cairo-demo/recipe.sh @@ -0,0 +1,18 @@ +GIT=https://gitlab.redox-os.org/redox-os/rust-cairo-demo.git +BUILD_DEPENDS=(cairo expat fontconfig freetype2 libpng pixman zlib) + +function recipe_build { + sysroot="$(realpath ../sysroot)" + cargo rustc --target "$TARGET" --release ${CARGOFLAGS} \ + -- \ + -L "${sysroot}/lib" \ + -l cairo \ + -l fontconfig \ + -l expat \ + -l pixman-1 \ + -l freetype \ + -l png \ + -l z + skip=1 +} + diff --git a/recipes/wip/demos/rust-cairo/recipe.sh b/recipes/wip/demos/rust-cairo/recipe.sh new file mode 100644 index 00000000..033b28df --- /dev/null +++ b/recipes/wip/demos/rust-cairo/recipe.sh @@ -0,0 +1,25 @@ +GIT=https://gitlab.redox-os.org/redox-os/rust-cairo.git +BUILD_DEPENDS=(cairo expat fontconfig freetype2 libpng pixman zlib) +CARGOFLAGS="--example gui" + +function recipe_build { + sysroot="$(realpath ../sysroot)" + cargo rustc --target "$TARGET" --release ${CARGOFLAGS} \ + -- \ + -L "${sysroot}/lib" \ + -l cairo \ + -l fontconfig \ + -l expat \ + -l pixman-1 \ + -l freetype \ + -l png \ + -l z + skip=1 +} + +function recipe_stage { + dest="$(realpath $1)" + mkdir -pv "$dest/bin" + cp -v "target/${TARGET}/release/examples/gui" "$dest/bin/rust-cairo" + skip=1 +} diff --git a/recipes/wip/demos/rustubble/recipe.toml b/recipes/wip/demos/rustubble/recipe.toml new file mode 100644 index 00000000..022603b1 --- /dev/null +++ b/recipes/wip/demos/rustubble/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/warpy-ai/rustubble" +[build] +template = "custom" +script = """ +cookbook_cargo_examples list_example menu_list_example progress_bar_example spinner_example stopwatch_example table_example text_area_example text_input_example timer_example viewport_example +""" diff --git a/recipes/wip/demos/rustui/recipe.toml b/recipes/wip/demos/rustui/recipe.toml new file mode 100644 index 00000000..cda858c7 --- /dev/null +++ b/recipes/wip/demos/rustui/recipe.toml @@ -0,0 +1,9 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/broccolingual/rustui" +[build] +template = "custom" +script = """ +cookbook_cargo_examples hello_world colors inputs file_reader +cookbook_cargo_packages tetris +""" diff --git a/recipes/wip/demos/rusty-rain/recipe.toml b/recipes/wip/demos/rusty-rain/recipe.toml new file mode 100644 index 00000000..e1e799b2 --- /dev/null +++ b/recipes/wip/demos/rusty-rain/recipe.toml @@ -0,0 +1,5 @@ +#TODO working but don't exit and hang the orbterm window +[source] +git = "https://github.com/cowboy8625/rusty-rain" +[build] +template = "cargo" diff --git a/recipes/wip/demos/servo-gtk/recipe.toml b/recipes/wip/demos/servo-gtk/recipe.toml new file mode 100644 index 00000000..c512b546 --- /dev/null +++ b/recipes/wip/demos/servo-gtk/recipe.toml @@ -0,0 +1,11 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/nacho/servo-gtk" +[build] +template = "custom" +dependencies = [ + "gtk4" +] +script = """ +cookbook_cargo_examples browser +""" diff --git a/recipes/wip/demos/simdjson-rs/recipe.toml b/recipes/wip/demos/simdjson-rs/recipe.toml new file mode 100644 index 00000000..464baef0 --- /dev/null +++ b/recipes/wip/demos/simdjson-rs/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/simd-lite/simd-json" +[build] +template = "custom" +script = """ +cookbook_cargo_examples perf +""" diff --git a/recipes/wip/demos/slint/recipe.toml b/recipes/wip/demos/slint/recipe.toml new file mode 100644 index 00000000..ccdff83c --- /dev/null +++ b/recipes/wip/demos/slint/recipe.toml @@ -0,0 +1,13 @@ +#TODO make libwayland work +[source] +git = "https://github.com/slint-ui/slint" +[build] +template = "custom" +dependencies = [ + "libwayland", +] +script = """ +cookbook_cargo_packages gallery energy-monitor carousel \ +memory imagefilter plotter opengl_underlay opengl_texture \ +maps virtual_keyboard 7guis +""" diff --git a/recipes/wip/demos/soft-ratatui/recipe.toml b/recipes/wip/demos/soft-ratatui/recipe.toml new file mode 100644 index 00000000..581486de --- /dev/null +++ b/recipes/wip/demos/soft-ratatui/recipe.toml @@ -0,0 +1,6 @@ +#TODO glutin crate error +[source] +git = "https://github.com/gold-silver-copper/soft_ratatui" +[build] +template = "cargo" +package_path = "egui_colors_example" diff --git a/recipes/wip/demos/speedy2d/recipe.toml b/recipes/wip/demos/speedy2d/recipe.toml new file mode 100644 index 00000000..5a84ea16 --- /dev/null +++ b/recipes/wip/demos/speedy2d/recipe.toml @@ -0,0 +1,8 @@ +#TODO glutin crate error +[source] +git = "https://github.com/QuantumBadger/Speedy2D" +[build] +template = "custom" +script = """ +cookbook_cargo_examples animation hello_world moving_text +""" diff --git a/recipes/wip/demos/spinners/recipe.toml b/recipes/wip/demos/spinners/recipe.toml new file mode 100644 index 00000000..42bd81e8 --- /dev/null +++ b/recipes/wip/demos/spinners/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/FGRibreau/spinners" +[build] +template = "custom" +script = """ +cookbook_cargo_examples cycle simple stop_persist stop_symbol timer +""" diff --git a/recipes/wip/demos/spinoff/recipe.toml b/recipes/wip/demos/spinoff/recipe.toml new file mode 100644 index 00000000..c531d028 --- /dev/null +++ b/recipes/wip/demos/spinoff/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/ad4mx/spinoff" +[build] +template = "custom" +script = """ +cookbook_cargo_examples simple stop_and_persist stream +""" diff --git a/recipes/wip/demos/tachyonfx/recipe.toml b/recipes/wip/demos/tachyonfx/recipe.toml new file mode 100644 index 00000000..840d1d58 --- /dev/null +++ b/recipes/wip/demos/tachyonfx/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/junkdog/tachyonfx" +[build] +template = "custom" +script = """ +cookbook_cargo_examples basic-effects open-window tweens +""" diff --git a/recipes/wip/demos/taffy/recipe.toml b/recipes/wip/demos/taffy/recipe.toml new file mode 100644 index 00000000..0be37822 --- /dev/null +++ b/recipes/wip/demos/taffy/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/DioxusLabs/taffy" +[build] +template = "custom" +script = """ +cookbook_cargo_examples basic +""" diff --git a/recipes/wip/demos/tenki/recipe.toml b/recipes/wip/demos/tenki/recipe.toml new file mode 100644 index 00000000..cd4343c8 --- /dev/null +++ b/recipes/wip/demos/tenki/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/ckaznable/tenki" +[build] +template = "cargo" diff --git a/recipes/wip/demos/termtree/recipe.toml b/recipes/wip/demos/termtree/recipe.toml new file mode 100644 index 00000000..d23b074f --- /dev/null +++ b/recipes/wip/demos/termtree/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/rust-cli/termtree" +[build] +template = "custom" +script = """ +cookbook_cargo_examples tree +""" diff --git a/recipes/wip/demos/ternimal/recipe.toml b/recipes/wip/demos/ternimal/recipe.toml new file mode 100644 index 00000000..9132d89f --- /dev/null +++ b/recipes/wip/demos/ternimal/recipe.toml @@ -0,0 +1,8 @@ +#TODO probably wrong script, see https://github.com/p-e-w/ternimal#building +[source] +git = "https://github.com/p-e-w/ternimal" +[build] +template = "custom" +script = """ +rustc -O "${COOKBOOK_SOURCE}"/ternimal.rs +""" diff --git a/recipes/wip/demos/terra/recipe.toml b/recipes/wip/demos/terra/recipe.toml new file mode 100644 index 00000000..098123fe --- /dev/null +++ b/recipes/wip/demos/terra/recipe.toml @@ -0,0 +1,9 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/fintelia/terra" +[build] +template = "cargo" +dependencies = [ + "openssl1", + "mesa", +] diff --git a/recipes/wip/demos/three-d/recipe.toml b/recipes/wip/demos/three-d/recipe.toml new file mode 100644 index 00000000..1bc0882b --- /dev/null +++ b/recipes/wip/demos/three-d/recipe.toml @@ -0,0 +1,11 @@ +#TODO glutin crate error +[source] +git = "https://github.com/asny/three-d" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +cookbook_cargo_examples animation environment fireworks fog forest image instanced_shapes lighting lights logo mandelbrot multiwindow pbr shapes shapes2d sprites statues terrain texture triangle +""" diff --git a/recipes/wip/demos/tquic/recipe.toml b/recipes/wip/demos/tquic/recipe.toml new file mode 100644 index 00000000..18850514 --- /dev/null +++ b/recipes/wip/demos/tquic/recipe.toml @@ -0,0 +1,10 @@ +#TODO tikv-jemalloc-sys crate error +[source] +git = "https://github.com/Tencent/tquic" +[build] +template = "custom" +script = """ +cookbook_cargo_packages tquic_tools +mv "${COOKBOOK_STAGE}/usr/bin/tquic_server" "${COOKBOOK_STAGE}/usr/bin/tquic-server" +mv "${COOKBOOK_STAGE}/usr/bin/tquic_client" "${COOKBOOK_STAGE}/usr/bin/tquic-client" +""" diff --git a/recipes/wip/demos/uniocr/recipe.toml b/recipes/wip/demos/uniocr/recipe.toml new file mode 100644 index 00000000..c46f893f --- /dev/null +++ b/recipes/wip/demos/uniocr/recipe.toml @@ -0,0 +1,11 @@ +#TODO xcap crate error +[source] +git = "https://github.com/mediar-ai/uniOCR" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +cookbook_cargo_examples basic batch_processing +""" diff --git a/recipes/wip/demos/usfx/recipe.toml b/recipes/wip/demos/usfx/recipe.toml new file mode 100644 index 00000000..4d7eca8d --- /dev/null +++ b/recipes/wip/demos/usfx/recipe.toml @@ -0,0 +1,12 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/tversteeg/usfx" +[build] +template = "custom" +dependencies = [ + "libalsa", + "sdl2", +] +script = """ +cookbook_cargo_examples cpal music sdl2 +""" diff --git a/recipes/wip/demos/vizia/recipe.toml b/recipes/wip/demos/vizia/recipe.toml new file mode 100644 index 00000000..661efd38 --- /dev/null +++ b/recipes/wip/demos/vizia/recipe.toml @@ -0,0 +1,11 @@ +#TODO make libwayland work +[source] +git = "https://github.com/vizia/vizia" +[build] +template = "custom" +dependencies = [ + "libwayland", +] +script = """ +cookbook_cargo_examples animation dragdrop number input timers +""" diff --git a/recipes/wip/demos/wavy/recipe.toml b/recipes/wip/demos/wavy/recipe.toml new file mode 100644 index 00000000..8dc2e261 --- /dev/null +++ b/recipes/wip/demos/wavy/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/ardaku/wavy" +[build] +template = "custom" +script = """ +cookbook_cargo_examples monitor play query record +""" diff --git a/recipes/wip/demos/wgpu-sky-rendering/recipe.toml b/recipes/wip/demos/wgpu-sky-rendering/recipe.toml new file mode 100644 index 00000000..b46016b4 --- /dev/null +++ b/recipes/wip/demos/wgpu-sky-rendering/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/bmatthieu3/wgpu-sky-rendering" +[build] +template = "cargo" diff --git a/recipes/wip/demos/xaos/recipe.toml b/recipes/wip/demos/xaos/recipe.toml new file mode 100644 index 00000000..a13d2112 --- /dev/null +++ b/recipes/wip/demos/xaos/recipe.toml @@ -0,0 +1,10 @@ +#TODO missing script for QMake, see https://github.com/xaos-project/XaoS/wiki/Developer's-Guide#build-instructions-for-version-43 +[source] +git = "https://github.com/xaos-project/XaoS" +rev = "7f36177f32a23eea88911afb90878046912d7e2d" +[build] +template = "custom" +dependencies = [ + "qt6-base", + "mesa", +] diff --git a/recipes/wip/demos/xilem/recipe.toml b/recipes/wip/demos/xilem/recipe.toml new file mode 100644 index 00000000..75f76028 --- /dev/null +++ b/recipes/wip/demos/xilem/recipe.toml @@ -0,0 +1,8 @@ +#TODO xilem_core crate error +[source] +git = "https://github.com/linebender/xilem" +[build] +template = "custom" +script = """ +cookbook_cargo_examples components +""" diff --git a/recipes/wip/dev/analysis/binocle/recipe.toml b/recipes/wip/dev/analysis/binocle/recipe.toml new file mode 100644 index 00000000..3bdd8bae --- /dev/null +++ b/recipes/wip/dev/analysis/binocle/recipe.toml @@ -0,0 +1,5 @@ +#TODO "No suitable wgpu::Adapter found" error on execution +[source] +git = "https://github.com/sharkdp/binocle" +[build] +template = "cargo" diff --git a/recipes/wip/dev/analysis/binwalk/recipe.toml b/recipes/wip/dev/analysis/binwalk/recipe.toml new file mode 100644 index 00000000..8ee40ae9 --- /dev/null +++ b/recipes/wip/dev/analysis/binwalk/recipe.toml @@ -0,0 +1,9 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/ReFirmLabs/binwalk" +[build] +template = "cargo" +dependencies = [ + "fontconfig", + "xz", +] diff --git a/recipes/wip/dev/analysis/code-minimap/recipe.toml b/recipes/wip/dev/analysis/code-minimap/recipe.toml new file mode 100644 index 00000000..c0a18e39 --- /dev/null +++ b/recipes/wip/dev/analysis/code-minimap/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/wfxr/code-minimap" +[build] +template = "cargo" diff --git a/recipes/wip/dev/analysis/codevis/recipe.toml b/recipes/wip/dev/analysis/codevis/recipe.toml new file mode 100644 index 00000000..809a6356 --- /dev/null +++ b/recipes/wip/dev/analysis/codevis/recipe.toml @@ -0,0 +1,5 @@ +#TODO open crate error (after cargo update) +[source] +git = "https://github.com/sloganking/codevis" +[build] +template = "cargo" diff --git a/recipes/wip/dev/analysis/debtmap/recipe.toml b/recipes/wip/dev/analysis/debtmap/recipe.toml new file mode 100644 index 00000000..11a61f1e --- /dev/null +++ b/recipes/wip/dev/analysis/debtmap/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/iepathos/debtmap" +[build] +template = "cargo" diff --git a/recipes/wip/dev/analysis/feluda/recipe.toml b/recipes/wip/dev/analysis/feluda/recipe.toml new file mode 100644 index 00000000..75902a3f --- /dev/null +++ b/recipes/wip/dev/analysis/feluda/recipe.toml @@ -0,0 +1,8 @@ +#TODO camino crate error +[source] +git = "https://github.com/anistark/feluda" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/analysis/hex/recipe.toml b/recipes/wip/dev/analysis/hex/recipe.toml new file mode 100644 index 00000000..1a2f38dc --- /dev/null +++ b/recipes/wip/dev/analysis/hex/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/sitkevij/hex" +[build] +template = "cargo" diff --git a/recipes/wip/dev/analysis/hgrep/recipe.toml b/recipes/wip/dev/analysis/hgrep/recipe.toml new file mode 100644 index 00000000..634ca89f --- /dev/null +++ b/recipes/wip/dev/analysis/hgrep/recipe.toml @@ -0,0 +1,5 @@ +#TODO compilation error, missing mimalloc sys/syscall.h +[source] +git = "https://github.com/rhysd/hgrep" +[build] +template = "cargo" diff --git a/recipes/wip/dev/analysis/hl/recipe.toml b/recipes/wip/dev/analysis/hl/recipe.toml new file mode 100644 index 00000000..b6a227d5 --- /dev/null +++ b/recipes/wip/dev/analysis/hl/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/pamburus/hl" +[build] +template = "cargo" diff --git a/recipes/wip/dev/analysis/honggfuzz-rs/recipe.toml b/recipes/wip/dev/analysis/honggfuzz-rs/recipe.toml new file mode 100644 index 00000000..de6a688d --- /dev/null +++ b/recipes/wip/dev/analysis/honggfuzz-rs/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/rust-fuzz/honggfuzz-rs" +[build] +template = "cargo" +dependencies = [ + "gnu-binutils", + "libunwind", + "xz", +] diff --git a/recipes/wip/dev/analysis/hx/recipe.toml b/recipes/wip/dev/analysis/hx/recipe.toml new file mode 100644 index 00000000..46f32c47 --- /dev/null +++ b/recipes/wip/dev/analysis/hx/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing script for "make", see https://github.com/krpors/hx#compiling-and-running +[source] +git = "https://github.com/krpors/hx" +rev = "c124b40586f701e47b35628fde286d20bf9988ca" +[build] +template = "custom" diff --git a/recipes/wip/dev/analysis/rust-ontologist/recipe.toml b/recipes/wip/dev/analysis/rust-ontologist/recipe.toml new file mode 100644 index 00000000..8a2422e9 --- /dev/null +++ b/recipes/wip/dev/analysis/rust-ontologist/recipe.toml @@ -0,0 +1,5 @@ +#TODO the multipipe crate was removed from crates.io, wait this PR to be merged: https://github.com/lava-xyz/rust-ontologist/pull/7 +[source] +git = "https://github.com/lava-xyz/rust-ontologist" +[build] +template = "cargo" diff --git a/recipes/wip/dev/analysis/zizmor/recipe.toml b/recipes/wip/dev/analysis/zizmor/recipe.toml new file mode 100644 index 00000000..7355c743 --- /dev/null +++ b/recipes/wip/dev/analysis/zizmor/recipe.toml @@ -0,0 +1,8 @@ +#TODO camino crate error +[source] +git = "https://github.com/woodruffw/zizmor" +[build] +template = "custom" +script = """ +cookbook_cargo_packages zizmor +""" diff --git a/recipes/wip/dev/build-system/ant/recipe.toml b/recipes/wip/dev/build-system/ant/recipe.toml new file mode 100644 index 00000000..3c04f05e --- /dev/null +++ b/recipes/wip/dev/build-system/ant/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for building: https://ant.apache.org/manual/install.html#buildingant +[source] +tar = "https://downloads.apache.org/ant/source/apache-ant-1.10.14-src.tar.xz" +[build] +template = "custom" diff --git a/recipes/wip/dev/build-system/ccache/recipe.toml b/recipes/wip/dev/build-system/ccache/recipe.toml new file mode 100644 index 00000000..74601d94 --- /dev/null +++ b/recipes/wip/dev/build-system/ccache/recipe.toml @@ -0,0 +1,16 @@ +#TODO not compiled or tested +#TODO missing dependencies: https://github.com/ccache/ccache/blob/master/doc/INSTALL.md#dependencies +# build instructions: https://github.com/ccache/ccache/blob/master/doc/INSTALL.md +[source] +tar = "https://github.com/ccache/ccache/releases/download/v4.10.2/ccache-4.10.2.tar.gz" +[build] +template = "cmake" +cmakeflags = [ + "-DENABLE_TESTING=OFF", + "-DREDIS_STORAGE_BACKEND=OFF", +] +dependencies = [ + "libfmt", + "xxhash", + "zstd", +] diff --git a/recipes/wip/dev/build-system/hadrian/recipe.toml b/recipes/wip/dev/build-system/hadrian/recipe.toml new file mode 100644 index 00000000..768f235f --- /dev/null +++ b/recipes/wip/dev/build-system/hadrian/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for building, see https://github.com/ghc/hadrian +[source] +tar = "https://downloads.haskell.org/~ghc/9.8.1/hadrian-bootstrap-sources/hadrian-bootstrap-sources-9.6.2.tar.gz" +[build] +template = "custom" diff --git a/recipes/wip/dev/build-system/just/recipe.toml b/recipes/wip/dev/build-system/just/recipe.toml new file mode 100644 index 00000000..b6050290 --- /dev/null +++ b/recipes/wip/dev/build-system/just/recipe.toml @@ -0,0 +1,8 @@ +#TODO camino crate error +[source] +git = "https://github.com/casey/just" +[build] +template = "custom" +script = """ +cookbook_cargo_packages just +""" diff --git a/recipes/wip/dev/build-system/lux/recipe.toml b/recipes/wip/dev/build-system/lux/recipe.toml new file mode 100644 index 00000000..01b27908 --- /dev/null +++ b/recipes/wip/dev/build-system/lux/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/lumen-oss/lux" +[build] +template = "custom" +script = """ +cookbook_cargo_packages lux-cli +""" diff --git a/recipes/wip/dev/build-system/meson/recipe.toml b/recipes/wip/dev/build-system/meson/recipe.toml new file mode 100644 index 00000000..77fcb41c --- /dev/null +++ b/recipes/wip/dev/build-system/meson/recipe.toml @@ -0,0 +1,5 @@ +#TODO create a standalone script: https://github.com/mesonbuild/meson#creating-a-standalone-script +[source] +tar = "https://github.com/mesonbuild/meson/releases/download/1.3.0/meson-1.3.0.tar.gz" +[build] +template = "custom" diff --git a/recipes/wip/dev/build-system/ninja-build/recipe.toml b/recipes/wip/dev/build-system/ninja-build/recipe.toml new file mode 100644 index 00000000..d6e10e41 --- /dev/null +++ b/recipes/wip/dev/build-system/ninja-build/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://github.com/ninja-build/ninja#building-ninja-itself +[source] +git = "https://github.com/ninja-build/ninja" +rev = "v1.13.1" +[build] +template = "cmake" diff --git a/recipes/wip/dev/build-system/werk/recipe.toml b/recipes/wip/dev/build-system/werk/recipe.toml new file mode 100644 index 00000000..4635fa1a --- /dev/null +++ b/recipes/wip/dev/build-system/werk/recipe.toml @@ -0,0 +1,8 @@ +#TODO async and rustix crates error +[source] +git = "https://github.com/simonask/werk" +[build] +template = "custom" +script = """ +cookbook_cargo_packages werk-cli +""" diff --git a/recipes/wip/dev/cargo-tools/cargo-about/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-about/recipe.toml new file mode 100644 index 00000000..b0efb1ff --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-about/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/EmbarkStudios/cargo-about" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-all-features/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-all-features/recipe.toml new file mode 100644 index 00000000..e4eba3c7 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-all-features/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/frewsxcv/cargo-all-features" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-attribution/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-attribution/recipe.toml new file mode 100644 index 00000000..f85099b9 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-attribution/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/ameknite/cargo-attribution" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-audit/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-audit/recipe.toml new file mode 100644 index 00000000..826180ae --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-audit/recipe.toml @@ -0,0 +1,14 @@ +#TODO camino crate error (after a patch on the ring crate) +[source] +git = "https://github.com/rustsec/rustsec" +[build] +template = "custom" +dependencies = [ + "openssl1", + "libssh2", +] +script = """ +export OPENSSL_DIR="${COOKBOOK_SYSROOT}" +export OPENSSL_STATIC="true" +cookbook_cargo_packages cargo-audit +""" diff --git a/recipes/wip/dev/cargo-tools/cargo-auditable/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-auditable/recipe.toml new file mode 100644 index 00000000..c64d92fd --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-auditable/recipe.toml @@ -0,0 +1,8 @@ +#TODO camino crate error +[source] +git = "https://github.com/rust-secure-code/cargo-auditable" +[build] +template = "custom" +script = """ +cookbook_cargo_packages cargo-auditable +""" diff --git a/recipes/wip/dev/cargo-tools/cargo-auto/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-auto/recipe.toml new file mode 100644 index 00000000..e2ca13dc --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-auto/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/automation-tasks-rs/cargo-auto" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/cargo-tools/cargo-autodd/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-autodd/recipe.toml new file mode 100644 index 00000000..28dc3b5b --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-autodd/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/nwiizo/cargo-autodd" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-binutils/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-binutils/recipe.toml new file mode 100644 index 00000000..7cde054a --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-binutils/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/rust-embedded/cargo-binutils" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-bloat/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-bloat/recipe.toml new file mode 100644 index 00000000..3b402d03 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-bloat/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/RazrFalcon/cargo-bloat" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-c/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-c/recipe.toml new file mode 100644 index 00000000..6f410ef5 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-c/recipe.toml @@ -0,0 +1,5 @@ +#TODO require rustc 1.75 or newer +[source] +git = "https://github.com/lu-zero/cargo-c" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-cache/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-cache/recipe.toml new file mode 100644 index 00000000..8bdb0ca0 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-cache/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/matthiaskrgr/cargo-cache" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-careful/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-careful/recipe.toml new file mode 100644 index 00000000..4c10161c --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-careful/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/RalfJung/cargo-careful" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-check-deadlock/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-check-deadlock/recipe.toml new file mode 100644 index 00000000..1bbf81ce --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-check-deadlock/recipe.toml @@ -0,0 +1,5 @@ +#TODO require the components rust-src rustc-dev llvm-tools-preview to be installed +[source] +git = "https://github.com/hlisdero/cargo-check-deadlock" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-checkmate/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-checkmate/recipe.toml new file mode 100644 index 00000000..445481f3 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-checkmate/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/cargo-checkmate/cargo-checkmate" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-clone-crate/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-clone-crate/recipe.toml new file mode 100644 index 00000000..80e32573 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-clone-crate/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/ehuss/cargo-clone-crate" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/cargo-tools/cargo-clone/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-clone/recipe.toml new file mode 100644 index 00000000..b3fe303f --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-clone/recipe.toml @@ -0,0 +1,11 @@ +#TODO cargo-util crate error +[source] +git = "https://github.com/JanLikar/cargo-clone" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +cookbook_cargo_packages cargo-clone +""" diff --git a/recipes/wip/dev/cargo-tools/cargo-compete/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-compete/recipe.toml new file mode 100644 index 00000000..b602fb79 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-compete/recipe.toml @@ -0,0 +1,5 @@ +#TODO serde crate error (after cargo update) +[source] +git = "https://github.com/qryxip/cargo-compete" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-component/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-component/recipe.toml new file mode 100644 index 00000000..bacbc60a --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-component/recipe.toml @@ -0,0 +1,8 @@ +#TODO camino crate error +[source] +git = "https://github.com/bytecodealliance/cargo-component" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/cargo-tools/cargo-crev/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-crev/recipe.toml new file mode 100644 index 00000000..e5d73536 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-crev/recipe.toml @@ -0,0 +1,11 @@ +#TODO openssl-sys crate error +[source] +git = "https://github.com/crev-dev/cargo-crev" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +cookbook_cargo_packages cargo-crev +""" diff --git a/recipes/wip/dev/cargo-tools/cargo-deny/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-deny/recipe.toml new file mode 100644 index 00000000..bd0f8c9f --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-deny/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error (after a patch on the ring crate) +[source] +git = "https://github.com/EmbarkStudios/cargo-deny" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-depsize/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-depsize/recipe.toml new file mode 100644 index 00000000..1c08a4e6 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-depsize/recipe.toml @@ -0,0 +1,8 @@ +#TODO cargo-util crate error +[source] +git = "https://github.com/Alfex4936/cargo-depsize" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/cargo-tools/cargo-derivefmt/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-derivefmt/recipe.toml new file mode 100644 index 00000000..ce753166 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-derivefmt/recipe.toml @@ -0,0 +1,8 @@ +#TODO camino crate error +[source] +git = "https://github.com/dcchut/cargo-derivefmt" +[build] +template = "custom" +script = """ +cookbook_cargo_packages cargo-derivefmt +""" diff --git a/recipes/wip/dev/cargo-tools/cargo-diet/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-diet/recipe.toml new file mode 100644 index 00000000..76e2a85e --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-diet/recipe.toml @@ -0,0 +1,5 @@ +#TODO termsize crate error +[source] +git = "https://github.com/the-lean-crate/cargo-diet" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-dist/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-dist/recipe.toml new file mode 100644 index 00000000..16736256 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-dist/recipe.toml @@ -0,0 +1,8 @@ +#TODO camino crate error +[source] +git = "https://github.com/axodotdev/cargo-dist" +[build] +template = "custom" +script = """ +cookbook_cargo_packages cargo-dist +""" diff --git a/recipes/wip/dev/cargo-tools/cargo-docs-rs/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-docs-rs/recipe.toml new file mode 100644 index 00000000..660e65e1 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-docs-rs/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/dtolnay/cargo-docs-rs" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-docs/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-docs/recipe.toml new file mode 100644 index 00000000..c19b8e18 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-docs/recipe.toml @@ -0,0 +1,5 @@ +#TODO openssl-sys crate error +[source] +git = "https://github.com/btwiuse/cargo-docs" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-duplicates/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-duplicates/recipe.toml new file mode 100644 index 00000000..4b842c46 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-duplicates/recipe.toml @@ -0,0 +1,8 @@ +#TODO cargo-util crate error +[source] +git = "https://github.com/Keruspe/cargo-duplicates" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/cargo-tools/cargo-edit/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-edit/recipe.toml new file mode 100644 index 00000000..a833b92a --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-edit/recipe.toml @@ -0,0 +1,8 @@ +#TODO camino crate error +[source] +git = "https://github.com/killercup/cargo-edit" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/cargo-tools/cargo-equip/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-equip/recipe.toml new file mode 100644 index 00000000..a0a8fc9d --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-equip/recipe.toml @@ -0,0 +1,8 @@ +#TODO camino crate error +[source] +git = "https://github.com/qryxip/cargo-equip" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/cargo-tools/cargo-expand/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-expand/recipe.toml new file mode 100644 index 00000000..6fb87a60 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-expand/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/dtolnay/cargo-expand" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-featalign/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-featalign/recipe.toml new file mode 100644 index 00000000..23bbf929 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-featalign/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/hack-ink/cargo-featalign" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-feature-combinations/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-feature-combinations/recipe.toml new file mode 100644 index 00000000..146c8710 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-feature-combinations/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/romnn/cargo-feature-combinations" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-feature/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-feature/recipe.toml new file mode 100644 index 00000000..b713840e --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-feature/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/Riey/cargo-feature" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-files/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-files/recipe.toml new file mode 100644 index 00000000..9fb302b7 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-files/recipe.toml @@ -0,0 +1,8 @@ +#TODO camino crate error +[source] +git = "https://github.com/dcchut/cargo-files" +[build] +template = "custom" +script = """ +cookbook_cargo_packages cargo-files +""" diff --git a/recipes/wip/dev/cargo-tools/cargo-fixture/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-fixture/recipe.toml new file mode 100644 index 00000000..9e914954 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-fixture/recipe.toml @@ -0,0 +1,5 @@ +#TODO async-io and rustix crates error +[source] +git = "https://github.com/vojtechkral/cargo-fixture" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-ft/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-ft/recipe.toml new file mode 100644 index 00000000..9d5ef4d8 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-ft/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/stormshield/cargo-ft" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-fuzz/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-fuzz/recipe.toml new file mode 100644 index 00000000..30db380b --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-fuzz/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested (after an update on proc-macro2) +[source] +git = "https://github.com/rust-fuzz/cargo-fuzz" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-gc/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-gc/recipe.toml new file mode 100644 index 00000000..4a321ea3 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-gc/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/waynexia/cargo-gc" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-geiger/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-geiger/recipe.toml new file mode 100644 index 00000000..863ce563 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-geiger/recipe.toml @@ -0,0 +1,13 @@ +#TODO camino crate error +[source] +git = "https://github.com/rust-secure-code/cargo-geiger" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +export OPENSSL_DIR="${COOKBOOK_SYSROOT}" +export OPENSSL_STATIC="true" +cookbook_cargo_packages cargo-geiger +""" diff --git a/recipes/wip/dev/cargo-tools/cargo-generate/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-generate/recipe.toml new file mode 100644 index 00000000..7eed481a --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-generate/recipe.toml @@ -0,0 +1,8 @@ +#TODO fs_at crate error +[source] +git = "https://github.com/cargo-generate/cargo-generate" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/cargo-tools/cargo-get/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-get/recipe.toml new file mode 100644 index 00000000..53a41880 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-get/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/nicolaiunrein/cargo-get" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-goggles/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-goggles/recipe.toml new file mode 100644 index 00000000..95b73e1f --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-goggles/recipe.toml @@ -0,0 +1,5 @@ +#TODO serde crate error +[source] +git = "https://github.com/M4SS-Code/cargo-goggles" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-guppy/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-guppy/recipe.toml new file mode 100644 index 00000000..8db3eff8 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-guppy/recipe.toml @@ -0,0 +1,8 @@ +#TODO camino crate error +[source] +git = "https://github.com/guppy-rs/guppy" +[build] +template = "custom" +script = """ +cookbook_cargo_packages cargo-guppy +""" diff --git a/recipes/wip/dev/cargo-tools/cargo-hack/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-hack/recipe.toml new file mode 100644 index 00000000..f609428e --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-hack/recipe.toml @@ -0,0 +1,5 @@ +#TODO serde crate error +[source] +git = "https://github.com/taiki-e/cargo-hack" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-hackerman/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-hackerman/recipe.toml new file mode 100644 index 00000000..e356801d --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-hackerman/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/pacak/hackerman" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-hakari/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-hakari/recipe.toml new file mode 100644 index 00000000..a99ae45a --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-hakari/recipe.toml @@ -0,0 +1,8 @@ +#TODO atomicwrites and rustix crates error +[source] +git = "https://github.com/guppy-rs/guppy" +[build] +template = "custom" +script = """ +cookbook_cargo_packages cargo-hakari +""" diff --git a/recipes/wip/dev/cargo-tools/cargo-http-registry/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-http-registry/recipe.toml new file mode 100644 index 00000000..fb51cdf9 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-http-registry/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/d-e-s-o/cargo-http-registry" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/cargo-tools/cargo-info/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-info/recipe.toml new file mode 100644 index 00000000..e7a16a15 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-info/recipe.toml @@ -0,0 +1,8 @@ +#TODO openssl error +[source] +git = "https://gitlab.com/imp/cargo-info" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/cargo-tools/cargo-lambda/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-lambda/recipe.toml new file mode 100644 index 00000000..95bff1a1 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-lambda/recipe.toml @@ -0,0 +1,8 @@ +#TODO camino crate error +[source] +git = "https://github.com/cargo-lambda/cargo-lambda" +[build] +template = "custom" +script = """ +cookbook_cargo_packages cargo-lambda +""" diff --git a/recipes/wip/dev/cargo-tools/cargo-leet/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-leet/recipe.toml new file mode 100644 index 00000000..0e8956b1 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-leet/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/rust-practice/cargo-leet" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-leptos/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-leptos/recipe.toml new file mode 100644 index 00000000..60bfc093 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-leptos/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/leptos-rs/cargo-leptos" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-license/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-license/recipe.toml new file mode 100644 index 00000000..7ba34dee --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-license/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/onur/cargo-license" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-limit/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-limit/recipe.toml new file mode 100644 index 00000000..a7bfeca5 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-limit/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/cargo-limit/cargo-limit" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-list/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-list/recipe.toml new file mode 100644 index 00000000..4959c583 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-list/recipe.toml @@ -0,0 +1,8 @@ +#TODO update the redox_syscall crate version on the dependency tree +[source] +git = "https://github.com/qtfkwk/cargo-list" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/cargo-tools/cargo-llvm-cov/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-llvm-cov/recipe.toml new file mode 100644 index 00000000..0edd437f --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-llvm-cov/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/taiki-e/cargo-llvm-cov" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-llvm-lines/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-llvm-lines/recipe.toml new file mode 100644 index 00000000..e9fefa36 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-llvm-lines/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/dtolnay/cargo-llvm-lines" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-loc/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-loc/recipe.toml new file mode 100644 index 00000000..0e1af283 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-loc/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/Shnatsel/cargo-loc" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-lockup/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-lockup/recipe.toml new file mode 100644 index 00000000..0e0fe239 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-lockup/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/collinoc/cargo-lookup" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-machete/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-machete/recipe.toml new file mode 100644 index 00000000..7fcd1a66 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-machete/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/bnjbvr/cargo-machete" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-make/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-make/recipe.toml new file mode 100644 index 00000000..3c7599e7 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-make/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/sagiegurari/cargo-make" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-modules/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-modules/recipe.toml new file mode 100644 index 00000000..e8e49b79 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-modules/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/regexident/cargo-modules" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-msrv/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-msrv/recipe.toml new file mode 100644 index 00000000..60eac40c --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-msrv/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error (after a patch on ring) +[source] +git = "https://github.com/foresterre/cargo-msrv" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-multivers/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-multivers/recipe.toml new file mode 100644 index 00000000..83b4b406 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-multivers/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/ronnychevalier/cargo-multivers" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-mutants/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-mutants/recipe.toml new file mode 100644 index 00000000..156d2e2e --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-mutants/recipe.toml @@ -0,0 +1,6 @@ +#TODO camino crate error +[source] +git = "https://github.com/sourcefrog/cargo-mutants" + +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-nextest/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-nextest/recipe.toml new file mode 100644 index 00000000..43f484da --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-nextest/recipe.toml @@ -0,0 +1,8 @@ +#TODO shared_child and libc crates error +[source] +git = "https://github.com/nextest-rs/nextest" +[build] +template = "custom" +script = """ +cookbook_cargo_packages cargo-nextest +""" diff --git a/recipes/wip/dev/cargo-tools/cargo-outofdate/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-outofdate/recipe.toml new file mode 100644 index 00000000..d2ab8415 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-outofdate/recipe.toml @@ -0,0 +1,8 @@ +#TODO cargo-util crate error +[source] +git = "https://github.com/quininer/cargo-outofdate" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/cargo-tools/cargo-packager/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-packager/recipe.toml new file mode 100644 index 00000000..b918f893 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-packager/recipe.toml @@ -0,0 +1,8 @@ +#TODO camino crate error +[source] +git = "https://github.com/crabnebula-dev/cargo-packager" +[build] +template = "custom" +script = """ +cookbook_cargo_packages cargo-packager +""" diff --git a/recipes/wip/dev/cargo-tools/cargo-patch/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-patch/recipe.toml new file mode 100644 index 00000000..34a3a686 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-patch/recipe.toml @@ -0,0 +1,8 @@ +#TODO ahash crate error +[source] +git = "https://github.com/itmettkeDE/cargo-patch" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/cargo-tools/cargo-preflight/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-preflight/recipe.toml new file mode 100644 index 00000000..7675d75d --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-preflight/recipe.toml @@ -0,0 +1,8 @@ +#TODO camino crate error +[source] +git = "https://github.com/supinie/cargo-preflight" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/cargo-tools/cargo-public-api/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-public-api/recipe.toml new file mode 100644 index 00000000..3583dd6b --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-public-api/recipe.toml @@ -0,0 +1,11 @@ +#TODO camino crate error +[source] +git = "https://github.com/Enselic/cargo-public-api" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +cookbook_cargo_packages cargo-public-api +""" diff --git a/recipes/wip/dev/cargo-tools/cargo-px/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-px/recipe.toml new file mode 100644 index 00000000..f317d168 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-px/recipe.toml @@ -0,0 +1,5 @@ +#TODO ahash crate error +[source] +git = "https://github.com/LukeMathWalker/cargo-px" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-qtest/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-qtest/recipe.toml new file mode 100644 index 00000000..ace273e9 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-qtest/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/onur-ozkan/cargo-qtest" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-rdme/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-rdme/recipe.toml new file mode 100644 index 00000000..47435ad9 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-rdme/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/orium/cargo-rdme" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-release/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-release/recipe.toml new file mode 100644 index 00000000..1322d13f --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-release/recipe.toml @@ -0,0 +1,5 @@ +#TODO openssl-sys crate error +[source] +git = "https://github.com/crate-ci/cargo-release" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-remark/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-remark/recipe.toml new file mode 100644 index 00000000..4439c6c8 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-remark/recipe.toml @@ -0,0 +1,8 @@ +#TODO camino crate error +[source] +git = "https://github.com/kobzol/cargo-remark" +[build] +template = "custom" +script = """ +cookbook_cargo --no-default-features +""" diff --git a/recipes/wip/dev/cargo-tools/cargo-run-bin/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-run-bin/recipe.toml new file mode 100644 index 00000000..4101bffc --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-run-bin/recipe.toml @@ -0,0 +1,5 @@ +#TODO compilation error +[source] +git = "https://github.com/dustinblackman/cargo-run-bin" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-scaffold/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-scaffold/recipe.toml new file mode 100644 index 00000000..b93d37c9 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-scaffold/recipe.toml @@ -0,0 +1,13 @@ +#TODO openssl-sys crate error +[source] +git = "https://github.com/iomentum/cargo-scaffold" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +export OPENSSL_DIR="${COOKBOOK_SYSROOT}" +export OPENSSL_STATIC="true" +cookbook_cargo +""" diff --git a/recipes/wip/dev/cargo-tools/cargo-selector/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-selector/recipe.toml new file mode 100644 index 00000000..844aa3ec --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-selector/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/lusingander/cargo-selector" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-semver-checks/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-semver-checks/recipe.toml new file mode 100644 index 00000000..f1b86896 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-semver-checks/recipe.toml @@ -0,0 +1,5 @@ +#TODO serde crate error +[source] +git = "https://github.com/obi1kenobi/cargo-semver-checks" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-shear/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-shear/recipe.toml new file mode 100644 index 00000000..77ae7800 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-shear/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/Boshen/cargo-shear" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-show-asm/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-show-asm/recipe.toml new file mode 100644 index 00000000..d66b2f69 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-show-asm/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/pacak/cargo-show-asm" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-single-line/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-single-line/recipe.toml new file mode 100644 index 00000000..d338daa5 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-single-line/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/mexus/cargo-single-line" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-smart-release/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-smart-release/recipe.toml new file mode 100644 index 00000000..8f5faae3 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-smart-release/recipe.toml @@ -0,0 +1,8 @@ +#TODO camino crate error +[source] +git = "https://github.com/Byron/cargo-smart-release" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/cargo-tools/cargo-spellcheck/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-spellcheck/recipe.toml new file mode 100644 index 00000000..673f2e91 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-spellcheck/recipe.toml @@ -0,0 +1,8 @@ +#TODO Not compiled or tested +[source] +git = "https://github.com/drahnr/cargo-spellcheck" +[build] +template = "cargo" +dependencies = [ + "llvm18", +] diff --git a/recipes/wip/dev/cargo-tools/cargo-subspace/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-subspace/recipe.toml new file mode 100644 index 00000000..2e5ca44a --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-subspace/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/ethowitz/cargo-subspace" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-supply-chain/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-supply-chain/recipe.toml new file mode 100644 index 00000000..9ce9539f --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-supply-chain/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error (after cargo update) +[source] +git = "https://github.com/rust-secure-code/cargo-supply-chain" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-sweep/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-sweep/recipe.toml new file mode 100644 index 00000000..1fd87697 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-sweep/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/holmgr/cargo-sweep" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-sync-rdme/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-sync-rdme/recipe.toml new file mode 100644 index 00000000..f5b5205b --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-sync-rdme/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/gifnksm/cargo-sync-rdme" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-tally/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-tally/recipe.toml new file mode 100644 index 00000000..4ddf19b2 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-tally/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/dtolnay/cargo-tally" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-tarpaulin/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-tarpaulin/recipe.toml new file mode 100644 index 00000000..85ed8020 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-tarpaulin/recipe.toml @@ -0,0 +1,8 @@ +#TODO camino crate error +[source] +git = "https://github.com/xd009642/tarpaulin" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/cargo-tools/cargo-temp/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-temp/recipe.toml new file mode 100644 index 00000000..1256d37a --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-temp/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/yozhgoor/cargo-temp" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-trend/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-trend/recipe.toml new file mode 100644 index 00000000..17dc0d5d --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-trend/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +git = "https://github.com/dalance/cargo-trend" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-trim/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-trim/recipe.toml new file mode 100644 index 00000000..aedfce42 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-trim/recipe.toml @@ -0,0 +1,5 @@ +#TODO compilation error +[source] +git = "https://github.com/iamsauravsharma/cargo-trim" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-udeps/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-udeps/recipe.toml new file mode 100644 index 00000000..558e9db2 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-udeps/recipe.toml @@ -0,0 +1,8 @@ +#TODO cargo-util crate error +[source] +git = "https://github.com/est31/cargo-udeps" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/cargo-tools/cargo-ui/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-ui/recipe.toml new file mode 100644 index 00000000..63f29324 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-ui/recipe.toml @@ -0,0 +1,12 @@ +#TODO make libxkbcommon work +[source] +git = "https://github.com/slint-ui/cargo-ui" +[build] +template = "custom" +dependencies = [ + "fontconfig", + "libxkbcommon", +] +script = """ +cookbook_cargo --no-default-features slint-backend-gl-all +""" diff --git a/recipes/wip/dev/cargo-tools/cargo-unfmt/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-unfmt/recipe.toml new file mode 100644 index 00000000..c152514d --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-unfmt/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/fprasx/cargo-unfmt" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-unmaintained/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-unmaintained/recipe.toml new file mode 100644 index 00000000..bb667444 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-unmaintained/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested (after a camino crate patch) +[source] +git = "https://github.com/trailofbits/cargo-unmaintained" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/cargo-tools/cargo-update/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-update/recipe.toml new file mode 100644 index 00000000..22e60891 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-update/recipe.toml @@ -0,0 +1,11 @@ +#TODO compilation error +[source] +git = "https://github.com/nabijaczleweli/cargo-update" +[build] +template = "cargo" +dependencies = [ + "curl", + "openssl1", + "libssh2", + "libgit2", +] diff --git a/recipes/wip/dev/cargo-tools/cargo-vendor-filterer/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-vendor-filterer/recipe.toml new file mode 100644 index 00000000..cf007087 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-vendor-filterer/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/coreos/cargo-vendor-filterer" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-vet/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-vet/recipe.toml new file mode 100644 index 00000000..fdfc4ee8 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-vet/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error (after cargo update and a patch on the ring crate) +[source] +git = "https://github.com/mozilla/cargo-vet" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-wasi/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-wasi/recipe.toml new file mode 100644 index 00000000..a08d2924 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-wasi/recipe.toml @@ -0,0 +1,5 @@ +#TODO fs2 crate error +[source] +git = "https://github.com/bytecodealliance/cargo-wasi" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-wasix/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-wasix/recipe.toml new file mode 100644 index 00000000..2030bf92 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-wasix/recipe.toml @@ -0,0 +1,5 @@ +#TODO fs2 crate error +[source] +git = "https://github.com/wasix-org/cargo-wasix" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-watch/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-watch/recipe.toml new file mode 100644 index 00000000..c169773e --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-watch/recipe.toml @@ -0,0 +1,5 @@ +#TODO nix crate error +[source] +git = "https://github.com/watchexec/cargo-watch" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-whatfeatures/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-whatfeatures/recipe.toml new file mode 100644 index 00000000..de618ea8 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-whatfeatures/recipe.toml @@ -0,0 +1,11 @@ +#TODO camino crate error +[source] +git = "https://github.com/museun/cargo-whatfeatures" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +cookbook_cargo --features rustls +""" diff --git a/recipes/wip/dev/cargo-tools/cargo-wizard/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-wizard/recipe.toml new file mode 100644 index 00000000..b44601db --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-wizard/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/Kobzol/cargo-wizard" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-workspace-version/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-workspace-version/recipe.toml new file mode 100644 index 00000000..521b93ce --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-workspace-version/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/ava-labs/cargo-workspace-version" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/cargo-workspaces/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-workspaces/recipe.toml new file mode 100644 index 00000000..29f8f64e --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-workspaces/recipe.toml @@ -0,0 +1,9 @@ +#TODO camino crate error +[source] +git = "https://github.com/pksunkara/cargo-workspaces" +[build] +template = "custom" +script = """ +COOKBOOK_SOURCE="${COOKBOOK_SOURCE}"/cargo-workspaces +cookbook_cargo +""" diff --git a/recipes/wip/dev/cargo-tools/cargo-zigbuild/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-zigbuild/recipe.toml new file mode 100644 index 00000000..ff0823b6 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-zigbuild/recipe.toml @@ -0,0 +1,8 @@ +#TODO make zig work +[source] +git = "https://github.com/rust-cross/cargo-zigbuild" +[build] +template = "cargo" +dependencies = [ + "zig" +] diff --git a/recipes/wip/dev/cargo-tools/carwash/recipe.toml b/recipes/wip/dev/cargo-tools/carwash/recipe.toml new file mode 100644 index 00000000..23536826 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/carwash/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/epistates/carwash" +[build] +template = "cargo" diff --git a/recipes/wip/dev/cargo-tools/crunch/recipe.toml b/recipes/wip/dev/cargo-tools/crunch/recipe.toml new file mode 100644 index 00000000..a68c8db8 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/crunch/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/liamaharon/crunch-cli" +[build] +template = "cargo" diff --git a/recipes/wip/dev/debug/dr-memory/recipe.toml b/recipes/wip/dev/debug/dr-memory/recipe.toml new file mode 100644 index 00000000..3175b2c0 --- /dev/null +++ b/recipes/wip/dev/debug/dr-memory/recipe.toml @@ -0,0 +1,11 @@ +#TODO not compiled or tested +# lacking build instructions +[source] +git = "https://github.com/DynamoRIO/drmemory" +rev = "release_2.6.0" +shallow_clone = true +[build] +template = "cmake" +dependencies = [ + "libunwind", +] diff --git a/recipes/wip/dev/debug/gdb/recipe.toml b/recipes/wip/dev/debug/gdb/recipe.toml new file mode 100644 index 00000000..ec52462b --- /dev/null +++ b/recipes/wip/dev/debug/gdb/recipe.toml @@ -0,0 +1,32 @@ +#TODO port to redox +[source] +tar = "https://ftp.gnu.org/gnu/gdb/gdb-15.1.tar.xz" +[build] +template = "custom" +dependencies = [ + "libgmp", + "libmpfr", + "ncurses", + "readline", +] +script = """ +DYNAMIC_INIT + +COOKBOOK_CONFIGURE_FLAGS+=( + --disable-binutils + --disable-ld + --disable-gold + --disable-gas + --disable-sim + --disable-gprof + --disable-gprofng + --disable-intl + --with-system-readline + --with-gmp="${COOKBOOK_SYSROOT}" + --with-mpfr="${COOKBOOK_SYSROOT}" + --with-curses +) + +"${COOKBOOK_CONFIGURE}" "${COOKBOOK_CONFIGURE_FLAGS[@]}" +cookbook_configure +""" diff --git a/recipes/wip/dev/debug/nnd/recipe.toml b/recipes/wip/dev/debug/nnd/recipe.toml new file mode 100644 index 00000000..4542522f --- /dev/null +++ b/recipes/wip/dev/debug/nnd/recipe.toml @@ -0,0 +1,8 @@ +#TODO nnd crate error +[source] +git = "https://github.com/al13n321/nnd" +[build] +template = "custom" +script = """ +cookbook_cargo --profile=dbgo +""" diff --git a/recipes/wip/dev/debug/rr-debugger/recipe.toml b/recipes/wip/dev/debug/rr-debugger/recipe.toml new file mode 100644 index 00000000..91729d18 --- /dev/null +++ b/recipes/wip/dev/debug/rr-debugger/recipe.toml @@ -0,0 +1,13 @@ +#TODO not compiled or tested +# build instructions: https://github.com/rr-debugger/rr/wiki/Building-And-Installing +[source] +git = "https://github.com/rr-debugger/rr" +rev = "5.9.0" +shallow_clone = true +[build] +template = "cmake" +dependencies = [ + "zlib", + "capnproto", + "zstd", +] diff --git a/recipes/wip/dev/debug/termfu/recipe.toml b/recipes/wip/dev/debug/termfu/recipe.toml new file mode 100644 index 00000000..5b9cef4a --- /dev/null +++ b/recipes/wip/dev/debug/termfu/recipe.toml @@ -0,0 +1,15 @@ +#TODO missing script for gnu make +# build instructions: https://github.com/jvalcher/termfu#installation +[source] +git = "https://github.com/jvalcher/termfu" +rev = "v0.2.2" +[build] +template = "custom" +dependencies = [ + "ncurses", +] +[package] +dependencies = [ + "gdb", + "python312", +] diff --git a/recipes/wip/dev/debug/yetty/recipe.toml b/recipes/wip/dev/debug/yetty/recipe.toml new file mode 100644 index 00000000..8a1170b6 --- /dev/null +++ b/recipes/wip/dev/debug/yetty/recipe.toml @@ -0,0 +1,15 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/aa55-dev/yeTTY" +rev = "v0.1.3" +[build] +template = "cmake" +dependencies = [ + "qt6-base", + "qt6-multimedia", + "qt6-serialport", + "zstd", + "boost", + "libbacktrace", + "ktexteditor6", +] diff --git a/recipes/wip/dev/framework/biome/recipe.toml b/recipes/wip/dev/framework/biome/recipe.toml new file mode 100644 index 00000000..63303b72 --- /dev/null +++ b/recipes/wip/dev/framework/biome/recipe.toml @@ -0,0 +1,9 @@ +#TODO tikv-jemalloc-sys crate error +[source] +git = "https://github.com/biomejs/biome" +shallow_clone = true +[build] +template = "custom" +script = """ +cookbook_cargo_packages biome_cli +""" diff --git a/recipes/wip/dev/framework/deno/recipe.toml b/recipes/wip/dev/framework/deno/recipe.toml new file mode 100644 index 00000000..c81bf249 --- /dev/null +++ b/recipes/wip/dev/framework/deno/recipe.toml @@ -0,0 +1,10 @@ +#TODO v8 crate error +#TODO lacking librusty_v8 crate binaries for redox +[source] +git = "https://github.com/denoland/deno" +shallow_clone = true +[build] +template = "custom" +script = """ +cookbook_cargo_packages deno +""" diff --git a/recipes/wip/dev/framework/feather/recipe.toml b/recipes/wip/dev/framework/feather/recipe.toml new file mode 100644 index 00000000..9b1ad27e --- /dev/null +++ b/recipes/wip/dev/framework/feather/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/BersisSe/feather-cli" +[build] +template = "cargo" diff --git a/recipes/wip/dev/framework/moonzoon/recipe.toml b/recipes/wip/dev/framework/moonzoon/recipe.toml new file mode 100644 index 00000000..e44c482c --- /dev/null +++ b/recipes/wip/dev/framework/moonzoon/recipe.toml @@ -0,0 +1,11 @@ +#TODO camino crate error, require the WebAssembly target on Rustup. +[source] +git = "https://github.com/MoonZoon/MoonZoon" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +cookbook_cargo_packages mzoon +""" diff --git a/recipes/wip/dev/framework/sphere/recipe.toml b/recipes/wip/dev/framework/sphere/recipe.toml new file mode 100644 index 00000000..aee70f27 --- /dev/null +++ b/recipes/wip/dev/framework/sphere/recipe.toml @@ -0,0 +1,14 @@ +#TODO compilation error +[source] +git = "https://github.com/Nakadra/sphere-runtime" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +cookbook_cargo +mkdir -pv "${COOKBOOK_STAGE}/usr/share/sphere" +cp -rv "${COOKBOOK_SOURCE}/*.sphere" "${COOKBOOK_STAGE}/usr/share/sphere" +echo "entrypoint = "echo 'Hello, from my first Sphere!'"" > "${COOKBOOK_STAGE}/usr/share/sphere/hello.sphere" +""" diff --git a/recipes/wip/dev/game-engine/defold-engine/recipe.toml b/recipes/wip/dev/game-engine/defold-engine/recipe.toml new file mode 100644 index 00000000..13d89a56 --- /dev/null +++ b/recipes/wip/dev/game-engine/defold-engine/recipe.toml @@ -0,0 +1,22 @@ +#TODO missing script for building, see https://github.com/defold/defold/blob/dev/README_BUILD.md +#TODO build the editor, see https://github.com/defold/defold/blob/dev/editor/README_BUILD.md +# probably the SDKs can't run on Redox, avoid them +[source] +git = "https://github.com/defold/defold" +rev = "4e156b7cf37a380122aada30dacbf2b590ead76b" +[build] +template = "custom" +dependencies = [ + "libxi", + "libxext", + "mesa-glu", + "mesa", + "curl", + "freeglut", + "libuuid", + "openal", + "ncurses", +] +script = """ +export CPPFLAGS="-I${COOKBOOK_SYSROOT}/include/ncurses" +""" diff --git a/recipes/wip/dev/game-engine/fyrox-template/recipe.toml b/recipes/wip/dev/game-engine/fyrox-template/recipe.toml new file mode 100644 index 00000000..76a3b2f1 --- /dev/null +++ b/recipes/wip/dev/game-engine/fyrox-template/recipe.toml @@ -0,0 +1,9 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/FyroxEngine/Fyrox" +shallow_clone = true +[build] +template = "custom" +script = """ +cookbook_cargo_packages fyrox-template +""" diff --git a/recipes/wip/dev/game-engine/godot4/recipe.toml b/recipes/wip/dev/game-engine/godot4/recipe.toml new file mode 100644 index 00000000..0fb6802a --- /dev/null +++ b/recipes/wip/dev/game-engine/godot4/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing script for scons: https://docs.godotengine.org/en/stable/contributing/development/compiling/compiling_for_linuxbsd.html +#TODO discover minimum dependencies from scons log +[source] +tar = "https://github.com/godotengine/godot/releases/download/4.5.1-stable/godot-4.5.1-stable.tar.xz" +[build] +template = "custom" diff --git a/recipes/wip/dev/game-engine/redot4/recipe.toml b/recipes/wip/dev/game-engine/redot4/recipe.toml new file mode 100644 index 00000000..e8d8b95b --- /dev/null +++ b/recipes/wip/dev/game-engine/redot4/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing script for scons: https://docs.redotengine.org/en/stable/contributing/development/compiling/compiling_for_linuxbsd +#TODO discover minimum dependencies from scons log +[source] +tar = "https://github.com/Redot-Engine/redot-engine/releases/download/redot-4.3.1-stable/Redot-4.3.1-stable.tar.xz" +[build] +template = "custom" diff --git a/recipes/wip/dev/git-tools/auto-commit/recipe.toml b/recipes/wip/dev/git-tools/auto-commit/recipe.toml new file mode 100644 index 00000000..008262f5 --- /dev/null +++ b/recipes/wip/dev/git-tools/auto-commit/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/m1guelpf/auto-commit" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/git-tools/git-absorb/recipe.toml b/recipes/wip/dev/git-tools/git-absorb/recipe.toml new file mode 100644 index 00000000..698827f1 --- /dev/null +++ b/recipes/wip/dev/git-tools/git-absorb/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/tummychow/git-absorb" +[build] +template = "cargo" diff --git a/recipes/wip/dev/git-tools/git-chain/recipe.toml b/recipes/wip/dev/git-tools/git-chain/recipe.toml new file mode 100644 index 00000000..4d605805 --- /dev/null +++ b/recipes/wip/dev/git-tools/git-chain/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/dashed/git-chain" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/git-tools/git-cliff/recipe.toml b/recipes/wip/dev/git-tools/git-cliff/recipe.toml new file mode 100644 index 00000000..5e4506d2 --- /dev/null +++ b/recipes/wip/dev/git-tools/git-cliff/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested (after a patch on the ring crate) +[source] +git = "https://github.com/orhun/git-cliff" +[build] +template = "custom" +script = """ +cookbook_cargo_packages git-cliff +""" diff --git a/recipes/wip/dev/git-tools/git-grab/recipe.toml b/recipes/wip/dev/git-tools/git-grab/recipe.toml new file mode 100644 index 00000000..c3a6e00f --- /dev/null +++ b/recipes/wip/dev/git-tools/git-grab/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/wezm/git-grab" +[build] +template = "cargo" diff --git a/recipes/wip/dev/git-tools/git-graph/recipe.toml b/recipes/wip/dev/git-tools/git-graph/recipe.toml new file mode 100644 index 00000000..ef9aacff --- /dev/null +++ b/recipes/wip/dev/git-tools/git-graph/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/mlange-42/git-graph" +[build] +template = "cargo" diff --git a/recipes/wip/dev/git-tools/git-ignore-generator/recipe.toml b/recipes/wip/dev/git-tools/git-ignore-generator/recipe.toml new file mode 100644 index 00000000..320e0d61 --- /dev/null +++ b/recipes/wip/dev/git-tools/git-ignore-generator/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested (after a cargo update and a patch on the ring crate) +[source] +git = "https://github.com/sondr3/git-ignore" +[build] +template = "cargo" diff --git a/recipes/wip/dev/git-tools/git-interactive-rebase-tool/recipe.toml b/recipes/wip/dev/git-tools/git-interactive-rebase-tool/recipe.toml new file mode 100644 index 00000000..dae20f2f --- /dev/null +++ b/recipes/wip/dev/git-tools/git-interactive-rebase-tool/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/MitMaro/git-interactive-rebase-tool" +[build] +template = "cargo" diff --git a/recipes/wip/dev/git-tools/git-lfs/recipe.toml b/recipes/wip/dev/git-tools/git-lfs/recipe.toml new file mode 100644 index 00000000..1816e464 --- /dev/null +++ b/recipes/wip/dev/git-tools/git-lfs/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for GNU Make, see https://github.com/git-lfs/git-lfs?tab=readme-ov-file#from-source +[source] +tar = "https://github.com/git-lfs/git-lfs/releases/download/v3.5.1/git-lfs-v3.5.1.tar.gz" +[build] +template = "custom" diff --git a/recipes/wip/dev/git-tools/git-repo-manager/recipe.toml b/recipes/wip/dev/git-tools/git-repo-manager/recipe.toml new file mode 100644 index 00000000..b7b975fe --- /dev/null +++ b/recipes/wip/dev/git-tools/git-repo-manager/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/hakoerber/git-repo-manager" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/git-tools/git-statuses/recipe.toml b/recipes/wip/dev/git-tools/git-statuses/recipe.toml new file mode 100644 index 00000000..778c3fcc --- /dev/null +++ b/recipes/wip/dev/git-tools/git-statuses/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/bircni/git-statuses" +[build] +template = "cargo" diff --git a/recipes/wip/dev/git-tools/git-subset/recipe.toml b/recipes/wip/dev/git-tools/git-subset/recipe.toml new file mode 100644 index 00000000..bc4f4862 --- /dev/null +++ b/recipes/wip/dev/git-tools/git-subset/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/jasonwhite/git-subset" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/git-tools/git-tool-rs/recipe.toml b/recipes/wip/dev/git-tools/git-tool-rs/recipe.toml new file mode 100644 index 00000000..24c04fe1 --- /dev/null +++ b/recipes/wip/dev/git-tools/git-tool-rs/recipe.toml @@ -0,0 +1,5 @@ +#TODO compilation error +[source] +git = "https://github.com/SierraSoftworks/git-tool" +[build] +template = "cargo" diff --git a/recipes/wip/dev/git-tools/git-tools-rs/recipe.toml b/recipes/wip/dev/git-tools/git-tools-rs/recipe.toml new file mode 100644 index 00000000..bc563046 --- /dev/null +++ b/recipes/wip/dev/git-tools/git-tools-rs/recipe.toml @@ -0,0 +1,5 @@ +#TODO users crate error +[source] +git = "https://github.com/cecton/git-tools" +[build] +template = "cargo" diff --git a/recipes/wip/dev/git-tools/gitlogue/recipe.toml b/recipes/wip/dev/git-tools/gitlogue/recipe.toml new file mode 100644 index 00000000..995192a0 --- /dev/null +++ b/recipes/wip/dev/git-tools/gitlogue/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/unhappychoice/gitlogue" +[build] +template = "cargo" diff --git a/recipes/wip/dev/git-tools/lazygh/recipe.toml b/recipes/wip/dev/git-tools/lazygh/recipe.toml new file mode 100644 index 00000000..ecc9e929 --- /dev/null +++ b/recipes/wip/dev/git-tools/lazygh/recipe.toml @@ -0,0 +1,5 @@ +#TODO x11rb and rustix crates error +[source] +git = "https://github.com/kmj-007/lazygh" +[build] +template = "cargo" diff --git a/recipes/wip/dev/git-tools/patchy/recipe.toml b/recipes/wip/dev/git-tools/patchy/recipe.toml new file mode 100644 index 00000000..34c52491 --- /dev/null +++ b/recipes/wip/dev/git-tools/patchy/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/nik-rev/patchy" +[build] +template = "cargo" diff --git a/recipes/wip/dev/git-tools/riff/recipe.toml b/recipes/wip/dev/git-tools/riff/recipe.toml new file mode 100644 index 00000000..24d743ab --- /dev/null +++ b/recipes/wip/dev/git-tools/riff/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/walles/riff" +[build] +template = "cargo" diff --git a/recipes/wip/dev/git-tools/serie/recipe.toml b/recipes/wip/dev/git-tools/serie/recipe.toml new file mode 100644 index 00000000..df2889e7 --- /dev/null +++ b/recipes/wip/dev/git-tools/serie/recipe.toml @@ -0,0 +1,5 @@ +#TODO x11rb and rustix crates error +[source] +git = "https://github.com/lusingander/serie" +[build] +template = "cargo" diff --git a/recipes/wip/dev/graphics/bonzomatic/recipe.toml b/recipes/wip/dev/graphics/bonzomatic/recipe.toml new file mode 100644 index 00000000..d12b8a2d --- /dev/null +++ b/recipes/wip/dev/graphics/bonzomatic/recipe.toml @@ -0,0 +1,12 @@ +#TODO not compiled or tested +#TODO missing dependencies +# build instructions - https://github.com/Gargaj/Bonzomatic#linux +[source] +git = "https://github.com/Gargaj/Bonzomatic" +[build] +template = "cmake" +dependencies = [ + "libx11", + "libalsa", + "mesa-glu", +] diff --git a/recipes/wip/dev/graphics/pilka/recipe.toml b/recipes/wip/dev/graphics/pilka/recipe.toml new file mode 100644 index 00000000..ce576d59 --- /dev/null +++ b/recipes/wip/dev/graphics/pilka/recipe.toml @@ -0,0 +1,5 @@ +#TODO winit crate error (after cargo update) +[source] +git = "https://github.com/pudnax/pilka" +[build] +template = "cargo" diff --git a/recipes/wip/dev/graphics/sh4der-jockey/recipe.toml b/recipes/wip/dev/graphics/sh4der-jockey/recipe.toml new file mode 100644 index 00000000..d3001c4c --- /dev/null +++ b/recipes/wip/dev/graphics/sh4der-jockey/recipe.toml @@ -0,0 +1,5 @@ +#TODO winit crate error +[source] +git = "https://github.com/slerpyyy/sh4der-jockey" +[build] +template = "cargo" diff --git a/recipes/wip/dev/hw/librepcb/recipe.toml b/recipes/wip/dev/hw/librepcb/recipe.toml new file mode 100644 index 00000000..8e7d82cf --- /dev/null +++ b/recipes/wip/dev/hw/librepcb/recipe.toml @@ -0,0 +1,21 @@ +#TODO not compiled or tested +# build instructions: https://librepcb.org/docs/installation/build-from-sources/ +# commented out optional dependencies +[source] +git = "https://github.com/LibrePCB/LibrePCB" +rev = "1.3.0" +shallow_clone = true +[build] +template = "cmake" +cmakeflags = [ + "-DUSE_GLU=0", + "-DUSE_OPENCASCADE=0", +] +dependencies = [ + "qt6-base", + "qt6-imageformats", + "openssl3", + "zlib", + #"opencascade", + #"mesa-glu", +] diff --git a/recipes/wip/dev/ide/asm-lsp/recipe.toml b/recipes/wip/dev/ide/asm-lsp/recipe.toml new file mode 100644 index 00000000..843262e6 --- /dev/null +++ b/recipes/wip/dev/ide/asm-lsp/recipe.toml @@ -0,0 +1,11 @@ +#TODO linking error +[source] +git = "https://github.com/bergercookie/asm-lsp" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +cookbook_cargo_packages asm-lsp +""" diff --git a/recipes/wip/dev/ide/astronvim/recipe.toml b/recipes/wip/dev/ide/astronvim/recipe.toml new file mode 100644 index 00000000..2bdafc57 --- /dev/null +++ b/recipes/wip/dev/ide/astronvim/recipe.toml @@ -0,0 +1,9 @@ +#TODO promote +[source] +git = "https://github.com/AstroNvim/AstroNvim" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/home/user/.config/nvim +cp -rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}"/home/user/.config/nvim +""" diff --git a/recipes/wip/dev/ide/gnome-builder/recipe.toml b/recipes/wip/dev/ide/gnome-builder/recipe.toml new file mode 100644 index 00000000..1cc44d78 --- /dev/null +++ b/recipes/wip/dev/ide/gnome-builder/recipe.toml @@ -0,0 +1,39 @@ +#TODO not compiled or tested +#TODO discover minimum dependencies from meson log +# build instructions: https://builder.readthedocs.io/installation.html#via-release-tarball +[source] +tar = "https://download.gnome.org/sources/gnome-builder/49/gnome-builder-49.1.tar.xz" +[build] +template = "meson" +mesonflags = [ + "-Dnetwork_tests=false", + "-Dwebkit=false", +] +# dependencies = [ +# "cairo", +# "cmark", +# "dbus", +# "dspy", +# "enchant", +# "llvm18", +# "gdk-pixbuf", +# "glib", +# "gobject-introspection", +# "gtk4", +# "gtk4mm", +# "gtksourceview", +# "libadwaita", +# "libdex", +# "libgit2", +# "libgspell-gtk4", +# "libpanel", +# "libpeas", +# "libsoup", +# "vala", +# "libvte", +# "libxml2", +# "json-glib", +# "jsonrpc-glib", +# "pango", +# "webkitgtk4", +# ] diff --git a/recipes/wip/dev/ide/kdevelop/recipe.toml b/recipes/wip/dev/ide/kdevelop/recipe.toml new file mode 100644 index 00000000..f1e1cb5d --- /dev/null +++ b/recipes/wip/dev/ide/kdevelop/recipe.toml @@ -0,0 +1,52 @@ +#TODO not compiled or tested +#TODO probably missing dependencies, see https://packages.debian.org/source/trixie/kdevelop +# build instructions: https://kdevelop.org/build-it/ +[source] +git = "https://invent.kde.org/kdevelop/kdevelop" +branch = "release/25.08" +shallow_clone = true +[build] +template = "cmake" +# dependencies = [ +# "apr", +# "apr-util", +# "astyle", +# "boost", +# "libgrantlee", +# "libkomparediff2", +# "kf5-archive", +# "kf5-config", +# "kf5-crash", +# "kf5-cmutils", +# "kf5-extra-cmake-modules", +# "kf5-declarative", +# "kf5-doctools", +# "kf5-guiaddons", +# "kf5-i18n", +# "kf5-iconthemes", +# "kf5-itemmodels", +# "kf5-itemviews", +# "kf5-io", +# "kf5-jobwidgets", +# "kf5-newstuff", +# "kf5-notifications", +# "kf5-notifyconfig", +# "kf5-parts", +# "kf5-plasma-framework", +# "kf5-purpose", +# "kf5-runner", +# "kf5-service", +# "kf5-sonnet", +# "kf5-sysguard", +# "kf5-texteditor", +# "kf5-threadweaver", +# "kf5-widgetaddons", +# "kf5-windowsystem", +# "kf5-xmlgui", +# "qt5-base", +# "qt5-declarative", +# "qt5-tools", +# "qt5-webkit", +# "okteta", +# "shared-mime-info", +# ] diff --git a/recipes/wip/dev/ide/rust-analyzer/recipe.toml b/recipes/wip/dev/ide/rust-analyzer/recipe.toml new file mode 100644 index 00000000..016bf088 --- /dev/null +++ b/recipes/wip/dev/ide/rust-analyzer/recipe.toml @@ -0,0 +1,9 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/rust-lang/rust-analyzer" +shallow_clone = true +[build] +template = "custom" +script = """ +cookbook_cargo_packages rust-analyzer +""" diff --git a/recipes/wip/dev/lang/artichoke/recipe.toml b/recipes/wip/dev/lang/artichoke/recipe.toml new file mode 100644 index 00000000..0bf2fc0c --- /dev/null +++ b/recipes/wip/dev/lang/artichoke/recipe.toml @@ -0,0 +1,5 @@ +#TODO iana-time-zone crate error +[source] +git = "https://github.com/artichoke/artichoke" +[build] +template = "cargo" diff --git a/recipes/wip/dev/lang/brimstone/recipe.toml b/recipes/wip/dev/lang/brimstone/recipe.toml new file mode 100644 index 00000000..4a1ab8da --- /dev/null +++ b/recipes/wip/dev/lang/brimstone/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/Hans-Halverson/brimstone" +[build] +template = "cargo" diff --git a/recipes/wip/dev/lang/cjit/recipe.toml b/recipes/wip/dev/lang/cjit/recipe.toml new file mode 100644 index 00000000..7c3020f1 --- /dev/null +++ b/recipes/wip/dev/lang/cjit/recipe.toml @@ -0,0 +1,6 @@ +#TODO write a gnu make target for redox, see: https://github.com/dyne/cjit#build-from-source +[source] +git = "https://github.com/dyne/cjit" +rev = "9a4321e64ea1af10e9e3c63de45af80b36846cda" +[build] +template = "custom" diff --git a/recipes/wip/dev/lang/elixir/recipe.toml b/recipes/wip/dev/lang/elixir/recipe.toml new file mode 100644 index 00000000..33906690 --- /dev/null +++ b/recipes/wip/dev/lang/elixir/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing script for "make", see https://github.com/elixir-lang/elixir#compiling-from-source +[source] +git = "https://github.com/elixir-lang/elixir" +rev = "927b10df80ee1c1c7396e68efe00d06bc3e80420" +[build] +template = "custom" diff --git a/recipes/wip/dev/lang/elm/recipe.toml b/recipes/wip/dev/lang/elm/recipe.toml new file mode 100644 index 00000000..b379c2b6 --- /dev/null +++ b/recipes/wip/dev/lang/elm/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing script for building, lacking build instructions +[source] +git = "https://github.com/elm/compiler" +rev = "c9aefb6230f5e0bda03205ab0499f6e4af924495" +[build] +template = "custom" diff --git a/recipes/wip/dev/lang/erlang/recipe.toml b/recipes/wip/dev/lang/erlang/recipe.toml new file mode 100644 index 00000000..02c55a5d --- /dev/null +++ b/recipes/wip/dev/lang/erlang/recipe.toml @@ -0,0 +1,16 @@ +#TODO probably wrong script, see https://www.erlang.org/doc/installation_guide/install +[source] +tar = "https://github.com/erlang/otp/releases/download/OTP-26.1.1/otp_src_26.1.1.tar.gz" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +export ERL_TOP="${COOKBOOK_SOURCE}" +COOKBOOK_CONFIGURE_FLAGS+=( + --without-termcap + --enable-bootstrap-only +) +cookbook_configure +""" diff --git a/recipes/wip/dev/lang/gawk/recipe.toml b/recipes/wip/dev/lang/gawk/recipe.toml new file mode 100644 index 00000000..098055ae --- /dev/null +++ b/recipes/wip/dev/lang/gawk/recipe.toml @@ -0,0 +1,15 @@ +#TODO: langinfo.h +[source] +git = "https://gitlab.redox-os.org/redox-os/gawk.git" +upstream = "https://git.savannah.gnu.org/git/gawk.git" +branch = "redox" + +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE_FLAGS+=( + ac_cv_func_gethostbyname=no + ac_cv_func_connect=no +) +cookbook_configure +""" diff --git a/recipes/wip/dev/lang/ghc/recipe.toml b/recipes/wip/dev/lang/ghc/recipe.toml new file mode 100644 index 00000000..9ab877b5 --- /dev/null +++ b/recipes/wip/dev/lang/ghc/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for Hadrian, see https://gitlab.haskell.org/ghc/ghc/-/wikis/building/hadrian +[source] +tar = "https://downloads.haskell.org/~ghc/9.8.1/ghc-9.8.1-src.tar.xz" +[build] +template = "custom" diff --git a/recipes/wip/dev/lang/ghostscript/recipe.toml b/recipes/wip/dev/lang/ghostscript/recipe.toml new file mode 100644 index 00000000..feced6db --- /dev/null +++ b/recipes/wip/dev/lang/ghostscript/recipe.toml @@ -0,0 +1,6 @@ +#TODO error on the libtiff configure script +#TODO customization - https://ghostscript.readthedocs.io/en/latest/Make.html +[source] +tar = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10021/ghostscript-10.02.1.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/dev/lang/go/recipe.toml b/recipes/wip/dev/lang/go/recipe.toml new file mode 100644 index 00000000..278f374b --- /dev/null +++ b/recipes/wip/dev/lang/go/recipe.toml @@ -0,0 +1,49 @@ +#TODO compiling, not tested further +[source] +git = "https://github.com/willnode/go" +branch = "go-1.25-redox" +shallow_clone = true + +[build] +template = "custom" +script = """ +export PATH=$HOME/go/bin:$PATH + +export GOPATH=${COOKBOOK_BUILD}/gopath +if ! command -v go &> /dev/null; then + GO_TARBALL=go1.24.6.linux-$( [ "$(uname -m)" = "aarch64" ] && echo "arm64" || echo "amd64" ).tar.gz + GO_DOWNLOAD_URL="https://dl.google.com/go/${GO_TARBALL}" + echo "Installing Go..." + wget -q --show-progress "${GO_DOWNLOAD_URL}" + tar -C "$HOME" -xzf "${GO_TARBALL}" +fi + +# Go does not support out-of-tree builds :( +rsync -a --delete "${COOKBOOK_SOURCE}/" ./ + +export GOOS=redox +case "${TARGET}" in + x86-unknown-redox) export GOARCH=386;; + x86_64-unknown-redox) export GOARCH=amd64;; + aarch64-unknown-redox) export GOARCH=arm64;; + riscv64-unknown-redox) export GOARCH=riscv64;; +esac + +export CGO_ENABLED=1 +export CC=x86_64-unknown-redox-gcc +export CCX=x86_64-unknown-redox-g++ +echo "go1.25" > VERSION # to set -trimpath +(cd ./src && bash ./make.bash) + +mkdir -p "${COOKBOOK_STAGE}"/usr/bin \ + "${COOKBOOK_STAGE}"/usr/lib/golang/{bin,lib,misc,pkg/include,pkg/tool,src} +rsync -a bin/redox_${GOARCH}/* "${COOKBOOK_STAGE}"/usr/lib/golang/bin/ +rsync -a lib/* "${COOKBOOK_STAGE}"/usr/lib/golang/lib/ +rsync -a misc/* "${COOKBOOK_STAGE}"/usr/lib/golang/misc/ +rsync -a pkg/include/* "${COOKBOOK_STAGE}"/usr/lib/golang/pkg/include/ +rsync -a pkg/tool/redox_${GOARCH} "${COOKBOOK_STAGE}"/usr/lib/golang/pkg/tool/ +rsync -a src/* "${COOKBOOK_STAGE}"/usr/lib/golang/src/ +cat go.env > "${COOKBOOK_STAGE}"/usr/lib/golang/go.env +ln -s "../lib/golang/bin/go" "${COOKBOOK_STAGE}"/usr/bin/go +ln -s "../lib/golang/bin/gofmt" "${COOKBOOK_STAGE}"/usr/bin/gofmt +""" diff --git a/recipes/wip/dev/lang/goiaba/recipe.toml b/recipes/wip/dev/lang/goiaba/recipe.toml new file mode 100644 index 00000000..9bbecea1 --- /dev/null +++ b/recipes/wip/dev/lang/goiaba/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/raphamorim/goiaba" +[build] +template = "cargo" diff --git a/recipes/wip/dev/lang/java/openjdk11-headless/recipe.toml b/recipes/wip/dev/lang/java/openjdk11-headless/recipe.toml new file mode 100644 index 00000000..af318c2d --- /dev/null +++ b/recipes/wip/dev/lang/java/openjdk11-headless/recipe.toml @@ -0,0 +1,17 @@ +#TODO can't find the configure script +#TODO build instructions - https://github.com/openjdk/jdk11u/blob/master/doc/building.md +[source] +git = "https://github.com/openjdk/jdk11u" +rev = "09b402a6bcecce976ee17ce358b0a90ea127ab69" +[build] +template = "custom" +dependencies = [ + "fontconfig", +] +script = """ +chmod a+x configure +COOKBOOK_CONFIGURE_FLAGS+=( + --enable-headless-only=yes +) +cookbook_configure +""" diff --git a/recipes/wip/dev/lang/java/openjdk17-headless/recipe.toml b/recipes/wip/dev/lang/java/openjdk17-headless/recipe.toml new file mode 100644 index 00000000..46b8b8b9 --- /dev/null +++ b/recipes/wip/dev/lang/java/openjdk17-headless/recipe.toml @@ -0,0 +1,17 @@ +#TODO build instructions - https://github.com/openjdk/jdk17u/blob/master/doc/building.md +#TODO add supported autoconf options +[source] +git = "https://github.com/openjdk/jdk17u" +rev = "b78a848cc7ae5787d9ec9ea0ce843cd63b06efec" +[build] +template = "custom" +dependencies = [ + "fontconfig", +] +script = """ +chmod a+x configure +COOKBOOK_CONFIGURE_FLAGS+=( + --enable-headless-only=yes +) +cookbook_configure +""" diff --git a/recipes/wip/dev/lang/java/openjdk21-headless/recipe.toml b/recipes/wip/dev/lang/java/openjdk21-headless/recipe.toml new file mode 100644 index 00000000..bdeea3dd --- /dev/null +++ b/recipes/wip/dev/lang/java/openjdk21-headless/recipe.toml @@ -0,0 +1,17 @@ +#TODO build instructions - https://github.com/openjdk/jdk21u/blob/master/doc/building.md +#TODO can't find the configure script +[source] +git = "https://github.com/openjdk/jdk21u" +rev = "060c4f7589e7f13febd402f4dac3320f4c032b08" +[build] +template = "custom" +dependencies = [ + "fontconfig", +] +script = """ +chmod a+x configure +COOKBOOK_CONFIGURE_FLAGS+=( + --enable-headless-only=yes +) +cookbook_configure +""" diff --git a/recipes/wip/dev/lang/java/openjdk8-headless/recipe.toml b/recipes/wip/dev/lang/java/openjdk8-headless/recipe.toml new file mode 100644 index 00000000..9261f81e --- /dev/null +++ b/recipes/wip/dev/lang/java/openjdk8-headless/recipe.toml @@ -0,0 +1,10 @@ +#TODO build instructions - https://github.com/openjdk/jdk8u/blob/master/doc/building.md +#TODO require the headless option +[source] +git = "https://github.com/openjdk/jdk8u" +rev = "9c9d6b267c41e4c713cacc41befb66007cdb2601" +[build] +template = "custom" +dependencies = [ + "freetype2", +] diff --git a/recipes/wip/dev/lang/lacc/recipe.toml b/recipes/wip/dev/lang/lacc/recipe.toml new file mode 100644 index 00000000..445575ef --- /dev/null +++ b/recipes/wip/dev/lang/lacc/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/larmel/lacc" +rev = "30839843daaff9d87574b5854854c9ee4610cdcd" +[build] +template = "configure" diff --git a/recipes/wip/dev/lang/llvm-mingw/recipe.toml b/recipes/wip/dev/lang/llvm-mingw/recipe.toml new file mode 100644 index 00000000..93bef5ac --- /dev/null +++ b/recipes/wip/dev/lang/llvm-mingw/recipe.toml @@ -0,0 +1,10 @@ +#TODO missing script, read the llvm18 recipe for reference +# build instructions: https://github.com/mstorsjo/llvm-mingw#building-from-source +[source] +git = "https://github.com/mstorsjo/llvm-mingw" +rev = "40ccfd163eee35468c0cc5f356649d13029aec8b" +[build] +template = "custom" +dependencies = [ + "zlib", +] diff --git a/recipes/wip/dev/lang/mono/recipe.toml b/recipes/wip/dev/lang/mono/recipe.toml new file mode 100644 index 00000000..9aefc5e6 --- /dev/null +++ b/recipes/wip/dev/lang/mono/recipe.toml @@ -0,0 +1,5 @@ +#TODO can't recognize the redox target +[source] +tar = "https://dl.winehq.org/mono/sources/mono/mono-6.14.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/dev/lang/nodejs-21/recipe.toml b/recipes/wip/dev/lang/nodejs-21/recipe.toml new file mode 100644 index 00000000..7b5d1d6d --- /dev/null +++ b/recipes/wip/dev/lang/nodejs-21/recipe.toml @@ -0,0 +1,49 @@ +#TODO page fault +[source] +tar = "https://nodejs.org/dist/v21.7.3/node-v21.7.3.tar.xz" +blake3 = "95a56db4f9729b2f8384ab58ccb2ec0c41da05991f7400ef97bd76748d77870b" +patches = ["redox.patch"] + +[build] +template = "custom" +dependencies = [ + "libbrotli", + "c-ares", + "libuv", + "ngtcp2", + "nghttp2", + "nghttp3", + "openssl3", + "sqlite3", + "zlib", + "zstd", +] +script = """ +DYNAMIC_INIT +export PYTHONDONTWRITEBYTECODE=1 +export CC_host="$CC_WRAPPER gcc" CXX_host="$CC_WRAPPER g++" + +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ + +case "${TARGET}" in + x86-unknown-redox) export NODE_CPU=x32;; + x86_64-unknown-redox) export NODE_CPU=x64;; + aarch64-unknown-redox) export NODE_CPU=arm64;; +esac + +COOKBOOK_CONFIGURE_FLAGS=( + --prefix=/usr + --dest-cpu=${NODE_CPU} + --dest-os=redox + --shared-cares + --shared-libuv + --shared-ngtcp2 + --shared-nghttp2 + --shared-nghttp3 + --shared-openssl + --shared-zlib + --cross-compiling +) +COOKBOOK_CONFIGURE="./configure" +cookbook_configure +""" diff --git a/recipes/wip/dev/lang/nodejs-21/redox.patch b/recipes/wip/dev/lang/nodejs-21/redox.patch new file mode 100644 index 00000000..3a665e90 --- /dev/null +++ b/recipes/wip/dev/lang/nodejs-21/redox.patch @@ -0,0 +1,540 @@ +diff -ruwN source/configure.py source-new/configure.py +--- source/configure.py 2024-04-10 19:46:11.000000000 +0700 ++++ source-new/configure.py 2025-10-10 13:46:04.244040340 +0700 +@@ -46,7 +46,7 @@ + parser = argparse.ArgumentParser() + + valid_os = ('win', 'mac', 'solaris', 'freebsd', 'openbsd', 'linux', +- 'android', 'aix', 'cloudabi', 'os400', 'ios') ++ 'android', 'aix', 'cloudabi', 'os400', 'ios', 'redox') + valid_arch = ('arm', 'arm64', 'ia32', 'mips', 'mipsel', 'mips64el', 'ppc', + 'ppc64', 'x64', 'x86', 'x86_64', 's390x', 'riscv64', 'loong64') + valid_arm_float_abi = ('soft', 'softfp', 'hard') +diff -ruwN source/deps/v8/bazel/config/BUILD.bazel source-new/deps/v8/bazel/config/BUILD.bazel +--- source/deps/v8/bazel/config/BUILD.bazel 2024-04-10 19:46:12.000000000 +0700 ++++ source-new/deps/v8/bazel/config/BUILD.bazel 2025-10-10 15:52:40.317126983 +0700 +@@ -144,6 +144,11 @@ + ) + + config_setting( ++ name = "is_redox", ++ constraint_values = ["@platforms//os:redox"], ++) ++ ++config_setting( + name = "is_linux", + constraint_values = ["@platforms//os:linux"], + ) +@@ -204,6 +209,7 @@ + selects.config_setting_group( + name = "is_non_android_posix", + match_any = [ ++ ":is_redox", + ":is_linux", + ":is_macos", + ], +diff -ruwN source/deps/v8/BUILD.bazel source-new/deps/v8/BUILD.bazel +--- source/deps/v8/BUILD.bazel 2024-04-10 19:46:12.000000000 +0700 ++++ source-new/deps/v8/BUILD.bazel 2025-10-10 16:05:33.775461039 +0700 +@@ -758,6 +758,11 @@ + "src/base/debug/stack_trace_posix.cc", + "src/base/platform/platform-darwin.cc", + ], ++ "@v8//bazel/config:is_redox": [ ++ "src/base/debug/stack_trace_posix.cc", ++ "src/base/platform/platform-redox.cc", ++ "src/base/platform/platform-redox.h", ++ ], + "@v8//bazel/config:is_windows": [ + "src/base/debug/stack_trace_win.cc", + "src/base/platform/platform-win32.cc", +diff -ruwN source/deps/v8/BUILD.gn source-new/deps/v8/BUILD.gn +--- source/deps/v8/BUILD.gn 2024-04-10 19:46:12.000000000 +0700 ++++ source-new/deps/v8/BUILD.gn 2025-10-10 21:27:40.939874152 +0700 +@@ -5538,8 +5538,9 @@ + if (v8_enable_webassembly) { + # iOS Xcode simulator builds run on an x64 target. iOS and macOS are both + # based on Darwin and thus POSIX-compliant to a similar degree. +- if (is_linux || is_chromeos || is_mac || is_ios || ++ if (is_linux || is_redox || is_chromeos || is_mac || is_ios || + target_os == "freebsd") { ++ assert(false, "gatchs") + sources += [ + "src/trap-handler/handler-inside-posix.cc", + "src/trap-handler/handler-outside-posix.cc", +@@ -5590,8 +5591,8 @@ + if (v8_enable_webassembly) { + # Trap handling is enabled on arm64 Mac and Linux and in simulators on + # x64 on Linux, Mac, and Windows. +- if ((current_cpu == "arm64" && (is_linux || is_chromeos || is_apple)) || +- (current_cpu == "x64" && (is_linux || is_chromeos || is_mac))) { ++ if ((current_cpu == "arm64" && (is_linux || is_redox || is_chromeos || is_apple)) || ++ (current_cpu == "x64" && (is_linux || is_redox || is_chromeos || is_mac))) { + sources += [ + "src/trap-handler/handler-inside-posix.cc", + "src/trap-handler/handler-outside-posix.cc", +@@ -6174,6 +6175,11 @@ + "src/base/debug/stack_trace_posix.cc", + "src/base/platform/platform-darwin.cc", + ] ++ } else if (is_redox) { ++ sources += [ ++ "src/base/debug/stack_trace_posix.cc", ++ "src/base/platform/platform-redox.cc", ++ ] + } else if (is_ios) { + sources += [ + "src/base/debug/stack_trace_posix.cc", +diff -ruwN source/deps/v8/include/v8config.h source-new/deps/v8/include/v8config.h +--- source/deps/v8/include/v8config.h 2024-04-10 19:46:12.000000000 +0700 ++++ source-new/deps/v8/include/v8config.h 2025-10-10 22:03:04.057821844 +0700 +@@ -159,6 +159,11 @@ + # define V8_OS_QNX 1 + # define V8_OS_STRING "qnx" + ++#elif defined(__redox__) ++# define V8_OS_POSIX 1 ++# define V8_OS_REDOX 1 ++# define V8_OS_STRING "redox" ++ + #elif defined(_WIN32) + # define V8_OS_WIN 1 + # define V8_OS_STRING "windows" +@@ -185,6 +190,7 @@ + && !defined(V8_TARGET_OS_IOS) \ + && !defined(V8_TARGET_OS_LINUX) \ + && !defined(V8_TARGET_OS_MACOS) \ ++ && !defined(V8_TARGET_OS_REDOX) \ + && !defined(V8_TARGET_OS_WIN) \ + && !defined(V8_TARGET_OS_CHROMEOS) + # error No known target OS defined. +@@ -197,6 +203,7 @@ + || defined(V8_TARGET_OS_IOS) \ + || defined(V8_TARGET_OS_LINUX) \ + || defined(V8_TARGET_OS_MACOS) \ ++ || defined(V8_TARGET_OS_REDOX) \ + || defined(V8_TARGET_OS_WIN) \ + || defined(V8_TARGET_OS_CHROMEOS) + # error A target OS is defined but V8_HAVE_TARGET_OS is unset. +@@ -223,6 +230,10 @@ + # define V8_TARGET_OS_MACOS + #endif + ++#ifdef V8_OS_REDOX ++# define V8_TARGET_OS_REDOX ++#endif ++ + #ifdef V8_OS_WIN + # define V8_TARGET_OS_WIN + #endif +@@ -239,6 +250,8 @@ + # define V8_TARGET_OS_STRING "linux" + #elif defined(V8_TARGET_OS_MACOS) + # define V8_TARGET_OS_STRING "macos" ++#elif defined(V8_TARGET_OS_REDOX) ++# define V8_TARGET_OS_STRING "redox" + #elif defined(V8_TARGET_OS_WINDOWS) + # define V8_TARGET_OS_STRING "windows" + #else +diff -ruwN source/deps/v8/src/base/platform/memory.h source-new/deps/v8/src/base/platform/memory.h +--- source/deps/v8/src/base/platform/memory.h 2024-04-10 19:46:12.000000000 +0700 ++++ source-new/deps/v8/src/base/platform/memory.h 2025-10-10 13:46:04.297422792 +0700 +@@ -23,9 +23,9 @@ + #include + #endif // !V8_OS_DARWIN + +-#if (V8_OS_POSIX && !V8_OS_AIX && !V8_OS_SOLARIS) || V8_OS_WIN ++#if (V8_OS_POSIX && !V8_OS_AIX && !V8_OS_SOLARIS && !V8_OS_REDOX) || V8_OS_WIN + #define V8_HAS_MALLOC_USABLE_SIZE 1 +-#endif // (V8_OS_POSIX && !V8_OS_AIX && !V8_OS_SOLARIS) || V8_OS_WIN ++#endif // (V8_OS_POSIX && !V8_OS_AIX && !V8_OS_SOLARIS && !V8_OS_REDOX) || V8_OS_WIN + + namespace v8::base { + +diff -ruwN source/deps/v8/src/base/platform/platform-posix.cc source-new/deps/v8/src/base/platform/platform-posix.cc +--- source/deps/v8/src/base/platform/platform-posix.cc 2024-04-10 19:46:12.000000000 +0700 ++++ source-new/deps/v8/src/base/platform/platform-posix.cc 2025-10-10 13:46:04.416447015 +0700 +@@ -28,6 +28,10 @@ + #include // for sysctl + #endif + ++#if defined(__redox__) ++ #define PTHREAD_STACK_MIN 4096 ++#endif ++ + #if defined(ANDROID) && !defined(V8_ANDROID_LOG_STDOUT) + #define LOG_TAG "v8" + #include +@@ -69,7 +73,7 @@ + #include + #endif + +-#if !defined(_AIX) && !defined(V8_OS_FUCHSIA) ++#if !defined(_AIX) && !defined(V8_OS_FUCHSIA) && !defined(V8_OS_REDOX) + #include + #endif + +@@ -135,7 +139,7 @@ + int flags = MAP_ANONYMOUS; + flags |= (page_type == PageType::kShared) ? MAP_SHARED : MAP_PRIVATE; + if (access == OS::MemoryPermission::kNoAccess) { +-#if !V8_OS_AIX && !V8_OS_FREEBSD && !V8_OS_QNX ++#if !V8_OS_AIX && !V8_OS_FREEBSD && !V8_OS_QNX && !V8_OS_REDOX + flags |= MAP_NORESERVE; + #endif // !V8_OS_AIX && !V8_OS_FREEBSD && !V8_OS_QNX + #if V8_OS_QNX +diff -ruwN source/deps/v8/src/base/platform/platform-redox.cc source-new/deps/v8/src/base/platform/platform-redox.cc +--- source/deps/v8/src/base/platform/platform-redox.cc 1970-01-01 07:00:00.000000000 +0700 ++++ source-new/deps/v8/src/base/platform/platform-redox.cc 2025-10-10 15:23:18.233737033 +0700 +@@ -0,0 +1,63 @@ ++// Copyright 2014 the V8 project authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++// Platform specific code for Redox goes here. For the POSIX comaptible parts ++// the implementation is in platform-posix.cc. ++ ++#include ++#include ++#include ++#include ++ ++#include ++ ++#undef MAP_TYPE ++ ++#include "src/base/macros.h" ++#include "src/base/platform/platform-posix-time.h" ++#include "src/base/platform/platform-posix.h" ++#include "src/base/platform/platform.h" ++ ++namespace v8 { ++namespace base { ++ ++ ++int64_t get_gmt_offset(const tm& localtm) { ++ // replacement for tm->tm_gmtoff field in glibc ++ // returns seconds east of UTC, taking DST into account ++ struct timeval tv; ++ struct timezone tz; ++ int ret_code = gettimeofday(&tv, &tz); ++ // 0 = success, -1 = failure ++ DCHECK_NE(ret_code, -1); ++ if (ret_code == -1) { ++ return 0; ++ } ++ return (-tz.tz_minuteswest * 60) + (localtm.tm_isdst > 0 ? 3600 : 0); ++} ++ ++TimezoneCache* OS::CreateTimezoneCache() { ++ return new PosixDefaultTimezoneCache(); ++} ++ ++static unsigned StringToLong(char* buffer) { ++ return static_cast(strtol(buffer, nullptr, 16)); ++} ++ ++std::vector OS::GetSharedLibraryAddresses() { ++ UNREACHABLE(); ++} ++ ++void OS::SignalCodeMovingGC() {} ++ ++void OS::AdjustSchedulingParams() {} ++ ++std::vector OS::GetFreeMemoryRangesWithin( ++ OS::Address boundary_start, OS::Address boundary_end, size_t minimum_size, ++ size_t alignment) { ++ return {}; ++} ++ ++} // namespace base ++} // namespace v8 +diff -ruwN source/deps/v8/src/libsampler/sampler.cc source-new/deps/v8/src/libsampler/sampler.cc +--- source/deps/v8/src/libsampler/sampler.cc 2024-04-10 19:46:13.000000000 +0700 ++++ source-new/deps/v8/src/libsampler/sampler.cc 2025-10-10 13:46:04.417193700 +0700 +@@ -16,11 +16,11 @@ + #include + #include + +-#if !V8_OS_QNX && !V8_OS_AIX ++#if !V8_OS_QNX && !V8_OS_AIX && !V8_OS_REDOX + #include + #endif + +-#if V8_OS_AIX || V8_TARGET_ARCH_S390X ++#if V8_OS_AIX || V8_OS_REDOX || V8_TARGET_ARCH_S390X + + #include "src/base/platform/time.h" + +diff -ruwN source/deps/v8/src/trap-handler/handler-inside-posix.cc source-new/deps/v8/src/trap-handler/handler-inside-posix.cc +--- source/deps/v8/src/trap-handler/handler-inside-posix.cc 2024-04-10 19:46:13.000000000 +0700 ++++ source-new/deps/v8/src/trap-handler/handler-inside-posix.cc 2025-10-11 12:32:56.074858844 +0700 +@@ -23,6 +23,7 @@ + // context. Some additional code is used both inside and outside the signal + // handler. This code can be found in handler-shared.cc. + ++#ifndef __redox__ + #include "src/trap-handler/handler-inside-posix.h" + + #include +@@ -102,7 +103,6 @@ + asm("v8_simulator_probe_memory_continuation"); + #endif + #endif // V8_TRAP_HANDLER_VIA_SIMULATOR +- + bool TryHandleSignal(int signum, siginfo_t* info, void* context) { + // Ensure the faulting thread was actually running Wasm code. This should be + // the first check in the trap handler to guarantee that the +@@ -197,3 +197,5 @@ + } // namespace trap_handler + } // namespace internal + } // namespace v8 ++ ++#endif +diff -ruwN source/deps/v8/src/trap-handler/handler-inside-posix.h source-new/deps/v8/src/trap-handler/handler-inside-posix.h +--- source/deps/v8/src/trap-handler/handler-inside-posix.h 2024-04-10 19:46:13.000000000 +0700 ++++ source-new/deps/v8/src/trap-handler/handler-inside-posix.h 2025-10-10 21:44:55.221873295 +0700 +@@ -4,7 +4,7 @@ + + #ifndef V8_TRAP_HANDLER_HANDLER_INSIDE_POSIX_H_ + #define V8_TRAP_HANDLER_HANDLER_INSIDE_POSIX_H_ +- ++#ifndef __redox__ + #include + + #include "include/v8config.h" +@@ -28,5 +28,5 @@ + } // namespace trap_handler + } // namespace internal + } // namespace v8 +- ++#endif + #endif // V8_TRAP_HANDLER_HANDLER_INSIDE_POSIX_H_ +diff -ruwN source/deps/v8/src/wasm/std-object-sizes.h source-new/deps/v8/src/wasm/std-object-sizes.h +--- source/deps/v8/src/wasm/std-object-sizes.h 2024-04-10 19:46:13.000000000 +0700 ++++ source-new/deps/v8/src/wasm/std-object-sizes.h 2025-10-10 13:46:04.591737114 +0700 +@@ -54,24 +54,7 @@ + return raw * 4 / 3; + } + +-// To make it less likely for size estimation functions to become outdated +-// when the classes they're responsible for change, we insert static asserts +-// about the respective class's size into them to at least catch some possible +-// future modifications. Since object sizes are toolchain specific, we define +-// restrictions here under which we enable these checks. +-// When one of these checks fails, that probably means you've added fields to +-// a class guarded by it. Update the respective EstimateCurrentMemoryConsumption +-// function accordingly, and then update the check's expected size. +-#if V8_TARGET_ARCH_X64 && defined(__clang__) && V8_TARGET_OS_LINUX && \ +- !V8_USE_ADDRESS_SANITIZER && !V8_USE_MEMORY_SANITIZER && defined(DEBUG) && \ +- V8_COMPRESS_POINTERS && !defined(V8_GC_MOLE) && defined(_LIBCPP_VERSION) +-#define UPDATE_WHEN_CLASS_CHANGES(classname, size) \ +- static_assert(sizeof(classname) == size, \ +- "Update {EstimateCurrentMemoryConsumption} when adding " \ +- "fields to " #classname) +-#else + #define UPDATE_WHEN_CLASS_CHANGES(classname, size) (void)0 +-#endif + + } // namespace v8::internal::wasm + +diff -ruwN source/src/debug_utils.cc source-new/src/debug_utils.cc +--- source/src/debug_utils.cc 2024-04-10 19:46:14.000000000 +0700 ++++ source-new/src/debug_utils.cc 2025-10-10 13:46:04.755669055 +0700 +@@ -14,7 +14,7 @@ + + #if defined(__linux__) && !defined(__GLIBC__) || \ + defined(__UCLIBC__) || \ +- defined(_AIX) ++ defined(_AIX) || defined(__redox__) + #define HAVE_EXECINFO_H 0 + #else + #define HAVE_EXECINFO_H 1 +diff -ruwN source/src/node_credentials.cc source-new/src/node_credentials.cc +--- source/src/node_credentials.cc 2024-04-10 19:46:14.000000000 +0700 ++++ source-new/src/node_credentials.cc 2025-10-10 13:46:04.816900208 +0700 +@@ -182,7 +182,7 @@ + + static uid_t uid_by_name(Isolate* isolate, Local value) { + if (value->IsUint32()) { +- static_assert(std::is_same::value); ++ // static_assert(std::is_same::value); + return value.As()->Value(); + } else { + Utf8Value name(isolate, value); +@@ -192,7 +192,7 @@ + + static gid_t gid_by_name(Isolate* isolate, Local value) { + if (value->IsUint32()) { +- static_assert(std::is_same::value); ++ // static_assert(std::is_same::value); + return value.As()->Value(); + } else { + Utf8Value name(isolate, value); +diff -ruwN source/src/node_report.cc source-new/src/node_report.cc +--- source/src/node_report.cc 2024-04-10 19:46:14.000000000 +0700 ++++ source-new/src/node_report.cc 2025-10-10 13:46:05.190512964 +0700 +@@ -524,7 +524,7 @@ + while (line != -1) { + l = ss.substr(0, line); + l.erase(l.begin(), std::find_if(l.begin(), l.end(), [](int ch) { +- return !std::iswspace(ch); ++ return !std::isspace(ch); + })); + writer->json_element(l); + ss = ss.substr(line + 1); +diff -ruwN source/tools/gyp/pylib/gyp/common.py source-new/tools/gyp/pylib/gyp/common.py +--- source/tools/gyp/pylib/gyp/common.py 2024-04-10 19:46:15.000000000 +0700 ++++ source-new/tools/gyp/pylib/gyp/common.py 2025-10-10 21:36:23.972976264 +0700 +@@ -445,6 +445,8 @@ + return "netbsd" + if sys.platform.startswith("aix"): + return "aix" ++ if sys.platform.startswith("redox"): ++ return "redox" + if sys.platform.startswith(("os390", "zos")): + return "zos" + if sys.platform == "os400": +diff -ruwN source/tools/gyp/pylib/gyp/generator/make.py source-new/tools/gyp/pylib/gyp/generator/make.py +--- source/tools/gyp/pylib/gyp/generator/make.py 2024-04-10 19:46:15.000000000 +0700 ++++ source-new/tools/gyp/pylib/gyp/generator/make.py 2025-10-10 14:27:51.496602771 +0700 +@@ -1868,7 +1868,7 @@ + self.flavor not in ("mac", "openbsd", "netbsd", "win") + and not self.is_standalone_static_library + ): +- if self.flavor in ("linux", "android"): ++ if self.flavor in ("linux", "android", "redox"): + self.WriteMakeRule( + [self.output_binary], + link_deps, +@@ -1883,7 +1883,7 @@ + postbuilds=postbuilds, + ) + else: +- if self.flavor in ("linux", "android"): ++ if self.flavor in ("linux", "android", "redox"): + self.WriteMakeRule( + [self.output_binary], + link_deps, +diff -ruwN source/tools/v8_gypfiles/d8.gyp source-new/tools/v8_gypfiles/d8.gyp +--- source/tools/v8_gypfiles/d8.gyp 2024-04-10 19:46:15.000000000 +0700 ++++ source-new/tools/v8_gypfiles/d8.gyp 2025-10-10 21:34:47.141291162 +0700 +@@ -47,7 +47,7 @@ + }], + ['(OS=="linux" or OS=="mac" or OS=="freebsd" or OS=="netbsd" \ + or OS=="openbsd" or OS=="solaris" or OS=="android" \ +- or OS=="qnx" or OS=="aix" or OS=="os400")', { ++ or OS=="qnx" or OS=="aix" or OS=="redox" or OS=="os400")', { + 'sources': [ '<(V8_ROOT)/src/d8/d8-posix.cc', ] + }], + [ 'OS=="win"', { +diff -ruwN source/tools/v8_gypfiles/toolchain.gypi source-new/tools/v8_gypfiles/toolchain.gypi +--- source/tools/v8_gypfiles/toolchain.gypi 2024-04-10 19:46:15.000000000 +0700 ++++ source-new/tools/v8_gypfiles/toolchain.gypi 2025-10-10 21:57:05.129575573 +0700 +@@ -575,6 +575,12 @@ + 'V8_TARGET_OS_MACOS', + ] + }], ++ ['OS=="redox"', { ++ 'defines': [ ++ 'V8_HAVE_TARGET_OS', ++ 'V8_TARGET_OS_REDOX', ++ ] ++ }], + ['OS=="win"', { + 'defines': [ + 'V8_HAVE_TARGET_OS', +@@ -661,7 +667,7 @@ + ], + }], + ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris" \ +- or OS=="netbsd" or OS=="qnx" or OS=="aix" or OS=="os400"', { ++ or OS=="netbsd" or OS=="qnx" or OS=="aix" or OS=="redox" or OS=="os400"', { + 'conditions': [ + [ 'v8_no_strict_aliasing==1', { + 'cflags': [ '-fno-strict-aliasing' ], +diff -ruwN source/tools/v8_gypfiles/v8.gyp source-new/tools/v8_gypfiles/v8.gyp +--- source/tools/v8_gypfiles/v8.gyp 2024-04-10 19:46:15.000000000 +0700 ++++ source-new/tools/v8_gypfiles/v8.gyp 2025-10-11 12:14:17.137386469 +0700 +@@ -606,7 +606,7 @@ + }], + ['v8_enable_webassembly==1', { + 'conditions': [ +- ['OS=="linux" or OS=="mac" or OS=="ios" or OS=="freebsd"', { ++ ['OS=="linux" or OS=="redox" or OS=="mac" or OS=="ios" or OS=="freebsd"', { + 'sources': [ + '<(V8_ROOT)/src/trap-handler/handler-inside-posix.h', + ], +@@ -637,7 +637,7 @@ + }], + ['v8_enable_webassembly==1', { + 'conditions': [ +- ['((_toolset=="host" and host_arch=="arm64" or _toolset=="target" and target_arch=="arm64") and (OS=="linux" or OS=="mac")) or ((_toolset=="host" and host_arch=="x64" or _toolset=="target" and target_arch=="x64") and (OS=="linux" or OS=="mac"))', { ++ ['((_toolset=="host" and host_arch=="arm64" or _toolset=="target" and target_arch=="arm64") and (OS=="linux" or OS=="mac")) or ((_toolset=="host" and host_arch=="x64" or _toolset=="target" and target_arch=="x64") and (OS=="linux" or OS=="redox" or OS=="mac"))', { + 'sources': [ + '<(V8_ROOT)/src/trap-handler/handler-inside-posix.h', + ], +@@ -941,7 +941,7 @@ + }], + ['v8_enable_webassembly==1', { + 'conditions': [ +- ['OS=="linux" or OS=="mac" or OS=="ios" or OS=="freebsd"', { ++ ['OS=="linux" or OS=="redox" or OS=="mac" or OS=="ios" or OS=="freebsd"', { + 'sources': [ + '<(V8_ROOT)/src/trap-handler/handler-inside-posix.cc', + '<(V8_ROOT)/src/trap-handler/handler-outside-posix.cc', +@@ -969,7 +969,7 @@ + 'conditions': [ + ['v8_enable_webassembly==1', { + 'conditions': [ +- ['((_toolset=="host" and host_arch=="arm64" or _toolset=="target" and target_arch=="arm64") and (OS=="linux" or OS=="mac" or OS=="ios")) or ((_toolset=="host" and host_arch=="x64" or _toolset=="target" and target_arch=="x64") and (OS=="linux" or OS=="mac"))', { ++ ['((_toolset=="host" and host_arch=="arm64" or _toolset=="target" and target_arch=="arm64") and (OS=="linux" or OS=="redox" or OS=="mac" or OS=="ios")) or ((_toolset=="host" and host_arch=="x64" or _toolset=="target" and target_arch=="x64") and (OS=="linux" or OS=="redox" or OS=="mac"))', { + 'sources': [ + '<(V8_ROOT)/src/trap-handler/handler-inside-posix.cc', + '<(V8_ROOT)/src/trap-handler/handler-outside-posix.cc', +@@ -981,7 +981,7 @@ + '<(V8_ROOT)/src/trap-handler/handler-outside-win.cc', + ], + }], +- ['(_toolset=="host" and host_arch=="x64" or _toolset=="target" and target_arch=="x64") and (OS=="linux" or OS=="mac" or OS=="win")', { ++ ['(_toolset=="host" and host_arch=="x64" or _toolset=="target" and target_arch=="x64") and (OS=="linux" or OS=="redox" or OS=="mac" or OS=="win")', { + 'sources': [ + '<(V8_ROOT)/src/trap-handler/handler-outside-simulator.cc', + ], +@@ -1323,6 +1323,35 @@ + # end of conditions from 'BUILD.gn' + + # Node.js validated ++ ['OS=="redox"', { ++ 'link_settings': { ++ 'target_conditions': [ ++ ['_toolset=="host"', { ++ 'libraries': [ ++ '-ldl' ++ ], ++ }], ++ ], ++ }, ++ 'sources': [ ++ '<(V8_ROOT)/src/base/platform/platform-posix.cc', ++ '<(V8_ROOT)/src/base/platform/platform-posix.h', ++ '<(V8_ROOT)/src/base/platform/platform-posix-time.cc', ++ '<(V8_ROOT)/src/base/platform/platform-posix-time.h', ++ '<(V8_ROOT)/src/base/debug/stack_trace_posix.cc', ++ ], ++ 'target_conditions': [ ++ ['_toolset=="host"', { ++ 'sources': [ ++ '<(V8_ROOT)/src/base/platform/platform-linux.cc', ++ ], ++ }, { ++ 'sources': [ ++ '<(V8_ROOT)/src/base/platform/platform-redox.cc', ++ ], ++ }], ++ ], ++ }], + ['OS=="solaris"', { + 'link_settings': { + 'libraries': [ diff --git a/recipes/wip/dev/lang/nodejs-24/01_redox.patch b/recipes/wip/dev/lang/nodejs-24/01_redox.patch new file mode 100644 index 00000000..f80a8993 --- /dev/null +++ b/recipes/wip/dev/lang/nodejs-24/01_redox.patch @@ -0,0 +1,12 @@ +diff -ruwN source/configure.py source-new/configure.py +--- source/configure.py 2025-07-31 15:37:54.000000000 +0700 ++++ source-new/configure.py 2025-08-03 00:37:51.836604059 +0700 +@@ -44,7 +44,7 @@ + # parse our options + parser = argparse.ArgumentParser() + +-valid_os = ('win', 'mac', 'solaris', 'freebsd', 'openbsd', 'linux', ++valid_os = ('win', 'mac', 'solaris', 'freebsd', 'openbsd', 'linux', 'redox', + 'android', 'aix', 'cloudabi', 'os400', 'ios', 'openharmony') + valid_arch = ('arm', 'arm64', 'ia32', 'mips', 'mipsel', 'mips64el', + 'ppc64', 'x64', 'x86', 'x86_64', 's390x', 'riscv64', 'loong64') diff --git a/recipes/wip/dev/lang/nodejs-24/recipe.toml b/recipes/wip/dev/lang/nodejs-24/recipe.toml new file mode 100644 index 00000000..cfd29f13 --- /dev/null +++ b/recipes/wip/dev/lang/nodejs-24/recipe.toml @@ -0,0 +1,63 @@ +#TODO requires stdc++20 +[source] +tar = "https://nodejs.org/dist/v24.5.0/node-v24.9.0.tar.xz" +blake3 = "c710713c9144dc2dfadaef1d180b295d85edd9945513017fc700af68eb08a251" +patches = ["01_redox.patch"] + +[build] +template = "custom" +dependencies = [ +# "ada", + "libbrotli", + "c-ares", + "libuv", + "ngtcp2", + "nghttp2", +# "http-parser", + "nghttp3", + "openssl1", + "simdjson", + "simdutf", + "sqlite3", +# "uvwasi", + "zlib", + "zstd", +] +script = """ +DYNAMIC_INIT +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ + +case "${TARGET}" in + x86-unknown-redox) + export NODE_CPU=x32 + ;; + x86_64-unknown-redox) + export NODE_CPU=x64 + ;; + aarch64-unknown-redox) + export NODE_CPU=arm64 + ;; +esac + +COOKBOOK_CONFIGURE_FLAGS=( + --prefix=${COOKBOOK_STAGE} + --dest-cpu=${NODE_CPU} + --dest-os=redox + --shared-cares + --shared-libuv + --shared-ngtcp2 + --shared-nghttp2 + --shared-nghttp3 + --shared-openssl + --shared-simdjson + --shared-simdutf + --shared-zlib + --shared-zstd + --cross-compiling + --without-sqlite + --without-inspector + --without-intl +) +COOKBOOK_CONFIGURE="./configure" +cookbook_configure +""" diff --git a/recipes/wip/dev/lang/perl5/configure_tool.sh b/recipes/wip/dev/lang/perl5/configure_tool.sh new file mode 100644 index 00000000..23d3878e --- /dev/null +++ b/recipes/wip/dev/lang/perl5/configure_tool.sh @@ -0,0 +1,351 @@ +# Toolchain detection + +tryprog() { + log "trying $1=$2" + if command -v $2 1>/dev/null 2>/dev/null; then + define "$1" "$2" + result "$2" + return 0 + else + return 1 + fi +} + +tryfromenv() { + if [ "$mode" = "buildmini" ]; then + getenv ev "HOST$2" + else + getenv ev "$2" + fi + + if [ -n "$ev" ]; then + tryprog $1 "$ev" && return 0 + die "Supplied $ev is not usable" + fi + + unset ev + return 1 +} + +# This is only a function for easy access to return-s +# try.out contains `$cc --version` output. +# +# Figuring out gcc is necessary to make sure -fwrapv fix gets applied. + +detect_cc_version() { + _v=`sed -ne '/^gcc version \([0-9][0-9.]*\).*/s//\1/p' try.out` + + if [ -n "$_v" ]; then + define cctype 'gcc' + define ccversion "$_v" + define gccversion "$_v" + result "gcc $_v" + return + fi + + _v=`sed -ne '/^clang version \([0-9][0-9.]*\).*/s//\1/p' try.out` + + if [ -n "$_v" ]; then + define cctype 'clang' + define ccversion "$_v" + define gccversion "0.0" + result "clang $_v" + return + fi + + define cctype 'cc' + define ccversion '' + define gccversion '0.0' + result 'unknown' +} + +# whichprog symbol VAR prog1 prog2 +whichprog() { + mstart "Checking for $1" + hinted "$1" && return 0 + + # Maybe we've got $CC or $HOSTCC? + tryfromenv "$1" "$2" && return 0 + + # For anything that sounds like a native compilation, + # try no-prefix tools *first*. This is to avoid using + # long names is case the host happens to have them. + if [ "$mode" = 'native' -o "$mode" = 'buildmini' ]; then + tryprog $1 "$3" && return 0 + fi + + # Finally, try $target-gcc + test -n "$toolsprefix" && tryprog $1 "$toolsprefix$3" && return 0 + test -n "$target" && tryprog $1 "$target-$3" && return 0 + test -n "$targetarch" && tryprog $1 "$targetarch-$3" && return 0 + + result "none found" + return 1 +} + +whichprog cc CC gcc || whichprog cc CC cc || die "No C compiler found" +#whichprog ld LD ld # while correct, this breaks MM library test +whichprog ar AR ar || die "Cannot find ar" +whichprog nm NM nm +whichprog ranlib RANLIB ranlib +whichprog readelf READELF readelf || die "Cannot find readelf" +whichprog objdump OBJDUMP objdump || die "Cannot find objdump" + +# XXX: this looks wrong, but the usemmldlt code depends on $ld being able +# to compile try.c. What kind of moron could have written that. Oh wait. +# +# But, there was probably a reason to assume this, likely becase mainline +# Configure did and still does the same. So, ugh, leaving it as is for now. +# Speak of backward bug compatibility. +define ld "$cc" + +log + +mstart "Trying $cc" +if not hinted 'cctype'; then + run $cc -v >try.out 2>&1 + try_dump_out + detect_cc_version +fi + +mstart "Checking whether $cc is a C++ compiler" +if not hinted 'd_cplusplus'; then + try_start + try_cat < try.out 2>>$cfglog; then + define d_cplusplus 'undef' + result "probably no" + else + _r=`grep -v '^#' try.out | grep . | head -1 | grep '^YES'` + if [ -n "$_r" ]; then + define d_cplusplus 'define' + result "yes" + else + define d_cplusplus 'undef' + result 'no' + fi + fi +fi + +mstart "Deciding how to declare external symbols" +if not hinted "extern_C"; then + case "$d_cplusplus" in + define) + define "extern_C" 'extern "C"' + result "$extern_C" + ;; + *) + define "extern_C" 'extern' + result "$extern_C" + ;; + esac +fi + +# File name extensions, must be set before running any compile/link tests +define _o '.o' +define _a '.a' +define so 'so' +define _exe '' + +# Used only for modules +define cccdlflags '-fPIC -Wno-unused-function' +define ccdlflags '-Wl,-E' + +# Misc flags setup +predef lddlflags "-shared" # modules +predef ccflags '' # perl and modules +predef ldflags '' # perl only? +predef cppflags '' # unused? + +# setfromvar what SHELLVAR +setfromenv() { + getenv v "$2" + test -n "$v" && append "$1" "$v" +} + +if [ "$mode" = 'target' -o "$mode" = 'native' ]; then + setfromenv ccflags CFLAGS + setfromenv ldflags LDFLAGS + if [ -n "$sysroot" ]; then + msg "Adding --sysroot to {cc,ld}flags" + prepend ccflags "--sysroot=$sysroot" + prepend ldflags "--sysroot=$sysroot" + # While cccdlflags are used together with ccflags, + # ld is always called with lddlflags *instead*of* ldflags + prepend lddlflags "--sysroot=$sysroot" + # Same for cpp + prepend cppflags "--sysroot=$sysroot" + fi +elif [ "$mode" = 'buildmini' ]; then + setfromenv ccflags HOSTCFLAGS + setfromenv ldflags HOSTLDFLAGS +fi + +# Use $ldflags as default value for $lddlflags, together with whatever +# hints provided, but avoid re-setting anyting specified in the command line +if [ -n "$ldflags" -a "$x_lddlflags" != "user" ]; then + append lddlflags "$ldflags" +fi + +# enddef ccflags # done later in _hdrs because of LARGEFILE_SOURCE +enddef ldflags +enddef lddlflags +enddef cppflags + +mstart "Checking whether ld supports scripts" +if not hinted 'ld_can_script'; then + cat > try.c < try.h </dev/null + + if run $cc $cccdlflags $ccdlflags $ccflags $lddlflags -o a.out try.c \ + -Wl,--version-script=try.h >/dev/null 2>&1 \ + && test -s a.out + then + define ld_can_script 'define' + result "yes" + else + define ld_can_script 'undef' + result "no" + fi +fi + +# Guessing OS is better done with the toolchain available. +# CC output is crucial here -- Android toolchains come with +# generic armeabi prefix and "android" is one of the few osname +# values that make difference later. + +mstart "Trying to guess target OS" +if not hinted 'osname'; then + run $cc -v > try.out 2>&1 + try_dump_out + + _ct=`sed -ne '/^Target: /s///p' try.out` + test -z "$_ct" && _ct="$targetarch" + + case "$_ct" in + *-mingw32) + define osname "MSWin32" + result "MSWin32" + ;; + *-android|*-androideabi) + define osname "android" + result "Android" + ;; + *-linux*) + define osname "linux" + result "Linux" + ;; + *-netbsd*) + define osname "netbsd" + result "NetBSD" + ;; + *-bsd*) + define osname "bsd" + result "BSD" + ;; + *-gnu*) + define osname "gnu" + result "GNU" + ;; + *-midipix*) + define osname "midipix" + result "Midipix" + ;; + *-redox*) + define osname "redox" + result "Redox" + ;; + *) + result "no" + ;; + esac +fi + +# Check whether debugging should be enabled +# Allow -DEBUGGING as well (sets EBUGGING=define) +case "$DEBUGGING:$EBUGGING" in + :*) + DEBUGGING=$EBUGGING + ;; +esac + +mstart "Checking whether to enable -g" +predef optimize '' +case "$DEBUGGING" in + both|define) + append optimize "-g" + result "yes" ;; + *) + result "no" ;; +esac + +mstart "Checking whether to use -DDEBUGGING" +case "$DEBUGGING" in + both|define) + append optimize '-DDEBUGGING' + result "yes" ;; + *) + result "no" ;; +esac + +# gcc 4.9 and above does some optimizations that break perl. +# see perl ticket 121505. +if [ "$cctype" = 'gcc' ]; then + case "$ccversion" in + 1.*|2.*|3.*) ;; + 4.9*) append 'optimize' '-fwrapv -fno-strict-aliasing' ;; + 4.*) ;; + *) append 'optimize' '-fwrapv -fno-strict-aliasing' ;; + esac +fi +enddef optimize + +# These are kind-of part of toolchain, but we do not test them + +# For newer gcc-s, -E alone is *not* enough! Perl expects cpp not to break +# lines, but gcc injects #line directives in-between tokens, subtly breaking +# try_preproc and Errno.pm +define cpp "$cc -E -P" +define cpprun "$cpp" +define cppstdin "$cpp" + +define cpplast - +define cppminus - +define cppsymbols + +define nm_opt +define nm_so_opt + +# cperl wants to know this for some reason +mstart "Checking whether address sanitizer is enabled" +if not hinted sanitize_address 'yes' 'no'; then + case "$ccflags" in + *-fsanitize=address*|*-faddress-sanitizer*) + define sanitize_address 'define' + result 'yes' + ;; + *) + define sanitize_address 'undef' + result 'no' + ;; + esac +fi diff --git a/recipes/wip/dev/lang/perl5/recipe.toml b/recipes/wip/dev/lang/perl5/recipe.toml new file mode 100644 index 00000000..ab8b3e60 --- /dev/null +++ b/recipes/wip/dev/lang/perl5/recipe.toml @@ -0,0 +1,41 @@ +#TODO compiles, works in a basic way, but needs figuring out why -ldl is ignored +#TODO also until new signal implementation gets to be the default, remove siginfo struct from relibc's include/bits/signal.h +# and modify relibc/src/header/signal/mod.rs sigtimedwait second parameter's type from siginfo_t to siginfo (cbindgen needs a reference) +#TODO needs further testing +[source] +tar = "https://www.cpan.org/src/5.0/perl-5.40.0.tar.gz" +[build] +template = "custom" +dependencies = [ + "relibc" +] +script = """ +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ #move it to the top of the script after debugging - BP +curl -L -O --time-cond perl-cross-1.6.tar.gz https://github.com/arsv/perl-cross/releases/download/1.6/perl-cross-1.6.tar.gz +tar --strip-components=1 -xvf perl-cross-1.6.tar.gz +wget -O ./cnf/config.sub "https://gitlab.redox-os.org/redox-os/gnu-config/-/raw/master/config.sub?inline=false" +#Note: since perl-cross can run only inside the source-tree (out-of-tree is bugged) it's easier to do everything in the build directory +COOKBOOK_CONFIGURE=${COOKBOOK_BUILD}/configure +cp ${COOKBOOK_RECIPE}/configure_tool.sh ${COOKBOOK_BUILD}/cnf/configure_tool.sh +cp ${COOKBOOK_RECIPE}/redox ${COOKBOOK_BUILD}/cnf/hints/redox +mkdir ${COOKBOOK_SYSROOT}/usr +ln -s "${COOKBOOK_SYSROOT}/include" "${COOKBOOK_SYSROOT}/usr/include" +#Note: non-standard configure, familiar flags can have different meaning! +./configure --host-cc=gcc --host-cpp=g++ --target=x86_64-unknown-redox --sysroot=${COOKBOOK_SYSROOT} --disable-mod=Sys-Syslog +sed -i "s/^#define Netdb_name_t.*/#define Netdb_name_t const char*/" config.h +sed -i "s/^# HAS_NANOSLEEP.*/#define HAS_NANOSLEEP/" config.h +sed -i "s|^/.#define I_GRP.*|#define I_GRP|" config.h +echo "#define HAS_GROUP" >> config.h +make -j4 +make install DESTDIR="${COOKBOOK_STAGE}" +pushd . +cd "${COOKBOOK_STAGE}/usr/share/man/man3" +for f in *; do +case "$f" in +*::*) +mv "$f" "${f//::/__}"; +;; +esac +done +popd +""" diff --git a/recipes/wip/dev/lang/perl5/redox b/recipes/wip/dev/lang/perl5/redox new file mode 100644 index 00000000..5b62f5bc --- /dev/null +++ b/recipes/wip/dev/lang/perl5/redox @@ -0,0 +1,5 @@ +# NetBSD syscalls +d_nanosleep='define' + +# libraries to test +libswanted='m dl' diff --git a/recipes/wip/dev/lang/php80/recipe.toml b/recipes/wip/dev/lang/php80/recipe.toml new file mode 100644 index 00000000..0a45f699 --- /dev/null +++ b/recipes/wip/dev/lang/php80/recipe.toml @@ -0,0 +1,79 @@ +#TODO promote +[source] +tar = "https://www.php.net/distributions/php-8.0.30.tar.xz" +patches = [ + "redox.patch" +] + +[build] +template = "custom" +dependencies = [ + "bzip2", + "curl", + "gettext", + "libffi", + "libgmp", + "libavif", + "libicu", + "libjpeg", + "libedit", + "libonig", + "libpng", + "libsodium", + "libwebp", + "libxml2", + "libiconv", + "libzip", + "ncurses", + "nghttp2", + "openssl1", + "pcre", + "sqlite3", + "xz", + "zlib", +] +script = """ +DYNAMIC_INIT +export SUFFIX="80" + +# extension stuff +export CURL_LIBS="-lcurl -lnghttp2 -lssl -lcrypto" +export CXXFLAGS="-std=c++17" +COOKBOOK_CONFIGURE_FLAGS+=( + --program-suffix=${SUFFIX} + --sysconfdir=/etc + --with-config-file-path=/etc/php/$SUFFIX + --with-config-file-scan-dir=/etc/php/$SUFFIX/conf.d + --with-iconv="${COOKBOOK_SYSROOT}/usr" + --disable-opcache + --enable-bcmath + --enable-calendar +# --enable-fpm # need times function + --enable-gd + --enable-intl + --enable-mbstring + --with-curl + --with-gettext + --with-gmp + --with-jpeg + --with-webp + --with-avif + --with-ffi + --with-libedit + --with-openssl + --with-sodium + --with-zip +) + +"${COOKBOOK_CONFIGURE}" "${COOKBOOK_CONFIGURE_FLAGS[@]}" "$@" +"${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}" +"${COOKBOOK_MAKE}" install \ + INSTALL_ROOT="${COOKBOOK_STAGE}" \ + datarootdir=/usr/share localstatedir=/var + +for bin in "php-cgi" "php-config" "php" "phpdbg" "phpize"; do + ln -s "$bin$SUFFIX" ${COOKBOOK_STAGE}/usr/bin/$bin +done +mkdir -p ${COOKBOOK_STAGE}/etc/php/$SUFFIX/conf.d +cp ${COOKBOOK_SOURCE}/php.ini* ${COOKBOOK_STAGE}/etc/php/$SUFFIX/ +""" diff --git a/recipes/wip/dev/lang/php80/redox.patch b/recipes/wip/dev/lang/php80/redox.patch new file mode 100644 index 00000000..4fcf8326 --- /dev/null +++ b/recipes/wip/dev/lang/php80/redox.patch @@ -0,0 +1,92 @@ +diff -ruwN source/configure source-new/configure +--- source/configure 2023-08-04 00:13:08.000000000 +0700 ++++ source-new/configure 2025-09-20 05:04:59.993364619 +0700 +@@ -46043,7 +46043,7 @@ + fi + + +- ax_cxx_compile_alternatives="11 0x" ax_cxx_compile_cxx11_required=truednl ++ ax_cxx_compile_alternatives="17 0x" ax_cxx_compile_cxx11_required=truednl + ac_ext=cpp + ac_cpp='$CXXCPP $CPPFLAGS' + ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +@@ -72692,7 +72692,7 @@ + printf %s "(cached) " >&6 + else $as_nop + +- php_cv_crypt_r_style=none ++ php_cv_crypt_r_style=struct_crypt_data_gnu_source + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + +diff -ruwN source/ext/intl/config.m4 source-new/ext/intl/config.m4 +--- source/ext/intl/config.m4 2023-08-04 00:13:08.000000000 +0700 ++++ source-new/ext/intl/config.m4 2025-09-20 05:05:18.892414632 +0700 +@@ -83,7 +83,7 @@ + breakiterator/codepointiterator_methods.cpp" + + PHP_REQUIRE_CXX() +- PHP_CXX_COMPILE_STDCXX(11, mandatory, PHP_INTL_STDCXX) ++ PHP_CXX_COMPILE_STDCXX(17, mandatory, PHP_INTL_STDCXX) + PHP_INTL_CXX_FLAGS="$INTL_COMMON_FLAGS $PHP_INTL_STDCXX $ICU_CXXFLAGS" + case $host_alias in + *cygwin*) PHP_INTL_CXX_FLAGS="$PHP_INTL_CXX_FLAGS -D_POSIX_C_SOURCE=200809L" +diff -ruwN source/ext/phar/Makefile.frag source-new/ext/phar/Makefile.frag +--- source/ext/phar/Makefile.frag 2023-08-04 00:13:08.000000000 +0700 ++++ source-new/ext/phar/Makefile.frag 2025-09-19 23:19:19.020178026 +0700 +@@ -9,20 +9,7 @@ + pharcmd: $(builddir)/phar.php $(builddir)/phar.phar + + PHP_PHARCMD_SETTINGS = -n -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1' -d phar.readonly=0 +-PHP_PHARCMD_EXECUTABLE = ` \ +- if test -x "$(top_builddir)/$(SAPI_CLI_PATH)"; then \ +- $(top_srcdir)/build/shtool echo -n -- "$(top_builddir)/$(SAPI_CLI_PATH) -n"; \ +- if test "x$(PHP_MODULES)" != "x"; then \ +- $(top_srcdir)/build/shtool echo -n -- " -d extension_dir=$(top_builddir)/modules"; \ +- for i in bz2 zlib phar; do \ +- if test -f "$(top_builddir)/modules/$$i.la"; then \ +- . $(top_builddir)/modules/$$i.la; $(top_srcdir)/build/shtool echo -n -- " -d extension=$$dlname"; \ +- fi; \ +- done; \ +- fi; \ +- else \ +- $(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; \ +- fi;` ++PHP_PHARCMD_EXECUTABLE = "true" + PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(INSTALL_ROOT)$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";` + + $(builddir)/phar/phar.inc: $(srcdir)/phar/phar.inc +@@ -42,9 +29,3 @@ + + install-pharcmd: pharcmd + -@$(mkinstalldirs) $(INSTALL_ROOT)$(bindir) +- $(INSTALL) $(builddir)/phar.phar $(INSTALL_ROOT)$(bindir)/$(program_prefix)phar$(program_suffix).phar +- -@rm -f $(INSTALL_ROOT)$(bindir)/$(program_prefix)phar$(program_suffix) +- $(LN_S) -f $(program_prefix)phar$(program_suffix).phar $(INSTALL_ROOT)$(bindir)/$(program_prefix)phar$(program_suffix) +- @$(mkinstalldirs) $(INSTALL_ROOT)$(mandir)/man1 +- @$(INSTALL_DATA) $(builddir)/phar.1 $(INSTALL_ROOT)$(mandir)/man1/$(program_prefix)phar$(program_suffix).1 +- @$(INSTALL_DATA) $(builddir)/phar.phar.1 $(INSTALL_ROOT)$(mandir)/man1/$(program_prefix)phar$(program_suffix).phar.1 +diff -ruwN source/ext/posix/posix.c source-new/ext/posix/posix.c +--- source/ext/posix/posix.c 2023-08-04 00:13:08.000000000 +0700 ++++ source-new/ext/posix/posix.c 2025-09-19 22:21:28.998031846 +0700 +@@ -443,7 +443,7 @@ + + ZEND_PARSE_PARAMETERS_NONE(); + +- if ((ticks = times(&t)) == -1) { ++ { + POSIX_G(last_error) = errno; + RETURN_FALSE; + } +diff -ruwN source/ext/standard/hrtime.c source-new/ext/standard/hrtime.c +--- source/ext/standard/hrtime.c 2023-08-04 00:13:08.000000000 +0700 ++++ source-new/ext/standard/hrtime.c 2025-09-19 23:34:34.839471333 +0700 +@@ -70,6 +70,8 @@ + return -1; + } + ++#elif defined(__redox__) ++ /* pass */ + #elif PHP_HRTIME_PLATFORM_POSIX + + #if !_POSIX_MONOTONIC_CLOCK diff --git a/recipes/wip/dev/lang/python37/config.site b/recipes/wip/dev/lang/python37/config.site new file mode 100644 index 00000000..c2730240 --- /dev/null +++ b/recipes/wip/dev/lang/python37/config.site @@ -0,0 +1,2 @@ +ac_cv_file__dev_ptmx=no +ac_cv_file__dev_ptc=no diff --git a/recipes/wip/dev/lang/python37/recipe.toml b/recipes/wip/dev/lang/python37/recipe.toml new file mode 100644 index 00000000..beb86e4c --- /dev/null +++ b/recipes/wip/dev/lang/python37/recipe.toml @@ -0,0 +1,23 @@ +#TODO not compiled or tested +#TODO does the patch is still needed? +#TODO maybe the script is wrong +[source] +tar = "https://www.python.org/ftp/python/3.7.17/Python-3.7.17.tar.xz" +patches = [ + "redox.patch", +] +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +cp ../config.site ./ +sed -i 's|#define HAVE_PTHREAD_KILL 1|/* #undef HAVE_PTHREAD_KILL */|g' pyconfig.h +sed -i 's|#define HAVE_SCHED_SETSCHEDULER 1|/* #undef HAVE_SCHED_SETSCHEDULER */|g' pyconfig.h +sed -i 's|#define HAVE_SYS_RESOURCE_H 1|/* #undef HAVE_SYS_RESOURCE_H */|g' pyconfig.h +COOKBOOK_CONFIGURE_FLAGS+=( + --disable-ipv6 +) +cookbook_configure +""" diff --git a/recipes/wip/dev/lang/python37/redox.patch b/recipes/wip/dev/lang/python37/redox.patch new file mode 100644 index 00000000..6f1da623 --- /dev/null +++ b/recipes/wip/dev/lang/python37/redox.patch @@ -0,0 +1,91 @@ +diff -ruwN source/configure source-new/configure +--- source/configure 2019-07-08 12:03:50.000000000 -0600 ++++ source-new/configure 2019-07-16 21:25:29.432607847 -0600 +@@ -3261,6 +3261,9 @@ + *-*-cygwin*) + ac_sys_system=Cygwin + ;; ++ *-*-redox*) ++ ac_sys_system=Redox ++ ;; + *) + # for now, limit cross builds to known configurations + MACHDEP="unknown" +@@ -3293,7 +3296,7 @@ + + if test "$cross_compiling" = yes; then + case "$host" in +- *-*-linux*) ++ *-*-linux*|*-*-redox*) + case "$host_cpu" in + arm*) + _host_cpu=arm +diff -ruwN source/Lib/distutils/util.py source-new/Lib/distutils/util.py +--- source/Lib/distutils/util.py 2019-07-08 12:03:50.000000000 -0600 ++++ source-new/Lib/distutils/util.py 2019-07-16 22:07:35.994862914 -0600 +@@ -131,7 +131,7 @@ + if not os.path.isabs(pathname): + return os.path.join(new_root, pathname) + else: +- return os.path.join(new_root, pathname[1:]) ++ return os.path.join(new_root, pathname.lstrip('/')) + + elif os.name == 'nt': + (drive, path) = os.path.splitdrive(pathname) +diff -ruwN source/Modules/main.c source-new/Modules/main.c +--- source/Modules/main.c 2019-07-08 12:03:50.000000000 -0600 ++++ source-new/Modules/main.c 2019-07-16 21:46:53.037866142 -0600 +@@ -56,6 +56,16 @@ + } \ + } while (0) + ++#if defined(__redox__) ++wchar_t * wcstok(wchar_t * wcs, const wchar_t * delimiters, wchar_t ** ptr) { ++ return NULL; ++} ++ ++long wcstol(const wchar_t *restrict nptr, wchar_t **restrict endptr, int base) { ++ return 0; ++} ++#endif ++ + #ifdef MS_WINDOWS + #define WCSTOK wcstok_s + #else +diff -ruwN source/Python/pathconfig.c source-new/Python/pathconfig.c +--- source/Python/pathconfig.c 2019-07-08 12:03:50.000000000 -0600 ++++ source-new/Python/pathconfig.c 2019-07-16 21:55:34.549726910 -0600 +@@ -5,6 +5,10 @@ + #include "internal/pystate.h" + #include + ++#if defined(__redox__) ++wchar_t * wcstok(wchar_t * wcs, const wchar_t * delimiters, wchar_t ** ptr); ++#endif ++ + #ifdef __cplusplus + extern "C" { + #endif +diff -ruwN source/Python/pytime.c source-new/Python/pytime.c +--- source/Python/pytime.c 2019-07-08 12:03:50.000000000 -0600 ++++ source-new/Python/pytime.c 2019-07-16 21:36:53.233119225 -0600 +@@ -7,6 +7,19 @@ + #include /* mach_absolute_time(), mach_timebase_info() */ + #endif + ++#if defined(__redox__) ++int clock_getres(clockid_t clk_id, struct timespec *res) { ++ if (res) { ++ res->tv_sec = 0; ++ res->tv_nsec = 1000; ++ return 0; ++ } else { ++ errno = EFAULT; ++ return -1; ++ } ++} ++#endif ++ + #define _PyTime_check_mul_overflow(a, b) \ + (assert(b > 0), \ + (_PyTime_t)(a) < _PyTime_MIN / (_PyTime_t)(b) \ diff --git a/recipes/wip/dev/lang/python39/recipe.toml b/recipes/wip/dev/lang/python39/recipe.toml new file mode 100644 index 00000000..f7bc5ddb --- /dev/null +++ b/recipes/wip/dev/lang/python39/recipe.toml @@ -0,0 +1,62 @@ +#TODO Fix dynamic loading of C modules +[source] +tar = "https://www.python.org/ftp/python/3.9.9/Python-3.9.9.tar.xz" +patches = [ + 'redox.patch' +] + +[build] +template = "custom" +dependencies = [ + "bzip2", + "libffi", + "libuuid", + "ncurses", + "ncursesw", + "openssl1", + "readline", + "sqlite3", + "zlib", + "xz" +] +script = """ +DYNAMIC_INIT +export PYTHONDONTWRITEBYTECODE=1 +ARCH="${TARGET%%-*}" + +# Python cross-compilation requires the same Python version on the build machine +BUILDMACH_TARGET="$(gcc -dumpmachine)" +BUILDMACH_BUILD="${COOKBOOK_RECIPE}/target/${BUILDMACH_TARGET}/build" +BUILDMACH_STAGE="${COOKBOOK_RECIPE}/target/${BUILDMACH_TARGET}/stage" + +# If this is a fresh build then we also rebuild the build machine version +# (Cookbook clean does not remove it so we have to do it manually) +if [ -z "$(ls -A .)" ]; then + rm -rf "${BUILDMACH_BUILD}" "${BUILDMACH_STAGE}" +fi + +mkdir -p "${BUILDMACH_BUILD}" +mkdir -p "${BUILDMACH_STAGE}" + +cd "${BUILDMACH_BUILD}" +# Use env that does not use the Redox build tools +env -i PATH="$PATH" CC="$CC_WRAPPER gcc" "${COOKBOOK_SOURCE}/configure" +env -i PATH="$PATH" CC="$CC_WRAPPER gcc" "${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}" +"${COOKBOOK_MAKE}" install DESTDIR="${BUILDMACH_STAGE}" +cd - + +export PATH="${BUILDMACH_STAGE}/usr/local/bin:${PATH}" + +COOKBOOK_CONFIGURE_FLAGS=( + --prefix=/usr + --enable-shared + --disable-ipv6 + --host=${GNU_TARGET} + --build=$ARCH + --with-ensurepip=install + ac_cv_file__dev_ptmx=no + ac_cv_file__dev_ptc=no +) + +cookbook_configure +""" diff --git a/recipes/wip/dev/lang/python39/redox.patch b/recipes/wip/dev/lang/python39/redox.patch new file mode 100644 index 00000000..5f776a98 --- /dev/null +++ b/recipes/wip/dev/lang/python39/redox.patch @@ -0,0 +1,90 @@ +diff -ruwN source/configure source-new/configure +--- source/configure 2021-11-16 00:43:00.000000000 +0700 ++++ source-new/configure 2025-09-17 21:31:19.787497963 +0700 +@@ -3307,6 +3307,9 @@ + *-*-vxworks*) + ac_sys_system=VxWorks + ;; ++ *-*-redox*) ++ ac_sys_system=Redox ++ ;; + *) + # for now, limit cross builds to known configurations + MACHDEP="unknown" +@@ -3331,6 +3334,7 @@ + case $MACHDEP in + aix*) MACHDEP="aix";; + linux*) MACHDEP="linux";; ++ redox*) MACHDEP="redox";; + cygwin*) MACHDEP="cygwin";; + darwin*) MACHDEP="darwin";; + '') MACHDEP="unknown";; +@@ -3342,7 +3346,7 @@ + + if test "$cross_compiling" = yes; then + case "$host" in +- *-*-linux*) ++ *-*-linux*|*-*-redox*) + case "$host_cpu" in + arm*) + _host_cpu=arm +@@ -5951,7 +5955,7 @@ + PY3LIBRARY=libpython3.so + fi + ;; +- Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*|OpenBSD*) ++ Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*|OpenBSD*|Redox*) + LDLIBRARY='libpython$(LDVERSION).so' + BLDLIBRARY='-L. -lpython$(LDVERSION)' + RUNSHARED=LD_LIBRARY_PATH=`pwd`${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} +@@ -9551,7 +9555,7 @@ + BLDSHARED="$LDSHARED" + fi + ;; +- Linux*|GNU*|QNX*|VxWorks*) ++ Linux*|GNU*|QNX*|VxWorks*|Redox*) + LDSHARED='$(CC) -shared' + LDCXXSHARED='$(CXX) -shared';; + FreeBSD*) +@@ -9620,7 +9624,7 @@ + else CCSHARED="+z"; + fi;; + Linux-android*) ;; +- Linux*|GNU*) CCSHARED="-fPIC";; ++ Linux*|GNU*|Redox*) CCSHARED="-fPIC";; + FreeBSD*|NetBSD*|OpenBSD*|DragonFly*) CCSHARED="-fPIC";; + OpenUNIX*|UnixWare*) + if test "$GCC" = "yes" +@@ -9650,7 +9654,7 @@ + LINKFORSHARED="-Wl,-E -Wl,+s";; + # LINKFORSHARED="-Wl,-E -Wl,+s -Wl,+b\$(BINLIBDEST)/lib-dynload";; + Linux-android*) LINKFORSHARED="-pie -Xlinker -export-dynamic";; +- Linux*|GNU*) LINKFORSHARED="-Xlinker -export-dynamic";; ++ Linux*|GNU*|Redox*) LINKFORSHARED="-Xlinker -export-dynamic";; + # -u libsys_s pulls in all symbols in libsys + Darwin/*) + LINKFORSHARED="$extra_undefs -framework CoreFoundation" +diff -ruwN source/Include/pyport.h source-new/Include/pyport.h +--- source/Include/pyport.h 2021-11-16 00:43:00.000000000 +0700 ++++ source-new/Include/pyport.h 2025-09-17 21:31:56.613084352 +0700 +@@ -838,7 +838,7 @@ + # error "Py_TRACE_REFS ABI is not compatible with release and debug ABI" + #endif + +-#if defined(__ANDROID__) || defined(__VXWORKS__) ++#if defined(__ANDROID__) || defined(__VXWORKS__) || defined(__redox__) + /* Ignore the locale encoding: force UTF-8 */ + # define _Py_FORCE_UTF8_LOCALE + #endif +diff -ruwN source/Modules/timemodule.c source-new/Modules/timemodule.c +--- source/Modules/timemodule.c 2021-11-16 00:43:00.000000000 +0700 ++++ source-new/Modules/timemodule.c 2025-09-17 21:30:18.552349106 +0700 +@@ -1416,7 +1416,7 @@ + return 0; + } + +-#elif defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_PROCESS_CPUTIME_ID) ++#elif defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_PROCESS_CPUTIME_ID) && defined(CLOCK_THREAD_CPUTIME_ID) + #define HAVE_THREAD_TIME + + #if defined(__APPLE__) && defined(__has_attribute) && __has_attribute(availability) diff --git a/recipes/wip/dev/lang/ristretto/recipe.toml b/recipes/wip/dev/lang/ristretto/recipe.toml new file mode 100644 index 00000000..5210a054 --- /dev/null +++ b/recipes/wip/dev/lang/ristretto/recipe.toml @@ -0,0 +1,8 @@ +#TODO require rustc 1.87 or newer +[source] +git = "https://github.com/theseus-rs/ristretto" +[build] +template = "custom" +script = """ +cookbook_cargo_packages ristretto_cli +""" diff --git a/recipes/wip/dev/lang/ruby/recipe.toml b/recipes/wip/dev/lang/ruby/recipe.toml new file mode 100644 index 00000000..ec366718 --- /dev/null +++ b/recipes/wip/dev/lang/ruby/recipe.toml @@ -0,0 +1,11 @@ +#TODO compilation error +[source] +tar = "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0.tar.gz" +[build] +template = "configure" +dependencies = [ + "openssl1", + "zlib", + "libyaml", + "libffi", +] diff --git a/recipes/wip/dev/lang/scc/recipe.toml b/recipes/wip/dev/lang/scc/recipe.toml new file mode 100644 index 00000000..9e681b4e --- /dev/null +++ b/recipes/wip/dev/lang/scc/recipe.toml @@ -0,0 +1,9 @@ +#TODO missing script for gnu make +# build instructions: https://git.simple-cc.org/scc/file/README.html +[source] +git = "https://git.simple-cc.org/scc/" +rev = "1ed0ff0000999561feee336c289252faf2502a7e" +[build] +template = "custom" +[package] +dependencies = ["qbe"] diff --git a/recipes/wip/dev/lang/tcc/recipe.toml b/recipes/wip/dev/lang/tcc/recipe.toml new file mode 100644 index 00000000..76ca7307 --- /dev/null +++ b/recipes/wip/dev/lang/tcc/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://repo.or.cz/tinycc.git/blob/HEAD:/README +[source] +tar = "https://download.savannah.nongnu.org/releases/tinycc/tcc-0.9.27.tar.bz2" +[build] +template = "configure" diff --git a/recipes/wip/dev/lang/tsuki/recipe.toml b/recipes/wip/dev/lang/tsuki/recipe.toml new file mode 100644 index 00000000..9aabdb16 --- /dev/null +++ b/recipes/wip/dev/lang/tsuki/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/ultimaweapon/tsuki" +[build] +template = "cargo" diff --git a/recipes/wip/dev/lang/tur/recipe.toml b/recipes/wip/dev/lang/tur/recipe.toml new file mode 100644 index 00000000..13ffc9d4 --- /dev/null +++ b/recipes/wip/dev/lang/tur/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/rezigned/tur" +[build] +template = "custom" +script = """ +cookbook_cargo_packages tur-cli tur-tui +""" diff --git a/recipes/wip/dev/lang/vala/recipe.toml b/recipes/wip/dev/lang/vala/recipe.toml new file mode 100644 index 00000000..b6cc898d --- /dev/null +++ b/recipes/wip/dev/lang/vala/recipe.toml @@ -0,0 +1,8 @@ +#TODO missing script for building, see https://gitlab.gnome.org/GNOME/vala#building-vala +[source] +tar = "https://download.gnome.org/sources/vala/0.56/vala-0.56.14.tar.xz" +[build] +template = "custom" +dependencies = [ + "glib", +] diff --git a/recipes/wip/dev/lang/wrecc/recipe.toml b/recipes/wip/dev/lang/wrecc/recipe.toml new file mode 100644 index 00000000..d1ac6f53 --- /dev/null +++ b/recipes/wip/dev/lang/wrecc/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/PhilippRados/wrecc" +[build] +template = "cargo" diff --git a/recipes/wip/dev/lang/xylo/recipe.toml b/recipes/wip/dev/lang/xylo/recipe.toml new file mode 100644 index 00000000..750f07dd --- /dev/null +++ b/recipes/wip/dev/lang/xylo/recipe.toml @@ -0,0 +1,10 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/giraffekey/xylo" +[build] +template = "custom" +script = """ +cookbook_cargo +mkdir -pv "${COOKBOOK_STAGE}/usr/share/xylo" +cp -rv "${COOKBOOK_SOURCE}/example.xylo" "${COOKBOOK_STAGE}/usr/share/xylo" +""" diff --git a/recipes/wip/dev/lang/zig/recipe.toml b/recipes/wip/dev/lang/zig/recipe.toml new file mode 100644 index 00000000..5c9d26f7 --- /dev/null +++ b/recipes/wip/dev/lang/zig/recipe.toml @@ -0,0 +1,22 @@ +#TODO compiling, not tested further +[source] +git = "https://github.com/willnode/zig" +branch = "zig-0.15-redox" + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +rsync -av --delete "${COOKBOOK_SOURCE}"/* ./ + +export ZIG_HOST_TARGET_CFLAGS="$CFLAGS" +export ZIG_HOST_TARGET_LDFLAGS="$LDFLAGS" +export ZIG_HOST_TARGET_CC="${TARGET}-gcc" +export ZIG_HOST_TARGET_TRIPLE="${TARGET%%-*}-redox" +unset AR AS CC CXX LD LDFLAGS NM OBJCOPY OBJDUMP RANLIB READELF RUSTFLAGS STRIP +cc bootstrap.c -o ./bootstrap +./bootstrap + +mkdir -p "${COOKBOOK_STAGE}"/usr/bin +cp ./zig2 "${COOKBOOK_STAGE}"/usr/bin/zig +""" diff --git a/recipes/wip/dev/managers/moon/recipe.toml b/recipes/wip/dev/managers/moon/recipe.toml new file mode 100644 index 00000000..c285304d --- /dev/null +++ b/recipes/wip/dev/managers/moon/recipe.toml @@ -0,0 +1,8 @@ +#TODO openssl-sys crate error (after cargo update) +[source] +git = "https://github.com/moonrepo/moon" +[build] +template = "custom" +script = """ +cookbook_cargo_packages moon_cli +""" diff --git a/recipes/wip/dev/managers/proto/recipe.toml b/recipes/wip/dev/managers/proto/recipe.toml new file mode 100644 index 00000000..135771ae --- /dev/null +++ b/recipes/wip/dev/managers/proto/recipe.toml @@ -0,0 +1,8 @@ +#TODO fs-set-times crate error +[source] +git = "https://github.com/moonrepo/proto" +[build] +template = "custom" +script = """ +cookbook_cargo_packages proto_cli +""" diff --git a/recipes/wip/dev/managers/ratifact/recipe.toml b/recipes/wip/dev/managers/ratifact/recipe.toml new file mode 100644 index 00000000..2c0d8df2 --- /dev/null +++ b/recipes/wip/dev/managers/ratifact/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/adolfousier/ratifact" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/abi-cafe/recipe.toml b/recipes/wip/dev/other/abi-cafe/recipe.toml new file mode 100644 index 00000000..5dc58fe7 --- /dev/null +++ b/recipes/wip/dev/other/abi-cafe/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested (after an update on the libc crate) +[source] +git = "https://github.com/Gankra/abi-cafe" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/add-determinism/recipe.toml b/recipes/wip/dev/other/add-determinism/recipe.toml new file mode 100644 index 00000000..de6c00d6 --- /dev/null +++ b/recipes/wip/dev/other/add-determinism/recipe.toml @@ -0,0 +1,5 @@ +#TODO source code error +[source] +git = "https://github.com/keszybz/add-determinism" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/allocscope/recipe.toml b/recipes/wip/dev/other/allocscope/recipe.toml new file mode 100644 index 00000000..5106b7cb --- /dev/null +++ b/recipes/wip/dev/other/allocscope/recipe.toml @@ -0,0 +1,14 @@ +#TODO make all dependencies work +[source] +git = "https://github.com/matt-kimball/allocscope" +[build] +template = "custom" +dependencies = [ + "libiberty", + "ncurses", + "sqlite3", + "libunwind", +] +script = """ +cookbook_cargo_packages allocscope-trace allocscope-view +""" diff --git a/recipes/wip/dev/other/alquitran/recipe.toml b/recipes/wip/dev/other/alquitran/recipe.toml new file mode 100644 index 00000000..c008c9ee --- /dev/null +++ b/recipes/wip/dev/other/alquitran/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/ferivoz/alquitran" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/alt/recipe.toml b/recipes/wip/dev/other/alt/recipe.toml new file mode 100644 index 00000000..1c0a6893 --- /dev/null +++ b/recipes/wip/dev/other/alt/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/dotboris/alt" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/apitrace/recipe.toml b/recipes/wip/dev/other/apitrace/recipe.toml new file mode 100644 index 00000000..a9545615 --- /dev/null +++ b/recipes/wip/dev/other/apitrace/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://github.com/apitrace/apitrace/blob/master/docs/INSTALL.markdown#linux +[source] +git = "https://github.com/apitrace/apitrace" +rev = "9352fc02bba106fbbeef9e8452ef34643c0d0764" +[build] +template = "cmake" diff --git a/recipes/wip/dev/other/apr-util/recipe.toml b/recipes/wip/dev/other/apr-util/recipe.toml new file mode 100644 index 00000000..e2ce43a0 --- /dev/null +++ b/recipes/wip/dev/other/apr-util/recipe.toml @@ -0,0 +1,29 @@ +[source] +tar = "https://archive.apache.org/dist/apr/apr-util-1.6.0.tar.bz2" +patches = [ + "redox.patch", +] +[build] +template = "custom" +dependencies = [ + "apr", + "expat", +] +script = """ +COOKBOOK_CONFIGURE_FLAGS+=( + --with-apr="${COOKBOOK_SYSROOT}" +) +export CFLAGS="-I${COOKBOOK_SYSROOT}/include/ -I${COOKBOOK_SYSROOT}/include/apr-1 " +ls ${COOKBOOK_SYSROOT}/include/ +export CFLAGS_="${CFLAGS}" +cd ${COOKBOOK_SOURCE} +autoreconf -fi +"${COOKBOOK_CONFIGURE}" "${COOKBOOK_CONFIGURE_FLAGS[@]}" +sed -i build/rules.mk -e "s;\\(apr_builddir=\\)\\(.*\\);\\1${COOKBOOK_SYSROOT}\\2;" \\ + -e "s;--mode=link;& --tag=CC;g" -e "s;--mode=compile;& --tag=CC -v;g" \\ + +sed -i build/rules.mk -e "/apr_builders=/s;apr_builders=;apr_builders=${COOKBOOK_SYSROOT};" +sed -i build/rules.mk -e "/^CFLAGS=/s;=.*;=${CFLAGS_};" +"${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}" +"${COOKBOOK_MAKE}" install DESTDIR="${COOKBOOK_STAGE}" +""" diff --git a/recipes/wip/dev/other/apr-util/redox.patch b/recipes/wip/dev/other/apr-util/redox.patch new file mode 100644 index 00000000..33ab356e --- /dev/null +++ b/recipes/wip/dev/other/apr-util/redox.patch @@ -0,0 +1,41 @@ +diff --git a/apu-config.in b/apu-config.in +index 82109e5..2d005c9 100644 +--- a/apu-config.in ++++ b/apu-config.in +@@ -140,12 +140,12 @@ while test $# -gt 0; do + ;; + --includes) + if test "$location" = "installed"; then +- flags="$flags -I$includedir $INCLUDES" ++ flags="$flags $INCLUDES" + elif test "$location" = "source"; then +- flags="$flags -I$APU_SOURCE_DIR/include $INCLUDES" ++ flags="$flags $INCLUDES" + else + # this is for VPATH builds +- flags="$flags -I$APU_BUILD_DIR/include -I$APU_SOURCE_DIR/include $INCLUDES" ++ flags="$flags $INCLUDES" + fi + ;; + --ldflags) +@@ -162,9 +162,9 @@ while test $# -gt 0; do + --link-ld) + if test "$location" = "installed"; then + ### avoid using -L if libdir is a "standard" location like /usr/lib +- flags="$flags -L$libdir -l$APRUTIL_LIBNAME" ++ flags="$flags -l$APRUTIL_LIBNAME" + else +- flags="$flags -L$APU_BUILD_DIR -l$APRUTIL_LIBNAME" ++ flags="$flags -l$APRUTIL_LIBNAME" + fi + ;; + --link-libtool) +@@ -178,7 +178,7 @@ while test $# -gt 0; do + ### avoid using -L if libdir is a "standard" location like /usr/lib + # Since the user is specifying they are linking with libtool, we + # *know* that -R will be recognized by libtool. +- flags="$flags -L$libdir -R$libdir -l$APRUTIL_LIBNAME" ++ flags="$flags -l$APRUTIL_LIBNAME" + else + flags="$flags $LA_FILE" + fi diff --git a/recipes/wip/dev/other/apr/recipe.toml b/recipes/wip/dev/other/apr/recipe.toml new file mode 100644 index 00000000..9991bfa6 --- /dev/null +++ b/recipes/wip/dev/other/apr/recipe.toml @@ -0,0 +1,16 @@ +[source] +tar = "https://dlcdn.apache.org//apr/apr-1.7.4.tar.bz2" +patches = ["redox.patch"] +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE_FLAGS+=( +ac_cv_file__dev_zero=yes +ac_cv_working_getaddrinfo=no +apr_cv_process_shared_works=yes +apr_cv_mutex_robust_shared=yes +apr_cv_tcp_nodelay_with_cork=no +apr_cv_epoll=yes +) +cookbook_configure +""" diff --git a/recipes/wip/dev/other/apr/redox.patch b/recipes/wip/dev/other/apr/redox.patch new file mode 100644 index 00000000..9d630485 --- /dev/null +++ b/recipes/wip/dev/other/apr/redox.patch @@ -0,0 +1,175 @@ +diff --git a/apr-config.in b/apr-config.in +index 626d3b0..b79d471 100644 +--- a/apr-config.in ++++ b/apr-config.in +@@ -180,14 +180,14 @@ while test $# -gt 0; do + ;; + --includes) + if test "$location" = "installed"; then +- flags="$flags -I$includedir $EXTRA_INCLUDES" ++ flags="$flags $EXTRA_INCLUDES" + elif test "$location" = "crosscompile"; then +- flags="$flags -I$APR_TARGET_DIR/$includedir $EXTRA_INCLUDES" ++ flags="$flags $EXTRA_INCLUDES" + elif test "$location" = "source"; then +- flags="$flags -I$APR_SOURCE_DIR/include $EXTRA_INCLUDES" ++ flags="$flags $EXTRA_INCLUDES" + else + # this is for VPATH builds +- flags="$flags -I$APR_BUILD_DIR/include -I$APR_SOURCE_DIR/include $EXTRA_INCLUDES" ++ flags="$flags $EXTRA_INCLUDES" + fi + ;; + --srcdir) +@@ -214,12 +214,12 @@ while test $# -gt 0; do + --link-ld) + if test "$location" = "installed"; then + ### avoid using -L if libdir is a "standard" location like /usr/lib +- flags="$flags -L$libdir -l${APR_LIBNAME}" ++ flags="$flags -l${APR_LIBNAME}" + elif test "$location" = "crosscompile"; then +- flags="$flags -L$APR_TARGET_DIR/$libdir -l${APR_LIBNAME}" ++ flags="$flags -l${APR_LIBNAME}" + else + ### this surely can't work since the library is in .libs? +- flags="$flags -L$APR_BUILD_DIR -l${APR_LIBNAME}" ++ flags="$flags -l${APR_LIBNAME}" + fi + ;; + --link-libtool) +@@ -233,9 +233,9 @@ while test $# -gt 0; do + ### avoid using -L if libdir is a "standard" location like /usr/lib + # Since the user is specifying they are linking with libtool, we + # *know* that -R will be recognized by libtool. +- flags="$flags -L$libdir -R$libdir -l${APR_LIBNAME}" ++ flags="$flags -l${APR_LIBNAME}" + elif test "$location" = "crosscompile"; then +- flags="$flags -L${APR_TARGET_DIR}/$libdir -l${APR_LIBNAME}" ++ flags="$flags -l${APR_LIBNAME}" + else + flags="$flags $LA_FILE" + fi +diff --git a/file_io/unix/open.c b/file_io/unix/open.c +index 49eb727..7b28aba 100644 +--- a/file_io/unix/open.c ++++ b/file_io/unix/open.c +@@ -101,12 +101,15 @@ APR_DECLARE(apr_status_t) apr_file_open(apr_file_t **new, + #endif + + if ((flag & APR_FOPEN_READ) && (flag & APR_FOPEN_WRITE)) { ++ fprintf(stderr, "afo flag RDRW\n"); + oflags = O_RDWR; + } + else if (flag & APR_FOPEN_READ) { ++ fprintf(stderr, "afo flag RDONLY\n"); + oflags = O_RDONLY; + } + else if (flag & APR_FOPEN_WRITE) { ++ fprintf(stderr, "afo flag WRONLY\n"); + oflags = O_WRONLY; + } + else { +@@ -114,8 +117,10 @@ APR_DECLARE(apr_status_t) apr_file_open(apr_file_t **new, + } + + if (flag & APR_FOPEN_CREATE) { ++ fprintf(stderr, "afo flag CREAT\n"); + oflags |= O_CREAT; + if (flag & APR_FOPEN_EXCL) { ++ fprintf(stderr, "afo flag EXCL\n"); + oflags |= O_EXCL; + } + } +@@ -124,19 +129,23 @@ APR_DECLARE(apr_status_t) apr_file_open(apr_file_t **new, + } + + if (flag & APR_FOPEN_APPEND) { ++ fprintf(stderr, "afo flag APPEND\n"); + oflags |= O_APPEND; + } + if (flag & APR_FOPEN_TRUNCATE) { ++ fprintf(stderr, "afo flag TRUNC\n"); + oflags |= O_TRUNC; + } + #ifdef O_BINARY + if (flag & APR_FOPEN_BINARY) { ++ fprintf(stderr, "afo flag BINARY\n"); + oflags |= O_BINARY; + } + #endif + + if (flag & APR_FOPEN_NONBLOCK) { + #ifdef O_NONBLOCK ++ fprintf(stderr, "afo flag NONBLOCK\n"); + oflags |= O_NONBLOCK; + #else + return APR_ENOTIMPL; +@@ -147,14 +156,17 @@ APR_DECLARE(apr_status_t) apr_file_open(apr_file_t **new, + /* Introduced in Linux 2.6.23. Silently ignored on earlier Linux kernels. + */ + if (!(flag & APR_FOPEN_NOCLEANUP)) { ++ fprintf(stderr, "afo flag CLOEXEC\n"); + oflags |= O_CLOEXEC; + } + #endif + + #if APR_HAS_LARGE_FILES && defined(_LARGEFILE64_SOURCE) ++ fprintf(stderr, "afo flag LARGEFILE\n"); + oflags |= O_LARGEFILE; + #elif defined(O_LARGEFILE) + if (flag & APR_FOPEN_LARGEFILE) { ++ fprintf(stderr, "afo flag LARGEFILE\n"); + oflags |= O_LARGEFILE; + } + #endif +@@ -164,18 +176,22 @@ APR_DECLARE(apr_status_t) apr_file_open(apr_file_t **new, + rv = apr_thread_mutex_create(&thlock, + APR_THREAD_MUTEX_DEFAULT, pool); + if (rv) { ++ fprintf(stderr, "afo ret 1 %d\n", rv); + return rv; + } + } + #endif + + if (perm == APR_OS_DEFAULT) { ++ fprintf(stderr, "open %d %s\n", oflags, fname); + fd = open(fname, oflags, 0666); + } + else { ++ fprintf(stderr, "open %s %d %d\n", fname, oflags, apr_unix_perms2mode(perm)); + fd = open(fname, oflags, apr_unix_perms2mode(perm)); + } + if (fd < 0) { ++ fprintf(stderr, "afo ret 2 %d\n", errno); + return errno; + } + if (!(flag & APR_FOPEN_NOCLEANUP)) { +@@ -188,12 +204,14 @@ APR_DECLARE(apr_status_t) apr_file_open(apr_file_t **new, + + if ((flags = fcntl(fd, F_GETFD)) == -1) { + close(fd); ++ fprintf(stderr, "afo ret 3 %d\n", errno); + return errno; + } + if ((flags & FD_CLOEXEC) == 0) { + flags |= FD_CLOEXEC; + if (fcntl(fd, F_SETFD, flags) == -1) { + close(fd); ++ fprintf(stderr, "afo ret 4 %d\n", errno); + return errno; + } + } +diff --git a/network_io/unix/sockopt.c b/network_io/unix/sockopt.c +index 6194e9b..a903f91 100644 +--- a/network_io/unix/sockopt.c ++++ b/network_io/unix/sockopt.c +@@ -372,7 +372,7 @@ apr_status_t apr_socket_opt_get(apr_socket_t *sock, + + apr_status_t apr_socket_atmark(apr_socket_t *sock, int *atmark) + { +-#ifndef BEOS_R5 ++#if !defined(BEOS_R5) && !defined(__redox__) + int oobmark; + + if (ioctl(sock->socketdes, SIOCATMARK, (void*) &oobmark) < 0) diff --git a/recipes/wip/dev/other/bender/recipe.toml b/recipes/wip/dev/other/bender/recipe.toml new file mode 100644 index 00000000..49828f81 --- /dev/null +++ b/recipes/wip/dev/other/bender/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/pulp-platform/bender" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/bison/recipe.toml b/recipes/wip/dev/other/bison/recipe.toml new file mode 100644 index 00000000..bacdc687 --- /dev/null +++ b/recipes/wip/dev/other/bison/recipe.toml @@ -0,0 +1,5 @@ +#TODO Compilation error +[source] +tar = "https://ftp.gnu.org/gnu/bison/bison-3.8.2.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/dev/other/bite/recipe.toml b/recipes/wip/dev/other/bite/recipe.toml new file mode 100644 index 00000000..4a3d0ddf --- /dev/null +++ b/recipes/wip/dev/other/bite/recipe.toml @@ -0,0 +1,5 @@ +#TODO rfd crate error +[source] +git = "https://github.com/WINSDK/bite" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/boon/recipe.toml b/recipes/wip/dev/other/boon/recipe.toml new file mode 100644 index 00000000..7d040b14 --- /dev/null +++ b/recipes/wip/dev/other/boon/recipe.toml @@ -0,0 +1,8 @@ +#TODO fs_at crate error +[source] +git = "https://github.com/camchenry/boon" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/other/bugstalker/recipe.toml b/recipes/wip/dev/other/bugstalker/recipe.toml new file mode 100644 index 00000000..ccbd8a29 --- /dev/null +++ b/recipes/wip/dev/other/bugstalker/recipe.toml @@ -0,0 +1,8 @@ +#TODO make the dependency work +[source] +git = "https://github.com/godzie44/BugStalker" +[build] +template = "cargo" +dependencies = [ + "libunwind", +] diff --git a/recipes/wip/dev/other/cackle/recipe.toml b/recipes/wip/dev/other/cackle/recipe.toml new file mode 100644 index 00000000..1d387def --- /dev/null +++ b/recipes/wip/dev/other/cackle/recipe.toml @@ -0,0 +1,10 @@ +#TODO camino crate error +#TODO Probably needs to be ported to Redox +[source] +git = "https://github.com/davidlattimore/cackle" +[build] +template = "cargo" +#script = """ +#cookbook_cargo --features unsupported-os +#""" +# Uncomment the above lines if the Cargo template doesn't work. \ No newline at end of file diff --git a/recipes/wip/dev/other/capnproto/recipe.toml b/recipes/wip/dev/other/capnproto/recipe.toml new file mode 100644 index 00000000..70b5c344 --- /dev/null +++ b/recipes/wip/dev/other/capnproto/recipe.toml @@ -0,0 +1,5 @@ +#TODO compilation error +[source] +tar = "https://capnproto.org/capnproto-c++-1.0.1.1.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/dev/other/ccs-tools/recipe.toml b/recipes/wip/dev/other/ccs-tools/recipe.toml new file mode 100644 index 00000000..cc683ce5 --- /dev/null +++ b/recipes/wip/dev/other/ccs-tools/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for "make", see https://github.com/UIUC-PPL/ccs_tools#readme +[source] +git = "https://github.com/UIUC-PPL/ccs_tools" +[build] +template = "custom" diff --git a/recipes/wip/dev/other/charm++/recipe.toml b/recipes/wip/dev/other/charm++/recipe.toml new file mode 100644 index 00000000..70f77ee7 --- /dev/null +++ b/recipes/wip/dev/other/charm++/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for cross-compilation, see https://charm.readthedocs.io/en/latest/charm++/manual.html#installing-charm +[source] +tar = "http://charm.cs.illinois.edu/distrib/charm-7.0.0.tar.gz" +[build] +template = "custom" diff --git a/recipes/wip/dev/other/chars/recipe.toml b/recipes/wip/dev/other/chars/recipe.toml new file mode 100644 index 00000000..931cd8f2 --- /dev/null +++ b/recipes/wip/dev/other/chars/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/boinkor-net/chars" +[build] +template = "custom" +script = """ +cookbook_cargo_packages chars +""" diff --git a/recipes/wip/dev/other/cling/recipe.toml b/recipes/wip/dev/other/cling/recipe.toml new file mode 100644 index 00000000..9c3b3286 --- /dev/null +++ b/recipes/wip/dev/other/cling/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://github.com/vgvassilev/cling#building-from-source +[source] +git = "https://github.com/vgvassilev/cling" +rev = "ab81cdcc61f26dfd6a31fb141f1f4b335f6922be" +[build] +template = "cmake" diff --git a/recipes/wip/dev/other/colm/recipe.toml b/recipes/wip/dev/other/colm/recipe.toml new file mode 100644 index 00000000..21a0e1db --- /dev/null +++ b/recipes/wip/dev/other/colm/recipe.toml @@ -0,0 +1,5 @@ +#TODO compilation error +[source] +tar = "https://www.colm.net/files/colm/colm-0.14.7.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/dev/other/colmena/recipe.toml b/recipes/wip/dev/other/colmena/recipe.toml new file mode 100644 index 00000000..da33c5c6 --- /dev/null +++ b/recipes/wip/dev/other/colmena/recipe.toml @@ -0,0 +1,5 @@ +#TODO sys-info crate error (after cargo update) +[source] +git = "https://github.com/zhaofengli/colmena" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/commit/recipe.toml b/recipes/wip/dev/other/commit/recipe.toml new file mode 100644 index 00000000..1fd3f856 --- /dev/null +++ b/recipes/wip/dev/other/commit/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/alt-art/commit" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/cppunit/recipe.toml b/recipes/wip/dev/other/cppunit/recipe.toml new file mode 100644 index 00000000..047d081c --- /dev/null +++ b/recipes/wip/dev/other/cppunit/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +tar = "http://dev-www.libreoffice.org/src/cppunit-1.15.1.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/dev/other/crates-tui/recipe.toml b/recipes/wip/dev/other/crates-tui/recipe.toml new file mode 100644 index 00000000..f7ded8dd --- /dev/null +++ b/recipes/wip/dev/other/crates-tui/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/ratatui-org/crates-tui" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/other/criner/recipe.toml b/recipes/wip/dev/other/criner/recipe.toml new file mode 100644 index 00000000..2226020f --- /dev/null +++ b/recipes/wip/dev/other/criner/recipe.toml @@ -0,0 +1,12 @@ +#TODO compiled but not tested (after cargo update) +#TODO missing script to properly move th binary +[source] +git = "https://github.com/the-lean-crate/criner" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +cookbook_cargo_packages criner +""" diff --git a/recipes/wip/dev/other/crosstool-ng/recipe.toml b/recipes/wip/dev/other/crosstool-ng/recipe.toml new file mode 100644 index 00000000..f64605fd --- /dev/null +++ b/recipes/wip/dev/other/crosstool-ng/recipe.toml @@ -0,0 +1,5 @@ +#TODO can't find libtool +[source] +tar = "http://crosstool-ng.org/download/crosstool-ng/crosstool-ng-1.26.0.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/dev/other/customasm/recipe.toml b/recipes/wip/dev/other/customasm/recipe.toml new file mode 100644 index 00000000..42728a55 --- /dev/null +++ b/recipes/wip/dev/other/customasm/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/hlorenzi/customasm" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/debugedit/recipe.toml b/recipes/wip/dev/other/debugedit/recipe.toml new file mode 100644 index 00000000..c7c0b40d --- /dev/null +++ b/recipes/wip/dev/other/debugedit/recipe.toml @@ -0,0 +1,8 @@ +#TODO make elfutils work +[source] +tar = "https://sourceware.org/ftp/debugedit/5.0/debugedit-5.0.tar.xz" +[build] +template = "configure" +dependencies = [ + "elfutils", +] diff --git a/recipes/wip/dev/other/deploy-rs/recipe.toml b/recipes/wip/dev/other/deploy-rs/recipe.toml new file mode 100644 index 00000000..aef3f5c8 --- /dev/null +++ b/recipes/wip/dev/other/deploy-rs/recipe.toml @@ -0,0 +1,9 @@ +#TODO add a command to properly move the binary +[source] +git = "https://github.com/serokell/deploy-rs" +[build] +template = "custom" +script = """ +mv "${COOKBOOK_STAGE}/usr/bin/deploy" "${COOKBOOK_STAGE}/usr/bin/deploy-rs" +cookbook_cargo +""" diff --git a/recipes/wip/dev/other/deps-rs/recipe.toml b/recipes/wip/dev/other/deps-rs/recipe.toml new file mode 100644 index 00000000..6409f788 --- /dev/null +++ b/recipes/wip/dev/other/deps-rs/recipe.toml @@ -0,0 +1,8 @@ +#TODO camino crate error +[source] +git = "https://github.com/deps-rs/deps.rs" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/other/difftastic/recipe.toml b/recipes/wip/dev/other/difftastic/recipe.toml new file mode 100644 index 00000000..99a4c722 --- /dev/null +++ b/recipes/wip/dev/other/difftastic/recipe.toml @@ -0,0 +1,8 @@ +#TODO make mimalloc work +[source] +git = "https://github.com/Wilfred/difftastic" +[build] +template = "cargo" +dependencies = [ + "mimalloc", +] diff --git a/recipes/wip/dev/other/dioxus/recipe.toml b/recipes/wip/dev/other/dioxus/recipe.toml new file mode 100644 index 00000000..bbe739ab --- /dev/null +++ b/recipes/wip/dev/other/dioxus/recipe.toml @@ -0,0 +1,12 @@ +#TODO compilation error +#TODO need to install the bindgen-cli build tool from cargo: cargo install --force --locked bindgen-cli +[source] +git = "https://github.com/DioxusLabs/dioxus" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +cookbook_cargo_packages dioxus-cli +""" diff --git a/recipes/wip/dev/other/doxygen/recipe.toml b/recipes/wip/dev/other/doxygen/recipe.toml new file mode 100644 index 00000000..ec69b8bf --- /dev/null +++ b/recipes/wip/dev/other/doxygen/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://www.doxygen.nl/manual/install.html#install_src_unix +[source] +tar = "https://www.doxygen.nl/files/doxygen-1.9.8.src.tar.gz" +[build] +template = "cmake" diff --git a/recipes/wip/dev/other/dtool/recipe.toml b/recipes/wip/dev/other/dtool/recipe.toml new file mode 100644 index 00000000..480a35e6 --- /dev/null +++ b/recipes/wip/dev/other/dtool/recipe.toml @@ -0,0 +1,5 @@ +#TODO update the redox_syscall version on the dependency tree +[source] +git = "https://github.com/guoxbin/dtool" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/ecargo/recipe.toml b/recipes/wip/dev/other/ecargo/recipe.toml new file mode 100644 index 00000000..ca92de77 --- /dev/null +++ b/recipes/wip/dev/other/ecargo/recipe.toml @@ -0,0 +1,5 @@ +#TODO glutin crate error +[source] +git = "https://github.com/crumblingstatue/ecargo" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/elfshaker/recipe.toml b/recipes/wip/dev/other/elfshaker/recipe.toml new file mode 100644 index 00000000..00835dc5 --- /dev/null +++ b/recipes/wip/dev/other/elfshaker/recipe.toml @@ -0,0 +1,5 @@ +#TODO rustc-serialize crate error (after an update on proc-macro2 and patch on ring) +[source] +git = "https://github.com/elfshaker/elfshaker" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/elfutils/recipe.toml b/recipes/wip/dev/other/elfutils/recipe.toml new file mode 100644 index 00000000..dcc701ab --- /dev/null +++ b/recipes/wip/dev/other/elfutils/recipe.toml @@ -0,0 +1,5 @@ +#TODO compilation error +[source] +tar = "https://sourceware.org/elfutils/ftp/0.190/elfutils-0.190.tar.bz2" +[build] +template = "configure" diff --git a/recipes/wip/dev/other/espmonitor/recipe.toml b/recipes/wip/dev/other/espmonitor/recipe.toml new file mode 100644 index 00000000..3281febb --- /dev/null +++ b/recipes/wip/dev/other/espmonitor/recipe.toml @@ -0,0 +1,8 @@ +#TODO termios crate error (after cargo update) +[source] +git = "https://github.com/esp-rs/espmonitor" +[build] +template = "custom" +script = """ +cookbook_cargo_packages espmonitor cargo-espmonitor +""" diff --git a/recipes/wip/dev/other/eww/recipe.toml b/recipes/wip/dev/other/eww/recipe.toml new file mode 100644 index 00000000..6626c45f --- /dev/null +++ b/recipes/wip/dev/other/eww/recipe.toml @@ -0,0 +1,15 @@ +#TODO make gtk3 work +[source] +git = "https://github.com/elkowar/eww" +[build] +template = "custom" +dependencies = [ + "gtk3", + "pango", + "cairo", + "gdk-pixbuf", + "glib", +] +script = """ +cookbook_cargo_packages eww +""" diff --git a/recipes/wip/dev/other/fal/recipe.toml b/recipes/wip/dev/other/fal/recipe.toml new file mode 100644 index 00000000..c8e48a47 --- /dev/null +++ b/recipes/wip/dev/other/fal/recipe.toml @@ -0,0 +1,6 @@ +[source] +git = "https://github.com/4lDO2/fal-rs" + +[build] +template = "custom" +script = "cookbook_cargo_packages fal-frontend-redox" diff --git a/recipes/wip/dev/other/fazi/recipe.toml b/recipes/wip/dev/other/fazi/recipe.toml new file mode 100644 index 00000000..9ed656e7 --- /dev/null +++ b/recipes/wip/dev/other/fazi/recipe.toml @@ -0,0 +1,8 @@ +#TODO library source code error +[source] +git = "https://github.com/landaire/fazi" +[build] +template = "custom" +script = """ +cookbook_cargo_packages fazi +""" diff --git a/recipes/wip/dev/other/firedbg/recipe.toml b/recipes/wip/dev/other/firedbg/recipe.toml new file mode 100644 index 00000000..a185d58b --- /dev/null +++ b/recipes/wip/dev/other/firedbg/recipe.toml @@ -0,0 +1,8 @@ +#TODO missing script to properly move the binary +[source] +git = "https://github.com/SeaQL/FireDBG.for.Rust" +[build] +template = "custom" +script = """ +cookbook_cargo_packages firedbg-cli +""" diff --git a/recipes/wip/dev/other/flamegraph/recipe.toml b/recipes/wip/dev/other/flamegraph/recipe.toml new file mode 100644 index 00000000..21a22105 --- /dev/null +++ b/recipes/wip/dev/other/flamegraph/recipe.toml @@ -0,0 +1,8 @@ +#TODO require DTrace support +[source] +git = "https://github.com/flamegraph-rs/flamegraph" +[build] +template = "custom" +script = """ +cookbook_cargo_packages flamegraph +""" diff --git a/recipes/wip/dev/other/flex/recipe.toml b/recipes/wip/dev/other/flex/recipe.toml new file mode 100644 index 00000000..da86f681 --- /dev/null +++ b/recipes/wip/dev/other/flex/recipe.toml @@ -0,0 +1,5 @@ +#TODO configuration error +[source] +tar = "https://github.com/westes/flex/releases/download/v2.6.4/flex-2.6.4.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/dev/other/gegl/recipe.toml b/recipes/wip/dev/other/gegl/recipe.toml new file mode 100644 index 00000000..37b448db --- /dev/null +++ b/recipes/wip/dev/other/gegl/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.gnome.org/GNOME/gegl/-/blob/master/docs/development.adoc?ref_type=heads#user-content-debugging +[source] +tar = "https://download.gimp.org/pub/gegl/0.4/gegl-0.4.46.tar.xz" +[build] +template = "meson" +dependencies = [ + "libpng", + "glib", +] diff --git a/recipes/wip/dev/other/gem5/recipe.toml b/recipes/wip/dev/other/gem5/recipe.toml new file mode 100644 index 00000000..692a8ed5 --- /dev/null +++ b/recipes/wip/dev/other/gem5/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing script for SCons, see https://www.gem5.org/documentation/general_docs/building +[source] +git = "https://github.com/gem5/gem5" +rev = "6835f0665744bba3d56921c9406ee97e841b60a0" +[build] +template = "custom" diff --git a/recipes/wip/dev/other/get-blessed/recipe.toml b/recipes/wip/dev/other/get-blessed/recipe.toml new file mode 100644 index 00000000..6c4b14fd --- /dev/null +++ b/recipes/wip/dev/other/get-blessed/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/josueBarretogit/get_blessed_rs" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/other/gex/recipe.toml b/recipes/wip/dev/other/gex/recipe.toml new file mode 100644 index 00000000..3d710cf2 --- /dev/null +++ b/recipes/wip/dev/other/gex/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/Piturnah/gex" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/gexiv2/recipe.toml b/recipes/wip/dev/other/gexiv2/recipe.toml new file mode 100644 index 00000000..fe53453b --- /dev/null +++ b/recipes/wip/dev/other/gexiv2/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.gnome.org/GNOME/gexiv2/-/blob/master/INSTALLING?ref_type=heads +[source] +tar = "https://download.gnome.org/sources/gexiv2/0.14/gexiv2-0.14.2.tar.xz" +[build] +template = "meson" diff --git a/recipes/wip/dev/other/gfold/recipe.toml b/recipes/wip/dev/other/gfold/recipe.toml new file mode 100644 index 00000000..f698808e --- /dev/null +++ b/recipes/wip/dev/other/gfold/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/nickgerace/gfold" +[build] +template = "custom" +script = """ +cookbook_cargo_packages gfold +""" diff --git a/recipes/wip/dev/other/ghostpdl/recipe.toml b/recipes/wip/dev/other/ghostpdl/recipe.toml new file mode 100644 index 00000000..b6ebf1d7 --- /dev/null +++ b/recipes/wip/dev/other/ghostpdl/recipe.toml @@ -0,0 +1,5 @@ +#TODO error on the libtiff configure script +[source] +tar = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10021/ghostpdl-10.02.1.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/dev/other/gist-rs/recipe.toml b/recipes/wip/dev/other/gist-rs/recipe.toml new file mode 100644 index 00000000..4d89631e --- /dev/null +++ b/recipes/wip/dev/other/gist-rs/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/oz/gist" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/gitlab-cargo-shim/recipe.toml b/recipes/wip/dev/other/gitlab-cargo-shim/recipe.toml new file mode 100644 index 00000000..2827f4c8 --- /dev/null +++ b/recipes/wip/dev/other/gitlab-cargo-shim/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/w4/gitlab-cargo-shim" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/glibmm/recipe.toml b/recipes/wip/dev/other/glibmm/recipe.toml new file mode 100644 index 00000000..4ed01f0c --- /dev/null +++ b/recipes/wip/dev/other/glibmm/recipe.toml @@ -0,0 +1,8 @@ +#TODO probably wrong template, see https://gitlab.gnome.org/GNOME/glibmm#building +[source] +tar = "https://download.gnome.org/sources/glibmm/2.78/glibmm-2.78.0.tar.xz" +[build] +template = "configure" +dependencies = [ + "glib", +] diff --git a/recipes/wip/dev/other/gperf/recipe.toml b/recipes/wip/dev/other/gperf/recipe.toml new file mode 100644 index 00000000..d15f30a4 --- /dev/null +++ b/recipes/wip/dev/other/gperf/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not fully tested +[source] +tar = "https://ftp.gnu.org/gnu/gperf/gperf-3.1.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/dev/other/graphene/recipe.toml b/recipes/wip/dev/other/graphene/recipe.toml new file mode 100644 index 00000000..40d77cfe --- /dev/null +++ b/recipes/wip/dev/other/graphene/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://github.com/ebassi/graphene#installation +[source] +tar = "https://download.gnome.org/sources/graphene/1.10/graphene-1.10.8.tar.xz" +[build] +template = "meson" diff --git a/recipes/wip/dev/other/grcov/recipe.toml b/recipes/wip/dev/other/grcov/recipe.toml new file mode 100644 index 00000000..ead221f4 --- /dev/null +++ b/recipes/wip/dev/other/grcov/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/mozilla/grcov" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/gtest/recipe.toml b/recipes/wip/dev/other/gtest/recipe.toml new file mode 100644 index 00000000..b9370e25 --- /dev/null +++ b/recipes/wip/dev/other/gtest/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://github.com/google/googletest/blob/main/googletest/README.md +[source] +git = "https://github.com/google/googletest" +rev = "f8d7d77c06936315286eb55f8de22cd23c188571" +[build] +template = "cmake" diff --git a/recipes/wip/dev/other/guile/recipe.toml b/recipes/wip/dev/other/guile/recipe.toml new file mode 100644 index 00000000..dded977d --- /dev/null +++ b/recipes/wip/dev/other/guile/recipe.toml @@ -0,0 +1,14 @@ +#TODO make dependencies work +[source] +tar = "https://ftp.gnu.org/gnu/guile/guile-3.0.9.tar.xz" +[build] +template = "configure" +dependencies = [ + "libgmp", + "libiconv", + "libunistring", + "libgc", + "readline", + "libffi", + "libintl", +] diff --git a/recipes/wip/dev/other/harper/recipe.toml b/recipes/wip/dev/other/harper/recipe.toml new file mode 100644 index 00000000..6e4e8147 --- /dev/null +++ b/recipes/wip/dev/other/harper/recipe.toml @@ -0,0 +1,8 @@ +#TODO linking error +[source] +git = "https://github.com/Automattic/harper" +[build] +template = "custom" +script = """ +cookbook_cargo_packages harper-ls +""" diff --git a/recipes/wip/dev/other/headers/recipe.toml b/recipes/wip/dev/other/headers/recipe.toml new file mode 100644 index 00000000..70db59f0 --- /dev/null +++ b/recipes/wip/dev/other/headers/recipe.toml @@ -0,0 +1,8 @@ +#TODO make libxcb work +[source] +git = "https://github.com/transmissions11/headers" +[build] +template = "cargo" +dependencies = [ + "libxcb", +] diff --git a/recipes/wip/dev/other/hexyl/recipe.toml b/recipes/wip/dev/other/hexyl/recipe.toml new file mode 100644 index 00000000..41ee1a16 --- /dev/null +++ b/recipes/wip/dev/other/hexyl/recipe.toml @@ -0,0 +1,5 @@ +#TODO promote +[source] +git = "https://github.com/sharkdp/hexyl" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/honggfuzz/recipe.toml b/recipes/wip/dev/other/honggfuzz/recipe.toml new file mode 100644 index 00000000..a4a5c4b2 --- /dev/null +++ b/recipes/wip/dev/other/honggfuzz/recipe.toml @@ -0,0 +1,9 @@ +#TODO missing script for "make", see https://github.com/google/honggfuzz#installation +[source] +git = "https://github.com/google/honggfuzz" +rev = "83a8415a372d84dcc69ac1e2c2f152190bcf76d1" +[build] +template = "custom" +dependencies = [ + "libunwind", +] diff --git a/recipes/wip/dev/other/htmlq/recipe.toml b/recipes/wip/dev/other/htmlq/recipe.toml new file mode 100644 index 00000000..5c3c402f --- /dev/null +++ b/recipes/wip/dev/other/htmlq/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/mgdm/htmlq" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/hvm/recipe.toml b/recipes/wip/dev/other/hvm/recipe.toml new file mode 100644 index 00000000..27791717 --- /dev/null +++ b/recipes/wip/dev/other/hvm/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/HigherOrderCO/HVM" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/icemaker/recipe.toml b/recipes/wip/dev/other/icemaker/recipe.toml new file mode 100644 index 00000000..1dd73e8a --- /dev/null +++ b/recipes/wip/dev/other/icemaker/recipe.toml @@ -0,0 +1,5 @@ +#TODO tree-sitter-rust error +[source] +git = "https://github.com/matthiaskrgr/icemaker" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/inko/recipe.toml b/recipes/wip/dev/other/inko/recipe.toml new file mode 100644 index 00000000..0f6d33df --- /dev/null +++ b/recipes/wip/dev/other/inko/recipe.toml @@ -0,0 +1,5 @@ +#TODO Require LLVM 15 +[source] +tar = "https://releases.inko-lang.org/0.11.0.tar.gz" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/intltool/recipe.toml b/recipes/wip/dev/other/intltool/recipe.toml new file mode 100644 index 00000000..3a5ae285 --- /dev/null +++ b/recipes/wip/dev/other/intltool/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +tar = "https://launchpad.net/intltool/trunk/0.51.0/+download/intltool-0.51.0.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/dev/other/irust/recipe.toml b/recipes/wip/dev/other/irust/recipe.toml new file mode 100644 index 00000000..5af88ce8 --- /dev/null +++ b/recipes/wip/dev/other/irust/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/sigmaSd/IRust" +[build] +template = "custom" +script = """ +cookbook_cargo_packages irust +""" diff --git a/recipes/wip/dev/other/ispc/recipe.toml b/recipes/wip/dev/other/ispc/recipe.toml new file mode 100644 index 00000000..d77f6174 --- /dev/null +++ b/recipes/wip/dev/other/ispc/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing script for building, see https://github.com/ispc/ispc/wiki/ISPC-Development-Guide#build-system +[source] +git = "https://github.com/ispc/ispc" +rev = "bd2c42d42e0cc3da1baf92160b82d4dc820a02ee" +[build] +template = "custom" diff --git a/recipes/wip/dev/other/jaq/recipe.toml b/recipes/wip/dev/other/jaq/recipe.toml new file mode 100644 index 00000000..309ad16a --- /dev/null +++ b/recipes/wip/dev/other/jaq/recipe.toml @@ -0,0 +1,8 @@ +#TODO mimalloc error +[source] +git = "https://github.com/01mf02/jaq" +[build] +template = "custom" +script = """ +cookbook_cargo_packages jaq +""" diff --git a/recipes/wip/dev/other/jco/recipe.toml b/recipes/wip/dev/other/jco/recipe.toml new file mode 100644 index 00000000..34035ea0 --- /dev/null +++ b/recipes/wip/dev/other/jco/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/bytecodealliance/jco" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/jq/recipe.toml b/recipes/wip/dev/other/jq/recipe.toml new file mode 100644 index 00000000..26932f40 --- /dev/null +++ b/recipes/wip/dev/other/jq/recipe.toml @@ -0,0 +1,5 @@ +#TODO undefined reference +[source] +tar = "https://github.com/jqlang/jq/releases/download/jq-1.7.1/jq-1.7.1.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/dev/other/jujutsu/recipe.toml b/recipes/wip/dev/other/jujutsu/recipe.toml new file mode 100644 index 00000000..15e349b1 --- /dev/null +++ b/recipes/wip/dev/other/jujutsu/recipe.toml @@ -0,0 +1,11 @@ +#TODO mac_address crate error +[source] +git = "https://github.com/martinvonz/jj" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +cookbook_cargo_packages jj-cli +""" diff --git a/recipes/wip/dev/other/kicad/recipe.toml b/recipes/wip/dev/other/kicad/recipe.toml new file mode 100644 index 00000000..8dfecdca --- /dev/null +++ b/recipes/wip/dev/other/kicad/recipe.toml @@ -0,0 +1,19 @@ +#TODO not compiled or tested +#TODO maybe missing dependencies, see https://dev-docs.kicad.org/en/build/getting-started/ +# build instructions: https://dev-docs.kicad.org/en/build/linux/ +[source] +git = "https://gitlab.com/kicad/code/kicad" +rev = "942661fc10e172febf9d9990de2471d4b1020618" +[build] +template = "cmake" +dependencies = [ + "wxwidgets-gtk3", + "cairo", + "boost", + "glew", + "zlib", + "freeglut", + "glm", + "curl", + "ngspice", +] diff --git a/recipes/wip/dev/other/kickstart/recipe.toml b/recipes/wip/dev/other/kickstart/recipe.toml new file mode 100644 index 00000000..b3d789da --- /dev/null +++ b/recipes/wip/dev/other/kickstart/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/Keats/kickstart" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/knope/recipe.toml b/recipes/wip/dev/other/knope/recipe.toml new file mode 100644 index 00000000..f70300e8 --- /dev/null +++ b/recipes/wip/dev/other/knope/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/knope-dev/knope" +[build] +template = "custom" +script = """ +cookbook_cargo_packages knope +""" diff --git a/recipes/wip/dev/other/kondo/recipe.toml b/recipes/wip/dev/other/kondo/recipe.toml new file mode 100644 index 00000000..e23eda27 --- /dev/null +++ b/recipes/wip/dev/other/kondo/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/tbillington/kondo" +[build] +template = "custom" +script = """ +cookbook_cargo_packages kondo +""" diff --git a/recipes/wip/dev/other/ktra/recipe.toml b/recipes/wip/dev/other/ktra/recipe.toml new file mode 100644 index 00000000..b4113b6e --- /dev/null +++ b/recipes/wip/dev/other/ktra/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/moriturus/ktra" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/other/lading/recipe.toml b/recipes/wip/dev/other/lading/recipe.toml new file mode 100644 index 00000000..9d8a76b7 --- /dev/null +++ b/recipes/wip/dev/other/lading/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/DataDog/lading" +[build] +template = "custom" +script = """ +cookbook_cargo_packages lading +""" diff --git a/recipes/wip/dev/other/leetup/recipe.toml b/recipes/wip/dev/other/leetup/recipe.toml new file mode 100644 index 00000000..717945da --- /dev/null +++ b/recipes/wip/dev/other/leetup/recipe.toml @@ -0,0 +1,5 @@ +#TODO openssl-sys crate error +[source] +git = "https://github.com/dragfire/leetup" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/leptosfmt/recipe.toml b/recipes/wip/dev/other/leptosfmt/recipe.toml new file mode 100644 index 00000000..662aa4c4 --- /dev/null +++ b/recipes/wip/dev/other/leptosfmt/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/bram209/leptosfmt" +[build] +template = "custom" +script = """ +cookbook_cargo_packages leptosfmt +""" diff --git a/recipes/wip/dev/other/level-zero/recipe.toml b/recipes/wip/dev/other/level-zero/recipe.toml new file mode 100644 index 00000000..75e9fe63 --- /dev/null +++ b/recipes/wip/dev/other/level-zero/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://github.com/oneapi-src/level-zero#building-and-installing +[source] +git = "https://github.com/oneapi-src/level-zero" +rev = "ea5be99d8d34480447ab1e3c7efc30d6f179b123" +[build] +template = "cmake" diff --git a/recipes/wip/dev/other/license-generator/recipe.toml b/recipes/wip/dev/other/license-generator/recipe.toml new file mode 100644 index 00000000..98958b46 --- /dev/null +++ b/recipes/wip/dev/other/license-generator/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/azu/license-generator" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/licensure/recipe.toml b/recipes/wip/dev/other/licensure/recipe.toml new file mode 100644 index 00000000..21c30641 --- /dev/null +++ b/recipes/wip/dev/other/licensure/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/chasinglogic/licensure" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/other/loadlibrary/recipe.toml b/recipes/wip/dev/other/loadlibrary/recipe.toml new file mode 100644 index 00000000..bf97a24b --- /dev/null +++ b/recipes/wip/dev/other/loadlibrary/recipe.toml @@ -0,0 +1,8 @@ +#TODO missing script for "make", see https://github.com/taviso/loadlibrary#building +[source] +git = "https://github.com/taviso/loadlibrary" +[build] +template = "custom" +dependencies = [ + "readline", +] diff --git a/recipes/wip/dev/other/lockdiff/recipe.toml b/recipes/wip/dev/other/lockdiff/recipe.toml new file mode 100644 index 00000000..edbb0906 --- /dev/null +++ b/recipes/wip/dev/other/lockdiff/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/your-tools/lockdiff" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/loco/recipe.toml b/recipes/wip/dev/other/loco/recipe.toml new file mode 100644 index 00000000..85d138a1 --- /dev/null +++ b/recipes/wip/dev/other/loco/recipe.toml @@ -0,0 +1,17 @@ +#TODO camino crate error +[source] +git = "https://github.com/loco-rs/loco" +[build] +template = "custom" +script = """ +binary=loco-rs +"${COOKBOOK_CARGO}" build \ + --manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \ + --package "${binary}" \ + --release + --cli + mkdir -pv "${COOKBOOK_STAGE}/usr/bin" + cp -v \ + "target/${TARGET}/release/${binary}" \ + "${COOKBOOK_STAGE}/usr/bin/${binary}" +""" diff --git a/recipes/wip/dev/other/lttng-ust/recipe.toml b/recipes/wip/dev/other/lttng-ust/recipe.toml new file mode 100644 index 00000000..fa22fa07 --- /dev/null +++ b/recipes/wip/dev/other/lttng-ust/recipe.toml @@ -0,0 +1,12 @@ +#TODO make dependencies work +[source] +tar = "http://lttng.org/files/lttng-ust/lttng-ust-2.13.6.tar.bz2" +[build] +template = "configure" +dependencies = [ + "libxml2", + "lttng", + "liburcu", + "libuuid", + "popt", +] diff --git a/recipes/wip/dev/other/lurk/recipe.toml b/recipes/wip/dev/other/lurk/recipe.toml new file mode 100644 index 00000000..a94e58fe --- /dev/null +++ b/recipes/wip/dev/other/lurk/recipe.toml @@ -0,0 +1,5 @@ +#TODO users crate error +[source] +git = "https://github.com/JakWai01/lurk" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/margo/recipe.toml b/recipes/wip/dev/other/margo/recipe.toml new file mode 100644 index 00000000..cbc7749b --- /dev/null +++ b/recipes/wip/dev/other/margo/recipe.toml @@ -0,0 +1,5 @@ +#TODO compilation error +[source] +git = "https://github.com/integer32llc/margo" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/memtest-vulkan/recipe.toml b/recipes/wip/dev/other/memtest-vulkan/recipe.toml new file mode 100644 index 00000000..33ef2ee9 --- /dev/null +++ b/recipes/wip/dev/other/memtest-vulkan/recipe.toml @@ -0,0 +1,5 @@ +#TODO nix, fs4 and rustix crates error +[source] +git = "https://github.com/GpuZelenograd/memtest_vulkan" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/mise/recipe.toml b/recipes/wip/dev/other/mise/recipe.toml new file mode 100644 index 00000000..c554d91c --- /dev/null +++ b/recipes/wip/dev/other/mise/recipe.toml @@ -0,0 +1,8 @@ +#TODO shared_child and libc crates error +[source] +git = "https://github.com/jdx/mise" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/other/mkrs/recipe.toml b/recipes/wip/dev/other/mkrs/recipe.toml new file mode 100644 index 00000000..91e9c60e --- /dev/null +++ b/recipes/wip/dev/other/mkrs/recipe.toml @@ -0,0 +1,5 @@ +#TODO outdated redox_syscall crate +[source] +git = "https://github.com/qtfkwk/mkrs" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/mnn/recipe.toml b/recipes/wip/dev/other/mnn/recipe.toml new file mode 100644 index 00000000..605457a0 --- /dev/null +++ b/recipes/wip/dev/other/mnn/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# lacking English build instructions +[source] +git = "https://github.com/alibaba/MNN" +rev = "1ea55f467fb231655cf1e08f77d4a0f1043c4c29" +[build] +template = "cmake" diff --git a/recipes/wip/dev/other/mold/recipe.toml b/recipes/wip/dev/other/mold/recipe.toml new file mode 100644 index 00000000..7234cb24 --- /dev/null +++ b/recipes/wip/dev/other/mold/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions - https://github.com/rui314/mold#how-to-build +[source] +git = "https://github.com/rui314/mold" +rev = "b53197300b5bf9f02daccae536f65dda2d1431c5" +[build] +template = "cmake" diff --git a/recipes/wip/dev/other/morty/recipe.toml b/recipes/wip/dev/other/morty/recipe.toml new file mode 100644 index 00000000..42fd49ae --- /dev/null +++ b/recipes/wip/dev/other/morty/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/pulp-platform/morty" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/ncnn/recipe.toml b/recipes/wip/dev/other/ncnn/recipe.toml new file mode 100644 index 00000000..b363536e --- /dev/null +++ b/recipes/wip/dev/other/ncnn/recipe.toml @@ -0,0 +1,11 @@ +#TODO not compiled or tested +# build instructions: https://github.com/Tencent/ncnn/wiki/how-to-build#build-for-linux +[source] +git = "https://github.com/Tencent/ncnn" +[build] +template = "cmake" +dependencies = [ + "protobuf", + "libvulkan", + "opencv4", +] diff --git a/recipes/wip/dev/other/necessist/recipe.toml b/recipes/wip/dev/other/necessist/recipe.toml new file mode 100644 index 00000000..43deeb23 --- /dev/null +++ b/recipes/wip/dev/other/necessist/recipe.toml @@ -0,0 +1,12 @@ +#TODO camino crate error +[source] +git = "https://github.com/trailofbits/necessist" +[build] +template = "custom" +dependencies = [ + "sqlite3", + "openssl1", +] +script = """ +cookbook_cargo_packages necessist +""" diff --git a/recipes/wip/dev/other/netradiant/recipe.toml b/recipes/wip/dev/other/netradiant/recipe.toml new file mode 100644 index 00000000..eb1bf987 --- /dev/null +++ b/recipes/wip/dev/other/netradiant/recipe.toml @@ -0,0 +1,14 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.com/xonotic/netradiant#advanced-compilation +[source] +git = "https://gitlab.com/xonotic/netradiant" +[build] +template = "cmake" +dependencies = [ + "libxml2", + "mesa", + "gtk2", + "libjpeg", + "libpng", + "zlib", +] diff --git a/recipes/wip/dev/other/ngspice/recipe.toml b/recipes/wip/dev/other/ngspice/recipe.toml new file mode 100644 index 00000000..d8e6f1ab --- /dev/null +++ b/recipes/wip/dev/other/ngspice/recipe.toml @@ -0,0 +1,15 @@ +#TODO maybe wrong script, see https://sourceforge.net/p/ngspice/ngspice/ci/master/tree/INSTALL +#TODO maybe missing dependencies +[source] +tar = "https://sourceforge.net/projects/ngspice/files/ng-spice-rework/42/ngspice-42.tar.gz/download" +[build] +template = "custom" +script = """ +cd release +COOKBOOK_CONFIGURE_FLAGS+=( + --with-x + --with-readline=yes + --disable-debug +) +cookbook_configure +""" diff --git a/recipes/wip/dev/other/not-perf/recipe.toml b/recipes/wip/dev/other/not-perf/recipe.toml new file mode 100644 index 00000000..af14fe02 --- /dev/null +++ b/recipes/wip/dev/other/not-perf/recipe.toml @@ -0,0 +1,8 @@ +#TODO perf_event_open crate error (after cargo update) +[source] +git = "https://github.com/koute/not-perf" +[build] +template = "custom" +script = """ +cookbook_cargo_packages nperf +""" diff --git a/recipes/wip/dev/other/novops/recipe.toml b/recipes/wip/dev/other/novops/recipe.toml new file mode 100644 index 00000000..d79cfa24 --- /dev/null +++ b/recipes/wip/dev/other/novops/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing script for "make", see https://pierrebeucher.github.io/novops/install.html#from-source +[source] +git = "https://github.com/PierreBeucher/novops" +rev = "e0891144108a889f18448b39aebe9d5a5ac2689d" +[build] +template = "custom" diff --git a/recipes/wip/dev/other/omni/recipe.toml b/recipes/wip/dev/other/omni/recipe.toml new file mode 100644 index 00000000..de3529e6 --- /dev/null +++ b/recipes/wip/dev/other/omni/recipe.toml @@ -0,0 +1,5 @@ +#TODO openssl-sys crate error +[source] +git = "https://github.com/XaF/omni" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/omnibor-rs/recipe.toml b/recipes/wip/dev/other/omnibor-rs/recipe.toml new file mode 100644 index 00000000..2f407ee9 --- /dev/null +++ b/recipes/wip/dev/other/omnibor-rs/recipe.toml @@ -0,0 +1,17 @@ +#TODO Bash error with the "--build-binary" Cargo flag +[source] +git = "https://github.com/omnibor/omnibor-rs" +[build] +template = "custom" +script = """ +binary=omnibor +"${COOKBOOK_CARGO}" build \ + --manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \ + --bin "${binary}" \ + --release + --build-binary + mkdir -pv "${COOKBOOK_STAGE}/usr/bin" + cp -v \ + "target/${TARGET}/release/${binary}" \ + "${COOKBOOK_STAGE}/usr/bin/${binary}" +""" diff --git a/recipes/wip/dev/other/opam/recipe.toml b/recipes/wip/dev/other/opam/recipe.toml new file mode 100644 index 00000000..1ad624f4 --- /dev/null +++ b/recipes/wip/dev/other/opam/recipe.toml @@ -0,0 +1,6 @@ +#TODO configuration problem +#TODO require the OCaml compiler on the host +[source] +tar = "https://github.com/ocaml/opam/releases/download/2.1.5/opam-full-2.1.5.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/dev/other/opencascade/recipe.toml b/recipes/wip/dev/other/opencascade/recipe.toml new file mode 100644 index 00000000..1f475757 --- /dev/null +++ b/recipes/wip/dev/other/opencascade/recipe.toml @@ -0,0 +1,12 @@ +#TODO not compiled or tested +# build instructions: https://dev.opencascade.org/doc/overview/html/build_upgrade__building_occt.html +#TODO missing dependencies, see https://dev.opencascade.org/doc/overview/html/build_upgrade_building_3rdparty.html#build_3rdparty_linux +[source] +tar = "https://github.com/Open-Cascade-SAS/OCCT/archive/refs/tags/V7_8_0.tar.gz" +[build] +template = "cmake" +dependencies = [ + "freetype2", + "tcl", + "tk", +] diff --git a/recipes/wip/dev/other/openradioss/recipe.toml b/recipes/wip/dev/other/openradioss/recipe.toml new file mode 100644 index 00000000..770045fb --- /dev/null +++ b/recipes/wip/dev/other/openradioss/recipe.toml @@ -0,0 +1,8 @@ +#TODO missing script for building, see https://github.com/OpenRadioss/OpenRadioss/blob/main/HOWTO.md#building-on-linux +[source] +tar = "https://github.com/OpenRadioss/OpenRadioss" +[build] +template = "custom" +dependencies = [ + "openmpi", +] diff --git a/recipes/wip/dev/other/oxc/recipe.toml b/recipes/wip/dev/other/oxc/recipe.toml new file mode 100644 index 00000000..7d57d15c --- /dev/null +++ b/recipes/wip/dev/other/oxc/recipe.toml @@ -0,0 +1,8 @@ +#TODO can't fetch the submodules because they need login +[source] +git = "https://github.com/oxc-project/oxc" +[build] +template = "custom" +script = """ +cookbook_cargo_packages oxc +""" diff --git a/recipes/wip/dev/other/oxidizer/recipe.toml b/recipes/wip/dev/other/oxidizer/recipe.toml new file mode 100644 index 00000000..62b3afe9 --- /dev/null +++ b/recipes/wip/dev/other/oxidizer/recipe.toml @@ -0,0 +1,5 @@ +#TODO rustc-serialize crate error +[source] +git = "https://github.com/ix/oxidizer" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/panamax/recipe.toml b/recipes/wip/dev/other/panamax/recipe.toml new file mode 100644 index 00000000..2b2e4de4 --- /dev/null +++ b/recipes/wip/dev/other/panamax/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/panamax-rs/panamax" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/other/phantom-ci/recipe.toml b/recipes/wip/dev/other/phantom-ci/recipe.toml new file mode 100644 index 00000000..b3cf34de --- /dev/null +++ b/recipes/wip/dev/other/phantom-ci/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/helloimalemur/phantomci" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/piccolo/recipe.toml b/recipes/wip/dev/other/piccolo/recipe.toml new file mode 100644 index 00000000..af85d93c --- /dev/null +++ b/recipes/wip/dev/other/piccolo/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/kyren/piccolo" +[build] +template = "custom" +script = """ +cookbook_cargo_examples interpreter +""" diff --git a/recipes/wip/dev/other/pixi/recipe.toml b/recipes/wip/dev/other/pixi/recipe.toml new file mode 100644 index 00000000..0ebe5237 --- /dev/null +++ b/recipes/wip/dev/other/pixi/recipe.toml @@ -0,0 +1,8 @@ +#TODO fs4 crate error (after cargo update) +[source] +git = "https://github.com/prefix-dev/pixi" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/other/precious/recipe.toml b/recipes/wip/dev/other/precious/recipe.toml new file mode 100644 index 00000000..cf6abee7 --- /dev/null +++ b/recipes/wip/dev/other/precious/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/houseabsolute/precious" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/probe-rs/recipe.toml b/recipes/wip/dev/other/probe-rs/recipe.toml new file mode 100644 index 00000000..9afdaeee --- /dev/null +++ b/recipes/wip/dev/other/probe-rs/recipe.toml @@ -0,0 +1,11 @@ +#TODO maybe missing dependencies +[source] +git = "https://github.com/probe-rs/probe-rs" +[build] +template = "custom" +dependencies = [ + "libudev", +] +script = """ +cookbook_cargo --features cli +""" diff --git a/recipes/wip/dev/other/projclean/recipe.toml b/recipes/wip/dev/other/projclean/recipe.toml new file mode 100644 index 00000000..7c879322 --- /dev/null +++ b/recipes/wip/dev/other/projclean/recipe.toml @@ -0,0 +1,5 @@ +#TODO fs_at crate error +[source] +git = "https://github.com/sigoden/projclean" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/projections/recipe.toml b/recipes/wip/dev/other/projections/recipe.toml new file mode 100644 index 00000000..6ff8d106 --- /dev/null +++ b/recipes/wip/dev/other/projections/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing script for "make", see https://github.com/charmplusplus/projections#compiling-projections +[source] +git = "https://github.com/charmplusplus/projections" +rev = "831b63af68f325c64dac307d9d2b5b07d9a21caa" +[build] +template = "custom" diff --git a/recipes/wip/dev/other/protobuf/recipe.toml b/recipes/wip/dev/other/protobuf/recipe.toml new file mode 100644 index 00000000..9458f8c3 --- /dev/null +++ b/recipes/wip/dev/other/protobuf/recipe.toml @@ -0,0 +1,16 @@ +#TODO: Compilation error (relibc issues?) +# Also see https://github.com/protocolbuffers/protobuf/blob/main/cmake/README.md +[source] +git = "https://github.com/protocolbuffers/protobuf" +# Latest release: v31.1 +rev = "74211c0dfc2777318ab53c2cd2c317a2ef9012de" +shallow_clone = true + +[build] +template = "cmake" +cmakeflags = [ + "-Dprotobuf_BUILD_TESTS=OFF" +] +dependencies = [ + "zlib", +] diff --git a/recipes/wip/dev/other/protofetch/recipe.toml b/recipes/wip/dev/other/protofetch/recipe.toml new file mode 100644 index 00000000..33f03db5 --- /dev/null +++ b/recipes/wip/dev/other/protofetch/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/coralogix/protofetch" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/other/pxp/recipe.toml b/recipes/wip/dev/other/pxp/recipe.toml new file mode 100644 index 00000000..22f12f3e --- /dev/null +++ b/recipes/wip/dev/other/pxp/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/pxp-lang/pxp" +[build] +template = "custom" +script = """ +cookbook_cargo_packages pxp-tools +""" diff --git a/recipes/wip/dev/other/qbe/recipe.toml b/recipes/wip/dev/other/qbe/recipe.toml new file mode 100644 index 00000000..5ed00247 --- /dev/null +++ b/recipes/wip/dev/other/qbe/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for "make", see https://c9x.me/git/qbe.git/tree/README#n13 +[source] +tar = "https://c9x.me/compile/release/qbe-1.1.tar.xz" +[build] +template = "custom" diff --git a/recipes/wip/dev/other/quicktest/recipe.toml b/recipes/wip/dev/other/quicktest/recipe.toml new file mode 100644 index 00000000..15691bc6 --- /dev/null +++ b/recipes/wip/dev/other/quicktest/recipe.toml @@ -0,0 +1,5 @@ +#TODO async-io and rustix crates error +[source] +git = "https://github.com/LuchoBazz/quicktest" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/radicle/recipe.toml b/recipes/wip/dev/other/radicle/recipe.toml new file mode 100644 index 00000000..ba49b09d --- /dev/null +++ b/recipes/wip/dev/other/radicle/recipe.toml @@ -0,0 +1,8 @@ +#TODO libc error +[source] +git = "https://seed.radicle.xyz/z3gqcJUoA1n9HaHKufZs5FCSGazv5.git" +[build] +template = "custom" +script = """ +cookbook_cargo_packages radicle-cli radicle-node radicle-remote-helper +""" diff --git a/recipes/wip/dev/other/ragel/recipe.toml b/recipes/wip/dev/other/ragel/recipe.toml new file mode 100644 index 00000000..c4061a20 --- /dev/null +++ b/recipes/wip/dev/other/ragel/recipe.toml @@ -0,0 +1,14 @@ +#TODO missing colm directory on the GNU Autotools flag +[source] +tar = "https://www.colm.net/files/ragel/ragel-6.10.tar.gz" +[build] +template = "custom" +dependencies = [ + "colm", +] +script = """ +COOKBOOK_CONFIGURE_FLAGS+=( + --with-colm= +) +cookbook_configure +""" diff --git a/recipes/wip/dev/other/rattler-build/recipe.toml b/recipes/wip/dev/other/rattler-build/recipe.toml new file mode 100644 index 00000000..257b77a7 --- /dev/null +++ b/recipes/wip/dev/other/rattler-build/recipe.toml @@ -0,0 +1,8 @@ +#TODO openssl error +[source] +git = "https://github.com/prefix-dev/rattler-build" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/other/rbasefind/recipe.toml b/recipes/wip/dev/other/rbasefind/recipe.toml new file mode 100644 index 00000000..886bd0f9 --- /dev/null +++ b/recipes/wip/dev/other/rbasefind/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/sgayou/rbasefind" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/redict/recipe.toml b/recipes/wip/dev/other/redict/recipe.toml new file mode 100644 index 00000000..7e7ed8cb --- /dev/null +++ b/recipes/wip/dev/other/redict/recipe.toml @@ -0,0 +1,6 @@ +#TODO Missing script for "make", see https://redict.io/docs/install/#installing-from-source +[source] +git = "https://codeberg.org/redict/redict" +rev = "5684cdbd9f2aefb494dfb346292d4322319d236b" +[build] +template = "custom" diff --git a/recipes/wip/dev/other/redis/recipe.toml b/recipes/wip/dev/other/redis/recipe.toml new file mode 100644 index 00000000..f86290f1 --- /dev/null +++ b/recipes/wip/dev/other/redis/recipe.toml @@ -0,0 +1,6 @@ +#TODO Missing script for "make", see https://redis.io/docs/install/install-redis/install-redis-from-source/ +[source] +git = "https://github.com/redis/redis" +rev = "7f4bae817614988c43c3024402d16edcbf3b3277" +[build] +template = "custom" diff --git a/recipes/wip/dev/other/release-plz/recipe.toml b/recipes/wip/dev/other/release-plz/recipe.toml new file mode 100644 index 00000000..3e05dd15 --- /dev/null +++ b/recipes/wip/dev/other/release-plz/recipe.toml @@ -0,0 +1,14 @@ +#TODO openssl-sys crate error +[source] +git = "https://github.com/MarcoIeni/release-plz" +rev = "68baf26d77a887c3ad90e4ad75ce77d9788f2442" +[build] +dependencies = [ + "openssl1", +] +template = "custom" +script = """ +export OPENSSL_DIR="${COOKBOOK_SYSROOT}" +export OPENSSL_STATIC="true" +cookbook_cargo_packages release-plz +""" diff --git a/recipes/wip/dev/other/renderdoc/recipe.toml b/recipes/wip/dev/other/renderdoc/recipe.toml new file mode 100644 index 00000000..1fb82abe --- /dev/null +++ b/recipes/wip/dev/other/renderdoc/recipe.toml @@ -0,0 +1,13 @@ +#TODO not compiled or tested +# build instructions: https://github.com/baldurk/renderdoc/blob/v1.x/docs/CONTRIBUTING/Compiling.md#linux +[source] +git = "https://github.com/baldurk/renderdoc" +rev = "5f95fb95a2a225a092372e7bd0bfd2073525d3ac" +[build] +template = "cmake" +dependencies = [ + "libxcb", + "mesa", + "qt5-base", + "pcre", +] diff --git a/recipes/wip/dev/other/resym/recipe.toml b/recipes/wip/dev/other/resym/recipe.toml new file mode 100644 index 00000000..716d6dff --- /dev/null +++ b/recipes/wip/dev/other/resym/recipe.toml @@ -0,0 +1,8 @@ +#TODO webbrowser crate error +[source] +git = "https://github.com/ergrelet/resym" +[build] +template = "custom" +script = """ +cookbook_cargo_packages resym resymc +""" diff --git a/recipes/wip/dev/other/rgit/recipe.toml b/recipes/wip/dev/other/rgit/recipe.toml new file mode 100644 index 00000000..8531793b --- /dev/null +++ b/recipes/wip/dev/other/rgit/recipe.toml @@ -0,0 +1,8 @@ +#TODO compilation error +[source] +git = "https://github.com/w4/rgit" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/other/rhack/recipe.toml b/recipes/wip/dev/other/rhack/recipe.toml new file mode 100644 index 00000000..0b6e1fa4 --- /dev/null +++ b/recipes/wip/dev/other/rhack/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/nakabonne/rhack" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/rudra/recipe.toml b/recipes/wip/dev/other/rudra/recipe.toml new file mode 100644 index 00000000..0cec8f00 --- /dev/null +++ b/recipes/wip/dev/other/rudra/recipe.toml @@ -0,0 +1,5 @@ +#TODO ouutdated redox_syscall crate? +[source] +git = "https://github.com/sslab-gatech/Rudra" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/rust-counter-strings/recipe.toml b/recipes/wip/dev/other/rust-counter-strings/recipe.toml new file mode 100644 index 00000000..deb3cd75 --- /dev/null +++ b/recipes/wip/dev/other/rust-counter-strings/recipe.toml @@ -0,0 +1,5 @@ +#TODO promote +[source] +git = "https://github.com/thomaschaplin/rust-counter-strings" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/rusty-radamsa/recipe.toml b/recipes/wip/dev/other/rusty-radamsa/recipe.toml new file mode 100644 index 00000000..fdb789ae --- /dev/null +++ b/recipes/wip/dev/other/rusty-radamsa/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/microsoft/rusty-radamsa" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/shaderc/recipe.toml b/recipes/wip/dev/other/shaderc/recipe.toml new file mode 100644 index 00000000..6dde3f79 --- /dev/null +++ b/recipes/wip/dev/other/shaderc/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://github.com/google/shaderc#getting-and-building-shaderc +[source] +git = "https://github.com/google/shaderc" +rev = "3882b16417077aa8eaa7b5775920e7ba4b8a224d" +[build] +template = "cmake" diff --git a/recipes/wip/dev/other/silicon/recipe.toml b/recipes/wip/dev/other/silicon/recipe.toml new file mode 100644 index 00000000..b2b17b4f --- /dev/null +++ b/recipes/wip/dev/other/silicon/recipe.toml @@ -0,0 +1,8 @@ +#TODO the yeslogic-fontconfig-sys crate can't find the fontconfig dependency +[source] +git = "https://github.com/Aloxaf/silicon" +[build] +template = "cargo" +dependencies = [ + "fontconfig", +] diff --git a/recipes/wip/dev/other/souper/recipe.toml b/recipes/wip/dev/other/souper/recipe.toml new file mode 100644 index 00000000..2ebf5547 --- /dev/null +++ b/recipes/wip/dev/other/souper/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://github.com/google/souper#building-souper +[source] +git = "https://github.com/google/souper" +[build] +template = "cmake" diff --git a/recipes/wip/dev/other/steel/recipe.toml b/recipes/wip/dev/other/steel/recipe.toml new file mode 100644 index 00000000..7bbde1ae --- /dev/null +++ b/recipes/wip/dev/other/steel/recipe.toml @@ -0,0 +1,8 @@ +#TODO rustyline crate error +[source] +git = "https://github.com/mattwparas/steel" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/other/stgit/recipe.toml b/recipes/wip/dev/other/stgit/recipe.toml new file mode 100644 index 00000000..4f7ee3f8 --- /dev/null +++ b/recipes/wip/dev/other/stgit/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/stacked-git/stgit" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/other/stitch/recipe.toml b/recipes/wip/dev/other/stitch/recipe.toml new file mode 100644 index 00000000..22ecab47 --- /dev/null +++ b/recipes/wip/dev/other/stitch/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/makepad/stitch" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/svd2rust/recipe.toml b/recipes/wip/dev/other/svd2rust/recipe.toml new file mode 100644 index 00000000..8e781316 --- /dev/null +++ b/recipes/wip/dev/other/svd2rust/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/rust-embedded/svd2rust" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/swig/recipe.toml b/recipes/wip/dev/other/swig/recipe.toml new file mode 100644 index 00000000..57843073 --- /dev/null +++ b/recipes/wip/dev/other/swig/recipe.toml @@ -0,0 +1,8 @@ +#TODO missing pcre2.h +[source] +tar = "http://prdownloads.sourceforge.net/swig/swig-4.1.1.tar.gz" +[build] +template = "configure" +dependencies = [ + "pcre", +] diff --git a/recipes/wip/dev/other/tcl/recipe.toml b/recipes/wip/dev/other/tcl/recipe.toml new file mode 100644 index 00000000..ea2c70a2 --- /dev/null +++ b/recipes/wip/dev/other/tcl/recipe.toml @@ -0,0 +1,9 @@ +#TODO maybe wrong template, see https://www.tcl.tk/doc/howto/compile.html#unix +[source] +tar = "http://prdownloads.sourceforge.net/tcl/tcl8.6.13-src.tar.gz" +[build] +template = "custom" +script = """ +cd unix +cookbook_configure +""" \ No newline at end of file diff --git a/recipes/wip/dev/other/tk/recipe.toml b/recipes/wip/dev/other/tk/recipe.toml new file mode 100644 index 00000000..a52bfa6f --- /dev/null +++ b/recipes/wip/dev/other/tk/recipe.toml @@ -0,0 +1,9 @@ +#TODO maybe wrong template, see https://www.tcl.tk/doc/howto/compile.html#unix +[source] +tar = "http://prdownloads.sourceforge.net/tcl/tk8.6.13-src.tar.gz" +[build] +template = "custom" +script = """ +cd unix +cookbook_configure +""" diff --git a/recipes/wip/dev/other/tnn/recipe.toml b/recipes/wip/dev/other/tnn/recipe.toml new file mode 100644 index 00000000..6d4224a6 --- /dev/null +++ b/recipes/wip/dev/other/tnn/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing script for building, see https://github.com/Tencent/TNN/blob/master/doc/en/user/compile_en.md#iv-compilex86-linux +[source] +git = "https://github.com/Tencent/TNN" +rev = "491dfc8653e200b5e8a428069638e191662a0882" +[build] +template = "custom" diff --git a/recipes/wip/dev/other/tokio-console/recipe.toml b/recipes/wip/dev/other/tokio-console/recipe.toml new file mode 100644 index 00000000..d89d5682 --- /dev/null +++ b/recipes/wip/dev/other/tokio-console/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/tokio-rs/console" +[build] +template = "custom" +script = """ +cookbook_cargo_packages tokio-console +""" diff --git a/recipes/wip/dev/other/tv/recipe.toml b/recipes/wip/dev/other/tv/recipe.toml new file mode 100644 index 00000000..2071fe2f --- /dev/null +++ b/recipes/wip/dev/other/tv/recipe.toml @@ -0,0 +1,5 @@ +#TODO update mio to 0.8 (after cargo update) +[source] +git = "https://github.com/alexhallam/tv" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/twiggy/recipe.toml b/recipes/wip/dev/other/twiggy/recipe.toml new file mode 100644 index 00000000..55db6fba --- /dev/null +++ b/recipes/wip/dev/other/twiggy/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/rustwasm/twiggy" +[build] +template = "custom" +script = """ +cookbook_cargo_packages twiggy +""" diff --git a/recipes/wip/dev/other/ucd-generate/recipe.toml b/recipes/wip/dev/other/ucd-generate/recipe.toml new file mode 100644 index 00000000..ea493a14 --- /dev/null +++ b/recipes/wip/dev/other/ucd-generate/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/BurntSushi/ucd-generate" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/ut/recipe.toml b/recipes/wip/dev/other/ut/recipe.toml new file mode 100644 index 00000000..5020af72 --- /dev/null +++ b/recipes/wip/dev/other/ut/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/ksdme/ut" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/valgrind/recipe.toml b/recipes/wip/dev/other/valgrind/recipe.toml new file mode 100644 index 00000000..720d81fa --- /dev/null +++ b/recipes/wip/dev/other/valgrind/recipe.toml @@ -0,0 +1,5 @@ +#TODO port to redox +[source] +tar = "https://sourceware.org/pub/valgrind/valgrind-3.22.0.tar.bz2" +[build] +template = "configure" diff --git a/recipes/wip/dev/other/valkey/recipe.toml b/recipes/wip/dev/other/valkey/recipe.toml new file mode 100644 index 00000000..30c25192 --- /dev/null +++ b/recipes/wip/dev/other/valkey/recipe.toml @@ -0,0 +1,19 @@ +#TODO Compiling, server crashes in page fault +[source] +git = "https://github.com/valkey-io/valkey" +rev = "a47e8fa1505578d78cef5c5e11da0972c3dae560" # 8.1.3 + +[build] +template = "custom" +dependencies = [ + "openssl1" +] + +script = """ +rsync -av --delete "${COOKBOOK_SOURCE}"/* ./ +${COOKBOOK_MAKE} MALLOC=libc BUILD_TLS=yes \ + WARN="-Wall -W -Wno-missing-field-initializers" \ + WARNINGS="-Wall -W -Wno-missing-field-initializers" \ + AR="${TARGET}-gcc-ar" +${COOKBOOK_MAKE} install PREFIX="${COOKBOOK_STAGE}"/usr +""" diff --git a/recipes/wip/dev/other/verrou/recipe.toml b/recipes/wip/dev/other/verrou/recipe.toml new file mode 100644 index 00000000..0417a70d --- /dev/null +++ b/recipes/wip/dev/other/verrou/recipe.toml @@ -0,0 +1,5 @@ +#TODO port to redox +[source] +tar = "https://github.com/edf-hpc/verrou/releases/download/v2.5.0/valgrind-3.21.0_verrou-2.5.0.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/dev/other/wrkflw/recipe.toml b/recipes/wip/dev/other/wrkflw/recipe.toml new file mode 100644 index 00000000..af0ca6d3 --- /dev/null +++ b/recipes/wip/dev/other/wrkflw/recipe.toml @@ -0,0 +1,11 @@ +#TODO can't find the openssl dependency +[source] +git = "https://github.com/bahdotsh/wrkflw" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +cookbook_cargo_packages wrkflw +""" diff --git a/recipes/wip/dev/other/zeal/recipe.toml b/recipes/wip/dev/other/zeal/recipe.toml new file mode 100644 index 00000000..0f4eebf9 --- /dev/null +++ b/recipes/wip/dev/other/zeal/recipe.toml @@ -0,0 +1,13 @@ +#TODO not compiled or tested +# build instructions: https://github.com/zealdocs/zeal#build-instructions +[source] +tar = "https://github.com/zealdocs/zeal/releases/download/v0.7.0/zeal-0.7.0.tar.xz" +[build] +template = "cmake" +dependencies = [ + "qt6-base", + "qt6-webengine", + "libarchive", + "sqlite3", + "mesa", +] diff --git a/recipes/wip/dev/other/zepter/recipe.toml b/recipes/wip/dev/other/zepter/recipe.toml new file mode 100644 index 00000000..547a5efc --- /dev/null +++ b/recipes/wip/dev/other/zepter/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/ggwpez/zepter" +[build] +template = "cargo" diff --git a/recipes/wip/dev/patchers/hexpatch/recipe.toml b/recipes/wip/dev/patchers/hexpatch/recipe.toml new file mode 100644 index 00000000..5c308668 --- /dev/null +++ b/recipes/wip/dev/patchers/hexpatch/recipe.toml @@ -0,0 +1,5 @@ +#TODO mlua-sys crate error +[source] +git = "https://github.com/Etto48/HexPatch" +[build] +template = "cargo" diff --git a/recipes/wip/dev/performance/flamelens/recipe.toml b/recipes/wip/dev/performance/flamelens/recipe.toml new file mode 100644 index 00000000..be939a75 --- /dev/null +++ b/recipes/wip/dev/performance/flamelens/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/YS-L/flamelens" +[build] +template = "cargo" diff --git a/recipes/wip/dev/performance/samply/recipe.toml b/recipes/wip/dev/performance/samply/recipe.toml new file mode 100644 index 00000000..cbef16b2 --- /dev/null +++ b/recipes/wip/dev/performance/samply/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/mstange/samply" +[build] +template = "custom" +script = """ +cookbook_cargo_packages samply +""" diff --git a/recipes/wip/dev/performance/tracy/recipe.toml b/recipes/wip/dev/performance/tracy/recipe.toml new file mode 100644 index 00000000..292a29a9 --- /dev/null +++ b/recipes/wip/dev/performance/tracy/recipe.toml @@ -0,0 +1,12 @@ +#TODO missing script for gnu make: https://github.com/wolfpld/tracy/releases/latest/download/tracy.pdf +[source] +git = "https://github.com/wolfpld/tracy" +rev = "v0.13.0" +[build] +template = "custom" +dependencies = [ + "glfw3", + "freetype2", + "dbus", + "capstone", +] diff --git a/recipes/wip/dev/performance/vkpeak/recipe.toml b/recipes/wip/dev/performance/vkpeak/recipe.toml new file mode 100644 index 00000000..64864555 --- /dev/null +++ b/recipes/wip/dev/performance/vkpeak/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +# build instructions: https://github.com/nihui/vkpeak#build-from-source +[source] +git = "https://github.com/nihui/vkpeak" +rev = "20251010" +[build] +template = "cmake" +dependencies = [ + "libvulkan", +] diff --git a/recipes/wip/dev/python/py-spy/recipe.toml b/recipes/wip/dev/python/py-spy/recipe.toml new file mode 100644 index 00000000..317f587e --- /dev/null +++ b/recipes/wip/dev/python/py-spy/recipe.toml @@ -0,0 +1,5 @@ +#TODO ahash crate error +[source] +git = "https://github.com/benfred/py-spy" +[build] +template = "cargo" diff --git a/recipes/wip/dev/python/pyapp/recipe.toml b/recipes/wip/dev/python/pyapp/recipe.toml new file mode 100644 index 00000000..b9468f34 --- /dev/null +++ b/recipes/wip/dev/python/pyapp/recipe.toml @@ -0,0 +1,5 @@ +#TODO serde crate error +[source] +git = "https://github.com/ofek/pyapp" +[build] +template = "cargo" diff --git a/recipes/wip/dev/python/pylyzer/recipe.toml b/recipes/wip/dev/python/pylyzer/recipe.toml new file mode 100644 index 00000000..8fe7955f --- /dev/null +++ b/recipes/wip/dev/python/pylyzer/recipe.toml @@ -0,0 +1,5 @@ +#TODO erg_compiler crate error +[source] +git = "https://github.com/mtshiba/pylyzer" +[build] +template = "cargo" diff --git a/recipes/wip/dev/python/pyrev/recipe.toml b/recipes/wip/dev/python/pyrev/recipe.toml new file mode 100644 index 00000000..299bf318 --- /dev/null +++ b/recipes/wip/dev/python/pyrev/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/hacbit/pyrev" +[build] +template = "cargo" diff --git a/recipes/wip/dev/python/pyscan/recipe.toml b/recipes/wip/dev/python/pyscan/recipe.toml new file mode 100644 index 00000000..b7192497 --- /dev/null +++ b/recipes/wip/dev/python/pyscan/recipe.toml @@ -0,0 +1,8 @@ +#TODO serde crate error (after cargo update) +[source] +git = "https://github.com/aswinnnn/pyscan" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/python/python-launcher/recipe.toml b/recipes/wip/dev/python/python-launcher/recipe.toml new file mode 100644 index 00000000..210ac4c8 --- /dev/null +++ b/recipes/wip/dev/python/python-launcher/recipe.toml @@ -0,0 +1,5 @@ +#TODO serde crate error (after cargo update) +[source] +git = "https://github.com/brettcannon/python-launcher" +[build] +template = "cargo" diff --git a/recipes/wip/dev/python/ruff/recipe.toml b/recipes/wip/dev/python/ruff/recipe.toml new file mode 100644 index 00000000..07ea6df3 --- /dev/null +++ b/recipes/wip/dev/python/ruff/recipe.toml @@ -0,0 +1,8 @@ +#TODO tikv-jemalloc-sys crate error +[source] +git = "https://github.com/charliermarsh/ruff" +[build] +template = "custom" +script = """ +cookbook_cargo_packages ruff_cli +""" diff --git a/recipes/wip/dev/python/rye/recipe.toml b/recipes/wip/dev/python/rye/recipe.toml new file mode 100644 index 00000000..14de331b --- /dev/null +++ b/recipes/wip/dev/python/rye/recipe.toml @@ -0,0 +1,13 @@ +#TODO openssl-sys crate error +[source] +git = "https://github.com/mitsuhiko/rye" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +export OPENSSL_DIR="${COOKBOOK_SYSROOT}" +export OPENSSL_STATIC="true" +cookbook_cargo_packages rye +""" diff --git a/recipes/wip/dev/python/uv/recipe.toml b/recipes/wip/dev/python/uv/recipe.toml new file mode 100644 index 00000000..7284a486 --- /dev/null +++ b/recipes/wip/dev/python/uv/recipe.toml @@ -0,0 +1,11 @@ +#TODO fs2 crate error +[source] +git = "https://github.com/astral-sh/uv" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +cookbook_cargo_packages uv +""" diff --git a/recipes/wip/dev/rust-tools/bacon/recipe.toml b/recipes/wip/dev/rust-tools/bacon/recipe.toml new file mode 100644 index 00000000..eb359238 --- /dev/null +++ b/recipes/wip/dev/rust-tools/bacon/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate compilation error +[source] +git = "https://github.com/Canop/bacon" +[build] +template = "cargo" \ No newline at end of file diff --git a/recipes/wip/dev/rust-tools/c2rust/recipe.toml b/recipes/wip/dev/rust-tools/c2rust/recipe.toml new file mode 100644 index 00000000..d2d41eb9 --- /dev/null +++ b/recipes/wip/dev/rust-tools/c2rust/recipe.toml @@ -0,0 +1,11 @@ +#TODO compilation error +[source] +git = "https://github.com/immunant/c2rust" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +cookbook_cargo_packages c2rust +""" diff --git a/recipes/wip/dev/rust-tools/cbindgen/recipe.toml b/recipes/wip/dev/rust-tools/cbindgen/recipe.toml new file mode 100644 index 00000000..ed4cd890 --- /dev/null +++ b/recipes/wip/dev/rust-tools/cbindgen/recipe.toml @@ -0,0 +1,6 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/mozilla/cbindgen" +shallow_clone = true +[build] +template = "cargo" diff --git a/recipes/wip/dev/rust-tools/clippy/recipe.toml b/recipes/wip/dev/rust-tools/clippy/recipe.toml new file mode 100644 index 00000000..fbd5cd62 --- /dev/null +++ b/recipes/wip/dev/rust-tools/clippy/recipe.toml @@ -0,0 +1,6 @@ +#TODO camino crate error +[source] +git = "https://github.com/rust-lang/rust-clippy" +shallow_clone = true +[build] +template = "cargo" diff --git a/recipes/wip/dev/rust-tools/coq-of-rust/recipe.toml b/recipes/wip/dev/rust-tools/coq-of-rust/recipe.toml new file mode 100644 index 00000000..234fddf0 --- /dev/null +++ b/recipes/wip/dev/rust-tools/coq-of-rust/recipe.toml @@ -0,0 +1,8 @@ +#TODO require the rust-src rustc-dev llvm-tools-preview components +[source] +git = "https://github.com/formal-land/coq-of-rust" +[build] +template = "custom" +script = """ +cookbook_cargo_packages coq_of_rust_cli coq_of_rust_lib +""" diff --git a/recipes/wip/dev/rust-tools/crater/recipe.toml b/recipes/wip/dev/rust-tools/crater/recipe.toml new file mode 100644 index 00000000..88865b97 --- /dev/null +++ b/recipes/wip/dev/rust-tools/crater/recipe.toml @@ -0,0 +1,8 @@ +#TODO camino crate error +[source] +git = "https://github.com/rust-lang/crater" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/rust-tools/diplomat/recipe.toml b/recipes/wip/dev/rust-tools/diplomat/recipe.toml new file mode 100644 index 00000000..b47219bc --- /dev/null +++ b/recipes/wip/dev/rust-tools/diplomat/recipe.toml @@ -0,0 +1,8 @@ +#TODO missing script to properly move the binary +[source] +git = "https://github.com/rust-diplomat/diplomat" +[build] +template = "custom" +script = """ +cookbook_cargo_packages diplomat +""" diff --git a/recipes/wip/dev/rust-tools/dylint/recipe.toml b/recipes/wip/dev/rust-tools/dylint/recipe.toml new file mode 100644 index 00000000..6b7c876d --- /dev/null +++ b/recipes/wip/dev/rust-tools/dylint/recipe.toml @@ -0,0 +1,11 @@ +#TODO cargo-util crate error +[source] +git = "https://github.com/trailofbits/dylint" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +cookbook_cargo_packages cargo-dylint dylint-link +""" diff --git a/recipes/wip/dev/rust-tools/evcxr-jupyter/recipe.toml b/recipes/wip/dev/rust-tools/evcxr-jupyter/recipe.toml new file mode 100644 index 00000000..5227b1b6 --- /dev/null +++ b/recipes/wip/dev/rust-tools/evcxr-jupyter/recipe.toml @@ -0,0 +1,8 @@ +#TODO camino crate error +[source] +git = "https://github.com/evcxr/evcxr" +[build] +template = "custom" +script = """ +cookbook_cargo_packages evcxr_jupyter +""" diff --git a/recipes/wip/dev/rust-tools/evcxr-repl/recipe.toml b/recipes/wip/dev/rust-tools/evcxr-repl/recipe.toml new file mode 100644 index 00000000..ea87ac27 --- /dev/null +++ b/recipes/wip/dev/rust-tools/evcxr-repl/recipe.toml @@ -0,0 +1,8 @@ +#TODO camino crate error +[source] +git = "https://github.com/evcxr/evcxr" +[build] +template = "custom" +script = """ +cookbook_cargo_packages evcxr_repl +""" diff --git a/recipes/wip/dev/rust-tools/ferrisup/recipe.toml b/recipes/wip/dev/rust-tools/ferrisup/recipe.toml new file mode 100644 index 00000000..d1eec35e --- /dev/null +++ b/recipes/wip/dev/rust-tools/ferrisup/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/Jitpomi/ferrisup" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/dev/rust-tools/kani/recipe.toml b/recipes/wip/dev/rust-tools/kani/recipe.toml new file mode 100644 index 00000000..18341301 --- /dev/null +++ b/recipes/wip/dev/rust-tools/kani/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/model-checking/kani" +[build] +template = "cargo" diff --git a/recipes/wip/dev/rust-tools/rust-script/recipe.toml b/recipes/wip/dev/rust-tools/rust-script/recipe.toml new file mode 100644 index 00000000..6d82981e --- /dev/null +++ b/recipes/wip/dev/rust-tools/rust-script/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/fornwall/rust-script" +[build] +template = "cargo" diff --git a/recipes/wip/dev/rust-tools/rust-to-npm/recipe.toml b/recipes/wip/dev/rust-tools/rust-to-npm/recipe.toml new file mode 100644 index 00000000..c9ac5635 --- /dev/null +++ b/recipes/wip/dev/rust-tools/rust-to-npm/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/a11ywatch/rust-to-npm" +[build] +template = "custom" +script = """ +cookbook_cargo_packages rust-to-npm-cli +""" diff --git a/recipes/wip/dev/rust-tools/rustfmt/recipe.toml b/recipes/wip/dev/rust-tools/rustfmt/recipe.toml new file mode 100644 index 00000000..12d739b3 --- /dev/null +++ b/recipes/wip/dev/rust-tools/rustfmt/recipe.toml @@ -0,0 +1,6 @@ +#TODO serde crate error (after cargo update) +[source] +git = "https://github.com/rust-lang/rustfmt" +shallow_clone = true +[build] +template = "cargo" diff --git a/recipes/wip/dev/rust-tools/rustup/recipe.toml b/recipes/wip/dev/rust-tools/rustup/recipe.toml new file mode 100644 index 00000000..2985d4d1 --- /dev/null +++ b/recipes/wip/dev/rust-tools/rustup/recipe.toml @@ -0,0 +1,13 @@ +#TODO serde crate error +[source] +git = "https://github.com/rust-lang/rustup" +shallow_clone = true +[build] +template = "custom" +dependencies = [ + "openssl3", +] +script = """ +DYNAMIC_INIT +cookbook_cargo +""" diff --git a/recipes/wip/dev/rust-tools/sccache/recipe.toml b/recipes/wip/dev/rust-tools/sccache/recipe.toml new file mode 100644 index 00000000..9836a3f5 --- /dev/null +++ b/recipes/wip/dev/rust-tools/sccache/recipe.toml @@ -0,0 +1,13 @@ +#TODO libc error +[source] +git = "https://github.com/mozilla/sccache" +shallow_clone = true +[build] +template = "custom" +dependencies = [ + "openssl3", +] +script = """ +DYNAMIC_INIT +cookbook_cargo +""" diff --git a/recipes/wip/dev/rust-tools/scriptisto/recipe.toml b/recipes/wip/dev/rust-tools/scriptisto/recipe.toml new file mode 100644 index 00000000..899292df --- /dev/null +++ b/recipes/wip/dev/rust-tools/scriptisto/recipe.toml @@ -0,0 +1,5 @@ +#TODO users crate error +[source] +git = "https://github.com/igor-petruk/scriptisto" +[build] +template = "cargo" diff --git a/recipes/wip/dev/rust-tools/tagref/recipe.toml b/recipes/wip/dev/rust-tools/tagref/recipe.toml new file mode 100644 index 00000000..aeb923e8 --- /dev/null +++ b/recipes/wip/dev/rust-tools/tagref/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/stepchowfun/tagref" +[build] +template = "cargo" diff --git a/recipes/wip/dev/training/gittype/recipe.toml b/recipes/wip/dev/training/gittype/recipe.toml new file mode 100644 index 00000000..f92f63f1 --- /dev/null +++ b/recipes/wip/dev/training/gittype/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/unhappychoice/gittype" +[build] +template = "cargo" diff --git a/recipes/wip/dev/vcs/mercurial/recipe.toml b/recipes/wip/dev/vcs/mercurial/recipe.toml new file mode 100644 index 00000000..6a57d38c --- /dev/null +++ b/recipes/wip/dev/vcs/mercurial/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing script for GNU Make, see https://wiki.mercurial-scm.org/UnixInstall +#TODO require CPython header files +[source] +tar = "https://www.mercurial-scm.org/release/mercurial-6.6.2.tar.gz" +[build] +template = "custom" diff --git a/recipes/wip/dev/wasm/trunk/recipe.toml b/recipes/wip/dev/wasm/trunk/recipe.toml new file mode 100644 index 00000000..e03cb9db --- /dev/null +++ b/recipes/wip/dev/wasm/trunk/recipe.toml @@ -0,0 +1,5 @@ +#TODO fs_at and libc crates error +[source] +git = "https://github.com/trunk-rs/trunk" +[build] +template = "cargo" diff --git a/recipes/wip/dev/wasm/wasm-pack/recipe.toml b/recipes/wip/dev/wasm/wasm-pack/recipe.toml new file mode 100644 index 00000000..6dbb4af7 --- /dev/null +++ b/recipes/wip/dev/wasm/wasm-pack/recipe.toml @@ -0,0 +1,5 @@ +#TODO fs4 crate error +[source] +git = "https://github.com/rustwasm/wasm-pack" +[build] +template = "cargo" diff --git a/recipes/wip/dev/wasm/wasm-tools/recipe.toml b/recipes/wip/dev/wasm/wasm-tools/recipe.toml new file mode 100644 index 00000000..f0289226 --- /dev/null +++ b/recipes/wip/dev/wasm/wasm-tools/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/bytecodealliance/wasm-tools" +[build] +template = "cargo" diff --git a/recipes/wip/dev/wasm/wasmer/recipe.toml b/recipes/wip/dev/wasm/wasmer/recipe.toml new file mode 100644 index 00000000..cc2e90cd --- /dev/null +++ b/recipes/wip/dev/wasm/wasmer/recipe.toml @@ -0,0 +1,8 @@ +#TODO region crate error +[source] +git = "https://github.com/wasmerio/wasmer" +[build] +template = "custom" +script = """ +cookbook_cargo_packages wasmer-cli +""" diff --git a/recipes/wip/dev/wasm/wasmi/recipe.toml b/recipes/wip/dev/wasm/wasmi/recipe.toml new file mode 100644 index 00000000..24505714 --- /dev/null +++ b/recipes/wip/dev/wasm/wasmi/recipe.toml @@ -0,0 +1,8 @@ +#TODO fs-set-times and rustix crates error +[source] +git = "https://github.com/wasmi-labs/wasmi" +[build] +template = "custom" +script = """ +cookbook_cargo_packages wasmi_cli +""" diff --git a/recipes/wip/dev/wasm/wasminspect/recipe.toml b/recipes/wip/dev/wasm/wasminspect/recipe.toml new file mode 100644 index 00000000..c69cb0f2 --- /dev/null +++ b/recipes/wip/dev/wasm/wasminspect/recipe.toml @@ -0,0 +1,5 @@ +#TODO outdated redox_syscall crate +[source] +git = "https://github.com/kateinoigakukun/wasminspect" +[build] +template = "cargo" diff --git a/recipes/wip/dev/wasm/wasmtime/recipe.toml b/recipes/wip/dev/wasm/wasmtime/recipe.toml new file mode 100644 index 00000000..ed1295bb --- /dev/null +++ b/recipes/wip/dev/wasm/wasmtime/recipe.toml @@ -0,0 +1,9 @@ +#TODO requires *at functions in fcntl.h +#TODO (willnode) push changes upstream +[source] +git = "https://github.com/willnode/wasmtime" +branch = "v36-redox" +shallow_clone = true + +[build] +template = "cargo" diff --git a/recipes/wip/dev/wasm/wepl/recipe.toml b/recipes/wip/dev/wasm/wepl/recipe.toml new file mode 100644 index 00000000..351e6ef0 --- /dev/null +++ b/recipes/wip/dev/wasm/wepl/recipe.toml @@ -0,0 +1,5 @@ +#TODO fs-set-times crate error +[source] +git = "https://github.com/rylev/wepl" +[build] +template = "cargo" diff --git a/recipes/wip/dev/web/vox/recipe.toml b/recipes/wip/dev/web/vox/recipe.toml new file mode 100644 index 00000000..2a6be325 --- /dev/null +++ b/recipes/wip/dev/web/vox/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/emmyoh/vox" +[build] +template = "cargo" diff --git a/recipes/wip/dev/web/zola/recipe.toml b/recipes/wip/dev/web/zola/recipe.toml new file mode 100644 index 00000000..6ff72a66 --- /dev/null +++ b/recipes/wip/dev/web/zola/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/getzola/zola" +[build] +template = "cargo" diff --git a/recipes/wip/doc/bookokrat/recipe.toml b/recipes/wip/doc/bookokrat/recipe.toml new file mode 100644 index 00000000..62f58975 --- /dev/null +++ b/recipes/wip/doc/bookokrat/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/bugzmanov/bookokrat" +[build] +template = "cargo" diff --git a/recipes/wip/doc/doctave/recipe.toml b/recipes/wip/doc/doctave/recipe.toml new file mode 100644 index 00000000..a15f8e2e --- /dev/null +++ b/recipes/wip/doc/doctave/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/Doctave/doctave" +[build] +template = "cargo" diff --git a/recipes/wip/doc/gnome-doc-utils/recipe.toml b/recipes/wip/doc/gnome-doc-utils/recipe.toml new file mode 100644 index 00000000..550623ab --- /dev/null +++ b/recipes/wip/doc/gnome-doc-utils/recipe.toml @@ -0,0 +1,5 @@ +#TODO probably wrong template +[source] +tar = "https://download.gnome.org/sources/gnome-doc-utils/0.20/gnome-doc-utils-0.20.10.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/doc/gtk-doc/recipe.toml b/recipes/wip/doc/gtk-doc/recipe.toml new file mode 100644 index 00000000..853dfd10 --- /dev/null +++ b/recipes/wip/doc/gtk-doc/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.gnome.org/sources/gtk-doc/1.33/gtk-doc-1.33.2.tar.xz" +[build] +template = "meson" diff --git a/recipes/wip/doc/mdbook/recipe.toml b/recipes/wip/doc/mdbook/recipe.toml new file mode 100644 index 00000000..9feb6507 --- /dev/null +++ b/recipes/wip/doc/mdbook/recipe.toml @@ -0,0 +1,5 @@ +#TODO promote +[source] +git = "https://github.com/rust-lang/mdBook" +[build] +template = "cargo" diff --git a/recipes/wip/doc/newdoc/recipe.toml b/recipes/wip/doc/newdoc/recipe.toml new file mode 100644 index 00000000..42e18817 --- /dev/null +++ b/recipes/wip/doc/newdoc/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/redhat-documentation/newdoc" +[build] +template = "cargo" diff --git a/recipes/wip/doc/po4a/recipe.toml b/recipes/wip/doc/po4a/recipe.toml new file mode 100644 index 00000000..43aeecd3 --- /dev/null +++ b/recipes/wip/doc/po4a/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for installation, see https://github.com/mquinson/po4a#installation +[source] +tar = "https://github.com/mquinson/po4a/releases/download/v0.69/po4a-0.69.tar.gz" +[build] +template = "custom" diff --git a/recipes/wip/doc/tendril-wiki/recipe.toml b/recipes/wip/doc/tendril-wiki/recipe.toml new file mode 100644 index 00000000..044af2b6 --- /dev/null +++ b/recipes/wip/doc/tendril-wiki/recipe.toml @@ -0,0 +1,8 @@ +#TODO require a patch to update the ring crate +[source] +git = "https://github.com/jamestthompson3/tendril-wiki" +[build] +template = "custom" +script = """ +cookbook_cargo_packages tendril@1.0.10 +""" diff --git a/recipes/wip/doc/texinfo/recipe.toml b/recipes/wip/doc/texinfo/recipe.toml new file mode 100644 index 00000000..f8086a21 --- /dev/null +++ b/recipes/wip/doc/texinfo/recipe.toml @@ -0,0 +1,5 @@ +#TODO Compilation error +[source] +tar = "https://ftp.gnu.org/gnu/texinfo/texinfo-7.0.3.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/edu/bibiman/recipe.toml b/recipes/wip/edu/bibiman/recipe.toml new file mode 100644 index 00000000..29cbe8f5 --- /dev/null +++ b/recipes/wip/edu/bibiman/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://codeberg.org/lukeflo/bibiman" +[build] +template = "cargo" diff --git a/recipes/wip/edu/hacker-laws/recipe.toml b/recipes/wip/edu/hacker-laws/recipe.toml new file mode 100644 index 00000000..1d9fbcbb --- /dev/null +++ b/recipes/wip/edu/hacker-laws/recipe.toml @@ -0,0 +1,9 @@ +#TODO not tested +[source] +git = "https://github.com/dwmkerr/hacker-laws" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/hacker-laws +cp -rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}"/usr/share/hacker-laws +""" diff --git a/recipes/wip/edu/rustlings/recipe.toml b/recipes/wip/edu/rustlings/recipe.toml new file mode 100644 index 00000000..0d335328 --- /dev/null +++ b/recipes/wip/edu/rustlings/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/rust-lang/rustlings" +[build] +template = "cargo" diff --git a/recipes/wip/edu/rusty-tape/recipe.toml b/recipes/wip/edu/rusty-tape/recipe.toml new file mode 100644 index 00000000..f6c71a5a --- /dev/null +++ b/recipes/wip/edu/rusty-tape/recipe.toml @@ -0,0 +1,10 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/Kkobarii/Rusty-Tape" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/rusty-tape +cp -rv "${COOKBOOK_SOURCE}"/data/* "${COOKBOOK_STAGE}"/usr/share/rusty-tape +cookbook_cargo +""" diff --git a/recipes/wip/emulators/cpu/6502-emulator/recipe.toml b/recipes/wip/emulators/cpu/6502-emulator/recipe.toml new file mode 100644 index 00000000..06d2621d --- /dev/null +++ b/recipes/wip/emulators/cpu/6502-emulator/recipe.toml @@ -0,0 +1,5 @@ +#TODO ahash crate error (probably outdated) +[source] +git = "https://github.com/ArchUsr64/6502_emulator" +[build] +template = "cargo" diff --git a/recipes/wip/emulators/cpu/8086-emulator/recipe.toml b/recipes/wip/emulators/cpu/8086-emulator/recipe.toml new file mode 100644 index 00000000..50be9e79 --- /dev/null +++ b/recipes/wip/emulators/cpu/8086-emulator/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/YJDoc2/8086-Emulator" +[build] +template = "cargo" diff --git a/recipes/wip/emulators/cpu/mipsy/recipe.toml b/recipes/wip/emulators/cpu/mipsy/recipe.toml new file mode 100644 index 00000000..108aec67 --- /dev/null +++ b/recipes/wip/emulators/cpu/mipsy/recipe.toml @@ -0,0 +1,8 @@ +#TODO users crate error +[source] +git = "https://github.com/insou22/mipsy" +[build] +template = "custom" +script = """ +cookbook_cargo_packages mipsy +""" diff --git a/recipes/wip/emulators/cpu/rustzx/recipe.toml b/recipes/wip/emulators/cpu/rustzx/recipe.toml new file mode 100644 index 00000000..8397b535 --- /dev/null +++ b/recipes/wip/emulators/cpu/rustzx/recipe.toml @@ -0,0 +1,12 @@ +#TODO Not compiled or tested +[source] +git = "https://github.com/rustzx/rustzx" +[build] +template = "custom" +dependencies = [ + "sdl2", +] +script = """ +DYNAMIC_INIT +cookbook_cargo_packages rustzx +""" diff --git a/recipes/wip/emulators/cpu/rvemu/recipe.toml b/recipes/wip/emulators/cpu/rvemu/recipe.toml new file mode 100644 index 00000000..695b600b --- /dev/null +++ b/recipes/wip/emulators/cpu/rvemu/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/d0iasm/rvemu" +[build] +template = "custom" +script = """ +cookbook_cargo_packages rvemu-cli +""" diff --git a/recipes/wip/emulators/cpu/scemu/recipe.toml b/recipes/wip/emulators/cpu/scemu/recipe.toml new file mode 100644 index 00000000..d2917c6c --- /dev/null +++ b/recipes/wip/emulators/cpu/scemu/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/sha0coder/scemu" +[build] +template = "cargo" diff --git a/recipes/wip/emulators/cpu/unicorn/recipe.toml b/recipes/wip/emulators/cpu/unicorn/recipe.toml new file mode 100644 index 00000000..5e0f96ef --- /dev/null +++ b/recipes/wip/emulators/cpu/unicorn/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +# build instructions: https://github.com/unicorn-engine/unicorn/blob/master/docs/COMPILE.md +[source] +git = "https://github.com/unicorn-engine/unicorn" +rev = "2.1.4" +shallow_clone = true +[build] +template = "cmake" diff --git a/recipes/wip/emulators/game-console/azahar/recipe.toml b/recipes/wip/emulators/game-console/azahar/recipe.toml new file mode 100644 index 00000000..46599aa7 --- /dev/null +++ b/recipes/wip/emulators/game-console/azahar/recipe.toml @@ -0,0 +1,13 @@ +#TODO not compiled or tested +#TODO determine minimum dependencies from cmake log +# build instructions - https://github.com/azahar-emu/azahar/wiki/Building-From-Source#linux +[source] +git = "https://github.com/azahar-emu/azahar" +rev = "2123.3" +shallow_clone = true +[build] +template = "cmake" +dependencies = [ + "qt6-base", + "qt6-multimedia", +] diff --git a/recipes/wip/emulators/game-console/clementine/recipe.toml b/recipes/wip/emulators/game-console/clementine/recipe.toml new file mode 100644 index 00000000..475ea534 --- /dev/null +++ b/recipes/wip/emulators/game-console/clementine/recipe.toml @@ -0,0 +1,5 @@ +#TODO the webbrowser crate needs to be ported +[source] +git = "https://github.com/RIP-Comm/clementine" +[build] +template = "cargo" diff --git a/recipes/wip/emulators/game-console/dolphin-emu/recipe.toml b/recipes/wip/emulators/game-console/dolphin-emu/recipe.toml new file mode 100644 index 00000000..0cc024f5 --- /dev/null +++ b/recipes/wip/emulators/game-console/dolphin-emu/recipe.toml @@ -0,0 +1,22 @@ +#TODO not compiled or tested yet +#TODO discover minimum dependencies from cmake log +# build instructions: https://github.com/dolphin-emu/dolphin/wiki/Building-for-Linux +[source] +git = "https://github.com/dolphin-emu/dolphin" +rev = "71e15c2875f36458c8f29ee160f01606967bcd13" +shallow_clone = true +[build] +template = "cmake" +dependencies = [ + #"ffmpeg6", + #"libevdev", + #"libusb", + #"pango", + #"cairo", + "qt6-base", + "qt6-svg", + #"mesa-x11", + #"curl", + #"libvulkan", + #"openal", +] diff --git a/recipes/wip/emulators/game-console/finalburn-neo/recipe.toml b/recipes/wip/emulators/game-console/finalburn-neo/recipe.toml new file mode 100644 index 00000000..d5fa0a40 --- /dev/null +++ b/recipes/wip/emulators/game-console/finalburn-neo/recipe.toml @@ -0,0 +1,11 @@ +#TODO missing script for "make", see https://github.com/finalburnneo/FBNeo/blob/master/README-SDL.md#sdl2 +[source] +git = "https://github.com/finalburnneo/FBNeo" +rev = "9cc496e02a8d1588e1226b648852488a491f1b75" +shallow_clone = true +[build] +template = "custom" +dependencies = [ + "sdl2", + "sdl2-image", +] diff --git a/recipes/wip/emulators/game-console/gameboy/boytacean/recipe.toml b/recipes/wip/emulators/game-console/gameboy/boytacean/recipe.toml new file mode 100644 index 00000000..0575e2f5 --- /dev/null +++ b/recipes/wip/emulators/game-console/gameboy/boytacean/recipe.toml @@ -0,0 +1,8 @@ +#TODO Not compiled or tested +[source] +git = "https://github.com/joamag/boytacean" +[build] +template = "cargo" +dependencies = [ + "sdl2", +] diff --git a/recipes/wip/emulators/game-console/gameboy/gameroy/recipe.toml b/recipes/wip/emulators/game-console/gameboy/gameroy/recipe.toml new file mode 100644 index 00000000..004d06dc --- /dev/null +++ b/recipes/wip/emulators/game-console/gameboy/gameroy/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/Rodrigodd/gameroy" +[build] +template = "custom" +script = """ +cookbook_cargo_packages gameroy-native +""" diff --git a/recipes/wip/emulators/game-console/gameboy/mimic/recipe.toml b/recipes/wip/emulators/game-console/gameboy/mimic/recipe.toml new file mode 100644 index 00000000..7122d7c4 --- /dev/null +++ b/recipes/wip/emulators/game-console/gameboy/mimic/recipe.toml @@ -0,0 +1,5 @@ +#TODO update mio to 0.8 +[source] +git = "https://github.com/jawline/Mimic" +[build] +template = "cargo" diff --git a/recipes/wip/emulators/game-console/gopher64/recipe.toml b/recipes/wip/emulators/game-console/gopher64/recipe.toml new file mode 100644 index 00000000..f5b60765 --- /dev/null +++ b/recipes/wip/emulators/game-console/gopher64/recipe.toml @@ -0,0 +1,12 @@ +#TODO Not compiled or tested +[source] +git = "https://github.com/gopher64/gopher64" +[build] +template = "custom" +dependencies = [ + "sdl2", +] +script = """ +DYNAMIC_INIT +cookbook_cargo +""" diff --git a/recipes/wip/emulators/game-console/jgenesis/recipe.toml b/recipes/wip/emulators/game-console/jgenesis/recipe.toml new file mode 100644 index 00000000..5c840598 --- /dev/null +++ b/recipes/wip/emulators/game-console/jgenesis/recipe.toml @@ -0,0 +1,12 @@ +#TODO Not compiled or tested +[source] +git = "https://github.com/jsgroth/jgenesis" +[build] +template = "custom" +dependencies = [ + "sdl2", +] +script = """ +DYNAMIC_INIT +cookbook_cargo_packages jgenesis-cli +""" diff --git a/recipes/wip/emulators/game-console/mame/recipe.toml b/recipes/wip/emulators/game-console/mame/recipe.toml new file mode 100644 index 00000000..5428ced9 --- /dev/null +++ b/recipes/wip/emulators/game-console/mame/recipe.toml @@ -0,0 +1,14 @@ +#TODO missing script for gnu make: https://docs.mamedev.org/initialsetup/compilingmame.html +[source] +git = "https://github.com/mamedev/mame" +rev = "mame0282" +shallow_clone = true +[build] +template = "custom" +dependencies = [ + "sdl2", + "sdl2-ttf", + "fontconfig", + "qt5-base", + "qt5-tools", +] diff --git a/recipes/wip/emulators/game-console/melonds/recipe.toml b/recipes/wip/emulators/game-console/melonds/recipe.toml new file mode 100644 index 00000000..22fe56db --- /dev/null +++ b/recipes/wip/emulators/game-console/melonds/recipe.toml @@ -0,0 +1,20 @@ +#TODO not compiled or tested yet +# build instructions: https://github.com/melonDS-emu/melonDS/blob/master/BUILD.md#linux +[source] +git = "https://github.com/melonDS-emu/melonDS" +rev = "1.0" +shallow_clone = true +[build] +template = "cmake" +dependencies = [ + "curl", + "libpcap", + "libenet", + "sdl2", + "qt6-base", + "qt6-multimedia", + "qt6-svg", + "libarchive", + "zstd", + "faad2", +] diff --git a/recipes/wip/emulators/game-console/meru/recipe.toml b/recipes/wip/emulators/game-console/meru/recipe.toml new file mode 100644 index 00000000..f2e3106f --- /dev/null +++ b/recipes/wip/emulators/game-console/meru/recipe.toml @@ -0,0 +1,8 @@ +#TODO ahash crate error +[source] +git = "https://github.com/tanakh/meru" +[build] +template = "custom" +script = """ +cookbook_cargo_packages meru +""" diff --git a/recipes/wip/emulators/game-console/mupen64plus-core/recipe.toml b/recipes/wip/emulators/game-console/mupen64plus-core/recipe.toml new file mode 100644 index 00000000..9eefea69 --- /dev/null +++ b/recipes/wip/emulators/game-console/mupen64plus-core/recipe.toml @@ -0,0 +1,11 @@ +#TODO missing script for "make": https://github.com/mupen64plus/mupen64plus-core#2-building-from-source +[source] +tar = "https://github.com/mupen64plus/mupen64plus-core/releases/download/2.6.0/mupen64plus-bundle-src-2.6.0.tar.gz" +[build] +template = "custom" +dependencies = [ + "sdl2", + "libpng", + "freetype2", + "zlib", +] diff --git a/recipes/wip/emulators/game-console/obliteration/recipe.toml b/recipes/wip/emulators/game-console/obliteration/recipe.toml new file mode 100644 index 00000000..49467216 --- /dev/null +++ b/recipes/wip/emulators/game-console/obliteration/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing script: https://github.com/obhq/obliteration/blob/main/docs/building.md +[source] +git = "https://github.com/obhq/obliteration" +shallow_clone = true +[build] +template = "custom" diff --git a/recipes/wip/emulators/game-console/pcsx2/recipe.toml b/recipes/wip/emulators/game-console/pcsx2/recipe.toml new file mode 100644 index 00000000..c8161ae2 --- /dev/null +++ b/recipes/wip/emulators/game-console/pcsx2/recipe.toml @@ -0,0 +1,29 @@ +#TODO not compiled or tested +# build instructions: https://pcsx2.net/docs/advanced/building#building-on-linux +[source] +git = "https://github.com/PCSX2/pcsx2" +branch = "2.4.x" +shallow_clone = true +[build] +template = "cmake" +cmakeflags = [ + "-DCMAKE_CXX_COMPILER_LAUNCHER=ccache", + "-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON", +] +# dependencies = [ +# "sdl2", +# "xz", +# "libpng", +# "qt6-base", +# "qt6-svg", +# "mesa-x11", +# "libaio", +# "harfbuzz", +# "libpcap", +# "pipewire", +# "libsamplerate", +# "soundtouch", +# "zlib", +# "libxml2", +# "ffmpeg6", +# ] diff --git a/recipes/wip/emulators/game-console/picodrive/recipe.toml b/recipes/wip/emulators/game-console/picodrive/recipe.toml new file mode 100644 index 00000000..73bce526 --- /dev/null +++ b/recipes/wip/emulators/game-console/picodrive/recipe.toml @@ -0,0 +1,11 @@ +#TODO not compiled or tested +#TODO discover the minimum dependencies from autotools log +[source] +git = "https://github.com/notaz/picodrive" +rev = "26ecb2b6358fefba24e3d68b9eb2efba7f10d5ee" +[build] +template = "configure" +configureflags = [ + "--platform=generic", + "--sound-drivers=sdl", +] diff --git a/recipes/wip/emulators/game-console/play/recipe.toml b/recipes/wip/emulators/game-console/play/recipe.toml new file mode 100644 index 00000000..9bf49486 --- /dev/null +++ b/recipes/wip/emulators/game-console/play/recipe.toml @@ -0,0 +1,15 @@ +#TODO not compiled or tested +# build instructions: https://github.com/jpd002/Play-#building-for-unix +[source] +git = "https://github.com/jpd002/Play-" +shallow_clone = true +[build] +template = "cmake" +dependencies = [ + "openal", + "libevdev", + "freealut", + "qt5-base", + "qt5-x11extras", + "sqlite3", +] diff --git a/recipes/wip/emulators/game-console/ppsspp/recipe.toml b/recipes/wip/emulators/game-console/ppsspp/recipe.toml new file mode 100644 index 00000000..fe76b84d --- /dev/null +++ b/recipes/wip/emulators/game-console/ppsspp/recipe.toml @@ -0,0 +1,38 @@ +#TODO not compiled or tested yet +# build instructions: https://github.com/hrydgard/ppsspp/wiki/Build-instructions +#git = "https://github.com/jackpot51/ppsspp" # wip orbital port +[source] +tar = "https://github.com/hrydgard/ppsspp/releases/download/v1.19.3/ppsspp-1.19.3.tar.xz" +[build] +template = "custom" +dependencies = [ + #"liborbital", + "llvm18", + "mesa", + "mesa-glu", + "sdl2", + "sdl2-ttf", + "zlib", + "glew", + "fontconfig", + "curl", +] +script = """ +DYNAMIC_INIT +COOKBOOK_CMAKE_FLAGS+=( + -DCMAKE_C_FLAGS="-I${COOKBOOK_SYSROOT}/include" -I${COOKBOOK_SYSROOT}/include/SDL2" + -DCMAKE_CXX_FLAGS="-I${COOKBOOK_SYSROOT}/include" -I${COOKBOOK_SYSROOT}/include/SDL2" + -DOPENGL_opengl_LIBRARY="/dev/null" + -DOPENGL_glx_LIBRARY="/dev/null" + -DUSE_DISCORD=OFF + -DUSE_FFMPEG=OFF + -DUSE_MINIUPNPC=OFF + -DUSE_SYSTEM_LIBSDL2=ON + -DUSING_EGL=OFF + -DUSING_FBDEV=OFF + -DUSING_GLES2=OFF + -DUSING_X11_VULKAN=OFF + -DUNIX=ON +) +cookbook_cmake +""" diff --git a/recipes/wip/emulators/game-console/ps1/duckstation/recipe.toml b/recipes/wip/emulators/game-console/ps1/duckstation/recipe.toml new file mode 100644 index 00000000..09240d79 --- /dev/null +++ b/recipes/wip/emulators/game-console/ps1/duckstation/recipe.toml @@ -0,0 +1,14 @@ +#TODO not compiled or tested yet +# build instructions: https://github.com/stenzek/duckstation#linux-1 +[source] +git = "https://github.com/stenzek/duckstation" +rev = "16e56d7824e15657be26e30030394d0668493635" +shallow_clone = true +[build] +template = "cmake" +dependencies = [ + "sdl2", + "qt6-base", + "qt6-svg", + #"qt6-tools", +] diff --git a/recipes/wip/emulators/game-console/ps1/pcsx-rearmed/recipe.toml b/recipes/wip/emulators/game-console/ps1/pcsx-rearmed/recipe.toml new file mode 100644 index 00000000..1683bfa3 --- /dev/null +++ b/recipes/wip/emulators/game-console/ps1/pcsx-rearmed/recipe.toml @@ -0,0 +1,9 @@ +#TODO not compiled or tested +#TODO discover the minimum dependencies from autotools log +# build instructions: https://github.com/notaz/pcsx_rearmed/blob/master/readme.txt#L22 +[source] +git = "https://github.com/notaz/pcsx_rearmed" +rev = "r25" +shallow_clone = true +[build] +template = "configure" diff --git a/recipes/wip/emulators/game-console/ps1/rpsx/recipe.toml b/recipes/wip/emulators/game-console/ps1/rpsx/recipe.toml new file mode 100644 index 00000000..42593ea6 --- /dev/null +++ b/recipes/wip/emulators/game-console/ps1/rpsx/recipe.toml @@ -0,0 +1,12 @@ +#TODO Not compiled or tested +[source] +git = "https://github.com/KieronJ/rpsx" +[build] +template = "custom" +dependencies = [ + "sdl2", +] +script = """ +DYNAMIC_INIT +cookbook_cargo +""" diff --git a/recipes/wip/emulators/game-console/ps1/trapezoid/recipe.toml b/recipes/wip/emulators/game-console/ps1/trapezoid/recipe.toml new file mode 100644 index 00000000..a91f5cb0 --- /dev/null +++ b/recipes/wip/emulators/game-console/ps1/trapezoid/recipe.toml @@ -0,0 +1,12 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/Amjad50/Trapezoid" +[build] +template = "custom" +dependencies = [ + "shaderc", +] +script = """ +DYNAMIC_INIT +cookbook_cargo +""" diff --git a/recipes/wip/emulators/game-console/rpcs3/recipe.toml b/recipes/wip/emulators/game-console/rpcs3/recipe.toml new file mode 100644 index 00000000..a1796e90 --- /dev/null +++ b/recipes/wip/emulators/game-console/rpcs3/recipe.toml @@ -0,0 +1,39 @@ +#TODO not compiled or tested yet +#TODO determine minimum dependencies from cmake log +# build instructions: https://github.com/RPCS3/rpcs3/blob/master/BUILDING.md +# customization: https://wiki.rpcs3.net/index.php?title=Help:Building_RPCS3#CMake_Build_Options +[source] +git = "https://github.com/RPCS3/rpcs3" +rev = "db8437b01cf24ba1146cf7d22e1be02202cc98f4" +shallow_clone = true +[build] +template = "cmake" +cmakeflags = [ + "-DUSE_NATIVE_INSTRUCTIONS=OFF", + "-DWITH_LLVM=OFF", + "-DUSE_ALSA=OFF", + "-DUSE_PULSE=OFF", + "-DUSE_LIBEVDEV=OFF", + "-DUSE_DISCORD_RPC=OFF", + "-DBUILD_LLVM_SUBMODULE=OFF", + "-DUSE_SYSTEM_FFMPEG=ON", + "-DUSE_VULKAN=OFF", +] +dependencies = [ + #"mesa-x11", + "qt6-base", + "qt6-multimedia", + "qt6-svg", + "qt6-declarative", + #"sdl2", + #"eudev", + #"glew", + #"openal", + #"zlib", + #"libpng", + #"libevdev", + #"libedit", + #"libvulkan", + #"pulseaudio", + #"ffmpeg6", +] diff --git a/recipes/wip/emulators/game-console/shadps4/recipe.toml b/recipes/wip/emulators/game-console/shadps4/recipe.toml new file mode 100644 index 00000000..12bdf524 --- /dev/null +++ b/recipes/wip/emulators/game-console/shadps4/recipe.toml @@ -0,0 +1,23 @@ +#TODO not compiled or tested +#TODO missing dependencies +# build instructions - https://github.com/shadps4-emu/shadPS4/blob/main/documents/building-linux.md +[source] +git = "https://github.com/shadps4-emu/shadPS4" +[build] +template = "cmake" +cmakeflags = [ + "-DENABLE_QT_GUI=ON" +] +dependencies = [ + "pulseaudio", + "openal", + "openssl3", + "libedit", + "eudev", + "libevdev", + "sdl2", + "sndio", + "qt6-base", + "qt6-multimedia", + "libvulkan", +] diff --git a/recipes/wip/emulators/game-console/snes9x/recipe.toml b/recipes/wip/emulators/game-console/snes9x/recipe.toml new file mode 100644 index 00000000..5963cd47 --- /dev/null +++ b/recipes/wip/emulators/game-console/snes9x/recipe.toml @@ -0,0 +1,16 @@ +#TODO not compiled or tested +# build instructions: https://github.com/snes9xgit/snes9x/wiki/Compiling +[source] +git = "https://github.com/snes9xgit/snes9x" +rev = "1.63" +shallow_clone = true +[build] +template = "cmake" +dependencies = [ + "sdl2", + "gtk3mm", + "libpng", + "zlib", + "libx11", + "libepoxy", +] diff --git a/recipes/wip/emulators/game-console/tetanes/recipe.toml b/recipes/wip/emulators/game-console/tetanes/recipe.toml new file mode 100644 index 00000000..e374365f --- /dev/null +++ b/recipes/wip/emulators/game-console/tetanes/recipe.toml @@ -0,0 +1,12 @@ +#TODO Not compiled or tested yet +[source] +git = "https://github.com/lukexor/tetanes" +[build] +template = "cargo" +dependencies = [ + "sdl2", + "sdl2-image", + "sdl2-mixer", + "sdl2-ttf", + "sdl2-gfx", +] diff --git a/recipes/wip/emulators/game-console/uoyabause/recipe.toml b/recipes/wip/emulators/game-console/uoyabause/recipe.toml new file mode 100644 index 00000000..b1f73044 --- /dev/null +++ b/recipes/wip/emulators/game-console/uoyabause/recipe.toml @@ -0,0 +1,14 @@ +#TODO not compiled or tested yet +# build instructions: https://github.com/devmiyax/yabause/blob/master/yabause/README.LIN#L77 +[source] +git = "https://github.com/devmiyax/yabause" +rev = "7d28bd54aa3188e90e4126ff9f7c27b945380488" +shallow_clone = true +[build] +template = "cmake" +dependencies = [ + "gtk2", + "sdl2", + "mesa", + "gtkglext", +] diff --git a/recipes/wip/emulators/game-console/vita3k/recipe.toml b/recipes/wip/emulators/game-console/vita3k/recipe.toml new file mode 100644 index 00000000..cf8b54e2 --- /dev/null +++ b/recipes/wip/emulators/game-console/vita3k/recipe.toml @@ -0,0 +1,12 @@ +#TODO not compiled or tested yet +# build instructions: https://github.com/Vita3K/Vita3K/blob/master/building.md#linux +[source] +git = "https://github.com/Vita3K/Vita3K" +shallow_clone = true +[build] +template = "cmake" +dependencies = [ + "sdl2", + "gtk3", + "openssl3", +] diff --git a/recipes/wip/emulators/game-console/xemu/recipe.toml b/recipes/wip/emulators/game-console/xemu/recipe.toml new file mode 100644 index 00000000..94832bf5 --- /dev/null +++ b/recipes/wip/emulators/game-console/xemu/recipe.toml @@ -0,0 +1,21 @@ +#TODO adapt build.sh script for cross-compilation +# build instructions: https://xemu.app/docs/dev/building-from-source/#linux +[source] +tar = "https://github.com/xemu-project/xemu/releases/download/v0.8.115/src.tar.gz" +[build] +template = "custom" +dependencies = [ + "sdl2", + "libepoxy", + "libsamplerate", + "pixman", + "gtk3", + "openssl3", + "libpcap", + "libslirp", +] +script = """ +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ +DYNAMIC_INIT +./build.sh +""" diff --git a/recipes/wip/emulators/game-console/xenia-canary/recipe.toml b/recipes/wip/emulators/game-console/xenia-canary/recipe.toml new file mode 100644 index 00000000..4cf2b054 --- /dev/null +++ b/recipes/wip/emulators/game-console/xenia-canary/recipe.toml @@ -0,0 +1,15 @@ +#TODO missing script: https://github.com/xenia-canary/xenia-canary/blob/canary_experimental/docs/building.md#linux +[source] +git = "https://github.com/xenia-canary/xenia-canary" +shallow_clone = true +[build] +template = "custom" +dependencies = [ + "gtk3", + "sdl2", + "mesa-x11", + "lz4", + "libunwind", + "libpthread-stubs", + "libvulkan", +] diff --git a/recipes/wip/emulators/game-console/zsnes/recipe.toml b/recipes/wip/emulators/game-console/zsnes/recipe.toml new file mode 100644 index 00000000..1a32c2ec --- /dev/null +++ b/recipes/wip/emulators/game-console/zsnes/recipe.toml @@ -0,0 +1,12 @@ +#TODO missing script for gnu make: https://github.com/xyproto/zsnes#build +[source] +git = "https://github.com/xyproto/zsnes" +shallow_clone = true +[build] +template = "custom" +dependencies = [ + "sdl1", + "zlib", + "mesa", + "libpng", +] diff --git a/recipes/wip/emulators/mobile/touchhle/recipe.toml b/recipes/wip/emulators/mobile/touchhle/recipe.toml new file mode 100644 index 00000000..c1145171 --- /dev/null +++ b/recipes/wip/emulators/mobile/touchhle/recipe.toml @@ -0,0 +1,13 @@ +#TODO make boost work +[source] +git = "https://github.com/hikari-no-yume/touchHLE" +shallow_clone = true +[build] +template = "custom" +dependencies = [ + "boost", +] +script = """ +DYNAMIC_INIT +cookbook_cargo +""" diff --git a/recipes/wip/emulators/mobile/wie/recipe.toml b/recipes/wip/emulators/mobile/wie/recipe.toml new file mode 100644 index 00000000..a24022ce --- /dev/null +++ b/recipes/wip/emulators/mobile/wie/recipe.toml @@ -0,0 +1,8 @@ +#TODO compilation error +[source] +git = "https://github.com/dlunch/wie" +[build] +template = "custom" +script = """ +cookbook_cargo_packages wie_cli +""" diff --git a/recipes/wip/emulators/pc/darling/recipe.toml b/recipes/wip/emulators/pc/darling/recipe.toml new file mode 100644 index 00000000..a1630011 --- /dev/null +++ b/recipes/wip/emulators/pc/darling/recipe.toml @@ -0,0 +1,25 @@ +#TODO not compiled or tested +# build instructions: https://docs.darlinghq.org/build-instructions.html#building-and-installing +[source] +git = "https://github.com/darlinghq/darling" +shallow_clone = true +[build] +template = "cmake" +cmakeflags = [ + "-DTARGET_i386=OFF" +] +dependencies = [ + "libfuse3", + "libevdev", + "cairo", + "mesa", + "libtiff", + "freetype2", + "libxml2", + "fontconfig", + "libbsd", + "libgif", + "ffmpeg6", + "openssl3", + "libxkbfile", +] diff --git a/recipes/wip/emulators/pc/martypc/recipe.toml b/recipes/wip/emulators/pc/martypc/recipe.toml new file mode 100644 index 00000000..5ab9bbe0 --- /dev/null +++ b/recipes/wip/emulators/pc/martypc/recipe.toml @@ -0,0 +1,9 @@ +#TODO not compiled or tested +# build instructions: https://github.com/dbalsom/martypc/wiki/Building-MartyPC#building-for-linux +[source] +git = "https://github.com/dbalsom/martypc" +[build] +template = "custom" +script = """ +cookbook_cargo_packages martypc_eframe +""" diff --git a/recipes/wip/emulators/pc/opengmk/recipe.toml b/recipes/wip/emulators/pc/opengmk/recipe.toml new file mode 100644 index 00000000..fda49cc6 --- /dev/null +++ b/recipes/wip/emulators/pc/opengmk/recipe.toml @@ -0,0 +1,12 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/OpenGMK/OpenGMK" +[build] +template = "custom" +dependencies = [ + "libalsa", +] +script = """ +DYNAMIC_INIT +cookbook_cargo_packages gm8emulator +""" diff --git a/recipes/wip/emulators/pc/ruffle/recipe.toml b/recipes/wip/emulators/pc/ruffle/recipe.toml new file mode 100644 index 00000000..1882070a --- /dev/null +++ b/recipes/wip/emulators/pc/ruffle/recipe.toml @@ -0,0 +1,14 @@ +#TODO camino crate error +# build instructions: https://github.com/ruffle-rs/ruffle#building-from-source +[source] +git = "https://github.com/ruffle-rs/ruffle" +shallow_clone = true +[build] +template = "custom" +dependencies = [ + "openssl3", +] +script = """ +DYNAMIC_INIT +cookbook_cargo_packages ruffle_desktop +""" diff --git a/recipes/wip/emulators/security/rust-u2f/recipe.toml b/recipes/wip/emulators/security/rust-u2f/recipe.toml new file mode 100644 index 00000000..547b23ff --- /dev/null +++ b/recipes/wip/emulators/security/rust-u2f/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing script for GNU Make, see https://github.com/danstiner/rust-u2f#building +#TODO missing service for Redox +[source] +git = "https://github.com/danstiner/rust-u2f" +[build] +template = "custom" diff --git a/recipes/wip/emulators/windows/boxedwine/recipe.toml b/recipes/wip/emulators/windows/boxedwine/recipe.toml new file mode 100644 index 00000000..0933f5a5 --- /dev/null +++ b/recipes/wip/emulators/windows/boxedwine/recipe.toml @@ -0,0 +1,89 @@ +#TODO runtime crash +[source] +git = "https://github.com/jackpot51/Boxedwine" +shallow_clone = true +[build] +template = "custom" +dependencies = [ + "curl", + "liborbital", + "llvm18", + "mesa", + "mesa-glu", + "nghttp2", + "openssl1", + "sdl2", + "zlib", +] +script = """ +DYNAMIC_INIT +cd "${COOKBOOK_SOURCE}/project/linux" +#TODO: USE MAKEFILE +#TODO: USE X64 CPU CORE +${TARGET}-gcc -std=c++17 -O2 \ + -Wall \ + -Wno-delete-incomplete \ + -Wno-unused-result \ + -Wno-unknown-pragmas \ + -Wno-unused-local-typedefs \ + -Wno-unused-variable \ + -Wno-unused-function \ + -Wno-unused-but-set-variable \ + -I "${COOKBOOK_SYSROOT}/include/SDL2" \ + -I../../include \ + -I../../lib/glew/include \ + -I../../lib/imgui \ + ../../lib/imgui/imgui.cpp \ + ../../lib/pugixml/src/*.cpp \ + ../../lib/imgui/imgui_draw.cpp \ + ../../lib/imgui/imgui_widgets.cpp \ + ../../lib/imgui/examples/imgui_impl_opengl2.cpp \ + ../../lib/imgui/examples/imgui_impl_sdl.cpp \ + ../../lib/imgui/addon/imguitinyfiledialogs.cpp \ + ../../source/sdl/*.cpp \ + ../../source/sdl/singleThreaded/*.cpp \ + ../../lib/glew/src/glew.cpp \ + ../../source/ui/*.cpp \ + ../../source/ui/controls/*.cpp \ + ../../source/ui/data/*.cpp \ + ../../source/ui/opengl/*.cpp \ + ../../source/ui/utils/*.cpp \ + ../../platform/sdl/*.cpp \ + ../../platform/linux/*.cpp \ + ../../source/emulation/cpu/*.cpp \ + ../../source/emulation/cpu/common/*.cpp \ + ../../source/emulation/cpu/normal/*.cpp \ + ../../source/emulation/softmmu/*.cpp \ + ../../source/io/*.cpp \ + ../../source/kernel/*.cpp \ + ../../source/kernel/devs/*.cpp \ + ../../source/kernel/proc/*.cpp \ + ../../source/kernel/sys/*.cpp \ + ../../source/kernel/loader/*.cpp \ + ../../source/util/*.cpp \ + ../../source/opengl/sdl/*.cpp \ + ../../source/opengl/*.cpp \ + ../../lib/tiny-process/process.cpp \ + ../../lib/tiny-process/process_unix.cpp \ + ../../lib/zlib/contrib/minizip/ioapi.c \ + ../../lib/zlib/contrib/minizip/mztools.c \ + ../../lib/zlib/contrib/minizip/unzip.c \ + ../../lib/zlib/contrib/minizip/zip.c \ + `${PKG_CONFIG} libcurl --cflags --libs` \ + `${PKG_CONFIG} sdl2 --cflags --libs` \ + -lz \ + -lstdc++ \ + "-DGLH=" \ + -DBOXEDWINE_64 \ + -DBOXEDWINE_HAS_SETJMP \ + -DBOXEDWINE_OPENGL_IMGUI_V2 \ + -DBOXEDWINE_OPENGL_SDL \ + -DBOXEDWINE_POSIX \ + -DBOXEDWINE_ZLIB \ + -DGLEW_OSMESA \ + -DSDL2=1 \ + -DSIMDE_SSE2_NO_NATIVE \ + -o "${COOKBOOK_BUILD}/boxedwine" +mkdir -p "${COOKBOOK_STAGE}/usr/bin" +cp -v "${COOKBOOK_BUILD}/boxedwine" "${COOKBOOK_STAGE}/usr/bin/boxedwine" +""" diff --git a/recipes/wip/emulators/windows/hangover/recipe.toml b/recipes/wip/emulators/windows/hangover/recipe.toml new file mode 100644 index 00000000..0d60487a --- /dev/null +++ b/recipes/wip/emulators/windows/hangover/recipe.toml @@ -0,0 +1,93 @@ +#TODO not compiled or tested +# build instructions: https://github.com/AndreRH/hangover/blob/master/docs/COMPILE.md +[source] +git = "https://github.com/AndreRH/hangover" +rev = "hangover-10.18" +shallow_clone = true +[build] +template = "custom" +dependencies = [ + "fontconfig", + "freetype2", + "gnutls3", + "gstreamer", + "sdl2", + "mesa-x11", + "libstdcxx", + "libx11", + "libxcomposite", + "libxcursor", + "libxi", + "libxfixes", + "libxrandr", + "libxrender", + "libxext", + "libxkbcommon", + #"libxkbregistry", +] +script = """ +DYNAMIC_INIT +mkdir -p wine-tools +pushd wine-tools +#TODO: easier way to build for host? +HOST_ENV=( + env + --unset=AR + --unset=AS + --unset=CC + --unset=CFLAGS + --unset=CPPFLAGS + --unset=CXX + --unset=GNU_TARGET + --unset=LD + --unset=LDFLAGS + --unset=NM + --unset=OBJCOPY + --unset=OBJDUMP + --unset=PKG_CONFIG + --unset=PKG_CONFIG_ALLOW_CROSS + --unset=PKG_CONFIG_FOR_BUILD + --unset=PKG_CONFIG_LIBDIR + --unset=PKG_CONFIG_PATH + --unset=PKG_CONFIG_SYSROOT_DIR + --unset=PREFIX_RUSTFLAGS + --unset=RANLIB + --unset=READELF + --unset=STRIP + --unset=TARGET +) +"${HOST_ENV[@]}" "${COOKBOOK_CONFIGURE}" --enable-win64 +"${HOST_ENV[@]}" "${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}" __tooldeps__ +popd + +COOKBOOK_CONFIGURE_FLAGS+=( + --enable-win64 + --enable-archs=x86_64,i386,arm + --disable-kerberos + --disable-tests + --without-capi + --without-coreaudio + --without-dbus + --without-gettext + --without-gettextpo + --without-gphoto + --without-gssapi + --without-inotify + --without-krb5 + --without-netapi + --without-opencl + --without-osmesa + --without-pcap + --without-pcsclite + --with-pthread + --without-pulse + --without-sane + --with-sdl + --without-udev + --without-unwind + --without-usb + --with-mingw + --with-wine-tools=wine-tools +) +cookbook_configure +""" diff --git a/recipes/wip/emulators/windows/retrowin32/recipe.toml b/recipes/wip/emulators/windows/retrowin32/recipe.toml new file mode 100644 index 00000000..3aa3fc77 --- /dev/null +++ b/recipes/wip/emulators/windows/retrowin32/recipe.toml @@ -0,0 +1,22 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/evmar/retrowin32" +[build] +template = "custom" +dependencies = [ + "sdl2", +] +script = """ +DYNAMIC_INIT +package=retrowin32 +"${COOKBOOK_CARGO}" build \ + --manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \ + --package "${package}" \ + --release + --x86-emu + --sdl + mkdir -pv "${COOKBOOK_STAGE}/usr/bin" + cp -v \ + "target/${TARGET}/release/${package}" \ + "${COOKBOOK_STAGE}/usr/bin/${package}" +""" diff --git a/recipes/wip/emulators/windows/wine-stable/recipe.toml b/recipes/wip/emulators/windows/wine-stable/recipe.toml new file mode 100644 index 00000000..1034be31 --- /dev/null +++ b/recipes/wip/emulators/windows/wine-stable/recipe.toml @@ -0,0 +1,96 @@ +#TODO port to redox +#build instructions: https://gitlab.winehq.org/wine/wine/-/wikis/Building-Wine +[source] +tar = "http://dl.winehq.org/wine/source/10.x/wine-10.18.tar.xz" +blake3 = "0517c4200935456fbc22b152a19c5fd0d027d2b06c511968a5533101e1274f54" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +template = "custom" +dependencies = [ + "fontconfig", + "freetype2", + "gnutls3", + "gstreamer", + "sdl2", + "mesa-x11", + "libstdcxx", + "libx11", + "libxcomposite", + "libxcursor", + "libxi", + "libxfixes", + "libxrandr", + "libxrender", + "libxext", + "libxkbcommon", + #"libxkbregistry", +] +script = """ +DYNAMIC_INIT + +mkdir -p wine-tools +pushd wine-tools +#TODO: easier way to build for host? +HOST_ENV=( + env + --unset=AR + --unset=AS + --unset=CC + --unset=CFLAGS + --unset=CPPFLAGS + --unset=CXX + --unset=GNU_TARGET + --unset=LD + --unset=LDFLAGS + --unset=NM + --unset=OBJCOPY + --unset=OBJDUMP + --unset=PKG_CONFIG + --unset=PKG_CONFIG_ALLOW_CROSS + --unset=PKG_CONFIG_FOR_BUILD + --unset=PKG_CONFIG_LIBDIR + --unset=PKG_CONFIG_PATH + --unset=PKG_CONFIG_SYSROOT_DIR + --unset=PREFIX_RUSTFLAGS + --unset=RANLIB + --unset=READELF + --unset=STRIP + --unset=TARGET +) +"${HOST_ENV[@]}" "${COOKBOOK_CONFIGURE}" --enable-win64 +"${HOST_ENV[@]}" "${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}" __tooldeps__ +popd + +COOKBOOK_CONFIGURE_FLAGS+=( + --enable-win64 + --disable-kerberos + --disable-tests + --without-capi + --without-coreaudio + --without-dbus + --without-gettext + --without-gettextpo + --without-gphoto + --without-gssapi + --without-inotify + --without-krb5 + --without-netapi + --without-opencl + --without-osmesa + --without-pcap + --without-pcsclite + --with-pthread + --without-pulse + --without-sane + --with-sdl + --without-udev + --without-unwind + --without-usb + --with-wine-tools=wine-tools +) +cookbook_configure +""" diff --git a/recipes/wip/files/hf/recipe.toml b/recipes/wip/files/hf/recipe.toml new file mode 100644 index 00000000..6943199a --- /dev/null +++ b/recipes/wip/files/hf/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/sorairolake/hf" +[build] +template = "cargo" diff --git a/recipes/wip/files/lsv/recipe.toml b/recipes/wip/files/lsv/recipe.toml new file mode 100644 index 00000000..bfc4defe --- /dev/null +++ b/recipes/wip/files/lsv/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/SecretDeveloper/lsv" +[build] +template = "cargo" diff --git a/recipes/wip/files/mc/recipe.toml b/recipes/wip/files/mc/recipe.toml new file mode 100644 index 00000000..1659d9da --- /dev/null +++ b/recipes/wip/files/mc/recipe.toml @@ -0,0 +1,13 @@ +#TODO not compiled or tested +# build instructions: https://github.com/MidnightCommander/mc/blob/master/doc/INSTALL +[source] +tar = "https://ftp.osuosl.org/pub/midnightcommander/mc-4.8.33.tar.xz" +[build] +template = "configure" +configureflags = [ + "--without-x", + "--without-gpm-mouse", +] +dependencies = [ + "ncurses", +] diff --git a/recipes/wip/finance/bitcoin/btc-vanity/recipe.toml b/recipes/wip/finance/bitcoin/btc-vanity/recipe.toml new file mode 100644 index 00000000..a6f64b89 --- /dev/null +++ b/recipes/wip/finance/bitcoin/btc-vanity/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/Emivvvvv/btc-vanity" +[build] +template = "cargo" diff --git a/recipes/wip/finance/bitcoin/electrum/recipe.toml b/recipes/wip/finance/bitcoin/electrum/recipe.toml new file mode 100644 index 00000000..fe4aea57 --- /dev/null +++ b/recipes/wip/finance/bitcoin/electrum/recipe.toml @@ -0,0 +1,12 @@ +# runtime dependencies - https://electrum.org/#download +[source] +tar = "https://download.electrum.org/4.5.5/Electrum-4.5.5.tar.gz" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/electrum +mkdir -pv "${COOKBOOK_STAGE}"/usr/bin +cp -rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}"/usr/share/electrum +echo "#!/usr/bin/env sh \n python3 /usr/share/electrum/run_electrum" > "${COOKBOOK_STAGE}"/usr/bin/electrum +chmod a+x "${COOKBOOK_STAGE}"/usr/bin/electrum +""" diff --git a/recipes/wip/finance/bitcoin/liana/recipe.toml b/recipes/wip/finance/bitcoin/liana/recipe.toml new file mode 100644 index 00000000..2418680b --- /dev/null +++ b/recipes/wip/finance/bitcoin/liana/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/wizardsardine/liana" +[build] +template = "cargo" diff --git a/recipes/wip/finance/bitcoin/nakamoto-wallet/recipe.toml b/recipes/wip/finance/bitcoin/nakamoto-wallet/recipe.toml new file mode 100644 index 00000000..2fecaf7d --- /dev/null +++ b/recipes/wip/finance/bitcoin/nakamoto-wallet/recipe.toml @@ -0,0 +1,8 @@ +#TODO hidapi crate error - redox not supported (after cargo update) +[source] +git = "https://github.com/cloudhead/nakamoto" +[build] +template = "custom" +script = """ +cookbook_cargo_packages nakamoto-wallet +""" diff --git a/recipes/wip/finance/bitcoin/nakatoshi/recipe.toml b/recipes/wip/finance/bitcoin/nakatoshi/recipe.toml new file mode 100644 index 00000000..8bc38c88 --- /dev/null +++ b/recipes/wip/finance/bitcoin/nakatoshi/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/ndelvalle/nakatoshi" +[build] +template = "cargo" diff --git a/recipes/wip/finance/bitcoin/ord/recipe.toml b/recipes/wip/finance/bitcoin/ord/recipe.toml new file mode 100644 index 00000000..16044aa4 --- /dev/null +++ b/recipes/wip/finance/bitcoin/ord/recipe.toml @@ -0,0 +1,8 @@ +#TODO the ring crate needs to be updated +[source] +git = "https://github.com/ordinals/ord" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/finance/bitcoin/pushtx/recipe.toml b/recipes/wip/finance/bitcoin/pushtx/recipe.toml new file mode 100644 index 00000000..43b24cf7 --- /dev/null +++ b/recipes/wip/finance/bitcoin/pushtx/recipe.toml @@ -0,0 +1,9 @@ +#TODO compiled but not tested +#TODO add a command to properly move the executable +[source] +git = "https://github.com/alfred-hodler/pushtx" +[build] +template = "custom" +script = """ +cookbook_cargo_packages pushtx-cli +""" diff --git a/recipes/wip/finance/bitcoin/rusty-blockparser/recipe.toml b/recipes/wip/finance/bitcoin/rusty-blockparser/recipe.toml new file mode 100644 index 00000000..c7c853e1 --- /dev/null +++ b/recipes/wip/finance/bitcoin/rusty-blockparser/recipe.toml @@ -0,0 +1,5 @@ +#TODO fs2 crate error +[source] +git = "https://github.com/gcarq/rusty-blockparser" +[build] +template = "cargo" diff --git a/recipes/wip/finance/donation/cargo-fund/recipe.toml b/recipes/wip/finance/donation/cargo-fund/recipe.toml new file mode 100644 index 00000000..cb40c033 --- /dev/null +++ b/recipes/wip/finance/donation/cargo-fund/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/acfoltzer/cargo-fund" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/finance/market/apcacli/recipe.toml b/recipes/wip/finance/market/apcacli/recipe.toml new file mode 100644 index 00000000..e2fdc08b --- /dev/null +++ b/recipes/wip/finance/market/apcacli/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/d-e-s-o/apcacli" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/finance/market/merkato/recipe.toml b/recipes/wip/finance/market/merkato/recipe.toml new file mode 100644 index 00000000..436229ca --- /dev/null +++ b/recipes/wip/finance/market/merkato/recipe.toml @@ -0,0 +1,9 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/sheep-farm/merkato" +rev = "0.2.0.1" +[build] +template = "meson" +dependencies = [ + "gtk4", +] diff --git a/recipes/wip/finance/market/tick-rs/recipe.toml b/recipes/wip/finance/market/tick-rs/recipe.toml new file mode 100644 index 00000000..844eedc0 --- /dev/null +++ b/recipes/wip/finance/market/tick-rs/recipe.toml @@ -0,0 +1,5 @@ +#TODO openssl-sys crate error +[source] +git = "https://github.com/tarkah/tickrs" +[build] +template = "cargo" diff --git a/recipes/wip/finance/mgmt/gnucash/recipe.toml b/recipes/wip/finance/mgmt/gnucash/recipe.toml new file mode 100644 index 00000000..93880f58 --- /dev/null +++ b/recipes/wip/finance/mgmt/gnucash/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +#TODO discover the minimum dependencies from cmake log +# build instructions: https://wiki.gnucash.org/wiki/Building_On_Linux +# dependencies: https://wiki.gnucash.org/wiki/Dependencies +[source] +tar = "https://sourceforge.net/projects/gnucash/files/gnucash%20(stable)/5.13/gnucash-5.13.tar.bz2" +[build] +template = "cmake" diff --git a/recipes/wip/finance/mgmt/tackler-ng/recipe.toml b/recipes/wip/finance/mgmt/tackler-ng/recipe.toml new file mode 100644 index 00000000..edaf9a90 --- /dev/null +++ b/recipes/wip/finance/mgmt/tackler-ng/recipe.toml @@ -0,0 +1,10 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/e257-fi/tackler-ng" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/tackler-ng/examples +cp -rv "${COOKBOOK_SOURCE}"/examples/* "${COOKBOOK_STAGE}"/usr/share/tackler-ng/examples +cookbook_cargo_packages tackler +""" diff --git a/recipes/wip/finance/monero/gupax/recipe.toml b/recipes/wip/finance/monero/gupax/recipe.toml new file mode 100644 index 00000000..32645f79 --- /dev/null +++ b/recipes/wip/finance/monero/gupax/recipe.toml @@ -0,0 +1,5 @@ +#TODO openssl-sys crate error +[source] +git = "https://github.com/hinto-janai/gupax" +[build] +template = "cargo" diff --git a/recipes/wip/finance/monero/xmrig/recipe.toml b/recipes/wip/finance/monero/xmrig/recipe.toml new file mode 100644 index 00000000..991da573 --- /dev/null +++ b/recipes/wip/finance/monero/xmrig/recipe.toml @@ -0,0 +1,15 @@ +#TODO not compiled or tested +# build instructions: https://xmrig.com/docs/miner/build/ubuntu +# customization - https://xmrig.com/docs/miner/cmake-options +[source] +git = "https://github.com/xmrig/xmrig" +rev = "8084ff37a5c8935c649a2e362da0fe570c79a2c2" +[build] +template = "cmake" +#cmakeflags = [ +# "-DOPENSSL_ROOT_DIR=${COOKBOOK_SYSROOT}" # test if the program need this +#] +dependencies = [ + "openssl1", + "libuv", +] diff --git a/recipes/wip/finance/rex/recipe.toml b/recipes/wip/finance/rex/recipe.toml new file mode 100644 index 00000000..2f335572 --- /dev/null +++ b/recipes/wip/finance/rex/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/TheRustyPickle/Rex" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/fonts/fontfor/recipe.toml b/recipes/wip/fonts/fontfor/recipe.toml new file mode 100644 index 00000000..d4535327 --- /dev/null +++ b/recipes/wip/fonts/fontfor/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/7sDream/fontfor" +[build] +template = "cargo" diff --git a/recipes/wip/fonts/fontforge/recipe.toml b/recipes/wip/fonts/fontforge/recipe.toml new file mode 100644 index 00000000..e7cb3f01 --- /dev/null +++ b/recipes/wip/fonts/fontforge/recipe.toml @@ -0,0 +1,17 @@ +#TODO missing script for Ninja, see https://github.com/fontforge/fontforge/blob/master/INSTALL.md +[source] +tar = "https://github.com/fontforge/fontforge/releases/download/20230101/fontforge-20230101.tar.xz" +[build] +template = "custom" +dependencies = [ + "libtiff", + "libjpeg", + "libpng", + "libgif", + "libxml2", + "gtk3", + "freetype2", + "pango", + "cairo", + "libspiro", +] diff --git a/recipes/wip/fonts/gerb/recipe.toml b/recipes/wip/fonts/gerb/recipe.toml new file mode 100644 index 00000000..c15fa3ab --- /dev/null +++ b/recipes/wip/fonts/gerb/recipe.toml @@ -0,0 +1,8 @@ +#TODO make GTK3 work +[source] +git = "https://github.com/epilys/gerb" +[build] +template = "cargo" +dependencies = [ + "gtk3", +] diff --git a/recipes/wip/fonts/nerd-fonts/recipe.toml b/recipes/wip/fonts/nerd-fonts/recipe.toml new file mode 100644 index 00000000..bf4e0738 --- /dev/null +++ b/recipes/wip/fonts/nerd-fonts/recipe.toml @@ -0,0 +1,10 @@ +#TODO probably wrong script +[source] +git = "https://github.com/ryanoasis/nerd-fonts" +rev = "7b41c66a1ef0c4ac5884a4203cb53c0901217e32" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/ui/fonts +cp -rv "${COOKBOOK_SOURCE}"/patched-fonts/* "${COOKBOOK_STAGE}"/ui/fonts +""" diff --git a/recipes/wip/fuse/archivemount/recipe.toml b/recipes/wip/fuse/archivemount/recipe.toml new file mode 100644 index 00000000..013a99c5 --- /dev/null +++ b/recipes/wip/fuse/archivemount/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/cybernoid/archivemount" +rev = "78c306538065de9b14f48cfc2024f50f843d3b29" +[build] +template = "configure" +dependencies = [ + "libfuse2", + "libarchive", +] diff --git a/recipes/wip/fuse/btfs/recipe.toml b/recipes/wip/fuse/btfs/recipe.toml new file mode 100644 index 00000000..0bf3fbda --- /dev/null +++ b/recipes/wip/fuse/btfs/recipe.toml @@ -0,0 +1,14 @@ +#TODO not compiled or tested +#TODO maybe incomplete configuration +# build instructions - https://github.com/johang/btfs#building-from-git-on-a-recent-debianubuntu +[source] +git = "https://github.com/johang/btfs" +rev = "2b372f4596df3ff97e3b39d58b144a7cbfff012a" +script = "autoreconf -i" +[build] +template = "configure" +dependencies = [ + "libfuse3", + "libtorrent", + "curl", +] diff --git a/recipes/wip/fuse/cryfs/recipe.toml b/recipes/wip/fuse/cryfs/recipe.toml new file mode 100644 index 00000000..f7e8f066 --- /dev/null +++ b/recipes/wip/fuse/cryfs/recipe.toml @@ -0,0 +1,9 @@ +#TODO not compiled or tested +# build instructions: https://github.com/cryfs/cryfs#building-from-source +[source] +tar = "https://github.com/cryfs/cryfs/releases/download/1.0.1/cryfs-1.0.1.tar.xz" +[build] +template = "cmake" +dependencies = [ + "libfuse3", +] diff --git a/recipes/wip/fuse/cvmfs/recipe.toml b/recipes/wip/fuse/cvmfs/recipe.toml new file mode 100644 index 00000000..3a6813bb --- /dev/null +++ b/recipes/wip/fuse/cvmfs/recipe.toml @@ -0,0 +1,9 @@ +#TODO not compiled or tested +# build instructions: https://cvmfs.readthedocs.io/en/stable/cpt-quickstart.html#building-from-source +[source] +tar = "https://ecsft.cern.ch/dist/cvmfs/cvmfs-2.11.2/source.tar.gz" +[build] +template = "cmake" +dependencies = [ + "libfuse3", +] diff --git a/recipes/wip/fuse/dislocker/recipe.toml b/recipes/wip/fuse/dislocker/recipe.toml new file mode 100644 index 00000000..ef6fece0 --- /dev/null +++ b/recipes/wip/fuse/dislocker/recipe.toml @@ -0,0 +1,11 @@ +#TODO not compiled or tested +# build instructions: https://github.com/Aorimn/dislocker/blob/master/INSTALL.md +[source] +git = "https://github.com/Aorimn/dislocker" +rev = "8b2aea09d431bd5497ae223c141ebaee7bdd481f" +[build] +template = "cmake" +dependencies = [ + "libfuse3", + "mbedtls", +] diff --git a/recipes/wip/fuse/dwarfs/recipe.toml b/recipes/wip/fuse/dwarfs/recipe.toml new file mode 100644 index 00000000..dd362395 --- /dev/null +++ b/recipes/wip/fuse/dwarfs/recipe.toml @@ -0,0 +1,18 @@ +#TODO not compiled or tested +# build instructions: https://github.com/mhx/dwarfs#building +#TODO missing dependencies, see https://github.com/mhx/dwarfs#dependencies +[source] +tar = "https://github.com/mhx/dwarfs/releases/download/v0.7.2/dwarfs-0.7.2.tar.xz" +[build] +template = "cmake" +dependencies = [ + "libfuse3", + "boost", + "libbrotli", + "libevent", + "openssl1", + "lz4", + "xz", + "libunwind", + "libfmt", +] diff --git a/recipes/wip/fuse/e2fsprogs/recipe.toml b/recipes/wip/fuse/e2fsprogs/recipe.toml new file mode 100644 index 00000000..35606ec4 --- /dev/null +++ b/recipes/wip/fuse/e2fsprogs/recipe.toml @@ -0,0 +1,6 @@ +#TODO maybe wrong template +# build instructions - https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git/tree/INSTALL +[source] +tar = "http://prdownloads.sourceforge.net/e2fsprogs/e2fsprogs-1.47.1.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/fuse/exfat-fuse/recipe.toml b/recipes/wip/fuse/exfat-fuse/recipe.toml new file mode 100644 index 00000000..48502968 --- /dev/null +++ b/recipes/wip/fuse/exfat-fuse/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +tar = "https://github.com/relan/exfat/releases/download/v1.4.0/fuse-exfat-1.4.0.tar.gz" +[build] +template = "configure" +dependencies = [ + "libfuse3", +] diff --git a/recipes/wip/fuse/ffmpegfs/recipe.toml b/recipes/wip/fuse/ffmpegfs/recipe.toml new file mode 100644 index 00000000..f79f1d82 --- /dev/null +++ b/recipes/wip/fuse/ffmpegfs/recipe.toml @@ -0,0 +1,11 @@ +#TODO not compiled or tested +# build instructions: https://github.com/nschlia/ffmpegfs/blob/master/INSTALL.md#building-ffmpegfs-yourself +[source] +tar = "https://github.com/nschlia/ffmpegfs/releases/download/v2.17/ffmpegfs-2.17.tar.gz" +[build] +template = "configure" +dependencies = [ + "libfuse3", + "sqlite3", + "ffmpeg6", +] diff --git a/recipes/wip/fuse/fuse-ext2/recipe.toml b/recipes/wip/fuse/fuse-ext2/recipe.toml new file mode 100644 index 00000000..9a612cc9 --- /dev/null +++ b/recipes/wip/fuse/fuse-ext2/recipe.toml @@ -0,0 +1,12 @@ +#TODO not compiled or tested +#TODO missing dependencies +# build instructions: https://github.com/alperakcan/fuse-ext2#building +[source] +git = "https://github.com/alperakcan/fuse-ext2" +rev = "ae35afb9ab08d87c66c1e021df792b3a7c4308b0" +script = "./autogen.sh" +[build] +template = "configure" +dependencies = [ + "libfuse2", +] diff --git a/recipes/wip/fuse/fuse-nfs/recipe.toml b/recipes/wip/fuse/fuse-nfs/recipe.toml new file mode 100644 index 00000000..4fd68c7d --- /dev/null +++ b/recipes/wip/fuse/fuse-nfs/recipe.toml @@ -0,0 +1,11 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/sahlberg/fuse-nfs" +rev = "75827244f1615be20da880cbc68665416131088d" +script = "./setup.sh" +[build] +template = "configure" +dependencies = [ + "libfuse3", + "libnfs", +] diff --git a/recipes/wip/fuse/fuse-zip/recipe.toml b/recipes/wip/fuse/fuse-zip/recipe.toml new file mode 100644 index 00000000..3c8cf95b --- /dev/null +++ b/recipes/wip/fuse/fuse-zip/recipe.toml @@ -0,0 +1,10 @@ +#TODO missing script for gnu make: https://bitbucket.org/agalanin/fuse-zip/src/master/INSTALL +[source] +git = "https://bitbucket.org/agalanin/fuse-zip" +rev = "0.7.2" +[build] +template = "custom" +dependencies = [ + "libfuse2", + "libzip", +] diff --git a/recipes/wip/fuse/glusterfs/recipe.toml b/recipes/wip/fuse/glusterfs/recipe.toml new file mode 100644 index 00000000..1557fc6d --- /dev/null +++ b/recipes/wip/fuse/glusterfs/recipe.toml @@ -0,0 +1,14 @@ +#TODO make all dependencies work +#TODO probably missing dependencies, see https://docs.gluster.org/en/latest/Developer-guide/Building-GlusterFS/#build-requirements +# customization - https://docs.gluster.org/en/latest/Developer-guide/Building-GlusterFS/#configuring-for-building +[source] +tar = "https://download.gluster.org/pub/gluster/glusterfs/9/LATEST/glusterfs-9.6.tar.gz" +[build] +template = "configure" +dependencies = [ + "openssl1", + "libxml2", + "libaio", + "sqlite3", + "libfuse3", +] diff --git a/recipes/wip/fuse/goofys/recipe.toml b/recipes/wip/fuse/goofys/recipe.toml new file mode 100644 index 00000000..767ca5fc --- /dev/null +++ b/recipes/wip/fuse/goofys/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing script for Go, see https://github.com/kahing/goofys/#installation +[source] +git = "https://github.com/kahing/goofys" +rev = "45b8d78375af1b24604439d2e60c567654bcdf88" +[build] +template = "custom" diff --git a/recipes/wip/fuse/hfsfuse/recipe.toml b/recipes/wip/fuse/hfsfuse/recipe.toml new file mode 100644 index 00000000..f5c1b749 --- /dev/null +++ b/recipes/wip/fuse/hfsfuse/recipe.toml @@ -0,0 +1,8 @@ +#TODO missing script for gnu make, see https://github.com/0x09/hfsfuse#building +[source] +tar = "https://github.com/0x09/hfsfuse/releases/download/0.242/hfsfuse-0.242.tar.gz" +[build] +template = "custom" +dependencies = [ + "libfuse3", +] diff --git a/recipes/wip/fuse/httpdirfs/recipe.toml b/recipes/wip/fuse/httpdirfs/recipe.toml new file mode 100644 index 00000000..e772e3f1 --- /dev/null +++ b/recipes/wip/fuse/httpdirfs/recipe.toml @@ -0,0 +1,15 @@ +#TODO not compiled or tested +# build instructions: https://github.com/fangfufu/httpdirfs#compilation +[source] +git = "https://github.com/fangfufu/httpdirfs" +rev = "d91bb2b2789be8a0f72c7baddac63ffb78299ad9" +[build] +template = "meson" +dependencies = [ + "libfuse3", + "openssl1", + "curl", + "expat", + "libuuid", + "libgumbo", +] diff --git a/recipes/wip/fuse/ifuse/recipe.toml b/recipes/wip/fuse/ifuse/recipe.toml new file mode 100644 index 00000000..cf08e3f9 --- /dev/null +++ b/recipes/wip/fuse/ifuse/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +[source] +tar = "https://github.com/libimobiledevice/ifuse/releases/download/1.1.4/ifuse-1.1.4.tar.bz2" +[build] +template = "configure" +dependencies = [ + "libfuse3", + "libplist", + "libimobiledevice", +] diff --git a/recipes/wip/fuse/indexfs/recipe.toml b/recipes/wip/fuse/indexfs/recipe.toml new file mode 100644 index 00000000..f1d02013 --- /dev/null +++ b/recipes/wip/fuse/indexfs/recipe.toml @@ -0,0 +1,8 @@ +#TODO make libfuse work +#TODO probably missing dependencies +# build instructions - https://github.com/MajenkoProjects/indexfs/blob/master/INSTALL +[source] +git = "https://github.com/MajenkoProjects/indexfs" +script = "./autogen.sh" +[build] +template = "configure" diff --git a/recipes/wip/fuse/lazyfs/recipe.toml b/recipes/wip/fuse/lazyfs/recipe.toml new file mode 100644 index 00000000..b257c8c0 --- /dev/null +++ b/recipes/wip/fuse/lazyfs/recipe.toml @@ -0,0 +1,9 @@ +#TODO missing script for compilation: https://github.com/dsrhaslab/lazyfs#installation +[source] +git = "https://github.com/dsrhaslab/lazyfs" +rev = "0.3.0" +[build] +template = "custom" +dependencies = [ + "libfuse3", +] diff --git a/recipes/wip/fuse/lis/recipe.toml b/recipes/wip/fuse/lis/recipe.toml new file mode 100644 index 00000000..400e1fbd --- /dev/null +++ b/recipes/wip/fuse/lis/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/riffcc/lis" +[build] +template = "cargo" +dependencies = [ + "libfuse3", +] diff --git a/recipes/wip/fuse/littlefs/recipe.toml b/recipes/wip/fuse/littlefs/recipe.toml new file mode 100644 index 00000000..e900199a --- /dev/null +++ b/recipes/wip/fuse/littlefs/recipe.toml @@ -0,0 +1,9 @@ +#TODO missing script for gnu make +[source] +git = "https://github.com/littlefs-project/littlefs-fuse" +rev = "v2.7.14" +[build] +template = "custom" +dependencies = [ + "libfuse3", +] diff --git a/recipes/wip/fuse/loggedfs/recipe.toml b/recipes/wip/fuse/loggedfs/recipe.toml new file mode 100644 index 00000000..49494c3a --- /dev/null +++ b/recipes/wip/fuse/loggedfs/recipe.toml @@ -0,0 +1,12 @@ +#TODO missing script for gnu make +# build instructions: https://github.com/rflament/loggedfs#installation-from-source +[source] +git = "https://github.com/rflament/loggedfs" +rev = "82aba9a93489797026ad1a37b637823ece4a7093" +[build] +template = "custom" +dependencies = [ + "libfuse3", + "pcre2", + "libxml2", +] diff --git a/recipes/wip/fuse/mergerfs/recipe.toml b/recipes/wip/fuse/mergerfs/recipe.toml new file mode 100644 index 00000000..531089a0 --- /dev/null +++ b/recipes/wip/fuse/mergerfs/recipe.toml @@ -0,0 +1,8 @@ +#TODO missing script for gnu make: https://trapexit.github.io/mergerfs/preview/setup/build/ +[source] +tar = "https://github.com/trapexit/mergerfs/releases/download/2.40.2/mergerfs-2.40.2.tar.gz" +[build] +template = "custom" +dependencies = [ + "libfuse3", +] diff --git a/recipes/wip/fuse/moosefs/recipe.toml b/recipes/wip/fuse/moosefs/recipe.toml new file mode 100644 index 00000000..d9936b70 --- /dev/null +++ b/recipes/wip/fuse/moosefs/recipe.toml @@ -0,0 +1,11 @@ +#TODO missing script for building, see https://github.com/moosefs/moosefs#source-code +[source] +git = "https://github.com/moosefs/moosefs" +rev = "79bca600d6ddfecfcb29af2fc6632b4e3d00f1a5" +[build] +template = "custom" +dependencies = [ + "libfuse3", + "libpcap", + "zlib", +] diff --git a/recipes/wip/fuse/mount-zip/recipe.toml b/recipes/wip/fuse/mount-zip/recipe.toml new file mode 100644 index 00000000..845cdb1a --- /dev/null +++ b/recipes/wip/fuse/mount-zip/recipe.toml @@ -0,0 +1,12 @@ +#TODO missing script for gnu make: https://github.com/google/mount-zip/blob/main/INSTALL.md +[source] +git = "https://github.com/google/mount-zip" +rev = "v1.10" +[build] +template = "custom" +dependencies = [ + "libfuse3", + "libzip", + "libicu", + "boost", +] diff --git a/recipes/wip/fuse/ntfs-3g/recipe.toml b/recipes/wip/fuse/ntfs-3g/recipe.toml new file mode 100644 index 00000000..81e68ead --- /dev/null +++ b/recipes/wip/fuse/ntfs-3g/recipe.toml @@ -0,0 +1,5 @@ +#TODO port to redox +[source] +tar = "https://tuxera.com/opensource/ntfs-3g_ntfsprogs-2022.10.3.tgz" +[build] +template = "configure" diff --git a/recipes/wip/fuse/oku-fs/recipe.toml b/recipes/wip/fuse/oku-fs/recipe.toml new file mode 100644 index 00000000..ae673c40 --- /dev/null +++ b/recipes/wip/fuse/oku-fs/recipe.toml @@ -0,0 +1,11 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/OkuBrowser/oku-fs" +[build] +template = "custom" +dependencies = [ + "libfuse3", +] +script = """ +cookbook_cargo --features fuse cli +""" diff --git a/recipes/wip/fuse/pifs/recipe.toml b/recipes/wip/fuse/pifs/recipe.toml new file mode 100644 index 00000000..9e37c4ed --- /dev/null +++ b/recipes/wip/fuse/pifs/recipe.toml @@ -0,0 +1,10 @@ +#TODO make libfuse 2.x works +#TODO probably wrong script, see https://github.com/philipl/pifs#readme +[source] +git = "https://github.com/philipl/pifs" +script = "./autogen.sh" +[build] +template = "configure" +dependencies = [ + "libfuse2", +] diff --git a/recipes/wip/fuse/rencfs/recipe.toml b/recipes/wip/fuse/rencfs/recipe.toml new file mode 100644 index 00000000..f74c67f3 --- /dev/null +++ b/recipes/wip/fuse/rencfs/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/radumarias/rencfs" +[build] +template = "cargo" +dependencies = [ + "libfuse3", +] diff --git a/recipes/wip/fuse/s3fs/recipe.toml b/recipes/wip/fuse/s3fs/recipe.toml new file mode 100644 index 00000000..d7a32860 --- /dev/null +++ b/recipes/wip/fuse/s3fs/recipe.toml @@ -0,0 +1,14 @@ +#TODO make libfuse2 work +# build instructions - https://github.com/s3fs-fuse/s3fs-fuse/blob/master/COMPILATION.md +[source] +git = "https://github.com/s3fs-fuse/s3fs-fuse" +rev = "5371cd1468c84423729c334ac997f9621b797e9f" +script = "./autogen.sh" +[build] +template = "configure" +dependencies = [ + "libfuse2", + "curl", + "libxml2", + "openssl1", +] diff --git a/recipes/wip/fuse/securefs/recipe.toml b/recipes/wip/fuse/securefs/recipe.toml new file mode 100644 index 00000000..534d8ce0 --- /dev/null +++ b/recipes/wip/fuse/securefs/recipe.toml @@ -0,0 +1,9 @@ +#TODO missing script for vcpkg: https://github.com/netheril96/securefs#build-from-source +[source] +git = "https://github.com/netheril96/securefs" +rev = "v2.0.0" +[build] +template = "custom" +dependencies = [ + "libfuse3", +] diff --git a/recipes/wip/fuse/simple-mtpfs/recipe.toml b/recipes/wip/fuse/simple-mtpfs/recipe.toml new file mode 100644 index 00000000..4edc3c5d --- /dev/null +++ b/recipes/wip/fuse/simple-mtpfs/recipe.toml @@ -0,0 +1,12 @@ +#TODO not compiled or tested +# build instructions - https://github.com/phatina/simple-mtpfs/blob/master/INSTALL +[source] +git = "https://github.com/phatina/simple-mtpfs" +rev = "19e7bb9b608b0c0dce2ee6f56fac75901bc69529" +script = "./autogen.sh" +[build] +template = "configure" +dependencies = [ + "libfuse3", + "libmtp", +] diff --git a/recipes/wip/fuse/squashfuse/recipe.toml b/recipes/wip/fuse/squashfuse/recipe.toml new file mode 100644 index 00000000..026cf517 --- /dev/null +++ b/recipes/wip/fuse/squashfuse/recipe.toml @@ -0,0 +1,12 @@ +#TODO missing dependencies +[source] +tar = "https://github.com/vasi/squashfuse/releases/download/0.5.2/squashfuse-0.5.2.tar.gz" +[build] +template = "configure" +dependencies = [ + "libfuse3", + "zlib", + "liblzma", + "lz4", + "zstd", +] diff --git a/recipes/wip/fuse/unionfs-fuse/recipe.toml b/recipes/wip/fuse/unionfs-fuse/recipe.toml new file mode 100644 index 00000000..17a6fc61 --- /dev/null +++ b/recipes/wip/fuse/unionfs-fuse/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +# build instructions: https://github.com/rpodgorny/unionfs-fuse#how-to-build +[source] +git = "https://github.com/rpodgorny/unionfs-fuse" +rev = "v3.7" +[build] +template = "cmake" +dependencies = [ + "libfuse3", +] diff --git a/recipes/wip/fuse/unreliablefs/recipe.toml b/recipes/wip/fuse/unreliablefs/recipe.toml new file mode 100644 index 00000000..e554b8af --- /dev/null +++ b/recipes/wip/fuse/unreliablefs/recipe.toml @@ -0,0 +1,9 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/ligurio/unreliablefs" +rev = "fa432252c117e82a0a36343895936f4fae246b56" +[build] +template = "cmake" +dependencies = [ + "libfuse3", +] diff --git a/recipes/wip/games/action/battleship-rs/recipe.toml b/recipes/wip/games/action/battleship-rs/recipe.toml new file mode 100644 index 00000000..2c7344fa --- /dev/null +++ b/recipes/wip/games/action/battleship-rs/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/deepu105/battleship-rs" +[build] +template = "cargo" diff --git a/recipes/wip/games/action/bevy-combat/recipe.toml b/recipes/wip/games/action/bevy-combat/recipe.toml new file mode 100644 index 00000000..0e7a0791 --- /dev/null +++ b/recipes/wip/games/action/bevy-combat/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/ElliotB256/bevy_combat" +[build] +template = "cargo" diff --git a/recipes/wip/games/action/openlara/assets/README.md b/recipes/wip/games/action/openlara/assets/README.md new file mode 100644 index 00000000..3979e494 --- /dev/null +++ b/recipes/wip/games/action/openlara/assets/README.md @@ -0,0 +1,2 @@ + +To make assets working, purchase from https://www.gog.com/en/game/tomb_raider_123, then add 'audio', 'level', and 'video' to this folder. Additional info can be read from https://github.com/XProger/OpenLara/pull/414/files diff --git a/recipes/wip/games/action/openlara/recipe.toml b/recipes/wip/games/action/openlara/recipe.toml new file mode 100644 index 00000000..4985f980 --- /dev/null +++ b/recipes/wip/games/action/openlara/recipe.toml @@ -0,0 +1,20 @@ +#TODO: Compiled, not tested further +[source] +git = "https://github.com/XProger/OpenLara" + +[build] +template = "custom" +dependencies = [ + "sdl2", +] +script = """ +DYNAMIC_INIT +SRC="${COOKBOOK_SOURCE}/src" +mkdir -p "${COOKBOOK_STAGE}/usr/games/OpenLara" +${CXX} "-I${COOKBOOK_SYSROOT}/include" "-I$SRC/" ${LDFLAGS} -DSDL2_GLES -D_GAPI_GLES2 -std=c++11 \ + -O3 -fno-exceptions -fno-rtti -ffunction-sections -fdata-sections -Wl,--gc-sections -DNDEBUG -D__SDL2__ \ + -dynamic -lSDL2 -lGLESv2 -lEGL $("${PKG_CONFIG}" --libs osmesa) -o OpenLara \ + $SRC/platform/sdl2/main.cpp "$SRC/libs/stb_vorbis/stb_vorbis.c" "$SRC/libs/minimp3/minimp3.cpp" "$SRC/libs/tinf/tinflate.c" +cp -rv "${COOKBOOK_RECIPE}/assets" "${COOKBOOK_STAGE}/usr/games/sdl2_gears/" +cp OpenLara ${COOKBOOK_STAGE}/usr/games/OpenLara/OpenLara +""" diff --git a/recipes/wip/games/action/opentomb/recipe.toml b/recipes/wip/games/action/opentomb/recipe.toml new file mode 100644 index 00000000..da961873 --- /dev/null +++ b/recipes/wip/games/action/opentomb/recipe.toml @@ -0,0 +1,13 @@ +#TODO not compiled or tested +# build instructions: https://github.com/opentomb/OpenTomb#compiling +[source] +git = "https://github.com/opentomb/OpenTomb" +[build] +template = "cmake" +dependencies = [ + "sdl2", + "libpng", + "zlib", + "openal", + "mesa", +] diff --git a/recipes/wip/games/data/0ad-data/recipe.toml b/recipes/wip/games/data/0ad-data/recipe.toml new file mode 100644 index 00000000..6f681daa --- /dev/null +++ b/recipes/wip/games/data/0ad-data/recipe.toml @@ -0,0 +1,9 @@ +#TODO not tested +[source] +tar = "https://releases.wildfiregames.com/0ad-0.0.26-alpha-unix-data.tar.xz" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/0ad/ +cp -rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}"/usr/share/0ad/ +""" diff --git a/recipes/wip/games/data/crosshare-data/recipe.toml b/recipes/wip/games/data/crosshare-data/recipe.toml new file mode 100644 index 00000000..9b482e41 --- /dev/null +++ b/recipes/wip/games/data/crosshare-data/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/crosshare-org/crosshare" +shallow_clone = true +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}/usr/share/crosshare-data" +cp -rv "${COOKBOOK_SOURCE}"/app/__tests__/converter/puz/*.puz "${COOKBOOK_STAGE}/usr/share/crosshare-data" +""" diff --git a/recipes/wip/games/data/minetest-data/recipe.toml b/recipes/wip/games/data/minetest-data/recipe.toml new file mode 100644 index 00000000..eebc0011 --- /dev/null +++ b/recipes/wip/games/data/minetest-data/recipe.toml @@ -0,0 +1,10 @@ +#TODO Not tested +[source] +git = "https://github.com/minetest/minetest_game" +rev = "b9c089474cc343b37f90cb8cefc4b5553af2e9ea" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/minetest/games/minetest_game +cp -rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}"/usr/share/minetest/games/minetest_game +""" diff --git a/recipes/wip/games/data/openjazz-shareware-data/jazzdemo.rar.sha b/recipes/wip/games/data/openjazz-shareware-data/jazzdemo.rar.sha new file mode 100644 index 00000000..f1a300db --- /dev/null +++ b/recipes/wip/games/data/openjazz-shareware-data/jazzdemo.rar.sha @@ -0,0 +1 @@ +a71e91cc0136449e58e922dc555180a84b04562f2c04c45d1545765dc77e32fb jazzdemo.rar diff --git a/recipes/wip/games/data/openjazz-shareware-data/manifest b/recipes/wip/games/data/openjazz-shareware-data/manifest new file mode 100644 index 00000000..ae844ad7 --- /dev/null +++ b/recipes/wip/games/data/openjazz-shareware-data/manifest @@ -0,0 +1,4 @@ +name=Jazz Jackrabbit (shareware) +category=Games +binary=/usr/games/OpenJazz +icon=/ui/icons/apps/OpenJazz.png diff --git a/recipes/wip/games/data/openjazz-shareware-data/recipe.toml b/recipes/wip/games/data/openjazz-shareware-data/recipe.toml new file mode 100644 index 00000000..3fca5d81 --- /dev/null +++ b/recipes/wip/games/data/openjazz-shareware-data/recipe.toml @@ -0,0 +1,20 @@ +# TODO: Requires unrar-free in the build container + +[build] +template = "custom" +script = """ +ASSETS_DIR="${COOKBOOK_STAGE}/usr/share/games/openjazz/" +APP_DIR="${COOKBOOK_STAGE}/ui/apps" + +curl -vJL https://archive.org/download/jazz-jackrabbit/Jazz%20Jackrabbit.rar -o jazzdemo.rar +sha256sum -c "${COOKBOOK_RECIPE}/jazzdemo.rar.sha" + +unrar x -u jazzdemo.rar +mkdir -p "${ASSETS_DIR}" "${APP_DIR}" +unzip -uL Jazz/JAZZ.ZIP -d "${ASSETS_DIR}" + +cp -v manifest "${APP_DIR}/openjazz" +""" + +[package] +dependencies = [ "openjazz" ] diff --git a/recipes/wip/games/engines/gemrb/recipe.toml b/recipes/wip/games/engines/gemrb/recipe.toml new file mode 100644 index 00000000..76566f83 --- /dev/null +++ b/recipes/wip/games/engines/gemrb/recipe.toml @@ -0,0 +1,15 @@ +#TODO not compiled or tested +# build instructions: https://github.com/gemrb/gemrb/blob/master/INSTALL +[source] +tar = "https://sourceforge.net/projects/gemrb/files/Releases//0.9.4/gemrb-0.9.4-sources.tar.gz" +[build] +template = "cmake" +cmakeflags = [ + "-DSDL_BACKEND=SDL2", +] +dependencies = [ + "sdl2", + "sdl2-mixer", + "zlib", + "libiconv", +] diff --git a/recipes/wip/games/engines/odamex/recipe.toml b/recipes/wip/games/engines/odamex/recipe.toml new file mode 100644 index 00000000..2118bb90 --- /dev/null +++ b/recipes/wip/games/engines/odamex/recipe.toml @@ -0,0 +1,20 @@ +#TODO not compiled or tested +# build instructions: https://github.com/odamex/odamex#compilation-instructions +[source] +tar = "https://github.com/odamex/odamex/releases/download/11.2.0/odamex/odamex-src-11.2.0.tar.xz" +[build] +template = "cmake" +cmakeflags = [ + "-DBUILD_SERVER=0", + "-DBUILD_CLIENT=1", + "-DBUILD_LAUNCHER=1", +] +dependencies = [ + "sdl2", + "sdl2-mixer", + "libpng", + "zlib", + "wxwidgets-gtk3", +] +[package] +dependencies = ["deutex"] diff --git a/recipes/wip/games/fps/assaultcube/recipe.toml b/recipes/wip/games/fps/assaultcube/recipe.toml new file mode 100644 index 00000000..b1c80491 --- /dev/null +++ b/recipes/wip/games/fps/assaultcube/recipe.toml @@ -0,0 +1,15 @@ +#TODO missing script for "make", see https://wiki.cubers.net/action/view/Linux_Support#Compiling_AssaultCube +[source] +git = "https://github.com/assaultcube/AC" +rev = "1ece5af7533983bb8f827616381d282470793d90" +[build] +template = "configure" +dependencies = [ + "sdl1", + "sdl1-image", + "openal", + "libogg", + "zlib", + "curl", + "libvorbis", +] diff --git a/recipes/wip/games/fps/betterspades/recipe.toml b/recipes/wip/games/fps/betterspades/recipe.toml new file mode 100644 index 00000000..d7ed6d1c --- /dev/null +++ b/recipes/wip/games/fps/betterspades/recipe.toml @@ -0,0 +1,15 @@ +#TODO not compiled or tested +#TODO probably missing dependencies, see https://github.com/xtreme8000/BetterSpades#build-requirements +# build instructions: https://github.com/xtreme8000/BetterSpades#linux +[source] +git = "https://github.com/xtreme8000/BetterSpades" +[build] +template = "cmake" +dependencies = [ + "glfw3", + "openal", + "libenet", + "libdeflate", + "glew", + "mesa", +] diff --git a/recipes/wip/games/fps/chocolate-doom/recipe.toml b/recipes/wip/games/fps/chocolate-doom/recipe.toml new file mode 100644 index 00000000..6821d4c4 --- /dev/null +++ b/recipes/wip/games/fps/chocolate-doom/recipe.toml @@ -0,0 +1,14 @@ +#TODO Not compiled or tested yet +[source] +tar = "https://www.chocolate-doom.org/downloads/3.0.1/chocolate-doom-3.0.1.tar.gz" +[build] +template = "custom" +dependencies = [ + "sdl2", + "sdl2-mixer", + "sdl2-net", +] +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/games/fps/crispy-doom/recipe.toml b/recipes/wip/games/fps/crispy-doom/recipe.toml new file mode 100644 index 00000000..354bb260 --- /dev/null +++ b/recipes/wip/games/fps/crispy-doom/recipe.toml @@ -0,0 +1,15 @@ +#TODO Not compiled/tested yet +[source] +git = "https://github.com/fabiangreffrath/crispy-doom" +rev = "593f5b97023ed39b7640073160c06895bbfc3d26" +[build] +template = "custom" +dependencies = [ + "sdl2", + "sdl2-mixer", + "sdl2-net", +] +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/games/fps/et-legacy/recipe.toml b/recipes/wip/games/fps/et-legacy/recipe.toml new file mode 100644 index 00000000..bff1a020 --- /dev/null +++ b/recipes/wip/games/fps/et-legacy/recipe.toml @@ -0,0 +1,12 @@ +#TODO not compiled or tested +# build instructions: https://github.com/etlegacy/etlegacy#compile-and-install +[source] +git = "https://github.com/etlegacy/etlegacy" +rev = "956269f4c13ebe31ba2a0f0b805588383209bd5b" +[build] +template = "cmake" +dependencies = [ + "sdl2", + "openssl1", + "mesa", +] diff --git a/recipes/wip/games/fps/gzdoom/recipe.toml b/recipes/wip/games/fps/gzdoom/recipe.toml new file mode 100644 index 00000000..bbb08c2b --- /dev/null +++ b/recipes/wip/games/fps/gzdoom/recipe.toml @@ -0,0 +1,13 @@ +#TODO maybe incomplete script, see https://zdoom.org/wiki/Compile_GZDoom_on_Linux +[source] +git = "https://github.com/ZDoom/gzdoom" +rev = "6ce809efe2902e43ceaa7031b875225d3a0367de" +[build] +template = "cmake" +dependencies = [ + "sdl2", + "mesa", + "mesa-glu", + "openal", + "zmusic", +] diff --git a/recipes/wip/games/fps/ioquake3/recipe.toml b/recipes/wip/games/fps/ioquake3/recipe.toml new file mode 100644 index 00000000..8872ae5e --- /dev/null +++ b/recipes/wip/games/fps/ioquake3/recipe.toml @@ -0,0 +1,8 @@ +#TODO missing script for "make", see https://github.com/ioquake/ioq3#compilation-and-installation +[source] +git = "https://github.com/ioquake/ioq3" +[build] +template = "custom" +dependencies = [ + "sdl2", +] diff --git a/recipes/wip/games/fps/openarena/recipe.toml b/recipes/wip/games/fps/openarena/recipe.toml new file mode 100644 index 00000000..c1f42363 --- /dev/null +++ b/recipes/wip/games/fps/openarena/recipe.toml @@ -0,0 +1,12 @@ +#TODO missing script for building, lacking build instructions +#TODO what is game code? - http://files.poulsander.com/~poul19/public_files/oa/dev088/oa-0.8.8.tar.bz2 +[source] +tar = "http://files.poulsander.com/~poul19/public_files/oa/dev088/openarena-engine-source-0.8.8.tar.bz2" +[build] +template = "custom" +dependencies = [ + "sdl1", + "openal", + "libvorbis", + "mesa", +] diff --git a/recipes/wip/games/fps/openspades-free/recipe.toml b/recipes/wip/games/fps/openspades-free/recipe.toml new file mode 100644 index 00000000..2c85ccf5 --- /dev/null +++ b/recipes/wip/games/fps/openspades-free/recipe.toml @@ -0,0 +1,30 @@ +#TODO not compiled or tested +# build instructions: https://github.com/yvt/openspades#on-unixes-from-source +[source] +git = "https://github.com/yvt/openspades" +[build] +template = "custom" +dependencies = [ + "glew", + "openssl1", + "sdl2", + "sdl2-image", + "freealut", + "freetype2", + "opus", + "opusfile", + "libjpeg", + "openal", + "curl", + "libxinerama", + "libxft", +] +script = """ +DYNAMIC_INIT +COOKBOOK_CMAKE_FLAGS+=( + -DOPENSPADES_NONFREE_RESOURCES=OFF +) +cookbook_cmake +wget https://github.com/DeathByDenim/openspades-free-pak/releases/download/latest/pak001-Free.pak \ +"${COOKBOOK_STAGE}"/usr/share/openspades/Resources +""" diff --git a/recipes/wip/games/fps/quake1-shareware/manifest b/recipes/wip/games/fps/quake1-shareware/manifest new file mode 100644 index 00000000..008df9c0 --- /dev/null +++ b/recipes/wip/games/fps/quake1-shareware/manifest @@ -0,0 +1,3 @@ +name=Quake shareware +category=Games +binary=/usr/games/quakespasm -basedir /use/share/games/quake/ diff --git a/recipes/wip/games/fps/quake1-shareware/pak0.pak.sha b/recipes/wip/games/fps/quake1-shareware/pak0.pak.sha new file mode 100644 index 00000000..03655011 --- /dev/null +++ b/recipes/wip/games/fps/quake1-shareware/pak0.pak.sha @@ -0,0 +1 @@ +35a9c55e5e5a284a159ad2a62e0e8def23d829561fe2f54eb402dbc0a9a946af /mnt/games1/home/steam_games/steamapps/common/Quake/id1/PAK0.PAK diff --git a/recipes/wip/games/fps/quake1-shareware/quake106.zip.sha b/recipes/wip/games/fps/quake1-shareware/quake106.zip.sha new file mode 100644 index 00000000..e7df387b --- /dev/null +++ b/recipes/wip/games/fps/quake1-shareware/quake106.zip.sha @@ -0,0 +1 @@ +ec6c9d34b1ae0252ac0066045b6611a7919c2a0d78a3a66d9387a8f597553239 quake106.zip diff --git a/recipes/wip/games/fps/quake1-shareware/recipe.toml b/recipes/wip/games/fps/quake1-shareware/recipe.toml new file mode 100644 index 00000000..f721529c --- /dev/null +++ b/recipes/wip/games/fps/quake1-shareware/recipe.toml @@ -0,0 +1,24 @@ +# TODO: +# * Requires unarchivers + +[build] +template = "custom" +dependencies = ["lhasa", "unzrip"] +script = """ +curl -O "https://github.com/Jason2Brownlee/QuakeOfficialArchive/raw/refs/heads/main/bin/quake106.zip" +sha256sum -c quake106.zip.sha + +# The zip file contains a DOS installer which we don't need +# The actual demo content is within another archive +7z x quake106.zip + +# Actual game contents +lha xv resource.1 +sha256sum -c pak0.pak.sha + +# Now, the ID1 folder contains PAK0, the demo file +# Non-Windows/non-DOS systems expect the directory and file to be lowercased +OUT_DIR = "${COOKBOOK_STAGE}/usr/share/games/quake/id1/" +mkdir -p "${OUT_DIR}" +cp -v ID1/PAK0.PAK "${OUT_DIR}/pak0.pak" +""" diff --git a/recipes/wip/games/fps/rbdoom3-bfg/recipe.toml b/recipes/wip/games/fps/rbdoom3-bfg/recipe.toml new file mode 100644 index 00000000..4380a4c6 --- /dev/null +++ b/recipes/wip/games/fps/rbdoom3-bfg/recipe.toml @@ -0,0 +1,14 @@ +#TODO not compiled or tested +# build instructions: https://github.com/RobertBeckebans/RBDOOM-3-BFG#compiling-on-linux- +#TODO require the Vulkan SDK, see https://vulkan.lunarg.com/ +[source] +git = "https://github.com/RobertBeckebans/RBDOOM-3-BFG" +rev = "39ae1202b4e61ccb8d8e59609f5cd62b04a62a58" +[build] +template = "cmake" +dependencies = [ + "sdl2", + "openal", + "ffmpeg6", + "libvulkan", +] diff --git a/recipes/wip/games/fps/room4doom/recipe.toml b/recipes/wip/games/fps/room4doom/recipe.toml new file mode 100644 index 00000000..d4570fa2 --- /dev/null +++ b/recipes/wip/games/fps/room4doom/recipe.toml @@ -0,0 +1,12 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/flukejones/room4doom" +[build] +template = "custom" +dependencies = [ + "sdl2", + "sdl2-mixer" +] +script = """ +cookbook_cargo_packages room4doom +""" diff --git a/recipes/wip/games/fps/rust-doom/recipe.toml b/recipes/wip/games/fps/rust-doom/recipe.toml new file mode 100644 index 00000000..22323a90 --- /dev/null +++ b/recipes/wip/games/fps/rust-doom/recipe.toml @@ -0,0 +1,9 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/hovinen/rust-doom" +[build] +template = "custom" +script = """ +cookbook_cargo +mv "${COOKBOOK_STAGE}/usr/bin/rs_doom" "${COOKBOOK_STAGE}/usr/bin/doom-rs" +""" diff --git a/recipes/wip/games/fps/smokin-guns/recipe.toml b/recipes/wip/games/fps/smokin-guns/recipe.toml new file mode 100644 index 00000000..1ffe7447 --- /dev/null +++ b/recipes/wip/games/fps/smokin-guns/recipe.toml @@ -0,0 +1,7 @@ +#TODO missing script for "make", see https://trac.smokin-guns.org/wiki/SmokinGuns/Building/linux +#TODO bundled with the ioquake3 engine? +#TODO determine dependencies +[source] +git = "https://github.com/smokin-guns/SmokinGuns" +[build] +template = "custom" diff --git a/recipes/wip/games/fps/unvanquished/recipe.toml b/recipes/wip/games/fps/unvanquished/recipe.toml new file mode 100644 index 00000000..be786ce6 --- /dev/null +++ b/recipes/wip/games/fps/unvanquished/recipe.toml @@ -0,0 +1,28 @@ +#TODO not compiled or tested +# build instructions: https://github.com/DaemonEngine/Daemon#build-instructions +# data files - https://github.com/Unvanquished/Unvanquished#downloading-the-games-assets +[source] +git = "https://github.com/DaemonEngine/Daemon" +[build] +template = "custom" +dependencies = [ + "zlib", + "libgmp", + "libnettle", + "curl", + "sdl2", + "glew", + "libpng", + "libjpeg", + "libwebp", + "freetype", + "openal", + "libogg", + "libvorbis", + "opus", + "opusfile", +] +script = """ +DYNAMIC_INIT +cookbook_cmake +""" diff --git a/recipes/wip/games/fps/vkquake/recipe.toml b/recipes/wip/games/fps/vkquake/recipe.toml new file mode 100644 index 00000000..b16b4f84 --- /dev/null +++ b/recipes/wip/games/fps/vkquake/recipe.toml @@ -0,0 +1,12 @@ +#TODO not compiled or tested +# build instructions: https://github.com/Novum/vkQuake#linux-1 +[source] +git = "https://github.com/Novum/vkQuake" +[build] +template = "meson" +dependencies = [ + "sdl2", + "libvulkan", + "libvorbis", + "libmad", +] diff --git a/recipes/wip/games/fps/vkquake2/recipe.toml b/recipes/wip/games/fps/vkquake2/recipe.toml new file mode 100644 index 00000000..982a96e3 --- /dev/null +++ b/recipes/wip/games/fps/vkquake2/recipe.toml @@ -0,0 +1,10 @@ +#TODO missing script for gnu make +# build instructions: https://github.com/kondrak/vkQuake2#linux +[source] +git = "https://github.com/kondrak/vkQuake2" +rev = "bdd39b142fbadf581fd9d904968a83fb9b4a929a" +[build] +template = "custom" +dependencies = [ + "mesa-x11", +] diff --git a/recipes/wip/games/fps/xash3d-fwgs/recipe.toml b/recipes/wip/games/fps/xash3d-fwgs/recipe.toml new file mode 100644 index 00000000..4764d81e --- /dev/null +++ b/recipes/wip/games/fps/xash3d-fwgs/recipe.toml @@ -0,0 +1,10 @@ +#TODO missing script for waf, see https://github.com/FWGS/xash3d-fwgs#build-instructions +[source] +git = "https://github.com/FWGS/xash3d-fwgs" +[build] +template = "custom" +dependencies = [ + "sdl2", + "fontconfig", + "freetype2", +] diff --git a/recipes/wip/games/fps/xonotic/recipe.toml b/recipes/wip/games/fps/xonotic/recipe.toml new file mode 100644 index 00000000..ee358495 --- /dev/null +++ b/recipes/wip/games/fps/xonotic/recipe.toml @@ -0,0 +1,17 @@ +#TODO missing script for "make", see https://gitlab.com/xonotic/xonotic/-/wikis/Compiling +[source] +git = "https://gitlab.com/xonotic/xonotic" +rev = "0100f2c8d7947267292db66714c1af55039809ad" +[build] +template = "custom" +dependencies = [ + "libgmp", + "sdl2", + "libjpeg", + "libpng", + "freetype2", + "libogg", + "libvorbis", + "curl", + "rsync", +] diff --git a/recipes/wip/games/fps/yquake2/recipe.toml b/recipes/wip/games/fps/yquake2/recipe.toml new file mode 100644 index 00000000..b907b4ff --- /dev/null +++ b/recipes/wip/games/fps/yquake2/recipe.toml @@ -0,0 +1,11 @@ +#TODO missing script for "make", see https://github.com/yquake2/yquake2/blob/master/doc/020_installation.md#compiling-with-gcc-clang-or-mingw +[source] +tar = "https://deponie.yamagi.org/quake2/quake2-8.30.tar.xz" +[build] +template = "custom" +dependencies = [ + "mesa", + "openal", + "curl", + "sdl2", +] diff --git a/recipes/wip/games/fps/zerospades-free/recipe.toml b/recipes/wip/games/fps/zerospades-free/recipe.toml new file mode 100644 index 00000000..401f8af6 --- /dev/null +++ b/recipes/wip/games/fps/zerospades-free/recipe.toml @@ -0,0 +1,30 @@ +#TODO not compiled or tested +# build instructions: https://github.com/yvt/openspades#on-unixes-from-source +[source] +git = "https://github.com/siecvi/zerospades" +[build] +template = "custom" +dependencies = [ + "glew", + "openssl1", + "sdl2", + "sdl2-image", + "freealut", + "freetype2", + "opus", + "opusfile", + "libjpeg", + "openal", + "curl", + "libxinerama", + "libxft", +] +script = """ +DYNAMIC_INIT +COOKBOOK_CMAKE_FLAGS+=( + -DOPENSPADES_NONFREE_RESOURCES=OFF +) +cookbook_cmake +wget https://github.com/DeathByDenim/openspades-free-pak/releases/download/latest/pak001-Free.pak \ +"${COOKBOOK_STAGE}"/usr/share/openspades/Resources +""" diff --git a/recipes/wip/games/math/binbreak/recipe.toml b/recipes/wip/games/math/binbreak/recipe.toml new file mode 100644 index 00000000..13a35882 --- /dev/null +++ b/recipes/wip/games/math/binbreak/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/epic-64/binbreak" +[build] +template = "cargo" diff --git a/recipes/wip/games/math/cosmic-ext-2048/recipe.toml b/recipes/wip/games/math/cosmic-ext-2048/recipe.toml new file mode 100644 index 00000000..6f113f74 --- /dev/null +++ b/recipes/wip/games/math/cosmic-ext-2048/recipe.toml @@ -0,0 +1,14 @@ +#TODO zbus crate error +[source] +git = "https://github.com/Kartonrealista/cosmic-ext-2048" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/applications +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/metainfo +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/icons +cp -rv "${COOKBOOK_SOURCE}"/res/io.github.Kartonrealista.cosmic-ext-2048.desktop "${COOKBOOK_STAGE}"/usr/share/applications +cp -rv "${COOKBOOK_SOURCE}"/res/io.github.Kartonrealista.cosmic-ext-2048.metainfo.xml "${COOKBOOK_STAGE}"/usr/share/metainfo +cp -rv "${COOKBOOK_SOURCE}"/res/icons/hicolor "${COOKBOOK_STAGE}"/usr/share/icons +cookbook_cargo +""" diff --git a/recipes/wip/games/math/sudoku-rs/recipe.toml b/recipes/wip/games/math/sudoku-rs/recipe.toml new file mode 100644 index 00000000..70752838 --- /dev/null +++ b/recipes/wip/games/math/sudoku-rs/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/crazymerlyn/sudoku" +[build] +template = "cargo" diff --git a/recipes/wip/games/math/tuxmath/recipe.toml b/recipes/wip/games/math/tuxmath/recipe.toml new file mode 100644 index 00000000..17b23126 --- /dev/null +++ b/recipes/wip/games/math/tuxmath/recipe.toml @@ -0,0 +1,15 @@ +#TODO missing script for building, see https://github.com/tux4kids/tuxmath/blob/master/doc/INSTALL +[source] +git = "https://github.com/tux4kids/tuxmath" +[build] +template = "custom" +dependencies = [ + "t4kcommon", + "sdl1", + "sdl1-image", + "sdl1-mixer", + "sdl1-ttf", + "sdl2-net", + "sdl-pango", + "librsvg", +] diff --git a/recipes/wip/games/music/performous-composer/recipe.toml b/recipes/wip/games/music/performous-composer/recipe.toml new file mode 100644 index 00000000..5393e0f2 --- /dev/null +++ b/recipes/wip/games/music/performous-composer/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +# build instructions - https://github.com/performous/performous/wiki/Composer +[source] +git = "https://github.com/performous/composer" +[build] +template = "cmake" +dependencies = [ + "qt5-base", + "ffmpeg6", +] diff --git a/recipes/wip/games/music/performous/recipe.toml b/recipes/wip/games/music/performous/recipe.toml new file mode 100644 index 00000000..c1f4c393 --- /dev/null +++ b/recipes/wip/games/music/performous/recipe.toml @@ -0,0 +1,26 @@ +#TODO not compiled or tested +# build instructions - https://github.com/performous/performous/wiki/Building-and-installing-from-source#build-and-install +# dependencies - https://github.com/performous/performous/wiki/Building-and-installing-from-source#installing-build-dependencies +[source] +git = "https://github.com/performous/performous" +branch = "1.3.1" +[build] +template = "cmake" +dependencies = [ + "openblas", + "fftw", + "libicu", + "libepoxy", + "sdl2", + "freetype2", + "pango", + "librsvg", + "libxml2", + "ffmpeg6", + "libjpeg", + "portaudio", + "boost", + "nlohmann-json", + "aubio", + "libfmt", +] diff --git a/recipes/wip/games/music/stepmania/recipe.toml b/recipes/wip/games/music/stepmania/recipe.toml new file mode 100644 index 00000000..f0bd55fc --- /dev/null +++ b/recipes/wip/games/music/stepmania/recipe.toml @@ -0,0 +1,25 @@ +#TODO not compiled or tested +# build instructions - https://github.com/stepmania/stepmania/wiki/Compiling-StepMania-Linux +# dependencies - https://github.com/stepmania/stepmania/wiki/Linux-Dependencies +[source] +git = "https://github.com/stepmania/stepmania" +[build] +template = "cmake" +dependencies = [ + "mesa", + "mesa-glu", + "glew", + "libx11", + "libxtst", + "libxrandr", + "libpng", + "libjpeg", + "zlib", + "bzip2", + "libogg", + "libvorbis", + "pulseaudio", + "libiberty", + "gtk3", + "libmad", +] diff --git a/recipes/wip/games/open-world/all-is-cubes/recipe.toml b/recipes/wip/games/open-world/all-is-cubes/recipe.toml new file mode 100644 index 00000000..227fbfa9 --- /dev/null +++ b/recipes/wip/games/open-world/all-is-cubes/recipe.toml @@ -0,0 +1,8 @@ +#TODO require rustc 1.87 or newer +[source] +git = "https://github.com/kpreid/all-is-cubes" +[build] +template = "custom" +script = """ +cookbook_cargo_packages all-is-cubes-desktop +""" diff --git a/recipes/wip/games/open-world/asciicker/recipe.toml b/recipes/wip/games/open-world/asciicker/recipe.toml new file mode 100644 index 00000000..2d6e1c9b --- /dev/null +++ b/recipes/wip/games/open-world/asciicker/recipe.toml @@ -0,0 +1,14 @@ +#TODO missing script for gnu make +#TODO build the game, term and server +#TODO build the terminal and sdl2 frontends +# makeflags: -DSERVER -DGAME -DUSE_SDL2 -DPURE_TERM -DUSE_GPM +[source] +git = "https://github.com/msokalski/asciicker" +rev = "8ff75d0c5a8d2745a8ad6a8a841dd31a46e81635" +[build] +template = "custom" +dependencies = [ + "mesa", + "sdl2", + "libgpm", +] diff --git a/recipes/wip/games/open-world/cytopia-rs/recipe.toml b/recipes/wip/games/open-world/cytopia-rs/recipe.toml new file mode 100644 index 00000000..fd8c93ed --- /dev/null +++ b/recipes/wip/games/open-world/cytopia-rs/recipe.toml @@ -0,0 +1,5 @@ +#TODO compilation error +[source] +git = "https://codeberg.org/Esther1024/pia-fork" +[build] +template = "cargo" diff --git a/recipes/wip/games/open-world/cytopia/recipe.toml b/recipes/wip/games/open-world/cytopia/recipe.toml new file mode 100644 index 00000000..ea8d2772 --- /dev/null +++ b/recipes/wip/games/open-world/cytopia/recipe.toml @@ -0,0 +1,18 @@ +#TODO not compiled or tested +# build instructions: https://github.com/CytopiaTeam/Cytopia/wiki/Build-instructions +[source] +git = "https://github.com/CytopiaTeam/Cytopia" +[build] +template = "cmake" +dependencies = [ + "sdl2", + "sdl2-ttf", + "sdl2-image", + "openal", + "zlib", + "libogg", + "libvorbis", + "libpng", + "libnoise", + "imgui", +] diff --git a/recipes/wip/games/open-world/ethertia/recipe.toml b/recipes/wip/games/open-world/ethertia/recipe.toml new file mode 100644 index 00000000..3ed24ae2 --- /dev/null +++ b/recipes/wip/games/open-world/ethertia/recipe.toml @@ -0,0 +1,5 @@ +#TODO webbrowser crate error +[source] +git = "https://github.com/Dreamtowards/Ethertum" +[build] +template = "cargo" diff --git a/recipes/wip/games/open-world/leafish/recipe.toml b/recipes/wip/games/open-world/leafish/recipe.toml new file mode 100644 index 00000000..6b8fba4b --- /dev/null +++ b/recipes/wip/games/open-world/leafish/recipe.toml @@ -0,0 +1,9 @@ +#TODO make gtk3 work +[source] +git = "https://github.com/Lea-fish/Leafish" +[build] +template = "cargo" +dependencies = [ + "gtk3", + "openssl1", +] diff --git a/recipes/wip/games/open-world/luanti/recipe.toml b/recipes/wip/games/open-world/luanti/recipe.toml new file mode 100644 index 00000000..301836c7 --- /dev/null +++ b/recipes/wip/games/open-world/luanti/recipe.toml @@ -0,0 +1,37 @@ +#TODO not compiled or tested +# build instructions: https://github.com/minetest/minetest/blob/master/doc/compiling/linux.md +# customization - https://github.com/minetest/minetest/tree/master/doc/compiling#cmake-options +[source] +git = "https://github.com/minetest/minetest" +branch = "stable-5" +patches = ["redox.patch"] + +[build] +template = "custom" +dependencies = [ + "curl", + "freetype2", + "libiconv", + "libjpeg", + "libogg", + "libpng", + "libvorbis", + "luajit", + "openal", + #TODO: openssl not detected by cmake + "openssl1", + "sdl2", + "sqlite3", + "zlib", + "zstd", +] +script = """ +DYNAMIC_INIT +COOKBOOK_CMAKE_FLAGS+=( + -DOPENGL_opengl_LIBRARY=/dev/null + -DOPENGL_glx_LIBRARY=/dev/null + -DSDL2_INCLUDE_DIRS="${COOKBOOK_SYSROOT}/include/SDL2" + -DSDL2_LIBRARIES="$("${PKG_CONFIG}" --libs sdl2)" +) +cookbook_cmake +""" diff --git a/recipes/wip/games/open-world/luanti/redox.patch b/recipes/wip/games/open-world/luanti/redox.patch new file mode 100644 index 00000000..059621a9 --- /dev/null +++ b/recipes/wip/games/open-world/luanti/redox.patch @@ -0,0 +1,273 @@ +diff --git a/irr/src/CGUIEditBox.cpp b/irr/src/CGUIEditBox.cpp +index 5639a36a6..37a0b6151 100644 +--- a/irr/src/CGUIEditBox.cpp ++++ b/irr/src/CGUIEditBox.cpp +@@ -464,10 +464,10 @@ void CGUIEditBox::processKeyLR(const SEvent::SKeyInput &input, s32 &new_mark_beg + new_pos = i; + if (std::abs(i - CursorPos) > 2) { + // End of word +- if (!std::iswspace(prev_c) && std::iswspace(c)) ++ if (!::iswspace(prev_c) && ::iswspace(c)) + break; + // End of a sentence. +- if (std::iswpunct(prev_c) && !std::iswpunct(c)) ++ if (iswpunct(prev_c) && !iswpunct(c)) + break; + } + prev_c = c; +diff --git a/irr/src/CIrrDeviceSDL.cpp b/irr/src/CIrrDeviceSDL.cpp +index a44213d7c..dbf3611b1 100644 +--- a/irr/src/CIrrDeviceSDL.cpp ++++ b/irr/src/CIrrDeviceSDL.cpp +@@ -331,7 +331,9 @@ CIrrDeviceSDL::CIrrDeviceSDL(const SIrrlichtCreationParameters ¶m) : + // Minetest has its own code to synthesize mouse events from touch events, + // so we prevent SDL from doing it. + SDL_SetHint(SDL_HINT_TOUCH_MOUSE_EVENTS, "0"); ++#ifdef SDL_HINT_MOUSE_TOUCH_EVENTS + SDL_SetHint(SDL_HINT_MOUSE_TOUCH_EVENTS, "0"); ++#endif + + #if defined(SDL_HINT_APP_NAME) + SDL_SetHint(SDL_HINT_APP_NAME, "Luanti"); +diff --git a/irr/src/CMakeLists.txt b/irr/src/CMakeLists.txt +index b7360311a..b1c578726 100644 +--- a/irr/src/CMakeLists.txt ++++ b/irr/src/CMakeLists.txt +@@ -232,7 +232,7 @@ if(USE_SDL2) + set(USE_SDL2_SHARED TRUE) + endif() + if(NOT ANDROID) +- find_package(SDL2 REQUIRED) ++ #find_package(SDL2 REQUIRED) + else() + # provided by AndroidLibs.cmake + endif() +@@ -246,16 +246,16 @@ if(USE_SDL2) + #error\n\ + #endif\n\ + int main() {}" CHECK_SDL_VERSION) +- if(NOT CHECK_SDL_VERSION) +- message(FATAL_ERROR "SDL2 is too old, required is at least 2.0.10!") +- endif() ++ #if(NOT CHECK_SDL_VERSION) ++ # message(FATAL_ERROR "SDL2 is too old, required is at least 2.0.10!") ++ #endif() + + # ...no target either. +- if(NOT TARGET SDL2::SDL2) +- add_library(SDL2::SDL2 SHARED IMPORTED) +- set_target_properties(SDL2::SDL2 PROPERTIES +- IMPORTED_LOCATION "${SDL2_LIBRARIES}") +- endif() ++ #if(NOT TARGET SDL2::SDL2) ++ # add_library(SDL2::SDL2 SHARED IMPORTED) ++ # set_target_properties(SDL2::SDL2 PROPERTIES ++ # IMPORTED_LOCATION "${SDL2_LIBRARIES}") ++ #endif() + endif() + + # More special config +@@ -583,8 +583,9 @@ target_link_libraries(IrrlichtMt PRIVATE + ${ZLIB_LIBRARY} + ${JPEG_LIBRARY} + ${PNG_LIBRARY} +- "$<$:SDL2::SDL2>" +- "$<$:SDL2::SDL2-static>" ++ ${SDL2_LIBRARIES} ++ #"$<$:SDL2::SDL2>" ++ #"$<$:SDL2::SDL2-static>" + + "$<$:${OPENGL_LIBRARIES}>" + ${EGL_LIBRARY} +diff --git a/src/client/client.cpp b/src/client/client.cpp +index b1dfa5993..aec96371c 100644 +--- a/src/client/client.cpp ++++ b/src/client/client.cpp +@@ -1808,10 +1808,12 @@ void Client::showUpdateProgressTexture(void *args, u32 progress, u32 max_progres + + if (do_draw) { + targs->last_time_ms = time_ms; ++#if !defined(__redox__) + std::wostringstream strm; + strm << targs->text_base << L" " << targs->last_percent << L"%..."; + m_rendering_engine->draw_load_screen(strm.str(), targs->guienv, targs->tsrc, 0, + 72 + (u16) ((18. / 100.) * (double) targs->last_percent)); ++#endif + } + } + +diff --git a/src/porting.cpp b/src/porting.cpp +index 711b65db6..32520eef9 100644 +--- a/src/porting.cpp ++++ b/src/porting.cpp +@@ -25,7 +25,7 @@ + #if !defined(_WIN32) + #include + #include +- #if !defined(__ANDROID__) ++ #if !defined(__ANDROID__) && !defined(__redox__) + #include + #endif + #endif +@@ -883,7 +883,7 @@ static bool open_uri(const std::string &uri) + const char *argv[] = {"open", uri.c_str(), NULL}; + return posix_spawnp(NULL, "open", NULL, NULL, (char**)argv, + (*_NSGetEnviron())) == 0; +-#else ++#elif !defined(__redox__) + const char *argv[] = {"xdg-open", uri.c_str(), NULL}; + return posix_spawnp(NULL, "xdg-open", NULL, NULL, (char**)argv, environ) == 0; + #endif +diff --git a/src/porting.h b/src/porting.h +index 1a4bb9e7b..cc252f3e1 100644 +--- a/src/porting.h ++++ b/src/porting.h +@@ -162,6 +162,12 @@ inline void os_get_clock(struct timespec *ts) + # endif + struct timeval tv; + gettimeofday(&tv, NULL); ++#ifndef TIMEVAL_TO_TIMESPEC ++#define TIMEVAL_TO_TIMESPEC(tv, ts) ( \ ++ (ts)->tv_sec = (tv)->tv_sec, \ ++ (ts)->tv_nsec = (tv)->tv_usec * 1000, \ ++ (void)0 ) ++#endif + TIMEVAL_TO_TIMESPEC(&tv, ts); + #endif + } +diff --git a/src/server.cpp b/src/server.cpp +index 3c03e68a6..4825bcd62 100644 +--- a/src/server.cpp ++++ b/src/server.cpp +@@ -245,10 +245,14 @@ void Server::ShutdownState::tick(float dtime, Server *server) + + std::wstring Server::ShutdownState::getShutdownTimerMessage() const + { ++#if defined(__redox__) ++ return L""; ++#else + std::wstringstream ws; + ws << L"*** Server shutting down in " + << duration_to_string(myround(m_timer)).c_str() << "."; + return ws.str(); ++#endif + } + + /* +@@ -3180,11 +3184,15 @@ std::wstring Server::handleChat(const std::string &name, + if (player) { + switch (player->canSendChatMessage()) { + case RPLAYER_CHATRESULT_FLOODING: { ++#if defined(__redox__) ++ return L""; ++#else + std::wstringstream ws; + ws << L"You cannot send more messages. You are limited to " + << g_settings->getFloat("chat_message_limit_per_10sec") + << L" messages per 10 seconds."; + return ws.str(); ++#endif + } + case RPLAYER_CHATRESULT_KICK: + DenyAccess(player->getPeerId(), SERVER_ACCESSDENIED_CUSTOM_STRING, +diff --git a/src/threading/thread.cpp b/src/threading/thread.cpp +index 679eaa113..59dc8cc63 100644 +--- a/src/threading/thread.cpp ++++ b/src/threading/thread.cpp +@@ -332,7 +332,7 @@ bool Thread::setPriority(int prio) + + return SetThreadPriority(win32_native_handle(), prio); + +-#else ++#elif !defined(__redox__) + + struct sched_param sparam; + int policy; +diff --git a/src/translation.cpp b/src/translation.cpp +index 71469507d..ecb9d1b52 100644 +--- a/src/translation.cpp ++++ b/src/translation.cpp +@@ -126,6 +126,7 @@ void Translations::loadTrTranslation(const std::string &data) + // '\n' may also be escaped by '@'. + // All other escapes are preserved. + ++#if !defined(__redox__) + size_t i = 0; + std::wostringstream word1, word2; + while (i < wline.length() && wline[i] != L'=') { +@@ -192,6 +193,7 @@ void Translations::loadTrTranslation(const std::string &data) + } + + addTranslation(textdomain, word1.str(), word2.str()); ++#endif + } + } + +@@ -341,12 +343,14 @@ void Translations::loadPoEntry(const std::wstring &basefilename, const GettextPl + addTranslation(textdomain, original, translated->second); + } else { + std::vector translations; ++ #if !defined(__redox__) + for (int i = 0; ; i++) { + auto translated = entry.find(L"msgstr[" + std::to_wstring(i) + L"]"); + if (translated == entry.end()) + break; + translations.push_back(translated->second); + } ++ #endif + addPluralTranslation(textdomain, plural_form, original, translations); + addPluralTranslation(textdomain, plural_form, plural->second, translations); + } +diff --git a/src/unittest/test_serialization.cpp b/src/unittest/test_serialization.cpp +index 839a09060..9cbcc056d 100644 +--- a/src/unittest/test_serialization.cpp ++++ b/src/unittest/test_serialization.cpp +@@ -61,15 +61,21 @@ template std::string mkstr(const char (&s)[N]) + void TestSerialization::buildTestStrings() + { + std::ostringstream tmp_os; ++#if !defined(__redox__) + std::wostringstream tmp_os_w; ++#endif + std::ostringstream tmp_os_w_encoded; + for (int i = 0; i < 256; i++) { + tmp_os << (char)i; ++#if !defined(__redox__) + tmp_os_w << (wchar_t)i; ++#endif + tmp_os_w_encoded << (char)0 << (char)i; + } + teststring2 = tmp_os.str(); ++#if !defined(__redox__) + teststring2_w = tmp_os_w.str(); ++#endif + teststring2_w_encoded = tmp_os_w_encoded.str(); + } + +diff --git a/src/util/string.cpp b/src/util/string.cpp +index aeec51cb8..411bdc84a 100644 +--- a/src/util/string.cpp ++++ b/src/util/string.cpp +@@ -721,7 +721,9 @@ static void translate_string(std::wstring_view s, Translations *translations, + continue; + } + output += L'@'; ++ #if !defined (__redox__) + output += std::to_wstring(arg_number); ++ #endif + ++arg_number; + std::wstring arg; + translate_all(s, i, translations, arg); +diff --git a/src/util/string.h b/src/util/string.h +index 78881a9a4..f5a6ed95a 100644 +--- a/src/util/string.h ++++ b/src/util/string.h +@@ -325,7 +325,7 @@ inline bool my_isspace(const char c) + + inline bool my_isspace(const wchar_t c) + { +- return std::iswspace(c); ++ return ::iswspace(c); + } + + /** diff --git a/recipes/wip/games/open-world/teloren/recipe.toml b/recipes/wip/games/open-world/teloren/recipe.toml new file mode 100644 index 00000000..bc7e1daf --- /dev/null +++ b/recipes/wip/games/open-world/teloren/recipe.toml @@ -0,0 +1,5 @@ +#TODO quinn-udp crate error +[source] +git = "https://github.com/zesterer/teloren" +[build] +template = "cargo" diff --git a/recipes/wip/games/open-world/veloren/recipe.toml b/recipes/wip/games/open-world/veloren/recipe.toml new file mode 100644 index 00000000..0265a9d8 --- /dev/null +++ b/recipes/wip/games/open-world/veloren/recipe.toml @@ -0,0 +1,17 @@ +#TODO quinn-udp crate error +[source] +git = "https://github.com/veloren/veloren" +shallow = true +[build] +template = "cargo" +package_path="client" +dependencies = [ + "glib", + "cairo", + "pango", + "atk", + "gdk-pixbuf", + "gtk3", + "eudev", + "mesa", +] diff --git a/recipes/wip/games/other/blightmud/recipe.toml b/recipes/wip/games/other/blightmud/recipe.toml new file mode 100644 index 00000000..a1c86b3f --- /dev/null +++ b/recipes/wip/games/other/blightmud/recipe.toml @@ -0,0 +1,9 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/Blightmud/Blightmud" +[build] +template = "cargo" +dependencies = [ + "openssl3", + "libalsa", +] diff --git a/recipes/wip/games/other/love/recipe.toml b/recipes/wip/games/other/love/recipe.toml new file mode 100644 index 00000000..c4fd36f5 --- /dev/null +++ b/recipes/wip/games/other/love/recipe.toml @@ -0,0 +1,80 @@ +[source] +tar = "https://github.com/love2d/love/archive/refs/tags/11.5.tar.gz" +blake3 = "1fe441b04af1c0aa12b5d12f274fd892e6f307bcc882888c3a1ec048294a25c7" +patches = [ + "redox.patch" +] + +[build] +template = "custom" +dependencies = [ + "freetype2", + "libmodplug1", + "libogg", + "liborbital", + "libpng", + "libtheora", + "libvorbis", + "llvm18", + "luajit", + "openal", + "mesa", + "mpg123", + "sdl2", + "zlib", +] +script = """ +DYNAMIC_INIT +export CFLAGS="${CFLAGS} -I${COOKBOOK_SYSROOT}/include -I${COOKBOOK_SYSROOT}/include/SDL2" +export CXXFLAGS="${CXXFLAGS} -I${COOKBOOK_SYSROOT}/include -I${COOKBOOK_SYSROOT}/include/SDL2" + +cat > redox.cmake <setText( text.c_str() ); ++ m_children[1].m_element->setText( stringw(m_value*m_step).c_str() ); + } + } + } diff --git a/recipes/wip/games/rpg/dcss/recipe.toml b/recipes/wip/games/rpg/dcss/recipe.toml new file mode 100644 index 00000000..29895a7d --- /dev/null +++ b/recipes/wip/games/rpg/dcss/recipe.toml @@ -0,0 +1,18 @@ +#TODO missing script for "make", see https://github.com/crawl/crawl/blob/master/crawl-ref/INSTALL.md#compiling +#TODO require DejaVu fonts +[source] +tar = "https://github.com/crawl/crawl/releases/download/0.30.0/stone_soup-0.30.0.tar.xz" +[build] +template = "custom" +dependencies = [ + "sdl2", + "sdl2-image", + "sqlite3", + "ncurses", + "pcre", + "zlib", + "libpng", +] +script = """ +export CPPFLAGS="-I${COOKBOOK_SYSROOT}/include/ncurses" +""" diff --git a/recipes/wip/games/rpg/kingslayer/recipe.toml b/recipes/wip/games/rpg/kingslayer/recipe.toml new file mode 100644 index 00000000..e1d1df0f --- /dev/null +++ b/recipes/wip/games/rpg/kingslayer/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/Zaechus/kingslayer" +[build] +template = "cargo" diff --git a/recipes/wip/games/rts/mindustry/recipe.toml b/recipes/wip/games/rts/mindustry/recipe.toml new file mode 100644 index 00000000..aaf90c74 --- /dev/null +++ b/recipes/wip/games/rts/mindustry/recipe.toml @@ -0,0 +1,12 @@ +#TODO make openjdk work +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_SOURCE}" +wget https://github.com/Anuken/Mindustry/releases/download/v146/Mindustry.jar +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/mindustry +mkdir -pv "${COOKBOOK_STAGE}"/usr/bin +cp -rv "${COOKBOOK_SOURCE}"/Mindustry.jar "${COOKBOOK_STAGE}"/usr/share/mindustry +echo "#!/usr/bin/env sh \n java -jar /usr/share/mindustry/Mindustry.jar" > "${COOKBOOK_STAGE}"/usr/bin/mindustry +chmod a+x "${COOKBOOK_STAGE}"/usr/bin/mindustry +""" diff --git a/recipes/wip/games/servers/cuberite/recipe.toml b/recipes/wip/games/servers/cuberite/recipe.toml new file mode 100644 index 00000000..7b19d796 --- /dev/null +++ b/recipes/wip/games/servers/cuberite/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://github.com/cuberite/cuberite/blob/master/COMPILING.md#building-1 +[source] +git = "https://github.com/cuberite/cuberite" +[build] +template = "cmake" diff --git a/recipes/wip/games/shooter/asciiarena/recipe.toml b/recipes/wip/games/shooter/asciiarena/recipe.toml new file mode 100644 index 00000000..8c019005 --- /dev/null +++ b/recipes/wip/games/shooter/asciiarena/recipe.toml @@ -0,0 +1,5 @@ +#TODO outdated mio crate +[source] +git = "https://github.com/lemunozm/asciiarena" +[build] +template = "cargo" diff --git a/recipes/wip/games/shooter/call-of-ferris/recipe.toml b/recipes/wip/games/shooter/call-of-ferris/recipe.toml new file mode 100644 index 00000000..5c23987a --- /dev/null +++ b/recipes/wip/games/shooter/call-of-ferris/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error (after a cargo update) +[source] +git = "https://github.com/Andy-Python-Programmer/CallOfFerris" +[build] +template = "cargo" diff --git a/recipes/wip/games/shooter/empty-clip/recipe.toml b/recipes/wip/games/shooter/empty-clip/recipe.toml new file mode 100644 index 00000000..ba3f8520 --- /dev/null +++ b/recipes/wip/games/shooter/empty-clip/recipe.toml @@ -0,0 +1,15 @@ +#TODO not compiled or tested +[source] +tar = "https://gitlab.com/jazztickets/uploads/-/raw/main/emptyclip-2.0.3-0d97724f-src.tar.gz" +[build] +template = "cmake" +dependencies = [ + "sdl3", + "libwebp", + "sqlite3", + "freetype2", + "openal", + "libvorbis", + "libogg", + "zlib", +] diff --git a/recipes/wip/games/simulation/egregoria/recipe.toml b/recipes/wip/games/simulation/egregoria/recipe.toml new file mode 100644 index 00000000..13e33904 --- /dev/null +++ b/recipes/wip/games/simulation/egregoria/recipe.toml @@ -0,0 +1,8 @@ +#TODO winit crate error +[source] +git = "https://github.com/Uriopass/Egregoria" +[build] +template = "custom" +script = """ +cookbook_cargo_packages native_app +""" diff --git a/recipes/wip/games/simulation/formicarium/recipe.toml b/recipes/wip/games/simulation/formicarium/recipe.toml new file mode 100644 index 00000000..905c3b50 --- /dev/null +++ b/recipes/wip/games/simulation/formicarium/recipe.toml @@ -0,0 +1,5 @@ +#TODO outdated libc crate +[source] +git = "https://github.com/gliderkite/formicarium" +[build] +template = "cargo" diff --git a/recipes/wip/games/simulation/game-of-life-piston/recipe.toml b/recipes/wip/games/simulation/game-of-life-piston/recipe.toml new file mode 100644 index 00000000..92552bf8 --- /dev/null +++ b/recipes/wip/games/simulation/game-of-life-piston/recipe.toml @@ -0,0 +1,5 @@ +#TODO outdated libc crate +[source] +git = "https://github.com/Arcterus/game-of-life" +[build] +template = "cargo" diff --git a/recipes/wip/games/simulation/game-of-life-rs/recipe.toml b/recipes/wip/games/simulation/game-of-life-rs/recipe.toml new file mode 100644 index 00000000..45d14fcb --- /dev/null +++ b/recipes/wip/games/simulation/game-of-life-rs/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/kachark/game-of-life-rs" +[build] +template = "cargo" diff --git a/recipes/wip/games/simulation/nbodysim/recipe.toml b/recipes/wip/games/simulation/nbodysim/recipe.toml new file mode 100644 index 00000000..9914a961 --- /dev/null +++ b/recipes/wip/games/simulation/nbodysim/recipe.toml @@ -0,0 +1,10 @@ +#TODO outdated crates +[source] +git = "https://github.com/timokoesters/nbodysim" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/nbodysim +cp -rv "${COOKBOOK_SOURCE}"/examples/* "${COOKBOOK_STAGE}"/usr/share/nbodysim +cookbook_cargo +""" diff --git a/recipes/wip/games/simulation/sandbox-rs2/recipe.toml b/recipes/wip/games/simulation/sandbox-rs2/recipe.toml new file mode 100644 index 00000000..7465dd33 --- /dev/null +++ b/recipes/wip/games/simulation/sandbox-rs2/recipe.toml @@ -0,0 +1,5 @@ +#TODO ahash crate error +[source] +git = "https://github.com/JMS55/sandbox" +[build] +template = "cargo" diff --git a/recipes/wip/games/simulation/symbiants/recipe.toml b/recipes/wip/games/simulation/symbiants/recipe.toml new file mode 100644 index 00000000..e336e508 --- /dev/null +++ b/recipes/wip/games/simulation/symbiants/recipe.toml @@ -0,0 +1,5 @@ +#TODO the Bevy engine require rustc 1.76 or newer +[source] +git = "https://github.com/MeoMix/symbiants" +[build] +template = "cargo" diff --git a/recipes/wip/games/space/endless-sky/recipe.toml b/recipes/wip/games/space/endless-sky/recipe.toml new file mode 100644 index 00000000..de879817 --- /dev/null +++ b/recipes/wip/games/space/endless-sky/recipe.toml @@ -0,0 +1,17 @@ +#TODO not compiled or tested +# build instructions: https://github.com/endless-sky/endless-sky/blob/master/docs/readme-cmake.md#building-the-game +[source] +git = "https://github.com/endless-sky/endless-sky" +rev = "95e72950e1554392666fa41bb18c978868aa6611" +[build] +template = "cmake" +dependencies = [ + "sdl2", + "libpng", + "libjpeg", + "mesa", + "glew", + "openal", + "libmad", + "libuuid", +] diff --git a/recipes/wip/games/space/naev/recipe.toml b/recipes/wip/games/space/naev/recipe.toml new file mode 100644 index 00000000..994c2460 --- /dev/null +++ b/recipes/wip/games/space/naev/recipe.toml @@ -0,0 +1,18 @@ +#TODO not compiled or tested +# build instructions: https://github.com/naev/naev/wiki/Compiling-on-*nix +[source] +tar = "https://github.com/naev/naev/releases/download/v0.10.6/naev-0.10.6-source.tar.xz" +[build] +template = "meson" +dependencies = [ + "sdl2", + "sdl2-image", + "libpng", + "libxml2", + "libwebp", + "mesa", + "openal", + "openblas", + "freetype2", + "libvorbis", +] diff --git a/recipes/wip/games/space/osirion/recipe.toml b/recipes/wip/games/space/osirion/recipe.toml new file mode 100644 index 00000000..b8707c17 --- /dev/null +++ b/recipes/wip/games/space/osirion/recipe.toml @@ -0,0 +1,15 @@ +#TODO make dependencies work +# data files - http://osirion.org/files/osirion-0.2.8-data.zip +[source] +tar = "http://osirion.org/files/osirion-0.2.8-src.tar.bz2" +[build] +template = "configure" +dependencies = [ + "zlib", + "bullet-physics", + "libpng", + "libjpeg", + "sdl2", + "openal", + "libvorbis", +] diff --git a/recipes/wip/games/space/outfly/recipe.toml b/recipes/wip/games/space/outfly/recipe.toml new file mode 100644 index 00000000..a5bd5537 --- /dev/null +++ b/recipes/wip/games/space/outfly/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://codeberg.org/outfly/outfly" +[build] +template = "cargo" diff --git a/recipes/wip/games/space/rebels-in-the-sky/recipe.toml b/recipes/wip/games/space/rebels-in-the-sky/recipe.toml new file mode 100644 index 00000000..607a298a --- /dev/null +++ b/recipes/wip/games/space/rebels-in-the-sky/recipe.toml @@ -0,0 +1,5 @@ +#TODO async-io and rustix crate error +[source] +git = "https://github.com/ricott1/rebels-in-the-sky" +[build] +template = "cargo" diff --git a/recipes/wip/games/space/rust-belt/recipe.toml b/recipes/wip/games/space/rust-belt/recipe.toml new file mode 100644 index 00000000..37a10b5b --- /dev/null +++ b/recipes/wip/games/space/rust-belt/recipe.toml @@ -0,0 +1,9 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/johnthagen/rust-belt" +[build] +template = "cargo" +dependencies = [ + "sdl2", + "sdl2-mixer", +] diff --git a/recipes/wip/games/strategy/0ad/recipe.toml b/recipes/wip/games/strategy/0ad/recipe.toml new file mode 100644 index 00000000..dea0fc53 --- /dev/null +++ b/recipes/wip/games/strategy/0ad/recipe.toml @@ -0,0 +1,26 @@ +#TODO Missing script for a make build system, see https://trac.wildfiregames.com/wiki/BuildInstructions#Linux +#TODO The Atlas editor needs to be disabled with the build option "--disable-atlas" to avoid GTK3 dependency (WxWidgetsGTK) +#TODO Maybe needs to run update-workspaces.sh before +#TODO Require recipes for SpiderMonkey and libicu (Unicode) +[source] +tar = "https://releases.wildfiregames.com/0ad-0.0.26-alpha-unix-build.tar.xz" +[build] +template = "custom" +dependencies = [ + "boost", + "curl", + "libenet", + "libfmt", + "libgloox", + "libicu", + "libogg", + "libpng", + "libsodium", + "libvorbis", + "libxml2", + "miniupnpc", + "openal", + "sdl2", + "zlib", + "spidermonkey", +] diff --git a/recipes/wip/games/strategy/asmfish/recipe.toml b/recipes/wip/games/strategy/asmfish/recipe.toml new file mode 100644 index 00000000..514d29f0 --- /dev/null +++ b/recipes/wip/games/strategy/asmfish/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for building, see https://github.com/lantonov/asmFish#building +[source] +git = "https://github.com/lantonov/asmFish" +[build] +template = "custom" diff --git a/recipes/wip/games/strategy/balatro-tui/recipe.toml b/recipes/wip/games/strategy/balatro-tui/recipe.toml new file mode 100644 index 00000000..d90b81b9 --- /dev/null +++ b/recipes/wip/games/strategy/balatro-tui/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/Passeriform/BalatroTUI" +[build] +template = "custom" +script = """ +cookbook_cargo_packages balatro_tui +""" diff --git a/recipes/wip/games/strategy/castle-game/recipe.toml b/recipes/wip/games/strategy/castle-game/recipe.toml new file mode 100644 index 00000000..e24e8bd4 --- /dev/null +++ b/recipes/wip/games/strategy/castle-game/recipe.toml @@ -0,0 +1,5 @@ +#TODO outdated crates +[source] +git = "https://github.com/tversteeg/castle-game" +[build] +template = "cargo" diff --git a/recipes/wip/games/strategy/cell-graph-risk/recipe.toml b/recipes/wip/games/strategy/cell-graph-risk/recipe.toml new file mode 100644 index 00000000..1d2991ee --- /dev/null +++ b/recipes/wip/games/strategy/cell-graph-risk/recipe.toml @@ -0,0 +1,5 @@ +#TODO outdated libc crate +[source] +git = "https://github.com/PSteinhaus/Cell-Graph-Risk" +[build] +template = "cargo" diff --git a/recipes/wip/games/strategy/chess-engine/recipe.toml b/recipes/wip/games/strategy/chess-engine/recipe.toml new file mode 100644 index 00000000..1724e767 --- /dev/null +++ b/recipes/wip/games/strategy/chess-engine/recipe.toml @@ -0,0 +1,9 @@ +#TODO maybe wrong script +[source] +git = "https://github.com/adam-mcdaniel/chess-engine" +[build] +template = "custom" +script = """ +cookbook_cargo_packages chess-gui +cookbook_cargo_examples terminal +""" diff --git a/recipes/wip/games/strategy/chess-tui/recipe.toml b/recipes/wip/games/strategy/chess-tui/recipe.toml new file mode 100644 index 00000000..c0696678 --- /dev/null +++ b/recipes/wip/games/strategy/chess-tui/recipe.toml @@ -0,0 +1,5 @@ +#TODO promote +[source] +git = "https://github.com/thomas-mauran/chess-tui" +[build] +template = "cargo" diff --git a/recipes/wip/games/strategy/chessmd/recipe.toml b/recipes/wip/games/strategy/chessmd/recipe.toml new file mode 100644 index 00000000..70d51cc9 --- /dev/null +++ b/recipes/wip/games/strategy/chessmd/recipe.toml @@ -0,0 +1,9 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/ChessMD/ChessMD" +rev = "v1.0" +[build] +template = "cmake" +dependencies = [ + "qt6-base", +] diff --git a/recipes/wip/games/strategy/hammurabi/recipe.toml b/recipes/wip/games/strategy/hammurabi/recipe.toml new file mode 100644 index 00000000..079b89bb --- /dev/null +++ b/recipes/wip/games/strategy/hammurabi/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/stjepangolemac/hammurabi" +[build] +template = "cargo" diff --git a/recipes/wip/games/strategy/hnefatafl-copenhagen/recipe.toml b/recipes/wip/games/strategy/hnefatafl-copenhagen/recipe.toml new file mode 100644 index 00000000..9901c75f --- /dev/null +++ b/recipes/wip/games/strategy/hnefatafl-copenhagen/recipe.toml @@ -0,0 +1,31 @@ +# TODO: +# 1. The CJK and runes fonts don't load. +# 2. On a button press two characters are read in instead of one. +# 3. Backspace does not work. +# 4. The command line prompt prints 'deprecated: legacy path "time:4" used by /usr/games/hnefatafl-client'. +# 5. TcpStream.shutdown(): shutdown call failed: Os { code: 38, kind: Unsupported, message: "Function not implemented" } + +[source] +git = "https://github.com/dcampbell24/hnefatafl" + +[build] +template = "custom" +script = """ +"${COOKBOOK_CARGO}" build \ + --manifest-path "${COOKBOOK_SOURCE}/${PACKAGE_PATH}/Cargo.toml" \ + --example hnefatafl-client \ + --release \ + --no-default-features + +mkdir -pv "${COOKBOOK_STAGE}/usr/bin" +cp -v \ + "target/${TARGET}/release/examples/hnefatafl-client" \ + "${COOKBOOK_STAGE}/usr/bin/hnefatafl-client" + +mkdir -pv "${COOKBOOK_STAGE}"/usr/games +mkdir -pv "${COOKBOOK_STAGE}"/ui/apps +mkdir -pv "${COOKBOOK_STAGE}"/ui/icons/apps +cp -rv "${COOKBOOK_SOURCE}"/icons/king_256x256.png "${COOKBOOK_STAGE}"/ui/icons/apps/hnefatafl-king_256x256.png +cp -rv "${COOKBOOK_SOURCE}"/packages/redox/manifest "${COOKBOOK_STAGE}"/ui/apps/hnefatafl-client +mv "${COOKBOOK_STAGE}"/usr/bin/hnefatafl-client "${COOKBOOK_STAGE}"/usr/games/hnefatafl-client +""" diff --git a/recipes/wip/games/strategy/mazter/recipe.toml b/recipes/wip/games/strategy/mazter/recipe.toml new file mode 100644 index 00000000..89a18ebc --- /dev/null +++ b/recipes/wip/games/strategy/mazter/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/Canop/mazter" +[build] +template = "cargo" diff --git a/recipes/wip/games/strategy/minesweep-rs/recipe.toml b/recipes/wip/games/strategy/minesweep-rs/recipe.toml new file mode 100644 index 00000000..882a5c6e --- /dev/null +++ b/recipes/wip/games/strategy/minesweep-rs/recipe.toml @@ -0,0 +1,5 @@ +#TODO ratatui crate error +[source] +git = "https://github.com/cpcloud/minesweep-rs" +[build] +template = "cargo" diff --git a/recipes/wip/games/strategy/offline-chess-puzzles/recipe.toml b/recipes/wip/games/strategy/offline-chess-puzzles/recipe.toml new file mode 100644 index 00000000..48a9d0f1 --- /dev/null +++ b/recipes/wip/games/strategy/offline-chess-puzzles/recipe.toml @@ -0,0 +1,8 @@ +#TODO iced_winit crate error +[source] +git = "https://github.com/brianch/offline-chess-puzzles" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/games/strategy/rust-sudoku/recipe.toml b/recipes/wip/games/strategy/rust-sudoku/recipe.toml new file mode 100644 index 00000000..e0969677 --- /dev/null +++ b/recipes/wip/games/strategy/rust-sudoku/recipe.toml @@ -0,0 +1,5 @@ +#TODO glutin crate error +[source] +git = "https://github.com/xairy/rust-sudoku" +[build] +template = "cargo" diff --git a/recipes/wip/games/strategy/rustoku/recipe.toml b/recipes/wip/games/strategy/rustoku/recipe.toml new file mode 100644 index 00000000..6ec76700 --- /dev/null +++ b/recipes/wip/games/strategy/rustoku/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/huangsam/rustoku" +[build] +template = "custom" +script = """ +cookbook_cargo_packages rustoku-cli +""" diff --git a/recipes/wip/games/strategy/ship-of-harkinian/recipe.toml b/recipes/wip/games/strategy/ship-of-harkinian/recipe.toml new file mode 100644 index 00000000..027a6394 --- /dev/null +++ b/recipes/wip/games/strategy/ship-of-harkinian/recipe.toml @@ -0,0 +1,12 @@ +#TODO not compiled or tested +# build instructions: https://github.com/HarbourMasters/Shipwright/blob/develop/docs/BUILDING.md#linux +[source] +git = "https://github.com/HarbourMasters/Shipwright" +rev = "818addfdda660f6b4b54edd19636d6fd9d839f28" +[build] +template = "cmake" +dependencies = [ + "sdl2", + "libpng", + "glew", +] diff --git a/recipes/wip/games/strategy/stockfish/recipe.toml b/recipes/wip/games/strategy/stockfish/recipe.toml new file mode 100644 index 00000000..61fc0a4e --- /dev/null +++ b/recipes/wip/games/strategy/stockfish/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing script for "make", see https://disservin.github.io/stockfish-docs/pages/Compiling-from-source.html +[source] +git = "https://github.com/official-stockfish/Stockfish" +rev = "68e1e9b3811e16cad014b590d7443b9063b3eb52" +[build] +template = "custom" diff --git a/recipes/wip/games/strategy/tage/recipe.toml b/recipes/wip/games/strategy/tage/recipe.toml new file mode 100644 index 00000000..9beea3f9 --- /dev/null +++ b/recipes/wip/games/strategy/tage/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/jacopograndi/tage" +[build] +template = "cargo" diff --git a/recipes/wip/games/strategy/tetris-demo/recipe.toml b/recipes/wip/games/strategy/tetris-demo/recipe.toml new file mode 100644 index 00000000..53f30f38 --- /dev/null +++ b/recipes/wip/games/strategy/tetris-demo/recipe.toml @@ -0,0 +1,5 @@ +#TODO outdated libc crate +[source] +git = "https://github.com/da-x/tetris-demo" +[build] +template = "cargo" diff --git a/recipes/wip/games/strategy/tic-tac-toe-rs/recipe.toml b/recipes/wip/games/strategy/tic-tac-toe-rs/recipe.toml new file mode 100644 index 00000000..446d0e38 --- /dev/null +++ b/recipes/wip/games/strategy/tic-tac-toe-rs/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/thomas-mauran/tic-tac-toe" +[build] +template = "cargo" diff --git a/recipes/wip/games/strategy/warsow/recipe.toml b/recipes/wip/games/strategy/warsow/recipe.toml new file mode 100644 index 00000000..6b16cde8 --- /dev/null +++ b/recipes/wip/games/strategy/warsow/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# lacking build instructions +[source] +tar = "https://warsow.net/warsow_21_sdk.tar.gz" +[build] +template = "cmake" diff --git a/recipes/wip/games/syobonaction/01_redox.patch b/recipes/wip/games/syobonaction/01_redox.patch new file mode 100644 index 00000000..ad36cf73 --- /dev/null +++ b/recipes/wip/games/syobonaction/01_redox.patch @@ -0,0 +1,43 @@ +diff -rupNw source-original/DxLib.cpp source/DxLib.cpp +--- source-original/DxLib.cpp 2018-12-08 19:59:16.777579338 +0100 ++++ source/DxLib.cpp 2018-12-08 02:13:39.541585079 +0100 +@@ -24,7 +24,7 @@ int DxLib_Init() + return -1; + } + +- SDL_WM_SetCaption("Syobon Action (しょぼんのアクション)", ++ SDL_WM_SetCaption("Syobon Action", + NULL); + SDL_ShowCursor(SDL_DISABLE); + +diff -rupNw source-original/main.cpp source/main.cpp +--- source-original/main.cpp 2018-12-08 19:59:16.781579399 +0100 ++++ source/main.cpp 2018-12-08 18:11:33.716589712 +0100 +@@ -1,9 +1,11 @@ + #include "main.h" ++#include + + // プログラムは WinMain から始まります + //Changed to ansi c++ main() + int main(int argc, char *argv[]) + { ++ chdir("file:/share/syobonaction/"); + parseArgs(argc, argv); + if (DxLib_Init() == -1) + return 1; +diff -rupNw source-original/Makefile source/Makefile +--- source-original/Makefile 2018-12-08 19:59:16.777579338 +0100 ++++ source/Makefile 2018-12-08 01:32:40.319685337 +0100 +@@ -1,8 +1,8 @@ + SyobonAction:main.o loadg.o DxLib.o +- gcc main.o loadg.o DxLib.o -o SyobonAction `sdl-config --libs` -lSDL_gfx -lSDL_image -lSDL_mixer -lSDL_ttf ++ ${CXX} ${LDFLAGS} main.o loadg.o DxLib.o -o SyobonAction `${SDL_CONFIG} --libs` -lSDL_gfx -lSDL_image -lSDL_mixer -lpng -ljpeg -lz -lSDL -lSDL_ttf -lfreetype -lvorbisfile -lvorbis -logg + main.o:main.cpp +- gcc -c main.cpp ++ ${CXX} ${CPPFLAGS} `${SDL_CONFIG} --cflags` -c main.cpp + loadg.o:loadg.cpp +- gcc -c loadg.cpp ++ ${CXX} ${CPPFLAGS} `${SDL_CONFIG} --cflags` -c loadg.cpp + DxLib.o:DxLib.cpp +- gcc -c DxLib.cpp ++ ${CXX} ${CPPFLAGS} `${SDL_CONFIG} --cflags` -c DxLib.cpp diff --git a/recipes/wip/games/syobonaction/recipe.toml b/recipes/wip/games/syobonaction/recipe.toml new file mode 100644 index 00000000..576a9010 --- /dev/null +++ b/recipes/wip/games/syobonaction/recipe.toml @@ -0,0 +1,26 @@ +[source] +git = "https://github.com/angelXwind/OpenSyobonAction" +patches = [ + "01_redox.patch" +] + +[build] +template = "custom" +dependencies = [ + "sdl1-mixer", + "sdl1-image", + "sdl-gfx", + "sdl1-ttf", +] +script = """ +DYNAMIC_INIT +export LDFLAGS="$LDFLAGS -lorbital" +rsync -a --delete "${COOKBOOK_SOURCE}/" ./ +make +mkdir -pv "${COOKBOOK_STAGE}/usr/bin" +mkdir -pv "${COOKBOOK_STAGE}/usr/share/syobonaction" +cp -Rv ./SyobonAction "${COOKBOOK_STAGE}/usr/bin/syobonaction" +cp -Rv ./BGM "${COOKBOOK_STAGE}/usr/share/syobonaction" +cp -Rv ./res "${COOKBOOK_STAGE}/usr/share/syobonaction" +cp -Rv ./SE "${COOKBOOK_STAGE}/usr/share/syobonaction" +""" diff --git a/recipes/wip/games/tools/deutex/recipe.toml b/recipes/wip/games/tools/deutex/recipe.toml new file mode 100644 index 00000000..ff4f0bde --- /dev/null +++ b/recipes/wip/games/tools/deutex/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://github.com/Doom-Utils/deutex/releases/download/v5.2.3/deutex-5.2.3.tar.zst" +[build] +template = "configure" diff --git a/recipes/wip/games/tools/oxyromon/recipe.toml b/recipes/wip/games/tools/oxyromon/recipe.toml new file mode 100644 index 00000000..83d17aeb --- /dev/null +++ b/recipes/wip/games/tools/oxyromon/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/alucryd/oxyromon" +[build] +template = "cargo" diff --git a/recipes/wip/graphics/converters/inkdrop/recipe.toml b/recipes/wip/graphics/converters/inkdrop/recipe.toml new file mode 100644 index 00000000..1509b6f4 --- /dev/null +++ b/recipes/wip/graphics/converters/inkdrop/recipe.toml @@ -0,0 +1,8 @@ +#TODO libc crate error +[source] +git = "https://github.com/matze/inkdrop" +[build] +template = "custom" +script = """ +cookbook_cargo_packages inkdrop-cli gcode-converter +""" diff --git a/recipes/wip/graphics/converters/vtracer/recipe.toml b/recipes/wip/graphics/converters/vtracer/recipe.toml new file mode 100644 index 00000000..42d6ca59 --- /dev/null +++ b/recipes/wip/graphics/converters/vtracer/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/visioncortex/vtracer" +[build] +template = "custom" +script = """ +cookbook_cargo_packages vtracer +""" diff --git a/recipes/wip/graphics/editors/blender-lts/recipe.toml b/recipes/wip/graphics/editors/blender-lts/recipe.toml new file mode 100644 index 00000000..6c041438 --- /dev/null +++ b/recipes/wip/graphics/editors/blender-lts/recipe.toml @@ -0,0 +1,26 @@ +#TODO not compiled or tested +#TODO determine the minimum dependencies from cmake log +# build instructions: https://developer.blender.org/docs/handbook/building_blender/ +[source] +git = "https://projects.blender.org/blender/blender" +branch = "blender-v4.5-release" +[build] +template = "cmake" +# dependencies = [ +# "dbus", +# "libdecor", +# "libjpeg", +# "libpng", +# "freetype2", +# "fontconfig", +# "zstd", +# "bzip2", +# "xz", +# "sdl2", +# "libepoxy", +# "shaderc", +# "libxml2", +# "libharu", +# "mesa-x11", +# "libxkbcommon", +# ] diff --git a/recipes/wip/graphics/editors/blender/recipe.toml b/recipes/wip/graphics/editors/blender/recipe.toml new file mode 100644 index 00000000..1f47792b --- /dev/null +++ b/recipes/wip/graphics/editors/blender/recipe.toml @@ -0,0 +1,25 @@ +#TODO not compiled or tested +#TODO determine the minimum dependencies from cmake log +# build instructions: https://developer.blender.org/docs/handbook/building_blender/ +[source] +tar = "https://download.blender.org/source/blender-5.0.0.tar.xz" +[build] +template = "cmake" +# dependencies = [ +# "dbus", +# "libdecor", +# "libjpeg", +# "libpng", +# "freetype2", +# "fontconfig", +# "zstd", +# "bzip2", +# "xz", +# "sdl2", +# "libepoxy", +# "shaderc", +# "libxml2", +# "libharu", +# "mesa-x11", +# "libxkbcommon", +# ] diff --git a/recipes/wip/graphics/editors/opentoonz/recipe.toml b/recipes/wip/graphics/editors/opentoonz/recipe.toml new file mode 100644 index 00000000..32b9b08b --- /dev/null +++ b/recipes/wip/graphics/editors/opentoonz/recipe.toml @@ -0,0 +1,16 @@ +#TODO not compiled or tested +#TODO missing dependencies +# build instructions: https://github.com/opentoonz/opentoonz/blob/master/doc/how_to_build_linux.md +[source] +git = "https://github.com/opentoonz/opentoonz" +rev = "dd4cb36142ebf65a2aa74ff8575002863d3e17fc" +[build] +template = "cmake" +dependencies = [ + "boost", + "qt5-base", + "freetype2", + "libpng", + "libmypaint", + "opencv4", +] diff --git a/recipes/wip/graphics/editors/pencil2d/recipe.toml b/recipes/wip/graphics/editors/pencil2d/recipe.toml new file mode 100644 index 00000000..38d91b98 --- /dev/null +++ b/recipes/wip/graphics/editors/pencil2d/recipe.toml @@ -0,0 +1,12 @@ +#TODO missing script for qmake and gnu make +# build instructions - https://dev.pencil2d.org/build_linux.html +[source] +git = "https://github.com/pencil2d/pencil" +branch = "release/0.7.0" +[build] +template = "custom" +dependencies = [ + "qt6-base", + "qt6-multimedia", + "qt6-svg", +] diff --git a/recipes/wip/graphics/editors/texel/recipe.toml b/recipes/wip/graphics/editors/texel/recipe.toml new file mode 100644 index 00000000..ab2e14cd --- /dev/null +++ b/recipes/wip/graphics/editors/texel/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/almindor/texel" +[build] +template = "custom" +script = """ +cookbook_cargo --no-default-features --features ion +""" diff --git a/recipes/wip/graphics/other/appleseed/recipe.toml b/recipes/wip/graphics/other/appleseed/recipe.toml new file mode 100644 index 00000000..76def06b --- /dev/null +++ b/recipes/wip/graphics/other/appleseed/recipe.toml @@ -0,0 +1,12 @@ +#TODO not compiled or tested +# build instructions: https://github.com/appleseedhq/appleseed/wiki/Building-appleseed-on-Linux +[source] +git = "https://github.com/appleseedhq/appleseed" +rev = "015adb503af58cb80103e0c3ddeefc20d99d204f" +[build] +template = "cmake" +dependencies = [ + "zlib", + "qt5-base", + "libnsl", +] diff --git a/recipes/wip/graphics/other/c-ray/recipe.toml b/recipes/wip/graphics/other/c-ray/recipe.toml new file mode 100644 index 00000000..b89e7a02 --- /dev/null +++ b/recipes/wip/graphics/other/c-ray/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for "make", see https://github.com/vkoskiv/c-ray#installation +[source] +git = "https://github.com/vkoskiv/c-ray" +[build] +template = "custom" diff --git a/recipes/wip/graphics/other/cmark/recipe.toml b/recipes/wip/graphics/other/cmark/recipe.toml new file mode 100644 index 00000000..8b616f4a --- /dev/null +++ b/recipes/wip/graphics/other/cmark/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://github.com/commonmark/cmark#installing +[source] +git = "https://github.com/commonmark/cmark" +rev = "5ba25ff40eba44c811f79ab6a792baf945b8307c" +[build] +template = "cmake" diff --git a/recipes/wip/graphics/other/curvis/recipe.toml b/recipes/wip/graphics/other/curvis/recipe.toml new file mode 100644 index 00000000..a45c90a7 --- /dev/null +++ b/recipes/wip/graphics/other/curvis/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/fragarriss/CurVis" +[build] +template = "cargo" diff --git a/recipes/wip/graphics/other/darktable/recipe.toml b/recipes/wip/graphics/other/darktable/recipe.toml new file mode 100644 index 00000000..6427794c --- /dev/null +++ b/recipes/wip/graphics/other/darktable/recipe.toml @@ -0,0 +1,20 @@ +#TODO not compiled or tested +# build instructions: https://github.com/darktable-org/darktable#linux +# dependencies: https://github.com/darktable-org/darktable#dependencies +[source] +tar = "https://github.com/darktable-org/darktable/releases/download/release-4.8.0/darktable-4.8.0.tar.xz" +[build] +template = "cmake" +dependencies = [ + "gtk3", + "glib", + "sqlite3", + "gexiv2", + "liblensfun", + "liblcms", + "libpugixml", + "libavif", + "libheif", + "libwebp", + "libgphoto2", +] diff --git a/recipes/wip/graphics/other/derive-rs/recipe.toml b/recipes/wip/graphics/other/derive-rs/recipe.toml new file mode 100644 index 00000000..354a2f68 --- /dev/null +++ b/recipes/wip/graphics/other/derive-rs/recipe.toml @@ -0,0 +1,5 @@ +#TODO very outdated crates +[source] +git = "https://github.com/erik/derive.rs" +[build] +template = "cargo" diff --git a/recipes/wip/graphics/other/dify/recipe.toml b/recipes/wip/graphics/other/dify/recipe.toml new file mode 100644 index 00000000..4c782143 --- /dev/null +++ b/recipes/wip/graphics/other/dify/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/jihchi/dify" +[build] +template = "cargo" diff --git a/recipes/wip/graphics/other/dssim/recipe.toml b/recipes/wip/graphics/other/dssim/recipe.toml new file mode 100644 index 00000000..2a61ed07 --- /dev/null +++ b/recipes/wip/graphics/other/dssim/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/kornelski/dssim" +[build] +template = "cargo" diff --git a/recipes/wip/graphics/other/embree/recipe.toml b/recipes/wip/graphics/other/embree/recipe.toml new file mode 100644 index 00000000..d5a59203 --- /dev/null +++ b/recipes/wip/graphics/other/embree/recipe.toml @@ -0,0 +1,11 @@ +#TODO not compiled or tested +# build instructions: https://github.com/embree/embree#linux-and-macos +[source] +git = "https://github.com/embree/embree" +rev = "be0accfd0b246e2b03355b8ee7710a22c1b49240" +[build] +template = "cmake" +dependencies = [ + "glfw", + "onetbb", +] diff --git a/recipes/wip/graphics/other/flowbetween/recipe.toml b/recipes/wip/graphics/other/flowbetween/recipe.toml new file mode 100644 index 00000000..4f92bf38 --- /dev/null +++ b/recipes/wip/graphics/other/flowbetween/recipe.toml @@ -0,0 +1,11 @@ +#TODO maybe missing dependencies, see https://github.com/Logicalshift/flowbetween/blob/master/user_interfaces/gtk_ui/Cargo.toml#L11 +[source] +git = "https://github.com/Logicalshift/flowbetween" +[build] +template = "custom" +dependencies = [ + "gtk3", +] +script = """ +cookbook_cargo --features gtk +""" diff --git a/recipes/wip/graphics/other/gaffer/recipe.toml b/recipes/wip/graphics/other/gaffer/recipe.toml new file mode 100644 index 00000000..a4496f94 --- /dev/null +++ b/recipes/wip/graphics/other/gaffer/recipe.toml @@ -0,0 +1,28 @@ +#TODO missing script for SCons, see https://github.com/gafferHQ/gaffer#building +#TODO missing dependencies, see https://github.com/GafferHQ/dependencies +[source] +git = "https://github.com/GafferHQ/gaffer" +rev = "9fe2e9c9025447913872d77c138a03eabcfa5df2" +[build] +template = "custom" +dependencies = [ + "inkscape", + "boost", + "embree", + "libfmt", + "freetype2", + "glew", + "imath", + "llvm18", + "lz4", + "libffi", + "libjpeg", + "libpng", + "libtiff", + "openexr", + "openimageio", + "openssl1", + "onetbb", + "zlib", + "qt5-full", +] diff --git a/recipes/wip/graphics/other/glou/recipe.toml b/recipes/wip/graphics/other/glou/recipe.toml new file mode 100644 index 00000000..578130de --- /dev/null +++ b/recipes/wip/graphics/other/glou/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/Nurrl/glou" +[build] +template = "cargo" diff --git a/recipes/wip/graphics/other/gmic-qt/recipe.toml b/recipes/wip/graphics/other/gmic-qt/recipe.toml new file mode 100644 index 00000000..65567e89 --- /dev/null +++ b/recipes/wip/graphics/other/gmic-qt/recipe.toml @@ -0,0 +1,7 @@ +#TODO missing script for building, see https://github.com/c-koi/gmic-qt#build-instructions +#TODO probably missing dependencies +[source] +git = "https://github.com/c-koi/gmic-qt" +rev = "b616829854c0e482d63b9fe8eca48e73d7cd3bd8" +[build] +template = "custom" diff --git a/recipes/wip/graphics/other/gmic/recipe.toml b/recipes/wip/graphics/other/gmic/recipe.toml new file mode 100644 index 00000000..1c751bb5 --- /dev/null +++ b/recipes/wip/graphics/other/gmic/recipe.toml @@ -0,0 +1,11 @@ +#TODO missing script for "make", see https://github.com/GreycLab/gmic-community/wiki/Building-from-Source +[source] +tar = "https://gmic.eu/files/source/gmic_3.3.2.tar.gz" +[build] +template = "custom" +dependencies = [ + "fftw", + "libpng", + "libjpeg", + "zlib", +] diff --git a/recipes/wip/graphics/other/graphviz/recipe.toml b/recipes/wip/graphics/other/graphviz/recipe.toml new file mode 100644 index 00000000..ca032bd7 --- /dev/null +++ b/recipes/wip/graphics/other/graphviz/recipe.toml @@ -0,0 +1,16 @@ +#TODO Not compiled or tested +#TODO customization - https://graphviz.org/download/source/#dependencies +[source] +tar = "https://gitlab.com/api/v4/projects/4207231/packages/generic/graphviz-releases/9.0.0/graphviz-9.0.0.tar.xz" +[build] +template = "configure" +dependencies = [ + "cairo", + "expat", + "freetype2", + "fontconfig", + "glib", + "libpng", + "pango", + "zlib", +] diff --git a/recipes/wip/graphics/other/halo/recipe.toml b/recipes/wip/graphics/other/halo/recipe.toml new file mode 100644 index 00000000..ebdc1587 --- /dev/null +++ b/recipes/wip/graphics/other/halo/recipe.toml @@ -0,0 +1,5 @@ +#TODO ahash crate error +[source] +git = "https://github.com/bungoboingo/halo" +[build] +template = "cargo" diff --git a/recipes/wip/graphics/other/hdr10plus-tool/recipe.toml b/recipes/wip/graphics/other/hdr10plus-tool/recipe.toml new file mode 100644 index 00000000..b0d08f3c --- /dev/null +++ b/recipes/wip/graphics/other/hdr10plus-tool/recipe.toml @@ -0,0 +1,8 @@ +#TODO yeslogic-fontconfig-sys crate error +[source] +git = "https://github.com/quietvoid/hdr10plus_tool" +[build] +template = "cargo" +dependencies = [ + "fontconfig", +] diff --git a/recipes/wip/graphics/other/image-sieve/recipe.toml b/recipes/wip/graphics/other/image-sieve/recipe.toml new file mode 100644 index 00000000..636ce1ad --- /dev/null +++ b/recipes/wip/graphics/other/image-sieve/recipe.toml @@ -0,0 +1,5 @@ +#TODO glutin crate error +[source] +git = "https://github.com/Futsch1/image-sieve" +[build] +template = "cargo" diff --git a/recipes/wip/graphics/other/incompact3d/recipe.toml b/recipes/wip/graphics/other/incompact3d/recipe.toml new file mode 100644 index 00000000..fed37f9e --- /dev/null +++ b/recipes/wip/graphics/other/incompact3d/recipe.toml @@ -0,0 +1,7 @@ +#TODO missing script for "make", see https://github.com/xcompact3d/Incompact3d#source-download-and-compilation +#TODO probably missing dependencies +[source] +git = "https://github.com/xcompact3d/Incompact3d" +rev = "2546f404cf3bbf78bc745d6133173c37e46c82df" +[build] +template = "custom" diff --git a/recipes/wip/graphics/other/kantig/recipe.toml b/recipes/wip/graphics/other/kantig/recipe.toml new file mode 100644 index 00000000..b3700a09 --- /dev/null +++ b/recipes/wip/graphics/other/kantig/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/DenSASoftware/kantig" +[build] +template = "cargo" diff --git a/recipes/wip/graphics/other/lpl/recipe.toml b/recipes/wip/graphics/other/lpl/recipe.toml new file mode 100644 index 00000000..5362bd10 --- /dev/null +++ b/recipes/wip/graphics/other/lpl/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/SOF3/lpl" +[build] +template = "cargo" diff --git a/recipes/wip/graphics/other/luxcorerender/recipe.toml b/recipes/wip/graphics/other/luxcorerender/recipe.toml new file mode 100644 index 00000000..34ef517e --- /dev/null +++ b/recipes/wip/graphics/other/luxcorerender/recipe.toml @@ -0,0 +1,18 @@ +#TODO not compiled or tested +# build instructions: https://wiki.luxcorerender.org/Compiling_LuxCore +#TODO probably missing dependencies +[source] +git = "https://github.com/LuxCoreRender/LuxCore" +rev = "c8f10e9ddf5171fa705782a3da3f48123f96a4cb" +[build] +template = "cmake" +dependencies = [ + "bzip2", + "libtiff", + "libpng", + "gtk3", + "boost", + "mesa", + "openimageio", + "openexr", +] diff --git a/recipes/wip/graphics/other/matugen/recipe.toml b/recipes/wip/graphics/other/matugen/recipe.toml new file mode 100644 index 00000000..7c3374d4 --- /dev/null +++ b/recipes/wip/graphics/other/matugen/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/InioX/matugen" +[build] +template = "cargo" diff --git a/recipes/wip/graphics/other/naga/recipe.toml b/recipes/wip/graphics/other/naga/recipe.toml new file mode 100644 index 00000000..d0ab4162 --- /dev/null +++ b/recipes/wip/graphics/other/naga/recipe.toml @@ -0,0 +1,9 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/gfx-rs/wgpu" +[build] +template = "custom" +script = """ +cookbook_cargo_packages naga-cli +mv "${COOKBOOK_STAGE}/usr/bin/naga_naga-cli" "${COOKBOOK_STAGE}/usr/bin/naga" +""" diff --git a/recipes/wip/graphics/other/ocrs/recipe.toml b/recipes/wip/graphics/other/ocrs/recipe.toml new file mode 100644 index 00000000..ec623d78 --- /dev/null +++ b/recipes/wip/graphics/other/ocrs/recipe.toml @@ -0,0 +1,8 @@ +#TODO add a command to move the executable to a propeer folder +[source] +git = "https://github.com/robertknight/ocrs" +[build] +template = "custom" +script = """ +cookbook_cargo_packages ocrs-cli +""" diff --git a/recipes/wip/graphics/other/oculante/recipe.toml b/recipes/wip/graphics/other/oculante/recipe.toml new file mode 100644 index 00000000..7df3c88f --- /dev/null +++ b/recipes/wip/graphics/other/oculante/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/woelper/oculante" +[build] +template = "cargo" +dependencies = [ + "gtk3", + "libxcb", + "libalsa", +] diff --git a/recipes/wip/graphics/other/openscad/recipe.toml b/recipes/wip/graphics/other/openscad/recipe.toml new file mode 100644 index 00000000..c3c469ff --- /dev/null +++ b/recipes/wip/graphics/other/openscad/recipe.toml @@ -0,0 +1,17 @@ +#TODO missing script for building, see https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Building_on_Linux/UNIX#Build_the_OpenSCAD_binary +#TODO missing dependencies - https://github.com/openscad/openscad/#prerequisites +[source] +tar = "https://files.openscad.org/openscad-2021.01.src.tar.gz" +[build] +template = "custom" +dependencies = [ + "qt5-base", + "libgmp", + "libmpfr", + "boost", + "glew", + "glib", + "fontconfig", + "freetype2", + "harfbuzz", +] diff --git a/recipes/wip/graphics/other/ospray-studio/recipe.toml b/recipes/wip/graphics/other/ospray-studio/recipe.toml new file mode 100644 index 00000000..542e8cc3 --- /dev/null +++ b/recipes/wip/graphics/other/ospray-studio/recipe.toml @@ -0,0 +1,15 @@ +#TODO not compiled or tested +# build instructions: https://github.com/ospray/ospray_studio#standard-cmake-build +[source] +git = "https://github.com/ospray/ospray_studio" +rev = "d2c83a67c841f1329f47cf9648a56b3dacbcdcaa" +[build] +template = "cmake" +dependencies = [ + "ospray", + "onetbb", + "librkcommon", + "mesa", + "glfw", + "open-image-denoise", +] diff --git a/recipes/wip/graphics/other/ospray/recipe.toml b/recipes/wip/graphics/other/ospray/recipe.toml new file mode 100644 index 00000000..4470753e --- /dev/null +++ b/recipes/wip/graphics/other/ospray/recipe.toml @@ -0,0 +1,15 @@ +#TODO not compiled or tested +# build instructions: https://github.com/ospray/OSPRay#building-and-finding-ospray +[source] +git = "https://github.com/ospray/OSPRay" +rev = "66fa8108485a8a92ff31ad2e06081bbaf391bc26" +[build] +template = "cmake" +dependencies = [ + "librkcommon", + "embree", + "ispc", + "onetbb", + "openvkl", + "open-image-denoise", +] diff --git a/recipes/wip/graphics/other/oxipng/recipe.toml b/recipes/wip/graphics/other/oxipng/recipe.toml new file mode 100644 index 00000000..f5c8ba61 --- /dev/null +++ b/recipes/wip/graphics/other/oxipng/recipe.toml @@ -0,0 +1,5 @@ +#TODO working but don't exit +[source] +git = "https://github.com/shssoichiro/oxipng" +[build] +template = "cargo" diff --git a/recipes/wip/graphics/other/paraview-data/recipe.toml b/recipes/wip/graphics/other/paraview-data/recipe.toml new file mode 100644 index 00000000..685141e2 --- /dev/null +++ b/recipes/wip/graphics/other/paraview-data/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for installation, lacking instructions +[source] +tar = "https://www.paraview.org/paraview-downloads/download.php?submit=Download&version=v5.11&type=data&os=Sources&downloadFile=ParaViewTestingDataFiles-v5.11.2.tar.xz" +[build] +template = "custom" diff --git a/recipes/wip/graphics/other/paraview/recipe.toml b/recipes/wip/graphics/other/paraview/recipe.toml new file mode 100644 index 00000000..3209ea4c --- /dev/null +++ b/recipes/wip/graphics/other/paraview/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://kitware.github.io/paraviewweb/docs/configure_and_build_pvweb.html +# build instructions (if the above doesn't work) - https://github.com/Kitware/ParaView/blob/master/Documentation/dev/build.md +[source] +tar = "https://www.paraview.org/paraview-downloads/download.php?submit=Download&version=v5.11&type=source&os=Sources&downloadFile=ParaView-v5.11.2.tar.xz" +[build] +template = "cmake" diff --git a/recipes/wip/graphics/other/pix-image-viewer/recipe.toml b/recipes/wip/graphics/other/pix-image-viewer/recipe.toml new file mode 100644 index 00000000..36fcd779 --- /dev/null +++ b/recipes/wip/graphics/other/pix-image-viewer/recipe.toml @@ -0,0 +1,5 @@ +#TODO proc-macro2 crate error +[source] +git = "https://github.com/google/pix-image-viewer" +[build] +template = "cargo" diff --git a/recipes/wip/graphics/other/pixsort/recipe.toml b/recipes/wip/graphics/other/pixsort/recipe.toml new file mode 100644 index 00000000..45e2998d --- /dev/null +++ b/recipes/wip/graphics/other/pixsort/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/1jz/pixsort" +[build] +template = "cargo" diff --git a/recipes/wip/graphics/other/rascii/recipe.toml b/recipes/wip/graphics/other/rascii/recipe.toml new file mode 100644 index 00000000..2eeb5a11 --- /dev/null +++ b/recipes/wip/graphics/other/rascii/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/orhnk/RASCII" +[build] +template = "cargo" diff --git a/recipes/wip/graphics/other/rawtherapee/recipe.toml b/recipes/wip/graphics/other/rawtherapee/recipe.toml new file mode 100644 index 00000000..87c6b27c --- /dev/null +++ b/recipes/wip/graphics/other/rawtherapee/recipe.toml @@ -0,0 +1,22 @@ +#TODO not compiled or tested +# build instructions: https://rawpedia.rawtherapee.com/Linux#Compile_RawTherapee +#TODO missing dependencies, see https://rawpedia.rawtherapee.com/Linux#Dependencies +[source] +tar = "https://rawtherapee.com/shared/source/rawtherapee-5.9.tar.xz" +[build] +template = "cmake" +dependencies = [ + "gexiv2", + "expat", + "fftw", + "glib", + "gtk3", + "gtk3mm", + "libjpeg", + "liblcms", + "libpng", + "librsvg", + "libsigc++", + "libtiff", + "zlib", +] diff --git a/recipes/wip/graphics/other/reve/recipe.toml b/recipes/wip/graphics/other/reve/recipe.toml new file mode 100644 index 00000000..4bf45de0 --- /dev/null +++ b/recipes/wip/graphics/other/reve/recipe.toml @@ -0,0 +1,8 @@ +#TODO clearscreen crate error (after cargo update) +[source] +git = "https://github.com/ONdraid/reve" +[build] +template = "custom" +script = """ +cookbook_cargo_packages reve-cli +""" diff --git a/recipes/wip/graphics/other/rimage/recipe.toml b/recipes/wip/graphics/other/rimage/recipe.toml new file mode 100644 index 00000000..34b0f135 --- /dev/null +++ b/recipes/wip/graphics/other/rimage/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/SalOne22/rimage" +[build] +template = "cargo" diff --git a/recipes/wip/graphics/other/satty/recipe.toml b/recipes/wip/graphics/other/satty/recipe.toml new file mode 100644 index 00000000..c28c9fe4 --- /dev/null +++ b/recipes/wip/graphics/other/satty/recipe.toml @@ -0,0 +1,20 @@ +#TODO make gtk4 work +[source] +git = "https://github.com/gabm/Satty" +[build] +template = "custom" +dependencies = [ + "gtk4", + "libadwaita", + "cairo", + "glib", + "pango", + "gdk-pixbuf", +] +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/applications +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/icons/hicolor/scalable/apps +cp -rv "${COOKBOOK_SOURCE}"/satty.desktop "${COOKBOOK_STAGE}"/usr/share/applications +cp -rv "${COOKBOOK_SOURCE}"/assets/satty.svg "${COOKBOOK_STAGE}"/usr/share/icons/hicolor/scalable/apps +cookbook_cargo_packages satty +""" diff --git a/recipes/wip/graphics/other/shadergarden/recipe.toml b/recipes/wip/graphics/other/shadergarden/recipe.toml new file mode 100644 index 00000000..e626a652 --- /dev/null +++ b/recipes/wip/graphics/other/shadergarden/recipe.toml @@ -0,0 +1,8 @@ +#TODO Not compiled or tested +[source] +git = "https://github.com/tonarino/shadergarden" +[build] +template = "cargo" +dependencies = [ + "ffmpeg6", +] diff --git a/recipes/wip/graphics/other/simp/recipe.toml b/recipes/wip/graphics/other/simp/recipe.toml new file mode 100644 index 00000000..4e088954 --- /dev/null +++ b/recipes/wip/graphics/other/simp/recipe.toml @@ -0,0 +1,5 @@ +#TODO wayland-backend crate error +[source] +git = "https://github.com/Kl4rry/simp" +[build] +template = "cargo" diff --git a/recipes/wip/graphics/other/smag/recipe.toml b/recipes/wip/graphics/other/smag/recipe.toml new file mode 100644 index 00000000..3ae1702c --- /dev/null +++ b/recipes/wip/graphics/other/smag/recipe.toml @@ -0,0 +1,5 @@ +#TODO outdated redox_syscall crate (after cargo update) +[source] +git = "https://github.com/aantn/smag" +[build] +template = "cargo" diff --git a/recipes/wip/graphics/other/toybrot/recipe.toml b/recipes/wip/graphics/other/toybrot/recipe.toml new file mode 100644 index 00000000..29594f37 --- /dev/null +++ b/recipes/wip/graphics/other/toybrot/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.com/VileLasagna/toyBrot#building-toybrot +[source] +git = "https://gitlab.com/VileLasagna/toyBrot" +[build] +template = "cmake" +dependencies = [ + "sdl2", + "libpng", +] diff --git a/recipes/wip/graphics/other/tungsten-renderer/recipe.toml b/recipes/wip/graphics/other/tungsten-renderer/recipe.toml new file mode 100644 index 00000000..3ad8d162 --- /dev/null +++ b/recipes/wip/graphics/other/tungsten-renderer/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://github.com/tunabrain/tungsten#compilation +[source] +git = "https://github.com/tunabrain/tungsten" +[build] +template = "cmake" diff --git a/recipes/wip/graphics/other/viu/recipe.toml b/recipes/wip/graphics/other/viu/recipe.toml new file mode 100644 index 00000000..710d95c9 --- /dev/null +++ b/recipes/wip/graphics/other/viu/recipe.toml @@ -0,0 +1,5 @@ +#TODO working but don't exit +[source] +git = "https://github.com/atanunq/viu" +[build] +template = "cargo" diff --git a/recipes/wip/graphics/other/vulkan-tools/recipe.toml b/recipes/wip/graphics/other/vulkan-tools/recipe.toml new file mode 100644 index 00000000..d6b879a4 --- /dev/null +++ b/recipes/wip/graphics/other/vulkan-tools/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +# build instructions: https://github.com/KhronosGroup/Vulkan-Tools/blob/main/BUILD.md +[source] +git = "https://github.com/KhronosGroup/Vulkan-Tools" +rev = "7e75f4d389799129b79f90d1401f15f511796dbd" +[build] +template = "cmake" +cmakeflags = [ + "-DUPDATE_DEPS=ON" +] diff --git a/recipes/wip/graphics/other/watch-stl/recipe.toml b/recipes/wip/graphics/other/watch-stl/recipe.toml new file mode 100644 index 00000000..d68c738e --- /dev/null +++ b/recipes/wip/graphics/other/watch-stl/recipe.toml @@ -0,0 +1,5 @@ +#TODO update the winit version +[source] +git = "https://github.com/bddap/watch-stl-rust" +[build] +template = "cargo" diff --git a/recipes/wip/graphics/shaders/glsl-viewer/recipe.toml b/recipes/wip/graphics/shaders/glsl-viewer/recipe.toml new file mode 100644 index 00000000..fad66faa --- /dev/null +++ b/recipes/wip/graphics/shaders/glsl-viewer/recipe.toml @@ -0,0 +1,18 @@ +#TODO not compiled or tested +# build instructions: https://github.com/patriciogonzalezvivo/glslViewer/wiki/Compile-on-linux#3-compile +[source] +git = "https://github.com/patriciogonzalezvivo/glslViewer" +rev = "7eb6254cb4cedf03f1c78653f90905fe0c3b48fb" +[build] +template = "custom" +dependencies = [ + "mesa-glu", + "ncurses", + "ncursesw", + "ffmpeg6", + "glfw3", +] +script = """ +export CPPFLAGS="-I${COOKBOOK_SYSROOT}/include/ncurses" +cookbook_cmake +""" diff --git a/recipes/wip/graphics/shaders/glslang/recipe.toml b/recipes/wip/graphics/shaders/glslang/recipe.toml new file mode 100644 index 00000000..64984516 --- /dev/null +++ b/recipes/wip/graphics/shaders/glslang/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +# build instructions: https://github.com/KhronosGroup/glslang#building-cmake +[source] +git = "https://github.com/KhronosGroup/glslang" +rev = "16.0.0" +shallow_clone = true +[build] +template = "cmake" diff --git a/recipes/wip/graphics/shaders/shadertoy-rs/recipe.toml b/recipes/wip/graphics/shaders/shadertoy-rs/recipe.toml new file mode 100644 index 00000000..ac5c2407 --- /dev/null +++ b/recipes/wip/graphics/shaders/shadertoy-rs/recipe.toml @@ -0,0 +1,5 @@ +#TODO outdated crates +[source] +git = "https://github.com/fmenozzi/shadertoy-rs" +[build] +template = "cargo" diff --git a/recipes/wip/graphics/shaders/vibe/recipe.toml b/recipes/wip/graphics/shaders/vibe/recipe.toml new file mode 100644 index 00000000..1b32e274 --- /dev/null +++ b/recipes/wip/graphics/shaders/vibe/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/TornaxO7/vibe" +[build] +template = "cargo" +dependencies = [ + "libxkbcommon", + "libwayland", + "libalsa", +] diff --git a/recipes/wip/graphics/terminal/3d-terminal-renderer/recipe.toml b/recipes/wip/graphics/terminal/3d-terminal-renderer/recipe.toml new file mode 100644 index 00000000..7369624a --- /dev/null +++ b/recipes/wip/graphics/terminal/3d-terminal-renderer/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/ryanweideman/3d-terminal-renderer" +[build] +template = "cargo" diff --git a/recipes/wip/graphics/terminal/aarty/recipe.toml b/recipes/wip/graphics/terminal/aarty/recipe.toml new file mode 100644 index 00000000..d1496dfa --- /dev/null +++ b/recipes/wip/graphics/terminal/aarty/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/0x61nas/aarty" +[build] +template = "cargo" diff --git a/recipes/wip/graphics/terminal/ascii-image/recipe.toml b/recipes/wip/graphics/terminal/ascii-image/recipe.toml new file mode 100644 index 00000000..b1c70d4d --- /dev/null +++ b/recipes/wip/graphics/terminal/ascii-image/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/kpberry/image-to-ascii" +[build] +template = "cargo" diff --git a/recipes/wip/graphics/terminal/blockpaint/recipe.toml b/recipes/wip/graphics/terminal/blockpaint/recipe.toml new file mode 100644 index 00000000..a6a611ad --- /dev/null +++ b/recipes/wip/graphics/terminal/blockpaint/recipe.toml @@ -0,0 +1,5 @@ +#TODO don't fetch private submodule +[source] +git = "https://github.com/wooster0/blockpaint" +[build] +template = "cargo" diff --git a/recipes/wip/graphics/terminal/display3d/recipe.toml b/recipes/wip/graphics/terminal/display3d/recipe.toml new file mode 100644 index 00000000..ea99b3cf --- /dev/null +++ b/recipes/wip/graphics/terminal/display3d/recipe.toml @@ -0,0 +1,10 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/redpenguinyt/display3d" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/display3d +cp -rv "${COOKBOOK_SOURCE}"/resources/* "${COOKBOOK_STAGE}"/usr/share/display3d +cookbook_cargo +""" diff --git a/recipes/wip/graphics/terminal/img2text/recipe.toml b/recipes/wip/graphics/terminal/img2text/recipe.toml new file mode 100644 index 00000000..7463a88d --- /dev/null +++ b/recipes/wip/graphics/terminal/img2text/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/yvt/img2text" +[build] +template = "cargo" diff --git a/recipes/wip/graphics/terminal/kakikun/recipe.toml b/recipes/wip/graphics/terminal/kakikun/recipe.toml new file mode 100644 index 00000000..006fa98e --- /dev/null +++ b/recipes/wip/graphics/terminal/kakikun/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/file-acomplaint/kakikun" +[build] +template = "cargo" diff --git a/recipes/wip/graphics/terminal/sloth/recipe.toml b/recipes/wip/graphics/terminal/sloth/recipe.toml new file mode 100644 index 00000000..e356c413 --- /dev/null +++ b/recipes/wip/graphics/terminal/sloth/recipe.toml @@ -0,0 +1,6 @@ +#TODO compilation error +[source] +git = "https://github.com/ecumene/rust-sloth" +script = "rm Cargo.lock" +[build] +template = "cargo" diff --git a/recipes/wip/graphics/terminal/tapciify/recipe.toml b/recipes/wip/graphics/terminal/tapciify/recipe.toml new file mode 100644 index 00000000..a459d38b --- /dev/null +++ b/recipes/wip/graphics/terminal/tapciify/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/tapnisu/tapciify" +[build] +template = "cargo" diff --git a/recipes/wip/graphics/viewers/exhibit/recipe.toml b/recipes/wip/graphics/viewers/exhibit/recipe.toml new file mode 100644 index 00000000..9bdf621e --- /dev/null +++ b/recipes/wip/graphics/viewers/exhibit/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/Nokse22/Exhibit" +rev = "v1.5.1" +[build] +template = "meson" diff --git a/recipes/wip/graphics/vr/alvr/recipe.toml b/recipes/wip/graphics/vr/alvr/recipe.toml new file mode 100644 index 00000000..857198aa --- /dev/null +++ b/recipes/wip/graphics/vr/alvr/recipe.toml @@ -0,0 +1,18 @@ +#TODO missing script for cargo-xtask, see: https://github.com/alvr-org/ALVR/wiki/Building-From-Source +#TODO probably missing dependencies, see: https://github.com/alvr-org/ALVR/wiki/Building-From-Source#streamer-building +[source] +git = "https://github.com/alvr-org/ALVR" +[build] +template = "custom" +dependencies = [ + "openssl1", + "gtk3", + "libvulkan", + "libunwind", + "x264", + "x265", + "libxcb", + "libxkbcommon", + "libva", + "pipewire", +] diff --git a/recipes/wip/gui/gpcl/recipe.toml b/recipes/wip/gui/gpcl/recipe.toml new file mode 100644 index 00000000..694a4b80 --- /dev/null +++ b/recipes/wip/gui/gpcl/recipe.toml @@ -0,0 +1,5 @@ +#TODO wayland-backend crate error +[source] +git = "https://github.com/dngulin/gpcl" +[build] +template = "cargo" diff --git a/recipes/wip/gui/ordinary/recipe.toml b/recipes/wip/gui/ordinary/recipe.toml new file mode 100644 index 00000000..7d2c19b4 --- /dev/null +++ b/recipes/wip/gui/ordinary/recipe.toml @@ -0,0 +1,8 @@ +#TODO update async-io and rustix +[source] +git = "https://gitlab.com/floers/ordinary" +[build] +template = "custom" +script = """ +cookbook_cargo_packages ordinary +""" diff --git a/recipes/wip/gui/slop/recipe.toml b/recipes/wip/gui/slop/recipe.toml new file mode 100644 index 00000000..02bc370d --- /dev/null +++ b/recipes/wip/gui/slop/recipe.toml @@ -0,0 +1,11 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/naelstrof/slop" +rev = "v7.7" +[build] +template = "cmake" +dependencies = [ + "libxext", + "glew", + "libglm", +] diff --git a/recipes/wip/icons/adwaita-icon-theme/recipe.toml b/recipes/wip/icons/adwaita-icon-theme/recipe.toml new file mode 100644 index 00000000..ce90ad69 --- /dev/null +++ b/recipes/wip/icons/adwaita-icon-theme/recipe.toml @@ -0,0 +1,7 @@ +[source] +tar = "https://download.gnome.org/sources/adwaita-icon-theme/49/adwaita-icon-theme-49.0.tar.xz" +blake3 = "757eedf680c4ae564d887dd9eccfeab2d4101e0bdfdb10288a072ba4530fb0e5" +patches = ["redox.patch"] + +[build] +template = "meson" diff --git a/recipes/wip/icons/adwaita-icon-theme/redox.patch b/recipes/wip/icons/adwaita-icon-theme/redox.patch new file mode 100644 index 00000000..8b644fd8 --- /dev/null +++ b/recipes/wip/icons/adwaita-icon-theme/redox.patch @@ -0,0 +1,29 @@ +diff -ruwN source-old/meson.build source/meson.build +--- source-old/meson.build 2025-09-12 05:48:02.000000000 -0600 ++++ source/meson.build 2025-11-13 12:05:28.819996707 -0700 +@@ -90,14 +90,14 @@ + endforeach + endif + +-gtk_update_icon_cache = find_program( +- 'gtk4-update-icon-cache', +- 'gtk-update-icon-cache', +- required : true, +-) +-meson.add_install_script( +- gtk_update_icon_cache, +- '-qtf', +- get_option('prefix') / adwaita_dir, +- skip_if_destdir: true, +-) ++#gtk_update_icon_cache = find_program( ++# 'gtk4-update-icon-cache', ++# 'gtk-update-icon-cache', ++# required : true, ++#) ++#meson.add_install_script( ++# gtk_update_icon_cache, ++# '-qtf', ++# get_option('prefix') / adwaita_dir, ++# skip_if_destdir: true, ++#) diff --git a/recipes/wip/icons/breeze-icons/recipe.toml b/recipes/wip/icons/breeze-icons/recipe.toml new file mode 100644 index 00000000..2c1b4d96 --- /dev/null +++ b/recipes/wip/icons/breeze-icons/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/breeze-icons-5.112.0.tar.xz" +[build] +template = "cmake" diff --git a/recipes/wip/image/converters/dipc/recipe.toml b/recipes/wip/image/converters/dipc/recipe.toml new file mode 100644 index 00000000..a4bdfb61 --- /dev/null +++ b/recipes/wip/image/converters/dipc/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/doprz/dipc" +[build] +template = "cargo" diff --git a/recipes/wip/image/editors/ascii-draw/recipe.toml b/recipes/wip/image/editors/ascii-draw/recipe.toml new file mode 100644 index 00000000..f1443237 --- /dev/null +++ b/recipes/wip/image/editors/ascii-draw/recipe.toml @@ -0,0 +1,11 @@ +#TODO not compiled or tested +# probably missing dependencies +[source] +git = "https://github.com/Nokse22/ascii-draw" +rev = "v1.1.0" +[build] +template = "meson" +dependencies = [ + "gtk4", + "libadwaita", +] diff --git a/recipes/wip/image/editors/drawing/recipe.toml b/recipes/wip/image/editors/drawing/recipe.toml new file mode 100644 index 00000000..77a0e5c4 --- /dev/null +++ b/recipes/wip/image/editors/drawing/recipe.toml @@ -0,0 +1,13 @@ +#TODO not compiled or tested +#TODO determine minimum dependencies from meson log +# build instructions: https://github.com/maoschanz/drawing/blob/master/CONTRIBUTING.md#install-from-source-code +# dependencies: https://github.com/maoschanz/drawing/blob/master/CONTRIBUTING.md#dependencies +[source] +git = "https://github.com/maoschanz/drawing" +rev = "1.0.2" +[build] +template = "meson" +#dependencies = [ +# "gtk3", +# "cairo", +#] diff --git a/recipes/wip/image/editors/gimp/recipe.toml b/recipes/wip/image/editors/gimp/recipe.toml new file mode 100644 index 00000000..7ce8bee4 --- /dev/null +++ b/recipes/wip/image/editors/gimp/recipe.toml @@ -0,0 +1,36 @@ +#TODO not compiled or tested +#TODO discover minimum dependencies from autotools log +# build instructions: https://developer.gimp.org/core/setup/build/3.0/INSTALL +# all build options: https://gitlab.gnome.org/GNOME/gimp/-/blob/master/meson_options.txt?ref_type=heads +[source] +tar = "https://download.gimp.org/gimp/v3.0/gimp-3.0.6.tar.xz" +[build] +template = "meson" +mesonflags = [ + "-Dcheck-update=no", + "-Dlibbacktrace=false", + "-Dlibunwind=false", + "-Dprint=false", +] +# dependencies = [ +# "gtk3", +# "gobject-introspection", +# "glib", +# "cairo", +# "pango", +# "liblcms", +# "libmypaint", +# "gexiv2", +# "gegl", +# "babl", +# "librsvg", +# "libtiff", +# "libjpeg", +# "libpng", +# "fontconfig", +# "freetype2", +# "atk", +# "harfbuzz", +# "bzip2", +# "zlib", +# ] diff --git a/recipes/wip/image/editors/inkscape/recipe.toml b/recipes/wip/image/editors/inkscape/recipe.toml new file mode 100644 index 00000000..49dd872a --- /dev/null +++ b/recipes/wip/image/editors/inkscape/recipe.toml @@ -0,0 +1,45 @@ +#TODO not compiled or tested +#TODO discover minimum dependencies from cmake log +# build instructions: https://inkscape.org/develop/getting-started/#compile +[source] +tar = "https://inkscape.org/gallery/item/56344/inkscape-1.4.2.tar.xz" +[build] +template = "cmake" +# dependencies = [ +# "boost", +# "glib", +# "glibmm", +# "gtk3", +# "gtk3mm", +# "gdk-pixbuf", +# "gtksourceview", +# "cairo", +# "cairomm", +# "pango", +# "pangomm", +# "readline", +# "fontconfig", +# "freetype2", +# "imagemagick", +# "potrace", +# "zlib", +# "lib2geom", +# "atkmm", +# "harfbuzz", +# "libblas", +# "libsoup", +# "libsigc++", +# "librsvg", +# "librevenge", +# "libwpd", +# "libpng", +# "libvisio", +# "libxml2", +# "libxslt", +# "libcdr", +# "libgsl", +# "libgspell-gtk3", +# "libjpeg", +# "liblcms", +# "liblapack", +# ] diff --git a/recipes/wip/image/editors/krita/recipe.toml b/recipes/wip/image/editors/krita/recipe.toml new file mode 100644 index 00000000..746db5b7 --- /dev/null +++ b/recipes/wip/image/editors/krita/recipe.toml @@ -0,0 +1,55 @@ +#TODO not compiled or tested +#TODO discover minimum dependencies from cmake log +# build instructions: https://docs.krita.org/en/untranslatable_pages/building_krita.html#building-on-linux +[source] +git = "https://invent.kde.org/graphics/krita" +rev = "v5.2.13" +shallow_clone = true +[build] +template = "cmake" +# dependencies = [ +# "gexiv2", +# "ffmpeg6", +# "fftw", +# "fontconfig", +# "freetype2", +# "fribidi", +# "libgif", +# "harfbuzz", +# "liblcms", +# "libpng", +# "libtiff", +# "libwebp", +# "qt5-base", +# "qt5-svg", +# "zlib", +# "libmypaint", +# "boost", +# "libheif", +# "libjpeg", +# "libjxl", +# "kf5-extra-cmake-modules", +# "kf5-completion", +# "kf5-config", +# "kf5-coreaddons", +# "kf5-crash", +# "kf5-guiaddons", +# "kf5-i18n", +# "kf5-itemviews", +# "kf5-widgetaddons", +# "kf5-windowsystem", +# "mlt", +# "opencolorio", +# "openexr", +# "openjpeg", +# "sdl2", +# "libxi", +# "zlib", +# "libeigen", +# "libgsl", +# "libseexpr-kde", +# "liblager", +# "libunibreak", +# "libxsimd", +# "libxtl", +# ] diff --git a/recipes/wip/image/editors/rx/recipe.toml b/recipes/wip/image/editors/rx/recipe.toml new file mode 100644 index 00000000..adaa5125 --- /dev/null +++ b/recipes/wip/image/editors/rx/recipe.toml @@ -0,0 +1,6 @@ +#TODO compilation error +[source] +git = "https://github.com/cloudhead/rx" +script = "rm Cargo.lock" +[build] +template = "cargo" diff --git a/recipes/wip/image/editors/watermarker/recipe.toml b/recipes/wip/image/editors/watermarker/recipe.toml new file mode 100644 index 00000000..fcfd2ab7 --- /dev/null +++ b/recipes/wip/image/editors/watermarker/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/xomvio/watermarker" +[build] +template = "cargo" diff --git a/recipes/wip/image/editors/xpano/recipe.toml b/recipes/wip/image/editors/xpano/recipe.toml new file mode 100644 index 00000000..1d597d65 --- /dev/null +++ b/recipes/wip/image/editors/xpano/recipe.toml @@ -0,0 +1,14 @@ +#TODO not compiled or tested +# build instructions: https://github.com/krupkat/xpano#development +# linux script: https://github.com/krupkat/xpano/blob/main/misc/build/build-ubuntu-22.sh +[source] +git = "https://github.com/krupkat/xpano" +rev = "5e626f66d2670a7f3fd04e805610ef98a506e401" +[build] +template = "cmake" +dependencies = [ + "gtk3", + "opencv4", + "sdl2", + "libspdlog", +] diff --git a/recipes/wip/image/other/converseen/recipe.toml b/recipes/wip/image/other/converseen/recipe.toml new file mode 100644 index 00000000..c6586e60 --- /dev/null +++ b/recipes/wip/image/other/converseen/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +# build instructions: https://github.com/Faster3ck/Converseen/blob/main/INSTALL.md#install-converseen-using-qt6 +[source] +git = "https://github.com/Faster3ck/Converseen" +rev = "9b2821b5ed6673a7abebbe4ee42f4718ab366485" +[build] +template = "cmake" +dependencies = [ + "qt6-base", +] diff --git a/recipes/wip/image/other/curtail/recipe.toml b/recipes/wip/image/other/curtail/recipe.toml new file mode 100644 index 00000000..d80194e3 --- /dev/null +++ b/recipes/wip/image/other/curtail/recipe.toml @@ -0,0 +1,11 @@ +#TODO missing dependencies: https://github.com/Huluti/Curtail#tech +# build instructions: https://github.com/Huluti/Curtail#build-from-source-nightly +[source] +git = "https://github.com/Huluti/Curtail" +rev = "1.13.0" +[build] +template = "meson" +dependencies = [ + "gtk4", + "libadwaita", +] diff --git a/recipes/wip/image/other/dominant-colours/recipe.toml b/recipes/wip/image/other/dominant-colours/recipe.toml new file mode 100644 index 00000000..cc92e191 --- /dev/null +++ b/recipes/wip/image/other/dominant-colours/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/alexwlchan/dominant_colours" +[build] +template = "cargo" diff --git a/recipes/wip/image/other/ferrishot/recipe.toml b/recipes/wip/image/other/ferrishot/recipe.toml new file mode 100644 index 00000000..f4b54a5f --- /dev/null +++ b/recipes/wip/image/other/ferrishot/recipe.toml @@ -0,0 +1,11 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/nik-rev/ferrishot" +[build] +dependencies = [ + "mesa", + "libx11", + "libwayland", + "libxcb", +] +template = "cargo" diff --git a/recipes/wip/image/other/graphicsmagick/recipe.toml b/recipes/wip/image/other/graphicsmagick/recipe.toml new file mode 100644 index 00000000..9711bca1 --- /dev/null +++ b/recipes/wip/image/other/graphicsmagick/recipe.toml @@ -0,0 +1,17 @@ +#TODO compilation error - missing sys/poll.h +#TODO fix libwebp +#TODO more features - http://www.graphicsmagick.org/README.html#add-on-libraries-programs +[source] +tar = "https://sourceforge.net/projects/graphicsmagick/files/graphicsmagick/1.3.42/GraphicsMagick-1.3.42.tar.xz/download" +[build] +template = "configure" +dependencies = [ + "bzip2", + "freetype2", + #"libwebp", + "libjpeg", + "libpng", + "libtiff", + "libxml2", + "zlib", +] diff --git a/recipes/wip/image/other/imageflow/recipe.toml b/recipes/wip/image/other/imageflow/recipe.toml new file mode 100644 index 00000000..2b1a79b5 --- /dev/null +++ b/recipes/wip/image/other/imageflow/recipe.toml @@ -0,0 +1,13 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/imazen/imageflow" +[build] +template = "custom" +dependencies = [ + "openssl1", + "libpng", +] +script = """ +cookbook_cargo_packages imageflow_tool_lib +mv "${COOKBOOK_STAGE}/usr/bin/imageflow_tool" "${COOKBOOK_STAGE}/usr/bin/imageflow-tool" +""" diff --git a/recipes/wip/image/other/imagemagick/recipe.toml b/recipes/wip/image/other/imagemagick/recipe.toml new file mode 100644 index 00000000..8ec99dcb --- /dev/null +++ b/recipes/wip/image/other/imagemagick/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +tar = "https://imagemagick.org/archive/releases/ImageMagick-7.1.1-23.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/image/other/jpegoptim/recipe.toml b/recipes/wip/image/other/jpegoptim/recipe.toml new file mode 100644 index 00000000..1f1cf17e --- /dev/null +++ b/recipes/wip/image/other/jpegoptim/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +tar = "https://github.com/tjko/jpegoptim/releases/download/v1.5.6/jpegoptim-1.5.6.tar.gz" +[build] +template = "configure" +dependencies = [ + "libjpeg", +] diff --git a/recipes/wip/image/other/jxl-oxide/recipe.toml b/recipes/wip/image/other/jxl-oxide/recipe.toml new file mode 100644 index 00000000..57db5289 --- /dev/null +++ b/recipes/wip/image/other/jxl-oxide/recipe.toml @@ -0,0 +1,8 @@ +#TODO missing header on compilation +[source] +git = "https://github.com/tirr-c/jxl-oxide" +[build] +template = "custom" +script = """ +cookbook_cargo_packages jxl-oxide-cli +""" diff --git a/recipes/wip/image/other/lsix/recipe.toml b/recipes/wip/image/other/lsix/recipe.toml new file mode 100644 index 00000000..b8fbaac9 --- /dev/null +++ b/recipes/wip/image/other/lsix/recipe.toml @@ -0,0 +1,10 @@ +#TODO promote +[source] +git = "https://github.com/hackerb9/lsix" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr/bin +cp "${COOKBOOK_SOURCE}"/lsix "${COOKBOOK_STAGE}"/usr/bin/lsix +chmod a+x "${COOKBOOK_STAGE}"/usr/bin/lsix +""" diff --git a/recipes/wip/image/other/oxvg/recipe.toml b/recipes/wip/image/other/oxvg/recipe.toml new file mode 100644 index 00000000..9d50790f --- /dev/null +++ b/recipes/wip/image/other/oxvg/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/noahbald/oxvg" +[build] +template = "custom" +script = """ +cookbook_cargo_packages oxvg +""" diff --git a/recipes/wip/image/other/pngquant/recipe.toml b/recipes/wip/image/other/pngquant/recipe.toml new file mode 100644 index 00000000..fe7b2ccc --- /dev/null +++ b/recipes/wip/image/other/pngquant/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/kornelski/pngquant" +[build] +template = "cargo" diff --git a/recipes/wip/image/other/satpaper/recipe.toml b/recipes/wip/image/other/satpaper/recipe.toml new file mode 100644 index 00000000..18c378bf --- /dev/null +++ b/recipes/wip/image/other/satpaper/recipe.toml @@ -0,0 +1,5 @@ +#TODO atools crate error +[source] +git = "https://github.com/Colonial-Dev/satpaper" +[build] +template = "cargo" diff --git a/recipes/wip/image/other/sic/recipe.toml b/recipes/wip/image/other/sic/recipe.toml new file mode 100644 index 00000000..d7047f4a --- /dev/null +++ b/recipes/wip/image/other/sic/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/foresterre/sic" +[build] +template = "cargo" diff --git a/recipes/wip/image/upscaling/jdpixelupscaler/recipe.toml b/recipes/wip/image/upscaling/jdpixelupscaler/recipe.toml new file mode 100644 index 00000000..7399f872 --- /dev/null +++ b/recipes/wip/image/upscaling/jdpixelupscaler/recipe.toml @@ -0,0 +1,10 @@ +#TODO maybe incomplete script +#TODO determine the dependencies +[source] +git = "https://codeberg.org/JakobDev/jdPixelUpscaler" +rev = "05eb4f3a4a9d24b6d818522483d88caa6b201e2e" +[build] +template = "custom" +dependencies = [ + "qt6-base", +] diff --git a/recipes/wip/image/upscaling/rscale2x/recipe.toml b/recipes/wip/image/upscaling/rscale2x/recipe.toml new file mode 100644 index 00000000..769df6d5 --- /dev/null +++ b/recipes/wip/image/upscaling/rscale2x/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/ahmetmutlugun/rscale2x" +[build] +template = "cargo" diff --git a/recipes/wip/image/upscaling/upscaler-rs/recipe.toml b/recipes/wip/image/upscaling/upscaler-rs/recipe.toml new file mode 100644 index 00000000..ecb4e7aa --- /dev/null +++ b/recipes/wip/image/upscaling/upscaler-rs/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/DhruvDh/upscaler" +[build] +template = "cargo" diff --git a/recipes/wip/image/upscaling/upscaler/recipe.toml b/recipes/wip/image/upscaling/upscaler/recipe.toml new file mode 100644 index 00000000..6d6b73cf --- /dev/null +++ b/recipes/wip/image/upscaling/upscaler/recipe.toml @@ -0,0 +1,11 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.gnome.org/World/Upscaler#meson +[source] +git = "https://gitlab.gnome.org/World/Upscaler" +rev = "30c2a8411fac281ed548189a9fea45dc9efe5b68" +[build] +template = "meson" +dependencies = [ + "gtk4", + "libadwaita", +] diff --git a/recipes/wip/image/upscaling/upscayl-ncnn/recipe.toml b/recipes/wip/image/upscaling/upscayl-ncnn/recipe.toml new file mode 100644 index 00000000..de2f4f7b --- /dev/null +++ b/recipes/wip/image/upscaling/upscayl-ncnn/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://github.com/upscayl/upscayl-ncnn/blob/master/README.md +[source] +git = "https://github.com/upscayl/upscayl-ncnn" +rev = "22774bc42e2bc3c785b5b585d213d960b1348ad5" +[build] +template = "cmake" diff --git a/recipes/wip/image/upscaling/video2x/recipe.toml b/recipes/wip/image/upscaling/video2x/recipe.toml new file mode 100644 index 00000000..91d28ed0 --- /dev/null +++ b/recipes/wip/image/upscaling/video2x/recipe.toml @@ -0,0 +1,12 @@ +#TODO maybe incomplete script +[source] +git = "https://github.com/k4yt3x/video2x" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/video2x +mkdir -pv "${COOKBOOK_STAGE}"/usr/bin +cp -rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}"/usr/share/video2x +echo "#!/usr/bin/env sh \n cd /usr/share/video2x \n python3 -m video2x" > "${COOKBOOK_STAGE}"/usr/bin/video2x +chmod a+x "${COOKBOOK_STAGE}"/usr/bin/video2x +""" diff --git a/recipes/wip/lang/uroman-rs/recipe.toml b/recipes/wip/lang/uroman-rs/recipe.toml new file mode 100644 index 00000000..8ca4ef10 --- /dev/null +++ b/recipes/wip/lang/uroman-rs/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/stellanomia/uroman-rs" +[build] +template = "cargo" diff --git a/recipes/wip/libs/a11y/at-spi2-core/recipe.toml b/recipes/wip/libs/a11y/at-spi2-core/recipe.toml new file mode 100644 index 00000000..f9e0b9e6 --- /dev/null +++ b/recipes/wip/libs/a11y/at-spi2-core/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.gnome.org/GNOME/at-spi2-core/-/blob/main/INSTALL?ref_type=heads +[source] +tar = "https://download.gnome.org/sources/at-spi2-core/2.57/at-spi2-core-2.57.0.tar.xz" +[build] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_meson +""" diff --git a/recipes/wip/libs/archives/libzip/recipe.toml b/recipes/wip/libs/archives/libzip/recipe.toml new file mode 100644 index 00000000..4e7ec064 --- /dev/null +++ b/recipes/wip/libs/archives/libzip/recipe.toml @@ -0,0 +1,8 @@ +#TODO Promote +[source] +tar = "https://libzip.org/download/libzip-1.10.1.tar.gz" +[build] +template = "cmake" +dependencies = [ + "zlib", +] diff --git a/recipes/wip/libs/audio/boca/recipe.toml b/recipes/wip/libs/audio/boca/recipe.toml new file mode 100644 index 00000000..3e63360b --- /dev/null +++ b/recipes/wip/libs/audio/boca/recipe.toml @@ -0,0 +1,14 @@ +#TODO missing script for gnu make +# build instructions - https://github.com/enzo1982/boca/#installation +[source] +tar = "https://github.com/enzo1982/BoCA/releases/download/v1.0.7/boca-1.0.7.tar.gz" +[build] +template = "custom" +dependencies = [ + "libsmooth", + "pulseaudio", + "libcdio", + "libcdio-paranoia", + "expat", + "liburiparser", +] diff --git a/recipes/wip/libs/audio/libalsa/recipe.toml b/recipes/wip/libs/audio/libalsa/recipe.toml new file mode 100644 index 00000000..805791e3 --- /dev/null +++ b/recipes/wip/libs/audio/libalsa/recipe.toml @@ -0,0 +1,6 @@ +#TODO maybe wrong template +# build instructions - https://git.alsa-project.org/?p=alsa-lib.git;a=blob;f=INSTALL;h=a2427e072bcaf951addc3e1db1fccccf44f3b59b;hb=HEAD +[source] +tar = "http://www.alsa-project.org/files/pub/lib/alsa-lib-1.2.13.tar.bz2" +[build] +template = "configure" diff --git a/recipes/wip/libs/audio/libcanberra/recipe.toml b/recipes/wip/libs/audio/libcanberra/recipe.toml new file mode 100644 index 00000000..2de6513c --- /dev/null +++ b/recipes/wip/libs/audio/libcanberra/recipe.toml @@ -0,0 +1,20 @@ +#TODO no audio backend supported +[source] +tar = "http://0pointer.de/lennart/projects/libcanberra/libcanberra-0.30.tar.xz" +blake3 = "ea02f4b5a00bfffce1d29ce73e1cf5351027208cbeb58bf9954e84ad120e6daa" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "gtk3", + "libtool", + "libvorbis", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/libs/audio/libopenshot-audio/recipe.toml b/recipes/wip/libs/audio/libopenshot-audio/recipe.toml new file mode 100644 index 00000000..75295985 --- /dev/null +++ b/recipes/wip/libs/audio/libopenshot-audio/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +#TODO determine minimum dependencies from cmake log +[source] +git = "https://github.com/OpenShot/libopenshot-audio" +rev = "v0.4.0" +shallow_clone = true +[build] +template = "cmake" diff --git a/recipes/wip/libs/audio/libopus/recipe.toml b/recipes/wip/libs/audio/libopus/recipe.toml new file mode 100644 index 00000000..0f63e463 --- /dev/null +++ b/recipes/wip/libs/audio/libopus/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +tar = "https://downloads.xiph.org/releases/opus/opus-1.5.1.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/libs/audio/mpg123/recipe.toml b/recipes/wip/libs/audio/mpg123/recipe.toml new file mode 100644 index 00000000..f88873ab --- /dev/null +++ b/recipes/wip/libs/audio/mpg123/recipe.toml @@ -0,0 +1,11 @@ +#TODO compilation error +[source] +tar = "https://mpg123.de/download/mpg123-1.33.2.tar.bz2" +blake3 = "1e604dc14160a8852ef6b880643e3534f44e410af1fd5ba29a80ff960a54e834" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +template = "configure" diff --git a/recipes/wip/libs/audio/openal/recipe.toml b/recipes/wip/libs/audio/openal/recipe.toml new file mode 100644 index 00000000..ad05cfba --- /dev/null +++ b/recipes/wip/libs/audio/openal/recipe.toml @@ -0,0 +1,37 @@ +[source] +tar = "https://github.com/kcat/openal-soft/archive/refs/tags/1.24.1.tar.gz" +blake3 = "da65f839d4cee560371d08fc977f90757f964f49b14655b1d8d43f779c90a815" +patches = [ + "redox.patch" +] + +[build] +template = "custom" +dependencies = [ + "liborbital", + "libsndfile", + "llvm18", + "mesa", + "sdl2", + "zlib", +] +script = """ +DYNAMIC_INIT +export CFLAGS="${CFLAGS} -I${COOKBOOK_SYSROOT}/include/SDL2" +export CXXFLAGS="${CXXFLAGS} -I${COOKBOOK_SYSROOT}/include/SDL2" +COOKBOOK_CMAKE_FLAGS+=( + -DALSOFT_EXAMPLES=OFF + -DALSOFT_INSTALL_EXAMPLES=OFF + -DALSOFT_INSTALL_UTILS=OFF + -DALSOFT_UTILS=OFF + -DALSOFT_BACKEND_SDL2=ON + -DALSOFT_REQUIRE_SDL2=ON +) +if [ "${COOKBOOK_DYNAMIC}" == "1" ] +then + COOKBOOK_CMAKE_FLAGS+=(-DLIBTYPE=SHARED) +else + COOKBOOK_CMAKE_FLAGS+=(-DLIBTYPE=STATIC) +fi +cookbook_cmake +""" diff --git a/recipes/wip/libs/audio/openal/redox.patch b/recipes/wip/libs/audio/openal/redox.patch new file mode 100644 index 00000000..d787c7ce --- /dev/null +++ b/recipes/wip/libs/audio/openal/redox.patch @@ -0,0 +1,59 @@ +diff -ruwN openal-soft-1.24.1/CMakeLists.txt source/CMakeLists.txt +--- openal-soft-1.24.1/CMakeLists.txt 2024-11-27 20:21:16.000000000 -0700 ++++ source/CMakeLists.txt 2025-01-09 14:35:09.422985283 -0700 +@@ -1200,7 +1200,7 @@ + set(HAVE_SDL2 1) + set(ALC_OBJS ${ALC_OBJS} alc/backends/sdl2.cpp alc/backends/sdl2.h) + set(BACKENDS "${BACKENDS} SDL2,") +- set(EXTRA_LIBS ${EXTRA_LIBS} SDL2::SDL2) ++ set(EXTRA_LIBS ${EXTRA_LIBS} ${SDL2_LIBRARIES}) + else() + message(STATUS "Could NOT find SDL2") + endif() +diff -ruwN openal-soft-1.24.1/common/alstring.cpp source/common/alstring.cpp +--- openal-soft-1.24.1/common/alstring.cpp 2024-11-27 20:21:16.000000000 -0700 ++++ source/common/alstring.cpp 2025-01-09 09:35:50.263542017 -0700 +@@ -40,8 +40,8 @@ + auto ch1end = ch1 + std::min(str0.size(), str1.size()); + while(ch1 != ch1end) + { +- const auto u0 = std::towupper(Traits::to_int_type(*ch0)); +- const auto u1 = std::towupper(Traits::to_int_type(*ch1)); ++ const auto u0 = towupper(Traits::to_int_type(*ch0)); ++ const auto u1 = towupper(Traits::to_int_type(*ch1)); + if(const auto diff = static_cast(u0-u1)) return diff; + ++ch0; ++ch1; + } +diff -ruwN openal-soft-1.24.1/common/althreads.h source/common/althreads.h +--- openal-soft-1.24.1/common/althreads.h 2024-11-27 20:21:16.000000000 -0700 ++++ source/common/althreads.h 2025-01-09 09:31:58.064326293 -0700 +@@ -9,7 +9,7 @@ + #define WIN32_LEAN_AND_MEAN + #include + +-#elif defined(__APPLE__) ++#elif defined(__APPLE__) || defined(__redox__) + + #include + +@@ -79,7 +79,7 @@ + [[nodiscard]] + auto get() const noexcept -> T { return from_ptr(TlsGetValue(mTss)); } + +-#elif defined(__APPLE__) ++#elif defined(__APPLE__) || defined(__redox__) + + pthread_key_t mTss{}; + +diff -ruwN openal-soft-1.24.1/core/helpers.cpp source/core/helpers.cpp +--- openal-soft-1.24.1/core/helpers.cpp 2024-11-27 20:21:16.000000000 -0700 ++++ source/core/helpers.cpp 2025-01-09 09:36:47.992595649 -0700 +@@ -372,7 +372,7 @@ + bool SetRTPriorityPthread(int prio [[maybe_unused]]) + { + int err{ENOTSUP}; +-#if defined(HAVE_PTHREAD_SETSCHEDPARAM) && !defined(__OpenBSD__) ++#if defined(HAVE_PTHREAD_SETSCHEDPARAM) && !defined(__OpenBSD__) && !defined(__redox__) + /* Get the min and max priority for SCHED_RR. Limit the max priority to + * half, for now, to ensure the thread can't take the highest priority and + * go rogue. diff --git a/recipes/wip/libs/audio/opusfile/recipe.toml b/recipes/wip/libs/audio/opusfile/recipe.toml new file mode 100644 index 00000000..47d9e219 --- /dev/null +++ b/recipes/wip/libs/audio/opusfile/recipe.toml @@ -0,0 +1,10 @@ +#TODO compiled but not tested +[source] +tar = "https://downloads.xiph.org/releases/opus/opusfile-0.12.tar.gz" +[build] +template = "configure" +dependencies = [ + "openssl1", + "libogg", + "opus", +] diff --git a/recipes/wip/libs/audio/soundtouch/recipe.toml b/recipes/wip/libs/audio/soundtouch/recipe.toml new file mode 100644 index 00000000..e5e493ed --- /dev/null +++ b/recipes/wip/libs/audio/soundtouch/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for building +[source] +tar = "https://www.surina.net/soundtouch/soundtouch-2.3.2.tar.gz" +[build] +template = "custom" diff --git a/recipes/wip/libs/audio/speex/recipe.toml b/recipes/wip/libs/audio/speex/recipe.toml new file mode 100644 index 00000000..0f5ca93f --- /dev/null +++ b/recipes/wip/libs/audio/speex/recipe.toml @@ -0,0 +1,5 @@ +#TODO Compiled but not tested +[source] +tar = "http://downloads.xiph.org/releases/speex/speex-1.2.1.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/libs/audio/speexdsp/recipe.toml b/recipes/wip/libs/audio/speexdsp/recipe.toml new file mode 100644 index 00000000..8562d8e3 --- /dev/null +++ b/recipes/wip/libs/audio/speexdsp/recipe.toml @@ -0,0 +1,5 @@ +#TODO Compiled but not tested +[source] +tar = "http://downloads.xiph.org/releases/speex/speexdsp-1.2.1.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/libs/audio/zmusic/recipe.toml b/recipes/wip/libs/audio/zmusic/recipe.toml new file mode 100644 index 00000000..afd756ba --- /dev/null +++ b/recipes/wip/libs/audio/zmusic/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://github.com/ZDoom/ZMusic#readme +[source] +git = "https://github.com/ZDoom/ZMusic" +[build] +template = "cmake" diff --git a/recipes/wip/libs/debug/libbacktrace/recipe.toml b/recipes/wip/libs/debug/libbacktrace/recipe.toml new file mode 100644 index 00000000..c5751ec6 --- /dev/null +++ b/recipes/wip/libs/debug/libbacktrace/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/ianlancetaylor/libbacktrace" +rev = "b9e40069c0b47a722286b94eb5231f7f05c08713" +[build] +template = "configure" diff --git a/recipes/wip/libs/fs/libattr/recipe.toml b/recipes/wip/libs/fs/libattr/recipe.toml new file mode 100644 index 00000000..a73ef2d9 --- /dev/null +++ b/recipes/wip/libs/fs/libattr/recipe.toml @@ -0,0 +1,5 @@ +#TODO can't find the sys/xattr.h file +[source] +tar = "https://download.savannah.nongnu.org/releases/attr/attr-2.5.2.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/fs/libnfs/recipe.toml b/recipes/wip/libs/fs/libnfs/recipe.toml new file mode 100644 index 00000000..ea2431a1 --- /dev/null +++ b/recipes/wip/libs/fs/libnfs/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://github.com/sahlberg/libnfs/blob/master/INSTALL +[source] +git = "https://github.com/sahlberg/libnfs" +rev = "libnfs-6.0.2" +[build] +template = "cmake" diff --git a/recipes/wip/libs/graphics/libnoise/recipe.toml b/recipes/wip/libs/graphics/libnoise/recipe.toml new file mode 100644 index 00000000..c9fff830 --- /dev/null +++ b/recipes/wip/libs/graphics/libnoise/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/qknight/libnoise" +[build] +template = "cmake" diff --git a/recipes/wip/libs/gtk/dconf/recipe.toml b/recipes/wip/libs/gtk/dconf/recipe.toml new file mode 100644 index 00000000..40fcd469 --- /dev/null +++ b/recipes/wip/libs/gtk/dconf/recipe.toml @@ -0,0 +1,16 @@ +[source] +tar = "https://download.gnome.org/sources/dconf/0.49/dconf-0.49.0.tar.xz" +blake3 = "41ee23bdab3208f7a08efa134a481c852874dc5846433a665c5a5149511a7659" +patches = ["redox.patch"] + +[build] +dependencies = [ + "dbus", + "glib", +] +template = "meson" +mesonflags = [ + "-Dbash_completion=false", + "-Dvapi=false", + "--force-fallback-for=gvdb", +] diff --git a/recipes/wip/libs/gtk/dconf/redox.patch b/recipes/wip/libs/gtk/dconf/redox.patch new file mode 100644 index 00000000..4fe5cfc5 --- /dev/null +++ b/recipes/wip/libs/gtk/dconf/redox.patch @@ -0,0 +1,12 @@ +diff -ruwN source-old/shm/dconf-shm.c source/shm/dconf-shm.c +--- source-old/shm/dconf-shm.c 2025-09-15 09:53:57.000000000 -0600 ++++ source/shm/dconf-shm.c 2025-11-15 08:08:47.412198178 -0700 +@@ -148,7 +148,7 @@ + + close (fd); + +- unlink (filename); ++ //TODO: redoxfs bug: unlink (filename); + } + + g_free (filename); diff --git a/recipes/wip/libs/gtk/gtk-engines/recipe.toml b/recipes/wip/libs/gtk/gtk-engines/recipe.toml new file mode 100644 index 00000000..6366c8ce --- /dev/null +++ b/recipes/wip/libs/gtk/gtk-engines/recipe.toml @@ -0,0 +1,5 @@ +#TODO configuration problem, can't recognize the Redox target +[source] +tar = "https://download.gnome.org/sources/gtk-engines/2.91/gtk-engines-2.91.1.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/libs/gtk/gtk2/recipe.toml b/recipes/wip/libs/gtk/gtk2/recipe.toml new file mode 100644 index 00000000..306a084d --- /dev/null +++ b/recipes/wip/libs/gtk/gtk2/recipe.toml @@ -0,0 +1,15 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.gnome.org/GNOME/gtk/-/blob/gtk-2-24/INSTALL.in +[source] +tar = "https://download.gnome.org/sources/gtk%2B/2.24/gtk%2B-2.24.33.tar.xz" +[build] +template = "configure" +dependencies = [ + "atk", + "glib", + "pango", + "gdk-pixbuf", + "atk", + "cairo", + "gobject-introspection", +] diff --git a/recipes/wip/libs/gtk/gtk2mm/recipe.toml b/recipes/wip/libs/gtk/gtk2mm/recipe.toml new file mode 100644 index 00000000..86f6f83d --- /dev/null +++ b/recipes/wip/libs/gtk/gtk2mm/recipe.toml @@ -0,0 +1,8 @@ +#TODO determine dependencies +[source] +tar = "https://download.gnome.org/sources/gtkmm/2.24/gtkmm-2.24.5.tar.xz" +[build] +template = "configure" +dependencies = [ + "gtk2", +] diff --git a/recipes/wip/libs/gtk/gtk3/recipe.toml b/recipes/wip/libs/gtk/gtk3/recipe.toml new file mode 100644 index 00000000..44958e1a --- /dev/null +++ b/recipes/wip/libs/gtk/gtk3/recipe.toml @@ -0,0 +1,52 @@ +#TODO promote +[source] +tar = "https://download.gnome.org/sources/gtk+/3.24/gtk%2B-3.24.43.tar.xz" +blake3 = "5feab2bad81e6b5906895f70ddce6227cf96a6a14b16af0ef72c79991a48ddf4" +patches = ["redox.patch"] + +[build] +dependencies = [ + "atk", + "cairo", + "expat", + "fontconfig", + "freetype2", + "fribidi", + "gdk-pixbuf", + "gettext", + "glib", + #TODO "gobject-introspection", + "harfbuzz", + "libepoxy", + "libffi", + "libiconv", + "libjpeg", + "libpng", + "libpthread-stubs", + "libwayland", + "libx11", + "libxau", + "libxkbcommon", + "libxcb", + "libxext", + "libxfixes", + "libxi", + "libxrandr", + "libxrender", + "libxxf86vm", + "mesa-x11", + "pango", + "pcre2", + "pixman", + "shared-mime-info", + "wayland-protocols", + "x11proto", + "zlib", +] +template = "custom" +script = """ +DYNAMIC_INIT +CFLAGS="${CFLAGS} -DM_SQRT2=1.41421356237309504880" +cookbook_meson \ + -Dintrospection=false +""" diff --git a/recipes/wip/libs/gtk/gtk3/redox.patch b/recipes/wip/libs/gtk/gtk3/redox.patch new file mode 100644 index 00000000..6f6d523e --- /dev/null +++ b/recipes/wip/libs/gtk/gtk3/redox.patch @@ -0,0 +1,92 @@ +diff -ruwN source-old/gdk/wayland/gdkdevice-wayland.c source/gdk/wayland/gdkdevice-wayland.c +--- source-old/gdk/wayland/gdkdevice-wayland.c 2024-07-10 11:03:14.000000000 -0600 ++++ source/gdk/wayland/gdkdevice-wayland.c 2025-11-13 09:46:58.493081022 -0700 +@@ -44,6 +44,12 @@ + #include + #elif defined(HAVE_LINUX_INPUT_H) + #include ++#else ++#define BTN_LEFT 0x110 ++#define BTN_RIGHT 0x111 ++#define BTN_MIDDLE 0x112 ++#define BTN_STYLUS 0x14b ++#define BTN_STYLUS2 0x14c + #endif + + #define BUTTON_BASE (BTN_LEFT - 1) /* Used to translate to 1-indexed buttons */ +diff -ruwN source-old/gdk/wayland/gdkdisplay-wayland.c source/gdk/wayland/gdkdisplay-wayland.c +--- source-old/gdk/wayland/gdkdisplay-wayland.c 2024-07-10 11:03:14.000000000 -0600 ++++ source/gdk/wayland/gdkdisplay-wayland.c 2025-11-13 09:44:55.926622693 -0700 +@@ -28,7 +28,9 @@ + #endif + + #include ++#if defined (__NR_memfd_create) + #include ++#endif + + #include + #include "gdkwayland.h" +diff -ruwN source-old/gtk/a11y/gtkaccessibility.c source/gtk/a11y/gtkaccessibility.c +--- source-old/gtk/a11y/gtkaccessibility.c 2024-07-10 11:03:14.000000000 -0600 ++++ source/gtk/a11y/gtkaccessibility.c 2025-11-12 12:32:06.969908669 -0700 +@@ -37,7 +37,7 @@ + #include + #include + +-#ifdef GDK_WINDOWING_X11 ++#if defined(GDK_WINDOWING_X11) && !defined(__redox__) + #include + #endif + +@@ -254,7 +254,7 @@ + } + } + +-#ifdef GDK_WINDOWING_X11 ++#if defined(GDK_WINDOWING_X11) && !defined(__redox__) + /* + * If the focus widget is a GtkSocket without a plug + * then ignore the focus notification as the embedded +@@ -986,7 +986,7 @@ + _gtk_accessibility_override_atk_util (); + do_window_event_initialization (); + +-#ifdef GDK_WINDOWING_X11 ++#if defined(GDK_WINDOWING_X11) && !defined(__redox__) + atk_bridge_adaptor_init (NULL, NULL); + #endif + +diff -ruwN source-old/gtk/gtkmain.c source/gtk/gtkmain.c +--- source-old/gtk/gtkmain.c 2024-07-10 11:03:14.000000000 -0600 ++++ source/gtk/gtkmain.c 2025-11-12 12:32:06.970182803 -0700 +@@ -355,7 +355,7 @@ + check_setugid (void) + { + /* this isn't at all relevant on MS Windows and doesn't compile ... --hb */ +-#ifndef G_OS_WIN32 ++#if !defined(G_OS_WIN32) && !defined(__redox__) + uid_t ruid, euid, suid; /* Real, effective and saved user ID's */ + gid_t rgid, egid, sgid; /* Real, effective and saved group ID's */ + +diff -ruwN source-old/meson.build source/meson.build +--- source-old/meson.build 2024-07-10 11:03:14.000000000 -0600 ++++ source/meson.build 2025-11-12 12:32:06.970463189 -0700 +@@ -565,7 +565,7 @@ + xfixes_dep = dependency('xfixes', required: false) + xcomposite_dep = dependency('xcomposite', required: false) + fontconfig_dep = dependency('fontconfig', fallback: ['fontconfig', 'fontconfig_dep']) +- atkbridge_dep = dependency('atk-bridge-2.0', version: at_spi2_atk_req) ++ #TODO atkbridge_dep = dependency('atk-bridge-2.0', version: at_spi2_atk_req) + + backend_immodules += ['xim'] + +@@ -584,7 +584,7 @@ + x11_pkgs += ['xdamage'] + endif + +- atk_pkgs += ['atk-bridge-2.0'] ++ #atk_pkgs += ['atk-bridge-2.0'] + + cdata.set('HAVE_XDAMAGE', xdamage_dep.found() ? 1 : false) + cdata.set('HAVE_XCURSOR', xcursor_dep.found() ? 1 : false) diff --git a/recipes/wip/libs/gtk/gtk3mm/recipe.toml b/recipes/wip/libs/gtk/gtk3mm/recipe.toml new file mode 100644 index 00000000..3f47f818 --- /dev/null +++ b/recipes/wip/libs/gtk/gtk3mm/recipe.toml @@ -0,0 +1,13 @@ +#TODO not compiled or tested +# build instructions: https://gnome.pages.gitlab.gnome.org/gtkmm-documentation/sec-install-unix-and-linux.html +[source] +tar = "https://download.gnome.org/sources/gtkmm/3.24/gtkmm-3.24.8.tar.xz" +[build] +template = "meson" +dependencies = [ + "libsigc++", + "gtk3", + "glibmm", + "cairomm10+", + "pangomm", +] diff --git a/recipes/wip/libs/gtk/gtk4/recipe.toml b/recipes/wip/libs/gtk/gtk4/recipe.toml new file mode 100644 index 00000000..67799892 --- /dev/null +++ b/recipes/wip/libs/gtk/gtk4/recipe.toml @@ -0,0 +1,19 @@ +#TODO not compiled or tested +# build instructions: https://docs.gtk.org/gtk4/building.html +[source] +tar = "https://download.gnome.org/sources/gtk/4.11/gtk-4.11.2.tar.xz" +[build] +template = "meson" +dependencies = [ + "glib", + "gdk-pixbuf", + "pango", + "cairo", + "libepoxy", + "atk", + "gobject-introspection", + "shared-mime-info", + "graphene", + "libxkbcommon", + "gstreamer", +] diff --git a/recipes/wip/libs/gtk/gtk4mm/recipe.toml b/recipes/wip/libs/gtk/gtk4mm/recipe.toml new file mode 100644 index 00000000..e2b22bc8 --- /dev/null +++ b/recipes/wip/libs/gtk/gtk4mm/recipe.toml @@ -0,0 +1,13 @@ +#TODO not compiled or tested +# build instructions: https://gnome.pages.gitlab.gnome.org/gtkmm-documentation/sec-install-unix-and-linux.html +[source] +tar = "https://download.gnome.org/sources/gtkmm/4.13/gtkmm-4.13.2.tar.xz" +[build] +template = "meson" +dependencies = [ + "libsigc++", + "gtk4", + "glibmm", + "cairomm116+", + "pangomm", +] diff --git a/recipes/wip/libs/gtk/gtkglext/recipe.toml b/recipes/wip/libs/gtk/gtkglext/recipe.toml new file mode 100644 index 00000000..479bdf19 --- /dev/null +++ b/recipes/wip/libs/gtk/gtkglext/recipe.toml @@ -0,0 +1,5 @@ +#TODO configuration problem, can't recognize the Redox target +[source] +tar = "https://download.gnome.org/sources/gtkglext/1.2/gtkglext-1.2.0.tar.bz2" +[build] +template = "configure" diff --git a/recipes/wip/libs/gtk/gtksourceview/recipe.toml b/recipes/wip/libs/gtk/gtksourceview/recipe.toml new file mode 100644 index 00000000..39a4801d --- /dev/null +++ b/recipes/wip/libs/gtk/gtksourceview/recipe.toml @@ -0,0 +1,13 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.gnome.org/GNOME/gtksourceview#installation +[source] +tar = "https://download.gnome.org/sources/gtksourceview/5.10/gtksourceview-5.10.0.tar.xz" +[build] +template = "meson" +dependencies = [ + "glib", + "gtk4", + "libxml2", + "fribidi", + "pcre", +] diff --git a/recipes/wip/libs/gtk/libayatana-appindicator-glib/recipe.toml b/recipes/wip/libs/gtk/libayatana-appindicator-glib/recipe.toml new file mode 100644 index 00000000..e3731521 --- /dev/null +++ b/recipes/wip/libs/gtk/libayatana-appindicator-glib/recipe.toml @@ -0,0 +1,10 @@ +[source] +tar = "https://github.com/AyatanaIndicators/libayatana-appindicator-glib/archive/refs/tags/2.0.1.tar.gz" +blake3 = "5c7e39f29b23cd5c14a6eacbe0c0bf16dfd28b9b013ec011421d5d6e5742ba2d" +patches = ["redox.patch"] + +[build] +dependencies = [ + "glib", +] +template = "cmake" diff --git a/recipes/wip/libs/gtk/libayatana-appindicator-glib/redox.patch b/recipes/wip/libs/gtk/libayatana-appindicator-glib/redox.patch new file mode 100644 index 00000000..db429a1a --- /dev/null +++ b/recipes/wip/libs/gtk/libayatana-appindicator-glib/redox.patch @@ -0,0 +1,116 @@ +diff -ruwN source-old/bindings/CMakeLists.txt source/bindings/CMakeLists.txt +--- source-old/bindings/CMakeLists.txt 2025-06-15 04:50:44.000000000 -0600 ++++ source/bindings/CMakeLists.txt 2025-11-15 08:33:35.889512652 -0700 +@@ -1 +1 @@ +-add_subdirectory (vala) ++#TODO: valac: add_subdirectory (vala) +diff -ruwN source-old/CMakeLists.txt source/CMakeLists.txt +--- source-old/CMakeLists.txt 2025-06-15 04:50:44.000000000 -0600 ++++ source/CMakeLists.txt 2025-11-15 08:33:53.996379724 -0700 +@@ -38,7 +38,7 @@ + + add_subdirectory (src) + add_subdirectory (bindings) +-add_subdirectory (doc) ++#TODO: gi-docgen: add_subdirectory (doc) + + if (ENABLE_TESTS) + include (CTest) +diff -ruwN source-old/src/CMakeLists.txt source/src/CMakeLists.txt +--- source-old/src/CMakeLists.txt 2025-06-15 04:50:44.000000000 -0600 ++++ source/src/CMakeLists.txt 2025-11-15 08:32:53.644475333 -0700 +@@ -114,47 +114,49 @@ + target_link_options ("ayatana-appindicator-glib" PRIVATE "LINKER:--version-script=${CMAKE_CURRENT_SOURCE_DIR}/ayatana-appindicator.symbols") + install (TARGETS "ayatana-appindicator-glib" LIBRARY DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}") + +-# AyatanaAppIndicatorGlib-2.0.gir +- +-find_package (GObjectIntrospection REQUIRED) +- +-add_custom_command ( +- OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/AyatanaAppIndicatorGlib-2.0.gir" +- DEPENDS "ayatana-appindicator-glib" +- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +- COMMAND +- ${INTROSPECTION_SCANNER} +- ayatana-appindicator.c ayatana-appindicator.h +- --add-include-path=${CMAKE_CURRENT_BINARY_DIR} +- --c-include=libayatana-appindicator-glib/ayatana-appindicator.h +- --symbol-prefix=app +- --identifier-prefix=App +- --namespace=AyatanaAppIndicatorGlib +- --nsversion=2.0 +- --quiet +- --warn-all +- --include=Gio-2.0 +- --include=GObject-2.0 +- --library-path=${CMAKE_CURRENT_BINARY_DIR} +- --library="ayatana-appindicator-glib" +- --output "${CMAKE_CURRENT_BINARY_DIR}/AyatanaAppIndicatorGlib-2.0.gir" +-) +- +-install (FILES "${CMAKE_CURRENT_BINARY_DIR}/AyatanaAppIndicatorGlib-2.0.gir" DESTINATION "${CMAKE_INSTALL_FULL_DATADIR}/gir-1.0") +- +-# AyatanaAppIndicatorGlib-2.0.typelib +- +-add_custom_command ( +- OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/AyatanaAppIndicatorGlib-2.0.typelib" +- DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/AyatanaAppIndicatorGlib-2.0.gir" +- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} +- COMMAND +- ${INTROSPECTION_COMPILER} +- --includedir=${CMAKE_CURRENT_BINARY_DIR} +- ${CMAKE_CURRENT_BINARY_DIR}/AyatanaAppIndicatorGlib-2.0.gir +- -o "${CMAKE_CURRENT_BINARY_DIR}/AyatanaAppIndicatorGlib-2.0.typelib" +-) +- +-install (FILES "${CMAKE_CURRENT_BINARY_DIR}/AyatanaAppIndicatorGlib-2.0.typelib" DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}/girepository-1.0") +- +-add_custom_target ("src" ALL DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/AyatanaAppIndicatorGlib-2.0.typelib") ++#TODO: gobject-introspection ++## AyatanaAppIndicatorGlib-2.0.gir ++# ++#find_package (GObjectIntrospection REQUIRED) ++# ++#add_custom_command ( ++# OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/AyatanaAppIndicatorGlib-2.0.gir" ++# DEPENDS "ayatana-appindicator-glib" ++# WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ++# COMMAND ++# ${INTROSPECTION_SCANNER} ++# ayatana-appindicator.c ayatana-appindicator.h ++# --add-include-path=${CMAKE_CURRENT_BINARY_DIR} ++# --c-include=libayatana-appindicator-glib/ayatana-appindicator.h ++# --symbol-prefix=app ++# --identifier-prefix=App ++# --namespace=AyatanaAppIndicatorGlib ++# --nsversion=2.0 ++# --quiet ++# --warn-all ++# --include=Gio-2.0 ++# --include=GObject-2.0 ++# --library-path=${CMAKE_CURRENT_BINARY_DIR} ++# --library="ayatana-appindicator-glib" ++# --output "${CMAKE_CURRENT_BINARY_DIR}/AyatanaAppIndicatorGlib-2.0.gir" ++#) ++# ++#install (FILES "${CMAKE_CURRENT_BINARY_DIR}/AyatanaAppIndicatorGlib-2.0.gir" DESTINATION "${CMAKE_INSTALL_FULL_DATADIR}/gir-1.0") ++# ++## AyatanaAppIndicatorGlib-2.0.typelib ++# ++#add_custom_command ( ++# OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/AyatanaAppIndicatorGlib-2.0.typelib" ++# DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/AyatanaAppIndicatorGlib-2.0.gir" ++# WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} ++# COMMAND ++# ${INTROSPECTION_COMPILER} ++# --includedir=${CMAKE_CURRENT_BINARY_DIR} ++# ${CMAKE_CURRENT_BINARY_DIR}/AyatanaAppIndicatorGlib-2.0.gir ++# -o "${CMAKE_CURRENT_BINARY_DIR}/AyatanaAppIndicatorGlib-2.0.typelib" ++#) ++# ++#install (FILES "${CMAKE_CURRENT_BINARY_DIR}/AyatanaAppIndicatorGlib-2.0.typelib" DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}/girepository-1.0") ++# ++#add_custom_target ("src" ALL DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/AyatanaAppIndicatorGlib-2.0.typelib") ++# +\ No newline at end of file diff --git a/recipes/wip/libs/gtk/libhandy/recipe.toml b/recipes/wip/libs/gtk/libhandy/recipe.toml new file mode 100644 index 00000000..84ca2d7e --- /dev/null +++ b/recipes/wip/libs/gtk/libhandy/recipe.toml @@ -0,0 +1,12 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.gnome.org/GNOME/libhandy#building +#TODO determine dependencies +[source] +git = "https://gitlab.gnome.org/GNOME/libhandy" +rev = "9b0071408ce86a3ef843806fddd723a85f6f2416" +[build] +template = "meson" +dependencies = [ + "glib", + "gtk3", +] diff --git a/recipes/wip/libs/gtk/libwnck3/recipe.toml b/recipes/wip/libs/gtk/libwnck3/recipe.toml new file mode 100644 index 00000000..f91a8ce0 --- /dev/null +++ b/recipes/wip/libs/gtk/libwnck3/recipe.toml @@ -0,0 +1,45 @@ +[source] +tar = "https://download.gnome.org/sources/libwnck/43/libwnck-43.3.tar.xz" +blake3 = "711e508f062cc90c660b56f21c5fd237db156ea51fe364fb5e9e766556c2de42" + +[build] +dependencies = [ + "atk", + "cairo", + "expat", + "fontconfig", + "freetype2", + "fribidi", + "gdk-pixbuf", + "gettext", + "glib", + "gtk3", + "harfbuzz", + "libepoxy", + "libffi", + "libiconv", + "libjpeg", + "libpng", + "libpthread-stubs", + "libx11", + "libxau", + "libxcb", + "libxext", + "libxfixes", + "libxft", + "libxi", + "libxrandr", + "libxrender", + "libxxf86vm", + "mesa-x11", + "pango", + "pcre2", + "pixman", + "shared-mime-info", + "x11proto", + "zlib", +] +template = "meson" +mesonflags = [ + "-Dintrospection=disabled", +] diff --git a/recipes/wip/libs/gtk/vte/recipe.toml b/recipes/wip/libs/gtk/vte/recipe.toml new file mode 100644 index 00000000..948971dd --- /dev/null +++ b/recipes/wip/libs/gtk/vte/recipe.toml @@ -0,0 +1,20 @@ +[source] +tar = "https://download.gnome.org/sources/vte/0.82/vte-0.82.1.tar.xz" +blake3 = "2d16b6808c0eaa801d59ccabcae13e76ccd6229869dad1efe0524a4c83b53a87" +patches = ["redox.patch"] + +[build] +dependencies = [ + "gnutls3", + "gtk3", + "lz4", + "simdutf", +] +template = "meson" +mesonflags = [ + "-Dgir=false", + "-Dgtk4=false", + "-Dvapi=false", + #TODO: package fast_float? + "--force-fallback-for=fast_float", +] diff --git a/recipes/wip/libs/gtk/vte/redox.patch b/recipes/wip/libs/gtk/vte/redox.patch new file mode 100644 index 00000000..3f3bda14 --- /dev/null +++ b/recipes/wip/libs/gtk/vte/redox.patch @@ -0,0 +1,63 @@ +diff -ruwN source-old/src/pty.cc source/src/pty.cc +--- source-old/src/pty.cc 2025-10-11 14:43:24.000000000 -0600 ++++ source/src/pty.cc 2025-11-17 17:54:03.387095202 -0700 +@@ -222,7 +222,7 @@ + if (peer_fd == -1) + _exit(127); + +-#ifdef TIOCSCTTY ++#if defined(TIOCSCTTY) && !defined(__redox__) + /* On linux, opening the PTY peer above already made it our controlling TTY (since + * previously there was none, after the setsid() call). However, it appears that e.g. + * on *BSD, that doesn't happen, so we need this explicit ioctl here. +diff -ruwN source-old/src/spawn.cc source/src/spawn.cc +--- source-old/src/spawn.cc 2025-10-11 14:43:24.000000000 -0600 ++++ source/src/spawn.cc 2025-11-17 17:53:20.394044419 -0700 +@@ -409,7 +409,7 @@ + if (peer_fd == -1) + return ExecError::GETPTPEER; + +-#ifdef TIOCSCTTY ++#if defined(TIOCSCTTY) && !defined(__redox__) + /* On linux, opening the PTY peer above already made it our controlling TTY (since + * previously there was none, after the setsid() call). However, it appears that e.g. + * on *BSD, that doesn't happen, so we need this explicit ioctl here. +diff -ruwN source-old/src/vte.cc source/src/vte.cc +--- source-old/src/vte.cc 2025-10-11 14:43:24.000000000 -0600 ++++ source/src/vte.cc 2025-11-17 17:54:44.394149937 -0700 +@@ -19,7 +19,9 @@ + #include "config.h" + + #include ++#if !defined(__redox__) + #include ++#endif + #include + #include + #include +diff -ruwN source-old/src/vteseq.cc source/src/vteseq.cc +--- source-old/src/vteseq.cc 2025-10-11 14:43:24.000000000 -0600 ++++ source/src/vteseq.cc 2025-11-17 17:59:27.278790468 -0700 +@@ -19,7 +19,9 @@ + + #include "config.h" + ++#if !defined(__redox__) + #include ++#endif + #include + #include + #include +diff -ruwN source-old/src/widget.cc source/src/widget.cc +--- source-old/src/widget.cc 2025-10-11 14:43:24.000000000 -0600 ++++ source/src/widget.cc 2025-11-17 18:22:10.229089619 -0700 +@@ -927,6 +927,9 @@ + } + + if (m_terminal->terminate_child()) { ++ #ifndef W_EXITCODE ++ #define W_EXITCODE(ret, sig) ((ret) << 8 | (sig)) ++ #endif + int status = W_EXITCODE(0, SIGKILL); + emit_child_exited(status); + } diff --git a/recipes/wip/libs/gtk/zenity/recipe.toml b/recipes/wip/libs/gtk/zenity/recipe.toml new file mode 100644 index 00000000..bc9f40ac --- /dev/null +++ b/recipes/wip/libs/gtk/zenity/recipe.toml @@ -0,0 +1,9 @@ +[source] +tar = "https://download.gnome.org/sources/zenity/3.44/zenity-3.44.5.tar.xz" +blake3 = "de4c662bd33107e9247c23d248e4b1b51a68994b01ecefda77422e1007b11c1e" + +[build] +dependencies = [ + "gtk3", +] +template = "meson" diff --git a/recipes/wip/libs/gui/clutter-gst/recipe.toml b/recipes/wip/libs/gui/clutter-gst/recipe.toml new file mode 100644 index 00000000..81b085dd --- /dev/null +++ b/recipes/wip/libs/gui/clutter-gst/recipe.toml @@ -0,0 +1,12 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.gnome.org/Archive/clutter-gst/-/blob/master/INSTALL +[source] +tar = "https://download.gnome.org/sources/clutter-gst/3.0/clutter-gst-3.0.27.tar.xz" +[build] +template = "configure" +dependencies = [ + "glib", + "cogl", + "clutter", + "gstreamer", +] diff --git a/recipes/wip/libs/gui/clutter-gtk/recipe.toml b/recipes/wip/libs/gui/clutter-gtk/recipe.toml new file mode 100644 index 00000000..3f4f8581 --- /dev/null +++ b/recipes/wip/libs/gui/clutter-gtk/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +# lacking build instructions +[source] +tar = "https://download.gnome.org/sources/clutter-gtk/1.8/clutter-gtk-1.8.4.tar.xz" +[build] +template = "meson" +dependencies = [ + "clutter", + "gtk3", +] diff --git a/recipes/wip/libs/gui/clutter/recipe.toml b/recipes/wip/libs/gui/clutter/recipe.toml new file mode 100644 index 00000000..975ec92d --- /dev/null +++ b/recipes/wip/libs/gui/clutter/recipe.toml @@ -0,0 +1,19 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.gnome.org/Archive/clutter#building-and-installation +[source] +tar = "https://download.gnome.org/sources/clutter/1.26/clutter-1.26.4.tar.xz" +[build] +template = "configure" +dependencies = [ + "glib", + "json-glib", + "atk", + "cairo", + "pango", + "cogl", + "libxcb", + "libxcomposite + "libxdamage", + "libxext", + "libxkbcommon", +] diff --git a/recipes/wip/libs/gui/cogl/recipe.toml b/recipes/wip/libs/gui/cogl/recipe.toml new file mode 100644 index 00000000..346d3fd0 --- /dev/null +++ b/recipes/wip/libs/gui/cogl/recipe.toml @@ -0,0 +1,13 @@ +#TODO not compiled or tested +[source] +tar = "https://download.gnome.org/sources/cogl/1.22/cogl-1.22.8.tar.xz" +[build] +template = "configure" +dependencies = [ + "mesa-x11", + "libxcomposite", + "libxdamage", + "libxext", + "libxfixes", + #"libwayland", +] diff --git a/recipes/wip/libs/gui/girara/recipe.toml b/recipes/wip/libs/gui/girara/recipe.toml new file mode 100644 index 00000000..c26f68cc --- /dev/null +++ b/recipes/wip/libs/gui/girara/recipe.toml @@ -0,0 +1,9 @@ +#TODO not compiled or tested +# build instructions: https://pwmt.org/projects/girara/installation/ +[source] +tar = "https://pwmt.org/projects/girara/download/girara-0.4.5.tar.xz" +[build] +template = "meson" +dependencies = [ + "gtk3", +] diff --git a/recipes/wip/libs/gui/imgui/recipe.toml b/recipes/wip/libs/gui/imgui/recipe.toml new file mode 100644 index 00000000..fd46155f --- /dev/null +++ b/recipes/wip/libs/gui/imgui/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# cmake information: https://github.com/ocornut/imgui/pull/3027 +[source] +git = "https://github.com/Qix-/imgui" +branch = "cmake" +[build] +template = "cmake" diff --git a/recipes/wip/libs/image/libavif/recipe.toml b/recipes/wip/libs/image/libavif/recipe.toml new file mode 100644 index 00000000..faa25b32 --- /dev/null +++ b/recipes/wip/libs/image/libavif/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://github.com/AOMediaCodec/libavif#build-notes +[source] +git = "https://github.com/AOMediaCodec/libavif" +rev = "ecf2dfc1ef2908e0f4ddb0fdc03dd8db831d8ae7" +[build] +template = "cmake" diff --git a/recipes/wip/libs/image/libgphoto2/recipe.toml b/recipes/wip/libs/image/libgphoto2/recipe.toml new file mode 100644 index 00000000..59879f13 --- /dev/null +++ b/recipes/wip/libs/image/libgphoto2/recipe.toml @@ -0,0 +1,5 @@ +#TODO can't find libtool +[source] +tar = "https://sourceforge.net/projects/gphoto/files/libgphoto/2.5.31/libgphoto2-2.5.31.tar.xz/download" +[build] +template = "configure" diff --git a/recipes/wip/libs/image/libheif/recipe.toml b/recipes/wip/libs/image/libheif/recipe.toml new file mode 100644 index 00000000..532fd6b0 --- /dev/null +++ b/recipes/wip/libs/image/libheif/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +# build instructions: https://github.com/strukturag/libheif#compiling +[source] +tar = "https://github.com/strukturag/libheif/releases/download/v1.17.5/libheif-1.17.5.tar.gz" +[build] +template = "cmake" +dependencies = [ + "x265", + "libde265", +] diff --git a/recipes/wip/libs/image/libjxl/recipe.toml b/recipes/wip/libs/image/libjxl/recipe.toml new file mode 100644 index 00000000..fc048b2c --- /dev/null +++ b/recipes/wip/libs/image/libjxl/recipe.toml @@ -0,0 +1,15 @@ +#TODO not compiled or tested +# build instructions: https://github.com/libjxl/libjxl/blob/main/BUILDING.md +[source] +git = "https://github.com/libjxl/libjxl" +rev = "954b460768c08a147abf47689ad69b0e7beff65e" +[build] +template = "cmake" +dependencies = [ + "libbrotli", + "libjpeg", + "libgif", + "libpng", + "libwebp", + "openexr", +] diff --git a/recipes/wip/libs/image/libraw/recipe.toml b/recipes/wip/libs/image/libraw/recipe.toml new file mode 100644 index 00000000..78275719 --- /dev/null +++ b/recipes/wip/libs/image/libraw/recipe.toml @@ -0,0 +1,12 @@ +#TODO compilation error +#TODO make libjasper work +[source] +tar = "https://www.libraw.org/data/LibRaw-0.21.1.tar.gz" +[build] +template = "configure" +dependencies = [ + "zlib", + #"libjasper", + "libjpeg", + "liblcms", +] diff --git a/recipes/wip/libs/image/librsvg/recipe.toml b/recipes/wip/libs/image/librsvg/recipe.toml new file mode 100644 index 00000000..14e44666 --- /dev/null +++ b/recipes/wip/libs/image/librsvg/recipe.toml @@ -0,0 +1,26 @@ +#TODO: version 2.59 and newer require cargo-c +[source] +tar = "https://download.gnome.org/sources/librsvg/2.58/librsvg-2.58.5.tar.xz" +blake3 = "15ccac6309992ced51128825e9c3ebeb041705aeb8371507ffc4cebb6a1e4ce5" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "cairo", + "freetype2", + "gdk-pixbuf", + "glib", + "harfbuzz", + "libffi", + "libxml2", + "pango", +] +template = "custom" +script = """ +DYNAMIC_INIT +export GDK_PIXBUF_QUERYLOADERS="/usr/lib/$(cc -dumpmachine)/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders" +cookbook_configure --disable-introspection +""" \ No newline at end of file diff --git a/recipes/wip/libs/image/libsixel/recipe.toml b/recipes/wip/libs/image/libsixel/recipe.toml new file mode 100644 index 00000000..94078fda --- /dev/null +++ b/recipes/wip/libs/image/libsixel/recipe.toml @@ -0,0 +1,16 @@ +#TODO can't find libjpeg +[source] +tar = "https://github.com/saitoha/libsixel/releases/download/v1.8.6/libsixel-1.8.6.tar.gz" +[build] +template = "custom" +dependencies = [ + "libpng", + "libjpeg", +] +script = """ +COOKBOOK_CONFIGURE_FLAGS+=( + --with-jpeg + --with-png +) +cookbook_configure +""" diff --git a/recipes/wip/libs/image/libwebp/recipe.toml b/recipes/wip/libs/image/libwebp/recipe.toml new file mode 100644 index 00000000..5578ebc9 --- /dev/null +++ b/recipes/wip/libs/image/libwebp/recipe.toml @@ -0,0 +1,20 @@ +[source] +tar = "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.5.0.tar.gz" +blake3 = "8272270920a317b854b059e86c320dbdb5a2032937072bbfd5f3304d601a92cb" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "libgif", + "libjpeg", + "libpng", + "libtiff", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/libs/image/libwebp2/recipe.toml b/recipes/wip/libs/image/libwebp2/recipe.toml new file mode 100644 index 00000000..2bc5b9ae --- /dev/null +++ b/recipes/wip/libs/image/libwebp2/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://chromium.googlesource.com/codecs/libwebp2/#compiling +[source] +git = "https://chromium.googlesource.com/codecs/libwebp2" +[build] +template = "cmake" diff --git a/recipes/wip/libs/kf5/kf5-activities-stats/recipe.toml b/recipes/wip/libs/kf5/kf5-activities-stats/recipe.toml new file mode 100644 index 00000000..4d684d0d --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-activities-stats/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kactivities-stats-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-activities/recipe.toml b/recipes/wip/libs/kf5/kf5-activities/recipe.toml new file mode 100644 index 00000000..0f9b9e6d --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-activities/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kactivities-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-apidox/recipe.toml b/recipes/wip/libs/kf5/kf5-apidox/recipe.toml new file mode 100644 index 00000000..2b4073c7 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-apidox/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kapidox-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-archive/recipe.toml b/recipes/wip/libs/kf5/kf5-archive/recipe.toml new file mode 100644 index 00000000..5578c6b4 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-archive/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, see https://invent.kde.org/frameworks/karchive/-/blob/master/INSTALL?ref_type=heads +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/karchive-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-attica/recipe.toml b/recipes/wip/libs/kf5/kf5-attica/recipe.toml new file mode 100644 index 00000000..27d31f4b --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-attica/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/attica-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-auth/recipe.toml b/recipes/wip/libs/kf5/kf5-auth/recipe.toml new file mode 100644 index 00000000..2f4275f3 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-auth/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kauth-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-baloo/recipe.toml b/recipes/wip/libs/kf5/kf5-baloo/recipe.toml new file mode 100644 index 00000000..5b395c8c --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-baloo/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/baloo-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-bookmarks/recipe.toml b/recipes/wip/libs/kf5/kf5-bookmarks/recipe.toml new file mode 100644 index 00000000..5c2754ee --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-bookmarks/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kbookmarks-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-calendarcore/recipe.toml b/recipes/wip/libs/kf5/kf5-calendarcore/recipe.toml new file mode 100644 index 00000000..7d75fda9 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-calendarcore/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kcalendarcore-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-cmake-modules/recipe.toml b/recipes/wip/libs/kf5/kf5-cmake-modules/recipe.toml new file mode 100644 index 00000000..9cf7db39 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-cmake-modules/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/extra-cmake-modules-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-cmutils/recipe.toml b/recipes/wip/libs/kf5/kf5-cmutils/recipe.toml new file mode 100644 index 00000000..f1b9a0ae --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-cmutils/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kcmutils-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-codecs/recipe.toml b/recipes/wip/libs/kf5/kf5-codecs/recipe.toml new file mode 100644 index 00000000..333788a7 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-codecs/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kcodecs-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-completion/recipe.toml b/recipes/wip/libs/kf5/kf5-completion/recipe.toml new file mode 100644 index 00000000..fec43620 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-completion/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kcompletion-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-config/recipe.toml b/recipes/wip/libs/kf5/kf5-config/recipe.toml new file mode 100644 index 00000000..63914aa9 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-config/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kconfig-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-configwidgets/recipe.toml b/recipes/wip/libs/kf5/kf5-configwidgets/recipe.toml new file mode 100644 index 00000000..4c51ea87 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-configwidgets/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kconfigwidgets-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-contacts/recipe.toml b/recipes/wip/libs/kf5/kf5-contacts/recipe.toml new file mode 100644 index 00000000..b5829009 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-contacts/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kcontacts-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-coreaddons/recipe.toml b/recipes/wip/libs/kf5/kf5-coreaddons/recipe.toml new file mode 100644 index 00000000..088f7e64 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-coreaddons/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kcoreaddons-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-crash/recipe.toml b/recipes/wip/libs/kf5/kf5-crash/recipe.toml new file mode 100644 index 00000000..a9093fb8 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-crash/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kcrash-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-dav/recipe.toml b/recipes/wip/libs/kf5/kf5-dav/recipe.toml new file mode 100644 index 00000000..4c873a5f --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-dav/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kdav-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-dbusaddons/recipe.toml b/recipes/wip/libs/kf5/kf5-dbusaddons/recipe.toml new file mode 100644 index 00000000..db0c7eae --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-dbusaddons/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kdbusaddons-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-declarative/recipe.toml b/recipes/wip/libs/kf5/kf5-declarative/recipe.toml new file mode 100644 index 00000000..a45a0080 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-declarative/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kdeclarative-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-dnssd/recipe.toml b/recipes/wip/libs/kf5/kf5-dnssd/recipe.toml new file mode 100644 index 00000000..6272ce65 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-dnssd/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kdnssd-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-doctools/recipe.toml b/recipes/wip/libs/kf5/kf5-doctools/recipe.toml new file mode 100644 index 00000000..a7812d08 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-doctools/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kdoctools-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-emoticons/recipe.toml b/recipes/wip/libs/kf5/kf5-emoticons/recipe.toml new file mode 100644 index 00000000..2d6c9271 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-emoticons/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kemoticons-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-filemetadata/recipe.toml b/recipes/wip/libs/kf5/kf5-filemetadata/recipe.toml new file mode 100644 index 00000000..16e1794b --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-filemetadata/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kfilemetadata-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-frameworkintegration/recipe.toml b/recipes/wip/libs/kf5/kf5-frameworkintegration/recipe.toml new file mode 100644 index 00000000..06ab5bca --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-frameworkintegration/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/frameworkintegration-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-globalaccel/recipe.toml b/recipes/wip/libs/kf5/kf5-globalaccel/recipe.toml new file mode 100644 index 00000000..834c4109 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-globalaccel/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kglobalaccel-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-guiaddons/recipe.toml b/recipes/wip/libs/kf5/kf5-guiaddons/recipe.toml new file mode 100644 index 00000000..d4e28655 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-guiaddons/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kguiaddons-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-holidays/recipe.toml b/recipes/wip/libs/kf5/kf5-holidays/recipe.toml new file mode 100644 index 00000000..f7464829 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-holidays/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kholidays-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-i18n/recipe.toml b/recipes/wip/libs/kf5/kf5-i18n/recipe.toml new file mode 100644 index 00000000..9d763409 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-i18n/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/ki18n-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-iconthemes/recipe.toml b/recipes/wip/libs/kf5/kf5-iconthemes/recipe.toml new file mode 100644 index 00000000..65df52b6 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-iconthemes/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kiconthemes-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-idletime/recipe.toml b/recipes/wip/libs/kf5/kf5-idletime/recipe.toml new file mode 100644 index 00000000..2f81d93e --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-idletime/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kidletime-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-init/recipe.toml b/recipes/wip/libs/kf5/kf5-init/recipe.toml new file mode 100644 index 00000000..e6df78a7 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-init/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kinit-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-io/recipe.toml b/recipes/wip/libs/kf5/kf5-io/recipe.toml new file mode 100644 index 00000000..ea49c5b8 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-io/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kio-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-itemmodels/recipe.toml b/recipes/wip/libs/kf5/kf5-itemmodels/recipe.toml new file mode 100644 index 00000000..0120f605 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-itemmodels/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kitemmodels-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-itemviews/recipe.toml b/recipes/wip/libs/kf5/kf5-itemviews/recipe.toml new file mode 100644 index 00000000..51849a65 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-itemviews/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kitemviews-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-jobwidgets/recipe.toml b/recipes/wip/libs/kf5/kf5-jobwidgets/recipe.toml new file mode 100644 index 00000000..f8380024 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-jobwidgets/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kjobwidgets-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-kded/recipe.toml b/recipes/wip/libs/kf5/kf5-kded/recipe.toml new file mode 100644 index 00000000..f983a368 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-kded/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kded-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-kdesu/recipe.toml b/recipes/wip/libs/kf5/kf5-kdesu/recipe.toml new file mode 100644 index 00000000..a878b1cd --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-kdesu/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kdesu-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-kirigami/recipe.toml b/recipes/wip/libs/kf5/kf5-kirigami/recipe.toml new file mode 100644 index 00000000..14f16f45 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-kirigami/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kirigami-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-modem-manager/recipe.toml b/recipes/wip/libs/kf5/kf5-modem-manager/recipe.toml new file mode 100644 index 00000000..d934ab28 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-modem-manager/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/modemmanager-qt5-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-networkmanager/recipe.toml b/recipes/wip/libs/kf5/kf5-networkmanager/recipe.toml new file mode 100644 index 00000000..4e374638 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-networkmanager/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/networkmanager-qt5-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-newstuff/recipe.toml b/recipes/wip/libs/kf5/kf5-newstuff/recipe.toml new file mode 100644 index 00000000..f5736ca3 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-newstuff/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/knewstuff-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-notifications/recipe.toml b/recipes/wip/libs/kf5/kf5-notifications/recipe.toml new file mode 100644 index 00000000..bea54a4e --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-notifications/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/knotifications-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-notifyconfig/recipe.toml b/recipes/wip/libs/kf5/kf5-notifyconfig/recipe.toml new file mode 100644 index 00000000..f1bae313 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-notifyconfig/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/knotifyconfig-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-package/recipe.toml b/recipes/wip/libs/kf5/kf5-package/recipe.toml new file mode 100644 index 00000000..bededd5e --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-package/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kpackage-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-parts/recipe.toml b/recipes/wip/libs/kf5/kf5-parts/recipe.toml new file mode 100644 index 00000000..5251ea3a --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-parts/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for building, lacking build instructions +[source] +tar = "https://invent.kde.org/frameworks/kparts/-/archive/v5.112.0/kparts-v5.112.0.tar.bz2" +[build] +template = "custom" diff --git a/recipes/wip/libs/kf5/kf5-people/recipe.toml b/recipes/wip/libs/kf5/kf5-people/recipe.toml new file mode 100644 index 00000000..61bdbad2 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-people/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kpeople-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-plasma-framework/recipe.toml b/recipes/wip/libs/kf5/kf5-plasma-framework/recipe.toml new file mode 100644 index 00000000..f42423a9 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-plasma-framework/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/plasma-framework-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-plotting/recipe.toml b/recipes/wip/libs/kf5/kf5-plotting/recipe.toml new file mode 100644 index 00000000..c0b9511c --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-plotting/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kplotting-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-prison/recipe.toml b/recipes/wip/libs/kf5/kf5-prison/recipe.toml new file mode 100644 index 00000000..81a48904 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-prison/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplte script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/prison-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-pty/recipe.toml b/recipes/wip/libs/kf5/kf5-pty/recipe.toml new file mode 100644 index 00000000..62d809cc --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-pty/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kpty-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-purpose/recipe.toml b/recipes/wip/libs/kf5/kf5-purpose/recipe.toml new file mode 100644 index 00000000..c5e260e2 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-purpose/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/purpose-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-qqc2-desktop-style/recipe.toml b/recipes/wip/libs/kf5/kf5-qqc2-desktop-style/recipe.toml new file mode 100644 index 00000000..c64dcb2a --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-qqc2-desktop-style/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/qqc2-desktop-style-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-quickcharts/recipe.toml b/recipes/wip/libs/kf5/kf5-quickcharts/recipe.toml new file mode 100644 index 00000000..5ae32274 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-quickcharts/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kquickcharts-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-runner/recipe.toml b/recipes/wip/libs/kf5/kf5-runner/recipe.toml new file mode 100644 index 00000000..18a44150 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-runner/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/krunner-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-service/recipe.toml b/recipes/wip/libs/kf5/kf5-service/recipe.toml new file mode 100644 index 00000000..65ea3bc4 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-service/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kservice-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-solid/recipe.toml b/recipes/wip/libs/kf5/kf5-solid/recipe.toml new file mode 100644 index 00000000..3025bb02 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-solid/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/solid-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-sonnet/recipe.toml b/recipes/wip/libs/kf5/kf5-sonnet/recipe.toml new file mode 100644 index 00000000..1f9f1387 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-sonnet/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/sonnet-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-syndication/recipe.toml b/recipes/wip/libs/kf5/kf5-syndication/recipe.toml new file mode 100644 index 00000000..a99344ea --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-syndication/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/syndication-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-syntax-highlighting/recipe.toml b/recipes/wip/libs/kf5/kf5-syntax-highlighting/recipe.toml new file mode 100644 index 00000000..74e0dda7 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-syntax-highlighting/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/syntax-highlighting-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-sysguard/recipe.toml b/recipes/wip/libs/kf5/kf5-sysguard/recipe.toml new file mode 100644 index 00000000..3135b3be --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-sysguard/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for building, lacking build instructions +[source] +tar = "https://invent.kde.org/plasma/libksysguard/-/archive/v5.27.10/libksysguard-v5.27.10.tar.bz2" +[build] +template = "custom" diff --git a/recipes/wip/libs/kf5/kf5-texteditor/recipe.toml b/recipes/wip/libs/kf5/kf5-texteditor/recipe.toml new file mode 100644 index 00000000..f8f2ed56 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-texteditor/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/ktexteditor-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-textwidgets/recipe.toml b/recipes/wip/libs/kf5/kf5-textwidgets/recipe.toml new file mode 100644 index 00000000..de286721 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-textwidgets/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/ktextwidgets-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-threadweaver/recipe.toml b/recipes/wip/libs/kf5/kf5-threadweaver/recipe.toml new file mode 100644 index 00000000..3943c71c --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-threadweaver/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/threadweaver-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-unitconversion/recipe.toml b/recipes/wip/libs/kf5/kf5-unitconversion/recipe.toml new file mode 100644 index 00000000..418bc9cd --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-unitconversion/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kunitconversion-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-wayland/recipe.toml b/recipes/wip/libs/kf5/kf5-wayland/recipe.toml new file mode 100644 index 00000000..b298ff58 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-wayland/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kwayland-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-widgetaddons/recipe.toml b/recipes/wip/libs/kf5/kf5-widgetaddons/recipe.toml new file mode 100644 index 00000000..01916dc3 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-widgetaddons/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kwidgetaddons-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-windowsystem/recipe.toml b/recipes/wip/libs/kf5/kf5-windowsystem/recipe.toml new file mode 100644 index 00000000..fb90653a --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-windowsystem/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kwindowsystem-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf5/kf5-xmlgui/recipe.toml b/recipes/wip/libs/kf5/kf5-xmlgui/recipe.toml new file mode 100644 index 00000000..0ded2726 --- /dev/null +++ b/recipes/wip/libs/kf5/kf5-xmlgui/recipe.toml @@ -0,0 +1,20 @@ +#TODO maybe incomplete script, lacking build instructions +[source] +tar = "https://download.kde.org/stable/frameworks/5.112/kxmlgui-5.112.0.tar.xz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE="cmake" +COOKBOOK_CONFIGURE_FLAGS=( + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_CROSSCOMPILING=True + -DCMAKE_EXE_LINKER_FLAGS="-static" + -DCMAKE_INSTALL_PREFIX="/" + -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" + -DCMAKE_SYSTEM_NAME=Generic + -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" + -DCMAKE_VERBOSE_MAKEFILE=On +"${COOKBOOK_SOURCE}" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/kf6/kcodecs6/recipe.toml b/recipes/wip/libs/kf6/kcodecs6/recipe.toml new file mode 100644 index 00000000..96b16e6c --- /dev/null +++ b/recipes/wip/libs/kf6/kcodecs6/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.kde.org/stable/frameworks/6.19/kcodecs-6.19.0.tar.xz" +[build] +template = "cmake" diff --git a/recipes/wip/libs/kf6/ktexteditor6/recipe.toml b/recipes/wip/libs/kf6/ktexteditor6/recipe.toml new file mode 100644 index 00000000..e6ebeec0 --- /dev/null +++ b/recipes/wip/libs/kf6/ktexteditor6/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.kde.org/stable/frameworks/6.19/ktexteditor-6.19.0.tar.xz" +[build] +template = "cmake" diff --git a/recipes/wip/libs/lua/lpeg/recipe.toml b/recipes/wip/libs/lua/lpeg/recipe.toml new file mode 100644 index 00000000..484e5b3a --- /dev/null +++ b/recipes/wip/libs/lua/lpeg/recipe.toml @@ -0,0 +1,15 @@ +[source] +tar = "https://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.1.0.tar.gz" + +[build] +template = "custom" +dependencies = [ + "luajit", +] +script = """ +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ +make linux CC="${CC} -I${COOKBOOK_SYSROOT}/include/luajit-2.1" +mkdir -p ${COOKBOOK_STAGE}/usr/lib/pkgconfig +cp lpeg.so ${COOKBOOK_STAGE}/usr/lib/liblpeg.so.1 +ln -s "liblpeg.so.1" ${COOKBOOK_STAGE}/usr/lib/liblpeg.so +""" \ No newline at end of file diff --git a/recipes/wip/libs/ml/libtorch/recipe.toml b/recipes/wip/libs/ml/libtorch/recipe.toml new file mode 100644 index 00000000..535bfaee --- /dev/null +++ b/recipes/wip/libs/ml/libtorch/recipe.toml @@ -0,0 +1,11 @@ +#TODO not compiled or tested +# build instructions: https://github.com/pytorch/pytorch/blob/main/docs/libtorch.rst#building-libtorch-using-cmake +[source] +git = "https://github.com/pytorch/pytorch" +branch = "release/2.3" +[build] +template = "cmake" +cmakeflags = [ + "-DPYTHON_EXECUTABLE=`which python3`", + "-DCMAKE_INSTALL_PREFIX=../pytorch-install ../pytorch", +] diff --git a/recipes/wip/libs/mobile/libimobiledevice/recipe.toml b/recipes/wip/libs/mobile/libimobiledevice/recipe.toml new file mode 100644 index 00000000..6e8e4419 --- /dev/null +++ b/recipes/wip/libs/mobile/libimobiledevice/recipe.toml @@ -0,0 +1,11 @@ +#TODO not compiled or tested +[source] +tar = "https://github.com/libimobiledevice/libimobiledevice/releases/download/1.3.0/libimobiledevice-1.3.0.tar.bz2" +[build] +template = "configure" +dependencies = [ + "libtatsu", + "libplist", + "libusbmuxd", + "openssl1", +] diff --git a/recipes/wip/libs/mobile/libusbmuxd/recipe.toml b/recipes/wip/libs/mobile/libusbmuxd/recipe.toml new file mode 100644 index 00000000..b690aec2 --- /dev/null +++ b/recipes/wip/libs/mobile/libusbmuxd/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +tar = "https://github.com/libimobiledevice/libusbmuxd/releases/download/2.1.0/libusbmuxd-2.1.0.tar.bz2" +[build] +template = "configure" +dependencies = [ + "libplist", +] diff --git a/recipes/wip/libs/mozjs/recipe.toml b/recipes/wip/libs/mozjs/recipe.toml new file mode 100644 index 00000000..611d45b5 --- /dev/null +++ b/recipes/wip/libs/mozjs/recipe.toml @@ -0,0 +1,40 @@ +#TODO "No suitable wgpu::Adapter found" error on execution +[source] +git = "https://gitlab.redox-os.org/njskalski/mozjs.git" +branch = "redox_mods" +[build] +template = "custom" + +#these dependencies are copied from Servo recipe. Some of them may be redundant, but I needed to reproduce the build bug. +dependencies = [ + "freetype2", + "gettext", + "glib", + "gstreamer", + "harfbuzz", + "libffi", + "libiconv", + "libx11", + "libxcb", + "libpng", + "openssl1", + "pcre", + "zlib", + + "x11proto", + "x11proto-kb", + "xcb-proto", + "xextproto", + "libxau", + "libpthread-stubs", + "fontconfig", + "expat", + "llvm18", + "gcc13", +] + +script = """ +# Build the library crates +"${COOKBOOK_REDOXER}" build --manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" --workspace --release +# Library crates don't need installation, they're used as dependencies +""" diff --git a/recipes/wip/libs/net/c-ares/recipe.toml b/recipes/wip/libs/net/c-ares/recipe.toml new file mode 100644 index 00000000..299898dc --- /dev/null +++ b/recipes/wip/libs/net/c-ares/recipe.toml @@ -0,0 +1,6 @@ +[source] +git = "https://github.com/c-ares/c-ares" +rev = "d3a507e920e7af18a5efb7f9f1d8044ed4750013" # 1.34.5 + +[build] +template = "cmake" diff --git a/recipes/wip/libs/net/glib-networking/recipe.toml b/recipes/wip/libs/net/glib-networking/recipe.toml new file mode 100644 index 00000000..f5cb23d8 --- /dev/null +++ b/recipes/wip/libs/net/glib-networking/recipe.toml @@ -0,0 +1,18 @@ +[source] +tar = "https://download.gnome.org/sources/glib-networking/2.80/glib-networking-2.80.1.tar.xz" +blake3 = "114a3ea41ea33d8cd01a61381b49fbf60278212ddd88c65f70c26137217be3fd" +patches = ["redox.patch"] + +[build] +template = "custom" +dependencies = [ + "glib", + "gnutls3", +] +script = """ +DYNAMIC_INIT +cookbook_meson \ + -Ddefault_library=shared \ + -Dgnome_proxy=disabled \ + -Dlibproxy=disabled +""" diff --git a/recipes/wip/libs/net/glib-networking/redox.patch b/recipes/wip/libs/net/glib-networking/redox.patch new file mode 100644 index 00000000..b0aaeb43 --- /dev/null +++ b/recipes/wip/libs/net/glib-networking/redox.patch @@ -0,0 +1,12 @@ +diff -ruwN source-old/tls/tests/meson.build source/tls/tests/meson.build +--- source-old/tls/tests/meson.build 2025-01-08 14:51:06.000000000 -0700 ++++ source/tls/tests/meson.build 2025-11-10 20:33:28.041098208 -0700 +@@ -40,7 +40,7 @@ + test_programs = [ + ['certificate', [], deps, [], [mock_pkcs11_module]], + ['file-database', [], deps, [], []], +- ['connection', ['mock-interaction.c'], deps, [], [mock_pkcs11_module]], ++ #TODO: RTLD_NEXT on Redox: ['connection', ['mock-interaction.c'], deps, [], [mock_pkcs11_module]], + # DTLS tests are disabled until we fix https://gitlab.gnome.org/GNOME/glib-networking/issues/49 + # ['dtls-connection', ['mock-interaction.c', 'lossy-socket.c'], deps, [], [mock_pkcs11_module]], + ] diff --git a/recipes/wip/libs/net/libfilezilla/recipe.toml b/recipes/wip/libs/net/libfilezilla/recipe.toml new file mode 100644 index 00000000..991b9a1c --- /dev/null +++ b/recipes/wip/libs/net/libfilezilla/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +# build instructions - https://svn.filezilla-project.org/filezilla/libfilezilla/trunk/INSTALL?view=markup +[source] +tar = "https://dl2.cdn.filezilla-project.org/libfilezilla/libfilezilla-0.48.1.tar.xz?h=ABnRzj5uctW-vLCfNWW5mQ&x=1722822577" +[build] +template = "configure" +dependencies = [ + "libnettle", + "gnutls3", +] diff --git a/recipes/wip/libs/net/libidn/recipe.toml b/recipes/wip/libs/net/libidn/recipe.toml new file mode 100644 index 00000000..f99833f8 --- /dev/null +++ b/recipes/wip/libs/net/libidn/recipe.toml @@ -0,0 +1,9 @@ +#TODO fix libunistring +[source] +tar = "https://ftp.gnu.org/gnu/libidn/libidn2-2.3.7.tar.gz" +[build] +template = "configure" +dependencies = [ + "libunistring", + "libiconv", +] diff --git a/recipes/wip/libs/net/libtirpc/recipe.toml b/recipes/wip/libs/net/libtirpc/recipe.toml new file mode 100644 index 00000000..47088993 --- /dev/null +++ b/recipes/wip/libs/net/libtirpc/recipe.toml @@ -0,0 +1,15 @@ +#TODO: does not compile +[source] +tar = "https://downloads.sourceforge.net/libtirpc/libtirpc-1.3.6.tar.bz2" +blake3 = "3ca1feefee3a216bb82bba35dfb455cac8524b8d8404767b01772f3b8fd00eea" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure --disable-gssapi +""" diff --git a/recipes/wip/libs/net/libtorrent/recipe.toml b/recipes/wip/libs/net/libtorrent/recipe.toml new file mode 100644 index 00000000..6568ca2f --- /dev/null +++ b/recipes/wip/libs/net/libtorrent/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for bbv2, see - https://libtorrent.org/building.html +[source] +tar = "https://github.com/arvidn/libtorrent/releases/download/v2.0.11/libtorrent-rasterbar-2.0.11.tar.gz" +[build] +template = "custom" diff --git a/recipes/wip/libs/net/nghttp3/recipe.toml b/recipes/wip/libs/net/nghttp3/recipe.toml new file mode 100644 index 00000000..1a4e01f1 --- /dev/null +++ b/recipes/wip/libs/net/nghttp3/recipe.toml @@ -0,0 +1,6 @@ +[source] +git = "https://github.com/ngtcp2/nghttp3" +rev = "f3eb315feda478cdb4919720a7961c0321e1bd89" # 1.14.0 + +[build] +template = "cmake" diff --git a/recipes/wip/libs/net/ngtcp2/recipe.toml b/recipes/wip/libs/net/ngtcp2/recipe.toml new file mode 100644 index 00000000..bc31da49 --- /dev/null +++ b/recipes/wip/libs/net/ngtcp2/recipe.toml @@ -0,0 +1,14 @@ +#TODO Maybe need openssl 1.1.1 +[source] +git = "https://github.com/ngtcp2/ngtcp2" +rev = "e9fe10e0e8b3ce646fa88b4217864f29b4e013d9" # 1.14.0 + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +COOKBOOK_CMAKE_FLAGS+=( + -DENABLE_OPENSSL=OFF +) +cookbook_cmake +""" diff --git a/recipes/wip/libs/other/appstream/recipe.toml b/recipes/wip/libs/other/appstream/recipe.toml new file mode 100644 index 00000000..2508aa9f --- /dev/null +++ b/recipes/wip/libs/other/appstream/recipe.toml @@ -0,0 +1,13 @@ +#TODO not compiled or tested +# build instructions: https://github.com/ximion/appstream#build--install +#TODO missing dependencies +[source] +tar = "https://www.freedesktop.org/software/appstream/releases/AppStream-1.1.1.tar.xz" +[build] +template = "meson" +dependencies = [ + "glib", + "gobject-introspection", + "libxml2", + "curl", +] diff --git a/recipes/wip/libs/other/atkmm/recipe.toml b/recipes/wip/libs/other/atkmm/recipe.toml new file mode 100644 index 00000000..903f7495 --- /dev/null +++ b/recipes/wip/libs/other/atkmm/recipe.toml @@ -0,0 +1,9 @@ +#TODO make atk work +#TODO probably wrong script, see https://gitlab.gnome.org/GNOME/atkmm +[source] +tar = "https://download.gnome.org/sources/atkmm/2.36/atkmm-2.36.2.tar.xz" +[build] +template = "configure" +dependencies = [ + "atk", +] diff --git a/recipes/wip/libs/other/aws-lc-rs/recipe.toml b/recipes/wip/libs/other/aws-lc-rs/recipe.toml new file mode 100644 index 00000000..3ef8828a --- /dev/null +++ b/recipes/wip/libs/other/aws-lc-rs/recipe.toml @@ -0,0 +1,15 @@ +[source] +git = "https://gitlab.redox-os.org/njskalski/aws-lc-rs.git" +branch = "redox_mods" +[build] +template = "custom" + +script = """ + # we need HOST != TARGET, because otherwise we get this error: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95189 + # by this line https://gitlab.redox-os.org/njskalski/aws-lc-rs/-/blob/main/aws-lc-sys/builder/cc_builder.rs#L493 + export HOST=x86_64-linux-gnu + + rsync -a --delete "${COOKBOOK_SOURCE}/" ./ + cargo build -p aws-lc-sys --target ${TARGET} --release + cargo build -p aws-lc-rs --target ${TARGET} --release +""" diff --git a/recipes/wip/libs/other/babl/recipe.toml b/recipes/wip/libs/other/babl/recipe.toml new file mode 100644 index 00000000..55760166 --- /dev/null +++ b/recipes/wip/libs/other/babl/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.gnome.org/GNOME/babl/-/blob/master/INSTALL.in?ref_type=heads +[source] +tar = "https://download.gimp.org/pub/babl/0.1/babl-0.1.106.tar.xz" +[build] +template = "meson" diff --git a/recipes/wip/libs/other/boost/recipe.toml b/recipes/wip/libs/other/boost/recipe.toml new file mode 100644 index 00000000..d4903267 --- /dev/null +++ b/recipes/wip/libs/other/boost/recipe.toml @@ -0,0 +1,34 @@ +# TODO: +# * Some libraries require openat or have deps that require openat +# * wchar.h needs some work before Boost is usable + +[source] +tar = "https://archives.boost.io/release/1.87.0/source/boost_1_87_0.tar.gz" +blake3 = "9c6eb6bb7866aeb595e14279fcc5a5c7f2279dd41e946e14e2c3d5c1fb8358d3" + +[build] +template = "custom" +dependencies = [ + # "libicu", + # "liblzma", + # "bzip2", + # "zlib", + # "zstd", +] +script = """ +BOOST_ROOT="${COOKBOOK_STAGE}/usr" +mkdir -p "${BOOST_ROOT}" + +pushd "${COOKBOOK_SOURCE}" + +# Help the bootstrap tool detect our cross compilers +# See: https://www.boost.org/build/doc/html/bbv2/overview/configuration.html +# I'm not entirely sure which directory to place it in, so I put the conf in both +echo "using gcc : : ${TARGET}-gcc ;" >| user-config.jam +cp -v user-config.jam tools/build/src/ + +./bootstrap.sh --prefix="${BOOST_ROOT}" --with-toolset=gcc +./b2 -d2 install + +popd +""" diff --git a/recipes/wip/libs/other/bullet-physics/recipe.toml b/recipes/wip/libs/other/bullet-physics/recipe.toml new file mode 100644 index 00000000..9ebbf930 --- /dev/null +++ b/recipes/wip/libs/other/bullet-physics/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://github.com/bulletphysics/bullet3#build-instructions-for-bullet-using-premake-you-can-also-use-cmake-instead +[source] +git = "https://github.com/bulletphysics/bullet3" +rev = "2c204c49e56ed15ec5fcfa71d199ab6d6570b3f5" +[build] +template = "cmake" diff --git a/recipes/wip/libs/other/cairomm10+/recipe.toml b/recipes/wip/libs/other/cairomm10+/recipe.toml new file mode 100644 index 00000000..81b53b05 --- /dev/null +++ b/recipes/wip/libs/other/cairomm10+/recipe.toml @@ -0,0 +1,8 @@ +#TODO patch the GNU Autotools configuration to recognize Redox +[source] +tar = "https://www.cairographics.org/releases/cairomm-1.15.5.tar.gz" +[build] +template = "configure" +dependencies = [ + "cairo", +] diff --git a/recipes/wip/libs/other/cairomm116+/recipe.toml b/recipes/wip/libs/other/cairomm116+/recipe.toml new file mode 100644 index 00000000..e0faf6d0 --- /dev/null +++ b/recipes/wip/libs/other/cairomm116+/recipe.toml @@ -0,0 +1,14 @@ +#TODO mm-common-prepare: not found +[source] +tar = "https://www.cairographics.org/releases/cairomm-1.18.0.tar.xz" +script = "./autogen.sh" +[build] +template = "custom" +dependencies = [ + "cairo", +] +script = """ +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ +COOKBOOK_CONFIGURE="./configure" +cookbook_configure +""" diff --git a/recipes/wip/libs/other/dcmtk/recipe.toml b/recipes/wip/libs/other/dcmtk/recipe.toml new file mode 100644 index 00000000..5ab1bfe9 --- /dev/null +++ b/recipes/wip/libs/other/dcmtk/recipe.toml @@ -0,0 +1,15 @@ +#TODO not compiled or tested +# build instructions: https://git.dcmtk.org/?p=dcmtk.git;a=blob;f=INSTALL;h=97087f9a05e65040264d90027912c736958e67f3;hb=HEAD#l667 +[source] +tar = "https://dicom.offis.de/download/dcmtk/dcmtk367/dcmtk-3.6.7.tar.gz" +[build] +template = "cmake" +dependencies = [ + "libiconv", + "libicu", + "libpng", + "libxml2", + "libtiff", + "zlib", + "openjpeg", +] diff --git a/recipes/wip/libs/other/dspy/recipe.toml b/recipes/wip/libs/other/dspy/recipe.toml new file mode 100644 index 00000000..0f5ff99a --- /dev/null +++ b/recipes/wip/libs/other/dspy/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# lacking build instructions +[source] +tar = "https://download.gnome.org/sources/dspy/1.2/dspy-1.2.1.tar.xz" +[build] +template = "meson" diff --git a/recipes/wip/libs/other/fftw/recipe.toml b/recipes/wip/libs/other/fftw/recipe.toml new file mode 100644 index 00000000..27b4880c --- /dev/null +++ b/recipes/wip/libs/other/fftw/recipe.toml @@ -0,0 +1,5 @@ +#TODO compilation error +[source] +tar = "https://fftw.org/fftw-3.3.10.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/fltk13/recipe.toml b/recipes/wip/libs/other/fltk13/recipe.toml new file mode 100644 index 00000000..58fe4120 --- /dev/null +++ b/recipes/wip/libs/other/fltk13/recipe.toml @@ -0,0 +1,21 @@ +#TODO probably wrong template, see https://github.com/fltk/fltk/blob/master/README.Unix.txt +# commented out recipes are optional but recommended, needs to be determined +[source] +tar = "https://github.com/fltk/fltk/releases/download/release-1.3.11/fltk-1.3.11-source.tar.bz2" +[build] +template = "configure" +dependencies = [ + "mesa-glu", + "libx11", + "libxft", + "libxcursor", + #"freeglut", + #"cairo", + #"fontconfig", + #"glew", + #"libalsa", + #"libjpeg", + #"libpng", + #"libxinerama", + #"pango", +] diff --git a/recipes/wip/libs/other/fltk14/recipe.toml b/recipes/wip/libs/other/fltk14/recipe.toml new file mode 100644 index 00000000..b7796238 --- /dev/null +++ b/recipes/wip/libs/other/fltk14/recipe.toml @@ -0,0 +1,21 @@ +#TODO probably wrong template, see https://github.com/fltk/fltk/blob/master/README.Unix.txt +# commented out recipes are optional but recommended, needs to be determined +[source] +tar = "https://github.com/fltk/fltk/releases/download/release-1.4.4/fltk-1.4.4-source.tar.bz2" +[build] +template = "configure" +dependencies = [ + "mesa-glu", + "libx11", + "libxft", + "libxcursor", + #"freeglut", + #"cairo", + #"fontconfig", + #"glew", + #"libalsa", + #"libjpeg", + #"libpng", + #"libxinerama", + #"pango", +] diff --git a/recipes/wip/libs/other/freealut/recipe.toml b/recipes/wip/libs/other/freealut/recipe.toml new file mode 100644 index 00000000..a8f6b267 --- /dev/null +++ b/recipes/wip/libs/other/freealut/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://github.com/vancegroup/freealut#building-freealut +[source] +git = "https://github.com/vancegroup/freealut" +[build] +template = "cmake" diff --git a/recipes/wip/libs/other/freeglut/recipe.toml b/recipes/wip/libs/other/freeglut/recipe.toml new file mode 100644 index 00000000..159d39b0 --- /dev/null +++ b/recipes/wip/libs/other/freeglut/recipe.toml @@ -0,0 +1,40 @@ +#TODO not compiled or tested +[source] +tar = "https://github.com/freeglut/freeglut/releases/download/v3.4.0/freeglut-3.4.0.tar.gz" +#blake3 = "08c8874d6ddad5be4860813865d4d4e2a84c294da0f3cf82a29e43920806b0da" +[build] +dependencies = [ + "mesa", + "mesa-glu", +] +template = "custom" +script = """ +DYNAMIC_INIT +cat > redox.cmake <real, NULL); +- getrusage (RUSAGE_SELF, &r); +- t->user = r.ru_utime; +- t->sys = r.ru_stime; +-} +- + static inline struct timeval + timeval_sub (struct timeval a, struct timeval b) + { +@@ -2916,19 +2906,6 @@ timeval_sub (struct timeval a, struct timeval b) + return diff; + } + +-void +-timing_stop (struct timing *t) +-{ +- struct rusage r; +- struct timeval now; +- +- gettimeofday (&now, NULL); +- getrusage (RUSAGE_SELF, &r); +- t->real = timeval_sub (now, t->real); +- t->user = timeval_sub (r.ru_utime, t->user); +- t->sys = timeval_sub (r.ru_stime, t->sys); +-} +- + static int + argsprep (struct command *cmd, struct gdbmarglist *arglist, + struct command_param *param) +@@ -3047,22 +3024,12 @@ run_command (struct command *cmd, struct gdbmarglist *arglist) + else + cenv.fp = stdout; + +- timing_start (&tm); + rc = cmd->handler (¶m, &cenv); +- timing_stop (&tm); + if (cmd->end) + cmd->end (cenv.data); + else if (cenv.data) + free (cenv.data); + +- if (variable_is_true ("timing")) +- { +- fprintf (cenv.fp, "[%s r=%lu.%06lu u=%lu.%06lu s=%lu.%06lu]\n", +- cmd->name, +- tm.real.tv_sec, tm.real.tv_usec, +- tm.user.tv_sec, tm.user.tv_usec, +- tm.sys.tv_sec, tm.sys.tv_usec); +- } + + if (pagfp) + pclose (pagfp); diff --git a/recipes/wip/libs/other/gflags/recipe.toml b/recipes/wip/libs/other/gflags/recipe.toml new file mode 100644 index 00000000..8cd1fee7 --- /dev/null +++ b/recipes/wip/libs/other/gflags/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://github.com/gflags/gflags/blob/master/INSTALL.md#compiling-the-source-code-with-cmake +[source] +git = "https://github.com/gflags/gflags" +[build] +template = "cmake" diff --git a/recipes/wip/libs/other/glew/recipe.toml b/recipes/wip/libs/other/glew/recipe.toml new file mode 100644 index 00000000..ec0fcb39 --- /dev/null +++ b/recipes/wip/libs/other/glew/recipe.toml @@ -0,0 +1,27 @@ +# TODO Needs testing, but it compiles now + +[source] +git = "https://github.com/nigels-com/glew" +# rev = "9fb23c3e61cbd2d581e33ff7d8579b572b38ee26" + +[build] +template = "custom" +dependencies = ["mesa", "mesa-glu"] +script = """ +# Build system is a standalone Makefile +COOKBOOK_CONFIGURE="true" +COOKBOOK_CONFIGURE_FLAGS="" + +# See Makefile for variables to override +export GLEW_PREFIX="/usr" +export GLEW_DEST="/usr" +export GLEW_OSMESA +export PYTHON="python3" + +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ + +# The auto directory needs to be built first and can't be built in parallel +# because the Makefile creates files (using Perl and Python!!) that are needed later +"${COOKBOOK_MAKE}" -C "${COOKBOOK_BUILD}/auto" +cookbook_configure +""" diff --git a/recipes/wip/libs/other/glfw3/recipe.toml b/recipes/wip/libs/other/glfw3/recipe.toml new file mode 100644 index 00000000..610162c0 --- /dev/null +++ b/recipes/wip/libs/other/glfw3/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +# build instructions: https://www.glfw.org/docs/latest/compile.html +[source] +git = "https://github.com/glfw/glfw" +rev = "e2c92645460f680fd272fd2eed591efb2be7dc31" +[build] +template = "cmake" +dependencies = [ + "libxkbcommon", +] diff --git a/recipes/wip/libs/other/gnome2-common/recipe.toml b/recipes/wip/libs/other/gnome2-common/recipe.toml new file mode 100644 index 00000000..be6388ff --- /dev/null +++ b/recipes/wip/libs/other/gnome2-common/recipe.toml @@ -0,0 +1,5 @@ +#TODO probably wrong template +[source] +tar = "https://download.gnome.org/sources/gnome-common/2.34/gnome-common-2.34.0.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/gnome3-common/recipe.toml b/recipes/wip/libs/other/gnome3-common/recipe.toml new file mode 100644 index 00000000..609f094f --- /dev/null +++ b/recipes/wip/libs/other/gnome3-common/recipe.toml @@ -0,0 +1,5 @@ +#TODO Needs to determine the build system script +[source] +tar = "https://download.gnome.org/sources/gnome-common/3.18/gnome-common-3.18.0.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/gobject-introspection/recipe.toml b/recipes/wip/libs/other/gobject-introspection/recipe.toml new file mode 100644 index 00000000..b8aeed6b --- /dev/null +++ b/recipes/wip/libs/other/gobject-introspection/recipe.toml @@ -0,0 +1,18 @@ +[source] +tar = "https://download.gnome.org/sources/gobject-introspection/1.84/gobject-introspection-1.84.0.tar.xz" +blake3 = "e01a810629b11b2fa415ba47d2df3ba521286e9933f6c2b364e959c26401eb96" + +[build] +template = "custom" +dependencies = [ + "cairo", + "glib", + "libffi", + "pcre2", + "python312", + "zlib", +] +script = """ +DYNAMIC_INIT +cookbook_meson -Dpython="${COOKBOOK_SYSROOT}/usr/bin/python3.12" +""" diff --git a/recipes/wip/libs/other/gpgme/recipe.toml b/recipes/wip/libs/other/gpgme/recipe.toml new file mode 100644 index 00000000..dc3d7c67 --- /dev/null +++ b/recipes/wip/libs/other/gpgme/recipe.toml @@ -0,0 +1,8 @@ +#TODO wait the fix of libgcrypt compilation +[source] +tar = "https://gnupg.org/ftp/gcrypt/gpgme/gpgme-1.20.0.tar.bz2" +[build] +template = "configure" +dependencies = [ + "libgcrypt", +] diff --git a/recipes/wip/libs/other/hdf5/recipe.toml b/recipes/wip/libs/other/hdf5/recipe.toml new file mode 100644 index 00000000..c90f9ac7 --- /dev/null +++ b/recipes/wip/libs/other/hdf5/recipe.toml @@ -0,0 +1,9 @@ +#TODO in case of errors, see https://github.com/HDFGroup/hdf5/blob/develop/release_docs/INSTALL +[source] +tar = "https://github.com/HDFGroup/hdf5/releases/download/hdf5-1_14_3/hdf5-1_14_3.tar.gz" +[build] +template = "configure" +dependencies = [ + "zlib", + "openmpi", +] diff --git a/recipes/wip/libs/other/hwdata/recipe.toml b/recipes/wip/libs/other/hwdata/recipe.toml new file mode 100644 index 00000000..2c03f946 --- /dev/null +++ b/recipes/wip/libs/other/hwdata/recipe.toml @@ -0,0 +1,11 @@ +[source] +tar = "https://github.com/vcrhonek/hwdata/archive/refs/tags/v0.400.tar.gz" +blake3 = "d56a0863502e528025ddb84b0968a87a713365d91927c92bfe35842d47387e77" + +[build] +template = "custom" +script = """ +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ +COOKBOOK_CONFIGURE="./configure" +cookbook_configure +""" diff --git a/recipes/wip/libs/other/hwloc/recipe.toml b/recipes/wip/libs/other/hwloc/recipe.toml new file mode 100644 index 00000000..3982d79e --- /dev/null +++ b/recipes/wip/libs/other/hwloc/recipe.toml @@ -0,0 +1,9 @@ +#TODO make libevdev work +[source] +tar = "https://download.open-mpi.org/release/hwloc/v2.9/hwloc-2.9.3.tar.bz2" +[build] +template = "configure" +dependencies = [ + "libxml2", + "libevdev", +] diff --git a/recipes/wip/libs/other/imlib2/recipe.toml b/recipes/wip/libs/other/imlib2/recipe.toml new file mode 100644 index 00000000..9c54f870 --- /dev/null +++ b/recipes/wip/libs/other/imlib2/recipe.toml @@ -0,0 +1,28 @@ +#TODO compilation error - unknown type name "sigjmp_buf" +[source] +tar = "https://downloads.sourceforge.net/project/enlightenment/imlib2-src/1.12.5/imlib2-1.12.5.tar.xz" +blake3 = "535b6a986538295af5194e81281a11a1d7e79ae518959ca434f1e53bfa67e86d" +patches = ["redox.patch"] +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +template = "custom" +dependencies = [ + "freetype2", + "libjpeg", + "libpng", + "libpthread-stubs", + "libx11", + "libxau", + "libxcb", + "libxext", + "x11proto", + "zlib", +] +script = """ +DYNAMIC_INIT +cookbook_configure --without-x-shm-fd +""" diff --git a/recipes/wip/libs/other/imlib2/redox.patch b/recipes/wip/libs/other/imlib2/redox.patch new file mode 100644 index 00000000..eb82e68b --- /dev/null +++ b/recipes/wip/libs/other/imlib2/redox.patch @@ -0,0 +1,104 @@ +diff -ruwN '--exclude=Makefile.in' source-old/src/lib/x11_grab.c source/src/lib/x11_grab.c +--- source-old/src/lib/x11_grab.c 2024-12-24 07:45:18.000000000 -0700 ++++ source/src/lib/x11_grab.c 2025-10-30 12:54:08.011156248 -0600 +@@ -4,8 +4,10 @@ + #include + #include + #include ++#if !defined(__redox__) + #include + #include ++#endif + + #include "x11_grab.h" + #include "x11_ximage.h" +diff -ruwN '--exclude=Makefile.in' source-old/src/lib/x11_rend.c source/src/lib/x11_rend.c +--- source-old/src/lib/x11_rend.c 2025-04-06 07:16:45.000000000 -0600 ++++ source/src/lib/x11_rend.c 2025-10-30 12:55:57.324410357 -0600 +@@ -474,20 +474,24 @@ + gcm = XCreateGC(x11->dpy, m, GCGraphicsExposures, &gcv); + } + /* write the mask */ ++#if !defined(__redox__) + if (shm) + /* write shm XImage */ + XShmPutImage(x11->dpy, m, gcm, mxim, 0, 0, dx, dy, dw, dh, False); + /* write regular XImage */ + else ++#endif + XPutImage(x11->dpy, m, gcm, mxim, 0, 0, dx, dy, dw, dh); + } + + /* write the image */ ++#if !defined(__redox__) + if (shm) + /* write shm XImage */ + XShmPutImage(x11->dpy, w, gc, xim, 0, 0, dx, dy, dw, dh, False); + /* write regular XImage */ + else ++#endif + XPutImage(x11->dpy, w, gc, xim, 0, 0, dx, dy, dw, dh); + + /* free the XImage and put onto our free list */ +diff -ruwN '--exclude=Makefile.in' source-old/src/lib/x11_ximage.c source/src/lib/x11_ximage.c +--- source-old/src/lib/x11_ximage.c 2024-01-02 06:11:28.000000000 -0700 ++++ source/src/lib/x11_ximage.c 2025-10-30 12:57:02.128925585 -0600 +@@ -11,8 +11,10 @@ + #include + #include + #endif ++#if !defined(__redox__) + #include + #include ++#endif + + #include "x11_ximage.h" + +@@ -56,6 +58,7 @@ + int val; + + /* if its there set x_does_shm flag */ ++#if !defined(__redox__) + if (XShmQueryExtension(d)) + { + #ifdef HAVE_X11_SHM_FD +@@ -72,6 +75,7 @@ + } + /* clear the flag - no shm at all */ + else ++#endif + { + x_does_shm = 0; + return; +@@ -121,6 +125,7 @@ + return NULL; + + /* try create an shm image */ ++#if !defined(__redox__) + xim = XShmCreateImage(x11->dpy, x11->vis, depth, ZPixmap, NULL, si, w, h); + if (!xim) + return NULL; +@@ -230,6 +235,7 @@ + shmctl(si->shmid, IPC_RMID, 0); + } + } ++#endif + + /* couldnt create SHM image ? */ + /* destroy previous image */ +@@ -243,6 +249,7 @@ + XShmSegmentInfo *si) + { + XSync(x11->dpy, False); ++#if !defined(__redox__) + XShmDetach(x11->dpy, si); + #ifdef HAVE_X11_SHM_FD + if (x_does_shm_fd) +@@ -255,6 +262,7 @@ + shmdt(si->shmaddr); + shmctl(si->shmid, IPC_RMID, 0); + } ++#endif + XDestroyImage(xim); + } + diff --git a/recipes/wip/libs/other/inih/recipe.toml b/recipes/wip/libs/other/inih/recipe.toml new file mode 100644 index 00000000..5ac3bfdf --- /dev/null +++ b/recipes/wip/libs/other/inih/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://github.com/benhoyt/inih#meson-notes +[source] +git = "https://github.com/benhoyt/inih" +rev = "9cecf0643da0846e77f64d10a126d9f48b9e05e8" +[build] +template = "meson" diff --git a/recipes/wip/libs/other/iniparser/recipe.toml b/recipes/wip/libs/other/iniparser/recipe.toml new file mode 100644 index 00000000..14630337 --- /dev/null +++ b/recipes/wip/libs/other/iniparser/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for a "make", see https://github.com/ndevilla/iniparser#ii---building-project +[source] +git = "https://github.com/ndevilla/iniparser" +[build] +template = "custom" diff --git a/recipes/wip/libs/other/json-c/recipe.toml b/recipes/wip/libs/other/json-c/recipe.toml new file mode 100644 index 00000000..b9f8853b --- /dev/null +++ b/recipes/wip/libs/other/json-c/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://github.com/json-c/json-c#build-instructions-- +[source] +git = "https://github.com/json-c/json-c" +rev = "b4c371fa0cbc4dcbaccc359ce9e957a22988fb34" +[build] +template = "cmake" diff --git a/recipes/wip/libs/other/json-glib/recipe.toml b/recipes/wip/libs/other/json-glib/recipe.toml new file mode 100644 index 00000000..e0da7d37 --- /dev/null +++ b/recipes/wip/libs/other/json-glib/recipe.toml @@ -0,0 +1,9 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.gnome.org/GNOME/json-glib/#build-and-installation +[source] +tar = "https://download.gnome.org/sources/json-glib/1.8/json-glib-1.8.0.tar.xz" +[build] +template = "meson" +dependencies = [ + "glib", +] diff --git a/recipes/wip/libs/other/jsonrpc-glib/recipe.toml b/recipes/wip/libs/other/jsonrpc-glib/recipe.toml new file mode 100644 index 00000000..8ba49411 --- /dev/null +++ b/recipes/wip/libs/other/jsonrpc-glib/recipe.toml @@ -0,0 +1,9 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.gnome.org/GNOME/jsonrpc-glib#building +[source] +tar = "https://download.gnome.org/sources/jsonrpc-glib/3.44/jsonrpc-glib-3.44.0.tar.xz" +[build] +template = "meson" +dependencies = [ + "glib", +] diff --git a/recipes/wip/libs/other/kerberos5/recipe.toml b/recipes/wip/libs/other/kerberos5/recipe.toml new file mode 100644 index 00000000..b54d36e5 --- /dev/null +++ b/recipes/wip/libs/other/kerberos5/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for building, lacking build instructions +[source] +tar = "https://kerberos.org/dist/krb5/1.21/krb5-1.21.2.tar.gz" +[build] +template = "custom" diff --git a/recipes/wip/libs/other/lame/recipe.toml b/recipes/wip/libs/other/lame/recipe.toml new file mode 100644 index 00000000..3464919c --- /dev/null +++ b/recipes/wip/libs/other/lame/recipe.toml @@ -0,0 +1,5 @@ +#TODO The redox target is not supported on the configure script +[source] +tar = "https://sourceforge.net/projects/lame/files/lame/3.100/lame-3.100.tar.gz/download" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/lammps/recipe.toml b/recipes/wip/libs/other/lammps/recipe.toml new file mode 100644 index 00000000..369e7726 --- /dev/null +++ b/recipes/wip/libs/other/lammps/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://docs.lammps.org/Build_cmake.html +[source] +git = "https://github.com/lammps/lammps" +rev = "27e8d0f19cfd60ff513828af74d07d2c8f3c4451" +[build] +template = "cmake" diff --git a/recipes/wip/libs/other/lib2geom/recipe.toml b/recipes/wip/libs/other/lib2geom/recipe.toml new file mode 100644 index 00000000..b87f17ba --- /dev/null +++ b/recipes/wip/libs/other/lib2geom/recipe.toml @@ -0,0 +1,13 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.com/inkscape/lib2geom#building +[source] +git = "https://gitlab.com/inkscape/lib2geom" +rev = "18fc32f9972dfaee597055b3226c5b7ef3bfbb4c" +[build] +template = "cmake" +dependencies = [ + "boost", + "libgsl", + "glib", + "cairo", +] diff --git a/recipes/wip/libs/other/liba52/recipe.toml b/recipes/wip/libs/other/liba52/recipe.toml new file mode 100644 index 00000000..bc324e0b --- /dev/null +++ b/recipes/wip/libs/other/liba52/recipe.toml @@ -0,0 +1,5 @@ +#TODO The redox target is not supported on the configure script +[source] +tar = "https://liba52.sourceforge.io/files/a52dec-0.7.4.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libadwaita/recipe.toml b/recipes/wip/libs/other/libadwaita/recipe.toml new file mode 100644 index 00000000..b48885f6 --- /dev/null +++ b/recipes/wip/libs/other/libadwaita/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.gnome.org/GNOME/libadwaita#building +[source] +tar = "https://download.gnome.org/sources/libadwaita/1.4/libadwaita-1.4.0.tar.xz" +[build] +template = "meson" diff --git a/recipes/wip/libs/other/libaio/recipe.toml b/recipes/wip/libs/other/libaio/recipe.toml new file mode 100644 index 00000000..60911d07 --- /dev/null +++ b/recipes/wip/libs/other/libaio/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for "make", see https://pagure.io/libaio/blob/master/f/INSTALL +[source] +tar = "https://releases.pagure.org/libaio/libaio-0.3.113.tar.gz" +[build] +template = "custom" diff --git a/recipes/wip/libs/other/libaom/recipe.toml b/recipes/wip/libs/other/libaom/recipe.toml new file mode 100644 index 00000000..b174ee2e --- /dev/null +++ b/recipes/wip/libs/other/libaom/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://aomedia.googlesource.com/aom/#basic-build +[source] +git = "https://aomedia.googlesource.com/aom" +rev = "aca387522ccc0a1775716923d5489dd2d4b1e628" +[build] +template = "cmake" diff --git a/recipes/wip/libs/other/libargon2/recipe.toml b/recipes/wip/libs/other/libargon2/recipe.toml new file mode 100644 index 00000000..c65d5ab3 --- /dev/null +++ b/recipes/wip/libs/other/libargon2/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for "make", see https://github.com/P-H-C/phc-winner-argon2#usage +[source] +git = "https://github.com/P-H-C/phc-winner-argon2" +[build] +template = "custom" diff --git a/recipes/wip/libs/other/libart/recipe.toml b/recipes/wip/libs/other/libart/recipe.toml new file mode 100644 index 00000000..3d82494f --- /dev/null +++ b/recipes/wip/libs/other/libart/recipe.toml @@ -0,0 +1,5 @@ +#TODO can't recognize the Redox target +[source] +tar = "https://download.gnome.org/sources/libart_lgpl/2.3/libart_lgpl-2.3.21.tar.bz2" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libaspell/recipe.toml b/recipes/wip/libs/other/libaspell/recipe.toml new file mode 100644 index 00000000..8b07b9a6 --- /dev/null +++ b/recipes/wip/libs/other/libaspell/recipe.toml @@ -0,0 +1,5 @@ +#TODO can't recognize Redox target +[source] +tar = "https://ftp.gnu.org/gnu/aspell/aspell-0.60.8.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libass/recipe.toml b/recipes/wip/libs/other/libass/recipe.toml new file mode 100644 index 00000000..b4e8f9a3 --- /dev/null +++ b/recipes/wip/libs/other/libass/recipe.toml @@ -0,0 +1,25 @@ +[source] +tar = "https://github.com/libass/libass/releases/download/0.17.3/libass-0.17.3.tar.xz" +blake3 = "bfbcc2a97193eb5c2a6c54d07c508d42ff62387a8a9d8b3959d15b6115bca8b6" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "expat", + "fontconfig", + "freetype2", + "fribidi", + "glib", + "harfbuzz", + "libpng", + "pcre2", + "zlib", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure --disable-asm +""" diff --git a/recipes/wip/libs/other/libatomic-ops/recipe.toml b/recipes/wip/libs/other/libatomic-ops/recipe.toml new file mode 100644 index 00000000..80fbbf3a --- /dev/null +++ b/recipes/wip/libs/other/libatomic-ops/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +tar = "https://github.com/ivmai/libatomic_ops/releases/download/v7.8.0/libatomic_ops-7.8.0.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libbluray/recipe.toml b/recipes/wip/libs/other/libbluray/recipe.toml new file mode 100644 index 00000000..169f3e63 --- /dev/null +++ b/recipes/wip/libs/other/libbluray/recipe.toml @@ -0,0 +1,13 @@ +#TODO compilation error +[source] +tar = "https://download.videolan.org/pub/videolan/libbluray/1.3.4/libbluray-1.3.4.tar.bz2" +[build] +template = "configure" +dependencies = [ + "libxml2", + "freetype2", + "zlib", + "libpng", + "fontconfig", + "expat", +] diff --git a/recipes/wip/libs/other/libbotan/recipe.toml b/recipes/wip/libs/other/libbotan/recipe.toml new file mode 100644 index 00000000..e7d29598 --- /dev/null +++ b/recipes/wip/libs/other/libbotan/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for building +[source] +tar = "https://botan.randombit.net/releases/Botan-3.2.0.tar.xz" +[build] +template = "custom" diff --git a/recipes/wip/libs/other/libbrotli/recipe.toml b/recipes/wip/libs/other/libbrotli/recipe.toml new file mode 100644 index 00000000..ea24704b --- /dev/null +++ b/recipes/wip/libs/other/libbrotli/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://github.com/google/brotli#cmake +[source] +git = "https://github.com/google/brotli" +rev = "ed738e842d2fbdf2d6459e39267a633c4a9b2f5d" +[build] +template = "cmake" diff --git a/recipes/wip/libs/other/libbsd/recipe.toml b/recipes/wip/libs/other/libbsd/recipe.toml new file mode 100644 index 00000000..ec62ca5d --- /dev/null +++ b/recipes/wip/libs/other/libbsd/recipe.toml @@ -0,0 +1,5 @@ +#TODO Can't find required MD5 functions in "libc" or "libmd" +[source] +tar = "https://libbsd.freedesktop.org/releases/libbsd-0.11.7.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libburn/recipe.toml b/recipes/wip/libs/other/libburn/recipe.toml new file mode 100644 index 00000000..d31d959d --- /dev/null +++ b/recipes/wip/libs/other/libburn/recipe.toml @@ -0,0 +1,5 @@ +#TODO compilation error +[source] +tar = "http://files.libburnia-project.org/releases/libburn-1.5.4.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libcaca/recipe.toml b/recipes/wip/libs/other/libcaca/recipe.toml new file mode 100644 index 00000000..651250de --- /dev/null +++ b/recipes/wip/libs/other/libcaca/recipe.toml @@ -0,0 +1,5 @@ +#TODO can't recognize Redox target +[source] +tar = "http://caca.zoy.org/files/libcaca/libcaca-0.99.beta19.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libcamera/recipe.toml b/recipes/wip/libs/other/libcamera/recipe.toml new file mode 100644 index 00000000..c52109d6 --- /dev/null +++ b/recipes/wip/libs/other/libcamera/recipe.toml @@ -0,0 +1,13 @@ +#TODO not compiled or tested +# build instructions: https://libcamera.org/getting-started.html +[source] +git = "https://git.libcamera.org/libcamera/libcamera" +[build] +template = "meson" +dependencies = [ + "libyaml", + "libevdev", + "gstreamer", + "libjpeg", + "sdl2", +] diff --git a/recipes/wip/libs/other/libcap/recipe.toml b/recipes/wip/libs/other/libcap/recipe.toml new file mode 100644 index 00000000..8426663a --- /dev/null +++ b/recipes/wip/libs/other/libcap/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for "make" (maybe need the Go), see https://git.kernel.org/pub/scm/libs/libcap/libcap.git/tree/README#n20 +[source] +tar = "https://kernel.org/pub/linux/libs/security/linux-privs/libcap2/libcap-2.69.tar.xz" +[build] +template = "custom" diff --git a/recipes/wip/libs/other/libcdio-paranoia/recipe.toml b/recipes/wip/libs/other/libcdio-paranoia/recipe.toml new file mode 100644 index 00000000..71b44b42 --- /dev/null +++ b/recipes/wip/libs/other/libcdio-paranoia/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing script for building +[source] +git = "https://github.com/rocky/libcdio-paranoia" +rev = "db4dfff9e11c516ae35d87e568f511002ddae9d7" +[build] +template = "custom" diff --git a/recipes/wip/libs/other/libcdio/recipe.toml b/recipes/wip/libs/other/libcdio/recipe.toml new file mode 100644 index 00000000..6ac59552 --- /dev/null +++ b/recipes/wip/libs/other/libcdio/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing script for building, see https://git.savannah.gnu.org/cgit/libcdio.git/tree/INSTALL +[source] +git = "https://git.savannah.gnu.org/git/libcdio.git" +rev = "9c7a2779846da161279bc1501e83c849cf89a594" +[build] +template = "custom" diff --git a/recipes/wip/libs/other/libcdr/recipe.toml b/recipes/wip/libs/other/libcdr/recipe.toml new file mode 100644 index 00000000..61e16355 --- /dev/null +++ b/recipes/wip/libs/other/libcdr/recipe.toml @@ -0,0 +1,12 @@ +#TODO make all dependencies work +[source] +tar = "https://dev-www.libreoffice.org/src/libcdr/libcdr-0.1.7.tar.xz" +[build] +template = "configure" +dependencies = [ + "boost", + "libicu", + "liblcms", + "librevenge", + "zlib", +] diff --git a/recipes/wip/libs/other/libcpuid/recipe.toml b/recipes/wip/libs/other/libcpuid/recipe.toml new file mode 100644 index 00000000..b3eb9112 --- /dev/null +++ b/recipes/wip/libs/other/libcpuid/recipe.toml @@ -0,0 +1,6 @@ +#TODO libtool error +# require a POSIX-compatible shell, see https://github.com/anrieff/libcpuid#prerequisites +[source] +tar = "https://github.com/anrieff/libcpuid/releases/download/v0.6.4/libcpuid-0.6.4.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libcups/recipe.toml b/recipes/wip/libs/other/libcups/recipe.toml new file mode 100644 index 00000000..d4137cf1 --- /dev/null +++ b/recipes/wip/libs/other/libcups/recipe.toml @@ -0,0 +1,8 @@ +#TODO make gnutls work +[source] +tar = "https://github.com/OpenPrinting/cups/releases/download/v2.4.7/cups-2.4.7-source.tar.gz" +[build] +template = "configure" +dependencies = [ + "gnutls3", +] diff --git a/recipes/wip/libs/other/libde265/recipe.toml b/recipes/wip/libs/other/libde265/recipe.toml new file mode 100644 index 00000000..a8a013c2 --- /dev/null +++ b/recipes/wip/libs/other/libde265/recipe.toml @@ -0,0 +1,12 @@ +#TODO compilation error +[source] +tar = "https://github.com/strukturag/libde265/releases/download/v1.0.14/libde265-1.0.14.tar.gz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE_FLAGS+=( + --disable-dec265 + --disable-sherlock265 +) +cookbook_configure +""" diff --git a/recipes/wip/libs/other/libdecor/recipe.toml b/recipes/wip/libs/other/libdecor/recipe.toml new file mode 100644 index 00000000..75aad337 --- /dev/null +++ b/recipes/wip/libs/other/libdecor/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.freedesktop.org/libdecor/libdecor#build--install +[source] +tar = "https://gitlab.freedesktop.org/libdecor/libdecor/uploads/ee5ef0f2c3a4743e8501a855d61cb397/libdecor-0.1.1.tar.xz" +[build] +template = "meson" +dependencies = [ + "pango", + "libwayland", +] diff --git a/recipes/wip/libs/other/libdeflate/recipe.toml b/recipes/wip/libs/other/libdeflate/recipe.toml new file mode 100644 index 00000000..f3b2e790 --- /dev/null +++ b/recipes/wip/libs/other/libdeflate/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://github.com/ebiggers/libdeflate#building +[source] +tar = "https://github.com/ebiggers/libdeflate/releases/download/v1.19/libdeflate-1.19.tar.gz" +[build] +template = "cmake" diff --git a/recipes/wip/libs/other/libdex/recipe.toml b/recipes/wip/libs/other/libdex/recipe.toml new file mode 100644 index 00000000..416794ff --- /dev/null +++ b/recipes/wip/libs/other/libdex/recipe.toml @@ -0,0 +1,9 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.gnome.org/GNOME/libdex#building +[source] +tar = "https://download.gnome.org/sources/libdex/0.4/libdex-0.4.1.tar.xz" +[build] +template = "meson" +dependencies = [ + "glib", +] diff --git a/recipes/wip/libs/other/libdmx/recipe.toml b/recipes/wip/libs/other/libdmx/recipe.toml new file mode 100644 index 00000000..240e2b35 --- /dev/null +++ b/recipes/wip/libs/other/libdmx/recipe.toml @@ -0,0 +1,5 @@ +#TODO xorg-macros package not found +[source] +tar = "https://www.x.org/releases/individual/lib/libdmx-1.1.5.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libdotconf/recipe.toml b/recipes/wip/libs/other/libdotconf/recipe.toml new file mode 100644 index 00000000..e8fa0062 --- /dev/null +++ b/recipes/wip/libs/other/libdotconf/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing "configure" file, see https://github.com/williamh/dotconf/blob/master/INSTALL +[source] +git = "https://github.com/williamh/dotconf" +[build] +template = "custom" diff --git a/recipes/wip/libs/other/libdouble-conversion/recipe.toml b/recipes/wip/libs/other/libdouble-conversion/recipe.toml new file mode 100644 index 00000000..97747a35 --- /dev/null +++ b/recipes/wip/libs/other/libdouble-conversion/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing script for building, see https://github.com/google/double-conversion#building +[source] +git = "https://github.com/google/double-conversion" +rev = "4f7a25d8ced8c7cf6eee6fd09d6788eaa23c9afe" +[build] +template = "custom" diff --git a/recipes/wip/libs/other/libdvbpsi/recipe.toml b/recipes/wip/libs/other/libdvbpsi/recipe.toml new file mode 100644 index 00000000..4a6306c8 --- /dev/null +++ b/recipes/wip/libs/other/libdvbpsi/recipe.toml @@ -0,0 +1,5 @@ +#TODO Compilation error +[source] +tar = "https://download.videolan.org/pub/libdvbpsi/1.3.3/libdvbpsi-1.3.3.tar.bz2" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libdvdcss/recipe.toml b/recipes/wip/libs/other/libdvdcss/recipe.toml new file mode 100644 index 00000000..62353687 --- /dev/null +++ b/recipes/wip/libs/other/libdvdcss/recipe.toml @@ -0,0 +1,5 @@ +#TODO Compilation error +[source] +tar = "https://download.videolan.org/pub/libdvdcss/1.4.3/libdvdcss-1.4.3.tar.bz2" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libdvdnav/recipe.toml b/recipes/wip/libs/other/libdvdnav/recipe.toml new file mode 100644 index 00000000..f785c104 --- /dev/null +++ b/recipes/wip/libs/other/libdvdnav/recipe.toml @@ -0,0 +1,5 @@ +#TODO can't recognize Redox target +[source] +tar = "http://www.videolan.org/pub/videolan/libdvdnav/5.0.1/libdvdnav-5.0.1.tar.bz2" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libdvdread/recipe.toml b/recipes/wip/libs/other/libdvdread/recipe.toml new file mode 100644 index 00000000..cab3ed44 --- /dev/null +++ b/recipes/wip/libs/other/libdvdread/recipe.toml @@ -0,0 +1,5 @@ +#TODO can't recognize Redox target +[source] +tar = "http://www.videolan.org/pub/videolan/libdvdread/5.0.0/libdvdread-5.0.0.tar.bz2" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libebml/recipe.toml b/recipes/wip/libs/other/libebml/recipe.toml new file mode 100644 index 00000000..886d0e64 --- /dev/null +++ b/recipes/wip/libs/other/libebml/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://github.com/Matroska-Org/libebml#building-and-installing +[source] +tar = "https://dl.matroska.org/downloads/libebml/libebml-1.4.4.tar.xz" +[build] +template = "cmake" diff --git a/recipes/wip/libs/other/libedit/recipe.toml b/recipes/wip/libs/other/libedit/recipe.toml new file mode 100644 index 00000000..62d169b8 --- /dev/null +++ b/recipes/wip/libs/other/libedit/recipe.toml @@ -0,0 +1,13 @@ +#TODO promote +[source] +tar = "https://www.thrysoee.dk/editline/libedit-20250104-3.1.tar.gz" +patches = [ + "redox.patch" +] +[build] +template = "configure" +dependencies = [ + "ncurses", + "termcap", + "terminfo", +] diff --git a/recipes/wip/libs/other/libedit/redox.patch b/recipes/wip/libs/other/libedit/redox.patch new file mode 100644 index 00000000..5a699f2a --- /dev/null +++ b/recipes/wip/libs/other/libedit/redox.patch @@ -0,0 +1,99 @@ +diff --color -ruwN source/configure source-new/configure +--- source/configure 2025-01-05 00:16:30.000000000 +0700 ++++ source-new/configure 2025-09-18 06:50:23.667443238 +0700 +@@ -6384,7 +6384,7 @@ + ;; + + # This must be glibc/ELF. +-linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) ++linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu* | redox*) + lt_cv_deplibs_check_method=pass_all + ;; + +@@ -7715,7 +7715,7 @@ + ;; + + x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ +-s390*-*linux*|s390*-*tpf*|sparc*-*linux*|x86_64-gnu*) ++s390*-*linux*|s390*-*tpf*|sparc*-*linux*|x86_64-gnu**|x86_64-redox*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. Note that the listed cases only cover the + # situations where additional linker options are needed (such as when +@@ -7734,7 +7734,7 @@ + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; +- x86_64-*linux*|x86_64-gnu*) ++ x86_64-*linux*|x86_64-gnu*|x86_64-redox*) + case `$FILECMD conftest.o` in + *x86-64*) + LD="${LD-ld} -m elf32_x86_64" +@@ -7763,7 +7763,7 @@ + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; +- x86_64-*linux*|x86_64-gnu*) ++ x86_64-*linux*|x86_64-gnu*|x86_64-*redox*) + LD="${LD-ld} -m elf_x86_64" + ;; + powerpcle-*linux*) +@@ -12168,7 +12168,7 @@ + ;; + + # This must be glibc/ELF. +-linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) ++linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu* | redox*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no +diff --color -ruwN source/src/chartype.h source-new/src/chartype.h +--- source/src/chartype.h 2022-06-11 14:57:59.000000000 +0700 ++++ source-new/src/chartype.h 2025-09-18 06:38:37.401509690 +0700 +@@ -39,7 +39,8 @@ + !(defined(__APPLE__) && defined(__MACH__)) && \ + !defined(__OpenBSD__) && \ + !defined(__FreeBSD__) && \ +- !defined(__DragonFly__) ++ !defined(__DragonFly__) && \ ++ !defined(__redox__) + #ifndef __STDC_ISO_10646__ + /* In many places it is assumed that the first 127 code points are ASCII + * compatible, so ensure wchar_t indeed does ISO 10646 and not some other +diff --color -ruwN source/src/editline/readline.h source-new/src/editline/readline.h +--- source/src/editline/readline.h 2023-08-27 14:25:53.000000000 +0700 ++++ source-new/src/editline/readline.h 2025-09-18 06:41:15.169232816 +0700 +@@ -78,7 +78,7 @@ + + #ifndef CTRL + #include +-#if !defined(__sun) && !defined(__hpux) && !defined(_AIX) ++#if !defined(__sun) && !defined(__hpux) && !defined(_AIX) && !defined(__redox__) + #include + #endif + #ifndef CTRL +diff --color -ruwN source/src/sys.h source-new/src/sys.h +--- source/src/sys.h 2024-08-09 01:03:34.000000000 +0700 ++++ source-new/src/sys.h 2025-09-18 06:40:02.388537017 +0700 +@@ -116,10 +116,6 @@ + typedef unsigned int u_int32_t; + #endif + +-#ifndef HAVE_SIZE_MAX +-#define SIZE_MAX ((size_t)-1) +-#endif +- + #define REGEX /* Use POSIX.2 regular expression functions */ + #undef REGEXP /* Use UNIX V8 regular expression functions */ + +diff --color -ruwN source/src/wcsdup.c source-new/src/wcsdup.c +--- source/src/wcsdup.c 2022-06-11 14:57:59.000000000 +0700 ++++ source-new/src/wcsdup.c 2025-09-18 06:44:01.365917599 +0700 +@@ -11,7 +11,7 @@ + * code is also granted without any restrictions. + */ + +-#ifndef HAVE_WCSDUP ++#if !defined(HAVE_WCSDUP) && !defined(__redox__) + + #include "config.h" + diff --git a/recipes/wip/libs/other/libeditline/recipe.toml b/recipes/wip/libs/other/libeditline/recipe.toml new file mode 100644 index 00000000..1cbc13cd --- /dev/null +++ b/recipes/wip/libs/other/libeditline/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +tar = "https://ftp.troglobit.com/editline/editline-1.17.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libeigen/recipe.toml b/recipes/wip/libs/other/libeigen/recipe.toml new file mode 100644 index 00000000..7167c7a9 --- /dev/null +++ b/recipes/wip/libs/other/libeigen/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.com/libeigen/eigen/-/blob/master/INSTALL?ref_type=heads +[source] +git = "https://gitlab.com/libeigen/eigen" +rev = "3147391d946bb4b6c68edd901f2add6ac1f31f8c" +[build] +template = "cmake" diff --git a/recipes/wip/libs/other/libenet/recipe.toml b/recipes/wip/libs/other/libenet/recipe.toml new file mode 100644 index 00000000..b2747475 --- /dev/null +++ b/recipes/wip/libs/other/libenet/recipe.toml @@ -0,0 +1,5 @@ +#TODO compilation error +[source] +tar = "http://enet.bespin.org/download/enet-1.3.17.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libepoxy/recipe.toml b/recipes/wip/libs/other/libepoxy/recipe.toml new file mode 100644 index 00000000..c4eaa653 --- /dev/null +++ b/recipes/wip/libs/other/libepoxy/recipe.toml @@ -0,0 +1,27 @@ +[source] +tar = "https://download.gnome.org/sources/libepoxy/1.5/libepoxy-1.5.10.tar.xz" +blake3 = "0ccee9635115fe417cfc4bc33ffd160bf1e2852bd6c03816b4af771d59462f53" +patches = ["redox.patch"] + +[build] +template = "custom" +dependencies = [ + "libpthread-stubs", + "libx11", + "libxau", + "libxcb", + "libxext", + "libxfixes", + "libxxf86vm", + "llvm18", + "mesa-x11", + "x11proto", + "zlib", +] +script = """ +DYNAMIC_INIT +cookbook_meson \ + -Degl=yes \ + -Dglx=yes \ + -Dtests=false +""" diff --git a/recipes/wip/libs/other/libepoxy/redox.patch b/recipes/wip/libs/other/libepoxy/redox.patch new file mode 100644 index 00000000..58a5f96b --- /dev/null +++ b/recipes/wip/libs/other/libepoxy/redox.patch @@ -0,0 +1,18 @@ +diff -ruwN libepoxy-1.5.10/src/dispatch_common.c source/src/dispatch_common.c +--- libepoxy-1.5.10/src/dispatch_common.c 2022-02-17 05:56:12.000000000 -0700 ++++ source/src/dispatch_common.c 2025-05-04 17:57:31.910921783 -0600 +@@ -264,13 +264,7 @@ + long begin_count; + }; + +-static struct api api = { +-#ifndef _WIN32 +- .mutex = PTHREAD_MUTEX_INITIALIZER, +-#else +- 0, +-#endif +-}; ++static struct api api = {0}; + + static bool library_initialized; + diff --git a/recipes/wip/libs/other/liberty-eiffel/recipe.toml b/recipes/wip/libs/other/liberty-eiffel/recipe.toml new file mode 100644 index 00000000..e203558e --- /dev/null +++ b/recipes/wip/libs/other/liberty-eiffel/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for "install.sh", adapt to Redox +[source] +tar = "http://download.savannah.gnu.org/releases/liberty-eiffel/bell.tar.gz" +[build] +template = "custom" diff --git a/recipes/wip/libs/other/libev/recipe.toml b/recipes/wip/libs/other/libev/recipe.toml new file mode 100644 index 00000000..bb026811 --- /dev/null +++ b/recipes/wip/libs/other/libev/recipe.toml @@ -0,0 +1,14 @@ +[source] +tar = "https://dist.schmorp.de/libev/libev-4.33.tar.gz" +blake3 = "d56e7f06baa52d5068b6184a307cf27c32f71b60e13d98ee6d4d9c1786393424" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/libs/other/libevdev/recipe.toml b/recipes/wip/libs/other/libevdev/recipe.toml new file mode 100644 index 00000000..841f7f26 --- /dev/null +++ b/recipes/wip/libs/other/libevdev/recipe.toml @@ -0,0 +1,7 @@ +#TODO compilation error +[source] +tar = "https://www.freedesktop.org/software/libevdev/libevdev-1.12.1.tar.xz" +blake3 = "d4be83e6f6cb4972cf5052f5a046eb820aa529427202f043a9d95b945e73edcd" + +[build] +template = "meson" diff --git a/recipes/wip/libs/other/libevent/recipe.toml b/recipes/wip/libs/other/libevent/recipe.toml new file mode 100644 index 00000000..669ef8eb --- /dev/null +++ b/recipes/wip/libs/other/libevent/recipe.toml @@ -0,0 +1,19 @@ +#TODO compiles, not tested +[source] +tar = "https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz" +patches = [ + "redox.patch" +] + +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +DYNAMIC_INIT +# Can't call `cookbook_configure` because it sets DESTDIR (which causes an error) +"${COOKBOOK_CONFIGURE}" "${COOKBOOK_CONFIGURE_FLAGS[@]}" +"${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}" +"${COOKBOOK_MAKE}" install +""" diff --git a/recipes/wip/libs/other/libevent/redox.patch b/recipes/wip/libs/other/libevent/redox.patch new file mode 100644 index 00000000..5fbd6844 --- /dev/null +++ b/recipes/wip/libs/other/libevent/redox.patch @@ -0,0 +1,26 @@ +diff -u --recursive orig/event_tagging.c modified/event_tagging.c +--- orig/event_tagging.c 2019-02-10 21:26:04.000000000 +0000 ++++ modified/event_tagging.c 2024-11-17 14:14:19.474910364 +0000 +@@ -54,9 +54,6 @@ + #include + #include + #include +-#ifndef _WIN32 +-#include +-#endif + #ifdef EVENT__HAVE_UNISTD_H + #include + #endif +diff -u --recursive orig/http.c modified/http.c +--- orig/http.c 2020-07-05 13:01:34.000000000 +0100 ++++ modified/http.c 2024-11-17 14:14:10.834742812 +0000 +@@ -83,9 +83,6 @@ + #include + #include + #include +-#ifndef _WIN32 +-#include +-#endif /* !_WIN32 */ + #include + #ifdef EVENT__HAVE_UNISTD_H + #include diff --git a/recipes/wip/libs/other/libfmt/recipe.toml b/recipes/wip/libs/other/libfmt/recipe.toml new file mode 100644 index 00000000..718baa3c --- /dev/null +++ b/recipes/wip/libs/other/libfmt/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://fmt.dev/latest/usage.html#building-the-library +[source] +git = "https://github.com/fmtlib/fmt" +rev = "f5e54359df4c26b6230fc61d38aa294581393084" +[build] +template = "cmake" diff --git a/recipes/wip/libs/other/libfs/recipe.toml b/recipes/wip/libs/other/libfs/recipe.toml new file mode 100644 index 00000000..2e1e7cc3 --- /dev/null +++ b/recipes/wip/libs/other/libfs/recipe.toml @@ -0,0 +1,5 @@ +#TODO xorg-macros package not found +[source] +tar = "https://www.x.org/releases/individual/lib/libFS-1.0.9.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libfuse2/recipe.toml b/recipes/wip/libs/other/libfuse2/recipe.toml new file mode 100644 index 00000000..e17f98df --- /dev/null +++ b/recipes/wip/libs/other/libfuse2/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://github.com/libfuse/libfuse#installation +#TODO require a redox daemon (userspace equivalent of the Linux kernel module) +[source] +tar = "https://github.com/libfuse/libfuse/releases/download/fuse-2.9.9/fuse-2.9.9.tar.gz" +[build] +template = "meson" diff --git a/recipes/wip/libs/other/libfuse3/recipe.toml b/recipes/wip/libs/other/libfuse3/recipe.toml new file mode 100644 index 00000000..8cd145ee --- /dev/null +++ b/recipes/wip/libs/other/libfuse3/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://github.com/libfuse/libfuse#installation +#TODO require a redox daemon (userspace equivalent of the Linux kernel module) +[source] +tar = "https://github.com/libfuse/libfuse/releases/download/fuse-3.16.2/fuse-3.16.2.tar.gz" +[build] +template = "meson" diff --git a/recipes/wip/libs/other/libgav1/recipe.toml b/recipes/wip/libs/other/libgav1/recipe.toml new file mode 100644 index 00000000..37e502a1 --- /dev/null +++ b/recipes/wip/libs/other/libgav1/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://chromium.googlesource.com/codecs/libgav1/#compile +[source] +git = "https://chromium.googlesource.com/codecs/libgav1" +rev = "e386d8f1fb983200972d159b9be47fd5d0776708" +[build] +template = "cmake" diff --git a/recipes/wip/libs/other/libgc/recipe.toml b/recipes/wip/libs/other/libgc/recipe.toml new file mode 100644 index 00000000..37b45eb6 --- /dev/null +++ b/recipes/wip/libs/other/libgc/recipe.toml @@ -0,0 +1,5 @@ +#TODO compilation error - pthreads not supported by the GC on this platform +[source] +tar = "https://www.hboehm.info/gc/gc_source/gc-8.2.4.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libgcrypt/recipe.toml b/recipes/wip/libs/other/libgcrypt/recipe.toml new file mode 100644 index 00000000..c02dd88d --- /dev/null +++ b/recipes/wip/libs/other/libgcrypt/recipe.toml @@ -0,0 +1,17 @@ +[source] +tar = "https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.11.1.tar.bz2" +blake3 = "68844e12b92960d66c4ce85a4c3db1df8377b232980f1218b4c5d904e9c02511" +patches = ["redox.patch"] +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = ["libgpg-error"] +template = "custom" +script = """ +DYNAMIC_INIT +export GPGRT_CONFIG="${COOKBOOK_SYSROOT}/usr/bin/gpgrt-config" +cookbook_configure +""" diff --git a/recipes/wip/libs/other/libgcrypt/redox.patch b/recipes/wip/libs/other/libgcrypt/redox.patch new file mode 100644 index 00000000..4ac898dc --- /dev/null +++ b/recipes/wip/libs/other/libgcrypt/redox.patch @@ -0,0 +1,20 @@ +--- libgcrypt-1.11.1/tests/stopwatch.h 2025-03-17 03:55:24.000000000 -0600 ++++ source/tests/stopwatch.h 2025-05-10 08:42:52.113921935 -0600 +@@ -45,6 +45,8 @@ + &started_at.creation_time, &started_at.exit_time, + &started_at.kernel_time, &started_at.user_time); + stopped_at = started_at; ++#elif defined(__redox__) ++ //TODO: times on redox + #else + struct tms tmp; + +@@ -60,6 +62,8 @@ + GetProcessTimes (GetCurrentProcess (), + &stopped_at.creation_time, &stopped_at.exit_time, + &stopped_at.kernel_time, &stopped_at.user_time); ++#elif defined(__redox__) ++ //TODO: times on redox + #else + struct tms tmp; + diff --git a/recipes/wip/libs/other/libgdal/recipe.toml b/recipes/wip/libs/other/libgdal/recipe.toml new file mode 100644 index 00000000..ef303c13 --- /dev/null +++ b/recipes/wip/libs/other/libgdal/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://gdal.org/development/building_from_source.html +[source] +tar = "https://github.com/OSGeo/gdal/releases/download/v3.8.4/gdal-3.8.4.tar.gz" +[build] +template = "cmake" diff --git a/recipes/wip/libs/other/libgit2/recipe.toml b/recipes/wip/libs/other/libgit2/recipe.toml new file mode 100644 index 00000000..f08d3e9a --- /dev/null +++ b/recipes/wip/libs/other/libgit2/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +# build instructions: https://github.com/libgit2/libgit2#building-libgit2---using-cmake +[source] +git = "https://github.com/libgit2/libgit2" +rev = "a2bde63741977ca0f4ef7db2f609df320be67a08" +[build] +template = "cmake" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/libs/other/libglm/recipe.toml b/recipes/wip/libs/other/libglm/recipe.toml new file mode 100644 index 00000000..81d65935 --- /dev/null +++ b/recipes/wip/libs/other/libglm/recipe.toml @@ -0,0 +1,6 @@ +#TODO Needs to determine the script +[source] +git = "https://github.com/g-truc/glm" +rev = "bf71a834948186f4097caa076cd2663c69a10e1e" +[build] +template = "custom" diff --git a/recipes/wip/libs/other/libgloox/recipe.toml b/recipes/wip/libs/other/libgloox/recipe.toml new file mode 100644 index 00000000..ca7c6d0e --- /dev/null +++ b/recipes/wip/libs/other/libgloox/recipe.toml @@ -0,0 +1,8 @@ +#TODO make gnutls work +[source] +tar = "https://camaya.net/download/gloox-1.0.27.tar.bz2" +[build] +template = "configure" +dependencies = [ + "gnutls3", +] diff --git a/recipes/wip/libs/other/libgpg-error/recipe.toml b/recipes/wip/libs/other/libgpg-error/recipe.toml new file mode 100644 index 00000000..58898a93 --- /dev/null +++ b/recipes/wip/libs/other/libgpg-error/recipe.toml @@ -0,0 +1,38 @@ +[source] +tar = "https://gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.55.tar.bz2" +blake3 = "6c363dd8c6bcf2601dd5ff3b11fa2f699baa2aae40de2acd92461af0fd8178f0" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +template = "custom" +script = """ +DYNAMIC_INIT + +cat > "${COOKBOOK_SOURCE}/src/syscfg/lock-obj-pub.${TARGET}.h" << EOF +## lock-obj-pub.x86_64-unknown-redox.h +## File created by gen-lock-obj.sh - DO NOT EDIT +## To be included by mkheader into gpg-error.h + +typedef struct +{ + long _vers; + union { + volatile char _priv[12]; + long _x_align; + long *_xp_align; + } u; +} gpgrt_lock_t; + +#define GPGRT_LOCK_INITIALIZER {1,{{}}} +## +## Local Variables: +## mode: c +## buffer-read-only: t +## End: +## +EOF +cookbook_configure --enable-threads=posix +""" diff --git a/recipes/wip/libs/other/libgpm/recipe.toml b/recipes/wip/libs/other/libgpm/recipe.toml new file mode 100644 index 00000000..9b1f7114 --- /dev/null +++ b/recipes/wip/libs/other/libgpm/recipe.toml @@ -0,0 +1,6 @@ +#TODO undefined macro: AC_PROG_LIBTOOL +[source] +tar = "https://www.nico.schottelius.org/software/gpm/archives/gpm-1.20.7.tar.bz2" +script = "./autogen.sh" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libgrantlee/recipe.toml b/recipes/wip/libs/other/libgrantlee/recipe.toml new file mode 100644 index 00000000..544697ad --- /dev/null +++ b/recipes/wip/libs/other/libgrantlee/recipe.toml @@ -0,0 +1,9 @@ +#TODO not compiled or tested +# build instructions: https://github.com/steveire/grantlee#installation +[source] +tar = "https://github.com/steveire/grantlee/releases/download/v5.3.1/grantlee-5.3.1.tar.gz" +[build] +template = "cmake" +dependencies = [ + "qt5-base", +] diff --git a/recipes/wip/libs/other/libgsl/recipe.toml b/recipes/wip/libs/other/libgsl/recipe.toml new file mode 100644 index 00000000..2fdf67a3 --- /dev/null +++ b/recipes/wip/libs/other/libgsl/recipe.toml @@ -0,0 +1,5 @@ +#TODO can't recognize Redox target +[source] +tar = "https://ftp.gnu.org/gnu/gsl/gsl-2.7.1.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libgspell-gtk3/recipe.toml b/recipes/wip/libs/other/libgspell-gtk3/recipe.toml new file mode 100644 index 00000000..e3f25232 --- /dev/null +++ b/recipes/wip/libs/other/libgspell-gtk3/recipe.toml @@ -0,0 +1,10 @@ +#TODO make gtk3 work +[source] +tar = "https://download.gnome.org/sources/gspell/1.12/gspell-1.12.2.tar.xz" +[build] +template = "configure" +dependencies = [ + "gtk3", + "glib", + "libicu", +] diff --git a/recipes/wip/libs/other/libgspell-gtk4/recipe.toml b/recipes/wip/libs/other/libgspell-gtk4/recipe.toml new file mode 100644 index 00000000..98f646df --- /dev/null +++ b/recipes/wip/libs/other/libgspell-gtk4/recipe.toml @@ -0,0 +1,11 @@ +#TODO make gtk4 work +[source] +tar = "https://gitlab.gnome.org/otrocodigo/gspell/-/archive/1.11.1/gspell-1.11.1.tar.bz2" +script = "./autogen.sh" +[build] +template = "configure" +dependencies = [ + "glib", + "gtk4", + "libicu", +] diff --git a/recipes/wip/libs/other/libgumbo/recipe.toml b/recipes/wip/libs/other/libgumbo/recipe.toml new file mode 100644 index 00000000..d8854254 --- /dev/null +++ b/recipes/wip/libs/other/libgumbo/recipe.toml @@ -0,0 +1,7 @@ +#TODO compiled but not tested +[source] +git = "https://codeberg.org/gumbo-parser/gumbo-parser" +rev = "23af2f7c5a9da7e7ea42fcc2c573df52e4a3a5be" +script = "./autogen.sh" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libharu/recipe.toml b/recipes/wip/libs/other/libharu/recipe.toml new file mode 100644 index 00000000..48171d07 --- /dev/null +++ b/recipes/wip/libs/other/libharu/recipe.toml @@ -0,0 +1,10 @@ +#TODO the git repository contents aren't copied to the "build" folder +[source] +git = "https://github.com/libharu/libharu" +rev = "0c598becaadaef8e3d12b883f9fc2864a118c12d" +[build] +template = "custom" +script = """ +./buildconf.sh +cookbook_configure +""" diff --git a/recipes/wip/libs/other/libhidapi/recipe.toml b/recipes/wip/libs/other/libhidapi/recipe.toml new file mode 100644 index 00000000..bc5e83c4 --- /dev/null +++ b/recipes/wip/libs/other/libhidapi/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +# build instructions: https://github.com/libusb/hidapi/blob/master/BUILD.cmake.md +[source] +git = "https://github.com/libusb/hidapi" +rev = "d3013f0af3f4029d82872c1a9487ea461a56dee4" +[build] +template = "cmake" +dependencies = [ + "libiconv", +] diff --git a/recipes/wip/libs/other/libhyphen/recipe.toml b/recipes/wip/libs/other/libhyphen/recipe.toml new file mode 100644 index 00000000..3ee115a8 --- /dev/null +++ b/recipes/wip/libs/other/libhyphen/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for building, see https://github.com/hunspell/hyphen/blob/master/README#L49 +[source] +git = "https://github.com/hunspell/hyphen" +[build] +template = "custom" diff --git a/recipes/wip/libs/other/libicu/recipe.toml b/recipes/wip/libs/other/libicu/recipe.toml new file mode 100644 index 00000000..12439b92 --- /dev/null +++ b/recipes/wip/libs/other/libicu/recipe.toml @@ -0,0 +1,51 @@ +[source] +tar = "https://github.com/unicode-org/icu/releases/download/release-77-1/icu4c-77_1-src.tgz" +blake3 = "8f51c4e4c6577b61d02921e800ddb0a2d4778addf7717eef4c5bb0e8a5582c3a" +patches = ["redox.patch"] + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +COOKBOOK_CONFIGURE="${COOKBOOK_SOURCE}/source/configure" +mkdir -p host +pushd host +#TODO: easier way to build for host? +HOST_ENV=( + env + --unset=AR + --unset=AS + --unset=CC + --unset=CFLAGS + --unset=CPPFLAGS + --unset=CXX + --unset=GNU_TARGET + --unset=LD + --unset=LDFLAGS + --unset=NM + --unset=OBJCOPY + --unset=OBJDUMP + --unset=PKG_CONFIG + --unset=PKG_CONFIG_ALLOW_CROSS + --unset=PKG_CONFIG_FOR_BUILD + --unset=PKG_CONFIG_LIBDIR + --unset=PKG_CONFIG_PATH + --unset=PKG_CONFIG_SYSROOT_DIR + --unset=PREFIX_RUSTFLAGS + --unset=RANLIB + --unset=READELF + --unset=STRIP + --unset=TARGET +) +"${HOST_ENV[@]}" printenv | sort +"${HOST_ENV[@]}" "${COOKBOOK_CONFIGURE}" +"${HOST_ENV[@]}" "${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}" +popd +COOKBOOK_CONFIGURE_FLAGS+=( + --with-cross-build="${COOKBOOK_BUILD}/host" + icu_cv_host_frag=mh-linux +) +# libicu uses TARGET for something else +unset TARGET +cookbook_configure +""" diff --git a/recipes/wip/libs/other/libicu/redox.patch b/recipes/wip/libs/other/libicu/redox.patch new file mode 100644 index 00000000..659b2df1 --- /dev/null +++ b/recipes/wip/libs/other/libicu/redox.patch @@ -0,0 +1,12 @@ +diff -ruwN icu/source/common/unicode/ptypes.h source/source/common/unicode/ptypes.h +--- icu/source/common/unicode/ptypes.h 2025-03-13 12:31:23.000000000 -0600 ++++ source/source/common/unicode/ptypes.h 2025-04-11 13:46:44.105116183 -0600 +@@ -56,7 +56,7 @@ + // implementations (looking at you, Apple, spring 2024) actually do this, so + // ICU4C must detect and deal with that. + #if !defined(__cplusplus) && !defined(U_IN_DOXYGEN) +-# if U_HAVE_CHAR16_T ++# if U_HAVE_CHAR16_T && !defined(__redox__) + # include + # else + typedef uint16_t char16_t; diff --git a/recipes/wip/libs/other/libimath/recipe.toml b/recipes/wip/libs/other/libimath/recipe.toml new file mode 100644 index 00000000..9d9b8879 --- /dev/null +++ b/recipes/wip/libs/other/libimath/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://imath.readthedocs.io/en/latest/install.html#linux-macos +[source] +git = "https://github.com/AcademySoftwareFoundation/Imath" +rev = "d690a3fcff4e877ead5ae56c7e964595ade8a35e" +[build] +template = "cmake" diff --git a/recipes/wip/libs/other/libimmer/recipe.toml b/recipes/wip/libs/other/libimmer/recipe.toml new file mode 100644 index 00000000..aed3fe1e --- /dev/null +++ b/recipes/wip/libs/other/libimmer/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://github.com/arximboldi/immer#usage +[source] +git = "https://github.com/arximboldi/immer" +rev = "5875f7739a6c642ad58cbedadb509c86d421217e" +[build] +template = "cmake" diff --git a/recipes/wip/libs/other/libinput/recipe.toml b/recipes/wip/libs/other/libinput/recipe.toml new file mode 100644 index 00000000..a042016b --- /dev/null +++ b/recipes/wip/libs/other/libinput/recipe.toml @@ -0,0 +1,11 @@ +#TODO not compiled or tested +# build instructions: https://wayland.freedesktop.org/libinput/doc/latest/building.html#building +[source] +git = "https://gitlab.freedesktop.org/libinput/libinput" +rev = "1680f2fbaa63a91739012c6b57988ab1918ea0b7" +[build] +template = "meson" +dependencies = [ + "eudev", + "libevdev", +] diff --git a/recipes/wip/libs/other/libisoburn/recipe.toml b/recipes/wip/libs/other/libisoburn/recipe.toml new file mode 100644 index 00000000..47717bac --- /dev/null +++ b/recipes/wip/libs/other/libisoburn/recipe.toml @@ -0,0 +1,5 @@ +#TODO compilation error +[source] +tar = "http://files.libburnia-project.org/releases/libisoburn-1.5.4.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libisofs/recipe.toml b/recipes/wip/libs/other/libisofs/recipe.toml new file mode 100644 index 00000000..5fa6ac52 --- /dev/null +++ b/recipes/wip/libs/other/libisofs/recipe.toml @@ -0,0 +1,5 @@ +#TODO compilation error +[source] +tar = "http://files.libburnia-project.org/releases/libisofs-1.5.4.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libjasper/recipe.toml b/recipes/wip/libs/other/libjasper/recipe.toml new file mode 100644 index 00000000..bcdf1a65 --- /dev/null +++ b/recipes/wip/libs/other/libjasper/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://github.com/jasper-software/jasper/blob/master/INSTALL.txt +[source] +tar = "https://github.com/jasper-software/jasper/releases/download/version-4.1.1/jasper-4.1.1.tar.gz" +[build] +template = "cmake" diff --git a/recipes/wip/libs/other/libkdcraw/recipe.toml b/recipes/wip/libs/other/libkdcraw/recipe.toml new file mode 100644 index 00000000..ea4789c8 --- /dev/null +++ b/recipes/wip/libs/other/libkdcraw/recipe.toml @@ -0,0 +1,11 @@ +#TODO not compiled or tested +# build instructions: https://invent.kde.org/graphics/libkdcraw/-/blob/master/README?ref_type=heads +[source] +git = "https://invent.kde.org/graphics/libkdcraw" +rev = "fbd01409c8009f403bccac6776fe4cfefa57d5bd" +[build] +template = "cmake" +dependencies = [ + "libraw", + "qt5-base", +] diff --git a/recipes/wip/libs/other/libkomparediff2/recipe.toml b/recipes/wip/libs/other/libkomparediff2/recipe.toml new file mode 100644 index 00000000..cdc05c41 --- /dev/null +++ b/recipes/wip/libs/other/libkomparediff2/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# lacking build instructions +[source] +git = "https://invent.kde.org/sdk/libkomparediff2" +rev = "ea9034ee3e4952862a937255bc6cc4ee392907f6" +[build] +template = "cmake" diff --git a/recipes/wip/libs/other/liblager/recipe.toml b/recipes/wip/libs/other/liblager/recipe.toml new file mode 100644 index 00000000..9b9782c7 --- /dev/null +++ b/recipes/wip/libs/other/liblager/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +# build instructions: https://github.com/arximboldi/lager#usage +[source] +git = "https://github.com/arximboldi/lager" +[build] +template = "cmake" +dependencies = [ + "libzug", + "boost", +] diff --git a/recipes/wip/libs/other/liblapack/recipe.toml b/recipes/wip/libs/other/liblapack/recipe.toml new file mode 100644 index 00000000..fd27e0d5 --- /dev/null +++ b/recipes/wip/libs/other/liblapack/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://github.com/Reference-LAPACK/lapack#installation +[source] +git = "https://github.com/Reference-LAPACK/lapack" +rev = "04b044e020a3560ccfa9988c8a80a1fb7083fc2e" +[build] +template = "cmake" diff --git a/recipes/wip/libs/other/liblcms/recipe.toml b/recipes/wip/libs/other/liblcms/recipe.toml new file mode 100644 index 00000000..ac36be80 --- /dev/null +++ b/recipes/wip/libs/other/liblcms/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +tar = "https://github.com/mm2/Little-CMS/releases/download/lcms2.15/lcms2-2.15.tar.gz" +[build] +template = "configure" +dependencies = [ + "libtiff", +] diff --git a/recipes/wip/libs/other/liblensfun/recipe.toml b/recipes/wip/libs/other/liblensfun/recipe.toml new file mode 100644 index 00000000..428eff77 --- /dev/null +++ b/recipes/wip/libs/other/liblensfun/recipe.toml @@ -0,0 +1,11 @@ +#TODO not compiled or tested +# build instructions: https://github.com/lensfun/lensfun?tab=readme-ov-file#build-instructions +[source] +git = "https://github.com/lensfun/lensfun" +rev = "35b19fb38e7250ea646709ef9e528d54a6a79648" +[build] +template = "cmake" +dependencies = [ + "glib", + "libpng", +] diff --git a/recipes/wip/libs/other/liblo/recipe.toml b/recipes/wip/libs/other/liblo/recipe.toml new file mode 100644 index 00000000..3e26b301 --- /dev/null +++ b/recipes/wip/libs/other/liblo/recipe.toml @@ -0,0 +1,5 @@ +#TODO compilation error +[source] +tar = "http://downloads.sourceforge.net/liblo/liblo-0.31.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libm17n/recipe.toml b/recipes/wip/libs/other/libm17n/recipe.toml new file mode 100644 index 00000000..ed33577e --- /dev/null +++ b/recipes/wip/libs/other/libm17n/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing plural.h +[source] +tar = "https://download.savannah.nongnu.org/releases/m17n/m17n-lib-1.8.4.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libmad/recipe.toml b/recipes/wip/libs/other/libmad/recipe.toml new file mode 100644 index 00000000..2912e2f4 --- /dev/null +++ b/recipes/wip/libs/other/libmad/recipe.toml @@ -0,0 +1,5 @@ +#TODO the redox target is not supported on the configure script +[source] +tar = "https://sourceforge.net/projects/mad/files/libmad/0.15.1b/libmad-0.15.1b.tar.gz/download" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libmd/recipe.toml b/recipes/wip/libs/other/libmd/recipe.toml new file mode 100644 index 00000000..51d27a9a --- /dev/null +++ b/recipes/wip/libs/other/libmd/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +tar = "https://archive.hadrons.org/software/libmd/libmd-1.1.0.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libmpeg2/recipe.toml b/recipes/wip/libs/other/libmpeg2/recipe.toml new file mode 100644 index 00000000..10196b8a --- /dev/null +++ b/recipes/wip/libs/other/libmpeg2/recipe.toml @@ -0,0 +1,5 @@ +#TODO the redox target is not supported on the configure script +[source] +tar = "https://libmpeg2.sourceforge.io/files/libmpeg2-0.5.1.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libmtp/recipe.toml b/recipes/wip/libs/other/libmtp/recipe.toml new file mode 100644 index 00000000..1d01f796 --- /dev/null +++ b/recipes/wip/libs/other/libmtp/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +tar = "https://sourceforge.net/projects/libmtp/files/libmtp/1.1.21/libmtp-1.1.21.tar.gz/download" +[build] +template = "configure" +dependencies = [ + "libusb", +] diff --git a/recipes/wip/libs/other/libmypaint/recipe.toml b/recipes/wip/libs/other/libmypaint/recipe.toml new file mode 100644 index 00000000..94ef6725 --- /dev/null +++ b/recipes/wip/libs/other/libmypaint/recipe.toml @@ -0,0 +1,9 @@ +#TODO probably missing dependencies, see: https://github.com/mypaint/libmypaint/#dependencies +[source] +tar = "https://github.com/mypaint/libmypaint/releases/download/v1.6.0/libmypaint-1.6.0.tar.xz" +[build] +template = "configure" +dependencies = [ + "glib", + "gobject-introspection", +] diff --git a/recipes/wip/libs/other/libnlopt/recipe.toml b/recipes/wip/libs/other/libnlopt/recipe.toml new file mode 100644 index 00000000..39fbb718 --- /dev/null +++ b/recipes/wip/libs/other/libnlopt/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://github.com/stevengj/nlopt#readme +[source] +git = "https://github.com/stevengj/nlopt" +rev = "09b3c2a6da71cabcb98d2c8facc6b83d2321ed71" +[build] +template = "cmake" diff --git a/recipes/wip/libs/other/libnotify/recipe.toml b/recipes/wip/libs/other/libnotify/recipe.toml new file mode 100644 index 00000000..6efb5c3f --- /dev/null +++ b/recipes/wip/libs/other/libnotify/recipe.toml @@ -0,0 +1,15 @@ +[source] +tar = "https://download.gnome.org/sources/libnotify/0.8/libnotify-0.8.4.tar.xz" +blake3 = "1c749e4f1cc85f88348bb363b6d78c8373baa19a6db4d2b3a4cf537c1af6b929" + +[build] +dependencies = [ + "gdk-pixbuf", + "gtk3", +] +template = "meson" +mesonflags = [ + "-Dgtk_doc=false", + "-Dintrospection=disabled", +] + diff --git a/recipes/wip/libs/other/libnsl/recipe.toml b/recipes/wip/libs/other/libnsl/recipe.toml new file mode 100644 index 00000000..f334c00e --- /dev/null +++ b/recipes/wip/libs/other/libnsl/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing headers for compilation +[source] +tar = "https://github.com/thkukuk/libnsl/releases/download/v2.0.1/libnsl-2.0.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libonig/recipe.toml b/recipes/wip/libs/other/libonig/recipe.toml new file mode 100644 index 00000000..894e8b0a --- /dev/null +++ b/recipes/wip/libs/other/libonig/recipe.toml @@ -0,0 +1,10 @@ +[source] +git = "https://github.com/kkos/oniguruma" +rev = "f95747b462de672b6f8dbdeb478245ddf061ca53" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libotf/recipe.toml b/recipes/wip/libs/other/libotf/recipe.toml new file mode 100644 index 00000000..fe52d509 --- /dev/null +++ b/recipes/wip/libs/other/libotf/recipe.toml @@ -0,0 +1,5 @@ +#TODO can't recognize redox target +[source] +tar = "https://download.savannah.nongnu.org/releases/m17n/libotf-0.9.16.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libpanel/recipe.toml b/recipes/wip/libs/other/libpanel/recipe.toml new file mode 100644 index 00000000..0dfe1cc6 --- /dev/null +++ b/recipes/wip/libs/other/libpanel/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# lacking build instructions +[source] +tar = "https://download.gnome.org/sources/libpanel/1.4/libpanel-1.4.0.tar.xz" +[build] +template = "meson" diff --git a/recipes/wip/libs/other/libpcap/recipe.toml b/recipes/wip/libs/other/libpcap/recipe.toml new file mode 100644 index 00000000..00e2d6af --- /dev/null +++ b/recipes/wip/libs/other/libpcap/recipe.toml @@ -0,0 +1,5 @@ +#TODO compilation error +[source] +tar = "https://www.tcpdump.org/release/libpcap-1.10.4.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libpcsclite/recipe.toml b/recipes/wip/libs/other/libpcsclite/recipe.toml new file mode 100644 index 00000000..4c96c3a8 --- /dev/null +++ b/recipes/wip/libs/other/libpcsclite/recipe.toml @@ -0,0 +1,5 @@ +#TODO require POSIX threads support +[source] +tar = "https://pcsclite.apdu.fr/files/pcsc-lite-2.0.3.tar.bz2" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libpeas/recipe.toml b/recipes/wip/libs/other/libpeas/recipe.toml new file mode 100644 index 00000000..b7fa7888 --- /dev/null +++ b/recipes/wip/libs/other/libpeas/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.gnome.org/GNOME/libpeas +[source] +tar = "https://download.gnome.org/sources/libpeas/2.0/libpeas-2.0.0.tar.xz" +[build] +template = "meson" diff --git a/recipes/wip/libs/other/libplist/recipe.toml b/recipes/wip/libs/other/libplist/recipe.toml new file mode 100644 index 00000000..277784f3 --- /dev/null +++ b/recipes/wip/libs/other/libplist/recipe.toml @@ -0,0 +1,11 @@ +#TODO compiled but not tested +[source] +tar = "https://github.com/libimobiledevice/libplist/releases/download/2.6.0/libplist-2.6.0.tar.bz2" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE_FLAGS+=( + --without-cython +) +cookbook_configure +""" diff --git a/recipes/wip/libs/other/libpoppler/recipe.toml b/recipes/wip/libs/other/libpoppler/recipe.toml new file mode 100644 index 00000000..482952ca --- /dev/null +++ b/recipes/wip/libs/other/libpoppler/recipe.toml @@ -0,0 +1,47 @@ +#TODO needs encoding data - https://poppler.freedesktop.org/poppler-data-0.4.12.tar.gz +[source] +tar = "https://poppler.freedesktop.org/poppler-25.08.0.tar.xz" +blake3 = "0732ef20594d084ae3c24cb75079a2be347df78acac80fdcbd6149b8dce197d4" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +template = "custom" +dependencies = [ + "cairo", + "curl", + "expat", + "fontconfig", + "freetype2", + "gettext", + "glib", + "libffi", + "libiconv", + "libjpeg", + "libpng", + "libx11", + "libxau", + "libxcb", + "nghttp2", + "openssl1", + "pcre2", + "pixman", + #TODO: compile dylib "libtiff", + "zlib", +] +script = """ +DYNAMIC_INIT +cookbook_cmake \ + -DCMAKE_C_FLAGS="-I${COOKBOOK_SYSROOT}/include" \ + -DCMAKE_CXX_FLAGS="-I${COOKBOOK_SYSROOT}/include" \ + -DENABLE_BOOST=OFF \ + -DENABLE_GPGME=OFF \ + -DENABLE_LCMS=OFF \ + -DENABLE_LIBOPENJPEG=none \ + -DENABLE_LIBTIFF=OFF \ + -DENABLE_QT5=OFF \ + -DENABLE_QT6=OFF \ + -DENABLE_NSS3=OFF +""" diff --git a/recipes/wip/libs/other/libportaudio/recipe.toml b/recipes/wip/libs/other/libportaudio/recipe.toml new file mode 100644 index 00000000..3c0d5255 --- /dev/null +++ b/recipes/wip/libs/other/libportaudio/recipe.toml @@ -0,0 +1,7 @@ +#TODO compilation error +#TODO require some Linux audio server +[source] +git = "https://github.com/PortAudio/portaudio" +rev = "147dd722548358763a8b649b3e4b41dfffbcfbb6" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libpthread-stubs/recipe.toml b/recipes/wip/libs/other/libpthread-stubs/recipe.toml new file mode 100644 index 00000000..878a40f4 --- /dev/null +++ b/recipes/wip/libs/other/libpthread-stubs/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +tar = "https://www.x.org/releases/individual/xcb/libpthread-stubs-0.5.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libpugixml/recipe.toml b/recipes/wip/libs/other/libpugixml/recipe.toml new file mode 100644 index 00000000..50d08d8e --- /dev/null +++ b/recipes/wip/libs/other/libpugixml/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for building, see https://pugixml.org/docs/quickstart.html#install +[source] +tar = "https://github.com/zeux/pugixml/releases/download/v1.14/pugixml-1.14.tar.gz" +[build] +template = "custom" diff --git a/recipes/wip/libs/other/libqalculate/recipe.toml b/recipes/wip/libs/other/libqalculate/recipe.toml new file mode 100644 index 00000000..361db8c4 --- /dev/null +++ b/recipes/wip/libs/other/libqalculate/recipe.toml @@ -0,0 +1,14 @@ +#TODO make libicu work +[source] +tar = "https://github.com/Qalculate/libqalculate/releases/download/v4.9.0/libqalculate-4.9.0.tar.gz" +[build] +template = "configure" +dependencies = [ + "libgmp", + "libmpfr", + "libxml2", + "readline", + "libiconv", + "libicu", + "curl", +] diff --git a/recipes/wip/libs/other/libqrcodegenc/recipe.toml b/recipes/wip/libs/other/libqrcodegenc/recipe.toml new file mode 100644 index 00000000..a270b5c1 --- /dev/null +++ b/recipes/wip/libs/other/libqrcodegenc/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing script to build the C implementation, see https://github.com/nayuki/QR-Code-generator/tree/master/c +[source] +git = "https://github.com/nayuki/QR-Code-generator" +rev = "720f62bddb7226106071d4728c292cb1df519ceb" +[build] +template = "custom" diff --git a/recipes/wip/libs/other/libraptor2/recipe.toml b/recipes/wip/libs/other/libraptor2/recipe.toml new file mode 100644 index 00000000..00795c49 --- /dev/null +++ b/recipes/wip/libs/other/libraptor2/recipe.toml @@ -0,0 +1,10 @@ +#TODO customization - https://librdf.org/raptor/INSTALL.html +#TODO pending dependency configuration +[source] +tar = "http://download.librdf.org/source/raptor2-2.0.16.tar.gz" +[build] +template = "configure" +dependencies = [ + "libxml2", + "libxslt", +] diff --git a/recipes/wip/libs/other/librasqal/recipe.toml b/recipes/wip/libs/other/librasqal/recipe.toml new file mode 100644 index 00000000..420b35a7 --- /dev/null +++ b/recipes/wip/libs/other/librasqal/recipe.toml @@ -0,0 +1,6 @@ +#TODO customization - https://librdf.org/rasqal/INSTALL.html +#TODO compilation error +[source] +tar = "http://download.librdf.org/source/rasqal-0.9.33.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/librdf/recipe.toml b/recipes/wip/libs/other/librdf/recipe.toml new file mode 100644 index 00000000..f4d6e596 --- /dev/null +++ b/recipes/wip/libs/other/librdf/recipe.toml @@ -0,0 +1,6 @@ +#TODO customization - https://librdf.org/INSTALL.html +#TODO compilation error +[source] +tar = "http://download.librdf.org/source/redland-1.0.17.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/librevenge/recipe.toml b/recipes/wip/libs/other/librevenge/recipe.toml new file mode 100644 index 00000000..d380c0c4 --- /dev/null +++ b/recipes/wip/libs/other/librevenge/recipe.toml @@ -0,0 +1,9 @@ +#TODO make boost work +[source] +tar = "https://sourceforge.net/projects/libwpd/files/librevenge/librevenge-0.0.5/librevenge-0.0.5.tar.xz/download" +[build] +template = "configure" +dependencies = [ + "boost", + "zlib", +] diff --git a/recipes/wip/libs/other/librist/recipe.toml b/recipes/wip/libs/other/librist/recipe.toml new file mode 100644 index 00000000..5757c549 --- /dev/null +++ b/recipes/wip/libs/other/librist/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://code.videolan.org/rist/librist#compile-using-mesonninja-linux-osx-and-windows-mingw +[source] +git = "https://code.videolan.org/rist/librist" +rev = "1e805500dc14a507598cebdd49557c32e514899f" +[build] +template = "meson" diff --git a/recipes/wip/libs/other/librkcommon/recipe.toml b/recipes/wip/libs/other/librkcommon/recipe.toml new file mode 100644 index 00000000..c7bb01c0 --- /dev/null +++ b/recipes/wip/libs/other/librkcommon/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +# build instructions: https://github.com/ospray/rkcommon#building +[source] +git = "https://github.com/ospray/rkcommon" +rev = "f15291d4789a53e5980fd9b3d2639f705d675dd7" +[build] +template = "cmake" +dependencies = [ + "onetbb", +] diff --git a/recipes/wip/libs/other/libsamplerate/recipe.toml b/recipes/wip/libs/other/libsamplerate/recipe.toml new file mode 100644 index 00000000..b0d81424 --- /dev/null +++ b/recipes/wip/libs/other/libsamplerate/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +tar = "https://github.com/libsndfile/libsamplerate/releases/download/0.2.2/libsamplerate-0.2.2.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libseexpr-kde/recipe.toml b/recipes/wip/libs/other/libseexpr-kde/recipe.toml new file mode 100644 index 00000000..6c7b11b6 --- /dev/null +++ b/recipes/wip/libs/other/libseexpr-kde/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +# build instructions: https://invent.kde.org/graphics/kseexpr#super-impatient-cmake-building-and-installing-guide +[source] +git = "https://invent.kde.org/graphics/kseexpr" +rev = "d834b2dc6a7f452ffca4602f90b709db86a3a630" +[build] +template = "cmake" +dependencies = [ + "qt5-base", +] diff --git a/recipes/wip/libs/other/libsigc++/recipe.toml b/recipes/wip/libs/other/libsigc++/recipe.toml new file mode 100644 index 00000000..250a61fc --- /dev/null +++ b/recipes/wip/libs/other/libsigc++/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for building, see https://github.com/libsigcplusplus/libsigcplusplus#building-from-a-release-tarball +[source] +tar = "https://download.gnome.org/sources/libsigc++/3.6/libsigc%2B%2B-3.6.0.tar.xz" +[build] +template = "custom" diff --git a/recipes/wip/libs/other/libskia/recipe.toml b/recipes/wip/libs/other/libskia/recipe.toml new file mode 100644 index 00000000..3a3665e5 --- /dev/null +++ b/recipes/wip/libs/other/libskia/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for GN, see https://skia.org/docs/user/build/ +[source] +git = "https://skia.googlesource.com/skia" +[build] +template = "custom" diff --git a/recipes/wip/libs/other/libslirp/recipe.toml b/recipes/wip/libs/other/libslirp/recipe.toml new file mode 100644 index 00000000..2722021b --- /dev/null +++ b/recipes/wip/libs/other/libslirp/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.freedesktop.org/slirp/libslirp#building +[source] +tar = "https://gitlab.freedesktop.org/slirp/libslirp/uploads/60113f60cfd6abe2c16dde9f6c81b631/libslirp-4.7.0.tar.xz" +[build] +template = "meson" diff --git a/recipes/wip/libs/other/libsmooth/recipe.toml b/recipes/wip/libs/other/libsmooth/recipe.toml new file mode 100644 index 00000000..802d166d --- /dev/null +++ b/recipes/wip/libs/other/libsmooth/recipe.toml @@ -0,0 +1,14 @@ +#TODO missing script for gnu make +# build instructions - https://github.com/enzo1982/smooth/#installation +[source] +tar = "https://github.com/enzo1982/smooth/releases/download/v0.9.10/smooth-0.9.10.tar.gz" +[build] +template = "custom" +dependencies = [ + "bzip2", + "curl", + "fribidi", + "gtk3", + "libjpeg", + "libxml2", +] diff --git a/recipes/wip/libs/other/libsndfile/recipe.toml b/recipes/wip/libs/other/libsndfile/recipe.toml new file mode 100644 index 00000000..e6f33515 --- /dev/null +++ b/recipes/wip/libs/other/libsndfile/recipe.toml @@ -0,0 +1,19 @@ +[source] +tar = "https://github.com/libsndfile/libsndfile/releases/download/1.2.0/libsndfile-1.2.0.tar.xz" +blake3 = "7ec1be7cc47fdffc38cf0cbf02857e6a34a13df22d19f541f04215929e1d7684" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + #TODO "libflac", + "libogg", + "libvorbis", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/libs/other/libsoundio/recipe.toml b/recipes/wip/libs/other/libsoundio/recipe.toml new file mode 100644 index 00000000..31c835d4 --- /dev/null +++ b/recipes/wip/libs/other/libsoundio/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://github.com/andrewrk/libsoundio#building +[source] +git = "https://github.com/andrewrk/libsoundio" +rev = "dc4f84339039ac518b6cd1c0e7683e88e25be470" +[build] +template = "cmake" diff --git a/recipes/wip/libs/other/libsoup/recipe.toml b/recipes/wip/libs/other/libsoup/recipe.toml new file mode 100644 index 00000000..7472e838 --- /dev/null +++ b/recipes/wip/libs/other/libsoup/recipe.toml @@ -0,0 +1,26 @@ +[source] +tar = "https://download.gnome.org/sources/libsoup/3.6/libsoup-3.6.5.tar.xz" +blake3 = "9e5214dfb310ac1bbf8ceb85724f2c79a1d5c94382f306080a6cdea47230e960" + +[build] +dependencies = [ + "gettext", + "glib", + "libffi", + "libiconv", + "libpsl", + "nghttp2", + "pcre2", + "sqlite3", + "zlib", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_meson \ + -Dintrospection=disabled \ + -Dsysprof=disabled \ + -Dtests=false \ + -Dtls_check=false +patchelf --replace-needed "${COOKBOOK_SYSROOT}/usr/lib/libsqlite3.so" "libsqlite3.so" "${COOKBOOK_STAGE}/usr/lib/libsoup-3.0.so" +""" diff --git a/recipes/wip/libs/other/libspdlog/recipe.toml b/recipes/wip/libs/other/libspdlog/recipe.toml new file mode 100644 index 00000000..295574a8 --- /dev/null +++ b/recipes/wip/libs/other/libspdlog/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/gabime/spdlog" +[build] +template = "cmake" diff --git a/recipes/wip/libs/other/libspiro/recipe.toml b/recipes/wip/libs/other/libspiro/recipe.toml new file mode 100644 index 00000000..fbba5edc --- /dev/null +++ b/recipes/wip/libs/other/libspiro/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +tar = "https://github.com/fontforge/libspiro/releases/download/20221101/libspiro-dist-20221101.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libsrt/recipe.toml b/recipes/wip/libs/other/libsrt/recipe.toml new file mode 100644 index 00000000..cd8b2a74 --- /dev/null +++ b/recipes/wip/libs/other/libsrt/recipe.toml @@ -0,0 +1,10 @@ +#TODO CMake error +# build instructions: https://github.com/Haivision/srt/blob/master/docs/build/build-linux.md +[source] +git = "https://github.com/Haivision/srt" +rev = "09f35c0f1743e23f514cb41444504a7faeacf89e" +[build] +template = "configure" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/libs/other/libssh/recipe.toml b/recipes/wip/libs/other/libssh/recipe.toml new file mode 100644 index 00000000..013570f2 --- /dev/null +++ b/recipes/wip/libs/other/libssh/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +# build instructions: https://git.libssh.org/projects/libssh.git/tree/INSTALL#n36 +[source] +tar = "https://www.libssh.org/files/0.10/libssh-0.10.6.tar.xz" +[build] +template = "cmake" +dependencies = [ + "zlib", + "openssl1", +] diff --git a/recipes/wip/libs/other/libstatgrab/recipe.toml b/recipes/wip/libs/other/libstatgrab/recipe.toml new file mode 100644 index 00000000..8bdc5a32 --- /dev/null +++ b/recipes/wip/libs/other/libstatgrab/recipe.toml @@ -0,0 +1,5 @@ +#TODO compilation error +[source] +tar = "https://github.com/libstatgrab/libstatgrab/releases/download/LIBSTATGRAB_0_92_1/libstatgrab-0.92.1.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libstk/recipe.toml b/recipes/wip/libs/other/libstk/recipe.toml new file mode 100644 index 00000000..0a0eddd7 --- /dev/null +++ b/recipes/wip/libs/other/libstk/recipe.toml @@ -0,0 +1,5 @@ +#TODO compilation error +[source] +tar = "http://ccrma.stanford.edu/software/stk/release/stk-4.6.2.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libtasn1/recipe.toml b/recipes/wip/libs/other/libtasn1/recipe.toml new file mode 100644 index 00000000..2dad5224 --- /dev/null +++ b/recipes/wip/libs/other/libtasn1/recipe.toml @@ -0,0 +1,14 @@ +[source] +tar = "https://ftp.gnu.org/gnu/libtasn1/libtasn1-4.20.0.tar.gz" +blake3 = "374103da2b2ac47e18b57cb5d1d41f7e42f3725c269cf35fba8e4717f0c392b5" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/libs/other/libtatsu/recipe.toml b/recipes/wip/libs/other/libtatsu/recipe.toml new file mode 100644 index 00000000..4e14e975 --- /dev/null +++ b/recipes/wip/libs/other/libtatsu/recipe.toml @@ -0,0 +1,9 @@ +#TODO compiled but not tested +[source] +tar = "https://github.com/libimobiledevice/libtatsu/releases/download/1.0.3/libtatsu-1.0.3.tar.bz2" +[build] +template = "configure" +dependencies = [ + "libplist", + "curl", +] diff --git a/recipes/wip/libs/other/libtheora/recipe.toml b/recipes/wip/libs/other/libtheora/recipe.toml new file mode 100644 index 00000000..12f2579b --- /dev/null +++ b/recipes/wip/libs/other/libtheora/recipe.toml @@ -0,0 +1,18 @@ +[source] +tar = "http://downloads.xiph.org/releases/theora/libtheora-1.2.0.tar.gz" +blake3 = "b2413d6a29669063c30679eb46e09bd55b47d51e1516282bd1f5a752a8ecae91" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +template = "custom" +dependencies = [ + "libogg", + "libvorbis", +] +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/libs/other/libtickit/recipe.toml b/recipes/wip/libs/other/libtickit/recipe.toml new file mode 100644 index 00000000..f20edf87 --- /dev/null +++ b/recipes/wip/libs/other/libtickit/recipe.toml @@ -0,0 +1,15 @@ +#TODO missing script for building, see https://github.com/leonerd/libtickit +[source] +tar = "https://www.leonerd.org.uk/code/libtickit/libtickit-0.4.5.tar.gz" +[build] +template = "custom" +dependencies = [ + "ncursesw" +] +script = """ +DYNAMIC_INIT +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ + +"${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}" +"${COOKBOOK_MAKE}" install-inc install-lib DESTDIR="${COOKBOOK_STAGE}" +""" diff --git a/recipes/wip/libs/other/libtiff/recipe.toml b/recipes/wip/libs/other/libtiff/recipe.toml new file mode 100644 index 00000000..887e9109 --- /dev/null +++ b/recipes/wip/libs/other/libtiff/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +tar = "https://download.osgeo.org/libtiff/tiff-4.5.0.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libtool/recipe.toml b/recipes/wip/libs/other/libtool/recipe.toml new file mode 100644 index 00000000..9ce69151 --- /dev/null +++ b/recipes/wip/libs/other/libtool/recipe.toml @@ -0,0 +1,18 @@ +#TODO can build, not tested +[source] +git = "https://gitlab.redox-os.org/redox-os/libtool" +branch = "v2.5.4-redox" +shallow_clone = true + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ +./bootstrap \ + --skip-po \ + --force \ + --gnulib-srcdir=./gnulib +COOKBOOK_CONFIGURE="./configure" +cookbook_configure +""" diff --git a/recipes/wip/libs/other/libunibreak/recipe.toml b/recipes/wip/libs/other/libunibreak/recipe.toml new file mode 100644 index 00000000..83b0efb6 --- /dev/null +++ b/recipes/wip/libs/other/libunibreak/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +tar = "https://github.com/adah1972/libunibreak/releases/download/libunibreak_5_1/libunibreak-5.1.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libunistring/recipe.toml b/recipes/wip/libs/other/libunistring/recipe.toml new file mode 100644 index 00000000..3b5fa9bd --- /dev/null +++ b/recipes/wip/libs/other/libunistring/recipe.toml @@ -0,0 +1,5 @@ +#TODO port the fseterr function +[source] +tar = "https://ftp.gnu.org/gnu/libunistring/libunistring-1.1.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libunwind/recipe.toml b/recipes/wip/libs/other/libunwind/recipe.toml new file mode 100644 index 00000000..6ef93f40 --- /dev/null +++ b/recipes/wip/libs/other/libunwind/recipe.toml @@ -0,0 +1,5 @@ +#TODO compilation error +[source] +tar = "https://download.savannah.nongnu.org/releases/libunwind/libunwind-1.6.2.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/liburcu/recipe.toml b/recipes/wip/libs/other/liburcu/recipe.toml new file mode 100644 index 00000000..c47ad54b --- /dev/null +++ b/recipes/wip/libs/other/liburcu/recipe.toml @@ -0,0 +1,5 @@ +#TODO can't configure pthread support +[source] +tar = "https://lttng.org/files/urcu/userspace-rcu-0.14.0.tar.bz2" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/liburiparser/recipe.toml b/recipes/wip/libs/other/liburiparser/recipe.toml new file mode 100644 index 00000000..c95d227d --- /dev/null +++ b/recipes/wip/libs/other/liburiparser/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://github.com/uriparser/uriparser/releases/download/uriparser-0.9.8/uriparser-0.9.8.tar.bz2" +[build] +template = "cmake" diff --git a/recipes/wip/libs/other/libusb/recipe.toml b/recipes/wip/libs/other/libusb/recipe.toml new file mode 100644 index 00000000..9bc9525b --- /dev/null +++ b/recipes/wip/libs/other/libusb/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +tar = "https://github.com/libusb/libusb/releases/download/v1.0.26/libusb-1.0.26.tar.bz2" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libuuid-ossp/recipe.toml b/recipes/wip/libs/other/libuuid-ossp/recipe.toml new file mode 100644 index 00000000..90f45ad6 --- /dev/null +++ b/recipes/wip/libs/other/libuuid-ossp/recipe.toml @@ -0,0 +1,7 @@ +#TODO require a data type for FTP +# download link - ftp://ftp.ossp.org/pkg/lib/uuid/uuid-1.6.2.tar.gz +#TODO if this template doesn't work, read this http://cvs.ossp.org/fileview?f=ossp-pkg/uuid/INSTALL&v=1.6 +[source] + +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libuuid/recipe.toml b/recipes/wip/libs/other/libuuid/recipe.toml new file mode 100644 index 00000000..8a9947f9 --- /dev/null +++ b/recipes/wip/libs/other/libuuid/recipe.toml @@ -0,0 +1,7 @@ +[source] +tar = "https://sourceforge.net/projects/libuuid/files/libuuid-1.0.3.tar.gz/download" +patches = [ + "redox.patch" +] +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libuuid/redox.patch b/recipes/wip/libs/other/libuuid/redox.patch new file mode 100644 index 00000000..1ede79c4 --- /dev/null +++ b/recipes/wip/libs/other/libuuid/redox.patch @@ -0,0 +1,54 @@ +diff -ruwN source/config.sub source-new/config.sub +--- source/config.sub 2014-08-12 15:19:20.000000000 +0700 ++++ source-new/config.sub 2025-09-19 21:11:57.907457211 +0700 +@@ -1376,7 +1376,7 @@ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ +- | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) ++ | -skyos* | -haiku* | -rdos* | -redox* | -toppers* | -drops* | -es*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) +diff -ruwN source/configure source-new/configure +--- source/configure 2014-08-12 15:19:19.000000000 +0700 ++++ source-new/configure 2025-09-19 21:20:30.460699979 +0700 +@@ -5312,7 +5312,7 @@ + ;; + + # This must be glibc/ELF. +-linux* | k*bsd*-gnu | kopensolaris*-gnu) ++linux* | k*bsd*-gnu | kopensolaris*-gnu | redox*) + lt_cv_deplibs_check_method=pass_all + ;; + +@@ -8866,7 +8866,7 @@ + archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + +- gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) ++ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu | redox*) + tmp_diet=no + if test "$host_os" = linux-dietlibc; then + case $cc_basename in +@@ -10534,7 +10534,7 @@ + ;; + + # This must be glibc/ELF. +-linux* | k*bsd*-gnu | kopensolaris*-gnu) ++linux* | k*bsd*-gnu | kopensolaris*-gnu | redox*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no +diff -ruwN source/randutils.c source-new/randutils.c +--- source/randutils.c 2014-08-12 15:07:18.000000000 +0700 ++++ source-new/randutils.c 2025-09-19 21:11:57.907659403 +0700 +@@ -13,7 +13,7 @@ + #include + #include + +-#include ++// #include + + #include "randutils.h" + diff --git a/recipes/wip/libs/other/libva/recipe.toml b/recipes/wip/libs/other/libva/recipe.toml new file mode 100644 index 00000000..24af9a36 --- /dev/null +++ b/recipes/wip/libs/other/libva/recipe.toml @@ -0,0 +1,6 @@ +#TODO can't recognize the redox target +#TODO probably require libdrm +[source] +tar = "https://github.com/intel/libva/releases/download/2.19.0/libva-2.19.0.tar.bz2" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libvisio/recipe.toml b/recipes/wip/libs/other/libvisio/recipe.toml new file mode 100644 index 00000000..73d32a0b --- /dev/null +++ b/recipes/wip/libs/other/libvisio/recipe.toml @@ -0,0 +1,11 @@ +#TODO make dependencies work +[source] +tar = "https://dev-www.libreoffice.org/src/libvisio/libvisio-0.1.7.tar.xz" +[build] +template = "configure" +dependencies = [ + "boost", + "libicu", + "librevenge", + "libxml2", +] diff --git a/recipes/wip/libs/other/libvncserver/recipe.toml b/recipes/wip/libs/other/libvncserver/recipe.toml new file mode 100644 index 00000000..058ff6cb --- /dev/null +++ b/recipes/wip/libs/other/libvncserver/recipe.toml @@ -0,0 +1,16 @@ +#TODO not compiled or tested +# build instructions: https://github.com/LibVNC/libvncserver#how-to-build +[source] +git = "https://github.com/LibVNC/libvncserver" +rev = "10e9eb75f73e973725dc75c373de5d89807af028" +[build] +template = "cmake" +cmakeflags = [ + "-DWITH_OPENSSL=ON", + "-DWITH_GCRYPT=OFF", +] +dependencies = [ + "openssl1", + "ffmpeg6", + "libssh2", +] diff --git a/recipes/wip/libs/other/libvte/recipe.toml b/recipes/wip/libs/other/libvte/recipe.toml new file mode 100644 index 00000000..b45dbdc7 --- /dev/null +++ b/recipes/wip/libs/other/libvte/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.gnome.org/GNOME/vte/#installation +[source] +tar = "https://download.gnome.org/sources/vte/0.74/vte-0.74.1.tar.xz" +[build] +template = "meson" diff --git a/recipes/wip/libs/other/libvterm/recipe.toml b/recipes/wip/libs/other/libvterm/recipe.toml new file mode 100644 index 00000000..4deb0f1d --- /dev/null +++ b/recipes/wip/libs/other/libvterm/recipe.toml @@ -0,0 +1,13 @@ +#TODO missing script for "make" +[source] +tar = "https://launchpad.net/libvterm/trunk/v0.3/+download/libvterm-0.3.3.tar.gz" +[build] +template = "custom" +script = """ +DYNAMIC_INIT + +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ + +${COOKBOOK_MAKE} -j ${COOKBOOK_MAKE_JOBS} install \ + PREFIX="${COOKBOOK_STAGE}" +""" diff --git a/recipes/wip/libs/other/libvulkan/recipe.toml b/recipes/wip/libs/other/libvulkan/recipe.toml new file mode 100644 index 00000000..b7630f7d --- /dev/null +++ b/recipes/wip/libs/other/libvulkan/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +# build instructions: https://github.com/KhronosGroup/Vulkan-Loader/blob/main/BUILD.md +[source] +git = "https://github.com/KhronosGroup/Vulkan-Loader" +rev = "cf1a1eff115465b2425d287bef1e94ca62b0de1b" +[build] +template = "cmake" +dependencies = [ + "libxkbcommon", +] diff --git a/recipes/wip/libs/other/libwebsocket++/recipe.toml b/recipes/wip/libs/other/libwebsocket++/recipe.toml new file mode 100644 index 00000000..e5c0939f --- /dev/null +++ b/recipes/wip/libs/other/libwebsocket++/recipe.toml @@ -0,0 +1,10 @@ +#TODO missing script for installation, lacking build instructions +[source] +git = "https://github.com/zaphoyd/websocketpp" +rev = "56123c87598f8b1dd471be83ca841ceae07f95ba" +[build] +template = "custom" +dependencies = [ + "openssl1", + "zlib", +] diff --git a/recipes/wip/libs/other/libwebsockets/recipe.toml b/recipes/wip/libs/other/libwebsockets/recipe.toml new file mode 100644 index 00000000..c99518a2 --- /dev/null +++ b/recipes/wip/libs/other/libwebsockets/recipe.toml @@ -0,0 +1,9 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/warmcat/libwebsockets" +rev = "4415e84c095857629863804e941b9e1c2e9347ef" +[build] +template = "cmake" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/libs/other/libwmf/recipe.toml b/recipes/wip/libs/other/libwmf/recipe.toml new file mode 100644 index 00000000..ac4840f2 --- /dev/null +++ b/recipes/wip/libs/other/libwmf/recipe.toml @@ -0,0 +1,5 @@ +#TODO can't recognize the redox target +[source] +tar = "https://sourceforge.net/projects/wvware/files/libwmf/0.2.8.4/libwmf-0.2.8.4.tar.gz/download" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libwpd/recipe.toml b/recipes/wip/libs/other/libwpd/recipe.toml new file mode 100644 index 00000000..5370ab7d --- /dev/null +++ b/recipes/wip/libs/other/libwpd/recipe.toml @@ -0,0 +1,10 @@ +#TODO make dependencies work +[source] +tar = "https://sourceforge.net/projects/libwpd/files/libwpd/libwpd-0.10.3/libwpd-0.10.3.tar.xz/download" +[build] +template = "configure" +dependencies = [ + "boost", + "librevenge", + "zlib", +] diff --git a/recipes/wip/libs/other/libxcrypt/recipe.toml b/recipes/wip/libs/other/libxcrypt/recipe.toml new file mode 100644 index 00000000..6f6779ac --- /dev/null +++ b/recipes/wip/libs/other/libxcrypt/recipe.toml @@ -0,0 +1,4 @@ +[source] +tar = "https://github.com/besser82/libxcrypt/releases/download/v4.4.36/libxcrypt-4.4.36.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libxcursor/recipe.toml b/recipes/wip/libs/other/libxcursor/recipe.toml new file mode 100644 index 00000000..b0e44dff --- /dev/null +++ b/recipes/wip/libs/other/libxcursor/recipe.toml @@ -0,0 +1,92 @@ +#TODO make dependencies work +[source] +tar = "https://www.x.org/releases/individual/lib/libXcursor-1.2.1.tar.xz" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "libx11", + "libxcb", + "libxfixes", + "libxrender", + "x11proto", + "x11proto-kb", + "libxrender", + "xcb-proto", + "libxau", + "libpthread-stubs", +] +template = "custom" +script = """ +DYNAMIC_INIT + +# Force libtool to build shared libraries for Redox +# Override libtool's platform detection +export lt_cv_deplibs_check_method=pass_all +export ac_cv_lib_dl_dlopen=yes +export enable_shared=yes +export enable_static=yes + +#Configure with shared library support +"${COOKBOOK_CONFIGURE}" \ + --host="${GNU_TARGET}" \ + --prefix="/usr" \ + --enable-shared \ + --enable-static \ + --with-pic \ + ac_cv_search_sendmsg=no \ + lt_cv_prog_compiler_pic="-fPIC" \ + lt_cv_prog_compiler_pic_works=yes + +# Build +"${COOKBOOK_MAKE}" + +#After make, manually create the shared library if libtool didn't +if [ ! -f src/.libs/libXcursor.so ]; then + echo "Creating shared library manually..." + cd src/.libs + # Extract all object files from the static library + ${GNU_TARGET}-ar x libXcursor.a + # Create the shared library from the object files + ${GNU_TARGET}-gcc -shared -fPIC -o libXcursor.so.1.0.2 *.o \ + -L${COOKBOOK_SYSROOT}/lib -L${COOKBOOK_SYSROOT}/usr/lib \ + -lXfixes -lXrender -lX11 -lxcb -lXau + # Create symlinks + ln -sf libXcursor.so.1.0.2 libXcursor.so.1 + ln -sf libXcursor.so.1 libXcursor.so + cd ../.. +fi + +"${COOKBOOK_MAKE}" install DESTDIR="${COOKBOOK_STAGE}" + +# Also copy the shared libraries if they exist +if [ -f src/.libs/libXcursor.so.1.0.2 ]; then + mkdir -p "${COOKBOOK_STAGE}/usr/lib" + cp -P src/.libs/libXcursor.so* "${COOKBOOK_STAGE}/usr/lib/" +fi +""" + + +# script = """ + +# # this /usr/share/pkgconfig comes from x11proto, that stages pc files in wrong dir. +# export PKG_CONFIG_PATH="${COOKBOOK_SYSROOT}/lib/pkgconfig" +# #:${COOKBOOK_SYSROOT}/usr/lib/pkgconfig:${COOKBOOK_SYSROOT}/usr/share/pkgconfig" +# export PKG_CONFIG_LIBDIR="${COOKBOOK_SYSROOT}/lib/pkgconfig" +# #:${COOKBOOK_SYSROOT}/usr/lib/pkgconfig" +# export PKG_CONFIG_SYSROOT_DIR="${COOKBOOK_SYSROOT}" + +# rsync -a "${COOKBOOK_SOURCE}/" ./ + +# # I'm tired trying figure out why multiple pkgconfig paths are ignored by cargo building stuff +# # rsync -a -v ${COOKBOOK_SYSROOT}/usr/share/pkgconfig/*.pc ${COOKBOOK_SYSROOT}/lib/pkgconfig/ +# rsync -a -v ${COOKBOOK_SYSROOT}/usr/lib/pkgconfig/*.pc ${COOKBOOK_SYSROOT}/lib/pkgconfig/ + +# echo "listing ${COOKBOOK_SYSROOT}/lib/pkgconfig" +# ls -al ${COOKBOOK_SYSROOT}/lib/pkgconfig + +# cookbook_configure +# """ diff --git a/recipes/wip/libs/other/libxkbcommon/recipe.toml b/recipes/wip/libs/other/libxkbcommon/recipe.toml new file mode 100644 index 00000000..119193b0 --- /dev/null +++ b/recipes/wip/libs/other/libxkbcommon/recipe.toml @@ -0,0 +1,17 @@ +[source] +tar = "https://xkbcommon.org/download/libxkbcommon-1.7.0.tar.xz" +b3sum = "5001ca0b8562feeef2010bf16c05657e3875fda3ed5fdedbf48b9135e5cdfcbc" + +[build] +template = "custom" +dependencies = [ + "libxml2", + "xz", + "zlib", +] +script = """ +DYNAMIC_INIT +cookbook_meson \ + -Denable-wayland=false \ + -Denable-x11=false +""" diff --git a/recipes/wip/libs/other/libxsimd/recipe.toml b/recipes/wip/libs/other/libxsimd/recipe.toml new file mode 100644 index 00000000..c2f013ce --- /dev/null +++ b/recipes/wip/libs/other/libxsimd/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://github.com/xtensor-stack/xsimd#install-from-sources +[source] +git = "https://github.com/xtensor-stack/xsimd" +rev = "c1247bffa8fc36de7380a5cd42673a3b32f74c97" +[build] +template = "cmake" diff --git a/recipes/wip/libs/other/libxslt/recipe.toml b/recipes/wip/libs/other/libxslt/recipe.toml new file mode 100644 index 00000000..b8458e0d --- /dev/null +++ b/recipes/wip/libs/other/libxslt/recipe.toml @@ -0,0 +1,20 @@ +[source] +tar = "https://download.gnome.org/sources/libxslt/1.1/libxslt-1.1.43.tar.xz" +blake3 = "6c529acc02344fe48377810debadaee8eb0511a5553a8b7bea685d5282ab00cb" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "libxml2", + "xz", + "zlib", +] +template = "custom" +script = """ +DYNAMIC_INIT +export CFLAGS="-llzma -lz" +cookbook_configure --without-python +""" diff --git a/recipes/wip/libs/other/libxss/recipe.toml b/recipes/wip/libs/other/libxss/recipe.toml new file mode 100644 index 00000000..e1aab827 --- /dev/null +++ b/recipes/wip/libs/other/libxss/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing xorg-macros package +[source] +tar = "https://www.x.org/releases/individual/lib/libXScrnSaver-1.2.4.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libxtl/recipe.toml b/recipes/wip/libs/other/libxtl/recipe.toml new file mode 100644 index 00000000..3c1a8298 --- /dev/null +++ b/recipes/wip/libs/other/libxtl/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://github.com/xtensor-stack/xtl#install-from-sources +[source] +git = "https://github.com/xtensor-stack/xtl" +rev = "c95f6c8b13ffb7f74f16d3fd6882668b79bd8412" +[build] +template = "cmake" diff --git a/recipes/wip/libs/other/libxtst/recipe.toml b/recipes/wip/libs/other/libxtst/recipe.toml new file mode 100644 index 00000000..fd8a1f1d --- /dev/null +++ b/recipes/wip/libs/other/libxtst/recipe.toml @@ -0,0 +1,10 @@ +#TODO missing dependencies +[source] +tar = "https://www.x.org/releases/individual/lib/libXtst-1.2.4.tar.xz" +[build] +template = "configure" +dependencies = [ + "libx11", + "libxi", + "libxext", +] \ No newline at end of file diff --git a/recipes/wip/libs/other/libxv/recipe.toml b/recipes/wip/libs/other/libxv/recipe.toml new file mode 100644 index 00000000..b7e0e649 --- /dev/null +++ b/recipes/wip/libs/other/libxv/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing xorg-macros package +[source] +tar = "https://www.x.org/releases/individual/lib/libXv-1.0.12.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libxvmc/recipe.toml b/recipes/wip/libs/other/libxvmc/recipe.toml new file mode 100644 index 00000000..e89d95ff --- /dev/null +++ b/recipes/wip/libs/other/libxvmc/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing xorg-macros package +[source] +tar = "https://www.x.org/releases/individual/lib/libXvMC-1.0.13.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libyaml/recipe.toml b/recipes/wip/libs/other/libyaml/recipe.toml new file mode 100644 index 00000000..ba2c19b2 --- /dev/null +++ b/recipes/wip/libs/other/libyaml/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +tar = "http://pyyaml.org/download/libyaml/yaml-0.2.5.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/libzimg/recipe.toml b/recipes/wip/libs/other/libzimg/recipe.toml new file mode 100644 index 00000000..cdb86d5d --- /dev/null +++ b/recipes/wip/libs/other/libzimg/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing script +[source] +git = "https://github.com/sekrit-twc/zimg" +rev = "e5b0de6bebbcbc66732ed5afaafef6b2c7dfef87" +[build] +template = "custom" diff --git a/recipes/wip/libs/other/libzug/recipe.toml b/recipes/wip/libs/other/libzug/recipe.toml new file mode 100644 index 00000000..378ad6a5 --- /dev/null +++ b/recipes/wip/libs/other/libzug/recipe.toml @@ -0,0 +1,9 @@ +#TODO not compiled or tested +# build instructions: https://github.com/arximboldi/zug#usage +[source] +git = "https://github.com/arximboldi/zug" +[build] +template = "cmake" +dependencies = [ + "boost", +] diff --git a/recipes/wip/libs/other/libzvbi/recipe.toml b/recipes/wip/libs/other/libzvbi/recipe.toml new file mode 100644 index 00000000..5c2df511 --- /dev/null +++ b/recipes/wip/libs/other/libzvbi/recipe.toml @@ -0,0 +1,5 @@ +#TODO the redox target is not supported on the configure script +[source] +tar = "https://sourceforge.net/projects/zapping/files/zvbi/0.2.35/zvbi-0.2.35.tar.bz2/download" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/lilv/recipe.toml b/recipes/wip/libs/other/lilv/recipe.toml new file mode 100644 index 00000000..04e68ce9 --- /dev/null +++ b/recipes/wip/libs/other/lilv/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.com/lv2/lilv/-/blob/master/INSTALL.md?ref_type=heads +[source] +tar = "https://download.drobilla.net/lilv-0.24.20.tar.xz" +[build] +template = "meson" diff --git a/recipes/wip/libs/other/liquid-dsp/recipe.toml b/recipes/wip/libs/other/liquid-dsp/recipe.toml new file mode 100644 index 00000000..05a48643 --- /dev/null +++ b/recipes/wip/libs/other/liquid-dsp/recipe.toml @@ -0,0 +1,9 @@ +#TODO missing script, see https://github.com/jgaeddert/liquid-dsp#installation-and-dependencies +[source] +git = "https://github.com/jgaeddert/liquid-dsp" +rev = "8bf87b6fe325d98c250d6911fa50518d14175d86" +[build] +template = "custom" +dependencies = [ + "fftw", +] diff --git a/recipes/wip/libs/other/livedotcom/recipe.toml b/recipes/wip/libs/other/livedotcom/recipe.toml new file mode 100644 index 00000000..fb50919e --- /dev/null +++ b/recipes/wip/libs/other/livedotcom/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for the build system, see http://www.live555.com/liveMedia/#config-unix +[source] +tar = "http://www.live555.com/liveMedia/public/live555-latest.tar.gz" +[build] +template = "custom" diff --git a/recipes/wip/libs/other/lrdf/recipe.toml b/recipes/wip/libs/other/lrdf/recipe.toml new file mode 100644 index 00000000..8029412d --- /dev/null +++ b/recipes/wip/libs/other/lrdf/recipe.toml @@ -0,0 +1,6 @@ +#TODO configuration error +[source] +git = "https://github.com/x42/LRDF" +rev = "e61f7aa4a1e240a884e3a0cb4b2db65046cfcaa6" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/lv2/recipe.toml b/recipes/wip/libs/other/lv2/recipe.toml new file mode 100644 index 00000000..e21a5da2 --- /dev/null +++ b/recipes/wip/libs/other/lv2/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.com/lv2/lv2/-/blob/master/INSTALL.md +[source] +tar = "https://lv2plug.in/spec/lv2-1.18.10.tar.xz" +[build] +template = "meson" diff --git a/recipes/wip/libs/other/lzlib/recipe.toml b/recipes/wip/libs/other/lzlib/recipe.toml new file mode 100644 index 00000000..a092f870 --- /dev/null +++ b/recipes/wip/libs/other/lzlib/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +tar = "https://download.savannah.gnu.org/releases/lzip/lzlib/lzlib-1.14.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/m4/recipe.toml b/recipes/wip/libs/other/m4/recipe.toml new file mode 100644 index 00000000..0406b950 --- /dev/null +++ b/recipes/wip/libs/other/m4/recipe.toml @@ -0,0 +1,5 @@ +#TODO compilation error +[source] +tar = "https://ftp.gnu.org/gnu/m4/m4-1.4.19.tar.xz" +[build] +template = "configure" \ No newline at end of file diff --git a/recipes/wip/libs/other/maven/recipe.toml b/recipes/wip/libs/other/maven/recipe.toml new file mode 100644 index 00000000..fd7aef0a --- /dev/null +++ b/recipes/wip/libs/other/maven/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for building, lacking build instructions +[source] +tar = "https://dlcdn.apache.org/maven/maven-3/3.9.5/source/apache-maven-3.9.5-src.tar.gz" +[build] +template = "custom" diff --git a/recipes/wip/libs/other/mimalloc/recipe.toml b/recipes/wip/libs/other/mimalloc/recipe.toml new file mode 100644 index 00000000..a2d0b0bf --- /dev/null +++ b/recipes/wip/libs/other/mimalloc/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://github.com/microsoft/mimalloc#macos-linux-bsd-etc +[source] +git = "https://github.com/microsoft/mimalloc" +rev = "43ce4bd7fd34bcc730c1c7471c99995597415488" +[build] +template = "cmake" diff --git a/recipes/wip/libs/other/mlt/recipe.toml b/recipes/wip/libs/other/mlt/recipe.toml new file mode 100644 index 00000000..ca082266 --- /dev/null +++ b/recipes/wip/libs/other/mlt/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://github.com/mltframework/mlt#readme +[source] +tar = "https://github.com/mltframework/mlt/releases/download/v7.22.0/mlt-7.22.0.tar.gz" +[build] +template = "cmake" diff --git a/recipes/wip/libs/other/mozangle/recipe.toml b/recipes/wip/libs/other/mozangle/recipe.toml new file mode 100644 index 00000000..08f3e5b1 --- /dev/null +++ b/recipes/wip/libs/other/mozangle/recipe.toml @@ -0,0 +1,41 @@ +[source] +git = "https://gitlab.redox-os.org/njskalski/mozangle.git" +branch = "redox_mods" +[build] +template = "custom" +dependencies = [ + "freetype2", + "gettext", + "glib", + "gstreamer", + "harfbuzz", + "libffi", + "libiconv", + "libx11", + "libxcb", + "libpng", + "openssl1", + "pcre", + "zlib", + + "x11proto", + "x11proto-kb", + "xcb-proto", + "xextproto", + "libxau", + "libpthread-stubs", + "fontconfig", + "expat", + "relibc", + "gcc13", +] + +script = """ + export TARGET=${TARGET} + export TARGET_CC=${TARGET}-gcc + export TARGET_CXX=${TARGET}-g++ + export TARGET_AR=${TARGET}-ar + + rsync -a --delete "${COOKBOOK_SOURCE}/" ./ + cargo build --release --target ${TARGET} +""" diff --git a/recipes/wip/libs/other/musepack/recipe.toml b/recipes/wip/libs/other/musepack/recipe.toml new file mode 100644 index 00000000..713b1ba0 --- /dev/null +++ b/recipes/wip/libs/other/musepack/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for building, verify the tarball +[source] +tar = "https://files.musepack.net/source/musepack_src_r475.tar.gz" +[build] +template = "custom" diff --git a/recipes/wip/libs/other/nlohmann-json/recipe.toml b/recipes/wip/libs/other/nlohmann-json/recipe.toml new file mode 100644 index 00000000..621c821e --- /dev/null +++ b/recipes/wip/libs/other/nlohmann-json/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for installation, lacking a build system +[source] +tar = "https://github.com/nlohmann/json/releases/download/v3.11.2/json.tar.xz" +[build] +template = "custom" diff --git a/recipes/wip/libs/other/oidn/recipe.toml b/recipes/wip/libs/other/oidn/recipe.toml new file mode 100644 index 00000000..798cff29 --- /dev/null +++ b/recipes/wip/libs/other/oidn/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +# build instructions: https://github.com/OpenImageDenoise/oidn#compiling-on-linuxmacos +[source] +git = "https://github.com/OpenImageDenoise/oidn" +[build] +template = "cmake" +dependencies = [ + "ispc", + "onetbb", +] diff --git a/recipes/wip/libs/other/onednn/recipe.toml b/recipes/wip/libs/other/onednn/recipe.toml new file mode 100644 index 00000000..5ea55187 --- /dev/null +++ b/recipes/wip/libs/other/onednn/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +# build instructions: https://oneapi-src.github.io/oneDNN/dev_guide_build.html#linux-macos +[source] +git = "https://github.com/oneapi-src/oneDNN" +rev = "16720eaaab9557158ff77ebf3bc610e9682928d6" +[build] +template = "cmake" +dependencies = [ + "onetbb", +] diff --git a/recipes/wip/libs/other/onetbb/recipe.toml b/recipes/wip/libs/other/onetbb/recipe.toml new file mode 100644 index 00000000..223a1d9e --- /dev/null +++ b/recipes/wip/libs/other/onetbb/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://github.com/oneapi-src/oneTBB/blob/master/INSTALL.md +[source] +git = "https://github.com/oneapi-src/oneTBB" +rev = "8b829acc65569019edb896c5150d427f288e8aba" +[build] +template = "cmake" diff --git a/recipes/wip/libs/other/openblas/recipe.toml b/recipes/wip/libs/other/openblas/recipe.toml new file mode 100644 index 00000000..0608466b --- /dev/null +++ b/recipes/wip/libs/other/openblas/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing script for "make", see https://github.com/OpenMathLib/OpenBLAS/wiki/Installation-Guide +#TODO require the Fortran frontend from GCC +[source] +tar = "https://github.com/OpenMathLib/OpenBLAS/releases/download/v0.3.25/OpenBLAS-0.3.25.tar.gz" +[build] +template = "custom" diff --git a/recipes/wip/libs/other/opencolorio/recipe.toml b/recipes/wip/libs/other/opencolorio/recipe.toml new file mode 100644 index 00000000..270ca315 --- /dev/null +++ b/recipes/wip/libs/other/opencolorio/recipe.toml @@ -0,0 +1,13 @@ +#TODO not compiled or tested +# build instructions: https://opencolorio.readthedocs.io/en/latest/quick_start/installation.html +#TODO missing dependencies, see https://opencolorio.readthedocs.io/en/latest/quick_start/installation.html#dependencies +[source] +git = "https://github.com/AcademySoftwareFoundation/OpenColorIO" +rev = "92db29b9e7e298c4c2cc67c8a74944c2e7e716e5" +[build] +template = "cmake" +dependencies = [ + "expat", + "imath", + "zlib", +] diff --git a/recipes/wip/libs/other/opencv4/recipe.toml b/recipes/wip/libs/other/opencv4/recipe.toml new file mode 100644 index 00000000..c2c16eac --- /dev/null +++ b/recipes/wip/libs/other/opencv4/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +# lacking build instructions +[source] +git = "https://github.com/opencv/opencv" +rev = "49486f61fb25722cbcf586b7f4320921d46fb38e" + +[build] +template = "cmake" diff --git a/recipes/wip/libs/other/openexr/recipe.toml b/recipes/wip/libs/other/openexr/recipe.toml new file mode 100644 index 00000000..f4e0aaaa --- /dev/null +++ b/recipes/wip/libs/other/openexr/recipe.toml @@ -0,0 +1,11 @@ +#TODO not compiled or tested +# build instructions: https://openexr.com/en/latest/install.html#linux-macos +[source] +git = "https://github.com/AcademySoftwareFoundation/openexr" +rev = "737b2707a001e67f3812d86a639c3d037efe2ea8" +[build] +template = "cmake" +dependencies = [ + "libdeflate", + "libimath" +] diff --git a/recipes/wip/libs/other/openimageio/recipe.toml b/recipes/wip/libs/other/openimageio/recipe.toml new file mode 100644 index 00000000..667a1a89 --- /dev/null +++ b/recipes/wip/libs/other/openimageio/recipe.toml @@ -0,0 +1,26 @@ +#TODO missing script for building, see https://github.com/AcademySoftwareFoundation/OpenImageIO/blob/master/INSTALL.md#building-openimageio-on-linux-or-os-x +# optional dependencies are disabled to make the program work with less effort +[source] +git = "https://github.com/AcademySoftwareFoundation/OpenImageIO" +rev = "5c29caab40a3913d415ac5d37cd84983e824c75b" +[build] +template = "custom" +dependencies = [ + "imath", + "libtiff", + "libjpeg", + "openexr", + "libfmt", + #"libpng", + #"boost", + #"opencv4", + #"ffmpeg6", + #"libwebp", + #"freetype2", + #"libraw", + #"openjpeg", + #"tbb", + #"libgif", + #"libheif", + #"libwebp", +] diff --git a/recipes/wip/libs/other/openjpeg/recipe.toml b/recipes/wip/libs/other/openjpeg/recipe.toml new file mode 100644 index 00000000..0a3fe869 --- /dev/null +++ b/recipes/wip/libs/other/openjpeg/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://github.com/uclouvain/openjpeg/blob/master/INSTALL.md +[source] +git = "https://github.com/uclouvain/openjpeg" +rev = "a5891555eb49ed7cc26b2901ea680acda136d811" +[build] +template = "cmake" diff --git a/recipes/wip/libs/other/openmpi/recipe.toml b/recipes/wip/libs/other/openmpi/recipe.toml new file mode 100644 index 00000000..3b922fb5 --- /dev/null +++ b/recipes/wip/libs/other/openmpi/recipe.toml @@ -0,0 +1,9 @@ +#TODO missing dependencies, see https://docs.open-mpi.org/en/v5.0.x/installing-open-mpi/required-support-libraries.html +#TODO make libevent works +[source] +tar = "https://download.open-mpi.org/release/open-mpi/v5.0/openmpi-5.0.0.tar.bz2" +[build] +template = "configure" +dependencies = [ + "libevent", +] diff --git a/recipes/wip/libs/other/openvkl/recipe.toml b/recipes/wip/libs/other/openvkl/recipe.toml new file mode 100644 index 00000000..c027c369 --- /dev/null +++ b/recipes/wip/libs/other/openvkl/recipe.toml @@ -0,0 +1,13 @@ +#TODO not compiled or tested +# build instructions: https://github.com/openvkl/openvkl#building-open-vkl-from-source +[source] +git = "https://github.com/openvkl/openvkl" +rev = "712bdb8035487606096d7af90a4c9bde5503515d" +[build] +template = "cmake" +dependencies = [ + "ispc", + "librkcommon", + "embree", + "level-zero", +] diff --git a/recipes/wip/libs/other/pangomm/recipe.toml b/recipes/wip/libs/other/pangomm/recipe.toml new file mode 100644 index 00000000..f7805c0f --- /dev/null +++ b/recipes/wip/libs/other/pangomm/recipe.toml @@ -0,0 +1,8 @@ +#TODO probably wrong template +[source] +tar = "https://download.gnome.org/sources/pangomm/2.50/pangomm-2.50.1.tar.xz" +[build] +template = "configure" +dependencies = [ + "pango", +] diff --git a/recipes/wip/libs/other/pjsip/recipe.toml b/recipes/wip/libs/other/pjsip/recipe.toml new file mode 100644 index 00000000..5f12bf79 --- /dev/null +++ b/recipes/wip/libs/other/pjsip/recipe.toml @@ -0,0 +1,12 @@ +#TODO make libvpx work +# customization - https://docs.pjsip.org/en/latest/get-started/posix/build_instructions.html +[source] +git = "https://github.com/pjsip/pjproject" +rev = "08578e86eea120c5ab2ab1af5a18b7840120d87b" +[build] +template = "configure" +dependencies = [ + "openssl1", + "ffmpeg6", + "libvpx", +] diff --git a/recipes/wip/libs/other/popt/recipe.toml b/recipes/wip/libs/other/popt/recipe.toml new file mode 100644 index 00000000..98a18569 --- /dev/null +++ b/recipes/wip/libs/other/popt/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# lacking build instructions +[source] +tar = "https://ftp.osuosl.org/pub/rpm/popt/releases/popt-1.x/popt-1.19.tar.gz" +[build] +template = "cmake" diff --git a/recipes/wip/libs/other/projectm/recipe.toml b/recipes/wip/libs/other/projectm/recipe.toml new file mode 100644 index 00000000..600f3760 --- /dev/null +++ b/recipes/wip/libs/other/projectm/recipe.toml @@ -0,0 +1,11 @@ +#TODO not compiled or tested +# build instructions: https://github.com/projectM-visualizer/projectm/wiki/Building-libprojectM#build-and-install-projectm +[source] +git = "https://github.com/projectM-visualizer/projectm" +rev = "422af469731559c32c93e9513cebf2fe6c2fec78" +[build] +template = "cmake" +dependencies = [ + "mesa", + "qt5-base", +] diff --git a/recipes/wip/libs/other/pystring/recipe.toml b/recipes/wip/libs/other/pystring/recipe.toml new file mode 100644 index 00000000..8b003846 --- /dev/null +++ b/recipes/wip/libs/other/pystring/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# lacking build instructions +[source] +git = "https://github.com/imageworks/pystring" +rev = "7d16bc814ccb4cad03c300dcb77440034caa84f7" +[build] +template = "cmake" diff --git a/recipes/wip/libs/other/quantlib/recipe.toml b/recipes/wip/libs/other/quantlib/recipe.toml new file mode 100644 index 00000000..bcecf3c0 --- /dev/null +++ b/recipes/wip/libs/other/quantlib/recipe.toml @@ -0,0 +1,9 @@ +#TODO make boost work +#TODO probably wrong template, see https://www.quantlib.org/install/linux.shtml +[source] +tar = "https://github.com/lballabio/QuantLib/releases/download/v1.32/QuantLib-1.32.tar.gz" +[build] +template = "configure" +dependencies = [ + "boost", +] diff --git a/recipes/wip/libs/other/raylib/recipe.toml b/recipes/wip/libs/other/raylib/recipe.toml new file mode 100644 index 00000000..01134298 --- /dev/null +++ b/recipes/wip/libs/other/raylib/recipe.toml @@ -0,0 +1,11 @@ +#TODO not compiled or tested +# build instructions: https://github.com/raysan5/raylib/wiki/Working-on-GNU-Linux +[source] +git = "https://github.com/raysan5/raylib" +rev = "ae50bfa2cc569c0f8d5bc4315d39db64005b1b08" +[build] +template = "cmake" +dependencies = [ + "mesa", + "libxkbcommon", +] diff --git a/recipes/wip/libs/other/rdflib/recipe.toml b/recipes/wip/libs/other/rdflib/recipe.toml new file mode 100644 index 00000000..6ca32ba5 --- /dev/null +++ b/recipes/wip/libs/other/rdflib/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for installation, the "pip" method can't be used, investigate the tarball +[source] +tar = "https://github.com/RDFLib/rdflib/releases/download/7.0.0/rdflib-7.0.0.tar.gz" +[build] +template = "custom" diff --git a/recipes/wip/libs/other/rnnoise/recipe.toml b/recipes/wip/libs/other/rnnoise/recipe.toml new file mode 100644 index 00000000..1ba959ad --- /dev/null +++ b/recipes/wip/libs/other/rnnoise/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for building +[source] +git = "https://gitlab.xiph.org/xiph/rnnoise" +[build] +template = "custom" diff --git a/recipes/wip/libs/other/rubberband/recipe.toml b/recipes/wip/libs/other/rubberband/recipe.toml new file mode 100644 index 00000000..e962cea6 --- /dev/null +++ b/recipes/wip/libs/other/rubberband/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://hg.sr.ht/~breakfastquay/rubberband/browse/COMPILING.md?rev=tip +[source] +tar = "https://breakfastquay.com/files/releases/rubberband-3.2.1.tar.bz2" +[build] +template = "meson" diff --git a/recipes/wip/libs/other/rustls-openssl-compat/recipe.toml b/recipes/wip/libs/other/rustls-openssl-compat/recipe.toml new file mode 100644 index 00000000..1d0a435b --- /dev/null +++ b/recipes/wip/libs/other/rustls-openssl-compat/recipe.toml @@ -0,0 +1,8 @@ +#TODO missing script for GNU Make +[source] +git = "https://github.com/rustls/rustls-openssl-compat" +[build] +template = "custom" +script = """ +COOKBOOK_SOURCE="${COOKBOOK_SOURCE}/rustls-libssl" +""" diff --git a/recipes/wip/libs/other/scotch/recipe.toml b/recipes/wip/libs/other/scotch/recipe.toml new file mode 100644 index 00000000..3cb29ed1 --- /dev/null +++ b/recipes/wip/libs/other/scotch/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.inria.fr/scotch/scotch#installation +#TODO probably missing dependencies +[source] +git = "https://gitlab.inria.fr/scotch/scotch" +rev = "82ec87f558f4acb7ccb69a079f531be380504c92" +[build] +template = "cmake" diff --git a/recipes/wip/libs/other/sdl-pango/recipe.toml b/recipes/wip/libs/other/sdl-pango/recipe.toml new file mode 100644 index 00000000..ca5de378 --- /dev/null +++ b/recipes/wip/libs/other/sdl-pango/recipe.toml @@ -0,0 +1,6 @@ +#TODO can't recognize the redox target +#TODO probably missing dependencies +[source] +tar = "https://sourceforge.net/projects/sdlpango/files/SDL_Pango/0.1.2/SDL_Pango-0.1.2.tar.gz/download" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/sdl2-net/recipe.toml b/recipes/wip/libs/other/sdl2-net/recipe.toml new file mode 100644 index 00000000..f4f33541 --- /dev/null +++ b/recipes/wip/libs/other/sdl2-net/recipe.toml @@ -0,0 +1,9 @@ +#TODO not compiled or tested +# lacking build instructions +[source] +tar = "https://github.com/libsdl-org/SDL_net/releases/download/release-2.2.0/SDL2_net-2.2.0.tar.gz" +[build] +template = "cmake" +dependencies = [ + "sdl2", +] diff --git a/recipes/wip/libs/other/sdl2-pango/recipe.toml b/recipes/wip/libs/other/sdl2-pango/recipe.toml new file mode 100644 index 00000000..3e9cb3c7 --- /dev/null +++ b/recipes/wip/libs/other/sdl2-pango/recipe.toml @@ -0,0 +1,11 @@ +#TODO Not compiled or tested +[source] +git = "https://github.com/markuskimius/SDL2_Pango" +rev = "3afd884fddf8d81dbe2c140135deea0c79de31c1" +[build] +template = "configure" +dependencies = [ + "pango", + "freetype2", + "sdl2", +] diff --git a/recipes/wip/libs/other/sdl3/recipe.toml b/recipes/wip/libs/other/sdl3/recipe.toml new file mode 100644 index 00000000..4171f719 --- /dev/null +++ b/recipes/wip/libs/other/sdl3/recipe.toml @@ -0,0 +1,18 @@ +#TODO not compiled or tested +#TODO determine minimum dependencies from the cmake log +# build instructions: https://github.com/libsdl-org/SDL/blob/main/docs/README-cmake.md +# dependencies: https://github.com/libsdl-org/SDL/blob/main/docs/README-linux.md +[source] +tar = "https://github.com/libsdl-org/SDL/releases/download/release-3.2.26/SDL3-3.2.26.tar.gz" +[build] +template = "cmake" +cmakeflags = [ + "-DSDL_SHARED=ON", + "-DSDL_STATIC=OFF", + "-DSDL_TESTS=OFF", + "-DSDL_DISABLE_INSTALL_DOCS=ON", +] +dependencies = [ + "liborbital", + "mesa", +] diff --git a/recipes/wip/libs/other/simdjson/recipe.toml b/recipes/wip/libs/other/simdjson/recipe.toml new file mode 100644 index 00000000..5f162af5 --- /dev/null +++ b/recipes/wip/libs/other/simdjson/recipe.toml @@ -0,0 +1,9 @@ +[source] +git = "https://github.com/simdjson/simdjson" +rev = "0c0ce1bd48baa0677dc7c0945ea7cd1e8b52b297" # 3.13.0 +[build] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_cmake +""" diff --git a/recipes/wip/libs/other/simdutf/recipe.toml b/recipes/wip/libs/other/simdutf/recipe.toml new file mode 100644 index 00000000..faf1c246 --- /dev/null +++ b/recipes/wip/libs/other/simdutf/recipe.toml @@ -0,0 +1,9 @@ +[source] +git = "https://github.com/simdutf/simdutf" +rev = "df8bfed3256cf5ca29969a9dd1db677e835b2c6c" # 7.3.5 +[build] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_cmake +""" diff --git a/recipes/wip/libs/other/snappy/recipe.toml b/recipes/wip/libs/other/snappy/recipe.toml new file mode 100644 index 00000000..6dd1ed2b --- /dev/null +++ b/recipes/wip/libs/other/snappy/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://github.com/google/snappy#building +[source] +git = "https://github.com/google/snappy" +rev = "dc05e026488865bc69313a68bcc03ef2e4ea8e83" +[build] +template = "cmake" diff --git a/recipes/wip/libs/other/sord/recipe.toml b/recipes/wip/libs/other/sord/recipe.toml new file mode 100644 index 00000000..a9335d54 --- /dev/null +++ b/recipes/wip/libs/other/sord/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.com/drobilla/sord/-/blob/master/INSTALL.md?ref_type=heads +[source] +tar = "https://download.drobilla.net/sord-0.16.14.tar.xz" +[build] +template = "meson" diff --git a/recipes/wip/libs/other/sratom/recipe.toml b/recipes/wip/libs/other/sratom/recipe.toml new file mode 100644 index 00000000..dc1b31a2 --- /dev/null +++ b/recipes/wip/libs/other/sratom/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.com/lv2/sratom/-/blob/master/INSTALL.md?ref_type=heads +[source] +tar = "https://download.drobilla.net/sratom-0.6.14.tar.xz" +[build] +template = "meson" diff --git a/recipes/wip/libs/other/suil/recipe.toml b/recipes/wip/libs/other/suil/recipe.toml new file mode 100644 index 00000000..49ff331f --- /dev/null +++ b/recipes/wip/libs/other/suil/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.com/lv2/suil/-/blob/master/INSTALL.md?ref_type=heads +[source] +tar = "https://download.drobilla.net/suil-0.10.18.tar.xz" +[build] +template = "meson" diff --git a/recipes/wip/libs/other/t4kcommon/recipe.toml b/recipes/wip/libs/other/t4kcommon/recipe.toml new file mode 100644 index 00000000..abb1f9da --- /dev/null +++ b/recipes/wip/libs/other/t4kcommon/recipe.toml @@ -0,0 +1,14 @@ +#TODO missing script for GNU Autotools, see https://github.com/tux4kids/t4kcommon/blob/master/INSTALL#L33 +[source] +git = "https://github.com/tux4kids/t4kcommon" +[build] +template = "custom" +dependencies = [ + "sdl1", + "sdl1_mixer", + "sdl1_image", + "sdl-pango", + "sdl2-net", + "libpng", + "libxml2", +] diff --git a/recipes/wip/libs/other/taglib/recipe.toml b/recipes/wip/libs/other/taglib/recipe.toml new file mode 100644 index 00000000..d75e92c6 --- /dev/null +++ b/recipes/wip/libs/other/taglib/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://github.com/taglib/taglib/blob/master/INSTALL.md +[source] +tar = "https://taglib.org/releases/taglib-1.13.tar.gz" +[build] +template = "cmake" diff --git a/recipes/wip/libs/other/termcap/recipe.toml b/recipes/wip/libs/other/termcap/recipe.toml new file mode 100644 index 00000000..77eadc22 --- /dev/null +++ b/recipes/wip/libs/other/termcap/recipe.toml @@ -0,0 +1,11 @@ +#TODO need testing +[source] +tar = "https://ftp.gnu.org/gnu/termcap/termcap-1.3.1.tar.gz" +[build] +template = "custom" +script = """ +COOKBOOK_CONFIGURE_FLAGS+=( + --prefix="${COOKBOOK_STAGE}/usr" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/other/totem-pl-parser/recipe.toml b/recipes/wip/libs/other/totem-pl-parser/recipe.toml new file mode 100644 index 00000000..ebc359d5 --- /dev/null +++ b/recipes/wip/libs/other/totem-pl-parser/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +# lacking build instructions +[source] +tar = "https://download.gnome.org/sources/totem-pl-parser/3.26/totem-pl-parser-3.26.6.tar.xz" +[build] +template = "meson" +dependencies = [ + "libxml2", + "glib", +] diff --git a/recipes/wip/libs/other/tree-sitter/recipe.toml b/recipes/wip/libs/other/tree-sitter/recipe.toml new file mode 100644 index 00000000..e5507e3e --- /dev/null +++ b/recipes/wip/libs/other/tree-sitter/recipe.toml @@ -0,0 +1,13 @@ +[source] +tar = "https://github.com/tree-sitter/tree-sitter/archive/refs/tags/v0.25.8.tar.gz" +patches = [ + "redox.patch" +] + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +PACKAGE_PATH=cli cookbook_cargo +cookbook_cmake "${COOKBOOK_SOURCE}"/lib +""" diff --git a/recipes/wip/libs/other/tree-sitter/redox.patch b/recipes/wip/libs/other/tree-sitter/redox.patch new file mode 100644 index 00000000..62c28d13 --- /dev/null +++ b/recipes/wip/libs/other/tree-sitter/redox.patch @@ -0,0 +1,45 @@ +diff --color -ruwN source/Cargo.toml source-new/Cargo.toml +--- source/Cargo.toml 2025-07-14 01:32:42.000000000 +0700 ++++ source-new/Cargo.toml 2025-09-16 11:37:28.820646655 +0700 +@@ -118,7 +118,7 @@ + dialoguer = { version = "0.11.0", features = ["fuzzy-select"] } + etcetera = "0.8.0" + filetime = "0.2.25" +-fs4 = "0.12.0" ++fs4 = { git = "https://github.com/al8n/fs4-rs" } # for redox support, still not published yet + git2 = "0.20.0" + glob = "0.3.2" + heck = "0.5.0" +@@ -151,7 +151,7 @@ + url = { version = "2.5.4", features = ["serde"] } + walkdir = "2.5.0" + wasmparser = "0.224.0" +-webbrowser = "1.0.3" ++webbrowser = "1.0.5" + + tree-sitter = { version = "0.25.1", path = "./lib" } + tree-sitter-generate = { version = "0.25.1", path = "./cli/generate" } +diff --color -ruwN source/cli/src/fuzz/allocations.rs source-new/cli/src/fuzz/allocations.rs +--- source/cli/src/fuzz/allocations.rs 2025-07-14 01:32:42.000000000 +0700 ++++ source-new/cli/src/fuzz/allocations.rs 2025-09-16 11:39:56.112458323 +0700 +@@ -7,6 +7,7 @@ + }, + }; + ++#[cfg(not(target_os = "redox"))] + #[ctor::ctor] + unsafe fn initialize_allocation_recording() { + tree_sitter::set_allocator( +diff --color -ruwN source/lib/src/portable/endian.h source-new/lib/src/portable/endian.h +--- source/lib/src/portable/endian.h 2025-07-14 01:32:42.000000000 +0700 ++++ source-new/lib/src/portable/endian.h 2025-09-16 11:27:12.315211556 +0700 +@@ -24,7 +24,8 @@ + defined(__CYGWIN__) || \ + defined(__MSYS__) || \ + defined(__EMSCRIPTEN__) || \ +- defined(__wasi__) ++ defined(__wasi__) || \ ++ defined(__redox__) + + #if defined(__NetBSD__) + #define _NETBSD_SOURCE 1 diff --git a/recipes/wip/libs/other/twolame/recipe.toml b/recipes/wip/libs/other/twolame/recipe.toml new file mode 100644 index 00000000..74a1e63b --- /dev/null +++ b/recipes/wip/libs/other/twolame/recipe.toml @@ -0,0 +1,5 @@ +#TODO Compiled but not tested +[source] +tar = "https://downloads.sourceforge.net/twolame/twolame-0.4.0.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/vamp-plugin-sdk/recipe.toml b/recipes/wip/libs/other/vamp-plugin-sdk/recipe.toml new file mode 100644 index 00000000..98fdd6c4 --- /dev/null +++ b/recipes/wip/libs/other/vamp-plugin-sdk/recipe.toml @@ -0,0 +1,8 @@ +#TODO compilation error +[source] +tar = "https://code.soundsoftware.ac.uk/attachments/download/2588/vamp-plugin-sdk-2.9.0.tar.gz" +[build] +template = "configure" +dependencies = [ + "libsndfile", +] diff --git a/recipes/wip/libs/other/volk/recipe.toml b/recipes/wip/libs/other/volk/recipe.toml new file mode 100644 index 00000000..4752dcae --- /dev/null +++ b/recipes/wip/libs/other/volk/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://github.com/gnuradio/volk#building-on-most-x86-32-bit-and-64-bit-platforms +[source] +tar = "https://www.libvolk.org/releases/volk-3.0.0.tar.gz" +[build] +template = "cmake" diff --git a/recipes/wip/libs/other/webkit/recipe.toml b/recipes/wip/libs/other/webkit/recipe.toml new file mode 100644 index 00000000..a2fad060 --- /dev/null +++ b/recipes/wip/libs/other/webkit/recipe.toml @@ -0,0 +1,5 @@ +#TODO compilation error +[source] +tar = "https://webkitgtk.org/releases/webkit-1.9.6.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/other/webkitgtk3/recipe.toml b/recipes/wip/libs/other/webkitgtk3/recipe.toml new file mode 100644 index 00000000..7287e8e6 --- /dev/null +++ b/recipes/wip/libs/other/webkitgtk3/recipe.toml @@ -0,0 +1,74 @@ +#TODO runtime hangs +[source] +tar = "https://webkitgtk.org/releases/webkitgtk-2.49.1.tar.xz" +blake3 = "7f04acb2f909ad334fc623afb297ebca1d5a5005bda1682946fb37e044e45ecb" +patches = ["redox.patch"] + +[build] +template = "custom" +dependencies = [ + "gtk3", + "libatomic", + "libgcrypt", + "libsoup", + "libstdcxx-v3", + "libtasn1", + "libwebp", + "sqlite3", +] +script = """ +DYNAMIC_INIT +export WEBKIT_USE_SCCACHE=1 +export PYTHONDONTWRITEBYTECODE=1 +#TODO: enable more features +COOKBOOK_CMAKE_FLAGS+=( + -DENABLE_ASSERTS=ON + -DENABLE_GAMEPAD=OFF + -DENABLE_INTROSPECTION=OFF + -DENABLE_MEDIA_STREAM=OFF + -DENABLE_JOURNALD_LOG=OFF + -DENABLE_RELEASE_LOG=ON + -DENABLE_SPEECH_SYNTHESIS=OFF + -DENABLE_SPELLCHECK=OFF + -DENABLE_WEB_AUDIO=OFF + -DENABLE_WEB_CODECS=OFF + -DENABLE_VIDEO=OFF + -DPORT=GTK + -DUNIX=1 + -DUSE_AVIF=OFF + -DUSE_GSTREAMER_GL=OFF + -DUSE_GTK4=OFF + -DUSE_JPEGXL=OFF + -DUSE_LCMS=OFF + -DUSE_LIBBACKTRACE=OFF + -DUSE_LIBDRM=OFF + -DUSE_LIBHYPHEN=OFF + -DUSE_LIBSECRET=OFF + -DUSE_SKIA=OFF + -DUSE_SYSPROF_CAPTURE=OFF + -DUSE_SYSTEM_MALLOC=OFF + -DUSE_SYSTEM_SYSPROF_CAPTURE=OFF + -DUSE_WOFF2=OFF + #TODO: remove these when runtime hangs solved + -DENABLE_JIT=OFF + -DENABLE_DFG_JIT=OFF + -DENABLE_FTL_JIT=OFF + -DENABLE_OPENGL=OFF + -DENABLE_WEBGL=OFF + -DENABLE_XSLT=OFF + -DENABLE_GEOLOCATION=OFF + -DENABLE_WEBDRIVER=OFF + -DENABLE_BUBBLEWRAP_SANDBOX=OFF + -DUSE_LCMS=OFF +) + +cookbook_cmake + +patchelf --replace-needed "${COOKBOOK_SYSROOT}/usr/lib/libsqlite3.so" "libsqlite3.so" "${COOKBOOK_STAGE}/usr/lib/libwebkit2gtk-4.1.so" +patchelf --replace-needed "${COOKBOOK_SYSROOT}/usr/lib/libsqlite3.so" "libsqlite3.so" "${COOKBOOK_STAGE}/usr/libexec/webkit2gtk-4.1/MiniBrowser" +mkdir -p "${COOKBOOK_STAGE}/usr/bin" +ln -sr "${COOKBOOK_STAGE}/usr/libexec/webkit2gtk-4.1/MiniBrowser" "${COOKBOOK_STAGE}/usr/bin/MiniBrowser" +""" + +[package] +dependencies = ["glib-networking"] diff --git a/recipes/wip/libs/other/webkitgtk3/redox.patch b/recipes/wip/libs/other/webkitgtk3/redox.patch new file mode 100644 index 00000000..a193e23e --- /dev/null +++ b/recipes/wip/libs/other/webkitgtk3/redox.patch @@ -0,0 +1,601 @@ +diff -ruwN source/Source/bmalloc/bmalloc/BPlatform.h source-new/Source/bmalloc/bmalloc/BPlatform.h +--- source/Source/bmalloc/bmalloc/BPlatform.h 2025-03-28 13:18:28.347204000 +0700 ++++ source-new/Source/bmalloc/bmalloc/BPlatform.h 2025-10-07 20:55:41.123161164 +0700 +@@ -40,7 +40,7 @@ + #define BOS_DARWIN 1 + #endif + +-#if defined(__unix) || defined(__unix__) ++#if defined(__unix) || defined(__unix__) || defined(__redox__) + #define BOS_UNIX 1 + #endif + +@@ -339,7 +339,7 @@ + + /* BENABLE(LIBPAS) is enabling libpas build. But this does not mean we use libpas for bmalloc replacement. */ + #if !defined(BENABLE_LIBPAS) +-#if BCPU(ADDRESS64) && (BOS(DARWIN) || (BOS(LINUX) && (BCPU(X86_64) || BCPU(ARM64))) || BPLATFORM(PLAYSTATION)) ++#if BCPU(ADDRESS64) && (BOS(DARWIN) || (BOS(LINUX) && (BCPU(X86_64) || BCPU(ARM64))) || BPLATFORM(PLAYSTATION)) || defined(__redox__) + #define BENABLE_LIBPAS 1 + #ifndef PAS_BMALLOC + #define PAS_BMALLOC 1 +diff -ruwN source/Source/bmalloc/libpas/src/libpas/pas_committed_pages_vector.c source-new/Source/bmalloc/libpas/src/libpas/pas_committed_pages_vector.c +--- source/Source/bmalloc/libpas/src/libpas/pas_committed_pages_vector.c 2023-09-18 14:56:46.731077000 +0700 ++++ source-new/Source/bmalloc/libpas/src/libpas/pas_committed_pages_vector.c 2025-10-07 22:23:20.298893452 +0700 +@@ -57,6 +57,8 @@ + + #if PAS_OS(LINUX) + PAS_SYSCALL(mincore(object, size, (unsigned char*)vector->raw_data)); ++#elif PAS_OS(REDOX) ++ // no op + #else + PAS_SYSCALL(mincore(object, size, vector->raw_data)); + #endif +diff -ruwN source/Source/bmalloc/libpas/src/libpas/pas_committed_pages_vector.h source-new/Source/bmalloc/libpas/src/libpas/pas_committed_pages_vector.h +--- source/Source/bmalloc/libpas/src/libpas/pas_committed_pages_vector.h 2023-09-18 14:56:46.731077000 +0700 ++++ source-new/Source/bmalloc/libpas/src/libpas/pas_committed_pages_vector.h 2025-10-07 22:23:29.232045934 +0700 +@@ -56,6 +56,8 @@ + PAS_ASSERT(page_index < vector->size); + #if PAS_OS(LINUX) + return vector->raw_data[page_index]; ++#elif PAS_OS(REDOX) ++ return true; // redox don't have swap yet + #else + return vector->raw_data[page_index] & (MINCORE_REFERENCED | + MINCORE_REFERENCED_OTHER | +diff -ruwN source/Source/bmalloc/libpas/src/libpas/pas_monotonic_time.c source-new/Source/bmalloc/libpas/src/libpas/pas_monotonic_time.c +--- source/Source/bmalloc/libpas/src/libpas/pas_monotonic_time.c 2023-09-18 14:56:46.743076800 +0700 ++++ source-new/Source/bmalloc/libpas/src/libpas/pas_monotonic_time.c 2025-10-07 22:23:50.202403881 +0700 +@@ -89,6 +89,15 @@ + return ts.tv_sec * 1000u * 1000u * 1000u + ts.tv_nsec; + } + ++ ++#elif PAS_OS(REDOX) ++ ++uint64_t pas_get_current_monotonic_time_nanoseconds(void) ++{ ++ struct timespec ts; ++ clock_gettime(CLOCK_MONOTONIC, &ts); ++ return (uint64_t)ts.tv_sec * 1000000000 + (uint64_t)ts.tv_nsec; ++} + #endif + + #endif /* LIBPAS_ENABLED */ +diff -ruwN source/Source/bmalloc/libpas/src/libpas/pas_page_malloc.c source-new/Source/bmalloc/libpas/src/libpas/pas_page_malloc.c +--- source/Source/bmalloc/libpas/src/libpas/pas_page_malloc.c 2024-12-20 17:10:23.123508500 +0700 ++++ source-new/Source/bmalloc/libpas/src/libpas/pas_page_malloc.c 2025-10-07 22:26:27.358086406 +0700 +@@ -228,6 +228,8 @@ + PAS_SYSCALL(madvise(ptr, size, MADV_DODUMP)); + #elif PAS_PLATFORM(PLAYSTATION) + // We don't need to call madvise to map page. ++#elif PAS_OS(REDOX) ++ // madvise not implemented + #elif PAS_OS(FREEBSD) + PAS_SYSCALL(madvise(ptr, size, MADV_NORMAL)); + #endif +@@ -276,6 +278,8 @@ + #elif PAS_OS(LINUX) + PAS_SYSCALL(madvise(ptr, size, MADV_DONTNEED)); + PAS_SYSCALL(madvise(ptr, size, MADV_DONTDUMP)); ++#elif PAS_OS(REDOX) ++ // madvise not implemented + #else + PAS_SYSCALL(madvise(ptr, size, MADV_DONTNEED)); + #endif +diff -ruwN source/Source/bmalloc/libpas/src/libpas/pas_platform.h source-new/Source/bmalloc/libpas/src/libpas/pas_platform.h +--- source/Source/bmalloc/libpas/src/libpas/pas_platform.h 2024-11-07 21:16:41.458338300 +0700 ++++ source-new/Source/bmalloc/libpas/src/libpas/pas_platform.h 2025-10-07 22:22:50.849390772 +0700 +@@ -132,6 +132,10 @@ + #define PAS_OS_LINUX 1 + #endif + ++#ifdef __redox__ ++#define PAS_OS_REDOX 1 ++#endif ++ + #if defined(__FreeBSD__) || defined(__DragonFly__) || defined(__FreeBSD_kernel__) + #define PAS_OS_FREEBSD 1 + #endif +diff -ruwN source/Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.c source-new/Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.c +--- source/Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.c 2025-03-27 13:32:32.679094000 +0700 ++++ source-new/Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.c 2025-10-07 22:27:40.764339395 +0700 +@@ -165,16 +165,6 @@ + mprotect_res = mprotect((void*)upper_guard, upper_guard_size, PROT_NONE); + PAS_ASSERT(!mprotect_res); + +- /* +- * ensure physical addresses are released +- * TODO: investigate using MADV_FREE_REUSABLE instead +- */ +- int madvise_res = madvise((void*)upper_guard, upper_guard_size, MADV_FREE); +- PAS_ASSERT(!madvise_res); +- +- madvise_res = madvise((void*)lower_guard, lower_guard_size, MADV_FREE); +- PAS_ASSERT(!madvise_res); +- + PAS_PROFILE(PGM_ALLOCATE, heap_config, key); + + /* create struct to hold hash map value */ +@@ -231,13 +221,6 @@ + int mprotect_res = mprotect((void*)value->start_of_data_pages, value->size_of_data_pages, PROT_NONE); + PAS_ASSERT(!mprotect_res); + +- /* +- * ensure physical addresses are released +- * TODO: investigate using MADV_FREE_REUSABLE instead +- */ +- int madvise_res = madvise((void*)value->start_of_data_pages, value->size_of_data_pages, MADV_FREE); +- PAS_ASSERT(!madvise_res); +- + free_wasted_mem += value->mem_to_waste; + free_virtual_mem += value->size_of_allocated_pages; + +diff -ruwN source/Source/JavaScriptCore/heap/BlockDirectory.cpp source-new/Source/JavaScriptCore/heap/BlockDirectory.cpp +--- source/Source/JavaScriptCore/heap/BlockDirectory.cpp 2025-03-21 00:07:59.015023500 +0700 ++++ source-new/Source/JavaScriptCore/heap/BlockDirectory.cpp 2025-09-09 09:08:03.419985553 +0700 +@@ -68,7 +68,7 @@ + // FIXME: We should figure out a solution for Windows and PlayStation. + // QNX doesn't have mincore(), though the information can be had. But since all mapped + // pages are resident, does it matter? +-#if OS(UNIX) && !PLATFORM(PLAYSTATION) && !OS(QNX) && !OS(HAIKU) ++#if OS(UNIX) && !PLATFORM(PLAYSTATION) && !OS(QNX) && !OS(HAIKU) && !defined(__redox__) + size_t pageSize = WTF::pageSize(); + ASSERT(!(MarkedBlock::blockSize % pageSize)); + auto numberOfPagesInMarkedBlock = MarkedBlock::blockSize / pageSize; +diff -ruwN source/Source/JavaScriptCore/jsc.cpp source-new/Source/JavaScriptCore/jsc.cpp +--- source/Source/JavaScriptCore/jsc.cpp 2025-03-21 18:07:10.820055200 +0700 ++++ source-new/Source/JavaScriptCore/jsc.cpp 2025-09-09 09:08:03.446985840 +0700 +@@ -208,6 +208,8 @@ + for (;;) { + #if OS(WINDOWS) + Sleep(1000); ++#elif defined(__redox__) ++ //TODO + #else + pause(); + #endif +diff -ruwN source/Source/JavaScriptCore/runtime/JSCBytecodeCacheVersion.cpp source-new/Source/JavaScriptCore/runtime/JSCBytecodeCacheVersion.cpp +--- source/Source/JavaScriptCore/runtime/JSCBytecodeCacheVersion.cpp 2025-03-21 00:07:59.015023500 +0700 ++++ source-new/Source/JavaScriptCore/runtime/JSCBytecodeCacheVersion.cpp 2025-09-09 09:08:03.446985840 +0700 +@@ -37,7 +37,7 @@ + #include + #include + #include +-#else ++#elif !defined(__redox__) + #include + #endif + #endif +@@ -66,7 +66,7 @@ + } + cacheVersion.construct(0); + dataLogLnIf(JSCBytecodeCacheVersionInternal::verbose, "Failed to get UUID for JavaScriptCore framework"); +-#elif OS(UNIX) && !PLATFORM(PLAYSTATION) && !OS(HAIKU) ++#elif OS(UNIX) && !PLATFORM(PLAYSTATION) && !OS(HAIKU) && !defined(__redox__) + auto result = ([&] -> std::optional { + Dl_info info { }; + if (!dladdr(jsFunctionAddr, &info)) +diff -ruwN source/Source/JavaScriptCore/runtime/MachineContext.h source-new/Source/JavaScriptCore/runtime/MachineContext.h +--- source/Source/JavaScriptCore/runtime/MachineContext.h 2025-03-21 00:07:59.015023500 +0700 ++++ source-new/Source/JavaScriptCore/runtime/MachineContext.h 2025-09-09 09:08:03.473986127 +0700 +@@ -158,7 +158,7 @@ + { + #if OS(DARWIN) + return stackPointerImpl(machineContext->__ss); +-#elif OS(HAIKU) ++#elif OS(HAIKU) || defined(__redox__) + #if CPU(X86_64) + return reinterpret_cast(machineContext.rsp); + #else +@@ -287,7 +287,7 @@ + { + #if OS(DARWIN) + return framePointerImpl(machineContext->__ss); +-#elif OS(HAIKU) ++#elif OS(HAIKU) || defined(__redox__) + #if CPU(X86_64) + return reinterpret_cast(machineContext.rbp); + #else +@@ -455,7 +455,7 @@ + { + #if OS(DARWIN) + return instructionPointerImpl(machineContext->__ss); +-#elif OS(HAIKU) ++#elif OS(HAIKU) || defined(__redox__) + #if CPU(X86_64) + return reinterpret_cast((uintptr_t&) machineContext.rip); + #else +@@ -649,7 +649,7 @@ + { + #if OS(DARWIN) + return argumentPointer<1>(machineContext->__ss); +-#elif OS(HAIKU) ++#elif OS(HAIKU) || defined(__redox__) + #if CPU(X86_64) + return reinterpret_cast((uintptr_t&) machineContext.rsi); + #else +@@ -760,6 +760,13 @@ + #error Unknown Architecture + #endif + ++#elif defined(__redox__) ++#if CPU(X86_64) ++ return reinterpret_cast((uintptr_t) machineContext.rbx); ++#else ++#error Unknown Architecture ++#endif ++ + #else + #error Need a way to get the frame pointer for another thread on this platform + #endif +@@ -834,7 +841,7 @@ + // LLInt uses regT4 as PC. + #if OS(DARWIN) + return llintInstructionPointer(machineContext->__ss); +-#elif OS(HAIKU) ++#elif OS(HAIKU) || defined(__redox__) + #if CPU(X86_64) + return reinterpret_cast((uintptr_t&) machineContext.r8); + #else +diff -ruwN source/Source/ThirdParty/ANGLE/GLESv2.cmake source-new/Source/ThirdParty/ANGLE/GLESv2.cmake +--- source/Source/ThirdParty/ANGLE/GLESv2.cmake 2025-02-17 19:59:58.567796700 +0700 ++++ source-new/Source/ThirdParty/ANGLE/GLESv2.cmake 2025-09-09 09:08:03.495986361 +0700 +@@ -120,7 +120,7 @@ + + if(is_linux OR is_chromeos OR is_android OR is_fuchsia) + list(APPEND libangle_common_sources +- "src/common/system_utils_linux.cpp" ++ #"src/common/system_utils_linux.cpp" + "src/common/system_utils_posix.cpp" + ) + endif() +diff -ruwN source/Source/ThirdParty/ANGLE/PlatformGTK.cmake source-new/Source/ThirdParty/ANGLE/PlatformGTK.cmake +--- source/Source/ThirdParty/ANGLE/PlatformGTK.cmake 2023-10-21 14:33:32.730009300 +0700 ++++ source-new/Source/ThirdParty/ANGLE/PlatformGTK.cmake 2025-09-09 09:08:03.500986415 +0700 +@@ -1,4 +1,4 @@ +-list(APPEND ANGLE_DEFINITIONS ANGLE_PLATFORM_LINUX EGL_NO_PLATFORM_SPECIFIC_TYPES USE_SYSTEM_EGL) ++list(APPEND ANGLE_DEFINITIONS ANGLE_PLATFORM_POSIX EGL_NO_PLATFORM_SPECIFIC_TYPES USE_SYSTEM_EGL) + include(linux.cmake) + + if (USE_OPENGL) +diff -ruwN source/Source/ThirdParty/ANGLE/src/common/log_utils.h source-new/Source/ThirdParty/ANGLE/src/common/log_utils.h +--- source/Source/ThirdParty/ANGLE/src/common/log_utils.h 2025-02-17 19:59:58.571796700 +0700 ++++ source-new/Source/ThirdParty/ANGLE/src/common/log_utils.h 2025-09-09 09:08:03.501986425 +0700 +@@ -136,10 +136,12 @@ + return FmtHexAutoSized(os, fmt.mValue, fmt.mPrefix, "0x", '0'); + } + ++#if !defined(__redox__) + friend std::wostream &operator<<(std::wostream &wos, const FmtHexHelper &fmt) + { + return FmtHexAutoSized(wos, fmt.mValue, fmt.mPrefix, L"0x", L'0'); + } ++#endif + }; + + } // namespace priv +diff -ruwN source/Source/ThirdParty/ANGLE/src/common/platform.h source-new/Source/ThirdParty/ANGLE/src/common/platform.h +--- source/Source/ThirdParty/ANGLE/src/common/platform.h 2024-09-03 13:28:47.067031900 +0700 ++++ source-new/Source/ThirdParty/ANGLE/src/common/platform.h 2025-09-09 09:08:03.518986606 +0700 +@@ -28,7 +28,7 @@ + # define ANGLE_PLATFORM_POSIX 1 + #elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || \ + defined(__DragonFly__) || defined(__sun) || defined(__GLIBC__) || defined(__GNU__) || \ +- defined(__QNX__) || defined(__Fuchsia__) || defined(__HAIKU__) ++ defined(__QNX__) || defined(__Fuchsia__) || defined(__HAIKU__) || defined(__redox__) + # define ANGLE_PLATFORM_POSIX 1 + #else + # error Unsupported platform. +diff -ruwN source/Source/ThirdParty/ANGLE/src/common/system_utils.h source-new/Source/ThirdParty/ANGLE/src/common/system_utils.h +--- source/Source/ThirdParty/ANGLE/src/common/system_utils.h 2024-05-30 18:59:22.953676200 +0700 ++++ source-new/Source/ThirdParty/ANGLE/src/common/system_utils.h 2025-09-09 09:08:03.536986798 +0700 +@@ -256,7 +256,9 @@ + } + #endif + +-void SetCurrentThreadName(const char *name); ++#if !defined(__redox__) ++void SetCurrentThreadName(const char *name) ++#endif + } // namespace angle + + #endif // COMMON_SYSTEM_UTILS_H_ +diff -ruwN source/Source/ThirdParty/ANGLE/src/common/system_utils_posix.cpp source-new/Source/ThirdParty/ANGLE/src/common/system_utils_posix.cpp +--- source/Source/ThirdParty/ANGLE/src/common/system_utils_posix.cpp 2024-05-30 18:59:22.953676200 +0700 ++++ source-new/Source/ThirdParty/ANGLE/src/common/system_utils_posix.cpp 2025-09-09 09:08:03.539986830 +0700 +@@ -33,6 +33,11 @@ + # include + #endif + ++#if defined(__redox__) ++#define SEGV_MAPERR 1 ++#define SEGV_ACCERR 2 ++#endif ++ + namespace angle + { + +diff -ruwN source/Source/ThirdParty/ANGLE/src/common/WorkerThread.cpp source-new/Source/ThirdParty/ANGLE/src/common/WorkerThread.cpp +--- source/Source/ThirdParty/ANGLE/src/common/WorkerThread.cpp 2024-06-25 15:04:37.142420000 +0700 ++++ source-new/Source/ThirdParty/ANGLE/src/common/WorkerThread.cpp 2025-09-09 09:08:03.557987021 +0700 +@@ -165,7 +165,9 @@ + + void AsyncWorkerPool::threadLoop() + { ++#if !defined(__redox__) + angle::SetCurrentThreadName("ANGLE-Worker"); ++#endif + + while (true) + { +diff -ruwN source/Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp source-new/Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp +--- source/Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp 2025-02-05 16:14:42.678567400 +0700 ++++ source-new/Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp 2025-09-09 09:08:03.577987234 +0700 +@@ -58,7 +58,7 @@ + # include "libANGLE/renderer/gl/wgl/DisplayWGL.h" + # elif ANGLE_ENABLE_CGL + # include "libANGLE/renderer/gl/cgl/DisplayCGL.h" +-# elif defined(ANGLE_PLATFORM_LINUX) ++# elif defined(ANGLE_PLATFORM_LINUX) || defined(__redox__) + # include "libANGLE/renderer/gl/egl/DisplayEGL.h" + # if defined(ANGLE_USE_X11) + # include "libANGLE/renderer/gl/glx/DisplayGLX_api.h" +@@ -422,7 +422,7 @@ + impl = new rx::DisplayCGL(state); + break; + +-# elif defined(ANGLE_PLATFORM_LINUX) ++# elif defined(ANGLE_PLATFORM_LINUX) || defined(__redox__) + # if defined(ANGLE_USE_GBM) + if (platformType == 0) + { +diff -ruwN source/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CLCommandQueueVk.cpp source-new/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CLCommandQueueVk.cpp +--- source/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CLCommandQueueVk.cpp 2025-02-17 19:59:58.575796600 +0700 ++++ source-new/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CLCommandQueueVk.cpp 2025-09-09 09:08:03.578987245 +0700 +@@ -142,7 +142,9 @@ + + angle::Result DispatchWorkThread::finishLoop() + { ++#if !defined(__redox__) + angle::SetCurrentThreadName("ANGLE-CL-CQD"); ++#endif + + while (true) + { +diff -ruwN source/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CommandQueue.cpp source-new/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CommandQueue.cpp +--- source/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CommandQueue.cpp 2025-02-05 16:14:42.690567300 +0700 ++++ source-new/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CommandQueue.cpp 2025-09-09 09:08:03.578987245 +0700 +@@ -378,7 +378,9 @@ + + void CleanUpThread::processTasks() + { ++#if !defined(__redox__) + angle::SetCurrentThreadName("ANGLE-GC"); ++#endif + + while (true) + { +diff -ruwN source/Source/ThirdParty/ANGLE/src/libGLESv2.gni source-new/Source/ThirdParty/ANGLE/src/libGLESv2.gni +--- source/Source/ThirdParty/ANGLE/src/libGLESv2.gni 2025-02-17 19:59:58.587796200 +0700 ++++ source-new/Source/ThirdParty/ANGLE/src/libGLESv2.gni 2025-09-09 09:08:03.578987245 +0700 +@@ -115,7 +115,7 @@ + + if (is_linux || is_chromeos || is_android || is_fuchsia) { + libangle_common_sources += [ +- "src/common/system_utils_linux.cpp", ++ #"src/common/system_utils_linux.cpp", + "src/common/system_utils_posix.cpp", + ] + } +diff -ruwN source/Source/ThirdParty/skia/src/gpu/ganesh/GrAutoLocaleSetter.h source-new/Source/ThirdParty/skia/src/gpu/ganesh/GrAutoLocaleSetter.h +--- source/Source/ThirdParty/skia/src/gpu/ganesh/GrAutoLocaleSetter.h 2024-08-14 15:56:17.506453500 +0700 ++++ source-new/Source/ThirdParty/skia/src/gpu/ganesh/GrAutoLocaleSetter.h 2025-09-09 09:08:03.579987255 +0700 +@@ -27,7 +27,7 @@ + #define HAVE_XLOCALE 0 + #endif + +-#if defined(SK_BUILD_FOR_ANDROID) || defined(__UCLIBC__) || defined(_NEWLIB_VERSION) ++#if defined(SK_BUILD_FOR_ANDROID) || defined(__UCLIBC__) || defined(_NEWLIB_VERSION) || defined(__redox__) + #define HAVE_LOCALE_T 0 + #else + #define HAVE_LOCALE_T 1 +diff -ruwN source/Source/ThirdParty/skia/src/ports/SkMemory_malloc.cpp source-new/Source/ThirdParty/skia/src/ports/SkMemory_malloc.cpp +--- source/Source/ThirdParty/skia/src/ports/SkMemory_malloc.cpp 2024-05-30 18:59:23.965655000 +0700 ++++ source-new/Source/ThirdParty/skia/src/ports/SkMemory_malloc.cpp 2025-09-09 09:08:03.579987255 +0700 +@@ -126,7 +126,7 @@ + #elif defined(SK_BUILD_FOR_ANDROID) && __ANDROID_API__ >= 17 + completeSize = malloc_usable_size(addr); + SkASSERT(completeSize >= size); +- #elif defined(SK_BUILD_FOR_UNIX) ++ #elif defined(SK_BUILD_FOR_UNIX) && !defined(__redox__) + completeSize = malloc_usable_size(addr); + SkASSERT(completeSize >= size); + #elif defined(SK_BUILD_FOR_WIN) +diff -ruwN source/Source/WebCore/page/Page.cpp source-new/Source/WebCore/page/Page.cpp +--- source/Source/WebCore/page/Page.cpp 2025-04-01 14:53:09.527295000 +0700 ++++ source-new/Source/WebCore/page/Page.cpp 2025-09-09 09:08:03.580987266 +0700 +@@ -536,8 +536,10 @@ + if (RefPtr scrollingCoordinator = m_scrollingCoordinator) + scrollingCoordinator->pageDestroyed(); + ++#if ENABLE(RESOURCE_USAGE) + if (RefPtr resourceUsageOverlay = m_resourceUsageOverlay) + resourceUsageOverlay->detachFromPage(); ++#endif + + checkedBackForward()->close(); + if (!isUtilityPage()) +@@ -2981,9 +2983,11 @@ + return; + + m_shouldSuppressHDR = shouldSuppressHDR; ++ #if ENABLE(VIDEO) + forEachDocument([](auto& document) { + document.shouldSuppressHDRDidChange(); + }); ++ #endif + } + + #if ENABLE(MEDIA_STREAM) +diff -ruwN source/Source/WebCore/PlatformGTK.cmake source-new/Source/WebCore/PlatformGTK.cmake +--- source/Source/WebCore/PlatformGTK.cmake 2024-12-16 16:07:48.162613200 +0700 ++++ source-new/Source/WebCore/PlatformGTK.cmake 2025-09-09 09:08:03.580987266 +0700 +@@ -75,21 +75,18 @@ + ) + + list(APPEND WebCore_LIBRARIES +- ${ENCHANT_LIBRARIES} + ${GLIB_GIO_LIBRARIES} + ${GLIB_GMODULE_LIBRARIES} + ${GLIB_GOBJECT_LIBRARIES} + ${GLIB_LIBRARIES} + ${LIBSECRET_LIBRARIES} + ${LIBTASN1_LIBRARIES} +- ${HYPHEN_LIBRARIES} + ${UPOWERGLIB_LIBRARIES} + ${X11_X11_LIB} + GTK::GTK + ) + + list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES +- ${ENCHANT_INCLUDE_DIRS} + ${GIO_UNIX_INCLUDE_DIRS} + ${GLIB_INCLUDE_DIRS} + ${LIBSECRET_INCLUDE_DIRS} +diff -ruwN source/Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp source-new/Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp +--- source/Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp 2025-03-31 16:35:43.461813700 +0700 ++++ source-new/Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp 2025-09-09 09:08:03.591987383 +0700 +@@ -48,13 +48,13 @@ + #include + #endif + +-#if OS(DARWIN) ++#if OS(DARWIN) || defined(__redox__) + #define MSG_NOSIGNAL 0 + #endif + + // Although it's available on Darwin, SOCK_SEQPACKET seems to work differently + // than in traditional Unix so fallback to STREAM on that platform. +-#if defined(SOCK_SEQPACKET) && !OS(DARWIN) ++#if defined(SOCK_SEQPACKET) && !OS(DARWIN) && !defined(__redox__) + #define SOCKET_TYPE SOCK_SEQPACKET + #else + #if USE(GLIB) +diff -ruwN source/Source/WebKit/PlatformGTK.cmake source-new/Source/WebKit/PlatformGTK.cmake +--- source/Source/WebKit/PlatformGTK.cmake 2025-03-05 17:09:47.273706000 +0700 ++++ source-new/Source/WebKit/PlatformGTK.cmake 2025-09-09 09:08:03.644987947 +0700 +@@ -313,7 +313,6 @@ + ) + + list(APPEND WebKit_SYSTEM_INCLUDE_DIRECTORIES +- ${ENCHANT_INCLUDE_DIRS} + ${GIO_UNIX_INCLUDE_DIRS} + ${GLIB_INCLUDE_DIRS} + ${GSTREAMER_INCLUDE_DIRS} +diff -ruwN source/Source/WTF/wtf/glib/FileSystemGlib.cpp source-new/Source/WTF/wtf/glib/FileSystemGlib.cpp +--- source/Source/WTF/wtf/glib/FileSystemGlib.cpp 2024-12-16 16:07:48.134613800 +0700 ++++ source-new/Source/WTF/wtf/glib/FileSystemGlib.cpp 2025-09-09 09:08:03.644987947 +0700 +@@ -70,7 +70,7 @@ + return CString({ readLinkBuffer, static_cast(result) }); + WTF_ALLOW_UNSAFE_BUFFER_USAGE_END + } +-#elif OS(HURD) ++#elif OS(HURD) || defined(__redox__) + CString currentExecutablePath() + { + return { }; +diff -ruwN source/Source/WTF/wtf/InlineASM.h source-new/Source/WTF/wtf/InlineASM.h +--- source/Source/WTF/wtf/InlineASM.h 2024-09-23 17:54:44.750106000 +0700 ++++ source-new/Source/WTF/wtf/InlineASM.h 2025-09-09 09:08:03.667988192 +0700 +@@ -89,7 +89,8 @@ + || OS(HURD) \ + || OS(NETBSD) \ + || OS(QNX) \ +- || OS(WINDOWS) ++ || OS(WINDOWS) \ ++ || defined(__redox__) + // GNU as-compatible syntax. + #define LOCAL_LABEL_STRING(name) ".L" #name + #endif +diff -ruwN source/Source/WTF/wtf/PlatformHave.h source-new/Source/WTF/wtf/PlatformHave.h +--- source/Source/WTF/wtf/PlatformHave.h 2025-04-02 19:09:45.800669000 +0700 ++++ source-new/Source/WTF/wtf/PlatformHave.h 2025-09-09 09:08:03.707988617 +0700 +@@ -231,7 +231,7 @@ + #define HAVE_MACH_MEMORY_ENTRY 1 + #endif + +-#if OS(DARWIN) || OS(FUCHSIA) || ((OS(FREEBSD) || OS(HAIKU) || OS(NETBSD) || OS(OPENBSD) || OS(LINUX) || OS(HURD) || OS(QNX)) && (CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(RISCV64))) ++#if OS(DARWIN) || OS(FUCHSIA) || ((OS(FREEBSD) || OS(HAIKU) || OS(NETBSD) || OS(OPENBSD) || OS(LINUX) || OS(HURD) || OS(QNX) || defined(__redox__)) && (CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(RISCV64))) + #define HAVE_MACHINE_CONTEXT 1 + #endif + +diff -ruwN source/Source/WTF/wtf/PlatformOS.h source-new/Source/WTF/wtf/PlatformOS.h +--- source/Source/WTF/wtf/PlatformOS.h 2025-04-03 12:49:09.282701700 +0700 ++++ source-new/Source/WTF/wtf/PlatformOS.h 2025-09-09 09:08:03.709988639 +0700 +@@ -143,7 +143,8 @@ + || OS(OPENBSD) \ + || defined(unix) \ + || defined(__unix) \ +- || defined(__unix__) ++ || defined(__unix__) \ ++ || defined(__redox__) + #define WTF_OS_UNIX 1 + #endif + +diff -ruwN source/Source/WTF/wtf/PlatformRegisters.h source-new/Source/WTF/wtf/PlatformRegisters.h +--- source/Source/WTF/wtf/PlatformRegisters.h 2024-11-20 20:56:01.847236400 +0700 ++++ source-new/Source/WTF/wtf/PlatformRegisters.h 2025-09-09 09:08:03.723988787 +0700 +@@ -39,6 +39,8 @@ + typedef ucontext_t mcontext_t; + #elif OS(QNX) + #include ++#elif defined(__redox__) ++#include + #else + #include + #endif +diff -ruwN source/Source/WTF/wtf/posix/CPUTimePOSIX.cpp source-new/Source/WTF/wtf/posix/CPUTimePOSIX.cpp +--- source/Source/WTF/wtf/posix/CPUTimePOSIX.cpp 2023-09-18 14:56:45.363115500 +0700 ++++ source-new/Source/WTF/wtf/posix/CPUTimePOSIX.cpp 2025-09-09 09:08:03.727988830 +0700 +@@ -47,10 +47,14 @@ + + Seconds CPUTime::forCurrentThread() + { ++#if defined(__redox__) ++ return Seconds(0); ++#else + struct timespec ts { }; + int ret = clock_gettime(CLOCK_THREAD_CPUTIME_ID, &ts); + RELEASE_ASSERT(!ret); + return Seconds(ts.tv_sec) + Seconds::fromNanoseconds(ts.tv_nsec); ++#endif + } + + } +diff -ruwN source/Source/WTF/wtf/posix/FileHandlePOSIX.cpp source-new/Source/WTF/wtf/posix/FileHandlePOSIX.cpp +--- source/Source/WTF/wtf/posix/FileHandlePOSIX.cpp 2025-03-21 18:07:10.828055100 +0700 ++++ source-new/Source/WTF/wtf/posix/FileHandlePOSIX.cpp 2025-09-09 09:08:03.757989149 +0700 +@@ -39,6 +39,10 @@ + #include + #include + ++#if defined(__redox__) ++#define MAP_FILE 0 ++#endif ++ + namespace WTF::FileSystemImpl { + + std::optional FileHandle::read(std::span data) +diff -ruwN source/Source/WTF/wtf/posix/ThreadingPOSIX.cpp source-new/Source/WTF/wtf/posix/ThreadingPOSIX.cpp +--- source/Source/WTF/wtf/posix/ThreadingPOSIX.cpp 2025-03-05 17:09:47.149706400 +0700 ++++ source-new/Source/WTF/wtf/posix/ThreadingPOSIX.cpp 2025-09-09 09:08:03.762989203 +0700 +@@ -356,7 +356,7 @@ + + void Thread::changePriority(int delta) + { +-#if HAVE(PTHREAD_SETSCHEDPARAM) ++#if HAVE(PTHREAD_SETSCHEDPARAM) && !defined(__redox__) + Locker locker { m_mutex }; + + int policy; diff --git a/recipes/wip/libs/other/webkitgtk4/recipe.toml b/recipes/wip/libs/other/webkitgtk4/recipe.toml new file mode 100644 index 00000000..d4619627 --- /dev/null +++ b/recipes/wip/libs/other/webkitgtk4/recipe.toml @@ -0,0 +1,100 @@ +#TODO not compiled or tested +[source] +tar = "https://webkitgtk.org/releases/webkitgtk-2.49.1.tar.xz" +blake3 = "7f04acb2f909ad334fc623afb297ebca1d5a5005bda1682946fb37e044e45ecb" +#patches = ["redox.patch"] + +[build] +template = "custom" +dependencies = [ + "atk", + "cairo", + "expat", + "fontconfig", + "freetype2", + "fribidi", + "gdk-pixbuf", + "gettext", + "glib", + #TODO "gstreamer", + "gtk4", + "harfbuzz", + "libepoxy", + "libatomic", + "libffi", + "libgcrypt", + "libgpg-error", + "libiconv", + "libicu", + "libjpeg", + "libpng", + "libpsl", + "libpthread-stubs", + "libsoup", + "libtasn1", + "libwebp", + "libx11", + "libxau", + "libxcb", + "libxext", + "libxfixes", + "libxi", + "libxml2", + "libxrandr", + "libxrender", + "libxslt", + "libxxf86vm", + "mesa-x11", + "nghttp2", + "pango", + "pcre2", + "pixman", + "shared-mime-info", + "sqlite3", + "x11proto", + "xextproto", + "xz", + "zlib", +] +script = """ +DYNAMIC_INIT +export WEBKIT_USE_SCCACHE=1 +export PYTHONDONTWRITEBYTECODE=1 +#TODO: enable more features +COOKBOOK_CMAKE_FLAGS+=( + -DENABLE_ASSERTS=ON + -DENABLE_GAMEPAD=OFF + -DENABLE_INTROSPECTION=OFF + -DENABLE_MEDIA_STREAM=OFF + -DENABLE_JOURNALD_LOG=OFF + -DENABLE_RELEASE_LOG=ON + -DENABLE_SPEECH_SYNTHESIS=OFF + -DENABLE_SPELLCHECK=OFF + -DENABLE_WEB_AUDIO=OFF + -DENABLE_WEB_CODECS=OFF + -DENABLE_VIDEO=OFF + -DPORT=GTK + -DUNIX=1 + -DUSE_AVIF=OFF + -DUSE_GSTREAMER_GL=OFF + -DUSE_GTK4=ON + -DUSE_JPEGXL=OFF + -DUSE_LCMS=OFF + -DUSE_LIBBACKTRACE=OFF + -DUSE_LIBDRM=OFF + -DUSE_LIBHYPHEN=OFF + -DUSE_LIBSECRET=OFF + -DUSE_SKIA=OFF + -DUSE_SYSPROF_CAPTURE=OFF + -DUSE_SYSTEM_MALLOC=OFF + -DUSE_SYSTEM_SYSPROF_CAPTURE=OFF + -DUSE_WOFF2=OFF +) + +cookbook_cmake + +patchelf --replace-needed "${COOKBOOK_SYSROOT}/usr/lib/libsqlite3.so" "libsqlite3.so" "${COOKBOOK_STAGE}/usr/lib/libwebkit2gtk-4.1.so" +patchelf --replace-needed "${COOKBOOK_SYSROOT}/usr/lib/libsqlite3.so" "libsqlite3.so" "${COOKBOOK_STAGE}/usr/libexec/webkit2gtk-4.1/MiniBrowser" +mkdir -p "${COOKBOOK_STAGE}/usr/bin" +ln -sr "${COOKBOOK_STAGE}/usr/libexec/webkit2gtk-4.1/MiniBrowser" "${COOKBOOK_STAGE}/usr/bin/MiniBrowser" +""" diff --git a/recipes/wip/libs/other/wxpython/recipe.toml b/recipes/wip/libs/other/wxpython/recipe.toml new file mode 100644 index 00000000..d75808cb --- /dev/null +++ b/recipes/wip/libs/other/wxpython/recipe.toml @@ -0,0 +1,8 @@ +#TODO missing script for Python, see https://wiki.wxpython.org/How%20to%20install%20wxPython#Installing_wxPython_from_source +[source] +tar = "https://files.pythonhosted.org/packages/aa/64/d749e767a8ce7bdc3d533334e03bb1106fc4e4803d16f931fada9007ee13/wxPython-4.2.1.tar.gz" +[build] +template = "custom" +dependencies = [ + "wxwidgets-gtk3", +] diff --git a/recipes/wip/libs/other/wxwidgets-gtk3/recipe.toml b/recipes/wip/libs/other/wxwidgets-gtk3/recipe.toml new file mode 100644 index 00000000..e5f14fb3 --- /dev/null +++ b/recipes/wip/libs/other/wxwidgets-gtk3/recipe.toml @@ -0,0 +1,14 @@ +#TODO probably wrong script, see https://github.com/wxWidgets/wxWidgets/blob/master/docs/gtk/install.md +[source] +tar = "https://github.com/wxWidgets/wxWidgets/releases/download/v3.2.4/wxWidgets-3.2.4.tar.bz2" +[build] +template = "custom" +dependencies = [ + "gtk3", +] +script = """ +COOKBOOK_CONFIGURE_FLAGS+=( + --with-gtk +) +cookbook_configure +""" diff --git a/recipes/wip/libs/other/xxhash/recipe.toml b/recipes/wip/libs/other/xxhash/recipe.toml new file mode 100644 index 00000000..902e1347 --- /dev/null +++ b/recipes/wip/libs/other/xxhash/recipe.toml @@ -0,0 +1,11 @@ +#TODO promote +[source] +git = "https://github.com/Cyan4973/xxHash" +rev = "bab7e27f4c6ae4efbb83dd99ae8a554423571635" # 0.8.3-dev (cmake support) +[build] +template = "custom" +script = """ +DYNAMIC_INIT +COOKBOOK_SOURCE="${COOKBOOK_SOURCE}"/build/cmake +cookbook_cmake +""" diff --git a/recipes/wip/libs/other/yajl/recipe.toml b/recipes/wip/libs/other/yajl/recipe.toml new file mode 100644 index 00000000..b61e2cef --- /dev/null +++ b/recipes/wip/libs/other/yajl/recipe.toml @@ -0,0 +1,6 @@ +[source] +tar = "https://github.com/lloyd/yajl/archive/refs/tags/2.1.0.tar.gz" +blake3 = "25cbfe28df82d5699b8fa5db8b32797b34aff995c7ce35a5fb622cc68f90f0cb" + +[build] +template = "cmake" diff --git a/recipes/wip/libs/other/zlib-ng/recipe.toml b/recipes/wip/libs/other/zlib-ng/recipe.toml new file mode 100644 index 00000000..33171a7e --- /dev/null +++ b/recipes/wip/libs/other/zlib-ng/recipe.toml @@ -0,0 +1,15 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/zlib-ng/zlib-ng" +rev = "2bc66887ddc0c50776811a27be68e34430d665e1" +[build] +template = "custom" +script = """ + export LDFLAGS="--static" + # See https://stackoverflow.com/questions/21396988/zlib-build-not-configuring-properly-with-cross-compiler-ignores-ar. + CHOST="${TARGET}" "${COOKBOOK_CONFIGURE}" \ + --prefix="" \ + --static + "${COOKBOOK_MAKE}" -j "$(nproc)" + "${COOKBOOK_MAKE}" install DESTDIR="${COOKBOOK_STAGE}" +""" diff --git a/recipes/wip/libs/qt4/recipe.toml b/recipes/wip/libs/qt4/recipe.toml new file mode 100644 index 00000000..b45036ec --- /dev/null +++ b/recipes/wip/libs/qt4/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "http://download.qt.io/official_releases/qt/4.8/4.8.7/qt-everywhere-opensource-src-4.8.7.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-3d/recipe.toml b/recipes/wip/libs/qt5/qt5-3d/recipe.toml new file mode 100644 index 00000000..d0afd914 --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-3d/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qt3d-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-activeqt/recipe.toml b/recipes/wip/libs/qt5/qt5-activeqt/recipe.toml new file mode 100644 index 00000000..59f15040 --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-activeqt/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtactiveqt-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-base/recipe.toml b/recipes/wip/libs/qt5/qt5-base/recipe.toml new file mode 100644 index 00000000..5543d5de --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-base/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +#TODO determine dependencies +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtbase-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-charts/recipe.toml b/recipes/wip/libs/qt5/qt5-charts/recipe.toml new file mode 100644 index 00000000..98be6cf8 --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-charts/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtcharts-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-coap/recipe.toml b/recipes/wip/libs/qt5/qt5-coap/recipe.toml new file mode 100644 index 00000000..420b4a62 --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-coap/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtcoap-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-connectivity/recipe.toml b/recipes/wip/libs/qt5/qt5-connectivity/recipe.toml new file mode 100644 index 00000000..15bf225c --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-connectivity/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtconnectivity-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-datavis3d/recipe.toml b/recipes/wip/libs/qt5/qt5-datavis3d/recipe.toml new file mode 100644 index 00000000..5ea77e02 --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-datavis3d/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtdatavis3d-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-declarative/recipe.toml b/recipes/wip/libs/qt5/qt5-declarative/recipe.toml new file mode 100644 index 00000000..e2cc2d18 --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-declarative/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtdeclarative-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-doc/recipe.toml b/recipes/wip/libs/qt5/qt5-doc/recipe.toml new file mode 100644 index 00000000..1fa55dae --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-doc/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtdoc-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-full/recipe.toml b/recipes/wip/libs/qt5/qt5-full/recipe.toml new file mode 100644 index 00000000..9a2489de --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-full/recipe.toml @@ -0,0 +1,27 @@ +#TODO not compiled or tested +# probably missing dependencies: https://doc.qt.io/archives/qt-5.15/linux-requirements.html +# build instructions: https://doc.qt.io/qt-5/linux-building.html +# customization: https://doc.qt.io/qt-5/configure-options.html +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.18/single/qt-everywhere-opensource-src-5.15.18.tar.xz" +[build] +template = "configure" +configureflags = [ + "-no-opengl", + "-no-feature-accessibility", +] +dependencies = [ + "fontconfig", + "freetype2", + #"mesa", + "libxkbcommon", + "libxcb", + "libx11", + "libxrender", + "libxext", + "libxfixes", + "libsm", + "libice", + "glib", + "gstreamer", +] diff --git a/recipes/wip/libs/qt5/qt5-gamepad/recipe.toml b/recipes/wip/libs/qt5/qt5-gamepad/recipe.toml new file mode 100644 index 00000000..388f43cd --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-gamepad/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtgamepad-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-graphical-effects/recipe.toml b/recipes/wip/libs/qt5/qt5-graphical-effects/recipe.toml new file mode 100644 index 00000000..0ace4d54 --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-graphical-effects/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtgraphicaleffects-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-imageformats/recipe.toml b/recipes/wip/libs/qt5/qt5-imageformats/recipe.toml new file mode 100644 index 00000000..7878d309 --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-imageformats/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtimageformats-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-knx/recipe.toml b/recipes/wip/libs/qt5/qt5-knx/recipe.toml new file mode 100644 index 00000000..3b3a9c89 --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-knx/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtknx-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-location/recipe.toml b/recipes/wip/libs/qt5/qt5-location/recipe.toml new file mode 100644 index 00000000..53bdbce9 --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-location/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtlocation-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-lottie/recipe.toml b/recipes/wip/libs/qt5/qt5-lottie/recipe.toml new file mode 100644 index 00000000..2cd35ef7 --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-lottie/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtlottie-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-mqtt/recipe.toml b/recipes/wip/libs/qt5/qt5-mqtt/recipe.toml new file mode 100644 index 00000000..02ad8a43 --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-mqtt/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtmqtt-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-multimedia/recipe.toml b/recipes/wip/libs/qt5/qt5-multimedia/recipe.toml new file mode 100644 index 00000000..7e9e3bf5 --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-multimedia/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtmultimedia-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-networkauth/recipe.toml b/recipes/wip/libs/qt5/qt5-networkauth/recipe.toml new file mode 100644 index 00000000..2957c31a --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-networkauth/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtnetworkauth-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-opcua/recipe.toml b/recipes/wip/libs/qt5/qt5-opcua/recipe.toml new file mode 100644 index 00000000..2d2ef6fd --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-opcua/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtopcua-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-purchasing/recipe.toml b/recipes/wip/libs/qt5/qt5-purchasing/recipe.toml new file mode 100644 index 00000000..041a670e --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-purchasing/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtpurchasing-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-quick3d/recipe.toml b/recipes/wip/libs/qt5/qt5-quick3d/recipe.toml new file mode 100644 index 00000000..74e77d9c --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-quick3d/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtquick3d-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-quickcontrols/recipe.toml b/recipes/wip/libs/qt5/qt5-quickcontrols/recipe.toml new file mode 100644 index 00000000..484f41ad --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-quickcontrols/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtquickcontrols-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-quickcontrols2/recipe.toml b/recipes/wip/libs/qt5/qt5-quickcontrols2/recipe.toml new file mode 100644 index 00000000..4bf0ef4f --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-quickcontrols2/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtquickcontrols2-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-quicktimeline/recipe.toml b/recipes/wip/libs/qt5/qt5-quicktimeline/recipe.toml new file mode 100644 index 00000000..8f16018b --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-quicktimeline/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtquicktimeline-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-remoteobjects/recipe.toml b/recipes/wip/libs/qt5/qt5-remoteobjects/recipe.toml new file mode 100644 index 00000000..355f298b --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-remoteobjects/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtremoteobjects-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-script/recipe.toml b/recipes/wip/libs/qt5/qt5-script/recipe.toml new file mode 100644 index 00000000..e26c7168 --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-script/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtscript-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-scxml/recipe.toml b/recipes/wip/libs/qt5/qt5-scxml/recipe.toml new file mode 100644 index 00000000..60185699 --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-scxml/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtscxml-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-sensors/recipe.toml b/recipes/wip/libs/qt5/qt5-sensors/recipe.toml new file mode 100644 index 00000000..85746d42 --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-sensors/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtsensors-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-serialbus/recipe.toml b/recipes/wip/libs/qt5/qt5-serialbus/recipe.toml new file mode 100644 index 00000000..c10f4caa --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-serialbus/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtserialbus-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-serialport/recipe.toml b/recipes/wip/libs/qt5/qt5-serialport/recipe.toml new file mode 100644 index 00000000..69b79283 --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-serialport/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtserialport-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-speech/recipe.toml b/recipes/wip/libs/qt5/qt5-speech/recipe.toml new file mode 100644 index 00000000..08ef779b --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-speech/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtspeech-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-svg/recipe.toml b/recipes/wip/libs/qt5/qt5-svg/recipe.toml new file mode 100644 index 00000000..1116339f --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-svg/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtsvg-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-tools/recipe.toml b/recipes/wip/libs/qt5/qt5-tools/recipe.toml new file mode 100644 index 00000000..178a9fa0 --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-tools/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qttools-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-tqtc/recipe.toml b/recipes/wip/libs/qt5/qt5-tqtc/recipe.toml new file mode 100644 index 00000000..9ddd7a16 --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-tqtc/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/tqtc-qt5-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-translations/recipe.toml b/recipes/wip/libs/qt5/qt5-translations/recipe.toml new file mode 100644 index 00000000..79593507 --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-translations/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qttranslations-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-virtualkeyboard/recipe.toml b/recipes/wip/libs/qt5/qt5-virtualkeyboard/recipe.toml new file mode 100644 index 00000000..d997c0ff --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-virtualkeyboard/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtvirtualkeyboard-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-wayland/recipe.toml b/recipes/wip/libs/qt5/qt5-wayland/recipe.toml new file mode 100644 index 00000000..1295aec3 --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-wayland/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtwayland-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-webchannel/recipe.toml b/recipes/wip/libs/qt5/qt5-webchannel/recipe.toml new file mode 100644 index 00000000..6f76023c --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-webchannel/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtwebchannel-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-webengine/recipe.toml b/recipes/wip/libs/qt5/qt5-webengine/recipe.toml new file mode 100644 index 00000000..47f22b6b --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-webengine/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtwebengine-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-webglplugin/recipe.toml b/recipes/wip/libs/qt5/qt5-webglplugin/recipe.toml new file mode 100644 index 00000000..6472115a --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-webglplugin/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtwebglplugin-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-webkit/recipe.toml b/recipes/wip/libs/qt5/qt5-webkit/recipe.toml new file mode 100644 index 00000000..d36dd52b --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-webkit/recipe.toml @@ -0,0 +1,28 @@ +#TODO not compiled or tested +# build instructions: https://github.com/qtwebkit/qtwebkit/wiki/Building-QtWebKit-on-Linux +#TODO determine dependencies +# probably wrong branch +[source] +git = "https://github.com/movableink/webkit" +[build] +template = "cmake" +dependencies = [ + "qt5-base", + "qt5-guiaddons", + "qt5-connectivity", + "qt5-networkauth", + "qt5-positioning", + "qt5-sensors", + "qt5-declarative", + "qt5-webchannel", + "sqlite3", + "libicu", + "libhyphen", + "libxml2", + "libxslt", + "libjpeg", + "libpng", + "zlib", + "glib", + "gstreamer", +] diff --git a/recipes/wip/libs/qt5/qt5-websockets/recipe.toml b/recipes/wip/libs/qt5/qt5-websockets/recipe.toml new file mode 100644 index 00000000..bd6a5c25 --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-websockets/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtwebsockets-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-webview/recipe.toml b/recipes/wip/libs/qt5/qt5-webview/recipe.toml new file mode 100644 index 00000000..b175b83c --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-webview/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtwebview-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-x11extras/recipe.toml b/recipes/wip/libs/qt5/qt5-x11extras/recipe.toml new file mode 100644 index 00000000..834f0c57 --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-x11extras/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtx11extras-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt5/qt5-xmlpatterns/recipe.toml b/recipes/wip/libs/qt5/qt5-xmlpatterns/recipe.toml new file mode 100644 index 00000000..e7892190 --- /dev/null +++ b/recipes/wip/libs/qt5/qt5-xmlpatterns/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtxmlpatterns-everywhere-opensource-src-5.15.11.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-3d/recipe.toml b/recipes/wip/libs/qt6/qt6-3d/recipe.toml new file mode 100644 index 00000000..0b947c67 --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-3d/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.6/6.6.1/submodules/qt3d-everywhere-src-6.6.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-activeqt/recipe.toml b/recipes/wip/libs/qt6/qt6-activeqt/recipe.toml new file mode 100644 index 00000000..ab07e79d --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-activeqt/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.6/6.6.1/submodules/qtactiveqt-everywhere-src-6.6.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-base/recipe.toml b/recipes/wip/libs/qt6/qt6-base/recipe.toml new file mode 100644 index 00000000..3a601c28 --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-base/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +#TODO determine dependencies +[source] +tar = "https://download.qt.io/official_releases/qt/6.10/6.10.0/submodules/qtbase-everywhere-src-6.10.0.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-charts/recipe.toml b/recipes/wip/libs/qt6/qt6-charts/recipe.toml new file mode 100644 index 00000000..769871e3 --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-charts/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.6/6.6.1/submodules/qtcharts-everywhere-src-6.6.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-connectivity/recipe.toml b/recipes/wip/libs/qt6/qt6-connectivity/recipe.toml new file mode 100644 index 00000000..48cee1d2 --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-connectivity/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.6/6.6.1/submodules/qtconnectivity-everywhere-src-6.6.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-datavis3d/recipe.toml b/recipes/wip/libs/qt6/qt6-datavis3d/recipe.toml new file mode 100644 index 00000000..7b5940de --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-datavis3d/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.6/6.6.1/submodules/qtdatavis3d-everywhere-src-6.6.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-declarative/recipe.toml b/recipes/wip/libs/qt6/qt6-declarative/recipe.toml new file mode 100644 index 00000000..174ab352 --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-declarative/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.10/6.10.0/submodules/qtdeclarative-everywhere-src-6.10.0.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-doc/recipe.toml b/recipes/wip/libs/qt6/qt6-doc/recipe.toml new file mode 100644 index 00000000..05f048e4 --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-doc/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.6/6.6.1/submodules/qtdoc-everywhere-src-6.6.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-full/recipe.toml b/recipes/wip/libs/qt6/qt6-full/recipe.toml new file mode 100644 index 00000000..008ee427 --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-full/recipe.toml @@ -0,0 +1,34 @@ +#TODO not compiled or tested +# probably wrong template +# build instructions: https://doc.qt.io/qt-6/linux-building.html +# customization: https://doc.qt.io/qt-6/configure-options.html +[source] +tar = "https://download.qt.io/official_releases/qt/6.10/6.10.0/single/qt-everywhere-src-6.10.0.tar.xz" +[build] +template = "custom" +dependencies = [ + "fontconfig", + "freetype2", + #"mesa", + "libxkbcommon", + "libxcb", + "libx11", + "libxrender", + "libxext", + "libxfixes", + "libsm", + "libice", + "glib", + "gstreamer", + "openssl3", +] +script = """ +DYNAMIC_INIT +COOKBOOK_CONFIGURE_FLAGS+=( + -no-opengl + -no-feature-accessibility + -openssl-linked +) +cookbook_configure +cookbook_cmake +""" diff --git a/recipes/wip/libs/qt6/qt6-graphs/recipe.toml b/recipes/wip/libs/qt6/qt6-graphs/recipe.toml new file mode 100644 index 00000000..317c1b17 --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-graphs/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.6/6.6.1/submodules/qtgraphs-everywhere-src-6.6.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-grpc/recipe.toml b/recipes/wip/libs/qt6/qt6-grpc/recipe.toml new file mode 100644 index 00000000..6f5f535c --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-grpc/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.6/6.6.1/submodules/qtgrpc-everywhere-src-6.6.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-httpserver/recipe.toml b/recipes/wip/libs/qt6/qt6-httpserver/recipe.toml new file mode 100644 index 00000000..110d7c57 --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-httpserver/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.6/6.6.1/submodules/qthttpserver-everywhere-src-6.6.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-imageformats/recipe.toml b/recipes/wip/libs/qt6/qt6-imageformats/recipe.toml new file mode 100644 index 00000000..a07e74d8 --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-imageformats/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.6/6.6.1/submodules/qtimageformats-everywhere-src-6.6.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-languageserver/recipe.toml b/recipes/wip/libs/qt6/qt6-languageserver/recipe.toml new file mode 100644 index 00000000..48b15cd3 --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-languageserver/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.6/6.6.1/submodules/qtlanguageserver-everywhere-src-6.6.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-location/recipe.toml b/recipes/wip/libs/qt6/qt6-location/recipe.toml new file mode 100644 index 00000000..57e3710f --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-location/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.6/6.6.1/submodules/qtlocation-everywhere-src-6.6.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-lottie/recipe.toml b/recipes/wip/libs/qt6/qt6-lottie/recipe.toml new file mode 100644 index 00000000..4ff65b68 --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-lottie/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.6/6.6.1/submodules/qtlottie-everywhere-src-6.6.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-multimedia/recipe.toml b/recipes/wip/libs/qt6/qt6-multimedia/recipe.toml new file mode 100644 index 00000000..e373ff40 --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-multimedia/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.10/6.10.0/submodules/qtmultimedia-everywhere-src-6.10.0.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-networkauth/recipe.toml b/recipes/wip/libs/qt6/qt6-networkauth/recipe.toml new file mode 100644 index 00000000..14bcf151 --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-networkauth/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.6/6.6.1/submodules/qtnetworkauth-everywhere-src-6.6.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-positioning/recipe.toml b/recipes/wip/libs/qt6/qt6-positioning/recipe.toml new file mode 100644 index 00000000..0d9f3ab7 --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-positioning/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.6/6.6.1/submodules/qtpositioning-everywhere-src-6.6.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-qt5compat/recipe.toml b/recipes/wip/libs/qt6/qt6-qt5compat/recipe.toml new file mode 100644 index 00000000..718def1a --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-qt5compat/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.6/6.6.1/submodules/qt5compat-everywhere-src-6.6.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-quick3d/recipe.toml b/recipes/wip/libs/qt6/qt6-quick3d/recipe.toml new file mode 100644 index 00000000..f2a9b4b6 --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-quick3d/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.6/6.6.1/submodules/qtquick3d-everywhere-src-6.6.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-quick3dphysics/recipe.toml b/recipes/wip/libs/qt6/qt6-quick3dphysics/recipe.toml new file mode 100644 index 00000000..f9b6e59b --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-quick3dphysics/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.6/6.6.1/submodules/qtquick3dphysics-everywhere-src-6.6.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-quickeffectmaker/recipe.toml b/recipes/wip/libs/qt6/qt6-quickeffectmaker/recipe.toml new file mode 100644 index 00000000..26e81064 --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-quickeffectmaker/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.6/6.6.1/submodules/qtquickeffectmaker-everywhere-src-6.6.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-quicktimeline/recipe.toml b/recipes/wip/libs/qt6/qt6-quicktimeline/recipe.toml new file mode 100644 index 00000000..65c0d783 --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-quicktimeline/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.6/6.6.1/submodules/qtquicktimeline-everywhere-src-6.6.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-remoteobjects/recipe.toml b/recipes/wip/libs/qt6/qt6-remoteobjects/recipe.toml new file mode 100644 index 00000000..8601df86 --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-remoteobjects/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.6/6.6.1/submodules/qtremoteobjects-everywhere-src-6.6.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-scxml/recipe.toml b/recipes/wip/libs/qt6/qt6-scxml/recipe.toml new file mode 100644 index 00000000..f2eabe7a --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-scxml/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.6/6.6.1/submodules/qtscxml-everywhere-src-6.6.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-sensors/recipe.toml b/recipes/wip/libs/qt6/qt6-sensors/recipe.toml new file mode 100644 index 00000000..4406fa11 --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-sensors/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.6/6.6.1/submodules/qtsensors-everywhere-src-6.6.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-serialbus/recipe.toml b/recipes/wip/libs/qt6/qt6-serialbus/recipe.toml new file mode 100644 index 00000000..acae051c --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-serialbus/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.6/6.6.1/submodules/qtserialbus-everywhere-src-6.6.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-serialport/recipe.toml b/recipes/wip/libs/qt6/qt6-serialport/recipe.toml new file mode 100644 index 00000000..35b5a92e --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-serialport/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.6/6.6.1/submodules/qtserialport-everywhere-src-6.6.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-shadertools/recipe.toml b/recipes/wip/libs/qt6/qt6-shadertools/recipe.toml new file mode 100644 index 00000000..2168fed2 --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-shadertools/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.6/6.6.1/submodules/qtshadertools-everywhere-src-6.6.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-speech/recipe.toml b/recipes/wip/libs/qt6/qt6-speech/recipe.toml new file mode 100644 index 00000000..cc8953ca --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-speech/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.6/6.6.1/submodules/qtspeech-everywhere-src-6.6.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-svg/recipe.toml b/recipes/wip/libs/qt6/qt6-svg/recipe.toml new file mode 100644 index 00000000..02d8513f --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-svg/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.10/6.10.0/submodules/qtsvg-everywhere-src-6.10.0.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-tools/recipe.toml b/recipes/wip/libs/qt6/qt6-tools/recipe.toml new file mode 100644 index 00000000..6fd432fe --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-tools/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.6/6.6.1/submodules/qttools-everywhere-src-6.6.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-translations/recipe.toml b/recipes/wip/libs/qt6/qt6-translations/recipe.toml new file mode 100644 index 00000000..379ad873 --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-translations/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.6/6.6.1/submodules/qttranslations-everywhere-src-6.6.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-virtualkeyboard/recipe.toml b/recipes/wip/libs/qt6/qt6-virtualkeyboard/recipe.toml new file mode 100644 index 00000000..1698d867 --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-virtualkeyboard/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.6/6.6.1/submodules/qtvirtualkeyboard-everywhere-src-6.6.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-wayland/recipe.toml b/recipes/wip/libs/qt6/qt6-wayland/recipe.toml new file mode 100644 index 00000000..313ce175 --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-wayland/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.6/6.6.1/submodules/qtwayland-everywhere-src-6.6.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-webchannel/recipe.toml b/recipes/wip/libs/qt6/qt6-webchannel/recipe.toml new file mode 100644 index 00000000..f8088fcd --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-webchannel/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.6/6.6.1/submodules/qtwebchannel-everywhere-src-6.6.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-webengine/recipe.toml b/recipes/wip/libs/qt6/qt6-webengine/recipe.toml new file mode 100644 index 00000000..3f06e742 --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-webengine/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.6/6.6.1/submodules/qtwebengine-everywhere-src-6.6.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-websockets/recipe.toml b/recipes/wip/libs/qt6/qt6-websockets/recipe.toml new file mode 100644 index 00000000..a1982f0c --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-websockets/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.6/6.6.1/submodules/qtwebsockets-everywhere-src-6.6.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/qt6/qt6-webview/recipe.toml b/recipes/wip/libs/qt6/qt6-webview/recipe.toml new file mode 100644 index 00000000..bf07b3af --- /dev/null +++ b/recipes/wip/libs/qt6/qt6-webview/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.qt.io/official_releases/qt/6.6/6.6.1/submodules/qtwebview-everywhere-src-6.6.1.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/security/libacl/recipe.toml b/recipes/wip/libs/security/libacl/recipe.toml new file mode 100644 index 00000000..247d5ebe --- /dev/null +++ b/recipes/wip/libs/security/libacl/recipe.toml @@ -0,0 +1,5 @@ +#TODO can't find the attr/error_context.h file +[source] +tar = "https://download.savannah.nongnu.org/releases/acl/acl-2.3.2.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/text/hunspell/recipe.toml b/recipes/wip/libs/text/hunspell/recipe.toml new file mode 100644 index 00000000..d47505e6 --- /dev/null +++ b/recipes/wip/libs/text/hunspell/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://github.com/hunspell/hunspell#compiling-on-gnulinux-and-unixes +[source] +tar = "https://github.com/hunspell/hunspell/releases/download/v1.7.2/hunspell-1.7.2.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/libs/text/libspelling/recipe.toml b/recipes/wip/libs/text/libspelling/recipe.toml new file mode 100644 index 00000000..a69b0211 --- /dev/null +++ b/recipes/wip/libs/text/libspelling/recipe.toml @@ -0,0 +1,12 @@ +#TODO not compiled or tested +# lacking build instructions +[source] +tar = "https://download.gnome.org/sources/libspelling/0.4/libspelling-0.4.9.tar.xz" +[build] +template = "meson" +mesonflags = [ + "-Ddocs=false", + "-Dintrospection=false", + "-Dsysproof=false", + "-Dvapi=false", +] diff --git a/recipes/wip/libs/tikv-jemallocator/recipe.toml b/recipes/wip/libs/tikv-jemallocator/recipe.toml new file mode 100644 index 00000000..7d4af5ef --- /dev/null +++ b/recipes/wip/libs/tikv-jemallocator/recipe.toml @@ -0,0 +1,12 @@ +#TODO "No suitable wgpu::Adapter found" error on execution +[source] +git = "https://gitlab.redox-os.org/njskalski/jemallocator.git" +branch = "redox_mods" +[build] +template = "custom" + +script = """ +# Build the library crates +"${COOKBOOK_REDOXER}" build --manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" --workspace --release +# Library crates don't need installation, they're used as dependencies +""" diff --git a/recipes/wip/libs/tls/gnutls3/recipe.toml b/recipes/wip/libs/tls/gnutls3/recipe.toml new file mode 100644 index 00000000..f94d1261 --- /dev/null +++ b/recipes/wip/libs/tls/gnutls3/recipe.toml @@ -0,0 +1,28 @@ +[source] +tar = "https://www.gnupg.org/ftp/gcrypt/gnutls/v3.7/gnutls-3.7.10.tar.xz" +blake3 = "edcd8a505867226722ae50e0e9bb2bf57a1f38b5674a3028e26f69d2d61957e6" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +template = "custom" +dependencies = [ + "libbrotli", + "libgmp", + "libnettle", + "zlib", + "zstd", +] +script = """ +DYNAMIC_INIT +COOKBOOK_CONFIGURE_FLAGS+=( + --with-included-libtasn1 + --with-included-unistring + --without-p11-kit + gl_cv_func_malloc_posix=no + gl_cv_socket_ipv6=no +) +cookbook_configure +""" diff --git a/recipes/wip/libs/tls/mbedtls/recipe.toml b/recipes/wip/libs/tls/mbedtls/recipe.toml new file mode 100644 index 00000000..42d21aac --- /dev/null +++ b/recipes/wip/libs/tls/mbedtls/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://mbed-tls.readthedocs.io/en/latest/getting_started/building/#building-with-cmake +[source] +git = "https://github.com/Mbed-TLS/mbedtls" +rev = "edb8fec9882084344a314368ac7fd957a187519c" +[build] +template = "cmake" diff --git a/recipes/wip/libs/tls/openssl3/recipe.toml b/recipes/wip/libs/tls/openssl3/recipe.toml new file mode 100644 index 00000000..6ce485ee --- /dev/null +++ b/recipes/wip/libs/tls/openssl3/recipe.toml @@ -0,0 +1,29 @@ +[source] +tar = "https://github.com/openssl/openssl/releases/download/openssl-3.5.3/openssl-3.5.3.tar.gz" +patches = [ "redox.patch" ] + +[build] +template = "custom" +dependencies = [ + "zlib", + "zstd" +] +script = """ +DYNAMIC_INIT +ARCH="${TARGET%%-*}" +export ARFLAGS=cr +COOKBOOK_CONFIGURE="${COOKBOOK_SOURCE}/Configure" +COOKBOOK_CONFIGURE_FLAGS=( + no-tests + no-unit-test + shared + zlib + enable-zstd + "redox-${ARCH}" + --prefix="/usr" +) +"${COOKBOOK_CONFIGURE}" "${COOKBOOK_CONFIGURE_FLAGS[@]}" +"${COOKBOOK_MAKE}" -j1 # bug in make/ar +"${COOKBOOK_MAKE}" install_sw install_ssldirs DESTDIR="${COOKBOOK_STAGE}" +rm -rfv "${COOKBOOK_STAGE}/"{share,ssl} +""" diff --git a/recipes/wip/libs/tls/openssl3/redox.patch b/recipes/wip/libs/tls/openssl3/redox.patch new file mode 100644 index 00000000..e2038c92 --- /dev/null +++ b/recipes/wip/libs/tls/openssl3/redox.patch @@ -0,0 +1,56 @@ +diff -ruwN source/apps/lib/apps.c source-new/apps/lib/apps.c +--- source/apps/lib/apps.c 2025-09-16 19:05:33.000000000 +0700 ++++ source-new/apps/lib/apps.c 2025-09-20 12:29:36.439917319 +0700 +@@ -2839,7 +2839,7 @@ + return ret; + } + +-#elif defined(_SC_CLK_TCK) /* by means of unistd.h */ ++#elif defined(_SC_CLK_TCK) && !defined(__redox__) /* by means of unistd.h */ + # include + + double app_tminterval(int stop, int usertime) +diff -ruwN source/Configurations/10-main.conf source-new/Configurations/10-main.conf +--- source/Configurations/10-main.conf 2025-09-16 19:05:33.000000000 +0700 ++++ source-new/Configurations/10-main.conf 2025-09-20 13:13:14.569456910 +0700 +@@ -208,6 +208,40 @@ + shared_extension => ".so", + }, + ++### Redox configurations ++ "redox-common" => { ++ inherit_from => [ "BASE_unix" ], ++ cc => "gcc", ++ thread_scheme => "pthreads", ++ dso_scheme => "dlfcn", ++ shared_target => "linux-shared", ++ shared_cflag => "-fPIC", ++ shared_ldflag => sub { $disabled{pinshared} ? () : "-Wl,-znodelete" }, ++ shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)", ++ }, ++ "redox-generic64" => { ++ inherit_from => [ "redox-common" ], ++ bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR", ++ }, ++ "redox-aarch64" => { ++ inherit_from => [ "redox-generic64" ], ++ perlasm_scheme => "linux64", ++ }, ++ "redox-i686" => { ++ inherit_from => [ "redox-common" ], ++ bn_ops => "BN_LLONG", ++ perlasm_scheme => "elf", ++ }, ++ "redox-riscv64gc" => { ++ inherit_from => [ "redox-generic64" ], ++ perlasm_scheme => "linux64", ++ }, ++ "redox-x86_64" => { ++ inherit_from => [ "redox-generic64" ], ++ perlasm_scheme => "elf", ++ }, ++ ++ + #### Solaris configurations + "solaris-common" => { + inherit_from => [ "BASE_unix" ], diff --git a/recipes/wip/libs/tls/wolfssl5/recipe.toml b/recipes/wip/libs/tls/wolfssl5/recipe.toml new file mode 100644 index 00000000..15abd300 --- /dev/null +++ b/recipes/wip/libs/tls/wolfssl5/recipe.toml @@ -0,0 +1,12 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/wolfSSL/wolfssl" +rev = "37884f864d6fd9b04f44677cb04da15d0c9d6526" +script = "./autogen.sh" +[build] +template = "custom" +script = """ +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ +COOKBOOK_CONFIGURE="./configure" +cookbook_configure +""" diff --git a/recipes/wip/libs/video/libgif/recipe.toml b/recipes/wip/libs/video/libgif/recipe.toml new file mode 100644 index 00000000..aebee7b7 --- /dev/null +++ b/recipes/wip/libs/video/libgif/recipe.toml @@ -0,0 +1,14 @@ +[source] +tar = "https://sourceforge.net/projects/giflib/files/giflib-5.2.2.tar.gz/download" +blake3 = "025cd79ba2d524c24b33a3d2750c146c6823adf96e1dbcc380ca6210bc7058a8" +patches = ["redox.patch"] + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ +"${COOKBOOK_MAKE}" libgif.so libgif.a -j "${COOKBOOK_MAKE_JOBS}" +"${COOKBOOK_MAKE}" install-include install-lib DESTDIR="${COOKBOOK_STAGE}" +""" + diff --git a/recipes/wip/libs/video/libgif/redox.patch b/recipes/wip/libs/video/libgif/redox.patch new file mode 100644 index 00000000..b58cfcdb --- /dev/null +++ b/recipes/wip/libs/video/libgif/redox.patch @@ -0,0 +1,12 @@ +diff -ruwN giflib-5.2.1/Makefile source/Makefile +--- giflib-5.2.1/Makefile 2019-06-24 10:08:57.000000000 -0600 ++++ source/Makefile 2025-05-10 13:15:44.301303744 -0600 +@@ -14,7 +14,7 @@ + TAR = tar + INSTALL = install + +-PREFIX = /usr/local ++PREFIX = /usr + BINDIR = $(PREFIX)/bin + INCDIR = $(PREFIX)/include + LIBDIR = $(PREFIX)/lib diff --git a/recipes/wip/libs/video/libmatroska/recipe.toml b/recipes/wip/libs/video/libmatroska/recipe.toml new file mode 100644 index 00000000..4dc09164 --- /dev/null +++ b/recipes/wip/libs/video/libmatroska/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://github.com/Matroska-Org/libmatroska#building-and-installing +[source] +tar = "https://dl.matroska.org/downloads/libmatroska/libmatroska-1.7.1.tar.xz" +[build] +template = "cmake" diff --git a/recipes/wip/libs/video/libopenshot/recipe.toml b/recipes/wip/libs/video/libopenshot/recipe.toml new file mode 100644 index 00000000..6ca2501b --- /dev/null +++ b/recipes/wip/libs/video/libopenshot/recipe.toml @@ -0,0 +1,21 @@ +#TODO not compiled or tested +#TODO determine minimum dependencies from cmake log +# build instructions: https://github.com/OpenShot/libopenshot/wiki/Linux-Build-Instructions +[source] +git = "https://github.com/OpenShot/libopenshot" +rev = "v0.4.0" +shallow_clone = true +[build] +template = "cmake" +# dependencies = [ +# "libopenshot-audio", +# "ffmpeg6", +# "qt5-base", +# "qt5-svg", +# "qt5-multimedia", +# "libzmq", +# "opencv4", +# "protobuf", +# "babl", +# "imagemagick", +# ] \ No newline at end of file diff --git a/recipes/wip/libs/video/libvpx/recipe.toml b/recipes/wip/libs/video/libvpx/recipe.toml new file mode 100644 index 00000000..977a6a1f --- /dev/null +++ b/recipes/wip/libs/video/libvpx/recipe.toml @@ -0,0 +1,6 @@ +#TODO error with the redox target +[source] +git = "https://chromium.googlesource.com/webm/libvpx" +rev = "10b9492dcf05b652e2e4b370e205bd605d421972" +[build] +template = "configure" diff --git a/recipes/wip/logging/krapslog/recipe.toml b/recipes/wip/logging/krapslog/recipe.toml new file mode 100644 index 00000000..be799633 --- /dev/null +++ b/recipes/wip/logging/krapslog/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/acj/krapslog-rs" +[build] +template = "cargo" diff --git a/recipes/wip/math/cosmic-ext-calculator/recipe.toml b/recipes/wip/math/cosmic-ext-calculator/recipe.toml new file mode 100644 index 00000000..5dbbcf4c --- /dev/null +++ b/recipes/wip/math/cosmic-ext-calculator/recipe.toml @@ -0,0 +1,15 @@ +#TODO not compiled or tested +#TODO verify if the desktop shortcut and icon configuration is correct +[source] +git = "https://github.com/cosmic-utils/calculator" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/applications +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/metainfo +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/icons/hicolor/scalable/apps +cp -rv "${COOKBOOK_SOURCE}"/res/app.desktop "${COOKBOOK_STAGE}"/usr/share/applications/dev.edfloreshz.Calculator.desktop +cp -rv "${COOKBOOK_SOURCE}"/res/metainfo.xml "${COOKBOOK_STAGE}"/usr/share/metainfo/dev.edfloreshz.Calculator.metainfo.xml +cp -rv "${COOKBOOK_SOURCE}"/res/icons/hicolor/scalable/apps/icon.svg "${COOKBOOK_STAGE}"/usr/share/icons/hicolor/scalable/apps/dev.edfloreshz.Calculator.svg +cookbook_cargo +""" diff --git a/recipes/wip/math/fend/recipe.toml b/recipes/wip/math/fend/recipe.toml new file mode 100644 index 00000000..f9055f46 --- /dev/null +++ b/recipes/wip/math/fend/recipe.toml @@ -0,0 +1,13 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/printfn/fend" + +[build] +dependencies = [ + "openssl1", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_cargo_packages fend +""" diff --git a/recipes/wip/math/fractal-explorer/recipe.toml b/recipes/wip/math/fractal-explorer/recipe.toml new file mode 100644 index 00000000..7ea0cbfb --- /dev/null +++ b/recipes/wip/math/fractal-explorer/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/boclair/fractal-explorer" +[build] +template = "cargo" diff --git a/recipes/wip/math/gnome-calculator/recipe.toml b/recipes/wip/math/gnome-calculator/recipe.toml new file mode 100644 index 00000000..333ffd55 --- /dev/null +++ b/recipes/wip/math/gnome-calculator/recipe.toml @@ -0,0 +1,17 @@ +#TODO not compiled or tested +# lacking build instructions +# build options: https://gitlab.gnome.org/GNOME/gnome-calculator/-/blob/main/meson_options.txt?ref_type=heads +[source] +tar = "https://download.gnome.org/sources/gnome-calculator/49/gnome-calculator-49.1.1.tar.xz" +[build] +template = "meson" +mesonflags = [ + "-Ddisable-introspection=true", + "-Ddoc=false", +] +#dependencies = [ +# "glib", +# "libsoup", +# "mpc", +# "mpfr", +#] diff --git a/recipes/wip/math/kalc/recipe.toml b/recipes/wip/math/kalc/recipe.toml new file mode 100644 index 00000000..6217dc97 --- /dev/null +++ b/recipes/wip/math/kalc/recipe.toml @@ -0,0 +1,5 @@ +#TODO gmp-mpfr-sys crate error +[source] +git = "https://github.com/bgkillas/kalc" +[build] +template = "cargo" diff --git a/recipes/wip/math/kalker/recipe.toml b/recipes/wip/math/kalker/recipe.toml new file mode 100644 index 00000000..242c9ccd --- /dev/null +++ b/recipes/wip/math/kalker/recipe.toml @@ -0,0 +1,13 @@ +#TODO gmp-mpfr-sys crate error (after cargo update) +[source] +git = "https://github.com/PaddiM8/kalker" +[build] +template = "custom" +dependencies = [ + "libgmp", + "libmpfr", + "mpc", +] +script = """ +cookbook_cargo_packages kalker +""" diff --git a/recipes/wip/math/numbat/recipe.toml b/recipes/wip/math/numbat/recipe.toml new file mode 100644 index 00000000..9b5ee67e --- /dev/null +++ b/recipes/wip/math/numbat/recipe.toml @@ -0,0 +1,9 @@ +#TODO compiled but not tested +#TODO missing script to properly move the binary +[source] +git = "https://github.com/sharkdp/numbat" +[build] +template = "custom" +script = """ +cookbook_cargo_packages numbat-cli +""" diff --git a/recipes/wip/math/primesieve/recipe.toml b/recipes/wip/math/primesieve/recipe.toml new file mode 100644 index 00000000..75b9866d --- /dev/null +++ b/recipes/wip/math/primesieve/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://github.com/kimwalisch/primesieve/blob/master/doc/BUILD.md +[source] +git = "https://github.com/kimwalisch/primesieve" +rev = "f3114488ddded8edf2c201e31ad308ed9e6a9f78" +[build] +template = "cmake" diff --git a/recipes/wip/math/qalculate-gtk/recipe.toml b/recipes/wip/math/qalculate-gtk/recipe.toml new file mode 100644 index 00000000..b46413b9 --- /dev/null +++ b/recipes/wip/math/qalculate-gtk/recipe.toml @@ -0,0 +1,9 @@ +#TODO make gtk3 work +[source] +tar = "https://github.com/Qalculate/qalculate-gtk/releases/download/v4.9.0/qalculate-gtk-4.9.0.tar.gz" +[build] +template = "configure" +dependencies = [ + "gtk3", + "libqalculate", +] diff --git a/recipes/wip/math/rink/recipe.toml b/recipes/wip/math/rink/recipe.toml new file mode 100644 index 00000000..208a58eb --- /dev/null +++ b/recipes/wip/math/rink/recipe.toml @@ -0,0 +1,11 @@ +#TODO async-io and rustix crates error +[source] +git = "https://github.com/tiffany352/rink-rs" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +cookbook_cargo_packages rink +""" diff --git a/recipes/wip/monitors/bandwhich/recipe.toml b/recipes/wip/monitors/bandwhich/recipe.toml new file mode 100644 index 00000000..72c8ff2a --- /dev/null +++ b/recipes/wip/monitors/bandwhich/recipe.toml @@ -0,0 +1,5 @@ +#TODO redox_syscall crate error +[source] +git = "https://github.com/imsnif/bandwhich" +[build] +template = "cargo" diff --git a/recipes/wip/monitors/bottom/recipe.toml b/recipes/wip/monitors/bottom/recipe.toml new file mode 100644 index 00000000..530c4186 --- /dev/null +++ b/recipes/wip/monitors/bottom/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing data +[source] +git = "https://github.com/jackpot51/bottom" + +[build] +template = "cargo" diff --git a/recipes/wip/monitors/conky/recipe.toml b/recipes/wip/monitors/conky/recipe.toml new file mode 100644 index 00000000..3f0a2d44 --- /dev/null +++ b/recipes/wip/monitors/conky/recipe.toml @@ -0,0 +1,17 @@ +#TODO not compiled or tested +# build instructions: https://conky.cc/documents/compiling +[source] +git = "https://github.com/brndnmtthws/conky" +rev = "bbdc7081aec27daafca07fc40523335a2ea0a992" +[build] +template = "custom" +dependencies = [ + "imlib2", + "ncurses", + "libxml2", + "curl", +] +script = """ +export CPPFLAGS="-I${COOKBOOK_SYSROOT}/include/ncurses" +cookbook_cmake +""" diff --git a/recipes/wip/monitors/cosmic-ext-observatory/recipe.toml b/recipes/wip/monitors/cosmic-ext-observatory/recipe.toml new file mode 100644 index 00000000..6dd545a2 --- /dev/null +++ b/recipes/wip/monitors/cosmic-ext-observatory/recipe.toml @@ -0,0 +1,15 @@ +#TODO not compiled or tested +#TODO verify if the resource commands are correct +[source] +git = "https://github.com/cosmic-utils/observatory" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/applications +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/metainfo +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/icons +cp -rv "${COOKBOOK_SOURCE}"/observatory/res/app.desktop "${COOKBOOK_STAGE}"/usr/share/applications/io.github.cosmic_utils.observatory.desktop +cp -rv "${COOKBOOK_SOURCE}"/observatory/res/metainfo.xml "${COOKBOOK_STAGE}"/usr/share/metainfo/io.github.cosmic_utils.observatory.metainfo.xml +cp -rv "${COOKBOOK_SOURCE}"/observatory/res/icons/hicolor/scalable/apps/icon.svg "${COOKBOOK_STAGE}"/usr/share/icons/hicolor/scalable/apps/io.github.cosmic_utils.observatory.svg +cookbook_cargo_packages observatory +""" diff --git a/recipes/wip/monitors/fluere/recipe.toml b/recipes/wip/monitors/fluere/recipe.toml new file mode 100644 index 00000000..d135d132 --- /dev/null +++ b/recipes/wip/monitors/fluere/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/SkuldNorniern/fluere" +[build] +template = "cargo" diff --git a/recipes/wip/monitors/hearth/recipe.toml b/recipes/wip/monitors/hearth/recipe.toml new file mode 100644 index 00000000..4277789b --- /dev/null +++ b/recipes/wip/monitors/hearth/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/aheart/hearth" +[build] +template = "cargo" diff --git a/recipes/wip/monitors/htop/recipe.toml b/recipes/wip/monitors/htop/recipe.toml new file mode 100644 index 00000000..f4e554be --- /dev/null +++ b/recipes/wip/monitors/htop/recipe.toml @@ -0,0 +1,22 @@ +#TODO Promote +[source] +git = "https://github.com/willnode/htop" +branch = "redox" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +template = "configure" +configureflags = [ + "--disable-unicode", +] +dependencies = [ + "ncurses", +] + +[package] +dependencies = [ + "terminfo" +] diff --git a/recipes/wip/monitors/latencymon/recipe.toml b/recipes/wip/monitors/latencymon/recipe.toml new file mode 100644 index 00000000..15e37d5e --- /dev/null +++ b/recipes/wip/monitors/latencymon/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/alttch/latencymon" +[build] +template = "cargo" diff --git a/recipes/wip/monitors/mountstatus/recipe.toml b/recipes/wip/monitors/mountstatus/recipe.toml new file mode 100644 index 00000000..e7429ab0 --- /dev/null +++ b/recipes/wip/monitors/mountstatus/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/acdha/mountstatus" +[build] +template = "cargo" diff --git a/recipes/wip/monitors/rtop/recipe.toml b/recipes/wip/monitors/rtop/recipe.toml new file mode 100644 index 00000000..fa6f7cfa --- /dev/null +++ b/recipes/wip/monitors/rtop/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/narendasan/rtop" +[build] +template = "cargo" diff --git a/recipes/wip/monitors/sentrum/recipe.toml b/recipes/wip/monitors/sentrum/recipe.toml new file mode 100644 index 00000000..3548fe6e --- /dev/null +++ b/recipes/wip/monitors/sentrum/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/sommerfelddev/sentrum" +[build] +template = "cargo" diff --git a/recipes/wip/monitors/serial-monitor-rs/recipe.toml b/recipes/wip/monitors/serial-monitor-rs/recipe.toml new file mode 100644 index 00000000..cd551c74 --- /dev/null +++ b/recipes/wip/monitors/serial-monitor-rs/recipe.toml @@ -0,0 +1,9 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/hacknus/serial-monitor-rust" +[build] +template = "cargo" +dependencies = [ + "libxkbcommon", + "openssl1", +] diff --git a/recipes/wip/monitors/sniffnet/recipe.toml b/recipes/wip/monitors/sniffnet/recipe.toml new file mode 100644 index 00000000..059e3929 --- /dev/null +++ b/recipes/wip/monitors/sniffnet/recipe.toml @@ -0,0 +1,9 @@ +#TODO make the libpcap dependency work +[source] +git = "https://github.com/GyulyVGC/sniffnet" +[build] +template = "cargo" +dependencies = [ + "libpcap", + "fontconfig", +] diff --git a/recipes/wip/monitors/socktop/recipe.toml b/recipes/wip/monitors/socktop/recipe.toml new file mode 100644 index 00000000..ab499e0e --- /dev/null +++ b/recipes/wip/monitors/socktop/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/jasonwitty/socktop" +[build] +template = "custom" +script = """ +cookbook_cargo_packages socktop socktop_agent +""" diff --git a/recipes/wip/monitors/sysinfo/recipe.toml b/recipes/wip/monitors/sysinfo/recipe.toml new file mode 100644 index 00000000..6a5e9bd8 --- /dev/null +++ b/recipes/wip/monitors/sysinfo/recipe.toml @@ -0,0 +1,8 @@ +[source] +git = "https://github.com/jackpot51/sysinfo" + +[build] +template = "custom" +script = """ +cookbook_cargo_examples simple +""" diff --git a/recipes/wip/net/admin/webmin/recipe.toml b/recipes/wip/net/admin/webmin/recipe.toml new file mode 100644 index 00000000..65429745 --- /dev/null +++ b/recipes/wip/net/admin/webmin/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +# how to setup: https://webmin.com/download/#freebsd-and-any-other-linux-installation-from-source +[source] +tar = "https://github.com/webmin/webmin/releases/download/2.600/webmin-2.600-minimal.tar.gz" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}/home/user/webmin" +cp -rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}/home/user/webmin" +""" diff --git a/recipes/wip/net/analysis/angryether-rs/recipe.toml b/recipes/wip/net/analysis/angryether-rs/recipe.toml new file mode 100644 index 00000000..e780647d --- /dev/null +++ b/recipes/wip/net/analysis/angryether-rs/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/pg3uk/AngryEtherRust" +[build] +template = "cargo" diff --git a/recipes/wip/net/analysis/pepe/recipe.toml b/recipes/wip/net/analysis/pepe/recipe.toml new file mode 100644 index 00000000..8ee7e350 --- /dev/null +++ b/recipes/wip/net/analysis/pepe/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/omarmhaimdat/pepe" +[build] +template = "cargo" diff --git a/recipes/wip/net/analysis/rkik/recipe.toml b/recipes/wip/net/analysis/rkik/recipe.toml new file mode 100644 index 00000000..c571577a --- /dev/null +++ b/recipes/wip/net/analysis/rkik/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/aguacero7/rkik" +[build] +template = "cargo" diff --git a/recipes/wip/net/bittorrent/aquatic-udp/recipe.toml b/recipes/wip/net/bittorrent/aquatic-udp/recipe.toml new file mode 100644 index 00000000..9d2b9ee2 --- /dev/null +++ b/recipes/wip/net/bittorrent/aquatic-udp/recipe.toml @@ -0,0 +1,9 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/greatest-ape/aquatic" +[build] +template = "custom" +script = """ +cookbook_cargo_packages aquatic_udp +mv "${COOKBOOK_STAGE}/usr/bin/aquatic_udp" "${COOKBOOK_STAGE}/usr/bin/aquatic-udp" +""" diff --git a/recipes/wip/net/bittorrent/attractorr/recipe.toml b/recipes/wip/net/bittorrent/attractorr/recipe.toml new file mode 100644 index 00000000..89201545 --- /dev/null +++ b/recipes/wip/net/bittorrent/attractorr/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/rnestler/attractorr" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/net/bittorrent/btpd/recipe.toml b/recipes/wip/net/bittorrent/btpd/recipe.toml new file mode 100644 index 00000000..a37033a6 --- /dev/null +++ b/recipes/wip/net/bittorrent/btpd/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +# build instructions: https://github.com/btpd/btpd?tab=readme-ov-file#building +[source] +git = "https://github.com/btpd/btpd" +rev = "a3a10dfe1ece4a726530353a7b208c0cb4ff7e0d" +[build] +template = "configure" +dependencies = [ + "openssl3", +] diff --git a/recipes/wip/net/bittorrent/rtorrent/recipe.toml b/recipes/wip/net/bittorrent/rtorrent/recipe.toml new file mode 100644 index 00000000..69a93bfb --- /dev/null +++ b/recipes/wip/net/bittorrent/rtorrent/recipe.toml @@ -0,0 +1,5 @@ +#TODO can't find pthreads support +[source] +tar = "https://github.com/rakshasa/rtorrent-archive/raw/master/rtorrent-0.9.8.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/net/bittorrent/superseedr/recipe.toml b/recipes/wip/net/bittorrent/superseedr/recipe.toml new file mode 100644 index 00000000..c8d85fce --- /dev/null +++ b/recipes/wip/net/bittorrent/superseedr/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/Jagalite/superseedr" +[build] +template = "cargo" diff --git a/recipes/wip/net/bittorrent/synapse-bt/recipe.toml b/recipes/wip/net/bittorrent/synapse-bt/recipe.toml new file mode 100644 index 00000000..53ef1be2 --- /dev/null +++ b/recipes/wip/net/bittorrent/synapse-bt/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/Luminarys/synapse" +[build] +template = "cargo" diff --git a/recipes/wip/net/bittorrent/transg-tui/recipe.toml b/recipes/wip/net/bittorrent/transg-tui/recipe.toml new file mode 100644 index 00000000..36cad969 --- /dev/null +++ b/recipes/wip/net/bittorrent/transg-tui/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/PanAeon/transg-tui" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/net/bittorrent/transmission-daemon/recipe.toml b/recipes/wip/net/bittorrent/transmission-daemon/recipe.toml new file mode 100644 index 00000000..867a34f8 --- /dev/null +++ b/recipes/wip/net/bittorrent/transmission-daemon/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +# build instructions: https://github.com/transmission/transmission/blob/main/docs/Building-Transmission.md#on-unix +[source] +tar = "https://github.com/transmission/transmission/releases/download/4.0.6/transmission-4.0.6.tar.xz" +[build] +template = "cmake" +dependencies = [ + "openssl1", + "curl", +] diff --git a/recipes/wip/net/bittorrent/transmission-gtk/recipe.toml b/recipes/wip/net/bittorrent/transmission-gtk/recipe.toml new file mode 100644 index 00000000..d4646b4e --- /dev/null +++ b/recipes/wip/net/bittorrent/transmission-gtk/recipe.toml @@ -0,0 +1,11 @@ +#TODO not compiled or tested +# build instructions: https://github.com/transmission/transmission/blob/main/docs/Building-Transmission.md#on-unix +[source] +tar = "https://github.com/transmission/transmission/releases/download/4.0.6/transmission-4.0.6.tar.xz" +[build] +template = "cmake" +dependencies = [ + "openssl1", + "curl", + "gtk3mm", +] diff --git a/recipes/wip/net/bittorrent/webtorrent-cli/recipe.toml b/recipes/wip/net/bittorrent/webtorrent-cli/recipe.toml new file mode 100644 index 00000000..d0eaa70e --- /dev/null +++ b/recipes/wip/net/bittorrent/webtorrent-cli/recipe.toml @@ -0,0 +1,14 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/webtorrent/webtorrent-cli" +rev = "v5.1.3" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr/bin/webtorrent-cli-dir +cp -rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}"/usr/bin/webtorrent-cli-dir +echo "#!/usr/bin/env sh \n cd /usr/bin/webtorrent-cli-dir/webtorrent-cli \n npx webtorrent-cli" > "${COOKBOOK_STAGE}"/usr/bin/webtorrent-cli +chmod a+x "${COOKBOOK_STAGE}"/usr/bin/webtorrent-cli +""" +[package] +dependencies = ["nodejs24"] diff --git a/recipes/wip/net/chat/bitchat-tui/recipe.toml b/recipes/wip/net/chat/bitchat-tui/recipe.toml new file mode 100644 index 00000000..01c5de94 --- /dev/null +++ b/recipes/wip/net/chat/bitchat-tui/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/vaibhav-mattoo/bitchat-tui" +[build] +template = "cargo" diff --git a/recipes/wip/net/chat/halloy/recipe.toml b/recipes/wip/net/chat/halloy/recipe.toml new file mode 100644 index 00000000..a25cebc5 --- /dev/null +++ b/recipes/wip/net/chat/halloy/recipe.toml @@ -0,0 +1,8 @@ +#TODO xdg-home crate error (after cargo update) +[source] +git = "https://github.com/squidowl/halloy" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/net/chat/iamb/recipe.toml b/recipes/wip/net/chat/iamb/recipe.toml new file mode 100644 index 00000000..35120e3c --- /dev/null +++ b/recipes/wip/net/chat/iamb/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/ulyssa/iamb" +[build] +template = "cargo" diff --git a/recipes/wip/net/chat/jami/recipe.toml b/recipes/wip/net/chat/jami/recipe.toml new file mode 100644 index 00000000..f3f66a3b --- /dev/null +++ b/recipes/wip/net/chat/jami/recipe.toml @@ -0,0 +1,39 @@ +#TODO missing cross-compilation variables +# build instructions - https://git.jami.net/savoirfairelinux/jami-client-qt/-/blob/master/INSTALL.md +# dependencies - https://docs.jami.net/en_US/build/dependencies.html +[source] +git = "https://git.jami.net/savoirfairelinux/jami-client-qt" +rev = "91475c3a3f316b1b674a8fbe453f9d0dd7ef444e" +[build] +template = "custom" +dependencies = [ + "ffmpeg6", + "boost", + "expat", + "gnutls3", + "libopus", + "pcre", + "pulseaudio", + "openssl1", + "speex", + "speexdsp", + "libuuid", + "libfmt", + "libarchive", + "libgit2", + "libnettle", + "zlib", + "libnotify", + "libqrencode", + "qt6-base", + "qt6-declarative", + "qt6-graphicaleffects", + "qt6-multimedia", + "qt6-networkauth", + "qt6-svg", + "qt6-tools", + "qt6-webengine", +] +script = """ +./build.py --install +""" diff --git a/recipes/wip/net/chat/pidgin/recipe.toml b/recipes/wip/net/chat/pidgin/recipe.toml new file mode 100644 index 00000000..8ac64716 --- /dev/null +++ b/recipes/wip/net/chat/pidgin/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing dependencies +[source] +tar = "https://sourceforge.net/projects/pidgin/files/Pidgin/2.14.12/pidgin-2.14.12.tar.bz2" +[build] +template = "configure" diff --git a/recipes/wip/net/chat/telegram-desktop/recipe.toml b/recipes/wip/net/chat/telegram-desktop/recipe.toml new file mode 100644 index 00000000..e8da7122 --- /dev/null +++ b/recipes/wip/net/chat/telegram-desktop/recipe.toml @@ -0,0 +1,23 @@ +#TODO not compiled or tested +# lacking build instructions +[source] +tar = "https://github.com/telegramdesktop/tdesktop/releases/download/v6.2.3/tdesktop-6.2.3-full.tar.gz" +[build] +template = "cmake" +dependencies = [ + "qt6-svg", + "qt6-imageformats", + "fontconfig", + "freetype2", + "gobject-introspection", + "glib", + "expat", + "libuuid", + "libpng", + "zlib", + "libffi", + "libpcre", + "libbsd", + "libmd", + "libbrotli", +] diff --git a/recipes/wip/net/chat/termchat/recipe.toml b/recipes/wip/net/chat/termchat/recipe.toml new file mode 100644 index 00000000..9e5675c9 --- /dev/null +++ b/recipes/wip/net/chat/termchat/recipe.toml @@ -0,0 +1,8 @@ +#TODO update the mio crate to 0.8.x +[source] +git = "https://github.com/lemunozm/termchat" +[build] +template = "custom" +script = """ +cookbook_cargo --all-features +""" diff --git a/recipes/wip/net/chat/tiny/recipe.toml b/recipes/wip/net/chat/tiny/recipe.toml new file mode 100644 index 00000000..e262610b --- /dev/null +++ b/recipes/wip/net/chat/tiny/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested (after cargo update and a patch on ring) +[source] +git = "https://github.com/osa1/tiny" +[build] +template = "custom" +script = """ +cookbook_cargo_packages tiny +""" diff --git a/recipes/wip/net/download/aim/recipe.toml b/recipes/wip/net/download/aim/recipe.toml new file mode 100644 index 00000000..e6300a9a --- /dev/null +++ b/recipes/wip/net/download/aim/recipe.toml @@ -0,0 +1,13 @@ +#TODO openssl-sys crate compilation error +[source] +git = "https://github.com/mihaigalos/aim" +[build] +dependencies = [ + "openssl1", +] +template = "custom" +script = """ +export OPENSSL_DIR="${COOKBOOK_SYSROOT}" +export OPENSSL_STATIC="true" +cookbook_cargo +""" diff --git a/recipes/wip/net/download/anime-downloader/recipe.toml b/recipes/wip/net/download/anime-downloader/recipe.toml new file mode 100644 index 00000000..72ac5ab9 --- /dev/null +++ b/recipes/wip/net/download/anime-downloader/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/B0SEmc/Anime-Downloader" +[build] +template = "cargo" diff --git a/recipes/wip/net/download/apkeep/recipe.toml b/recipes/wip/net/download/apkeep/recipe.toml new file mode 100644 index 00000000..97f907f9 --- /dev/null +++ b/recipes/wip/net/download/apkeep/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/EFForg/apkeep" +[build] +template = "cargo" diff --git a/recipes/wip/net/download/aria2/recipe.toml b/recipes/wip/net/download/aria2/recipe.toml new file mode 100644 index 00000000..165ff911 --- /dev/null +++ b/recipes/wip/net/download/aria2/recipe.toml @@ -0,0 +1,11 @@ +#TODO make dependencies work +[source] +tar = "https://github.com/aria2/aria2/releases/download/release-1.37.0/aria2-1.37.0.tar.xz" +[build] +template = "configure" +dependencies = [ + "openssl1", + "zlib", + "libxml2", + "libgcrypt", +] diff --git a/recipes/wip/net/download/curlio/recipe.toml b/recipes/wip/net/download/curlio/recipe.toml new file mode 100644 index 00000000..b80fc8c6 --- /dev/null +++ b/recipes/wip/net/download/curlio/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/Kei-K23/curlio" +[build] +template = "cargo" diff --git a/recipes/wip/net/download/kelpsget/recipe.toml b/recipes/wip/net/download/kelpsget/recipe.toml new file mode 100644 index 00000000..c02bd15b --- /dev/null +++ b/recipes/wip/net/download/kelpsget/recipe.toml @@ -0,0 +1,9 @@ +#TODO not compiled or tested +#TODO require transmission-daemon +[source] +git = "https://github.com/davimf721/KelpsGet" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/net/download/kitget/recipe.toml b/recipes/wip/net/download/kitget/recipe.toml new file mode 100644 index 00000000..66d63e41 --- /dev/null +++ b/recipes/wip/net/download/kitget/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/adamperkowski/kitget" +[build] +template = "cargo" diff --git a/recipes/wip/net/download/parabolic/recipe.toml b/recipes/wip/net/download/parabolic/recipe.toml new file mode 100644 index 00000000..4c3104fa --- /dev/null +++ b/recipes/wip/net/download/parabolic/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +#TODO it uses vcpkg for dependency management, see: https://github.com/NickvisionApps/parabolic#building-manually +[source] +git = "https://github.com/NickvisionApps/Parabolic" +rev = "7309661a25948c56f25383c464a1b284bdeb00e7" +[build] +template = "cmake" diff --git a/recipes/wip/net/download/rusty-psn-cli/recipe.toml b/recipes/wip/net/download/rusty-psn-cli/recipe.toml new file mode 100644 index 00000000..587821f8 --- /dev/null +++ b/recipes/wip/net/download/rusty-psn-cli/recipe.toml @@ -0,0 +1,11 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/RainbowCookie32/rusty-psn" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +cookbook_cargo --features cli +""" diff --git a/recipes/wip/net/download/rusty-psn-gui/recipe.toml b/recipes/wip/net/download/rusty-psn-gui/recipe.toml new file mode 100644 index 00000000..b4c26086 --- /dev/null +++ b/recipes/wip/net/download/rusty-psn-gui/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/RainbowCookie32/rusty-psn" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/net/download/uget/recipe.toml b/recipes/wip/net/download/uget/recipe.toml new file mode 100644 index 00000000..bf9dcce9 --- /dev/null +++ b/recipes/wip/net/download/uget/recipe.toml @@ -0,0 +1,9 @@ +#TODO make gtk3 work +[source] +tar = "https://sourceforge.net/projects/urlget/files/uget%20%28stable%29/2.2.3/uget-2.2.3-1.tar.gz/download" +[build] +template = "configure" +dependencies = [ + "gtk3", + "curl", +] diff --git a/recipes/wip/net/download/wget2/recipe.toml b/recipes/wip/net/download/wget2/recipe.toml new file mode 100644 index 00000000..74c362ec --- /dev/null +++ b/recipes/wip/net/download/wget2/recipe.toml @@ -0,0 +1,15 @@ +#TODO make dependencies work +[source] +tar = "https://ftp.gnu.org/gnu/wget/wget2-2.0.1.tar.gz" +[build] +template = "configure" +dependencies = [ + "gettext", + "libiconv", + "zlib", + "pcre", + "gnutls", + "bzip2", + "xz", + "zstd", +] diff --git a/recipes/wip/net/download/yaydl/recipe.toml b/recipes/wip/net/download/yaydl/recipe.toml new file mode 100644 index 00000000..df880e5f --- /dev/null +++ b/recipes/wip/net/download/yaydl/recipe.toml @@ -0,0 +1,8 @@ +#TODO compilation error (after cargo update) +[source] +git = "https://github.com/dertuxmalwieder/yaydl" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/net/download/youtube-tui/recipe.toml b/recipes/wip/net/download/youtube-tui/recipe.toml new file mode 100644 index 00000000..5306f25d --- /dev/null +++ b/recipes/wip/net/download/youtube-tui/recipe.toml @@ -0,0 +1,9 @@ +#TODO openssl error +[source] +git = "https://github.com/Siriusmart/youtube-tui" +[build] +template = "cargo" +cargoflags = "--no-default-features" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/net/download/yt-dlp/recipe.toml b/recipes/wip/net/download/yt-dlp/recipe.toml new file mode 100644 index 00000000..fcf7cba3 --- /dev/null +++ b/recipes/wip/net/download/yt-dlp/recipe.toml @@ -0,0 +1,12 @@ +#TODO not compiled or tested +[source] +tar = "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.tar.gz" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr/bin/yt-dlp-dir +cp -rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}"/usr/share/yt-dlp +echo "#!/usr/bin/env sh \n /usr/bin/yt-dlp-dir/yt-dlp.sh" > "${COOKBOOK_STAGE}"/usr/bin/yt-dlp +chmod a+x "${COOKBOOK_STAGE}"/usr/bin/yt-dlp-dir/yt-dlp.sh +chmod a+x "${COOKBOOK_STAGE}"/usr/bin/yt-dlp +""" diff --git a/recipes/wip/net/email/neverest/recipe.toml b/recipes/wip/net/email/neverest/recipe.toml new file mode 100644 index 00000000..7562958c --- /dev/null +++ b/recipes/wip/net/email/neverest/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/pimalaya/neverest" +[build] +template = "cargo" diff --git a/recipes/wip/net/email/thunderbird/mozconfig b/recipes/wip/net/email/thunderbird/mozconfig new file mode 100644 index 00000000..27bc1b6b --- /dev/null +++ b/recipes/wip/net/email/thunderbird/mozconfig @@ -0,0 +1,8 @@ +ac_add_options --enable-project=comm/mail +ac_add_options --prefix="{COOKBOOK_STAGE}/usr" +ac_add_options --enable-release +ac_add_options --target="{TARGET}" +ac_add_options --enable-bootstrap +ac_add_options --disable-jack +ac_add_options --disable-crashreporter +ac_add_options --disable-updater diff --git a/recipes/wip/net/email/thunderbird/recipe.toml b/recipes/wip/net/email/thunderbird/recipe.toml new file mode 100644 index 00000000..bfb6dde0 --- /dev/null +++ b/recipes/wip/net/email/thunderbird/recipe.toml @@ -0,0 +1,14 @@ +#TODO missing cross-compilation variables and a command to move the executable to the package +# build instructions - https://developer.thunderbird.net/thunderbird-development/building-thunderbird +[source] +tar = "https://archive.mozilla.org/pub/thunderbird/releases/128.0.1esr/source/thunderbird-128.0.1esr.source.tar.xz" +[build] +template = "custom" +dependencies = [ + "library1", +] +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr +export MOZCONFIG="{COOKBOOK_RECIPE}/mozconfig" +./mach build +""" diff --git a/recipes/wip/net/ftp/filezilla-client/recipe.toml b/recipes/wip/net/ftp/filezilla-client/recipe.toml new file mode 100644 index 00000000..34454405 --- /dev/null +++ b/recipes/wip/net/ftp/filezilla-client/recipe.toml @@ -0,0 +1,12 @@ +#TODO not compiled or tested +# build intructions - https://wiki.filezilla-project.org/Client_Compile +[source] +tar = "https://dl3.cdn.filezilla-project.org/client/FileZilla_3.67.1_src.tar.xz?h=HG1-LUZAqtxJaEQhlQ9oNg&x=1722821782" +[build] +template = "configure" +dependencies = [ + "libfilezilla", + "gnutls3", + "libidn", + "dbus", +] diff --git a/recipes/wip/net/ftp/filezilla-server/recipe.toml b/recipes/wip/net/ftp/filezilla-server/recipe.toml new file mode 100644 index 00000000..f2f7920b --- /dev/null +++ b/recipes/wip/net/ftp/filezilla-server/recipe.toml @@ -0,0 +1,11 @@ +#TODO not compiled or tested +# build intructions - https://wiki.filezilla-project.org/Client_Compile +[source] +tar = "https://dl2.cdn.filezilla-project.org/server/FileZilla_Server_1.8.2_src.tar.xz?h=05HQOZtMOkV85GW9u3rrsg&x=1722821856" +[build] +template = "configure" +dependencies = [ + "libfilezilla", + "gnutls3", + "libidn", +] diff --git a/recipes/wip/net/ftp/unftp/recipe.toml b/recipes/wip/net/ftp/unftp/recipe.toml new file mode 100644 index 00000000..b7c4fcf2 --- /dev/null +++ b/recipes/wip/net/ftp/unftp/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/bolcom/unFTP" +[build] +template = "cargo" diff --git a/recipes/wip/net/gemini/lagrange/recipe.toml b/recipes/wip/net/gemini/lagrange/recipe.toml new file mode 100644 index 00000000..db5f9d19 --- /dev/null +++ b/recipes/wip/net/gemini/lagrange/recipe.toml @@ -0,0 +1,20 @@ +#TODO not compiled or tested +# build instructions: https://github.com/skyjake/lagrange#how-to-compile +#TODO mpg123 dependency broken +[source] +tar = "https://git.skyjake.fi/gemini/lagrange/releases/download/v1.19.3/lagrange-1.19.3.tar.gz" +[build] +template = "cmake" +cmakeflags = [ + "-DENABLE_MPG123=OFF" +] +dependencies = [ + "sdl2", + "openssl1", + "zlib", + "harfbuzz", + "pcre", + "fribidi", + "libunistring", + #"mpg123", +] diff --git a/recipes/wip/net/http/apache-httpd/recipe.toml b/recipes/wip/net/http/apache-httpd/recipe.toml new file mode 100644 index 00000000..b882a489 --- /dev/null +++ b/recipes/wip/net/http/apache-httpd/recipe.toml @@ -0,0 +1,50 @@ +#TODO compiles but requires setgroups syscall at startup +[source] +tar="https://dlcdn.apache.org/httpd/httpd-2.4.61.tar.bz2" +patches = [ + "redox.patch", +] +[build] +dependencies = [ + "apr", + "apr-util", + "curl", + "expat", + "gdbm", + "libuuid", + "libxcrypt", + "libxml2", + "openssl1", + "pcre", + "zlib", +] + +template = "custom" +script = """ +# cookbook_configure + +export COOKBOOK_MAKE_JOBS=1 +export CPPFLAGS="$CPPFLAGS -I${COOKBOOK_SYSROOT}/include/apr-1 -DDEBUG=1" +export LTFLAGS="$LTFLAGS -Wall" +COOKBOOK_CONFIGURE_FLAGS=( + --build=$(/usr/bin/cc -dumpmachine) + --host=${TARGET} + --with-apr=$COOKBOOK_SYSROOT + --with-apr-util=$COOKBOOK_SYSROOT + --enable-unixd=static + --enable-authz_core=static + --enable-authz_host=static + ac_cv_prog_PCRE_CONFIG=$COOKBOOK_SYSROOT/bin/pcre-config + ap_cv_void_ptr_lt_long=no +) +cd ${COOKBOOK_SOURCE} +sed -i build/rules.mk.in -e 's/--mode=compile/& --tag=CC/' +sed -i build/rules.mk.in -e 's/--mode=link/& --tag=CC/' +"${COOKBOOK_CONFIGURE}" "${COOKBOOK_CONFIGURE_FLAGS[@]}" +"${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}" +"${COOKBOOK_MAKE}" install DESTDIR="${COOKBOOK_STAGE}" +sed -s 's/^LoadModule /# &/' -i ${COOKBOOK_STAGE}/usr/local/apache2/conf/httpd.conf +sed -s 's/^User daemon/User user/' -i ${COOKBOOK_STAGE}/usr/local/apache2/conf/httpd.conf +sed -s 's/^Group daemon/Group #1000/' -i ${COOKBOOK_STAGE}/usr/local/apache2/conf/httpd.conf +touch ${COOKBOOK_STAGE}/usr/local/apache2/logs/keep_dir +""" diff --git a/recipes/wip/net/http/apache-httpd/redox.patch b/recipes/wip/net/http/apache-httpd/redox.patch new file mode 100644 index 00000000..c31d17e0 --- /dev/null +++ b/recipes/wip/net/http/apache-httpd/redox.patch @@ -0,0 +1,436 @@ +diff --git a/Makefile.in b/Makefile.in +index ebf7a16..296e661 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -1,5 +1,5 @@ + +-SUBDIRS = srclib os server modules support ++SUBDIRS = srclib os server modules + CLEAN_SUBDIRS = test + + PROGRAM_NAME = $(progname) +@@ -7,9 +7,10 @@ PROGRAM_SOURCES = modules.c + PROGRAM_LDADD = buildmark.o $(HTTPD_LDFLAGS) $(PROGRAM_DEPENDENCIES) $(PCRE_LIBS) $(EXTRA_LIBS) $(AP_LIBS) $(LIBS) + PROGRAM_PRELINK = $(COMPILE) -c $(top_srcdir)/server/buildmark.c + PROGRAM_DEPENDENCIES = \ ++ -lc \ ++ $(MPM_LIB) \ + server/libmain.la \ + $(BUILTIN_LIBS) \ +- $(MPM_LIB) \ + os/$(OS_DIR)/libos.la + + sbin_PROGRAMS = $(PROGRAM_NAME) +@@ -290,28 +291,7 @@ install-man: + cd $(DESTDIR)$(manualdir) && find . -name ".svn" -type d -print | xargs rm -rf 2>/dev/null || true; \ + fi + +-install-suexec: install-suexec-$(INSTALL_SUEXEC) +- +-install-suexec-binary: +- @if test -f $(builddir)/support/suexec; then \ +- test -d $(DESTDIR)$(sbindir) || $(MKINSTALLDIRS) $(DESTDIR)$(sbindir); \ +- $(INSTALL_PROGRAM) $(top_builddir)/support/suexec $(DESTDIR)$(sbindir); \ +- fi +- +-install-suexec-setuid: install-suexec-binary +- @if test -f $(builddir)/support/suexec; then \ +- chmod 4755 $(DESTDIR)$(sbindir)/suexec; \ +- fi +- +-install-suexec-caps: install-suexec-binary +- @if test -f $(builddir)/support/suexec; then \ +- setcap 'cap_setuid,cap_setgid+pe' $(DESTDIR)$(sbindir)/suexec; \ +- fi +- +-suexec: +- cd support && $(MAKE) suexec +- +-x-local-distclean: ++-local-distclean: + @rm -rf autom4te.cache + + # XXX: This looks awfully platform-specific [read: bad form and style] +diff --git a/configure b/configure +index 6eb60fd..46b490e 100755 +--- a/configure ++++ b/configure +@@ -4998,7 +4998,7 @@ else + done + if test $apr_addto_duplicate = "0"; then + test "x$silent" != "xyes" && echo " adding \"$i\" to LDFLAGS" +- LDFLAGS="$LDFLAGS $i" ++ # LDFLAGS="$LDFLAGS $i" + fi + done + fi +@@ -5006,6 +5006,7 @@ else + APU_BINDIR=`$apu_config --bindir` + APU_INCLUDEDIR=`$apu_config --includedir` + APU_INCLUDES=`$apu_config --includes` ++ echo "$apu_config --includes" = "$APU_INCLUDES" + APU_VERSION=`$apu_config --version` + APU_CONFIG="$APU_BINDIR/apu-`echo ${APU_VERSION} | sed 's,\..*,,'`-config" + fi +@@ -6268,9 +6269,9 @@ $as_echo "$as_me: Using external PCRE library from $PCRE_CONFIG" >&6;} + + if test "x$PCRE_LIBS" = "x"; then + test "x$silent" != "xyes" && echo " setting PCRE_LIBS to \"`$PCRE_CONFIG --libs8 2>/dev/null || $PCRE_CONFIG --libs`\"" +- PCRE_LIBS="`$PCRE_CONFIG --libs8 2>/dev/null || $PCRE_CONFIG --libs`" ++ PCRE_LIBS="-lpcre" + else +- apr_addto_bugger="`$PCRE_CONFIG --libs8 2>/dev/null || $PCRE_CONFIG --libs`" ++ apr_addto_bugger="-lpcre" + for i in $apr_addto_bugger; do + apr_addto_duplicate="0" + for j in $PCRE_LIBS; do +@@ -40691,9 +40692,11 @@ fi + + + if test x${apu_found} != xobsolete; then +- AP_LIBS="$AP_LIBS `$apu_config --avoid-ldap --link-libtool --libs`" ++ # AP_LIBS="$AP_LIBS `$apu_config --avoid-ldap --link-libtool --libs`" -ldb-5.3 ++ AP_LIBS="$AP_LIBS -laprutil-1 -lgdbm -lexpat" + fi +-AP_LIBS="$AP_LIBS `$apr_config --link-libtool --libs`" ++# AP_LIBS="$AP_LIBS `$apr_config --link-libtool --libs`" ++AP_LIBS="$AP_LIBS -lapr-1 -luuid -lrt -lcrypt -lpthread -ldl" + + APACHE_VAR_SUBST="$APACHE_VAR_SUBST AP_LIBS" + +diff --git a/os/unix/unixd.c b/os/unix/unixd.c +index 0245720..cd241d2 100644 +--- a/os/unix/unixd.c ++++ b/os/unix/unixd.c +@@ -231,31 +231,6 @@ AP_DECLARE(apr_status_t) ap_unixd_set_proc_mutex_perms(apr_proc_mutex_t *pmutex) + apr_lockmech_e mech = proc_mutex_mech(pmutex); + + switch(mech) { +-#if APR_HAS_SYSVSEM_SERIALIZE +- case APR_LOCK_SYSVSEM: +- { +- apr_os_proc_mutex_t ospmutex; +-#if !APR_HAVE_UNION_SEMUN +- union semun { +- long val; +- struct semid_ds *buf; +- unsigned short *array; +- }; +-#endif +- union semun ick; +- struct semid_ds buf = { { 0 } }; +- +- apr_os_proc_mutex_get(&ospmutex, pmutex); +- buf.sem_perm.uid = ap_unixd_config.user_id; +- buf.sem_perm.gid = ap_unixd_config.group_id; +- buf.sem_perm.mode = 0600; +- ick.buf = &buf; +- if (semctl(ospmutex.crossproc, 0, IPC_SET, ick) < 0) { +- return errno; +- } +- } +- break; +-#endif + #if APR_HAS_FLOCK_SERIALIZE + case APR_LOCK_FLOCK: + { +diff --git a/server/Makefile.in b/server/Makefile.in +index 8111877..0449553 100644 +--- a/server/Makefile.in ++++ b/server/Makefile.in +@@ -1,5 +1,5 @@ + +-CLEAN_TARGETS = gen_test_char test_char.h \ ++CLEAN_TARGETS = \ + ApacheCoreOS2.def httpd.exp export_files \ + exports.c export_vars.h + +@@ -24,12 +24,6 @@ TARGETS = delete-exports $(LTLIBRARY_NAME) $(CORE_IMPLIB_FILE) export_vars.h htt + include $(top_builddir)/build/rules.mk + include $(top_srcdir)/build/library.mk + +-gen_test_char_OBJECTS = gen_test_char.lo +-gen_test_char: $(gen_test_char_OBJECTS) +- $(LINK) $(EXTRA_LDFLAGS) $(gen_test_char_OBJECTS) $(EXTRA_LIBS) +- +-test_char.h: gen_test_char +- ./gen_test_char > test_char.h + + util.lo: test_char.h + +diff --git a/server/gen_test_char.c b/server/gen_test_char.c +deleted file mode 100644 +index 248216b..0000000 +--- a/server/gen_test_char.c ++++ /dev/null +@@ -1,192 +0,0 @@ +-/* Licensed to the Apache Software Foundation (ASF) under one or more +- * contributor license agreements. See the NOTICE file distributed with +- * this work for additional information regarding copyright ownership. +- * The ASF licenses this file to You under the Apache License, Version 2.0 +- * (the "License"); you may not use this file except in compliance with +- * the License. You may obtain a copy of the License at +- * +- * http://www.apache.org/licenses/LICENSE-2.0 +- * +- * Unless required by applicable law or agreed to in writing, software +- * distributed under the License is distributed on an "AS IS" BASIS, +- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +- * See the License for the specific language governing permissions and +- * limitations under the License. +- */ +- +-#ifdef CROSS_COMPILE +- +-#include +-#define apr_isalnum(c) (isalnum(((unsigned char)(c)))) +-#define apr_isalpha(c) (isalpha(((unsigned char)(c)))) +-#define apr_iscntrl(c) (iscntrl(((unsigned char)(c)))) +-#define apr_isprint(c) (isprint(((unsigned char)(c)))) +-#define APR_HAVE_STDIO_H 1 +-#define APR_HAVE_STRING_H 1 +- +-#else +- +-#include "apr.h" +-#include "apr_lib.h" +- +-#endif +- +-#if defined(WIN32) || defined(OS2) +-#define NEED_ENHANCED_ESCAPES +-#endif +- +-#if APR_HAVE_STDIO_H +-#include +-#endif +-#if APR_HAVE_STRING_H +-#include +-#endif +- +-/* A bunch of functions in util.c scan strings looking for certain characters. +- * To make that more efficient we encode a lookup table. +- */ +-#define T_ESCAPE_SHELL_CMD (0x01) +-#define T_ESCAPE_PATH_SEGMENT (0x02) +-#define T_OS_ESCAPE_PATH (0x04) +-#define T_HTTP_TOKEN_STOP (0x08) +-#define T_ESCAPE_LOGITEM (0x10) +-#define T_ESCAPE_FORENSIC (0x20) +-#define T_ESCAPE_URLENCODED (0x40) +-#define T_HTTP_CTRLS (0x80) +-#define T_VCHAR_OBSTEXT (0x100) +-#define T_URI_UNRESERVED (0x200) +- +-int main(int argc, char *argv[]) +-{ +- unsigned c; +- unsigned short flags; +- +- printf("/* this file is automatically generated by gen_test_char, " +- "do not edit */\n" +- "#define T_ESCAPE_SHELL_CMD (%u)\n" +- "#define T_ESCAPE_PATH_SEGMENT (%u)\n" +- "#define T_OS_ESCAPE_PATH (%u)\n" +- "#define T_HTTP_TOKEN_STOP (%u)\n" +- "#define T_ESCAPE_LOGITEM (%u)\n" +- "#define T_ESCAPE_FORENSIC (%u)\n" +- "#define T_ESCAPE_URLENCODED (%u)\n" +- "#define T_HTTP_CTRLS (%u)\n" +- "#define T_VCHAR_OBSTEXT (%u)\n" +- "#define T_URI_UNRESERVED (%u)\n" +- "\n" +- "static const unsigned short test_char_table[256] = {", +- T_ESCAPE_SHELL_CMD, +- T_ESCAPE_PATH_SEGMENT, +- T_OS_ESCAPE_PATH, +- T_HTTP_TOKEN_STOP, +- T_ESCAPE_LOGITEM, +- T_ESCAPE_FORENSIC, +- T_ESCAPE_URLENCODED, +- T_HTTP_CTRLS, +- T_VCHAR_OBSTEXT, +- T_URI_UNRESERVED +- ); +- +- for (c = 0; c < 256; ++c) { +- flags = 0; +- if (c % 8 == 0) +- printf("\n "); +- +- /* escape_shell_cmd */ +-#ifdef NEED_ENHANCED_ESCAPES +- /* Win32/OS2 have many of the same vulnerable characters +- * as Unix sh, plus the carriage return and percent char. +- * The proper escaping of these characters varies from unix +- * since Win32/OS2 use carets or doubled-double quotes, +- * and neither lf nor cr can be escaped. We escape unix +- * specific as well, to assure that cross-compiled unix +- * applications behave similarly when invoked on win32/os2. +- * +- * Rem please keep in-sync with apr's list in win32/filesys.c +- */ +- if (c && strchr("&;`'\"|*?~<>^()[]{}$\\\n\r%", c)) { +- flags |= T_ESCAPE_SHELL_CMD; +- } +-#else +- if (c && strchr("&;`'\"|*?~<>^()[]{}$\\\n", c)) { +- flags |= T_ESCAPE_SHELL_CMD; +- } +-#endif +- +- if (!apr_isalnum(c) && !strchr("$-_.+!*'(),:@&=~", c)) { +- flags |= T_ESCAPE_PATH_SEGMENT; +- } +- +- if (!apr_isalnum(c) && !strchr("$-_.+!*'(),:;@&=/~", c)) { +- flags |= T_OS_ESCAPE_PATH; +- } +- +- if (!apr_isalnum(c) && !strchr(".-*_ ", c)) { +- flags |= T_ESCAPE_URLENCODED; +- } +- +- /* Stop for any non-'token' character, including ctrls, obs-text, +- * and "tspecials" (RFC2068) a.k.a. "separators" (RFC2616), which +- * is easier to express as characters remaining in the ASCII token set +- */ +- if (!c || !(apr_isalnum(c) || strchr("!#$%&'*+-.^_`|~", c))) { +- flags |= T_HTTP_TOKEN_STOP; +- } +- +- /* Catch CTRLs other than VCHAR, HT and SP, and obs-text (RFC7230 3.2) +- * This includes only the C0 plane, not C1 (which is obs-text itself.) +- * XXX: We should verify that all ASCII C0 ctrls/DEL corresponding to +- * the current EBCDIC translation are captured, and ASCII C1 ctrls +- * corresponding are all permitted (as they fall under obs-text rule) +- */ +- if (!c || (apr_iscntrl(c) && c != '\t')) { +- flags |= T_HTTP_CTRLS; +- } +- +- /* From RFC3986, the specific sets of gen-delims, sub-delims (2.2), +- * and unreserved (2.3) that are possible somewhere within a URI. +- * Spec requires all others to be %XX encoded, including obs-text. +- */ +- if (c && !apr_iscntrl(c) && c != ' ') { +- flags |= T_VCHAR_OBSTEXT; +- } +- +- /* For logging, escape all control characters, +- * double quotes (because they delimit the request in the log file) +- * backslashes (because we use backslash for escaping) +- * and 8-bit chars with the high bit set +- */ +- if (c && (!apr_isprint(c) || c == '"' || c == '\\' || apr_iscntrl(c))) { +- flags |= T_ESCAPE_LOGITEM; +- } +- +- /* For forensic logging, escape all control characters, top bit set, +- * :, | (used as delimiters) and % (used for escaping). +- */ +- if (!apr_isprint(c) || c == ':' || c == '|' || c == '%' +- || apr_iscntrl(c) || !c) { +- flags |= T_ESCAPE_FORENSIC; +- } +- +- /* Characters in the RFC 3986 "unreserved" set. +- * https://datatracker.ietf.org/doc/html/rfc3986#section-2.3 */ +- if (c && (apr_isalnum(c) || strchr("-._~", c))) { +- flags |= T_URI_UNRESERVED; +- } +- +- printf("0x%03x%c", flags, (c < 255) ? ',' : ' '); +- } +- +- printf("\n};\n\n"); +- +- printf( +- "/* we assume the folks using this ensure 0 <= c < 256... which means\n" +- " * you need a cast to (unsigned char) first, you can't just plug a\n" +- " * char in here and get it to work, because if char is signed then it\n" +- " * will first be sign extended.\n" +- " */\n" +- "#define TEST_CHAR(c, f) (test_char_table[(unsigned char)(c)] & (f))\n" +- ); +- +- return 0; +-} +diff --git a/server/mpm_fdqueue.c b/server/mpm_fdqueue.c +index 3697ca7..9f9d36e 100644 +--- a/server/mpm_fdqueue.c ++++ b/server/mpm_fdqueue.c +@@ -17,6 +17,7 @@ + #include "mpm_fdqueue.h" + + #if APR_HAS_THREADS ++#warning "apr_has_threads" + + #include + +@@ -531,4 +532,6 @@ apr_status_t ap_queue_term(fd_queue_t *queue) + return queue_interrupt(queue, 1, 1); + } + ++#else ++#warning "no apr_has_threads" + #endif /* APR_HAS_THREADS */ +diff --git a/server/test_char.h b/server/test_char.h +new file mode 100644 +index 0000000..ebd7395 +--- /dev/null ++++ b/server/test_char.h +@@ -0,0 +1,53 @@ ++/* this file is automatically generated by gen_test_char, do not edit */ ++#define T_ESCAPE_SHELL_CMD (1) ++#define T_ESCAPE_PATH_SEGMENT (2) ++#define T_OS_ESCAPE_PATH (4) ++#define T_HTTP_TOKEN_STOP (8) ++#define T_ESCAPE_LOGITEM (16) ++#define T_ESCAPE_FORENSIC (32) ++#define T_ESCAPE_URLENCODED (64) ++#define T_HTTP_CTRLS (128) ++#define T_VCHAR_OBSTEXT (256) ++#define T_URI_UNRESERVED (512) ++ ++static const unsigned short test_char_table[256] = { ++ 0x0a8,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe, ++ 0x0fe,0x07e,0x0ff,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe, ++ 0x0fe,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe, ++ 0x0fe,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe,0x0fe, ++ 0x00e,0x140,0x15f,0x146,0x141,0x166,0x141,0x141, ++ 0x149,0x149,0x101,0x140,0x148,0x300,0x300,0x14a, ++ 0x300,0x300,0x300,0x300,0x300,0x300,0x300,0x300, ++ 0x300,0x300,0x168,0x14b,0x14f,0x148,0x14f,0x14f, ++ 0x148,0x300,0x300,0x300,0x300,0x300,0x300,0x300, ++ 0x300,0x300,0x300,0x300,0x300,0x300,0x300,0x300, ++ 0x300,0x300,0x300,0x300,0x300,0x300,0x300,0x300, ++ 0x300,0x300,0x300,0x14f,0x15f,0x14f,0x147,0x300, ++ 0x147,0x300,0x300,0x300,0x300,0x300,0x300,0x300, ++ 0x300,0x300,0x300,0x300,0x300,0x300,0x300,0x300, ++ 0x300,0x300,0x300,0x300,0x300,0x300,0x300,0x300, ++ 0x300,0x300,0x300,0x14f,0x167,0x14f,0x341,0x0fe, ++ 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, ++ 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, ++ 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, ++ 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, ++ 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, ++ 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, ++ 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, ++ 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, ++ 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, ++ 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, ++ 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, ++ 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, ++ 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, ++ 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, ++ 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e, ++ 0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e,0x17e ++}; ++ ++/* we assume the folks using this ensure 0 <= c < 256... which means ++ * you need a cast to (unsigned char) first, you can't just plug a ++ * char in here and get it to work, because if char is signed then it ++ * will first be sign extended. ++ */ ++#define TEST_CHAR(c, f) (test_char_table[(unsigned char)(c)] & (f)) diff --git a/recipes/wip/net/http/easyp/recipe.toml b/recipes/wip/net/http/easyp/recipe.toml new file mode 100644 index 00000000..12dfb766 --- /dev/null +++ b/recipes/wip/net/http/easyp/recipe.toml @@ -0,0 +1,9 @@ +#TODO not compiled or tested +#TODO determine how to configure this part of the deployment script: https://github.com/gmatht/easyp/blob/main/deploy.sh#L39 +[source] +git = "https://github.com/gmatht/easyp-crate" +[build] +template = "custom" +script = """ +cookbook_cargo +""" diff --git a/recipes/wip/net/http/ferron/recipe.toml b/recipes/wip/net/http/ferron/recipe.toml new file mode 100644 index 00000000..143aae51 --- /dev/null +++ b/recipes/wip/net/http/ferron/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/ferronweb/ferron" +[build] +template = "custom" +script = """ +cookbook_cargo_packages ferron +""" diff --git a/recipes/wip/net/http/freenginx/recipe.toml b/recipes/wip/net/http/freenginx/recipe.toml new file mode 100644 index 00000000..e96d4fb6 --- /dev/null +++ b/recipes/wip/net/http/freenginx/recipe.toml @@ -0,0 +1,5 @@ +#TODO can't find the options file +[source] +tar = "https://freenginx.org/download/nginx-1.24.0.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/net/http/http-server-rs/recipe.toml b/recipes/wip/net/http/http-server-rs/recipe.toml new file mode 100644 index 00000000..c537e0c5 --- /dev/null +++ b/recipes/wip/net/http/http-server-rs/recipe.toml @@ -0,0 +1,25 @@ +#TODO camino crate error +[source] +git = "https://github.com/http-server-rs/http-server" +# Broken since https://github.com/http-server-rs/http-server/pull/461 +# because it needs https://trunkrs.dev to work +rev = "9ffa604de326e013330bced8e36dd7a6945ecb9f" +shallow_clone = true + +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +DYNAMIC_INIT +export OPENSSL_DIR="${COOKBOOK_SYSROOT}" +export OPENSSL_STATIC="true" +"${COOKBOOK_CARGO}" build \ + --manifest-path "${COOKBOOK_SOURCE}/crates/file-explorer-plugin/Cargo.toml" \ + --locked ${build_flags} --lib +cp -v \ + "target/${TARGET}/${build_type}/libfile_explorer_plugin.dylib" \ + "${COOKBOOK_SOURCE}"/lib/http-server/inline/file_explorer.plugin.httprs +PACKAGE_PATH=crates/http-server cookbook_cargo --bin http-server +""" diff --git a/recipes/wip/net/http/lighttpd/recipe.toml b/recipes/wip/net/http/lighttpd/recipe.toml new file mode 100644 index 00000000..ea8d1852 --- /dev/null +++ b/recipes/wip/net/http/lighttpd/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +# build instructions: https://redmine.lighttpd.net/projects/lighttpd/wiki/InstallFromSource +[source] +tar = "https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.82.tar.xz" +[build] +template = "cmake" +dependencies = [ + "pcre2", + #"openssl3", # optional +] diff --git a/recipes/wip/net/http/miniserve/recipe.toml b/recipes/wip/net/http/miniserve/recipe.toml new file mode 100644 index 00000000..f5d95804 --- /dev/null +++ b/recipes/wip/net/http/miniserve/recipe.toml @@ -0,0 +1,12 @@ +#TODO missing libc:: socket-related imports + +[source] +git = "https://github.com/svenstaro/miniserve" + +[build] +dependencies = [ + "openssl1", + "zlib" +] +template = "cargo" + diff --git a/recipes/wip/net/http/quark/recipe.toml b/recipes/wip/net/http/quark/recipe.toml new file mode 100644 index 00000000..cbc312aa --- /dev/null +++ b/recipes/wip/net/http/quark/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing script for gnu make +[source] +git = "https://git.suckless.org/quark" +rev = "5ad0df91757fbc577ffceeca633725e962da345d.html" +[build] +template = "custom" diff --git a/recipes/wip/net/http/sozu/recipe.toml b/recipes/wip/net/http/sozu/recipe.toml new file mode 100644 index 00000000..bad5b103 --- /dev/null +++ b/recipes/wip/net/http/sozu/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/sozu-proxy/sozu" +[build] +template = "custom" +script = """ +cookbook_cargo_packages sozu +""" diff --git a/recipes/wip/net/http/sws/recipe.toml b/recipes/wip/net/http/sws/recipe.toml new file mode 100644 index 00000000..4530f9e4 --- /dev/null +++ b/recipes/wip/net/http/sws/recipe.toml @@ -0,0 +1,5 @@ +#TODO signal-hook crate error +[source] +git = "https://github.com/static-web-server/static-web-server" +[build] +template = "cargo" diff --git a/recipes/wip/net/http/thttpd/recipe.toml b/recipes/wip/net/http/thttpd/recipe.toml new file mode 100644 index 00000000..8946f7ac --- /dev/null +++ b/recipes/wip/net/http/thttpd/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: read the INSTALL file +[source] +tar = "https://acme.com/software/thttpd/thttpd-2.29.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/net/lan/lantun/recipe.toml b/recipes/wip/net/lan/lantun/recipe.toml new file mode 100644 index 00000000..91dab841 --- /dev/null +++ b/recipes/wip/net/lan/lantun/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/maxomatic458/lantun" +[build] +template = "custom" +script = """ +cookbook_cargo_packages lantun-cli +""" diff --git a/recipes/wip/net/lan/malai/recipe.toml b/recipes/wip/net/lan/malai/recipe.toml new file mode 100644 index 00000000..237c7259 --- /dev/null +++ b/recipes/wip/net/lan/malai/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/fastn-stack/kulfi" +[build] +template = "custom" +script = """ +cookbook_cargo_packages malai +""" diff --git a/recipes/wip/net/lan/zerotier/recipe.toml b/recipes/wip/net/lan/zerotier/recipe.toml new file mode 100644 index 00000000..cbaaa9ae --- /dev/null +++ b/recipes/wip/net/lan/zerotier/recipe.toml @@ -0,0 +1,9 @@ +#TODO missing script for "make", see https://github.com/zerotier/ZeroTierOne#build-and-platform-notes +[source] +git = "https://github.com/zerotier/ZeroTierOne" +rev = "327eb9013b39809835a912c9117a0b9669f4661f" +[build] +template = "custom" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/net/lan/ztui/recipe.toml b/recipes/wip/net/lan/ztui/recipe.toml new file mode 100644 index 00000000..dbb916c6 --- /dev/null +++ b/recipes/wip/net/lan/ztui/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/erikh/ztui" +[build] +template = "cargo" diff --git a/recipes/wip/net/monitor/rustnet/recipe.toml b/recipes/wip/net/monitor/rustnet/recipe.toml new file mode 100644 index 00000000..6ab852ff --- /dev/null +++ b/recipes/wip/net/monitor/rustnet/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/domcyrus/rustnet" +[build] +template = "cargo" +dependencies = [ + "libpcap", +] diff --git a/recipes/wip/net/monitor/somo/recipe.toml b/recipes/wip/net/monitor/somo/recipe.toml new file mode 100644 index 00000000..51bb05c6 --- /dev/null +++ b/recipes/wip/net/monitor/somo/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/theopfr/somo" +[build] +template = "cargo" diff --git a/recipes/wip/net/onion-routing/arti/recipe.toml b/recipes/wip/net/onion-routing/arti/recipe.toml new file mode 100644 index 00000000..b36e3191 --- /dev/null +++ b/recipes/wip/net/onion-routing/arti/recipe.toml @@ -0,0 +1,11 @@ +#TODO pwd-grp crate error +[source] +git = "https://gitlab.torproject.org/tpo/core/arti" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +cookbook_cargo_packages arti +""" diff --git a/recipes/wip/net/onion-routing/i2pd/recipe.toml b/recipes/wip/net/onion-routing/i2pd/recipe.toml new file mode 100644 index 00000000..6056125c --- /dev/null +++ b/recipes/wip/net/onion-routing/i2pd/recipe.toml @@ -0,0 +1,12 @@ +#TODO not compiled or tested +# build instructions: https://i2pd.readthedocs.io/en/latest/devs/building/unix/ +[source] +git = "https://github.com/PurpleI2P/i2pd" +rev = "beffdb9fe175a93164bd88ee0fafe1a22595ed15" +[build] +template = "cmake" +dependencies = [ + "boost", + "openssl1", + "zlib", +] diff --git a/recipes/wip/net/onion-routing/lokinet/recipe.toml b/recipes/wip/net/onion-routing/lokinet/recipe.toml new file mode 100644 index 00000000..0061eb0b --- /dev/null +++ b/recipes/wip/net/onion-routing/lokinet/recipe.toml @@ -0,0 +1,17 @@ +#TODO not compiled or tested +# build instructions: https://github.com/oxen-io/lokinet/blob/dev/docs/install.md#building +[source] +tar = "https://github.com/oxen-io/lokinet/releases/download/v0.9.11/lokinet-v0.9.11.tar.xz" +[build] +template = "cmake" +dependencies = [ + "libcap", + "libuv", + "libsodium", + "curl", + "libevent", + "libnettle", + "openssl1", + "unbound", + "nlohmann-json", +] diff --git a/recipes/wip/net/onion-routing/tor-browser/recipe.toml b/recipes/wip/net/onion-routing/tor-browser/recipe.toml new file mode 100644 index 00000000..219acd69 --- /dev/null +++ b/recipes/wip/net/onion-routing/tor-browser/recipe.toml @@ -0,0 +1,23 @@ +#TODO probably wrong template, see see https://firefox-source-docs.mozilla.org/setup/linux_build.html#build +[source] +tar = "https://dist.torproject.org/torbrowser/13.0.1/src-firefox-tor-browser-115.4.0esr-13.0-1-build2.tar.xz" +[build] +template = "configure" +dependencies = [ + "fontconfig", + "atk", + "cairo", + "dbus", + "libffi", + "freetype2", + "gdk-pixbuf", + "glib", + "gtk3", + "pango", + "sqlite3", + "nss-nspr", + "startup-notification", + "zlib", + "libvpx", + "ffmpeg6", +] diff --git a/recipes/wip/net/onion-routing/tor/recipe.toml b/recipes/wip/net/onion-routing/tor/recipe.toml new file mode 100644 index 00000000..fb69580b --- /dev/null +++ b/recipes/wip/net/onion-routing/tor/recipe.toml @@ -0,0 +1,10 @@ +#TODO Make the libevent works +[source] +tar = "https://dist.torproject.org/tor-0.4.8.9.tar.gz" +[build] +template = "configure" +dependencies = [ + "libevent", + "openssl1", + "zlib", +] diff --git a/recipes/wip/net/other/agnos/recipe.toml b/recipes/wip/net/other/agnos/recipe.toml new file mode 100644 index 00000000..e1a0cb68 --- /dev/null +++ b/recipes/wip/net/other/agnos/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/krtab/agnos" +[build] +template = "cargo" diff --git a/recipes/wip/net/other/altuntun/recipe.toml b/recipes/wip/net/other/altuntun/recipe.toml new file mode 100644 index 00000000..429f50be --- /dev/null +++ b/recipes/wip/net/other/altuntun/recipe.toml @@ -0,0 +1,8 @@ +#TODO source code error +[source] +git = "https://github.com/cableguard/altuntun" +[build] +template = "custom" +script = """ +cookbook_cargo_packages altuntun-cli +""" diff --git a/recipes/wip/net/other/arp-scanner/recipe.toml b/recipes/wip/net/other/arp-scanner/recipe.toml new file mode 100644 index 00000000..d398e95a --- /dev/null +++ b/recipes/wip/net/other/arp-scanner/recipe.toml @@ -0,0 +1,5 @@ +#TODO pnet_sys crate error +[source] +git = "https://github.com/kongbytes/arp-scan-rs" +[build] +template = "cargo" diff --git a/recipes/wip/net/other/bita/recipe.toml b/recipes/wip/net/other/bita/recipe.toml new file mode 100644 index 00000000..4e9fd988 --- /dev/null +++ b/recipes/wip/net/other/bita/recipe.toml @@ -0,0 +1,8 @@ +#TODO compilation error (after a cargo update and a patch on the ring and tokio crates) +[source] +git = "https://github.com/oll3/bita" +[build] +template = "custom" +script = """ +cookbook_cargo --no-default-features --features rustls-tls +""" diff --git a/recipes/wip/net/other/bore/recipe.toml b/recipes/wip/net/other/bore/recipe.toml new file mode 100644 index 00000000..6e84b510 --- /dev/null +++ b/recipes/wip/net/other/bore/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/ekzhang/bore" +[build] +template = "cargo" diff --git a/recipes/wip/net/other/celeste/recipe.toml b/recipes/wip/net/other/celeste/recipe.toml new file mode 100644 index 00000000..20cf99ac --- /dev/null +++ b/recipes/wip/net/other/celeste/recipe.toml @@ -0,0 +1,10 @@ +#TODO missing script for "just" and require Go, see https://github.com/hwittenborn/celeste/blob/develop/BUILDING.md +[source] +git = "https://github.com/hwittenborn/celeste" +rev = "2ea8dc00ed001d045792e974b46264d920090606" +[build] +template = "custom" +dependencies = [ + "gtk4", + "libadwaita", +] diff --git a/recipes/wip/net/other/cobalt/recipe.toml b/recipes/wip/net/other/cobalt/recipe.toml new file mode 100644 index 00000000..c73644e0 --- /dev/null +++ b/recipes/wip/net/other/cobalt/recipe.toml @@ -0,0 +1,5 @@ +#TODO compilation error (after an update on proc-macro2) +[source] +git = "https://github.com/cobalt-org/cobalt.rs" +[build] +template = "cargo" diff --git a/recipes/wip/net/other/crab-dlna/recipe.toml b/recipes/wip/net/other/crab-dlna/recipe.toml new file mode 100644 index 00000000..4a6217f8 --- /dev/null +++ b/recipes/wip/net/other/crab-dlna/recipe.toml @@ -0,0 +1,5 @@ +#TODO get_if_addrs crate error +[source] +git = "https://github.com/gabrielmagno/crab-dlna" +[build] +template = "cargo" diff --git a/recipes/wip/net/other/dnst/recipe.toml b/recipes/wip/net/other/dnst/recipe.toml new file mode 100644 index 00000000..b51f6382 --- /dev/null +++ b/recipes/wip/net/other/dnst/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/NLnetLabs/dnst" +[build] +template = "custom" +script = """ +cookbook_cargo --features ring +""" diff --git a/recipes/wip/net/other/dqy/recipe.toml b/recipes/wip/net/other/dqy/recipe.toml new file mode 100644 index 00000000..1878190a --- /dev/null +++ b/recipes/wip/net/other/dqy/recipe.toml @@ -0,0 +1,11 @@ +#TODO mlua-sys crate can't detect the lua54 dependency +[source] +git = "https://github.com/dandyvica/dqy" +[build] +template = "custom" +dependencies = [ + "lua54", +] +script = """ +cookbook_cargo_packages dqy +""" diff --git a/recipes/wip/net/other/drill/recipe.toml b/recipes/wip/net/other/drill/recipe.toml new file mode 100644 index 00000000..87c8b781 --- /dev/null +++ b/recipes/wip/net/other/drill/recipe.toml @@ -0,0 +1,8 @@ +#TODO OpenSSL error (after a cargo update and a patch to update tokio on Cargo.toml) +[source] +git = "https://github.com/fcsonline/drill" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/net/other/dufs/recipe.toml b/recipes/wip/net/other/dufs/recipe.toml new file mode 100644 index 00000000..3949986d --- /dev/null +++ b/recipes/wip/net/other/dufs/recipe.toml @@ -0,0 +1,5 @@ +#TODO if-addrs crate error +[source] +git = "https://github.com/sigoden/dufs" +[build] +template = "cargo" diff --git a/recipes/wip/net/other/floresta/recipe.toml b/recipes/wip/net/other/floresta/recipe.toml new file mode 100644 index 00000000..5ce87777 --- /dev/null +++ b/recipes/wip/net/other/floresta/recipe.toml @@ -0,0 +1,8 @@ +#TODO compilation error +[source] +git = "https://github.com/Davidson-Souza/Floresta" +[build] +template = "custom" +script = """ +cookbook_cargo_packages florestad +""" diff --git a/recipes/wip/net/other/guacamole-client/recipe.toml b/recipes/wip/net/other/guacamole-client/recipe.toml new file mode 100644 index 00000000..3cc0d751 --- /dev/null +++ b/recipes/wip/net/other/guacamole-client/recipe.toml @@ -0,0 +1,6 @@ +#TODO this recipe require this data type to download the Java bytecode - https://gitlab.redox-os.org/redox-os/cookbook/-/issues/190 +# download link - https://apache.org/dyn/closer.lua/guacamole/1.5.5/binary/guacamole-1.5.5.war?action=download +[source] + +[build] +template = "custom" diff --git a/recipes/wip/net/other/havn/recipe.toml b/recipes/wip/net/other/havn/recipe.toml new file mode 100644 index 00000000..649f040e --- /dev/null +++ b/recipes/wip/net/other/havn/recipe.toml @@ -0,0 +1,5 @@ +#TODO scanning loop, broken Redox support +[source] +git = "https://github.com/mrjackwills/havn" +[build] +template = "cargo" diff --git a/recipes/wip/net/other/hinoki/recipe.toml b/recipes/wip/net/other/hinoki/recipe.toml new file mode 100644 index 00000000..9d6b900e --- /dev/null +++ b/recipes/wip/net/other/hinoki/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/jplatte/hinoki" +[build] +template = "cargo" diff --git a/recipes/wip/net/other/hurl/recipe.toml b/recipes/wip/net/other/hurl/recipe.toml new file mode 100644 index 00000000..5bacac15 --- /dev/null +++ b/recipes/wip/net/other/hurl/recipe.toml @@ -0,0 +1,13 @@ +#TODO compilation error +[source] +git = "https://github.com/Orange-OpenSource/hurl" +[build] +template = "custom" +dependencies = [ + "openssl1", + "curl", + "libxml2", +] +script = """ +cookbook_cargo_packages hurl +""" diff --git a/recipes/wip/net/other/impala/recipe.toml b/recipes/wip/net/other/impala/recipe.toml new file mode 100644 index 00000000..3fd30d01 --- /dev/null +++ b/recipes/wip/net/other/impala/recipe.toml @@ -0,0 +1,5 @@ +#TODO port to redox +[source] +git = "https://github.com/pythops/impala" +[build] +template = "cargo" diff --git a/recipes/wip/net/other/lldap/recipe.toml b/recipes/wip/net/other/lldap/recipe.toml new file mode 100644 index 00000000..e97d8e79 --- /dev/null +++ b/recipes/wip/net/other/lldap/recipe.toml @@ -0,0 +1,8 @@ +#TODO program source code error (after cargo update and a patch on ring) +[source] +git = "https://github.com/lldap/lldap" +[build] +template = "custom" +script = """ +cookbook_cargo_packages lldap +""" diff --git a/recipes/wip/net/other/lychee/recipe.toml b/recipes/wip/net/other/lychee/recipe.toml new file mode 100644 index 00000000..b441f801 --- /dev/null +++ b/recipes/wip/net/other/lychee/recipe.toml @@ -0,0 +1,11 @@ +#TODO async-io crate error (after cargo update) +[source] +git = "https://github.com/lycheeverse/lychee" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +cookbook_cargo_packages lychee +""" diff --git a/recipes/wip/net/other/lynx/recipe.toml b/recipes/wip/net/other/lynx/recipe.toml new file mode 100644 index 00000000..6b8a6800 --- /dev/null +++ b/recipes/wip/net/other/lynx/recipe.toml @@ -0,0 +1,12 @@ +#TODO compilation error +[source] +tar = "https://invisible-island.net/archives/lynx/tarballs/lynx2.8.9rel.1.tar.gz" +[build] +template = "custom" +dependencies = [ + "ncurses", +] +script = """ +export CPPFLAGS="-I${COOKBOOK_SYSROOT}/include/ncurses" +cookbook_configure +""" diff --git a/recipes/wip/net/other/meli/recipe.toml b/recipes/wip/net/other/meli/recipe.toml new file mode 100644 index 00000000..82aab325 --- /dev/null +++ b/recipes/wip/net/other/meli/recipe.toml @@ -0,0 +1,11 @@ +#TODO ahash crate error +[source] +git = "https://git.meli-email.org/meli/meli" +[build] +template = "custom" +dependencies = [ + "sqlite3", +] +script = """ +cookbook_cargo_packages meli +""" diff --git a/recipes/wip/net/other/miniupnpc/recipe.toml b/recipes/wip/net/other/miniupnpc/recipe.toml new file mode 100644 index 00000000..56d62911 --- /dev/null +++ b/recipes/wip/net/other/miniupnpc/recipe.toml @@ -0,0 +1,5 @@ +#TODO Missing script for "make", see https://github.com/miniupnp/miniupnp/tree/master/miniupnpc#readme +[source] +tar = "http://miniupnp.free.fr/files/miniupnpc-2.2.4.tar.gz" +[build] +template = "custom" diff --git a/recipes/wip/net/other/moonfire-nvr-server/recipe.toml b/recipes/wip/net/other/moonfire-nvr-server/recipe.toml new file mode 100644 index 00000000..da7af0ec --- /dev/null +++ b/recipes/wip/net/other/moonfire-nvr-server/recipe.toml @@ -0,0 +1,12 @@ +#TODO cookbook_cargo function error +[source] +git = "https://github.com/scottlamb/moonfire-nvr" +[build] +template = "custom" +dependencies = [ + "sqlite3", +] +script = """ +cd "${COOKBOOK_SOURCE}/server" +cookbook_cargo +""" diff --git a/recipes/wip/net/other/netop/recipe.toml b/recipes/wip/net/other/netop/recipe.toml new file mode 100644 index 00000000..c298bc7b --- /dev/null +++ b/recipes/wip/net/other/netop/recipe.toml @@ -0,0 +1,8 @@ +#TODO make libpcap work +[source] +git = "https://github.com/ZingerLittleBee/netop" +[build] +template = "cargo" +dependencies = [ + "libpcap", +] diff --git a/recipes/wip/net/other/netscanner/recipe.toml b/recipes/wip/net/other/netscanner/recipe.toml new file mode 100644 index 00000000..8bcd33cc --- /dev/null +++ b/recipes/wip/net/other/netscanner/recipe.toml @@ -0,0 +1,5 @@ +#TODO pnet_sys crate error +[source] +git = "https://github.com/Chleba/netscanner" +[build] +template = "cargo" diff --git a/recipes/wip/net/other/nmap/recipe.toml b/recipes/wip/net/other/nmap/recipe.toml new file mode 100644 index 00000000..fcbd41f1 --- /dev/null +++ b/recipes/wip/net/other/nmap/recipe.toml @@ -0,0 +1,5 @@ +#TODO compilation error +[source] +tar = "https://nmap.org/dist/nmap-7.94.tar.bz2" +[build] +template = "configure" \ No newline at end of file diff --git a/recipes/wip/net/other/nspr/recipe.toml b/recipes/wip/net/other/nspr/recipe.toml new file mode 100644 index 00000000..1d29eda4 --- /dev/null +++ b/recipes/wip/net/other/nspr/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for building +[source] +tar = "https://ftp.mozilla.org/pub/nspr/releases/v4.9.6/src/nspr-4.9.6.tar.gz" +[build] +template = "custom" diff --git a/recipes/wip/net/other/nss-pem/recipe.toml b/recipes/wip/net/other/nss-pem/recipe.toml new file mode 100644 index 00000000..15b7a66f --- /dev/null +++ b/recipes/wip/net/other/nss-pem/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://github.com/kdudka/nss-pem/blob/master/README +[source] +tar = "https://github.com/kdudka/nss-pem/releases/download/nss-pem-1.1.0/nss-pem-1.1.0.tar.xz" +[build] +template = "cmake" diff --git a/recipes/wip/net/other/nss/recipe.toml b/recipes/wip/net/other/nss/recipe.toml new file mode 100644 index 00000000..b9ffd1a5 --- /dev/null +++ b/recipes/wip/net/other/nss/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for building +[source] +tar = "https://ftp.mozilla.org/pub/security/nss/releases/NSS_3_9_2_RTM/src/nss-3.9.2.tar.gz" +[build] +template = "custom" diff --git a/recipes/wip/net/other/oha/recipe.toml b/recipes/wip/net/other/oha/recipe.toml new file mode 100644 index 00000000..fee15de0 --- /dev/null +++ b/recipes/wip/net/other/oha/recipe.toml @@ -0,0 +1,8 @@ +#TODO jmalloc-sys crate error +[source] +git = "https://github.com/hatoo/oha" +[build] +template = "custom" +script = """ +cookbook_cargo --no-default-features --features rustls +""" diff --git a/recipes/wip/net/other/pavao/recipe.toml b/recipes/wip/net/other/pavao/recipe.toml new file mode 100644 index 00000000..4bae1622 --- /dev/null +++ b/recipes/wip/net/other/pavao/recipe.toml @@ -0,0 +1,14 @@ +#TODO: fails to link libcrypto.so +[source] +git = "https://github.com/jackpot51/pavao.git" + +[build] +template = "custom" +dependencies = [ + "openssl1" +] +script = """ +DYNAMIC_INIT +build_flags="${build_flags} --features vendored" +cookbook_cargo_examples tree +""" diff --git a/recipes/wip/net/other/phantun/recipe.toml b/recipes/wip/net/other/phantun/recipe.toml new file mode 100644 index 00000000..aa548676 --- /dev/null +++ b/recipes/wip/net/other/phantun/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/dndx/phantun" +[build] +template = "custom" +script = """ +cookbook_cargo_packages phantun +""" diff --git a/recipes/wip/net/other/quincy/recipe.toml b/recipes/wip/net/other/quincy/recipe.toml new file mode 100644 index 00000000..8edd7127 --- /dev/null +++ b/recipes/wip/net/other/quincy/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/M0dEx/quincy" +[build] +template = "cargo" diff --git a/recipes/wip/net/other/rallyup/recipe.toml b/recipes/wip/net/other/rallyup/recipe.toml new file mode 100644 index 00000000..aec0aedf --- /dev/null +++ b/recipes/wip/net/other/rallyup/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/darwindarak/rallyup" +[build] +template = "cargo" diff --git a/recipes/wip/net/other/rathole/recipe.toml b/recipes/wip/net/other/rathole/recipe.toml new file mode 100644 index 00000000..c3a56ae2 --- /dev/null +++ b/recipes/wip/net/other/rathole/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/rapiz1/rathole" +[build] +template = "cargo" diff --git a/recipes/wip/net/other/realm/recipe.toml b/recipes/wip/net/other/realm/recipe.toml new file mode 100644 index 00000000..40c0c7c6 --- /dev/null +++ b/recipes/wip/net/other/realm/recipe.toml @@ -0,0 +1,5 @@ +#TODO realm_syscall crate error +[source] +git = "https://github.com/zhboner/realm" +[build] +template = "cargo" diff --git a/recipes/wip/net/other/rlt/recipe.toml b/recipes/wip/net/other/rlt/recipe.toml new file mode 100644 index 00000000..6efa1867 --- /dev/null +++ b/recipes/wip/net/other/rlt/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/kaichaosun/rlt" +[build] +template = "custom" +script = """ +cookbook_cargo_packages localtunnel localtunnel-client localtunnel-server +""" diff --git a/recipes/wip/net/other/rqbit/recipe.toml b/recipes/wip/net/other/rqbit/recipe.toml new file mode 100644 index 00000000..347aaf0f --- /dev/null +++ b/recipes/wip/net/other/rqbit/recipe.toml @@ -0,0 +1,11 @@ +#TODO network-interface crate error +[source] +git = "https://github.com/ikatson/rqbit" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +cookbook_cargo_packages rqbit +""" diff --git a/recipes/wip/net/other/rustscan/recipe.toml b/recipes/wip/net/other/rustscan/recipe.toml new file mode 100644 index 00000000..f82f18c6 --- /dev/null +++ b/recipes/wip/net/other/rustscan/recipe.toml @@ -0,0 +1,8 @@ +#TODO Make nmap work +[source] +git = "https://github.com/RustScan/RustScan" +[build] +template = "cargo" +dependencies = [ + "nmap", +] diff --git a/recipes/wip/net/other/samba/answers.txt b/recipes/wip/net/other/samba/answers.txt new file mode 100644 index 00000000..54c200d0 --- /dev/null +++ b/recipes/wip/net/other/samba/answers.txt @@ -0,0 +1,5 @@ +Checking for HAVE_LITTLE_ENDIAN - runtime: OK +Checking for large file support without additional flags: OK +Checking for HAVE_SECURE_MKSTEMP: OK +Checking for HAVE_MREMAP: OK +Checking whether setreuid is available: OK diff --git a/recipes/wip/net/other/samba/recipe.toml b/recipes/wip/net/other/samba/recipe.toml new file mode 100644 index 00000000..68ba87be --- /dev/null +++ b/recipes/wip/net/other/samba/recipe.toml @@ -0,0 +1,40 @@ +#TODO: needs libmodule-build-parse-yapp-perl dependency +[source] +git = "https://gitlab.redox-os.org/redox-os/samba.git" +upstream = "https://github.com/samba-team/samba.git" + +[build] +template = "custom" +dependencies = [ + "gnutls3", + "libarchive", + "libnettle", + "jansson", + "zlib", +] +script = """ +rsync -av --delete --exclude .git "${COOKBOOK_SOURCE}/" ./ +cp -v "${COOKBOOK_RECIPE}/answers.txt" answers.txt + +COOKBOOK_CONFIGURE_FLAGS=( + --builtin-libraries=ALL + --cross-compile + --cross-answers=answers.txt + --disable-python + --disable-rpath + --enable-fhs + --host="${TARGET}" + --localstatedir=/var + --prefix=/usr + --sysconfdir=/etc + --with-static-modules=ALL,!vfs_snapper + --without-acl-support + --without-ad-dc + --without-ads + --without-gettext + --without-ldap + --without-libunwind + --without-pam +) +cookbook_configure +""" diff --git a/recipes/wip/net/other/sandhole/recipe.toml b/recipes/wip/net/other/sandhole/recipe.toml new file mode 100644 index 00000000..e87de184 --- /dev/null +++ b/recipes/wip/net/other/sandhole/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/EpicEric/sandhole" +[build] +template = "cargo" diff --git a/recipes/wip/net/other/slumber/recipe.toml b/recipes/wip/net/other/slumber/recipe.toml new file mode 100644 index 00000000..1ed5edbc --- /dev/null +++ b/recipes/wip/net/other/slumber/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/LucasPickering/slumber" +[build] +template = "cargo" diff --git a/recipes/wip/net/other/smb-rs/recipe.toml b/recipes/wip/net/other/smb-rs/recipe.toml new file mode 100644 index 00000000..815321ed --- /dev/null +++ b/recipes/wip/net/other/smb-rs/recipe.toml @@ -0,0 +1,9 @@ +#TODO: fix aws-lc-sys compilation +[source] +git = "https://github.com/AvivNaaman/smb-rs" + +[build] +template = "custom" +script = """ +cookbook_cargo_packages smb-cli +""" diff --git a/recipes/wip/net/other/speedtest-rs/recipe.toml b/recipes/wip/net/other/speedtest-rs/recipe.toml new file mode 100644 index 00000000..7e32c6f2 --- /dev/null +++ b/recipes/wip/net/other/speedtest-rs/recipe.toml @@ -0,0 +1,8 @@ +#TODO openssl-sys crate error (after cargo update) +[source] +git = "https://github.com/nelsonjchen/speedtest-rs" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/net/other/spiko/recipe.toml b/recipes/wip/net/other/spiko/recipe.toml new file mode 100644 index 00000000..90231117 --- /dev/null +++ b/recipes/wip/net/other/spiko/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/trinhminhtriet/spiko" +[build] +template = "cargo" diff --git a/recipes/wip/net/other/spis/recipe.toml b/recipes/wip/net/other/spis/recipe.toml new file mode 100644 index 00000000..08072da6 --- /dev/null +++ b/recipes/wip/net/other/spis/recipe.toml @@ -0,0 +1,8 @@ +#TODO maybe incomplete script, see the Makefile on the repository +[source] +git = "https://github.com/gbbirkisson/spis" +[build] +template = "custom" +script = """ +cookbook_cargo_packages spis-server +""" diff --git a/recipes/wip/net/other/srsran-4g/recipe.toml b/recipes/wip/net/other/srsran-4g/recipe.toml new file mode 100644 index 00000000..7c4d1233 --- /dev/null +++ b/recipes/wip/net/other/srsran-4g/recipe.toml @@ -0,0 +1,11 @@ +#TODO not compiled or tested +# build instructions: https://docs.srsran.com/projects/4g/en/latest/general/source/1_installation.html#installation-from-source +[source] +git = "https://github.com/srsran/srsRAN_4G" +rev = "eea87b1d893ae58e0b08bc381730c502024ae71f" +[build] +template = "cmake" +dependencies = [ + "fftw", + "mbedtls", +] diff --git a/recipes/wip/net/other/srsran-project/recipe.toml b/recipes/wip/net/other/srsran-project/recipe.toml new file mode 100644 index 00000000..4ff58768 --- /dev/null +++ b/recipes/wip/net/other/srsran-project/recipe.toml @@ -0,0 +1,12 @@ +#TODO not compiled or tested +# build instructions: https://github.com/srsran/srsRAN_Project#build-instructions +#TODO missing dependencies +[source] +git = "https://github.com/srsran/srsRAN_Project" +rev = "374200deefd8e1b96fab7328525fd593a808a641" +[build] +template = "cmake" +dependencies = [ + "fftw", + "mbedtls", +] diff --git a/recipes/wip/net/other/tobaru/recipe.toml b/recipes/wip/net/other/tobaru/recipe.toml new file mode 100644 index 00000000..88761712 --- /dev/null +++ b/recipes/wip/net/other/tobaru/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested (after a patch on ring) +[source] +git = "https://github.com/cfal/tobaru" +[build] +template = "cargo" diff --git a/recipes/wip/net/other/trippy/recipe.toml b/recipes/wip/net/other/trippy/recipe.toml new file mode 100644 index 00000000..d17e376e --- /dev/null +++ b/recipes/wip/net/other/trippy/recipe.toml @@ -0,0 +1,5 @@ +#TODO source code error +[source] +git = "https://github.com/fujiapple852/trippy" +[build] +template = "cargo" diff --git a/recipes/wip/net/other/turn-rs/recipe.toml b/recipes/wip/net/other/turn-rs/recipe.toml new file mode 100644 index 00000000..f027311f --- /dev/null +++ b/recipes/wip/net/other/turn-rs/recipe.toml @@ -0,0 +1,8 @@ +#TODO ahash crate error +[source] +git = "https://github.com/mycrl/turn-rs" +[build] +template = "custom" +script = """ +cookbook_cargo_packages turn-cli turn-server +""" diff --git a/recipes/wip/net/other/unbound/recipe.toml b/recipes/wip/net/other/unbound/recipe.toml new file mode 100644 index 00000000..6be840fc --- /dev/null +++ b/recipes/wip/net/other/unbound/recipe.toml @@ -0,0 +1,9 @@ +#TODO Compilation error +[source] +tar = "https://nlnetlabs.nl/downloads/unbound/unbound-1.17.1.tar.gz" +[build] +template = "configure" +dependencies = [ + "expat", + "openssl1", +] diff --git a/recipes/wip/net/other/updns/recipe.toml b/recipes/wip/net/other/updns/recipe.toml new file mode 100644 index 00000000..4639a849 --- /dev/null +++ b/recipes/wip/net/other/updns/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/wyhaya/updns" +[build] +template = "cargo" diff --git a/recipes/wip/net/other/varia/recipe.toml b/recipes/wip/net/other/varia/recipe.toml new file mode 100644 index 00000000..2c03f083 --- /dev/null +++ b/recipes/wip/net/other/varia/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +# build instructions: https://github.com/giantpinkrobots/varia#building +# probably missing dependencies +[source] +git = "https://github.com/giantpinkrobots/varia" +rev = "515bef5536b4947b3ae8dd3c23b7643ea590d73c" +[build] +template = "meson" diff --git a/recipes/wip/net/other/vimini/recipe.toml b/recipes/wip/net/other/vimini/recipe.toml new file mode 100644 index 00000000..2c571acf --- /dev/null +++ b/recipes/wip/net/other/vimini/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://git.sr.ht/~lufte/vimini" +[build] +template = "cargo" +dependencies = [ + "sqlite3", +] diff --git a/recipes/wip/net/other/vopono/recipe.toml b/recipes/wip/net/other/vopono/recipe.toml new file mode 100644 index 00000000..f286ec1a --- /dev/null +++ b/recipes/wip/net/other/vopono/recipe.toml @@ -0,0 +1,5 @@ +#TODO users crate error +[source] +git = "https://github.com/jamesmcm/vopono" +[build] +template = "cargo" diff --git a/recipes/wip/net/other/vpncloud/recipe.toml b/recipes/wip/net/other/vpncloud/recipe.toml new file mode 100644 index 00000000..ced2c226 --- /dev/null +++ b/recipes/wip/net/other/vpncloud/recipe.toml @@ -0,0 +1,6 @@ +#TODO libc and nix crate error +#TODO require Ruby and asciidoctor at runtime +[source] +git = "https://github.com/dswd/vpncloud" +[build] +template = "cargo" diff --git a/recipes/wip/net/other/vsd/recipe.toml b/recipes/wip/net/other/vsd/recipe.toml new file mode 100644 index 00000000..5252a5d1 --- /dev/null +++ b/recipes/wip/net/other/vsd/recipe.toml @@ -0,0 +1,11 @@ +#TODO Not compiled or tested +[source] +git = "https://github.com/clitic/vsd" +[build] +template = "custom" +dependencies = [ + "ffmpeg6", +] +script = """ +cookbook_cargo_packages vsd +""" diff --git a/recipes/wip/net/other/wireguard-rs/recipe.toml b/recipes/wip/net/other/wireguard-rs/recipe.toml new file mode 100644 index 00000000..9722b4af --- /dev/null +++ b/recipes/wip/net/other/wireguard-rs/recipe.toml @@ -0,0 +1,5 @@ +#TODO update mio to 0.8 (after cargo update) +[source] +git = "https://git.zx2c4.com/wireguard-rs" +[build] +template = "cargo" diff --git a/recipes/wip/net/other/wstunnel/recipe.toml b/recipes/wip/net/other/wstunnel/recipe.toml new file mode 100644 index 00000000..8e67e67f --- /dev/null +++ b/recipes/wip/net/other/wstunnel/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/erebe/wstunnel" +[build] +template = "custom" +script = """ +cookbook_cargo_packages wstunnel-cli +""" diff --git a/recipes/wip/net/other/yazi/recipe.toml b/recipes/wip/net/other/yazi/recipe.toml new file mode 100644 index 00000000..c35a14cd --- /dev/null +++ b/recipes/wip/net/other/yazi/recipe.toml @@ -0,0 +1,8 @@ +#TODO trash and mlua-sys crate errors +[source] +git = "https://github.com/sxyazi/yazi" +[build] +template = "custom" +script = """ +cookbook_cargo_packages yazi-fm +""" diff --git a/recipes/wip/net/p2p/dumbpipe/recipe.toml b/recipes/wip/net/p2p/dumbpipe/recipe.toml new file mode 100644 index 00000000..4ae3400f --- /dev/null +++ b/recipes/wip/net/p2p/dumbpipe/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/n0-computer/dumbpipe" +[build] +template = "cargo" diff --git a/recipes/wip/net/p2p/easytier/recipe.toml b/recipes/wip/net/p2p/easytier/recipe.toml new file mode 100644 index 00000000..9f4a9438 --- /dev/null +++ b/recipes/wip/net/p2p/easytier/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/EasyTier/EasyTier" +[build] +template = "custom" +script = """ +cookbook_cargo_packages easytier +""" diff --git a/recipes/wip/net/p2p/oku/recipe.toml b/recipes/wip/net/p2p/oku/recipe.toml new file mode 100644 index 00000000..7de45815 --- /dev/null +++ b/recipes/wip/net/p2p/oku/recipe.toml @@ -0,0 +1,16 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/OkuBrowser/oku" +[build] +template = "custom" +dependencies = [ + "gtk4", + "glib", + "pango", + "webkitgtk4", + "libfuse3", +] +script = """ +./prebuild.sh +cookbook_cargo +""" diff --git a/recipes/wip/net/proxy/hitch/recipe.toml b/recipes/wip/net/proxy/hitch/recipe.toml new file mode 100644 index 00000000..74db0f9c --- /dev/null +++ b/recipes/wip/net/proxy/hitch/recipe.toml @@ -0,0 +1,9 @@ +#TODO not compiled or tested +[source] +tar = "https://www.hitch-tls.org/source/hitch-1.8.0.tar.gz" +[build] +template = "configure" +dependencies = [ + "libev", + "openssl3", +] diff --git a/recipes/wip/net/proxy/stunnel/recipe.toml b/recipes/wip/net/proxy/stunnel/recipe.toml new file mode 100644 index 00000000..a140df0f --- /dev/null +++ b/recipes/wip/net/proxy/stunnel/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://www.stunnel.org/downloads/stunnel-5.76.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/net/remote/bayesian-ssh/recipe.toml b/recipes/wip/net/remote/bayesian-ssh/recipe.toml new file mode 100644 index 00000000..2b0c18fc --- /dev/null +++ b/recipes/wip/net/remote/bayesian-ssh/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/abdoufermat5/bayesian-ssh" +[build] +template = "cargo" diff --git a/recipes/wip/net/remote/do-ssh/recipe.toml b/recipes/wip/net/remote/do-ssh/recipe.toml new file mode 100644 index 00000000..41632fc5 --- /dev/null +++ b/recipes/wip/net/remote/do-ssh/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/doEggi/do-ssh" +[build] +template = "cargo" diff --git a/recipes/wip/net/remote/ethersync/recipe.toml b/recipes/wip/net/remote/ethersync/recipe.toml new file mode 100644 index 00000000..c24a3c04 --- /dev/null +++ b/recipes/wip/net/remote/ethersync/recipe.toml @@ -0,0 +1,9 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/ethersync/ethersync" +[build] +template = "custom" +script = """ +COOKBOOK_SOURCE="${COOKBOOK_SOURCE}/daemon" +cookbook_cargo +""" diff --git a/recipes/wip/net/remote/iroh-ssh/recipe.toml b/recipes/wip/net/remote/iroh-ssh/recipe.toml new file mode 100644 index 00000000..3af3dc0f --- /dev/null +++ b/recipes/wip/net/remote/iroh-ssh/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/rustonbsd/iroh-ssh" +[build] +template = "cargo" diff --git a/recipes/wip/net/remote/jupii/recipe.toml b/recipes/wip/net/remote/jupii/recipe.toml new file mode 100644 index 00000000..c93e3437 --- /dev/null +++ b/recipes/wip/net/remote/jupii/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +# missing dependencies? - https://github.com/mkiol/Jupii#libraries +[source] +git = "https://github.com/mkiol/Jupii" +rev = "ed80ca0ea29081a2bff038faf4884e3acabb14b7" +[build] +template = "cmake" +cmakeflags = [ + "-DWITH_DESKTOP=ON" +] diff --git a/recipes/wip/net/remote/remmina/recipe.toml b/recipes/wip/net/remote/remmina/recipe.toml new file mode 100644 index 00000000..14605bd7 --- /dev/null +++ b/recipes/wip/net/remote/remmina/recipe.toml @@ -0,0 +1,22 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.com/Remmina/Remmina/-/wikis/Compilation/Compilation-guide +#TODO dependencies need a cleanup (outdated and up-to-date information is mixed in the build instructions) +[source] +git = "https://gitlab.com/Remmina/Remmina" +rev = "2a455eadd6462457d08c2d066c5c245e0dee3bf9" +[build] +template = "cmake" +dependencies = [ + "openssl1", + "libxml2", + "gstreamer", + "ffmpeg6", + "gtk3", + "libgcrypt", + "libssh", + "libvte", + "libjpeg", + "gnutls3", + "libsodium", + "pcre", +] diff --git a/recipes/wip/net/remote/sanzu/recipe.toml b/recipes/wip/net/remote/sanzu/recipe.toml new file mode 100644 index 00000000..6c7dd71b --- /dev/null +++ b/recipes/wip/net/remote/sanzu/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/cea-sec/sanzu" +[build] +template = "custom" +script = """ +cookbook_cargo_packages sanzu +""" diff --git a/recipes/wip/net/remote/shared/recipe.toml b/recipes/wip/net/remote/shared/recipe.toml new file mode 100644 index 00000000..ed93e9f4 --- /dev/null +++ b/recipes/wip/net/remote/shared/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/mateolafalce/shared" +[build] +template = "cargo" diff --git a/recipes/wip/net/remote/ssh-portfolio/recipe.toml b/recipes/wip/net/remote/ssh-portfolio/recipe.toml new file mode 100644 index 00000000..5babdd7c --- /dev/null +++ b/recipes/wip/net/remote/ssh-portfolio/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# require nerdfonts +[source] +git = "https://github.com/CompeyDev/ssh-portfolio" +[build] +template = "cargo" diff --git a/recipes/wip/net/remote/zeco/recipe.toml b/recipes/wip/net/remote/zeco/recipe.toml new file mode 100644 index 00000000..8a4e0427 --- /dev/null +++ b/recipes/wip/net/remote/zeco/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/julianbuettner/zeco" +[build] +template = "cargo" diff --git a/recipes/wip/net/scan/netpeek/recipe.toml b/recipes/wip/net/scan/netpeek/recipe.toml new file mode 100644 index 00000000..fc2334e3 --- /dev/null +++ b/recipes/wip/net/scan/netpeek/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +#TODO determine minimum dependencies from meson log +[source] +git = "https://github.com/ZingyTomato/NetPeek" +rev = "v0.2.4" +[build] +template = "meson" diff --git a/recipes/wip/net/security/yadb/recipe.toml b/recipes/wip/net/security/yadb/recipe.toml new file mode 100644 index 00000000..d8b9c989 --- /dev/null +++ b/recipes/wip/net/security/yadb/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/izya4ka/yadb" +[build] +template = "cargo" diff --git a/recipes/wip/net/server/bitcoin-core/recipe.toml b/recipes/wip/net/server/bitcoin-core/recipe.toml new file mode 100644 index 00000000..d2e2b3f9 --- /dev/null +++ b/recipes/wip/net/server/bitcoin-core/recipe.toml @@ -0,0 +1,15 @@ +#TODO make dependencies work +[source] +tar = "https://bitcoincore.org/bin/bitcoin-core-27.0/bitcoin-27.0.tar.gz" +[build] +template = "custom" +dependencies = [ + "boost", + "libevent", +] +script = """ +COOKBOOK_CONFIGURE_FLAGS+=( + --disable-wallet +) +cookbook_configure +""" diff --git a/recipes/wip/net/server/devserver/recipe.toml b/recipes/wip/net/server/devserver/recipe.toml new file mode 100644 index 00000000..8e42b122 --- /dev/null +++ b/recipes/wip/net/server/devserver/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/kettle11/devserver" +[build] +template = "cargo" diff --git a/recipes/wip/net/server/doh-server/recipe.toml b/recipes/wip/net/server/doh-server/recipe.toml new file mode 100644 index 00000000..355c37ab --- /dev/null +++ b/recipes/wip/net/server/doh-server/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/DNSCrypt/doh-server" +[build] +template = "cargo" diff --git a/recipes/wip/net/server/dora/recipe.toml b/recipes/wip/net/server/dora/recipe.toml new file mode 100644 index 00000000..dbb9c463 --- /dev/null +++ b/recipes/wip/net/server/dora/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/bluecatengineering/dora" +[build] +template = "custom" +script = """ +cookbook_cargo_packages dora-bin dora-cfg +""" diff --git a/recipes/wip/net/server/electrs/recipe.toml b/recipes/wip/net/server/electrs/recipe.toml new file mode 100644 index 00000000..f24a8659 --- /dev/null +++ b/recipes/wip/net/server/electrs/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing runtime dependencies, see https://github.com/romanz/electrs/blob/master/doc/install.md#build-dependencies +[source] +git = "https://github.com/romanz/electrs" +[build] +template = "cargo" diff --git a/recipes/wip/net/server/encrypted-dns-server/recipe.toml b/recipes/wip/net/server/encrypted-dns-server/recipe.toml new file mode 100644 index 00000000..58f49b37 --- /dev/null +++ b/recipes/wip/net/server/encrypted-dns-server/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/DNSCrypt/encrypted-dns-server" +[build] +template = "cargo" diff --git a/recipes/wip/net/server/feox-server/recipe.toml b/recipes/wip/net/server/feox-server/recipe.toml new file mode 100644 index 00000000..c2aa744d --- /dev/null +++ b/recipes/wip/net/server/feox-server/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/mehrantsi/feox-server" +[build] +template = "cargo" diff --git a/recipes/wip/net/server/guacamole-server/recipe.toml b/recipes/wip/net/server/guacamole-server/recipe.toml new file mode 100644 index 00000000..2a81bff6 --- /dev/null +++ b/recipes/wip/net/server/guacamole-server/recipe.toml @@ -0,0 +1,17 @@ +#TODO not compiled or tested +# dependencies - https://guacamole.apache.org/doc/gug/installing-guacamole.html#required-dependencies +[source] +tar = "https://apache.org/dyn/closer.lua/guacamole/1.5.5/source/guacamole-server-1.5.5.tar.gz?action=download" +[build] +template = "configure" +dependencies = [ + "cairo", + "libjpeg", + "libpng", + "libuuid", + "libssh2", + "openssl1", + "pango", + "pulseaudio", + "libvorbis", +] diff --git a/recipes/wip/net/server/nea/recipe.toml b/recipes/wip/net/server/nea/recipe.toml new file mode 100644 index 00000000..82f20a54 --- /dev/null +++ b/recipes/wip/net/server/nea/recipe.toml @@ -0,0 +1,9 @@ +#TODO not compiled or tested +#TODO require the mold liker to be installed +[source] +git = "https://github.com/tweedegolf/nea" +[build] +template = "custom" +script = """ +cookbook_cargo_packages nea +""" diff --git a/recipes/wip/net/server/nostr-rs-relay/recipe.toml b/recipes/wip/net/server/nostr-rs-relay/recipe.toml new file mode 100644 index 00000000..04ad98c3 --- /dev/null +++ b/recipes/wip/net/server/nostr-rs-relay/recipe.toml @@ -0,0 +1,8 @@ +#TODO tikv-jemalloc-sys crate error +[source] +git = "https://github.com/scsibug/nostr-rs-relay" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/net/server/quick-serve/recipe.toml b/recipes/wip/net/server/quick-serve/recipe.toml new file mode 100644 index 00000000..311cb881 --- /dev/null +++ b/recipes/wip/net/server/quick-serve/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/joaofl/quick-serve" +[build] +template = "cargo" diff --git a/recipes/wip/net/server/rustdesk-server/recipe.toml b/recipes/wip/net/server/rustdesk-server/recipe.toml new file mode 100644 index 00000000..5e99d6d1 --- /dev/null +++ b/recipes/wip/net/server/rustdesk-server/recipe.toml @@ -0,0 +1,5 @@ +#TODO ahash crate error +[source] +git = "https://github.com/rustdesk/rustdesk-server" +[build] +template = "cargo" diff --git a/recipes/wip/net/server/rustypaste/recipe.toml b/recipes/wip/net/server/rustypaste/recipe.toml new file mode 100644 index 00000000..4e2eeb87 --- /dev/null +++ b/recipes/wip/net/server/rustypaste/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/orhun/rustypaste-cli" +[build] +template = "cargo" diff --git a/recipes/wip/net/server/shoes/recipe.toml b/recipes/wip/net/server/shoes/recipe.toml new file mode 100644 index 00000000..474d05ee --- /dev/null +++ b/recipes/wip/net/server/shoes/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/cfal/shoes" +[build] +template = "cargo" diff --git a/recipes/wip/net/server/spadesx/recipe.toml b/recipes/wip/net/server/spadesx/recipe.toml new file mode 100644 index 00000000..79865081 --- /dev/null +++ b/recipes/wip/net/server/spadesx/recipe.toml @@ -0,0 +1,11 @@ +#TODO not compiled or tested +# build instructions: https://github.com/SpadesX/SpadesX#installation +[source] +git = "https://github.com/SpadesX/SpadesX" +[build] +template = "cmake" +dependencies = [ + "readline", + "zlib", + "json-c", +] diff --git a/recipes/wip/net/server/toe-beans/recipe.toml b/recipes/wip/net/server/toe-beans/recipe.toml new file mode 100644 index 00000000..397f61f9 --- /dev/null +++ b/recipes/wip/net/server/toe-beans/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://codeberg.org/black-cat/toe-beans" +[build] +template = "custom" +script = """ +cookbook_cargo_packages toe-beans +""" diff --git a/recipes/wip/net/server/vproxy/recipe.toml b/recipes/wip/net/server/vproxy/recipe.toml new file mode 100644 index 00000000..db161785 --- /dev/null +++ b/recipes/wip/net/server/vproxy/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/0x676e67/vproxy" +[build] +template = "cargo" diff --git a/recipes/wip/net/sharing/gday/recipe.toml b/recipes/wip/net/sharing/gday/recipe.toml new file mode 100644 index 00000000..8d3a6b20 --- /dev/null +++ b/recipes/wip/net/sharing/gday/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/manforowicz/gday" +[build] +template = "custom" +script = """ +cookbook_cargo_packages gday gday_server +""" diff --git a/recipes/wip/net/sharing/hakanai/recipe.toml b/recipes/wip/net/sharing/hakanai/recipe.toml new file mode 100644 index 00000000..ca4fdbab --- /dev/null +++ b/recipes/wip/net/sharing/hakanai/recipe.toml @@ -0,0 +1,11 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/czerwonk/hakanai" +[build] +template = "custom" +dependencies = [ + "openssl3" +] +script = """ +cookbook_cargo_packages hakanai hakanai-server +""" diff --git a/recipes/wip/net/sharing/lan-mouse/recipe.toml b/recipes/wip/net/sharing/lan-mouse/recipe.toml new file mode 100644 index 00000000..10f922d3 --- /dev/null +++ b/recipes/wip/net/sharing/lan-mouse/recipe.toml @@ -0,0 +1,9 @@ +#TODO make GTK4 work +[source] +git = "https://github.com/feschber/lan-mouse" +[build] +template = "cargo" +dependencies = [ + "libadwaita", + "gtk4", +] diff --git a/recipes/wip/net/sharing/magic-wormhole-rs/recipe.toml b/recipes/wip/net/sharing/magic-wormhole-rs/recipe.toml new file mode 100644 index 00000000..c79ab628 --- /dev/null +++ b/recipes/wip/net/sharing/magic-wormhole-rs/recipe.toml @@ -0,0 +1,8 @@ +#TODO async-tar and rustix crates error +[source] +git = "https://github.com/magic-wormhole/magic-wormhole.rs" +[build] +template = "custom" +script = """ +cookbook_cargo_packages magic-wormhole +""" diff --git a/recipes/wip/net/sharing/microbin/recipe.toml b/recipes/wip/net/sharing/microbin/recipe.toml new file mode 100644 index 00000000..94ea7b12 --- /dev/null +++ b/recipes/wip/net/sharing/microbin/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/szabodanika/microbin" +[build] +template = "cargo" diff --git a/recipes/wip/net/sharing/qft/recipe.toml b/recipes/wip/net/sharing/qft/recipe.toml new file mode 100644 index 00000000..6aeb4bab --- /dev/null +++ b/recipes/wip/net/sharing/qft/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/CramBL/quick-file-transfer" +[build] +template = "cargo" diff --git a/recipes/wip/net/sharing/sendme/recipe.toml b/recipes/wip/net/sharing/sendme/recipe.toml new file mode 100644 index 00000000..e4162119 --- /dev/null +++ b/recipes/wip/net/sharing/sendme/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/n0-computer/sendme" +[build] +template = "cargo" diff --git a/recipes/wip/net/sharing/warp/recipe.toml b/recipes/wip/net/sharing/warp/recipe.toml new file mode 100644 index 00000000..797f8b4d --- /dev/null +++ b/recipes/wip/net/sharing/warp/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.gnome.org/World/warp#meson +[source] +git = "https://gitlab.gnome.org/World/warp" +rev = "1daa60691aa1a697acaff55450dcccb085023fc7" +[build] +template = "meson" diff --git a/recipes/wip/net/social/reddix/recipe.toml b/recipes/wip/net/social/reddix/recipe.toml new file mode 100644 index 00000000..59406eee --- /dev/null +++ b/recipes/wip/net/social/reddix/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/ck-zhang/reddix" +[build] +template = "cargo" diff --git a/recipes/wip/net/ssh/dropbear/recipe.toml b/recipes/wip/net/ssh/dropbear/recipe.toml new file mode 100644 index 00000000..487c164c --- /dev/null +++ b/recipes/wip/net/ssh/dropbear/recipe.toml @@ -0,0 +1,23 @@ +[source] +git = "https://gitlab.redox-os.org/tfinnegan937/dropbear.git" +rev = "4c6828d39f988712cf4d2a64c7acf15d76f24aa9" + +[build] +template = "custom" +dependencies = [ + "openssl1", + "zlib" +] +script=""" +COOKBOOK_CONFIGURE_FLAGS+=( + --enable-static + --disable-syslog + --disable-utmpx + --disable-utmp + --disable-lastlog + --disable-loginfunc + --disable-wtmp + --disable-wtmpx +) +cookbook_configure +""" diff --git a/recipes/wip/net/ssh/fastssh/recipe.toml b/recipes/wip/net/ssh/fastssh/recipe.toml new file mode 100644 index 00000000..88b91159 --- /dev/null +++ b/recipes/wip/net/ssh/fastssh/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/Julien-R44/fast-ssh" +[build] +template = "cargo" diff --git a/recipes/wip/net/ssh/filessh/recipe.toml b/recipes/wip/net/ssh/filessh/recipe.toml new file mode 100644 index 00000000..0e6ec4b4 --- /dev/null +++ b/recipes/wip/net/ssh/filessh/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/JayanAXHF/filessh" +[build] +template = "cargo" diff --git a/recipes/wip/net/ssh/mosh/recipe.toml b/recipes/wip/net/ssh/mosh/recipe.toml new file mode 100644 index 00000000..f5dcad4f --- /dev/null +++ b/recipes/wip/net/ssh/mosh/recipe.toml @@ -0,0 +1,14 @@ +#TODO missing header files +[source] +tar = "https://github.com/mobile-shell/mosh/releases/download/mosh-1.4.0/mosh-1.4.0.tar.gz" +[build] +template = "custom" +dependencies = [ + "openssl1", + "ncurses", + "zlib", +] +script = """ +export CPPFLAGS="-I${COOKBOOK_SYSROOT}/include/ncurses" +cookbook_configure +""" diff --git a/recipes/wip/net/ssh/russh/recipe.toml b/recipes/wip/net/ssh/russh/recipe.toml new file mode 100644 index 00000000..828f7471 --- /dev/null +++ b/recipes/wip/net/ssh/russh/recipe.toml @@ -0,0 +1,8 @@ +[source] +git = "https://github.com/jackpot51/russh" + +[build] +template = "custom" +script = """ +cookbook_cargo_examples client_exec_simple client_exec_interactive sftp_client sftp_server +""" diff --git a/recipes/wip/net/ssh/ssh-pilot/recipe.toml b/recipes/wip/net/ssh/ssh-pilot/recipe.toml new file mode 100644 index 00000000..39bb4f0e --- /dev/null +++ b/recipes/wip/net/ssh/ssh-pilot/recipe.toml @@ -0,0 +1,17 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/mfat/sshpilot" +rev = "v4.3.8" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr/bin/ssh-pilot-dir +cp -rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}/usr/bin/ssh-pilot-dir" +echo "#!/usr/bin/env sh \n python3 /usr/bin/ssh-pilot-dir/run.py" > "${COOKBOOK_STAGE}"/usr/bin/ssh-pilot +chmod a+x "${COOKBOOK_STAGE}"/usr/bin/ssh-pilot +""" +[package] +dependencies = [ + "gtk4", + "libadwaita", +] diff --git a/recipes/wip/net/ssh/sshfs/recipe.toml b/recipes/wip/net/ssh/sshfs/recipe.toml new file mode 100644 index 00000000..aa97842e --- /dev/null +++ b/recipes/wip/net/ssh/sshfs/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +# build instructions: https://github.com/libfuse/sshfs#installation +[source] +tar = "https://github.com/libfuse/sshfs/releases/download/sshfs-3.7.3/sshfs-3.7.3.tar.xz" +[build] +template = "meson" +dependencies = [ + "libfuse3", + "glib", +] diff --git a/recipes/wip/net/ssh/sshs/recipe.toml b/recipes/wip/net/ssh/sshs/recipe.toml new file mode 100644 index 00000000..4fa34634 --- /dev/null +++ b/recipes/wip/net/ssh/sshs/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/quantumsheep/sshs" +[build] +template = "cargo" diff --git a/recipes/wip/net/ssh/sshx/recipe.toml b/recipes/wip/net/ssh/sshx/recipe.toml new file mode 100644 index 00000000..4a752c85 --- /dev/null +++ b/recipes/wip/net/ssh/sshx/recipe.toml @@ -0,0 +1,9 @@ +#TODO program source code error (after cargo update) +#TODO require NodeJS and NPM +[source] +git = "https://github.com/ekzhang/sshx" +[build] +template = "custom" +script = """ +cookbook_cargo_packages sshx +""" diff --git a/recipes/wip/net/ssh/termirs/recipe.toml b/recipes/wip/net/ssh/termirs/recipe.toml new file mode 100644 index 00000000..0ebb4402 --- /dev/null +++ b/recipes/wip/net/ssh/termirs/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/caelansar/termirs" +[build] +template = "cargo" diff --git a/recipes/wip/news/feedr/recipe.toml b/recipes/wip/news/feedr/recipe.toml new file mode 100644 index 00000000..d9d70884 --- /dev/null +++ b/recipes/wip/news/feedr/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/bahdotsh/feedr" +[build] +template = "cargo" diff --git a/recipes/wip/news/moccasin/recipe.toml b/recipes/wip/news/moccasin/recipe.toml new file mode 100644 index 00000000..1572ebc7 --- /dev/null +++ b/recipes/wip/news/moccasin/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/rektdeckard/moccasin" +[build] +template = "cargo" diff --git a/recipes/wip/news/news-rs/recipe.toml b/recipes/wip/news/news-rs/recipe.toml new file mode 100644 index 00000000..44177d64 --- /dev/null +++ b/recipes/wip/news/news-rs/recipe.toml @@ -0,0 +1,5 @@ +#TODO update mio to 0.8 (after cargo update) +[source] +git = "https://github.com/Atticus64/news" +[build] +template = "cargo" diff --git a/recipes/wip/news/tuifeed/recipe.toml b/recipes/wip/news/tuifeed/recipe.toml new file mode 100644 index 00000000..2fe8bf32 --- /dev/null +++ b/recipes/wip/news/tuifeed/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/veeso/tuifeed" +[build] +template = "cargo" diff --git a/recipes/wip/nonfree/games/openspades/recipe.toml b/recipes/wip/nonfree/games/openspades/recipe.toml new file mode 100644 index 00000000..e7d60a0d --- /dev/null +++ b/recipes/wip/nonfree/games/openspades/recipe.toml @@ -0,0 +1,18 @@ +#TODO not compiled or tested +# build instructions: https://github.com/yvt/openspades#on-unixes-from-source +[source] +git = "https://github.com/yvt/openspades" +[build] +template = "cmake" +dependencies = [ + "glew", + "openssl1", + "sdl2", + "sdl2-image", + "freealut", + "freetype2", + "opus", + "opusfile", + "libjpeg", + "openal", +] diff --git a/recipes/wip/nonfree/games/zerospades/recipe.toml b/recipes/wip/nonfree/games/zerospades/recipe.toml new file mode 100644 index 00000000..369eedf8 --- /dev/null +++ b/recipes/wip/nonfree/games/zerospades/recipe.toml @@ -0,0 +1,18 @@ +#TODO not compiled or tested +# build instructions: https://github.com/yvt/openspades#on-unixes-from-source +[source] +git = "https://github.com/siecvi/zerospades" +[build] +template = "cmake" +dependencies = [ + "glew", + "openssl1", + "sdl2", + "sdl2-image", + "freealut", + "freetype2", + "opus", + "opusfile", + "libjpeg", + "openal", +] diff --git a/recipes/wip/office/cactui/recipe.toml b/recipes/wip/office/cactui/recipe.toml new file mode 100644 index 00000000..1f491a8a --- /dev/null +++ b/recipes/wip/office/cactui/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/vkobinski/CacTui" +[build] +template = "cargo" diff --git a/recipes/wip/office/doxx/recipe.toml b/recipes/wip/office/doxx/recipe.toml new file mode 100644 index 00000000..4375cd1e --- /dev/null +++ b/recipes/wip/office/doxx/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/bgreenwell/doxx" +[build] +template = "cargo" diff --git a/recipes/wip/office/libreoffice-dictionaries/recipe.toml b/recipes/wip/office/libreoffice-dictionaries/recipe.toml new file mode 100644 index 00000000..d8c4eac9 --- /dev/null +++ b/recipes/wip/office/libreoffice-dictionaries/recipe.toml @@ -0,0 +1,5 @@ +#TODO probably wrong template +[source] +tar = "https://download.documentfoundation.org/libreoffice/src/25.8.2/libreoffice-dictionaries-25.8.2.2.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/office/libreoffice-translations/recipe.toml b/recipes/wip/office/libreoffice-translations/recipe.toml new file mode 100644 index 00000000..d1823c86 --- /dev/null +++ b/recipes/wip/office/libreoffice-translations/recipe.toml @@ -0,0 +1,5 @@ +#TODO probably wrong template +[source] +tar = "https://download.documentfoundation.org/libreoffice/src/25.8.2/libreoffice-translations-25.8.2.2.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/office/libreoffice/recipe.toml b/recipes/wip/office/libreoffice/recipe.toml new file mode 100644 index 00000000..58922697 --- /dev/null +++ b/recipes/wip/office/libreoffice/recipe.toml @@ -0,0 +1,15 @@ +#TODO determine minimum dependencies +# dependencies reference: https://wiki.documentfoundation.org/Development/BuildingOnLinux#Build_dependencies +[source] +tar = "https://download.documentfoundation.org/libreoffice/src/25.8.2/libreoffice-25.8.2.2.tar.xz" +[build] +template = "configure" +#dependencies = [ +# "kerberos5", +# "qt5-base", +# "gtk3", +# "nss", +# "fontconfig", +# "gstreamer", +# "libcups", +#] diff --git a/recipes/wip/office/sheetsui/recipe.toml b/recipes/wip/office/sheetsui/recipe.toml new file mode 100644 index 00000000..3468441b --- /dev/null +++ b/recipes/wip/office/sheetsui/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/zaphar/sheetsui" +[build] +template = "cargo" diff --git a/recipes/wip/office/xleak/recipe.toml b/recipes/wip/office/xleak/recipe.toml new file mode 100644 index 00000000..5f4653a6 --- /dev/null +++ b/recipes/wip/office/xleak/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/bgreenwell/xleak" +[build] +template = "cargo" diff --git a/recipes/wip/office/zathura/recipe.toml b/recipes/wip/office/zathura/recipe.toml new file mode 100644 index 00000000..4a2b57e9 --- /dev/null +++ b/recipes/wip/office/zathura/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +# build instructions: https://pwmt.org/projects/zathura/installation/ +[source] +tar = "https://pwmt.org/projects/zathura/download/zathura-0.5.14.tar.xz" +[build] +template = "meson" +dependencies = [ + "girara", + "gtk3", +] diff --git a/recipes/wip/other/termplay/recipe.sh b/recipes/wip/other/termplay/recipe.sh new file mode 100644 index 00000000..e52a05f0 --- /dev/null +++ b/recipes/wip/other/termplay/recipe.sh @@ -0,0 +1,2 @@ +GIT=https://github.com/jD91mZM2/termplay.git +CARGOFLAGS="--no-default-features --features bin,termion" diff --git a/recipes/wip/players/cmus/recipe.toml b/recipes/wip/players/cmus/recipe.toml new file mode 100644 index 00000000..df673f22 --- /dev/null +++ b/recipes/wip/players/cmus/recipe.toml @@ -0,0 +1,13 @@ +#TODO can't detect the configure script +[source] +git = "https://github.com/cmus/cmus" +rev = "ade6e2a7253d7a256e87fdac3da17c9158e6700e" +[build] +template = "custom" +dependencies = [ + "ncurses", +] +script = """ +export CPPFLAGS="-I${COOKBOOK_SYSROOT}/include/ncurses" +cookbook_configure +""" diff --git a/recipes/wip/players/cosmic-player/manifest b/recipes/wip/players/cosmic-player/manifest new file mode 100644 index 00000000..7b4df7ce --- /dev/null +++ b/recipes/wip/players/cosmic-player/manifest @@ -0,0 +1,10 @@ +name=COSMIC Media Player +binary=/usr/bin/cosmic-player +icon=/ui/icons/apps/multimedia-photo-viewer.png +author=Jeremy Soller +description=COSMIC Media Player +accept=*.avi +accept=*.mkv +accept=*.mov +accept=*.mp4 +accept=*.ogv diff --git a/recipes/wip/players/cosmic-player/recipe.toml b/recipes/wip/players/cosmic-player/recipe.toml new file mode 100644 index 00000000..c876bf14 --- /dev/null +++ b/recipes/wip/players/cosmic-player/recipe.toml @@ -0,0 +1,38 @@ +[source] +git = "https://github.com/pop-os/cosmic-player.git" +branch = "master" + +[build] +template = "custom" +dependencies = [ + "ffmpeg6", + "gettext", + "glib", + "gstreamer", + "libffi", + "libiconv", + "pcre2", + "zlib", +] +script = """ +DYNAMIC_INIT +"${COOKBOOK_CARGO}" rustc \ + --manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \ + --release \ + --bin cosmic-player \ + --no-default-features \ + -- \ + -C link-args="-lgmodule-2.0 -lffi -liconv -lpcre2-8 -lz" +mkdir -pv "${COOKBOOK_STAGE}/usr/bin/" +cp -v "target/${TARGET}/release/cosmic-player" "${COOKBOOK_STAGE}/usr/bin/" +mkdir -pv "${COOKBOOK_STAGE}/ui/apps/" +cp -v "${COOKBOOK_RECIPE}/manifest" "${COOKBOOK_STAGE}/ui/apps/cosmic-player" +#TODO: install with just? +APPID="com.system76.CosmicPlayer" +mkdir -pv "${COOKBOOK_STAGE}/usr/share/applications/" +cp -v "${COOKBOOK_SOURCE}/res/${APPID}.desktop" "${COOKBOOK_STAGE}/usr/share/applications/" +mkdir -pv "${COOKBOOK_STAGE}/usr/share/metainfo/" +cp -v "${COOKBOOK_SOURCE}/res/${APPID}.metainfo.xml" "${COOKBOOK_STAGE}/usr/share/metainfo/" +mkdir -pv "${COOKBOOK_STAGE}/usr/share/icons/" +cp -rv "${COOKBOOK_SOURCE}/res/icons/hicolor/" "${COOKBOOK_STAGE}/usr/share/icons/" +""" diff --git a/recipes/wip/players/festival/recipe.toml b/recipes/wip/players/festival/recipe.toml new file mode 100644 index 00000000..c754ffbe --- /dev/null +++ b/recipes/wip/players/festival/recipe.toml @@ -0,0 +1,11 @@ +#TODO make D-Bus work +[source] +git = "https://github.com/hinto-janai/festival" +[build] +template = "custom" +dependencies = [ + "dbus", +] +script = """ +cookbook_cargo_packages festival-gui +""" diff --git a/recipes/wip/players/glide/recipe.toml b/recipes/wip/players/glide/recipe.toml new file mode 100644 index 00000000..8a1711d9 --- /dev/null +++ b/recipes/wip/players/glide/recipe.toml @@ -0,0 +1,9 @@ +#TODO Make gtk4 work +[source] +git = "https://github.com/philn/glide" +[build] +template = "cargo" +dependencies = [ + "gtk4", + "gstreamer", +] diff --git a/recipes/wip/players/kronos/recipe.toml b/recipes/wip/players/kronos/recipe.toml new file mode 100644 index 00000000..309f1fa3 --- /dev/null +++ b/recipes/wip/players/kronos/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/TrevorSatori/kronos" +[build] +template = "cargo" diff --git a/recipes/wip/players/mpv/recipe.toml b/recipes/wip/players/mpv/recipe.toml new file mode 100644 index 00000000..f036ba6b --- /dev/null +++ b/recipes/wip/players/mpv/recipe.toml @@ -0,0 +1,17 @@ +#TODO not compiled or tested +# build instructions: https://github.com/mpv-player/mpv#compilation +#TODO missing dependencies +[source] +git = "https://github.com/mpv-player/mpv" +rev = "e48ac7ce08462f5e33af6ef9deeac6fa87eef01e" +[build] +template = "meson" +dependencies = [ + "ffmpeg6", + "libass", + "libjpeg", + "libiconv", + "zlib", + "mesa", + "sdl2", +] diff --git a/recipes/wip/players/pragha/recipe.toml b/recipes/wip/players/pragha/recipe.toml new file mode 100644 index 00000000..13dd9022 --- /dev/null +++ b/recipes/wip/players/pragha/recipe.toml @@ -0,0 +1,14 @@ +#TODO Make GTK3 work +[source] +git = "https://github.com/pragha-music-player/pragha" +[build] +template = "configure" +dependencies = [ + "gtk3", + "glib", + "gstreamer", + "taglib", + "sqlite3", + "libpeas", + "totem-plparser", +] diff --git a/recipes/wip/players/recordbox/recipe.toml b/recipes/wip/players/recordbox/recipe.toml new file mode 100644 index 00000000..4cb5b8a8 --- /dev/null +++ b/recipes/wip/players/recordbox/recipe.toml @@ -0,0 +1,14 @@ +#TODO missing dependencies +[source] +git = "https://codeberg.org/edestcroix/Recordbox" +[build] +template = "custom" +dependencies = [ + "sqlite3", + "gtk4", + "glib", + "libadwaita", + "liblcms", + "gstreamer", +] +script = "DYNAMIC_INIT cookbook_cargo" diff --git a/recipes/wip/players/rustcloud/recipe.toml b/recipes/wip/players/rustcloud/recipe.toml new file mode 100644 index 00000000..93bca25d --- /dev/null +++ b/recipes/wip/players/rustcloud/recipe.toml @@ -0,0 +1,8 @@ +#TODO openssl error (after cargo update) +[source] +git = "https://github.com/cetra3/rustcloud" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/players/rustic/recipe.toml b/recipes/wip/players/rustic/recipe.toml new file mode 100644 index 00000000..2ad92438 --- /dev/null +++ b/recipes/wip/players/rustic/recipe.toml @@ -0,0 +1,5 @@ +#TODO can't update the crates, patch the "fragile" crate version +[source] +git = "https://github.com/rustic-music-player/rustic" +[build] +template = "cargo" diff --git a/recipes/wip/players/spoify/recipe.toml b/recipes/wip/players/spoify/recipe.toml new file mode 100644 index 00000000..4b838f9d --- /dev/null +++ b/recipes/wip/players/spoify/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/slyeet03/spoify" +[build] +template = "cargo" diff --git a/recipes/wip/players/spotify-player/recipe.toml b/recipes/wip/players/spotify-player/recipe.toml new file mode 100644 index 00000000..decb29a5 --- /dev/null +++ b/recipes/wip/players/spotify-player/recipe.toml @@ -0,0 +1,21 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/aome510/spotify-player" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +package=spotify_player +"${COOKBOOK_CARGO}" build \ + --manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \ + --package "${package}" \ + --release + --no-default-features + --rodio-backend + mkdir -pv "${COOKBOOK_STAGE}/usr/bin" + cp -v \ + "target/${TARGET}/release/${package}" \ + "${COOKBOOK_STAGE}/usr/bin/${package}" +""" diff --git a/recipes/wip/players/symphonia-play/recipe.toml b/recipes/wip/players/symphonia-play/recipe.toml new file mode 100644 index 00000000..09f2292b --- /dev/null +++ b/recipes/wip/players/symphonia-play/recipe.toml @@ -0,0 +1,10 @@ +#TODO compiled and tested +#TODO cpal can't find an audio device +[source] +git = "https://github.com/pdeljanov/Symphonia" +[build] +template = "custom" +script = """ +cookbook_cargo_packages symphonia-play +mv "${COOKBOOK_STAGE}/usr/bin/symphonia-play_symphonia-play" "${COOKBOOK_STAGE}/usr/bin/symphonia-play" +""" diff --git a/recipes/wip/players/tap/recipe.toml b/recipes/wip/players/tap/recipe.toml new file mode 100644 index 00000000..e555a2f9 --- /dev/null +++ b/recipes/wip/players/tap/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/timdubbins/tap" +[build] +template = "cargo" diff --git a/recipes/wip/players/termusic/recipe.toml b/recipes/wip/players/termusic/recipe.toml new file mode 100644 index 00000000..b1ee4370 --- /dev/null +++ b/recipes/wip/players/termusic/recipe.toml @@ -0,0 +1,11 @@ +#TODO missing script for "make", see https://github.com/tramhao/termusic#from-source +[source] +git = "https://github.com/tramhao/termusic" +rev = "109405465bd5873567b5387c20e9b149e477b176" +[build] +template = "custom" +dependencies = [ + "gstreamer", + "dbus", + "mpv", +] diff --git a/recipes/wip/players/tplay/recipe.toml b/recipes/wip/players/tplay/recipe.toml new file mode 100644 index 00000000..603d5b11 --- /dev/null +++ b/recipes/wip/players/tplay/recipe.toml @@ -0,0 +1,11 @@ +#TODO Make opencv4 work +[source] +git = "https://github.com/maxcurzi/tplay" +[build] +template = "cargo" +dependencies = [ + "ffmpeg6", + "llvm18", + "openssl1", + "opencv4", +] diff --git a/recipes/wip/players/ttv/recipe.toml b/recipes/wip/players/ttv/recipe.toml new file mode 100644 index 00000000..37b0c7f0 --- /dev/null +++ b/recipes/wip/players/ttv/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/nik-rev/ttv" +[build] +template = "cargo" +dependencies = [ + "ffmpeg6", +] diff --git a/recipes/wip/players/vlc/recipe.toml b/recipes/wip/players/vlc/recipe.toml new file mode 100644 index 00000000..b1e4c078 --- /dev/null +++ b/recipes/wip/players/vlc/recipe.toml @@ -0,0 +1,48 @@ +#TODO port Qt4 or wxWidgets +#TODO make dependencies work +# customization - https://wiki.videolan.org/Configure/ +[source] +tar = "https://get.videolan.org/vlc/3.0.20/vlc-3.0.20.tar.xz" +[build] +template = "configure" +dependencies = [ + "libvorbis", + "libogg", + "speex", + "libflac", + "libtheora", + "x264", + "liba52", + "libmpeg2", + "lame", + "ffmpeg6", + "libmad", + "libdca", + "twolame", + "musepack", + "libass", + "libzvbi", + "opus", + "libebml", + "libmatroska", + "libdvbpsi", + "libdvdcss", + "libdvdread", + "libdvdnav", + "libbluray", + "libgpg-error", + "libgcrypt", + "gnutls", + "libxml2", + "libvncserver", + "libpng", + "libjpeg", + "libiconv", + "gettext", + "zlib", + "freetype2", + "fribidi", + "fontconfig", + "taglib", + "wxwidgets-gtk3", +] diff --git a/recipes/wip/players/ytermusic/recipe.toml b/recipes/wip/players/ytermusic/recipe.toml new file mode 100644 index 00000000..2f4b872b --- /dev/null +++ b/recipes/wip/players/ytermusic/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/ccgauche/ytermusic" +[build] +template = "cargo" diff --git a/recipes/wip/recorders/asciinema/recipe.toml b/recipes/wip/recorders/asciinema/recipe.toml new file mode 100644 index 00000000..72724cc9 --- /dev/null +++ b/recipes/wip/recorders/asciinema/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/asciinema/asciinema" +[build] +template = "cargo" diff --git a/recipes/wip/recorders/autocast/recipe.toml b/recipes/wip/recorders/autocast/recipe.toml new file mode 100644 index 00000000..de7c98b7 --- /dev/null +++ b/recipes/wip/recorders/autocast/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/k9withabone/autocast" +[build] +template = "cargo" diff --git a/recipes/wip/recorders/gpu-screen-recorder-gtk/recipe.toml b/recipes/wip/recorders/gpu-screen-recorder-gtk/recipe.toml new file mode 100644 index 00000000..e37a5938 --- /dev/null +++ b/recipes/wip/recorders/gpu-screen-recorder-gtk/recipe.toml @@ -0,0 +1,14 @@ +#TODO not compiled or tested +[source] +git = "https://git.dec05eba.com/gpu-screen-recorder-gtk" +rev = "7fb7608b720068d3c114330e8d274b04ef310cf2" +[build] +template = "meson" +dependencies = [ + "gtk3", + "libx11", +] +[package] +dependencies = [ + "gpu-screen-recorder", +] diff --git a/recipes/wip/recorders/gpu-screen-recorder/recipe.toml b/recipes/wip/recorders/gpu-screen-recorder/recipe.toml new file mode 100644 index 00000000..ebe10465 --- /dev/null +++ b/recipes/wip/recorders/gpu-screen-recorder/recipe.toml @@ -0,0 +1,20 @@ +#TODO not compiled or tested +[source] +git = "https://git.dec05eba.com/gpu-screen-recorder" +rev = "422f214283ba50649acca4d9b5a9778d313fe05b" +[build] +template = "meson" +dependencies = [ + "mesa", + "libvulkan", + "ffmpeg6", + "libx11", + "libxcomposite", + "libxrandr", + "libxfixes", + "libxdamage", + "pulseaudio", + "libva", + "libcap", + "libwayland", +] diff --git a/recipes/wip/recorders/obs-studio/recipe.toml b/recipes/wip/recorders/obs-studio/recipe.toml new file mode 100644 index 00000000..dca4d392 --- /dev/null +++ b/recipes/wip/recorders/obs-studio/recipe.toml @@ -0,0 +1,32 @@ +#TODO not compiled or tested +# build instructions: https://github.com/obsproject/obs-studio/wiki/Building-OBS-Studio +# maybe missing dependencies +[source] +git = "https://github.com/obsproject/obs-studio" +rev = "b45a73296f4f898e2ed455023020058075c30bab" +[build] +template = "cmake" +dependencies = [ + "boost", + "librsvg", + "dbus", + "fontconfig", + "freetype2", + "jansson", + "pipewire", + "mesa", + "speexdsp", + "ffmpeg6", + "x264", + "curl", + "mbedtls", + "libva", + "qt5-base", + "qt5-svg", + "eudev", + "pciutils", + "libqrcodegenc", + "librist", + "libsrt", + "libwebsocket++", +] diff --git a/recipes/wip/scan/zbar/recipe.toml b/recipes/wip/scan/zbar/recipe.toml new file mode 100644 index 00000000..07df6847 --- /dev/null +++ b/recipes/wip/scan/zbar/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +#TODO determine the dependencies +[source] +tar = "http://sourceforge.net/projects/zbar/files/zbar/0.10/zbar-0.10.tar.bz2/download" +[build] +template = "configure" diff --git a/recipes/wip/science/alevin-fry/recipe.toml b/recipes/wip/science/alevin-fry/recipe.toml new file mode 100644 index 00000000..f6b52100 --- /dev/null +++ b/recipes/wip/science/alevin-fry/recipe.toml @@ -0,0 +1,5 @@ +#TODO compilation error +[source] +git = "https://github.com/COMBINE-lab/alevin-fry" +[build] +template = "cargo" diff --git a/recipes/wip/science/astroterm/recipe.toml b/recipes/wip/science/astroterm/recipe.toml new file mode 100644 index 00000000..a64a2fcf --- /dev/null +++ b/recipes/wip/science/astroterm/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/da-luce/astroterm" +[build] +template = "cargo" diff --git a/recipes/wip/science/celestia-data/recipe.toml b/recipes/wip/science/celestia-data/recipe.toml new file mode 100644 index 00000000..06988fea --- /dev/null +++ b/recipes/wip/science/celestia-data/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://github.com/CelestiaProject/Celestia/blob/master/INSTALL.md#installing-the-content +[source] +git = "https://github.com/CelestiaProject/CelestiaContent" +[build] +template = "cmake" diff --git a/recipes/wip/science/celestia/recipe.toml b/recipes/wip/science/celestia/recipe.toml new file mode 100644 index 00000000..1dd31156 --- /dev/null +++ b/recipes/wip/science/celestia/recipe.toml @@ -0,0 +1,24 @@ +#TODO not compiled or tested +# build instructions: https://github.com/CelestiaProject/Celestia/blob/master/INSTALL.md#celestia-install-instructions-for-unix +# sdl2 frontend is limited, qt6 or qt5 is preferred +[source] +tar = "https://github.com/CelestiaProject/Celestia/releases/download/1.6.4/celestia-1.6.4.tar.xz" +[build] +template = "cmake" +cmakeflags = [ + "-DENABLE_INTERFACE=ON", + "-DENABLE_SDL=ON", +] +dependencies = [ + "mesa", + "mesa-glu", + "sdl2", + "libepoxy", + "libeigen", + "libfmt", + "freetype2", + "libpng", + "libjpeg", + "luajit", + #"qt6-base", +] diff --git a/recipes/wip/science/chem-creator/recipe.toml b/recipes/wip/science/chem-creator/recipe.toml new file mode 100644 index 00000000..cb5cfba3 --- /dev/null +++ b/recipes/wip/science/chem-creator/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/pumken/chemcreator" +[build] +template = "cargo" diff --git a/recipes/wip/science/cosmic-weather/recipe.toml b/recipes/wip/science/cosmic-weather/recipe.toml new file mode 100644 index 00000000..b837c813 --- /dev/null +++ b/recipes/wip/science/cosmic-weather/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/jwestall/cosmic-weather" +[build] +template = "cargo" diff --git a/recipes/wip/science/gaia-sky/recipe.toml b/recipes/wip/science/gaia-sky/recipe.toml new file mode 100644 index 00000000..f8398037 --- /dev/null +++ b/recipes/wip/science/gaia-sky/recipe.toml @@ -0,0 +1,12 @@ +#TODO not compiled or tested +[source] +tar = "https://gaia.ari.uni-heidelberg.de/gaiasky/releases/latest/gaiasky-3.6.4-2.3bfeec0f9.tar.gz" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/gaia-sky +mkdir -pv "${COOKBOOK_STAGE}"/usr/bin +cp -rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}"/usr/share/gaia-sky +echo "#!/usr/bin/env bash \n /usr/share/gaia-sky" > "${COOKBOOK_STAGE}"/usr/bin/gaia-sky +chmod a+x "${COOKBOOK_STAGE}"/usr/bin/gaia-sky +""" diff --git a/recipes/wip/science/gromacs/recipe.toml b/recipes/wip/science/gromacs/recipe.toml new file mode 100644 index 00000000..4b02ebc5 --- /dev/null +++ b/recipes/wip/science/gromacs/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://manual.gromacs.org/current/install-guide/index.html +[source] +tar = "https://ftp.gromacs.org/gromacs/gromacs-2025.3.tar.gz" +[build] +template = "cmake" diff --git a/recipes/wip/science/mrbayes/recipe.toml b/recipes/wip/science/mrbayes/recipe.toml new file mode 100644 index 00000000..64cbe798 --- /dev/null +++ b/recipes/wip/science/mrbayes/recipe.toml @@ -0,0 +1,5 @@ +#TODO don't recognize the redox target +[source] +git = "https://github.com/NBISweden/MrBayes" +[build] +template = "configure" diff --git a/recipes/wip/science/nucleus/recipe.toml b/recipes/wip/science/nucleus/recipe.toml new file mode 100644 index 00000000..1dd85d0d --- /dev/null +++ b/recipes/wip/science/nucleus/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +#TODO determine minimum dependencies from meson log +[source] +tar = "https://codeberg.org/lo-vely/nucleus/archive/v2.tar.gz" +[build] +template = "meson" diff --git a/recipes/wip/science/oarfish/recipe.toml b/recipes/wip/science/oarfish/recipe.toml new file mode 100644 index 00000000..f1376e4e --- /dev/null +++ b/recipes/wip/science/oarfish/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/COMBINE-lab/oarfish" +[build] +template = "cargo" diff --git a/recipes/wip/science/openfoam/recipe.toml b/recipes/wip/science/openfoam/recipe.toml new file mode 100644 index 00000000..cf6e21fc --- /dev/null +++ b/recipes/wip/science/openfoam/recipe.toml @@ -0,0 +1,9 @@ +#TODO missing script for building, see https://openfoam.org/download/11-source/ +[source] +tar = "http://dl.openfoam.org/source/11" +[build] +template = "custom" +dependencies = [ + "paraview", + "scotch", +] diff --git a/recipes/wip/science/openspace/recipe.toml b/recipes/wip/science/openspace/recipe.toml new file mode 100644 index 00000000..b67caa26 --- /dev/null +++ b/recipes/wip/science/openspace/recipe.toml @@ -0,0 +1,11 @@ +#TODO not compiled or tested +# build instructions: https://docs.openspaceproject.com/en/latest/dev/compiling/index.html# +[source] +git = "https://github.com/OpenSpace/OpenSpace" +rev = "b3681167a3b95d49ac7aa7d06b07cbd88c687e9a" +[build] +template = "cmake" +dependencies = [ + "qt6-base", + "libgdal", +] diff --git a/recipes/wip/science/piscem/recipe.toml b/recipes/wip/science/piscem/recipe.toml new file mode 100644 index 00000000..47886919 --- /dev/null +++ b/recipes/wip/science/piscem/recipe.toml @@ -0,0 +1,5 @@ +#TODO CMake error +[source] +git = "https://github.com/COMBINE-lab/piscem" +[build] +template = "cargo" diff --git a/recipes/wip/science/polypolish/recipe.toml b/recipes/wip/science/polypolish/recipe.toml new file mode 100644 index 00000000..5e6649d9 --- /dev/null +++ b/recipes/wip/science/polypolish/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/rrwick/Polypolish" +[build] +template = "cargo" diff --git a/recipes/wip/science/qmcpack/recipe.toml b/recipes/wip/science/qmcpack/recipe.toml new file mode 100644 index 00000000..33777b79 --- /dev/null +++ b/recipes/wip/science/qmcpack/recipe.toml @@ -0,0 +1,16 @@ +#TODO not compiled or tested +# build instructions: https://qmcpack.readthedocs.io/en/develop/installation.html#building-with-cmake +# probably missing dependencies +[source] +git = "https://github.com/QMCPACK/qmcpack" +rev = "9d0d968139fc33f71dbf9159f526dd7b47f10a3b" +[build] +template = "cmake" +dependencies = [ + "openmpi", + "openblas", + "hdf5", + "libxml2", + "boost", + "fftw", +] diff --git a/recipes/wip/science/scidataflow/recipe.toml b/recipes/wip/science/scidataflow/recipe.toml new file mode 100644 index 00000000..2e6146e1 --- /dev/null +++ b/recipes/wip/science/scidataflow/recipe.toml @@ -0,0 +1,8 @@ +#TODO async-io and rustix crates error +[source] +git = "https://github.com/vsbuffalo/scidataflow" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/science/simpleaf/recipe.toml b/recipes/wip/science/simpleaf/recipe.toml new file mode 100644 index 00000000..d530364a --- /dev/null +++ b/recipes/wip/science/simpleaf/recipe.toml @@ -0,0 +1,5 @@ +#TODO faccess crate error +[source] +git = "https://github.com/COMBINE-lab/simpleaf" +[build] +template = "cargo" diff --git a/recipes/wip/science/siril/recipe.toml b/recipes/wip/science/siril/recipe.toml new file mode 100644 index 00000000..21d6258d --- /dev/null +++ b/recipes/wip/science/siril/recipe.toml @@ -0,0 +1,14 @@ +#TODO missing cross-compilation script +#TODO missing dependencies - https://gitlab.com/free-astro/siril#requirements +# build instructions - https://gitlab.com/free-astro/siril#building-siril-for-gnulinux +[source] +tar = "https://free-astro.org/download/siril-1.2.4.tar.bz2" +[build] +template = "custom" +dependencies = [ + "glib", + "gtk3", + "liblcms", + "fftw", + "opencv4", +] diff --git a/recipes/wip/science/sonde/recipe.toml b/recipes/wip/science/sonde/recipe.toml new file mode 100644 index 00000000..3b7d298d --- /dev/null +++ b/recipes/wip/science/sonde/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/rnleach/sonde" +[build] +template = "cargo" +dependencies = [ + "gtk4", +] diff --git a/recipes/wip/science/specfem2d/recipe.toml b/recipes/wip/science/specfem2d/recipe.toml new file mode 100644 index 00000000..f43f635e --- /dev/null +++ b/recipes/wip/science/specfem2d/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing script for GNU Autotools", see https://specfem2d.readthedocs.io/en/latest/02_getting_started/ +[source] +git = "https://github.com/SPECFEM/specfem2d" +rev = "0bbc7858dcd0ac9c1c64a35a41c83fa7f6847205" +[build] +template = "custom" diff --git a/recipes/wip/science/specfem3d-globe/recipe.toml b/recipes/wip/science/specfem3d-globe/recipe.toml new file mode 100644 index 00000000..8192ae27 --- /dev/null +++ b/recipes/wip/science/specfem3d-globe/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing script for GNU Autotools, see https://specfem3d-globe.readthedocs.io/en/latest/02_getting_started/ +[source] +git = "https://github.com/SPECFEM/specfem3d_globe" +rev = "59f5e68c468c53a07011a795e6fa1650d6be0fd9" +[build] +template = "custom" diff --git a/recipes/wip/science/specfem3d/recipe.toml b/recipes/wip/science/specfem3d/recipe.toml new file mode 100644 index 00000000..7247949d --- /dev/null +++ b/recipes/wip/science/specfem3d/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing script for GNU Autotools, see https://specfem3d.readthedocs.io/en/latest/02_getting_started/ +[source] +git = "https://github.com/SPECFEM/specfem3d" +rev = "c97d521a9a19ed41523837f161c70deacdb180cc" +[build] +template = "custom" diff --git a/recipes/wip/science/stellarium/recipe.toml b/recipes/wip/science/stellarium/recipe.toml new file mode 100644 index 00000000..89430ec2 --- /dev/null +++ b/recipes/wip/science/stellarium/recipe.toml @@ -0,0 +1,23 @@ +#TODO not compiled or tested +# build instructions: https://github.com/Stellarium/stellarium/blob/master/BUILDING.md#building +#TODO missing dependencies: https://github.com/Stellarium/stellarium/blob/master/BUILDING.md#qt6 +[source] +tar = "https://github.com/Stellarium/stellarium/releases/download/v25.3/stellarium-25.3.tar.xz" +[build] +template = "cmake" +dependencies = [ + "mesa", + "zlib", + "gstreamer", + "qt6-base", + "qt6-multimedia", + "qt6-webengine", + "qt6-positioning", + "qt6-charts", + "qt6-imageformats", + "qt6-translations", + "qt6-tools", + "libxkbcommon", + "gexiv2", + "libnlopt", +] diff --git a/recipes/wip/science/vidoxide/recipe.toml b/recipes/wip/science/vidoxide/recipe.toml new file mode 100644 index 00000000..396e3923 --- /dev/null +++ b/recipes/wip/science/vidoxide/recipe.toml @@ -0,0 +1,8 @@ +#TODO require camera drivers, see https://github.com/GreatAttractor/vidoxide#3-building +[source] +git = "https://github.com/GreatAttractor/vidoxide" +[build] +template = "cargo" +dependencies = [ + "gtk3", +] diff --git a/recipes/wip/science/weather/cosmic-ext-forecast/recipe.toml b/recipes/wip/science/weather/cosmic-ext-forecast/recipe.toml new file mode 100644 index 00000000..1b35e524 --- /dev/null +++ b/recipes/wip/science/weather/cosmic-ext-forecast/recipe.toml @@ -0,0 +1,15 @@ +#TODO not compiled or tested +#TODO verify if the resource commands are correct +[source] +git = "https://github.com/cosmic-utils/forecast" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/applications +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/metainfo +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/icons +cp -rv "${COOKBOOK_SOURCE}"/res/com.jwestall.Forecast.desktop "${COOKBOOK_STAGE}"/usr/share/applications +cp -rv "${COOKBOOK_SOURCE}"/res/com.jwestall.Forecast.metainfo.xml "${COOKBOOK_STAGE}"/usr/share/metainfo +cp -rv "${COOKBOOK_SOURCE}"/res/icons/hicolor "${COOKBOOK_STAGE}"/usr/share/icons +cookbook_cargo +""" \ No newline at end of file diff --git a/recipes/wip/science/wthrr/recipe.toml b/recipes/wip/science/wthrr/recipe.toml new file mode 100644 index 00000000..cb15129b --- /dev/null +++ b/recipes/wip/science/wthrr/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/ttytm/wthrr-the-weathercrab" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/search/clapgrep/recipe.toml b/recipes/wip/search/clapgrep/recipe.toml new file mode 100644 index 00000000..9159cad1 --- /dev/null +++ b/recipes/wip/search/clapgrep/recipe.toml @@ -0,0 +1,11 @@ +#TODO write a script to copy the data files, see: https://github.com/luleyleo/clapgrep/blob/main/makefile +[source] +git = "https://github.com/luleyleo/clapgrep" +[build] +template = "custom" +dependencies = [ + "gtk4", +] +script = """ +cookbook_cargo_packages clapgrep-gnome +""" diff --git a/recipes/wip/search/lstr/recipe.toml b/recipes/wip/search/lstr/recipe.toml new file mode 100644 index 00000000..b91c05a1 --- /dev/null +++ b/recipes/wip/search/lstr/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/bgreenwell/lstr" +[build] +template = "cargo" diff --git a/recipes/wip/search/scout/recipe.toml b/recipes/wip/search/scout/recipe.toml new file mode 100644 index 00000000..4e9acbf4 --- /dev/null +++ b/recipes/wip/search/scout/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/jhbabon/scout" +[build] +template = "cargo" diff --git a/recipes/wip/search/srgn/recipe.toml b/recipes/wip/search/srgn/recipe.toml new file mode 100644 index 00000000..4e00db65 --- /dev/null +++ b/recipes/wip/search/srgn/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/alexpovel/srgn" +[build] +template = "cargo" diff --git a/recipes/wip/search/television/recipe.toml b/recipes/wip/search/television/recipe.toml new file mode 100644 index 00000000..82eadd56 --- /dev/null +++ b/recipes/wip/search/television/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/alexpasmantier/television" +[build] +template = "cargo" diff --git a/recipes/wip/search/ugrep/recipe.toml b/recipes/wip/search/ugrep/recipe.toml new file mode 100644 index 00000000..0834f2c8 --- /dev/null +++ b/recipes/wip/search/ugrep/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +#TODO maybe wrong template +[source] +git = "https://github.com/Genivia/ugrep" +rev = "7ddb6d9690e70bc426da5fed3e1031973823fc69" +[build] +template = "configure" diff --git a/recipes/wip/security/airgorah/recipe.toml b/recipes/wip/security/airgorah/recipe.toml new file mode 100644 index 00000000..11040022 --- /dev/null +++ b/recipes/wip/security/airgorah/recipe.toml @@ -0,0 +1,8 @@ +#TODO make gtk4 work +[source] +git = "https://github.com/martin-olivier/airgorah" +[build] +template = "cargo" +dependencies = [ + "gtk4", +] diff --git a/recipes/wip/security/angryoxide/recipe.toml b/recipes/wip/security/angryoxide/recipe.toml new file mode 100644 index 00000000..6f6924f6 --- /dev/null +++ b/recipes/wip/security/angryoxide/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://github.com/Ragnt/AngryOxide#building-from-source +[source] +git = "https://github.com/Ragnt/AngryOxide" +[build] +template = "cargo" diff --git a/recipes/wip/security/apbf/recipe.toml b/recipes/wip/security/apbf/recipe.toml new file mode 100644 index 00000000..6552c417 --- /dev/null +++ b/recipes/wip/security/apbf/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://gitlab.com/timvisee/apbf" +[build] +template = "cargo" diff --git a/recipes/wip/security/authoscope/recipe.toml b/recipes/wip/security/authoscope/recipe.toml new file mode 100644 index 00000000..e82f959c --- /dev/null +++ b/recipes/wip/security/authoscope/recipe.toml @@ -0,0 +1,13 @@ +#TODO funty crate version deleted by the owner +[source] +git = "https://github.com/kpcyrd/authoscope" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +export OPENSSL_DIR="${COOKBOOK_SYSROOT}" +export OPENSSL_STATIC="true" +cookbook_cargo +""" diff --git a/recipes/wip/security/binsec/recipe.toml b/recipes/wip/security/binsec/recipe.toml new file mode 100644 index 00000000..d64eabdb --- /dev/null +++ b/recipes/wip/security/binsec/recipe.toml @@ -0,0 +1,5 @@ +#TODO yara-sys crate error (after cargo update) +[source] +git = "https://github.com/ex0dus-0x/binsec" +[build] +template = "cargo" diff --git a/recipes/wip/security/breakmancer/recipe.toml b/recipes/wip/security/breakmancer/recipe.toml new file mode 100644 index 00000000..fe2f12b5 --- /dev/null +++ b/recipes/wip/security/breakmancer/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://codeberg.org/timmc/breakmancer" +[build] +template = "cargo" diff --git a/recipes/wip/security/burrow/recipe.toml b/recipes/wip/security/burrow/recipe.toml new file mode 100644 index 00000000..af63cfcb --- /dev/null +++ b/recipes/wip/security/burrow/recipe.toml @@ -0,0 +1,8 @@ +#TODO cargo package error +[source] +git = "https://github.com/hackclub/burrow" +[build] +template = "custom" +script = """ +cookbook_cargo_packages burrow +""" diff --git a/recipes/wip/security/capstone/recipe.toml b/recipes/wip/security/capstone/recipe.toml new file mode 100644 index 00000000..c0cef751 --- /dev/null +++ b/recipes/wip/security/capstone/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing script for building, see https://github.com/capstone-engine/capstone/blob/next/COMPILE.TXT +[source] +git = "https://github.com/capstone-engine/capstone" +rev = "097c04d9413c59a58b00d4d1c8d5dc0ac158ffaa" +[build] +template = "custom" diff --git a/recipes/wip/security/cargo-scan/recipe.toml b/recipes/wip/security/cargo-scan/recipe.toml new file mode 100644 index 00000000..35a573fb --- /dev/null +++ b/recipes/wip/security/cargo-scan/recipe.toml @@ -0,0 +1,8 @@ +#TODO ahash crate error +[source] +git = "https://github.com/PLSysSec/cargo-scan" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/security/clamav/recipe.toml b/recipes/wip/security/clamav/recipe.toml new file mode 100644 index 00000000..e90d730a --- /dev/null +++ b/recipes/wip/security/clamav/recipe.toml @@ -0,0 +1,22 @@ +#TODO not compiled or tested +# build instructions: https://docs.clamav.net/manual/Installing/Installing-from-source-Unix.html +#TODO missing Sendmail Mail Filter API (Milter) +[source] +tar = "https://www.clamav.net/downloads/production/clamav-1.5.0.tar.gz" +[build] +template = "custom" +dependencies = [ + "curl", + "ncurses", + "bzip2", + "json-c", + "pcre", + "openssl1", + "libxml2", + "zlib", +] +script = """ +DYNAMIC_INIT +export CPPFLAGS="-I${COOKBOOK_SYSROOT}/include/ncurses" +cookbook_cmake +""" diff --git a/recipes/wip/security/cotp/recipe.toml b/recipes/wip/security/cotp/recipe.toml new file mode 100644 index 00000000..70abd202 --- /dev/null +++ b/recipes/wip/security/cotp/recipe.toml @@ -0,0 +1,12 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/replydev/cotp" +[build] +template = "custom" +dependencies = [ + "libxkbcommon", +] +script = """ +DYNAMIC_INIT +cookbook_cargo +""" diff --git a/recipes/wip/security/deoptimizer/recipe.toml b/recipes/wip/security/deoptimizer/recipe.toml new file mode 100644 index 00000000..c91e63c0 --- /dev/null +++ b/recipes/wip/security/deoptimizer/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/EgeBalci/deoptimizer" +[build] +template = "cargo" diff --git a/recipes/wip/security/dfir-toolkit/recipe.toml b/recipes/wip/security/dfir-toolkit/recipe.toml new file mode 100644 index 00000000..94dc1f6b --- /dev/null +++ b/recipes/wip/security/dfir-toolkit/recipe.toml @@ -0,0 +1,8 @@ +#TODO forensic-rs crate error +[source] +git = "https://github.com/dfir-dd/dfir-toolkit" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/security/feroxbuster/recipe.toml b/recipes/wip/security/feroxbuster/recipe.toml new file mode 100644 index 00000000..1fb0944b --- /dev/null +++ b/recipes/wip/security/feroxbuster/recipe.toml @@ -0,0 +1,5 @@ +#TODO openssl-sys crate error +[source] +git = "https://github.com/epi052/feroxbuster" +[build] +template = "cargo" diff --git a/recipes/wip/security/flawz/recipe.toml b/recipes/wip/security/flawz/recipe.toml new file mode 100644 index 00000000..dc7e0441 --- /dev/null +++ b/recipes/wip/security/flawz/recipe.toml @@ -0,0 +1,8 @@ +#TODO webbrowser crate error +[source] +git = "https://github.com/orhun/flawz" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/security/gnupg-lts/recipe.toml b/recipes/wip/security/gnupg-lts/recipe.toml new file mode 100644 index 00000000..f0049191 --- /dev/null +++ b/recipes/wip/security/gnupg-lts/recipe.toml @@ -0,0 +1,9 @@ +#TODO compilation error on libgcrypt +[source] +tar = "https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.2.41.tar.bz2" +[build] +template = "configure" +dependencies = [ + "libiconv", + "libgcrypt", +] diff --git a/recipes/wip/security/gnupg/recipe.toml b/recipes/wip/security/gnupg/recipe.toml new file mode 100644 index 00000000..3d112edb --- /dev/null +++ b/recipes/wip/security/gnupg/recipe.toml @@ -0,0 +1,9 @@ +#TODO compilation error on libgcrypt +[source] +tar = "https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.4.1.tar.bz2" +[build] +template = "configure" +dependencies = [ + "libiconv", + "libgcrypt", +] diff --git a/recipes/wip/security/john-the-ripper/recipe.toml b/recipes/wip/security/john-the-ripper/recipe.toml new file mode 100644 index 00000000..0428e4cd --- /dev/null +++ b/recipes/wip/security/john-the-ripper/recipe.toml @@ -0,0 +1,11 @@ +#TODO missing script for GNU Autotools, see https://github.com/openwall/john/blob/bleeding-jumbo/doc/INSTALL +[source] +tar = "https://www.openwall.com/john/k/john-1.9.0-jumbo-1.tar.xz" +[build] +template = "custom" +dependencies = [ + "openssl1", + "nss", + "kerberos5", + "libgmp", +] diff --git a/recipes/wip/security/kanha/recipe.toml b/recipes/wip/security/kanha/recipe.toml new file mode 100644 index 00000000..a951070b --- /dev/null +++ b/recipes/wip/security/kanha/recipe.toml @@ -0,0 +1,5 @@ +#TODO linking error (after cargo update) +[source] +git = "https://github.com/pwnwriter/kanha" +[build] +template = "cargo" diff --git a/recipes/wip/security/keepassxc/recipe.toml b/recipes/wip/security/keepassxc/recipe.toml new file mode 100644 index 00000000..3727dfa4 --- /dev/null +++ b/recipes/wip/security/keepassxc/recipe.toml @@ -0,0 +1,23 @@ +#TODO not compiled or tested +# build instructions: https://github.com/keepassxreboot/keepassxc/wiki/Building-KeePassXC#linux +# probably missing dependencies, see https://github.com/keepassxreboot/keepassxc/wiki/Set-up-Build-Environment-on-Linux#install-the-required-dependencies +[source] +tar = "https://github.com/keepassxreboot/keepassxc/releases/download/2.7.10/keepassxc-2.7.10-src.tar.xz" +[build] +template = "cmake" +cmakeflags = [ + "-DWITH_XC_AUTOTYPE=OFF", + "-DWITH_XC_UPDATECHECK=OFF", + "-DKEEPASSXC_BUILD_TYPE=Release", + "-DWITH_APP_BUNDLE=OFF", +] +dependencies = [ + "qt5-base", + "qt5-svg", + "zlib", + "libbotan", + "libargon2", + "libxi", + "libxtst", + "readline", +] diff --git a/recipes/wip/security/keyscope/recipe.toml b/recipes/wip/security/keyscope/recipe.toml new file mode 100644 index 00000000..0cbb3cd4 --- /dev/null +++ b/recipes/wip/security/keyscope/recipe.toml @@ -0,0 +1,11 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/SpectralOps/keyscope" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +cookbook_cargo_packages keyscope +""" diff --git a/recipes/wip/security/lynis/recipe.toml b/recipes/wip/security/lynis/recipe.toml new file mode 100644 index 00000000..68c5ba61 --- /dev/null +++ b/recipes/wip/security/lynis/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/CISOfy/lynis" +rev = "60afce6d8110ee9e88ac9e9d0e0346b1cf222b5e" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/lynis +cp -rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}"/usr/share/lynis +""" diff --git a/recipes/wip/security/motus/recipe.toml b/recipes/wip/security/motus/recipe.toml new file mode 100644 index 00000000..f5067eed --- /dev/null +++ b/recipes/wip/security/motus/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/oleiade/motus" +[build] +template = "cargo" diff --git a/recipes/wip/security/nitrocli/recipe.toml b/recipes/wip/security/nitrocli/recipe.toml new file mode 100644 index 00000000..8be60424 --- /dev/null +++ b/recipes/wip/security/nitrocli/recipe.toml @@ -0,0 +1,8 @@ +#TODO make libhidapi work +[source] +git = "https://github.com/d-e-s-o/nitrocli" +[build] +template = "cargo" +dependencies = [ + "libhidapi", +] diff --git a/recipes/wip/security/openpgp-ca/recipe.toml b/recipes/wip/security/openpgp-ca/recipe.toml new file mode 100644 index 00000000..6e553f21 --- /dev/null +++ b/recipes/wip/security/openpgp-ca/recipe.toml @@ -0,0 +1,12 @@ +#TODO make the libpcsclite dependency work +[source] +git = "https://gitlab.com/openpgp-ca/openpgp-ca" +[build] +template = "custom" +script = """ +cookbook_cargo_packages openpgp-ca openpgp-ca-restd +""" +dependencies = [ + "openssl1", + "libpcsclite", +] diff --git a/recipes/wip/security/otti/recipe.toml b/recipes/wip/security/otti/recipe.toml new file mode 100644 index 00000000..ed611072 --- /dev/null +++ b/recipes/wip/security/otti/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/dnaka91/otti" +[build] +template = "cargo" diff --git a/recipes/wip/security/pass/recipe.toml b/recipes/wip/security/pass/recipe.toml new file mode 100644 index 00000000..95747375 --- /dev/null +++ b/recipes/wip/security/pass/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing script for gnu make: https://git.zx2c4.com/password-store/tree/INSTALL +#TODO determine compile-time and run-time dependencies: https://git.zx2c4.com/password-store/tree/README#n15 +[source] +tar = "https://git.zx2c4.com/password-store/snapshot/password-store-1.7.4.tar.xz" +[build] +template = "custom" diff --git a/recipes/wip/security/please/recipe.toml b/recipes/wip/security/please/recipe.toml new file mode 100644 index 00000000..e681b3cc --- /dev/null +++ b/recipes/wip/security/please/recipe.toml @@ -0,0 +1,5 @@ +#TODO users crate error (after cargo update) +[source] +git = "https://gitlab.com/edneville/please" +[build] +template = "cargo" diff --git a/recipes/wip/security/plutus-rustus/recipe.toml b/recipes/wip/security/plutus-rustus/recipe.toml new file mode 100644 index 00000000..5df54054 --- /dev/null +++ b/recipes/wip/security/plutus-rustus/recipe.toml @@ -0,0 +1,5 @@ +#TODO Not compiled or tested +[source] +git = "https://github.com/a137x/plutus-rustus" +[build] +template = "cargo" diff --git a/recipes/wip/security/rage/recipe.toml b/recipes/wip/security/rage/recipe.toml new file mode 100644 index 00000000..54f1fc03 --- /dev/null +++ b/recipes/wip/security/rage/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/str4d/rage" +[build] +template = "custom" +script = """ +cookbook_cargo_packages rage +""" diff --git a/recipes/wip/security/retdec/recipe.toml b/recipes/wip/security/retdec/recipe.toml new file mode 100644 index 00000000..6852d275 --- /dev/null +++ b/recipes/wip/security/retdec/recipe.toml @@ -0,0 +1,11 @@ +#TODO not compiled or tested +# build instructions: https://github.com/avast/retdec#process +[source] +git = "https://github.com/avast/retdec" +rev = "53e55b4b26e9b843787f0e06d867441e32b1604e" +[build] +template = "cmake" +dependencies = [ + "openssl1", + "zlib", +] diff --git a/recipes/wip/security/rowhammer-test/recipe.toml b/recipes/wip/security/rowhammer-test/recipe.toml new file mode 100644 index 00000000..3b859b95 --- /dev/null +++ b/recipes/wip/security/rowhammer-test/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for the "make.sh" file, see https://github.com/google/rowhammer-test#readme +[source] +git = "https://github.com/google/rowhammer-test" +[build] +template = "custom" diff --git a/recipes/wip/security/rshijack/recipe.toml b/recipes/wip/security/rshijack/recipe.toml new file mode 100644 index 00000000..3feeee34 --- /dev/null +++ b/recipes/wip/security/rshijack/recipe.toml @@ -0,0 +1,5 @@ +#TODO pnet_sys crate error (after cargo update) +[source] +git = "https://github.com/kpcyrd/rshijack" +[build] +template = "cargo" diff --git a/recipes/wip/security/rustyvault/recipe.toml b/recipes/wip/security/rustyvault/recipe.toml new file mode 100644 index 00000000..61d8b998 --- /dev/null +++ b/recipes/wip/security/rustyvault/recipe.toml @@ -0,0 +1,8 @@ +#TODO async-io and rustix crates error +[source] +git = "https://github.com/Tongsuo-Project/RustyVault" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/security/safecloset/recipe.toml b/recipes/wip/security/safecloset/recipe.toml new file mode 100644 index 00000000..4617d7af --- /dev/null +++ b/recipes/wip/security/safecloset/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/Canop/safecloset" +[build] +template = "cargo" diff --git a/recipes/wip/security/sn0int/recipe.toml b/recipes/wip/security/sn0int/recipe.toml new file mode 100644 index 00000000..39292b7e --- /dev/null +++ b/recipes/wip/security/sn0int/recipe.toml @@ -0,0 +1,9 @@ +#TODO outdated redox_syscall crate +[source] +git = "https://github.com/kpcyrd/sn0int" +[build] +template = "cargo" +dependencies = [ + "libsodium", + "sqlite3", +] diff --git a/recipes/wip/security/sniffglue/recipe.toml b/recipes/wip/security/sniffglue/recipe.toml new file mode 100644 index 00000000..9972734e --- /dev/null +++ b/recipes/wip/security/sniffglue/recipe.toml @@ -0,0 +1,8 @@ +#TODO make the libpcap dependency work +[source] +git = "https://github.com/kpcyrd/sniffglue" +[build] +template = "cargo" +dependencies = [ + "libpcap", +] diff --git a/recipes/wip/security/sq/recipe.toml b/recipes/wip/security/sq/recipe.toml new file mode 100644 index 00000000..7cb30143 --- /dev/null +++ b/recipes/wip/security/sq/recipe.toml @@ -0,0 +1,9 @@ +#TODO make libnettle work +[source] +git = "https://gitlab.com/sequoia-pgp/sequoia-sq" +[build] +template = "cargo" +dependencies = [ + "openssl1", + "libnettle", +] diff --git a/recipes/wip/security/sqop/recipe.toml b/recipes/wip/security/sqop/recipe.toml new file mode 100644 index 00000000..8d567852 --- /dev/null +++ b/recipes/wip/security/sqop/recipe.toml @@ -0,0 +1,8 @@ +#TODO make libnettle work +[source] +git = "https://gitlab.com/sequoia-pgp/sequoia-sop" +[build] +template = "cargo" +dependencies = [ + "libnettle", +] diff --git a/recipes/wip/security/sqv/recipe.toml b/recipes/wip/security/sqv/recipe.toml new file mode 100644 index 00000000..90fe2024 --- /dev/null +++ b/recipes/wip/security/sqv/recipe.toml @@ -0,0 +1,8 @@ +#TODO make libnettle work +[source] +git = "https://gitlab.com/sequoia-pgp/sequoia-sqv" +[build] +template = "cargo" +dependencies = [ + "libnettle", +] diff --git a/recipes/wip/security/sss-cli/recipe.toml b/recipes/wip/security/sss-cli/recipe.toml new file mode 100644 index 00000000..89916685 --- /dev/null +++ b/recipes/wip/security/sss-cli/recipe.toml @@ -0,0 +1,5 @@ +#TODO source code error (after cargo update) +[source] +git = "https://github.com/dsprenkels/sss-cli" +[build] +template = "cargo" diff --git a/recipes/wip/security/stegano/recipe.toml b/recipes/wip/security/stegano/recipe.toml new file mode 100644 index 00000000..1e67ce41 --- /dev/null +++ b/recipes/wip/security/stegano/recipe.toml @@ -0,0 +1,8 @@ +#TODO require a command to move the binary +[source] +git = "https://github.com/steganogram/stegano-rs" +[build] +template = "custom" +script = """ +cookbook_cargo_packages stegano-cli +""" diff --git a/recipes/wip/security/sudo-rs/recipe.toml b/recipes/wip/security/sudo-rs/recipe.toml new file mode 100644 index 00000000..f0daeb47 --- /dev/null +++ b/recipes/wip/security/sudo-rs/recipe.toml @@ -0,0 +1,6 @@ +#TODO libc crate error +#TODO requires Linux PAM +[source] +git = "https://github.com/memorysafety/sudo-rs" +[build] +template = "cargo" diff --git a/recipes/wip/security/tyr/recipe.toml b/recipes/wip/security/tyr/recipe.toml new file mode 100644 index 00000000..29b21d9f --- /dev/null +++ b/recipes/wip/security/tyr/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://gitlab.com/cyberactivity/tyr" +[build] +template = "cargo" diff --git a/recipes/wip/security/vagga/recipe.toml b/recipes/wip/security/vagga/recipe.toml new file mode 100644 index 00000000..e284538b --- /dev/null +++ b/recipes/wip/security/vagga/recipe.toml @@ -0,0 +1,5 @@ +#TODO libc and nix crate errors (after cargo update) +[source] +git = "https://github.com/tailhook/vagga" +[build] +template = "cargo" diff --git a/recipes/wip/security/veldora/recipe.toml b/recipes/wip/security/veldora/recipe.toml new file mode 100644 index 00000000..c6eb25b5 --- /dev/null +++ b/recipes/wip/security/veldora/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/tamton-aquib/veldora" +[build] +template = "cargo" diff --git a/recipes/wip/security/veracrypt/recipe.toml b/recipes/wip/security/veracrypt/recipe.toml new file mode 100644 index 00000000..94fb9b6d --- /dev/null +++ b/recipes/wip/security/veracrypt/recipe.toml @@ -0,0 +1,10 @@ +#TODO missing script for GNU Make, see https://www.veracrypt.fr/en/CompilingGuidelineLinux.html#CompileVeraCrypt +[source] +tar = "https://launchpad.net/veracrypt/trunk/1.26.7/+download/VeraCrypt_1.26.7_Source.tar.bz2" +[build] +template = "custom" +dependencies = [ + "libfuse3", + "libpcsclite", + "wxwidgets-gtk3", +] diff --git a/recipes/wip/security/weggli/recipe.toml b/recipes/wip/security/weggli/recipe.toml new file mode 100644 index 00000000..7347cd43 --- /dev/null +++ b/recipes/wip/security/weggli/recipe.toml @@ -0,0 +1,5 @@ +#TODO source code error +[source] +git = "https://github.com/weggli-rs/weggli" +[build] +template = "cargo" diff --git a/recipes/wip/security/yara-x/recipe.toml b/recipes/wip/security/yara-x/recipe.toml new file mode 100644 index 00000000..fe61456a --- /dev/null +++ b/recipes/wip/security/yara-x/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/VirusTotal/yara-x" +[build] +template = "custom" +script = """ +cookbook_cargo_packages yara-x-cli +""" diff --git a/recipes/wip/services/ala-lape/recipe.toml b/recipes/wip/services/ala-lape/recipe.toml new file mode 100644 index 00000000..429b8963 --- /dev/null +++ b/recipes/wip/services/ala-lape/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://git.madhouse-project.org/algernon/ala-lape" +[build] +template = "cargo" diff --git a/recipes/wip/services/busd/recipe.toml b/recipes/wip/services/busd/recipe.toml new file mode 100644 index 00000000..4976b0e8 --- /dev/null +++ b/recipes/wip/services/busd/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/jackpot51/busd" + +[build] +template = "cargo" diff --git a/recipes/wip/services/coppwr/recipe.toml b/recipes/wip/services/coppwr/recipe.toml new file mode 100644 index 00000000..ba04da96 --- /dev/null +++ b/recipes/wip/services/coppwr/recipe.toml @@ -0,0 +1,8 @@ +#TODO make pipewire work +[source] +git = "https://github.com/dimtpap/coppwr" +[build] +template = "cargo" +dependencies = [ + "pipewire", +] diff --git a/recipes/wip/services/dbus/recipe.toml b/recipes/wip/services/dbus/recipe.toml new file mode 100644 index 00000000..4392363d --- /dev/null +++ b/recipes/wip/services/dbus/recipe.toml @@ -0,0 +1,23 @@ +[source] +tar = "https://dbus.freedesktop.org/releases/dbus/dbus-1.16.2.tar.xz" +blake3 = "b1d1f22858a8f04665e5dca29d194f892620f00fd3e3f4e89dd208e78868436e" +patches = [ + "redox.patch", +] + +[build] +dependencies = [ + "expat", + "libpthread-stubs", + "libx11", + "libxau", + "libxcb", + "x11proto", +] +template = "meson" +mesonflags = [ + #TODO: why does this require Linux? + "-Depoll=enabled", + "-Dx11_autolaunch=enabled", + "-Dverbose_mode=true", +] diff --git a/recipes/wip/services/dbus/redox.patch b/recipes/wip/services/dbus/redox.patch new file mode 100644 index 00000000..59950bde --- /dev/null +++ b/recipes/wip/services/dbus/redox.patch @@ -0,0 +1,24 @@ +diff -ruwN source-old/dbus/dbus-pollable-set-epoll.c source/dbus/dbus-pollable-set-epoll.c +--- source-old/dbus/dbus-pollable-set-epoll.c 2025-02-27 09:29:06.000000000 -0700 ++++ source/dbus/dbus-pollable-set-epoll.c 2025-11-14 17:50:42.043671507 -0700 +@@ -30,7 +30,7 @@ + #include + #include + +-#ifndef __linux__ ++#if !defined(__linux__) && !defined(__redox__) + # error This file is for Linux epoll(4) + #endif + +diff -ruwN source-old/dbus/dbus-spawn-unix.c source/dbus/dbus-spawn-unix.c +--- source-old/dbus/dbus-spawn-unix.c 2025-02-27 09:29:06.000000000 -0700 ++++ source/dbus/dbus-spawn-unix.c 2025-11-15 07:42:03.360862350 -0700 +@@ -1326,7 +1326,7 @@ + if (!make_pipe (child_err_report_pipe, error)) + goto cleanup_and_fail; + +- if (!_dbus_socketpair (&babysitter_pipe[0], &babysitter_pipe[1], TRUE, error)) ++ if (!_dbus_socketpair (&babysitter_pipe[0], &babysitter_pipe[1], FALSE, error)) + goto cleanup_and_fail; + + /* Setting up the babysitter is only useful in the parent, diff --git a/recipes/wip/services/eudev/recipe.toml b/recipes/wip/services/eudev/recipe.toml new file mode 100644 index 00000000..bdc920c7 --- /dev/null +++ b/recipes/wip/services/eudev/recipe.toml @@ -0,0 +1,5 @@ +#TODO compilation error - POSIX header not found +[source] +tar = "https://github.com/eudev-project/eudev/releases/download/v3.2.14/eudev-3.2.14.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/services/grub/recipe.toml b/recipes/wip/services/grub/recipe.toml new file mode 100644 index 00000000..e314bc84 --- /dev/null +++ b/recipes/wip/services/grub/recipe.toml @@ -0,0 +1,5 @@ +#TODO compilation error +[source] +tar = "https://ftp.gnu.org/gnu/grub/grub-2.12.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/services/hickory-dns/recipe.toml b/recipes/wip/services/hickory-dns/recipe.toml new file mode 100644 index 00000000..b7ab38fd --- /dev/null +++ b/recipes/wip/services/hickory-dns/recipe.toml @@ -0,0 +1,20 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/hickory-dns/hickory-dns" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +binary=hickory-dns +"${COOKBOOK_CARGO}" build \ + --manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \ + --bin "${binary}" \ + --release + --all-features + mkdir -pv "${COOKBOOK_STAGE}/usr/bin" + cp -v \ + "target/${TARGET}/release/${binary}" \ + "${COOKBOOK_STAGE}/usr/bin/${binary}" +""" diff --git a/recipes/wip/services/jack/recipe.toml b/recipes/wip/services/jack/recipe.toml new file mode 100644 index 00000000..1e5dccd8 --- /dev/null +++ b/recipes/wip/services/jack/recipe.toml @@ -0,0 +1,8 @@ +#TODO missing script for waf +#TODO discover how to build +#TODO discover if it has external dependencies +[source] +git = "https://github.com/jackaudio/jack2" +rev = "4f58969432339a250ce87fe855fb962c67d00ddb" +[build] +template = "custom" diff --git a/recipes/wip/services/lemurs/recipe.toml b/recipes/wip/services/lemurs/recipe.toml new file mode 100644 index 00000000..ca1aa08c --- /dev/null +++ b/recipes/wip/services/lemurs/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing script for configuration, see https://github.com/coastalwhite/lemurs#compiling-from-source +[source] +git = "https://github.com/coastalwhite/lemurs" +rev = "37963b8ff6945ae8bdbabee658e5e36d0f67b84a" +[build] +template = "custom" diff --git a/recipes/wip/services/limine/recipe.toml b/recipes/wip/services/limine/recipe.toml new file mode 100644 index 00000000..e1c42861 --- /dev/null +++ b/recipes/wip/services/limine/recipe.toml @@ -0,0 +1,5 @@ +#TODO maybe wrong template, see https://github.com/limine-bootloader/limine#building-the-bootloader +[source] +tar = "https://github.com/limine-bootloader/limine/releases/download/v7.2.0/limine-7.2.0.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/services/ntpd-rs/recipe.toml b/recipes/wip/services/ntpd-rs/recipe.toml new file mode 100644 index 00000000..888a9392 --- /dev/null +++ b/recipes/wip/services/ntpd-rs/recipe.toml @@ -0,0 +1,9 @@ +#TODO program source code error +#TODO configure the service +[source] +git = "https://github.com/pendulum-project/ntpd-rs" +[build] +template = "custom" +script = """ +cookbook_cargo_packages ntpd +""" diff --git a/recipes/wip/services/pipewire/recipe.toml b/recipes/wip/services/pipewire/recipe.toml new file mode 100644 index 00000000..9e42dc40 --- /dev/null +++ b/recipes/wip/services/pipewire/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/INSTALL.md +[source] +git = "https://gitlab.freedesktop.org/pipewire/pipewire" +rev = "4debdcd40b055b3eaa83a8f4443aa990ea566bfe" +[build] +template = "meson" diff --git a/recipes/wip/services/qpwgraph/recipe.toml b/recipes/wip/services/qpwgraph/recipe.toml new file mode 100644 index 00000000..99df5ae3 --- /dev/null +++ b/recipes/wip/services/qpwgraph/recipe.toml @@ -0,0 +1,11 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.freedesktop.org/rncbc/qpwgraph#building +[source] +git = "https://gitlab.freedesktop.org/rncbc/qpwgraph" +rev = "9fead6eff8c5831d66f618b2e8e195c94d5c22e6" +[build] +template = "cmake" +dependencies = [ + "qt6-base", + "pipewire", +] diff --git a/recipes/wip/services/runst/recipe.toml b/recipes/wip/services/runst/recipe.toml new file mode 100644 index 00000000..f57603ae --- /dev/null +++ b/recipes/wip/services/runst/recipe.toml @@ -0,0 +1,13 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/orhun/runst" +[build] +template = "custom" +dependencies = [ + "glib", + "pango", +] +script = """ +DYNAMIC_INIT +cookbook_cargo +""" diff --git a/recipes/wip/services/seatd/recipe.toml b/recipes/wip/services/seatd/recipe.toml new file mode 100644 index 00000000..65b6f5cd --- /dev/null +++ b/recipes/wip/services/seatd/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# lacking build instructions +[source] +git = "https://git.sr.ht/~kennylevinsen/seatd" +rev = "3e9ef69f14f630a719dd464f3c90a7932f1c8296" +[build] +template = "meson" diff --git a/recipes/wip/services/wireplumber/recipe.toml b/recipes/wip/services/wireplumber/recipe.toml new file mode 100644 index 00000000..cbac08ad --- /dev/null +++ b/recipes/wip/services/wireplumber/recipe.toml @@ -0,0 +1,12 @@ +#TODO not compiled or tested +# build instructions: https://pipewire.pages.freedesktop.org/wireplumber/installing-wireplumber.html +[source] +git = "https://gitlab.freedesktop.org/pipewire/wireplumber" +rev = "d3eb77b292655cef333a8f4cab4e861415bc37c2" +[build] +template = "meson" +dependencies = [ + "pipewire", + "glib", + "lua54", +] diff --git a/recipes/wip/shells/brush/recipe.toml b/recipes/wip/shells/brush/recipe.toml new file mode 100644 index 00000000..4a2f0a57 --- /dev/null +++ b/recipes/wip/shells/brush/recipe.toml @@ -0,0 +1,8 @@ +#TODO redox is not supported by the procfs crate +[source] +git = "https://github.com/reubeno/brush" +[build] +template = "custom" +script = """ +cookbook_cargo_packages brush-shell +""" diff --git a/recipes/wip/shells/cicada/recipe.toml b/recipes/wip/shells/cicada/recipe.toml new file mode 100644 index 00000000..373953ad --- /dev/null +++ b/recipes/wip/shells/cicada/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing script for "make", see https://github.com/mitnk/cicada/blob/master/docs/install.md#option-c-via-source +[source] +git = "https://github.com/mitnk/cicada" +rev = "710988133335582d43c74e04d0d7f95c034e2c21" +[build] +template = "custom" diff --git a/recipes/wip/shells/dune/recipe.toml b/recipes/wip/shells/dune/recipe.toml new file mode 100644 index 00000000..ec50d999 --- /dev/null +++ b/recipes/wip/shells/dune/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/adam-mcdaniel/dune" +[build] +template = "cargo" diff --git a/recipes/wip/shells/fish-shell/recipe.toml b/recipes/wip/shells/fish-shell/recipe.toml new file mode 100644 index 00000000..4ef60fe7 --- /dev/null +++ b/recipes/wip/shells/fish-shell/recipe.toml @@ -0,0 +1,17 @@ +# WIP: Builds, runs, but hangs on waitpid + +[source] +git = "https://github.com/fish-shell/fish-shell" +rev = "54e8ad7e90a8213c01ba58de0640223bee6846d6" +patches = ["redox.patch"] + +[build] +template = "custom" +dependencies = ["gettext", "ncurses", "pcre"] +script = """ +DYNAMIC_INIT + +# The only default enabled feature is building the man pages. +# However, that requires sphinx so it can just be enabled later. +cookbook_cargo --no-default-features +""" diff --git a/recipes/wip/shells/fish-shell/redox.patch b/recipes/wip/shells/fish-shell/redox.patch new file mode 100644 index 00000000..9b5a0d30 --- /dev/null +++ b/recipes/wip/shells/fish-shell/redox.patch @@ -0,0 +1,144 @@ +diff '--color=auto' -ruwN source/Cargo.toml source-new/Cargo.toml +--- source/Cargo.toml 2025-09-11 01:59:14.785564526 -0400 ++++ source-new/Cargo.toml 2025-09-11 01:59:45.885553436 -0400 +@@ -35,12 +35,12 @@ + + bitflags = "2.5.0" + errno = "0.3.0" +-libc = "0.2" ++libc = { git = "https://github.com/rust-lang/libc", rev = "b31ee9b22f99354f2ca00c68d038d6f377c8b8a4", features = ["extra_traits"] } + # lru pulls in hashbrown by default, which uses a faster (though less DoS resistant) hashing algo. + # disabling default features uses the stdlib instead, but it doubles the time to rewrite the history + # files as of 22 April 2024. + lru = "0.13.0" +-nix = { version = "0.30.1", default-features = false, features = [ ++nix = { git = "https://github.com/joshuamegnauth54/nix", branch = "redox-fish-no-merge", default-features = false, features = [ + "event", + "inotify", + "resource", +diff '--color=auto' -ruwN source/src/exec.rs source-new/src/exec.rs +--- source/src/exec.rs 2025-09-11 01:59:14.596625190 -0400 ++++ source-new/src/exec.rs 2025-09-11 02:00:00.315286369 -0400 +@@ -33,7 +33,6 @@ + use crate::nix::{getpid, isatty}; + use crate::null_terminated_array::OwningNullTerminatedArray; + use crate::parser::{Block, BlockId, BlockType, EvalRes, Parser}; +-#[cfg(FISH_USE_POSIX_SPAWN)] + use crate::proc::Pid; + use crate::proc::{ + hup_jobs, is_interactive_session, jobs_requiring_warning_on_exit, no_exec, +@@ -390,7 +389,7 @@ + ) -> ! { + // This function never returns, so we take certain liberties with constness. + +- unsafe { libc::execve(actual_cmd.as_ptr(), argv.get(), envv.get()) }; ++ unsafe { libc::execve(actual_cmd.as_ptr(), argv.get().cast(), envv.get().cast()) }; + let err = errno(); + + // The shebang wasn't introduced until UNIX Seventh Edition, so if +@@ -413,7 +412,11 @@ + // not what we would pass as argv0. + argv2[1] = actual_cmd.as_ptr(); + unsafe { +- libc::execve(_PATH_BSHELL.load(Ordering::Relaxed), &argv2[0], envv.get()); ++ libc::execve( ++ _PATH_BSHELL.load(Ordering::Relaxed), ++ argv2.as_ptr().cast(), ++ envv.get().cast(), ++ ); + } + } + } +diff '--color=auto' -ruwN source/src/fork_exec/postfork.rs source-new/src/fork_exec/postfork.rs +--- source/src/fork_exec/postfork.rs 2025-09-11 01:59:14.828576001 -0400 ++++ source-new/src/fork_exec/postfork.rs 2025-09-11 02:00:00.319001235 -0400 +@@ -339,7 +339,9 @@ + "', which is not an executable command." + ); + } +- } else if md.unwrap().mode() & u32::from(libc::S_IFMT) == u32::from(libc::S_IFDIR) { ++ } else if md.unwrap().mode() & u32::try_from(libc::S_IFMT).unwrap() ++ == u32::try_from(libc::S_IFDIR).unwrap() ++ { + FLOG_SAFE!( + exec, + "Failed to execute process '", +diff '--color=auto' -ruwN source/src/input_common.rs source-new/src/input_common.rs +--- source/src/input_common.rs 2025-09-11 01:59:14.828576001 -0400 ++++ source-new/src/input_common.rs 2025-09-11 02:00:00.316042380 -0400 +@@ -589,7 +589,9 @@ + // pselect expects timeouts in nanoseconds. + const NSEC_PER_MSEC: u64 = 1000 * 1000; + const NSEC_PER_SEC: u64 = NSEC_PER_MSEC * 1000; ++ #[cfg(not(target_os = "redox"))] + let wait_nsec: u64 = (timeout.as_millis() as u64) * NSEC_PER_MSEC; ++ #[cfg(not(target_os = "redox"))] + let timeout = libc::timespec { + tv_sec: (wait_nsec / NSEC_PER_SEC).try_into().unwrap(), + tv_nsec: (wait_nsec % NSEC_PER_SEC).try_into().unwrap(), +@@ -605,6 +607,7 @@ + libc::FD_SET(in_fd, &mut fdset); + } + ++ #[cfg(not(target_os = "redox"))] + let res = unsafe { + libc::pselect( + in_fd + 1, +@@ -616,6 +619,31 @@ + ) + }; + ++ #[cfg(target_os = "redox")] ++ let res = unsafe { ++ //HACK: pselect does this atomically ++ let mut saved = MaybeUninit::uninit(); ++ let mut saved = { ++ libc::sigfillset(saved.as_mut_ptr()); ++ saved.assume_init() ++ }; ++ libc::sigprocmask(libc::SIG_SETMASK, &sigs, &mut saved); ++ let mut timeout = libc::timeval { ++ tv_sec: timeout.as_secs() as _, ++ tv_usec: timeout.subsec_micros() as _, ++ }; ++ let res = libc::select( ++ in_fd + 1, ++ &mut fdset, ++ ptr::null_mut(), ++ ptr::null_mut(), ++ &raw mut timeout, ++ ); ++ libc::sigprocmask(libc::SIG_SETMASK, &saved, ptr::null_mut()); ++ ++ res ++ }; ++ + // Prevent signal starvation on WSL causing the `torn_escapes.py` test to fail + if is_windows_subsystem_for_linux(WSL::V1) { + // Merely querying the current thread's sigmask is sufficient to deliver a pending signal +diff '--color=auto' -ruwN source/src/libc.c source-new/src/libc.c +--- source/src/libc.c 2025-09-11 01:59:14.599514890 -0400 ++++ source-new/src/libc.c 2025-09-11 02:00:00.304589636 -0400 +@@ -4,7 +4,7 @@ + #include + #include + #include // MB_CUR_MAX +-#include // MNT_LOCAL ++/* #include // MNT_LOCAL */ + #include + #include // ST_LOCAL + #include // _CS_PATH, _PC_CASE_SENSITIVE +diff '--color=auto' -ruwN source/src/path.rs source-new/src/path.rs +--- source/src/path.rs 2025-09-11 01:59:14.600515157 -0400 ++++ source-new/src/path.rs 2025-09-11 02:00:00.317047039 -0400 +@@ -738,7 +738,9 @@ + crate::libc::ST_LOCAL(), + &narrow, + ); +- #[cfg(not(target_os = "netbsd"))] ++ #[cfg(target_os = "redox")] ++ let remoteness = DirRemoteness::unknown; ++ #[cfg(not(target_os = "redox"))] + let remoteness = remoteness_via_statfs( + libc::statfs, + |stat: &libc::statfs| stat.f_flags, diff --git a/recipes/wip/shells/nsh/recipe.toml b/recipes/wip/shells/nsh/recipe.toml new file mode 100644 index 00000000..50c41198 --- /dev/null +++ b/recipes/wip/shells/nsh/recipe.toml @@ -0,0 +1,5 @@ +#TODO update mio to 0.8 +[source] +git = "https://github.com/nuta/nsh" +[build] +template = "cargo" diff --git a/recipes/wip/shells/pure/recipe.toml b/recipes/wip/shells/pure/recipe.toml new file mode 100644 index 00000000..0f00d270 --- /dev/null +++ b/recipes/wip/shells/pure/recipe.toml @@ -0,0 +1,10 @@ +#TODO promote +[source] +git = "https://github.com/sindresorhus/pure" +rev = "87e6f5dd4c793f6d980532205aaefe196780606f" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/home/user/.zsh/pure +cp -rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}"/home/user/.zsh/pure +""" diff --git a/recipes/wip/shells/relish/recipe.toml b/recipes/wip/shells/relish/recipe.toml new file mode 100644 index 00000000..2692cf18 --- /dev/null +++ b/recipes/wip/shells/relish/recipe.toml @@ -0,0 +1,5 @@ +#TODO program source code error +[source] +git = "https://gitlab.com/whom/relish" +[build] +template = "cargo" diff --git a/recipes/wip/shells/sheldon/recipe.toml b/recipes/wip/shells/sheldon/recipe.toml new file mode 100644 index 00000000..9d6c5f31 --- /dev/null +++ b/recipes/wip/shells/sheldon/recipe.toml @@ -0,0 +1,8 @@ +#TODO libssh2-sys crate error +[source] +git = "https://github.com/rossmacarthur/sheldon" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/shells/zoxide/recipe.toml b/recipes/wip/shells/zoxide/recipe.toml new file mode 100644 index 00000000..3b3f0333 --- /dev/null +++ b/recipes/wip/shells/zoxide/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/ajeetdsouza/zoxide" +[build] +template = "cargo" diff --git a/recipes/wip/shells/zsh/01_redox.patch b/recipes/wip/shells/zsh/01_redox.patch new file mode 100644 index 00000000..c1f230a9 --- /dev/null +++ b/recipes/wip/shells/zsh/01_redox.patch @@ -0,0 +1,54 @@ +diff --color -ruwN source/configure.ac source-new/configure.ac +--- source/configure.ac 2022-05-15 01:59:21.000000000 +0700 ++++ source-new/configure.ac 2025-08-06 02:08:48.797381523 +0700 +@@ -1311,7 +1311,7 @@ + setuid seteuid setreuid setresuid setsid \ + setgid setegid setregid setresgid \ + memcpy memmove strstr strerror strtoul \ +- getrlimit getrusage \ ++ getrusage \ + setlocale \ + isblank iswblank \ + uname \ +diff --color -ruwN source/Src/builtin.c source-new/Src/builtin.c +--- source/Src/builtin.c 2022-05-15 01:59:21.000000000 +0700 ++++ source-new/Src/builtin.c 2025-08-06 02:41:57.266846385 +0700 +@@ -7160,16 +7160,7 @@ + long clktck = get_clktck(); + + /* get time accounting information */ +- if (times(&buf) == -1) +- return 1; +- pttime(buf.tms_utime); /* user time */ +- putchar(' '); +- pttime(buf.tms_stime); /* system time */ +- putchar('\n'); +- pttime(buf.tms_cutime); /* user time, children */ +- putchar(' '); +- pttime(buf.tms_cstime); /* system time, children */ +- putchar('\n'); ++ // Somehow times() is not linking correctly + return 0; + } + +diff --color -ruwN source/Src/Builtins/rlimits.c source-new/Src/Builtins/rlimits.c +--- source/Src/Builtins/rlimits.c 2022-05-15 01:59:21.000000000 +0700 ++++ source-new/Src/Builtins/rlimits.c 2025-08-06 02:24:09.457135439 +0700 +@@ -892,7 +892,7 @@ + int + boot_(UNUSED(Module m)) + { +- set_resinfo(); ++// set_resinfo(); + return 0; + } + +@@ -900,7 +900,7 @@ + int + cleanup_(Module m) + { +- free_resinfo(); ++// free_resinfo(); + return setfeatureenables(m, &module_features, NULL); + } + diff --git a/recipes/wip/shells/zsh/recipe.toml b/recipes/wip/shells/zsh/recipe.toml new file mode 100644 index 00000000..572f979a --- /dev/null +++ b/recipes/wip/shells/zsh/recipe.toml @@ -0,0 +1,24 @@ +#TODO: Buggy, can't return after running commands +[source] +tar = "https://github.com/zsh-users/zsh/archive/refs/tags/zsh-5.9.tar.gz" +blake3 = "a15b94fae03e87aba6fc6a27df3c98e610b85b0c7c0fc90248f07fdcb8816860" +patches = [ + "01_redox.patch" +] +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +template = "custom" +dependencies = [ + "ncursesw", +] +script = """ +DYNAMIC_INIT + +"${COOKBOOK_CONFIGURE}" "${COOKBOOK_CONFIGURE_FLAGS[@]}" +"${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}" +"${COOKBOOK_MAKE}" install.bin install.modules install.fns DESTDIR="${COOKBOOK_STAGE}" +""" diff --git a/recipes/wip/sim/coulomb/recipe.toml b/recipes/wip/sim/coulomb/recipe.toml new file mode 100644 index 00000000..4db9fbcd --- /dev/null +++ b/recipes/wip/sim/coulomb/recipe.toml @@ -0,0 +1,7 @@ +#TODO missing script for gradlew +#TODO determine the dependencies +[source] +git = "https://github.com/hamza-algohary/Coulomb" +rev = "6617d4817dd153ae5e5645d427cdb746c146ccee" +[build] +template = "custom" diff --git a/recipes/wip/sim/trmt/recipe.toml b/recipes/wip/sim/trmt/recipe.toml new file mode 100644 index 00000000..80ed46c3 --- /dev/null +++ b/recipes/wip/sim/trmt/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/cenonym/trmt" +[build] +template = "cargo" diff --git a/recipes/wip/sound/ardour/recipe.toml b/recipes/wip/sound/ardour/recipe.toml new file mode 100644 index 00000000..d6872830 --- /dev/null +++ b/recipes/wip/sound/ardour/recipe.toml @@ -0,0 +1,77 @@ +#TODO make the dependencies work +#TODO missing script for the waf build system, see https://ardour.org/building_linux.html +[source] +tar = "https://community.ardour.org/download?architecture=x86_64&type=source" +[build] +template = "custom" +dependencies = [ + "atk", + "aubio", + "boost", + "fftw", + "freetype2", + "gdk-pixbuf", + "glib", + "gnome2-common", + "gobject-introspection", + "gtk-engines", + "gtk2", + "gtkmm", + "harfbuzz", + "itstool", + "libarchive", + "libiconv", + "libogg", + "libsamplerate", + "libsndfile", + "libusb", + "libwebsockets", + "libxslt", + "lrdf", + "nss-pem", + "pango", + "pcre", + "libraptor2", + "rdflib", + "redland", + "serd", + "sratom", + "taglib", + "termcap", + "util-linux", + "vamp-plugin-sdk", + "zlib", + "atkmm", + "cairo", + "cppunit", + "expat", + "libflac", + "fontconfig", + "fribidi", + "gettext", + "glibmm", + "gnome-doc-utils", + "gtk-doc", + "intltool", + "libjpeg", + "libffi", + "liblo", + "libpng", + "libsigc++", + "libtool", + "libvorbis", + "libxml2", + "lilv", + "lv2", + "nss-nspr", + "opus", + "pangomm", + "pixman", + "librasqal", + "readline", + "rubberband", + "sord", + "suil", + "libtiff", + "xz", +] diff --git a/recipes/wip/sound/asak/recipe.toml b/recipes/wip/sound/asak/recipe.toml new file mode 100644 index 00000000..b644b33c --- /dev/null +++ b/recipes/wip/sound/asak/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/chaosprint/asak" +[build] +template = "cargo" diff --git a/recipes/wip/sound/aubio/recipe.toml b/recipes/wip/sound/aubio/recipe.toml new file mode 100644 index 00000000..5ca0e1c8 --- /dev/null +++ b/recipes/wip/sound/aubio/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for the waf build system, see https://aubio.org/installation +[source] +tar = "https://aubio.org/pub/aubio-0.4.7.tar.bz2" +[build] +template = "custom" diff --git a/recipes/wip/sound/audacity/recipe.toml b/recipes/wip/sound/audacity/recipe.toml new file mode 100644 index 00000000..22ed13cf --- /dev/null +++ b/recipes/wip/sound/audacity/recipe.toml @@ -0,0 +1,11 @@ +#TODO not compiled or tested +# build instructions: https://github.com/audacity/audacity/blob/master/BUILDING.md +# use the GTK2 or wxWidgets frontend? +[source] +tar = "https://github.com/audacity/audacity/releases/download/Audacity-3.7.5/audacity-sources-3.7.5.tar.gz" +[build] +template = "cmake" +dependencies = [ + "gtk2", + "libuuid", +] diff --git a/recipes/wip/sound/audeye/recipe.toml b/recipes/wip/sound/audeye/recipe.toml new file mode 100644 index 00000000..2ed21939 --- /dev/null +++ b/recipes/wip/sound/audeye/recipe.toml @@ -0,0 +1,8 @@ +#TODO compilation error +[source] +git = "https://github.com/maxmarsc/audeye" +[build] +template = "cargo" +dependencies = [ + "libsndfile", +] diff --git a/recipes/wip/sound/auditorium/recipe.toml b/recipes/wip/sound/auditorium/recipe.toml new file mode 100644 index 00000000..c61a775f --- /dev/null +++ b/recipes/wip/sound/auditorium/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/nate-craft/auditorium" +[build] +template = "cargo" +[package] +dependencies = [ + "mpv", + "ffmpeg6", +] diff --git a/recipes/wip/sound/cava/recipe.toml b/recipes/wip/sound/cava/recipe.toml new file mode 100644 index 00000000..8dbe726f --- /dev/null +++ b/recipes/wip/sound/cava/recipe.toml @@ -0,0 +1,14 @@ +#TODO make the fftw dependency work +[source] +git = "https://github.com/karlstav/cava" +rev = "81211e9e16302312ee4322a99840c110bce0e13d" +[build] +template = "custom" +dependencies = [ + "ncurses", + "fftw", +] +script = """ +export CPPFLAGS="-I${COOKBOOK_SYSROOT}/include/ncurses" +cookbook_configure +""" diff --git a/recipes/wip/sound/cavasik/recipe.toml b/recipes/wip/sound/cavasik/recipe.toml new file mode 100644 index 00000000..55e4e3ed --- /dev/null +++ b/recipes/wip/sound/cavasik/recipe.toml @@ -0,0 +1,12 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/TheWisker/Cavasik" +rev = "v3.2.0" +[build] +template = "meson" +dependencies = [ + "gtk4", + "libadwaita", +] +[package] +dependencies = ["cava"] diff --git a/recipes/wip/sound/chiptrack/recipe.toml b/recipes/wip/sound/chiptrack/recipe.toml new file mode 100644 index 00000000..1504ce6a --- /dev/null +++ b/recipes/wip/sound/chiptrack/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/jturcotte/chiptrack" +[build] +template = "cargo" diff --git a/recipes/wip/sound/chuck/recipe.toml b/recipes/wip/sound/chuck/recipe.toml new file mode 100644 index 00000000..630ae1d6 --- /dev/null +++ b/recipes/wip/sound/chuck/recipe.toml @@ -0,0 +1,9 @@ +#TODO missing script for "make", see https://github.com/ccrma/chuck#linux +[source] +tar = "https://chuck.cs.princeton.edu/release/files/chuck-1.5.1.3.tgz" +[build] +template = "custom" +dependencies = [ + "pulseaudio", + "libsndfile", +] diff --git a/recipes/wip/sound/easy-effects/recipe.toml b/recipes/wip/sound/easy-effects/recipe.toml new file mode 100644 index 00000000..adc0d59d --- /dev/null +++ b/recipes/wip/sound/easy-effects/recipe.toml @@ -0,0 +1,15 @@ +#TODO missing dependencies - https://github.com/wwmm/easyeffects#effects-available +#TODO build instructions - https://github.com/wwmm/easyeffects/wiki/Installation-from-Source +[source] +git = "https://github.com/wwmm/easyeffects" +rev = "4c35ba8c385723fdefc81ad8fcb816eb965fe1d8" +[build] +template = "custom" +dependencies = [ + "libsamplerate", + "libsndfile", + "fftw", + "speexdsp", + "nohnmann-json", + "tbb", +] diff --git a/recipes/wip/sound/euphonica/recipe.toml b/recipes/wip/sound/euphonica/recipe.toml new file mode 100644 index 00000000..47f1e383 --- /dev/null +++ b/recipes/wip/sound/euphonica/recipe.toml @@ -0,0 +1,17 @@ +#TODO not compiled or tested +# build instructions: https://github.com/htkhiem/euphonica#meson +[source] +git = "https://github.com/htkhiem/euphonica" +[build] +template = "custom" +dependencies = [ + "gtk4", + "libadwaita", + "sqlite3", +] +script = """ +DYNAMIC_INIT +cookbook_cargo +""" +[package] +dependencies = ["mpd"] diff --git a/recipes/wip/sound/freac/recipe.toml b/recipes/wip/sound/freac/recipe.toml new file mode 100644 index 00000000..535b815a --- /dev/null +++ b/recipes/wip/sound/freac/recipe.toml @@ -0,0 +1,10 @@ +#TODO missing script for gnu make +# build instructions - https://github.com/enzo1982/freac#compiling +[source] +tar = "https://github.com/enzo1982/freac/releases/download/v1.1.7/freac-1.1.7.tar.gz" +[build] +template = "custom" +dependencies = [ + "boca", + "libsmooth", +] diff --git a/recipes/wip/sound/fretboard/recipe.toml b/recipes/wip/sound/fretboard/recipe.toml new file mode 100644 index 00000000..a40677db --- /dev/null +++ b/recipes/wip/sound/fretboard/recipe.toml @@ -0,0 +1,9 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/bragefuglseth/fretboard" +[build] +template = "cargo" +dependencies = [ + "gtk4", + "libadwaita", +] diff --git a/recipes/wip/sound/glicol/recipe.toml b/recipes/wip/sound/glicol/recipe.toml new file mode 100644 index 00000000..e034e74a --- /dev/null +++ b/recipes/wip/sound/glicol/recipe.toml @@ -0,0 +1,10 @@ +#TODO failed to find output device +[source] +git = "https://github.com/glicol/glicol-cli" +[build] +template = "custom" +script = """ +cookbook_cargo +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/glicol +cp -rv "${COOKBOOK_SOURCE}"/{test.glicol,test2.glicol} "${COOKBOOK_STAGE}"/usr/share/glicol +""" diff --git a/recipes/wip/sound/jukebox-cli/recipe.toml b/recipes/wip/sound/jukebox-cli/recipe.toml new file mode 100644 index 00000000..f47b4510 --- /dev/null +++ b/recipes/wip/sound/jukebox-cli/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/FedeCarollo/jukebox-cli" +[build] +template = "cargo" diff --git a/recipes/wip/sound/kwave/recipe.toml b/recipes/wip/sound/kwave/recipe.toml new file mode 100644 index 00000000..cf7dbe57 --- /dev/null +++ b/recipes/wip/sound/kwave/recipe.toml @@ -0,0 +1,16 @@ +#TODO not compiled or tested +[source] +git = "https://invent.kde.org/multimedia/kwave" +rev = "release/25.08" +shallow_clone = true +[build] +template = "cmake" +dependencies = [ + "libpulse", + "libmad", + #"libsamplerate", + #"libogg", + #"libvorbis", + #"libflac", + #"fftw", +] diff --git a/recipes/wip/sound/libpulse/recipe.toml b/recipes/wip/sound/libpulse/recipe.toml new file mode 100644 index 00000000..40a962cd --- /dev/null +++ b/recipes/wip/sound/libpulse/recipe.toml @@ -0,0 +1,17 @@ +#TODO not compiled or tested +# build instructions: https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/Developer/PulseAudioFromGit/ +[source] +tar = "https://freedesktop.org/software/pulseaudio/releases/pulseaudio-17.0.tar.xz" +[build] +template = "meson" +mesonflags = [ + "-Ddaemon=false" +] +dependencies = [ + "libsndfile", + "libatomic-ops", + "speexdsp", + "libtool", + "json-c", + "gettext", +] diff --git a/recipes/wip/sound/lmms/recipe.toml b/recipes/wip/sound/lmms/recipe.toml new file mode 100644 index 00000000..7f332881 --- /dev/null +++ b/recipes/wip/sound/lmms/recipe.toml @@ -0,0 +1,17 @@ +#TODO not compiled or tested +# build instructions: https://github.com/LMMS/lmms/wiki/Compiling#build-environment +[source] +git = "https://github.com/LMMS/lmms" +rev = "807751dc4dce53583ecf4140b67a5dc343c789a7" +[build] +template = "cmake" +dependencies = [ + "qt5-base", + "libsamplerate", + "libvorbis", + "libogg", + "sdl2", + "fftw", + "libstk", + "fltk", +] diff --git a/recipes/wip/sound/lookas/recipe.toml b/recipes/wip/sound/lookas/recipe.toml new file mode 100644 index 00000000..a46c714f --- /dev/null +++ b/recipes/wip/sound/lookas/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/rccyx/lookas" +[build] +template = "cargo" diff --git a/recipes/wip/sound/miniaudicle/recipe.toml b/recipes/wip/sound/miniaudicle/recipe.toml new file mode 100644 index 00000000..7cfa2037 --- /dev/null +++ b/recipes/wip/sound/miniaudicle/recipe.toml @@ -0,0 +1,11 @@ +#TODO missing script for "make", see https://github.com/ccrma/miniAudicle#linux +[source] +git = "https://github.com/ccrma/miniAudicle" +rev = "3ef25e881cec9ee823d9cf93346c2d6feb089007" +[build] +template = "custom" +dependencies = [ + "pulseaudio", + "libsndfile", + "qt6-base", +] diff --git a/recipes/wip/sound/mixxx/recipe.toml b/recipes/wip/sound/mixxx/recipe.toml new file mode 100644 index 00000000..6d612136 --- /dev/null +++ b/recipes/wip/sound/mixxx/recipe.toml @@ -0,0 +1,27 @@ +#TODO not compiled or tested +# build instructions: https://github.com/mixxxdj/mixxx/wiki/Compiling%20on%20Linux +#TODO missing dependencies: https://github.com/mixxxdj/mixxx/blob/main/tools/debian_buildenv.sh +[source] +git = "https://github.com/mixxxdj/mixxx" +branch = "2.5" +[build] +template = "cmake" +dependencies = [ + "fftw", + "libflac", + "mesa", + "libhidapi", + "libmad", + "libopus", + "libopusfile", + "protobuf", + "qt6-base", + "qt6-svg", + "qt6-declarative", + "qt6-3d", + "librubberband", + "libsndfile", + "sqlite3", + "openssl1", + "portaudio", +] diff --git a/recipes/wip/sound/mousai/recipe.toml b/recipes/wip/sound/mousai/recipe.toml new file mode 100644 index 00000000..69ff17d4 --- /dev/null +++ b/recipes/wip/sound/mousai/recipe.toml @@ -0,0 +1,12 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/SeaDve/Mousai" +[build] +template = "meson" +dependencies = [ + "glib", + "gtk4", + "libadwaita", + "gstreamer", + "libsoup", +] diff --git a/recipes/wip/sound/mpd/recipe.toml b/recipes/wip/sound/mpd/recipe.toml new file mode 100644 index 00000000..1abb2718 --- /dev/null +++ b/recipes/wip/sound/mpd/recipe.toml @@ -0,0 +1,6 @@ +#TODO determine minimum dependencies from meson log +# build instructions: https://mpd.readthedocs.io/en/stable/user.html#compiling-from-source +[source] +tar = "https://www.musicpd.org/download/mpd/0.24/mpd-0.24.6.tar.xz" +[build] +template = "meson" diff --git a/recipes/wip/sound/ncspot/recipe.toml b/recipes/wip/sound/ncspot/recipe.toml new file mode 100644 index 00000000..5e48fefa --- /dev/null +++ b/recipes/wip/sound/ncspot/recipe.toml @@ -0,0 +1,13 @@ +#TODO ncurses crate error +[source] +git = "https://github.com/hrkfdn/ncspot" +[build] +template = "custom" +dependencies = [ + "openssl1", + "ncurses", +] +script = """ +export CPPFLAGS="-I${COOKBOOK_SYSROOT}/include/ncurses" +cookbook_cargo --features rodio_backend,pancurses_backend +""" diff --git a/recipes/wip/sound/neothesia/recipe.toml b/recipes/wip/sound/neothesia/recipe.toml new file mode 100644 index 00000000..cf5f58de --- /dev/null +++ b/recipes/wip/sound/neothesia/recipe.toml @@ -0,0 +1,8 @@ +#TODO midir crate error +[source] +git = "https://github.com/PolyMeilex/Neothesia" +[build] +template = "custom" +script = """ +cookbook_cargo_packages neothesia +""" diff --git a/recipes/wip/sound/odin2/recipe.toml b/recipes/wip/sound/odin2/recipe.toml new file mode 100644 index 00000000..35b7fdb7 --- /dev/null +++ b/recipes/wip/sound/odin2/recipe.toml @@ -0,0 +1,11 @@ +#TODO not compiled or tested +# build instructions: https://github.com/TheWaveWarden/odin2#all-platforms +[source] +git = "https://github.com/TheWaveWarden/odin2" +[build] +template = "cmake" +dependencies = [ + "mesa", + "curl", + "webkitgtk3", +] diff --git a/recipes/wip/sound/pcmg/recipe.toml b/recipes/wip/sound/pcmg/recipe.toml new file mode 100644 index 00000000..4a8287d6 --- /dev/null +++ b/recipes/wip/sound/pcmg/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/JohnDowson/pcmg" +[build] +template = "custom" +script = """ +cookbook_cargo_packages pcmg +""" diff --git a/recipes/wip/sound/piano-rs/recipe.toml b/recipes/wip/sound/piano-rs/recipe.toml new file mode 100644 index 00000000..8eea5378 --- /dev/null +++ b/recipes/wip/sound/piano-rs/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/ritiek/piano-rs" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/piano-rs +cp -rv "${COOKBOOK_SOURCE}"/assets "${COOKBOOK_STAGE}"/usr/share/piano-rs +cookbook_cargo +""" diff --git a/recipes/wip/sound/rmpc/recipe.toml b/recipes/wip/sound/rmpc/recipe.toml new file mode 100644 index 00000000..307a70dc --- /dev/null +++ b/recipes/wip/sound/rmpc/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/mierak/rmpc" +[build] +template = "cargo" diff --git a/recipes/wip/sound/rustyvibes/recipe.toml b/recipes/wip/sound/rustyvibes/recipe.toml new file mode 100644 index 00000000..632118e2 --- /dev/null +++ b/recipes/wip/sound/rustyvibes/recipe.toml @@ -0,0 +1,5 @@ +#TODO rdev crate error +[source] +git = "https://github.com/KunalBagaria/rustyvibes" +[build] +template = "cargo" diff --git a/recipes/wip/sound/ruxguitar/recipe.toml b/recipes/wip/sound/ruxguitar/recipe.toml new file mode 100644 index 00000000..320bc654 --- /dev/null +++ b/recipes/wip/sound/ruxguitar/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/agourlay/ruxguitar" +[build] +template = "cargo" diff --git a/recipes/wip/sound/scope-tui/recipe.toml b/recipes/wip/sound/scope-tui/recipe.toml new file mode 100644 index 00000000..9af76bc5 --- /dev/null +++ b/recipes/wip/sound/scope-tui/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/alemidev/scope-tui" +[build] +template = "cargo" diff --git a/recipes/wip/sound/shezem-rs/recipe.toml b/recipes/wip/sound/shezem-rs/recipe.toml new file mode 100644 index 00000000..186c295b --- /dev/null +++ b/recipes/wip/sound/shezem-rs/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/Kither12/shezem-rs" +[build] +template = "cargo" diff --git a/recipes/wip/sound/sndio/recipe.toml b/recipes/wip/sound/sndio/recipe.toml new file mode 100644 index 00000000..a7fa0705 --- /dev/null +++ b/recipes/wip/sound/sndio/recipe.toml @@ -0,0 +1,5 @@ +#TODO configuration problem +[source] +tar = "https://sndio.org/sndio-1.9.0.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/sound/sonobus/recipe.toml b/recipes/wip/sound/sonobus/recipe.toml new file mode 100644 index 00000000..8b64a2fa --- /dev/null +++ b/recipes/wip/sound/sonobus/recipe.toml @@ -0,0 +1,24 @@ +#TODO make all dependencies work +#TODO workaround the ALSA and JACK dependencies +#TODO patch the install.sh to use the COOKBOOK_STAGE envivar +#TODO expose the cross-compilation environment variables to the build scripts +# build instructions - https://github.com/sonosaurus/sonobus/blob/main/linux/BUILDING.md +[source] +git = "https://github.com/sonosaurus/sonobus" +[build] +template = "custom" +dependencies = [ + "libopus", + "freetype2", + "curl", + "libx11", + "libxinerama", + "libxrandr", + "libxext", + "libxcursor", +] +script = """ +COOKBOOK_SOURCE="${COOKBOOK_SOURCE}/linux" +./build.sh +./install.sh +""" diff --git a/recipes/wip/sound/soundboard/recipe.toml b/recipes/wip/sound/soundboard/recipe.toml new file mode 100644 index 00000000..efa6a199 --- /dev/null +++ b/recipes/wip/sound/soundboard/recipe.toml @@ -0,0 +1,13 @@ +#TODO can't find the glib dependency (after cargo update) +#TODO update the ring crate version +[source] +git = "https://github.com/gamebooster/soundboard" +[build] +template = "custom" +dependencies = [ + "glib", + "openssl1", +] +script = """ +cookbook_cargo --features full +""" diff --git a/recipes/wip/sound/soundscope/recipe.toml b/recipes/wip/sound/soundscope/recipe.toml new file mode 100644 index 00000000..b1ccbbda --- /dev/null +++ b/recipes/wip/sound/soundscope/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/bananaofhappiness/soundscope" +[build] +template = "cargo" diff --git a/recipes/wip/sound/speech-dispatcher/recipe.toml b/recipes/wip/sound/speech-dispatcher/recipe.toml new file mode 100644 index 00000000..0806539d --- /dev/null +++ b/recipes/wip/sound/speech-dispatcher/recipe.toml @@ -0,0 +1,10 @@ +#TODO make all dependencies work +[source] +tar = "https://github.com/brailcom/speechd/releases/download/0.11.5/speech-dispatcher-0.11.5.tar.gz" +[build] +template = "configure" +dependencies = [ + "glib", + "libsndfile", + "libdotconf", +] diff --git a/recipes/wip/sound/swyh-rs/recipe.toml b/recipes/wip/sound/swyh-rs/recipe.toml new file mode 100644 index 00000000..7dc591fd --- /dev/null +++ b/recipes/wip/sound/swyh-rs/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/dheijl/swyh-rs" +[build] +template = "cargo" diff --git a/recipes/wip/sound/tek/recipe.toml b/recipes/wip/sound/tek/recipe.toml new file mode 100644 index 00000000..fa7b1da6 --- /dev/null +++ b/recipes/wip/sound/tek/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://codeberg.org/unspeaker/tek" +[build] +template = "cargo" diff --git a/recipes/wip/sound/tori/recipe.toml b/recipes/wip/sound/tori/recipe.toml new file mode 100644 index 00000000..e420a629 --- /dev/null +++ b/recipes/wip/sound/tori/recipe.toml @@ -0,0 +1,9 @@ +#TODO make dependencies work +[source] +git = "https://github.com/LeoRiether/tori" +[build] +template = "cargo" +dependencies = [ + "mpv", + "cava", +] diff --git a/recipes/wip/sound/tuisic/recipe.toml b/recipes/wip/sound/tuisic/recipe.toml new file mode 100644 index 00000000..00dae88d --- /dev/null +++ b/recipes/wip/sound/tuisic/recipe.toml @@ -0,0 +1,5 @@ +#TODO rustc-serialize crate error +[source] +git = "https://github.com/saubuny/tuisic" +[build] +template = "cargo" diff --git a/recipes/wip/sound/wiremix/recipe.toml b/recipes/wip/sound/wiremix/recipe.toml new file mode 100644 index 00000000..7fe946ea --- /dev/null +++ b/recipes/wip/sound/wiremix/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/tsowell/wiremix" +[build] +template = "cargo" +dependencies = [ + "pipewire", +] diff --git a/recipes/wip/storage/kiorg/recipe.toml b/recipes/wip/storage/kiorg/recipe.toml new file mode 100644 index 00000000..7373b5e8 --- /dev/null +++ b/recipes/wip/storage/kiorg/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/houqp/kiorg" +[build] +template = "cargo" diff --git a/recipes/wip/storage/stor-age/recipe.toml b/recipes/wip/storage/stor-age/recipe.toml new file mode 100644 index 00000000..04b237b4 --- /dev/null +++ b/recipes/wip/storage/stor-age/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/idiv-biodiversity/stor-age" +[build] +template = "cargo" diff --git a/recipes/wip/storage/wiper/recipe.toml b/recipes/wip/storage/wiper/recipe.toml new file mode 100644 index 00000000..6cfe641a --- /dev/null +++ b/recipes/wip/storage/wiper/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/ikebastuz/wiper" +[build] +template = "cargo" diff --git a/recipes/wip/sys-info/bb/recipe.toml b/recipes/wip/sys-info/bb/recipe.toml new file mode 100644 index 00000000..147c196e --- /dev/null +++ b/recipes/wip/sys-info/bb/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/epilys/bb" +[build] +template = "cargo" diff --git a/recipes/wip/sys-info/btop/recipe.toml b/recipes/wip/sys-info/btop/recipe.toml new file mode 100644 index 00000000..8df60dff --- /dev/null +++ b/recipes/wip/sys-info/btop/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing gnu make script, see https://github.com/aristocratos/btop#compilation-linux +[source] +git = "https://github.com/aristocratos/btop" +rev = "fd2a2acdad6fbaad76846cb5e802cf2ae022d670" +[build] +template = "custom" diff --git a/recipes/wip/sys-info/cpu-x/recipe.toml b/recipes/wip/sys-info/cpu-x/recipe.toml new file mode 100644 index 00000000..10552ede --- /dev/null +++ b/recipes/wip/sys-info/cpu-x/recipe.toml @@ -0,0 +1,26 @@ +#TODO not compiled or tested +# build instructions: https://github.com/TheTumultuousUnicornOfDarkness/CPU-X/wiki/manual-build#build-and-install-cpu-x +[source] +git = "https://github.com/TheTumultuousUnicornOfDarkness/CPU-X" +rev = "41f5d1ac3b13e60aa30212f2b9f38de646fd2b07" +[build] +template = "custom" +dependencies = [ + #"gtk3mm", + "ncurses", + #"glfw3", + #"libvulkan", + "libstatgrab", + "libcpuid", + "pciutils", +] +script = """ +DYNAMIC_INIT +export CPPFLAGS="-I${COOKBOOK_SYSROOT}/include/ncurses" +COOKBOOK_CMAKE_FLAGS+=( + "-DWITH_GTK=0", + "-DWITH_LIBGLFW=0", + "-DWITH_VULKAN=0", +) +cookbook_cmake +""" diff --git a/recipes/wip/sys-info/cyme/recipe.toml b/recipes/wip/sys-info/cyme/recipe.toml new file mode 100644 index 00000000..dfb039fe --- /dev/null +++ b/recipes/wip/sys-info/cyme/recipe.toml @@ -0,0 +1,5 @@ +#TODO port to Redox +[source] +git = "https://github.com/tuna-f1sh/cyme" +[build] +template = "cargo" diff --git a/recipes/wip/sys-info/ffetch/recipe.toml b/recipes/wip/sys-info/ffetch/recipe.toml new file mode 100644 index 00000000..8b23aada --- /dev/null +++ b/recipes/wip/sys-info/ffetch/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/0l3d/ffetch" +[build] +template = "cargo" diff --git a/recipes/wip/sys-info/freshfetch/recipe.toml b/recipes/wip/sys-info/freshfetch/recipe.toml new file mode 100644 index 00000000..4e254a51 --- /dev/null +++ b/recipes/wip/sys-info/freshfetch/recipe.toml @@ -0,0 +1,8 @@ +#TODO mlua crate error +[source] +git = "https://github.com/K4rakara/freshfetch" +[build] +template = "custom" +script = """ +cookbook_cargo_packages freshfetch +""" diff --git a/recipes/wip/sys-info/macchina/recipe.toml b/recipes/wip/sys-info/macchina/recipe.toml new file mode 100644 index 00000000..524a1d55 --- /dev/null +++ b/recipes/wip/sys-info/macchina/recipe.toml @@ -0,0 +1,5 @@ +#TODO if-addrs crate error +[source] +git = "https://github.com/Macchina-CLI/macchina" +[build] +template = "cargo" diff --git a/recipes/wip/sys-info/mission-center/recipe.toml b/recipes/wip/sys-info/mission-center/recipe.toml new file mode 100644 index 00000000..d5f56bee --- /dev/null +++ b/recipes/wip/sys-info/mission-center/recipe.toml @@ -0,0 +1,14 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.com/mission-center-devs/mission-center#building---native +#TODO patch to disable libgbm +[source] +git = "https://gitlab.com/mission-center-devs/mission-center" +[build] +template = "meson" +dependencies = [ + "gtk4", + "libadwaita", + "eudev", + "libdrm", + "dbus", +] diff --git a/recipes/wip/sys-info/neofetch/recipe.toml b/recipes/wip/sys-info/neofetch/recipe.toml new file mode 100644 index 00000000..f1438fbd --- /dev/null +++ b/recipes/wip/sys-info/neofetch/recipe.toml @@ -0,0 +1,11 @@ +#TODO Add Redox OS on the Bash script +[source] +git = "https://github.com/dylanaraps/neofetch" +rev = "60d07dee6b76769d8c487a40639fb7b5a1a7bc85" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr/bin +cp "${COOKBOOK_SOURCE}"/neofetch "${COOKBOOK_STAGE}"/usr/bin/neofetch +chmod a+x "${COOKBOOK_STAGE}"/usr/bin/neofetch +""" diff --git a/recipes/wip/sys-info/pciutils/recipe.toml b/recipes/wip/sys-info/pciutils/recipe.toml new file mode 100644 index 00000000..70710ff5 --- /dev/null +++ b/recipes/wip/sys-info/pciutils/recipe.toml @@ -0,0 +1,8 @@ +#TODO missing script for "make", see https://git.kernel.org/pub/scm/utils/pciutils/pciutils.git/tree/README#n52 +[source] +tar = "https://mirrors.edge.kernel.org/pub/software/utils/pciutils/pciutils-3.9.0.tar.xz" +[build] +template = "custom" +dependencies = [ + "zlib", +] diff --git a/recipes/wip/sys-info/pfetch-rs/recipe.toml b/recipes/wip/sys-info/pfetch-rs/recipe.toml new file mode 100644 index 00000000..14a10962 --- /dev/null +++ b/recipes/wip/sys-info/pfetch-rs/recipe.toml @@ -0,0 +1,5 @@ +#TODO if-addrs crate error +[source] +git = "https://github.com/Gobidev/pfetch-rs" +[build] +template = "cargo" diff --git a/recipes/wip/sys-info/process-viewer/recipe.toml b/recipes/wip/sys-info/process-viewer/recipe.toml new file mode 100644 index 00000000..bf48af60 --- /dev/null +++ b/recipes/wip/sys-info/process-viewer/recipe.toml @@ -0,0 +1,8 @@ +#TODO make GTK4 work +[source] +git = "https://github.com/GuillaumeGomez/process-viewer" +[build] +template = "cargo" +dependencies = [ + "gtk4", +] diff --git a/recipes/wip/sys-info/procps-ng/recipe.toml b/recipes/wip/sys-info/procps-ng/recipe.toml new file mode 100644 index 00000000..fc247ee4 --- /dev/null +++ b/recipes/wip/sys-info/procps-ng/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://sourceforge.net/projects/procps-ng/files/Production/procps-ng-4.0.4.tar.xz/download" +[build] +template = "configure" diff --git a/recipes/wip/sys-info/procs/recipe.toml b/recipes/wip/sys-info/procs/recipe.toml new file mode 100644 index 00000000..da481c03 --- /dev/null +++ b/recipes/wip/sys-info/procs/recipe.toml @@ -0,0 +1,5 @@ +#TODO async-io and rustix crates error (after cargo update) +[source] +git = "https://github.com/dalance/procs" +[build] +template = "cargo" diff --git a/recipes/wip/sys-info/rfetch/recipe.toml b/recipes/wip/sys-info/rfetch/recipe.toml new file mode 100644 index 00000000..3a1287cb --- /dev/null +++ b/recipes/wip/sys-info/rfetch/recipe.toml @@ -0,0 +1,5 @@ +#TODO nix crate error (after cargo update) +[source] +git = "https://github.com/kamui-fin/rfetch" +[build] +template = "cargo" diff --git a/recipes/wip/sys-info/rsftch/recipe.toml b/recipes/wip/sys-info/rsftch/recipe.toml new file mode 100644 index 00000000..e0758a6e --- /dev/null +++ b/recipes/wip/sys-info/rsftch/recipe.toml @@ -0,0 +1,5 @@ +#TODO source code error +[source] +git = "https://github.com/charklie/rsftch" +[build] +template = "cargo" diff --git a/recipes/wip/sys-info/usbutils/recipe.toml b/recipes/wip/sys-info/usbutils/recipe.toml new file mode 100644 index 00000000..ea3c222e --- /dev/null +++ b/recipes/wip/sys-info/usbutils/recipe.toml @@ -0,0 +1,8 @@ +#TODO compilation error +[source] +tar = "https://www.kernel.org/pub/linux/utils/usb/usbutils/usbutils-017.tar.xz" +[build] +template = "configure" +dependencies = [ + "libusb", +] diff --git a/recipes/wip/sys-info/zeitfetch/recipe.toml b/recipes/wip/sys-info/zeitfetch/recipe.toml new file mode 100644 index 00000000..a78a1c4c --- /dev/null +++ b/recipes/wip/sys-info/zeitfetch/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/nidnogg/zeitfetch" +[build] +template = "cargo" diff --git a/recipes/wip/system/pik/recipe.toml b/recipes/wip/system/pik/recipe.toml new file mode 100644 index 00000000..1c1e04f3 --- /dev/null +++ b/recipes/wip/system/pik/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/jacek-kurlit/pik" +[build] +template = "cargo" diff --git a/recipes/wip/system/procman/recipe.toml b/recipes/wip/system/procman/recipe.toml new file mode 100644 index 00000000..efc7983b --- /dev/null +++ b/recipes/wip/system/procman/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/jaroslawroszyk/procman" +[build] +template = "cargo" diff --git a/recipes/wip/system/rustysd/recipe.toml b/recipes/wip/system/rustysd/recipe.toml new file mode 100644 index 00000000..ad6fd0bb --- /dev/null +++ b/recipes/wip/system/rustysd/recipe.toml @@ -0,0 +1,27 @@ +#TODO: Unable to fork services, page fault on rsdctl +[source] +git = "https://github.com/willnode/rustysd" +branch = "redox" + +[build] +template = "custom" +script = """ +cookbook_cargo + +mkdir -p ${COOKBOOK_STAGE}/etc/rustysd/system +cat <<'EOF' > ${COOKBOOK_STAGE}/etc/rustysd/rustysd_config.toml +unit_dirs = [ + "/etc/rustysd/system", + "/etc/rustysd/user", +] +logging_dir = "/var/log/rustysd" +log_to_disk = true +log_to_stdout = false +target_unit = "default.target" +notifications_dir = "/var/run/rustysd" +# selfpath = "" +EOF + +cp ${COOKBOOK_SOURCE}/docker_test_units/*.target ${COOKBOOK_STAGE}/etc/rustysd/system/ +ln -s rsdctl ${COOKBOOK_STAGE}/usr/bin/systemctl +""" diff --git a/recipes/wip/system/topgrade/recipe.toml b/recipes/wip/system/topgrade/recipe.toml new file mode 100644 index 00000000..539b1acd --- /dev/null +++ b/recipes/wip/system/topgrade/recipe.toml @@ -0,0 +1,5 @@ +#TODO async-io and rustix crates error +[source] +git = "https://github.com/topgrade-rs/topgrade" +[build] +template = "cargo" diff --git a/recipes/wip/tel/sms-server/recipe.toml b/recipes/wip/tel/sms-server/recipe.toml new file mode 100644 index 00000000..99e2fba4 --- /dev/null +++ b/recipes/wip/tel/sms-server/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/morgverd/sms-server" +[build] +template = "cargo" diff --git a/recipes/wip/tel/sms-terminal/recipe.toml b/recipes/wip/tel/sms-terminal/recipe.toml new file mode 100644 index 00000000..b47ae36a --- /dev/null +++ b/recipes/wip/tel/sms-terminal/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/morgverd/sms-terminal" +[build] +template = "cargo" diff --git a/recipes/wip/terminal/agg/recipe.toml b/recipes/wip/terminal/agg/recipe.toml new file mode 100644 index 00000000..0cc12f40 --- /dev/null +++ b/recipes/wip/terminal/agg/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/asciinema/agg" +[build] +template = "cargo" diff --git a/recipes/wip/terminal/alacritty/recipe.toml b/recipes/wip/terminal/alacritty/recipe.toml new file mode 100644 index 00000000..f2cc8562 --- /dev/null +++ b/recipes/wip/terminal/alacritty/recipe.toml @@ -0,0 +1,24 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/alacritty/alacritty" +[build] +template = "custom" +dependencies = [ + "freetype2", + "fontconfig", + "libxcb", +] +script = """ +DYNAMIC_INIT +package=alacritty +"${COOKBOOK_CARGO}" build \ + --manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \ + --package "${package}" \ + --release \ + --no-default-features \ + --features=x11 + mkdir -pv "${COOKBOOK_STAGE}/usr/bin" + cp -v \ + "target/${TARGET}/release/${package}" \ + "${COOKBOOK_STAGE}/usr/bin/${package}" +""" diff --git a/recipes/wip/terminal/ascii-gen/recipe.toml b/recipes/wip/terminal/ascii-gen/recipe.toml new file mode 100644 index 00000000..1aebb974 --- /dev/null +++ b/recipes/wip/terminal/ascii-gen/recipe.toml @@ -0,0 +1,5 @@ +#TODO promote +[source] +git = "https://github.com/thed24/ascii-gen" +[build] +template = "cargo" diff --git a/recipes/wip/terminal/asciiquarium/recipe.toml b/recipes/wip/terminal/asciiquarium/recipe.toml new file mode 100644 index 00000000..3bf31400 --- /dev/null +++ b/recipes/wip/terminal/asciiquarium/recipe.toml @@ -0,0 +1,14 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/cmatsuoka/asciiquarium" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr/bin +cp "${COOKBOOK_SOURCE}"/asciiquarium "${COOKBOOK_STAGE}"/usr/bin/asciiquarium +chmod a+x "${COOKBOOK_STAGE}"/usr/bin/asciiquarium +""" +[package] +dependencies = [ + "perl", +] diff --git a/recipes/wip/terminal/bobr/recipe.toml b/recipes/wip/terminal/bobr/recipe.toml new file mode 100644 index 00000000..a7632aa7 --- /dev/null +++ b/recipes/wip/terminal/bobr/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/cchexcode/bobr" +[build] +template = "cargo" diff --git a/recipes/wip/terminal/boulette/recipe.toml b/recipes/wip/terminal/boulette/recipe.toml new file mode 100644 index 00000000..4dd89dd8 --- /dev/null +++ b/recipes/wip/terminal/boulette/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/pipelight/boulette" +[build] +template = "cargo" diff --git a/recipes/wip/terminal/cbonsai/recipe.toml b/recipes/wip/terminal/cbonsai/recipe.toml new file mode 100644 index 00000000..4c1a808d --- /dev/null +++ b/recipes/wip/terminal/cbonsai/recipe.toml @@ -0,0 +1,9 @@ +#TODO missing script for gnu make: https://gitlab.com/jallbrit/cbonsai#manual +[source] +git = "https://gitlab.com/jallbrit/cbonsai" +rev = "v1.4.2" +[build] +template = "custom" +dependencies = [ + "ncursesw", +] diff --git a/recipes/wip/terminal/chafa/recipe.toml b/recipes/wip/terminal/chafa/recipe.toml new file mode 100644 index 00000000..01d73967 --- /dev/null +++ b/recipes/wip/terminal/chafa/recipe.toml @@ -0,0 +1,11 @@ +#TODO can't find FreeType dependency +[source] +tar = "https://hpjansson.org/chafa/releases/chafa-1.12.4.tar.xz" +[build] +template = "configure" +dependencies = [ + "glib", + "imagemagick", + "pcre", + "freetype2", +] diff --git a/recipes/wip/terminal/chatd/recipe.toml b/recipes/wip/terminal/chatd/recipe.toml new file mode 100644 index 00000000..1a9bd5a5 --- /dev/null +++ b/recipes/wip/terminal/chatd/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/unrenamed/chatd" +[build] +template = "cargo" diff --git a/recipes/wip/terminal/contour-terminal/recipe.toml b/recipes/wip/terminal/contour-terminal/recipe.toml new file mode 100644 index 00000000..40110b1a --- /dev/null +++ b/recipes/wip/terminal/contour-terminal/recipe.toml @@ -0,0 +1,20 @@ +#TODO not compiled or tested +# build instructions - https://contour-terminal.org/install/#unix-like-systems-linux-freebsd-macos +#TODO missing dependencies, see https://github.com/contour-terminal/contour/blob/master/scripts/install-deps.sh#L328 +[source] +git = "https://github.com/contour-terminal/contour" +rev = "116f1d16f6dc33ab8b0f6010a44e7b23eadeb8ca" +[build] +template = "cmake" +dependencies = [ + "fontconfig", + "freetyoe2", + "harfbuzz", + "libssh2", + "ncurses", + "qt6-base", + "qt6-declarative", + "qt6-multimedia", + "qt6-tools", + "libxcb", +] diff --git a/recipes/wip/terminal/countryfetch/recipe.toml b/recipes/wip/terminal/countryfetch/recipe.toml new file mode 100644 index 00000000..2679aaa9 --- /dev/null +++ b/recipes/wip/terminal/countryfetch/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/nik-rev/countryfetch" +[build] +template = "custom" +script = """ +cookbook_cargo_packages countryfetch +""" diff --git a/recipes/wip/terminal/desktop-tui/recipe.toml b/recipes/wip/terminal/desktop-tui/recipe.toml new file mode 100644 index 00000000..426f28d7 --- /dev/null +++ b/recipes/wip/terminal/desktop-tui/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/Julien-cpsn/desktop-tui" +[build] +template = "cargo" diff --git a/recipes/wip/terminal/envx/recioe.toml b/recipes/wip/terminal/envx/recioe.toml new file mode 100644 index 00000000..0f187a55 --- /dev/null +++ b/recipes/wip/terminal/envx/recioe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/mikeleppane/envx" +[build] +template = "cargo" diff --git a/recipes/wip/terminal/fsel/recipe.toml b/recipes/wip/terminal/fsel/recipe.toml new file mode 100644 index 00000000..227bad50 --- /dev/null +++ b/recipes/wip/terminal/fsel/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/Mjoyufull/fsel" +[build] +template = "cargo" diff --git a/recipes/wip/terminal/ghostie/recipe.toml b/recipes/wip/terminal/ghostie/recipe.toml new file mode 100644 index 00000000..2fd57e44 --- /dev/null +++ b/recipes/wip/terminal/ghostie/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/attriaayush/ghostie" +[build] +template = "cargo" diff --git a/recipes/wip/terminal/leadr/recipe.toml b/recipes/wip/terminal/leadr/recipe.toml new file mode 100644 index 00000000..f1697873 --- /dev/null +++ b/recipes/wip/terminal/leadr/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/ll-nick/leadr" +[build] +template = "cargo" diff --git a/recipes/wip/terminal/lk/recipe.toml b/recipes/wip/terminal/lk/recipe.toml new file mode 100644 index 00000000..1e43032a --- /dev/null +++ b/recipes/wip/terminal/lk/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/jamescoleuk/lk" +[build] +template = "cargo" diff --git a/recipes/wip/terminal/logria/recipe.toml b/recipes/wip/terminal/logria/recipe.toml new file mode 100644 index 00000000..e25b0871 --- /dev/null +++ b/recipes/wip/terminal/logria/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/ReagentX/Logria" +[build] +template = "cargo" diff --git a/recipes/wip/terminal/loriini/recipe.toml b/recipes/wip/terminal/loriini/recipe.toml new file mode 100644 index 00000000..77b9afdf --- /dev/null +++ b/recipes/wip/terminal/loriini/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/kolja/loriini" +[build] +template = "cargo" diff --git a/recipes/wip/terminal/lule/recipe.toml b/recipes/wip/terminal/lule/recipe.toml new file mode 100644 index 00000000..58ba216c --- /dev/null +++ b/recipes/wip/terminal/lule/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/warpwm/lule" +[build] +template = "cargo" diff --git a/recipes/wip/terminal/ngrv/recipe.toml b/recipes/wip/terminal/ngrv/recipe.toml new file mode 100644 index 00000000..f196674f --- /dev/null +++ b/recipes/wip/terminal/ngrv/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/sorairolake/ngrv" +[build] +template = "cargo" diff --git a/recipes/wip/terminal/otter-launcher/recipe.toml b/recipes/wip/terminal/otter-launcher/recipe.toml new file mode 100644 index 00000000..3b4c4a7b --- /dev/null +++ b/recipes/wip/terminal/otter-launcher/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/kuokuo123/otter-launcher" +[build] +template = "custom" +script = """ +cookbook_cargo +mkdir -pv "${COOKBOOK_STAGE}/usr/share/otter-launcher" +cp -rv "${COOKBOOK_SOURCE}"/contrib/* "${COOKBOOK_STAGE}/usr/share/otter-launcher" +""" diff --git a/recipes/wip/terminal/pastel/recipe.toml b/recipes/wip/terminal/pastel/recipe.toml new file mode 100644 index 00000000..2bf28ff0 --- /dev/null +++ b/recipes/wip/terminal/pastel/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/sharkdp/pastel" +[build] +template = "cargo" diff --git a/recipes/wip/terminal/pay-respects/recipe.toml b/recipes/wip/terminal/pay-respects/recipe.toml new file mode 100644 index 00000000..1892867a --- /dev/null +++ b/recipes/wip/terminal/pay-respects/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/iffse/pay-respects" +[build] +template = "custom" +script = """ +cookbook_cargo_packages pay-respects +""" diff --git a/recipes/wip/terminal/pipecolor/recipe.toml b/recipes/wip/terminal/pipecolor/recipe.toml new file mode 100644 index 00000000..9abf0b6a --- /dev/null +++ b/recipes/wip/terminal/pipecolor/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/dalance/pipecolor" +[build] +template = "cargo" diff --git a/recipes/wip/terminal/pipes-sh/recipe.toml b/recipes/wip/terminal/pipes-sh/recipe.toml new file mode 100644 index 00000000..d42c6267 --- /dev/null +++ b/recipes/wip/terminal/pipes-sh/recipe.toml @@ -0,0 +1,16 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/pipeseroni/pipes.sh" +rev = "v1.3.0" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr/bin +cp "${COOKBOOK_SOURCE}"/pipes.sh "${COOKBOOK_STAGE}"/usr/bin/pipes +chmod a+x "${COOKBOOK_STAGE}"/usr/bin/pipes +""" +[package] +dependencies = [ + "bash", + "ncurses", +] diff --git a/recipes/wip/terminal/pls/recipe.toml b/recipes/wip/terminal/pls/recipe.toml new file mode 100644 index 00000000..db04dd57 --- /dev/null +++ b/recipes/wip/terminal/pls/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/pls-rs/pls" +[build] +template = "cargo" diff --git a/recipes/wip/terminal/pretty/recipe.toml b/recipes/wip/terminal/pretty/recipe.toml new file mode 100644 index 00000000..43e97c29 --- /dev/null +++ b/recipes/wip/terminal/pretty/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/rhaskia/preTTY" +[build] +template = "custom" +script = """ +cookbook_cargo_packages prettyterm_gui +""" diff --git a/recipes/wip/terminal/rioterm/recipe.toml b/recipes/wip/terminal/rioterm/recipe.toml new file mode 100644 index 00000000..4713a5a8 --- /dev/null +++ b/recipes/wip/terminal/rioterm/recipe.toml @@ -0,0 +1,10 @@ +#TODO Need to make libxkbcommon work +[source] +git = "https://github.com/raphamorim/rio" +[build] +template = "cargo" +dependencies = [ + "freetype2", + "fontconfig", + "libxkbcommon", +] diff --git a/recipes/wip/terminal/rterm/recipe.toml b/recipes/wip/terminal/rterm/recipe.toml new file mode 100644 index 00000000..66cab250 --- /dev/null +++ b/recipes/wip/terminal/rterm/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/mechpen/rterm" +[build] +template = "cargo" diff --git a/recipes/wip/terminal/scooter/recipe.toml b/recipes/wip/terminal/scooter/recipe.toml new file mode 100644 index 00000000..167f32f6 --- /dev/null +++ b/recipes/wip/terminal/scooter/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/thomasschafer/scooter" +[build] +template = "custom" +script = """ +cookbook_cargo_packages scooter +""" diff --git a/recipes/wip/terminal/so/recipe.toml b/recipes/wip/terminal/so/recipe.toml new file mode 100644 index 00000000..d32b099d --- /dev/null +++ b/recipes/wip/terminal/so/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/samtay/so" +[build] +template = "custom" +script = """ +cookbook_cargo --no-default-features --features termion-backend +""" diff --git a/recipes/wip/terminal/starship/recipe.toml b/recipes/wip/terminal/starship/recipe.toml new file mode 100644 index 00000000..7e303d4a --- /dev/null +++ b/recipes/wip/terminal/starship/recipe.toml @@ -0,0 +1,6 @@ +#TODO systemstat crate error +#TODO nix::unistd::User +[source] +git = "https://github.com/starship/starship" +[build] +template = "cargo" diff --git a/recipes/wip/terminal/tab-rs/recipe.toml b/recipes/wip/terminal/tab-rs/recipe.toml new file mode 100644 index 00000000..91355fc9 --- /dev/null +++ b/recipes/wip/terminal/tab-rs/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/austinjones/tab-rs" +[build] +template = "custom" +script = """ +cookbook_cargo_packages tab +""" diff --git a/recipes/wip/terminal/tarts/recipe.toml b/recipes/wip/terminal/tarts/recipe.toml new file mode 100644 index 00000000..9a46e6b0 --- /dev/null +++ b/recipes/wip/terminal/tarts/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/oiwn/tarts" +[build] +template = "cargo" diff --git a/recipes/wip/terminal/tattoy/recipe.toml b/recipes/wip/terminal/tattoy/recipe.toml new file mode 100644 index 00000000..4dfe5668 --- /dev/null +++ b/recipes/wip/terminal/tattoy/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/tattoy-org/tattoy" +[build] +template = "custom" +script = """ +cookbook_cargo_packages tattoy +""" diff --git a/recipes/wip/terminal/tere/recipe.toml b/recipes/wip/terminal/tere/recipe.toml new file mode 100644 index 00000000..e4ac6774 --- /dev/null +++ b/recipes/wip/terminal/tere/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/mgunyho/tere" +[build] +template = "cargo" diff --git a/recipes/wip/terminal/term39/recipe.toml b/recipes/wip/terminal/term39/recipe.toml new file mode 100644 index 00000000..61590f08 --- /dev/null +++ b/recipes/wip/terminal/term39/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/alejandroqh/term39" +[build] +template = "cargo" diff --git a/recipes/wip/terminal/termimage/recipe.toml b/recipes/wip/terminal/termimage/recipe.toml new file mode 100644 index 00000000..15619e6c --- /dev/null +++ b/recipes/wip/terminal/termimage/recipe.toml @@ -0,0 +1,5 @@ +#TODO move to the proper category +[source] +git = "https://github.com/nabijaczleweli/termimage" +[build] +template = "cargo" diff --git a/recipes/wip/terminal/terminal-toys/recipe.toml b/recipes/wip/terminal/terminal-toys/recipe.toml new file mode 100644 index 00000000..cb6edbc2 --- /dev/null +++ b/recipes/wip/terminal/terminal-toys/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/Seebass22/terminal-toys" +[build] +template = "cargo" diff --git a/recipes/wip/terminal/terminal-yt/recipe.toml b/recipes/wip/terminal/terminal-yt/recipe.toml new file mode 100644 index 00000000..81c4ae2c --- /dev/null +++ b/recipes/wip/terminal/terminal-yt/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/jooooscha/terminal-yt" +[build] +template = "cargo" diff --git a/recipes/wip/terminal/thokr/recipe.toml b/recipes/wip/terminal/thokr/recipe.toml new file mode 100644 index 00000000..4b54acaf --- /dev/null +++ b/recipes/wip/terminal/thokr/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/jrnxf/thokr" +[build] +template = "cargo" diff --git a/recipes/wip/terminal/tmux/recipe.toml b/recipes/wip/terminal/tmux/recipe.toml new file mode 100644 index 00000000..6a95203b --- /dev/null +++ b/recipes/wip/terminal/tmux/recipe.toml @@ -0,0 +1,13 @@ +#TODO not compiled or tested +[source] +tar = "https://github.com/tmux/tmux/releases/download/3.4/tmux-3.4.tar.gz" +[build] +template = "custom" +dependencies = [ + "ncurses", + "libevent", +] +script = """ +export CPPFLAGS="-I${COOKBOOK_SYSROOT}/include/ncurses" +cookbook_configure +""" diff --git a/recipes/wip/terminal/toyterm/recipe.toml b/recipes/wip/terminal/toyterm/recipe.toml new file mode 100644 index 00000000..361c371d --- /dev/null +++ b/recipes/wip/terminal/toyterm/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/algon-320/toyterm" +[build] +template = "cargo" diff --git a/recipes/wip/terminal/useenv/recipe.toml b/recipes/wip/terminal/useenv/recipe.toml new file mode 100644 index 00000000..a65a06b0 --- /dev/null +++ b/recipes/wip/terminal/useenv/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/EliahKagan/useenv" +[build] +template = "cargo" diff --git a/recipes/wip/terminal/wezterm/recipe.toml b/recipes/wip/terminal/wezterm/recipe.toml new file mode 100644 index 00000000..cdb8a3f3 --- /dev/null +++ b/recipes/wip/terminal/wezterm/recipe.toml @@ -0,0 +1,30 @@ +#TODO not compiled or tested +# build instructions: https://wezterm.org/install/source.html +# dependencies reference: https://github.com/wez/wezterm/blob/main/get-deps#L149 +[source] +git = "https://github.com/wez/wezterm" +shallow_clone = true +[build] +template = "custom" +dependencies = [ + "mesa", + "fontconfig", + "openssl3", + "libxkbcommon", + "libx11", + "libxcb", +] +script = """ +DYNAMIC_INIT +package=wezterm +"${COOKBOOK_CARGO}" build \ + --manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \ + --package "${package}" \ + --release \ + --no-default-features \ + --features=vendored-fonts + mkdir -pv "${COOKBOOK_STAGE}/usr/bin" + cp -v \ + "target/${TARGET}/release/${package}" \ + "${COOKBOOK_STAGE}/usr/bin/${package}" +""" diff --git a/recipes/wip/terminal/zellij/recipe.toml b/recipes/wip/terminal/zellij/recipe.toml new file mode 100644 index 00000000..ead436fc --- /dev/null +++ b/recipes/wip/terminal/zellij/recipe.toml @@ -0,0 +1,5 @@ +#TODO openssl-sys crate error (after cargo update) +[source] +git = "https://github.com/zellij-org/zellij" +[build] +template = "cargo" diff --git a/recipes/wip/tests/pjdfstest/recipe.toml b/recipes/wip/tests/pjdfstest/recipe.toml new file mode 100644 index 00000000..c37f6a25 --- /dev/null +++ b/recipes/wip/tests/pjdfstest/recipe.toml @@ -0,0 +1,11 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/pjd/pjdfstest" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}/home/user/pjdfstest" +cp -rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}/home/user/pjdfstest" +""" +[package] +dependencies = ["perl5"] diff --git a/recipes/wip/tests/xfstests/recipe.toml b/recipes/wip/tests/xfstests/recipe.toml new file mode 100644 index 00000000..81cf8077 --- /dev/null +++ b/recipes/wip/tests/xfstests/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/kdave/xfstests" +rev = "2cba4b54e6ab21d9324000f3cd009dbe9cad9c19" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}/home/user/xfstests" +cp -rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}/home/user/xfstests" +""" diff --git a/recipes/wip/text/amp/recipe.toml b/recipes/wip/text/amp/recipe.toml new file mode 100644 index 00000000..ccd35de4 --- /dev/null +++ b/recipes/wip/text/amp/recipe.toml @@ -0,0 +1,5 @@ +#TODO require a patch on the mio crate +[source] +git = "https://github.com/jmacdonald/amp" +[build] +template = "cargo" diff --git a/recipes/wip/text/basalt/recipe.toml b/recipes/wip/text/basalt/recipe.toml new file mode 100644 index 00000000..22e8922e --- /dev/null +++ b/recipes/wip/text/basalt/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/erikjuhani/basalt" +[build] +template = "custom" +script = """ +cookbook_cargo_packages basalt-tui +""" diff --git a/recipes/wip/text/bat/recipe.toml b/recipes/wip/text/bat/recipe.toml new file mode 100644 index 00000000..d01b0cd2 --- /dev/null +++ b/recipes/wip/text/bat/recipe.toml @@ -0,0 +1,5 @@ +#TODO sys-info crate build.rs does not recognize Redox +[source] +git = "https://github.com/sharkdp/bat" +[build] +template = "cargo" diff --git a/recipes/wip/text/blogr/recipe.toml b/recipes/wip/text/blogr/recipe.toml new file mode 100644 index 00000000..1f703492 --- /dev/null +++ b/recipes/wip/text/blogr/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/bahdotsh/blogr" +[build] +template = "custom" +script = """ +cookbook_cargo_packages blogr-cli +""" diff --git a/recipes/wip/text/csview/recipe.toml b/recipes/wip/text/csview/recipe.toml new file mode 100644 index 00000000..8833c875 --- /dev/null +++ b/recipes/wip/text/csview/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/wfxr/csview" +[build] +template = "cargo" diff --git a/recipes/wip/text/csvlens/recipe.toml b/recipes/wip/text/csvlens/recipe.toml new file mode 100644 index 00000000..a9c5707d --- /dev/null +++ b/recipes/wip/text/csvlens/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/YS-L/csvlens" +[build] +template = "cargo" diff --git a/recipes/wip/text/dog/recipe.toml b/recipes/wip/text/dog/recipe.toml new file mode 100644 index 00000000..6f73d609 --- /dev/null +++ b/recipes/wip/text/dog/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/TrystanScottLambert/dog" +[build] +template = "cargo" diff --git a/recipes/wip/text/duat/recipe.toml b/recipes/wip/text/duat/recipe.toml new file mode 100644 index 00000000..e68d7b22 --- /dev/null +++ b/recipes/wip/text/duat/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/AhoyISki/duat" +[build] +template = "cargo" diff --git a/recipes/wip/text/edit/recipe.toml b/recipes/wip/text/edit/recipe.toml new file mode 100644 index 00000000..d21fb69d --- /dev/null +++ b/recipes/wip/text/edit/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/microsoft/edit" +[build] +template = "cargo" diff --git a/recipes/wip/text/emacs-nox/recipe.toml b/recipes/wip/text/emacs-nox/recipe.toml new file mode 100644 index 00000000..c6b9117a --- /dev/null +++ b/recipes/wip/text/emacs-nox/recipe.toml @@ -0,0 +1,22 @@ +#TODO compilation error +#TODO make dependencies work +[source] +tar = "https://ftp.gnu.org/gnu/emacs/emacs-29.1.tar.xz" +[build] +template = "custom" +dependencies = [ + "dbus", + "libgmp", + "libgpm", + "gnutls3", + "jansson", + "liblcms", + "sqlite3", + "libxml2", + "zlib", + "ncurses", +] +script = """ +export CPPFLAGS="-I${COOKBOOK_SYSROOT}/include/ncurses" +cookbook_configure +""" diff --git a/recipes/wip/text/emacs-pgtk/recipe.toml b/recipes/wip/text/emacs-pgtk/recipe.toml new file mode 100644 index 00000000..825fa2e3 --- /dev/null +++ b/recipes/wip/text/emacs-pgtk/recipe.toml @@ -0,0 +1,37 @@ +#TODO compilation error +#TODO make dependencies work +[source] +tar = "https://ftp.gnu.org/gnu/emacs/emacs-29.1.tar.xz" +[build] +template = "custom" +dependencies = [ + "dbus", + "libgmp", + "libgpm", + "gnutls3", + "jansson", + "liblcms", + "sqlite3", + "libxml2", + "zlib", + "ncurses", + "cairo", + "fontconfig", + "freetype2", + "gdk-pixbuf", + "libgif", + "glib", + "gtk3", + "harfbuzz", + "libjpeg", + "pango", + "libpng", + "librsvg", + "libtiff", + "libwebp", + "libotf", +] +script = """ +export CPPFLAGS="-I${COOKBOOK_SYSROOT}/include/ncurses" +cookbook_configure +""" diff --git a/recipes/wip/text/flowfix/recipe.toml b/recipes/wip/text/flowfix/recipe.toml new file mode 100644 index 00000000..77c41933 --- /dev/null +++ b/recipes/wip/text/flowfix/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/warpwm/flowfix" +[build] +template = "cargo" diff --git a/recipes/wip/text/fsrx/recipe.toml b/recipes/wip/text/fsrx/recipe.toml new file mode 100644 index 00000000..5606d37c --- /dev/null +++ b/recipes/wip/text/fsrx/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/jrnxf/fsrx" +[build] +template = "cargo" diff --git a/recipes/wip/text/gnome-text-editor/recipe.toml b/recipes/wip/text/gnome-text-editor/recipe.toml new file mode 100644 index 00000000..ef9911ec --- /dev/null +++ b/recipes/wip/text/gnome-text-editor/recipe.toml @@ -0,0 +1,14 @@ +#TODO not compiled or tested +[source] +tar = "https://download.gnome.org/sources/gnome-text-editor/49/gnome-text-editor-49.0.tar.xz" +[build] +template = "meson" +mesonflags = [ + "-Deditorconfig=false" +] +dependencies = [ + "gtk4", + "gtksourceview", + "libadwaita", + "libspelling", +] diff --git a/recipes/wip/text/helix-gpui/recipe.toml b/recipes/wip/text/helix-gpui/recipe.toml new file mode 100644 index 00000000..91e2d934 --- /dev/null +++ b/recipes/wip/text/helix-gpui/recipe.toml @@ -0,0 +1,9 @@ +#TODO can't find the fontconfig dependency +[source] +git = "https://github.com/polachok/helix-gpui" +[build] +template = "cargo" +dependencies = [ + "openssl1", + "fontconfig", +] diff --git a/recipes/wip/text/igrep/recipe.toml b/recipes/wip/text/igrep/recipe.toml new file mode 100644 index 00000000..87165ae4 --- /dev/null +++ b/recipes/wip/text/igrep/recipe.toml @@ -0,0 +1,5 @@ +#TODO promote +[source] +git = "https://github.com/konradsz/igrep" +[build] +template = "cargo" diff --git a/recipes/wip/text/jt/recipe.toml b/recipes/wip/text/jt/recipe.toml new file mode 100644 index 00000000..fd37be9c --- /dev/null +++ b/recipes/wip/text/jt/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/shashwatah/jot" +[build] +template = "cargo" diff --git a/recipes/wip/text/keypunch/recipe.toml b/recipes/wip/text/keypunch/recipe.toml new file mode 100644 index 00000000..2a936655 --- /dev/null +++ b/recipes/wip/text/keypunch/recipe.toml @@ -0,0 +1,9 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/bragefuglseth/keypunch" +[build] +template = "cargo" +dependencies = [ + "gtk4", + "libadwaita", +] diff --git a/recipes/wip/text/kibi/recipe.toml b/recipes/wip/text/kibi/recipe.toml new file mode 100644 index 00000000..828a4270 --- /dev/null +++ b/recipes/wip/text/kibi/recipe.toml @@ -0,0 +1,10 @@ +#TODO promote +[source] +git = "https://github.com/ilai-deutel/kibi" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/kibi +cp -rv "${COOKBOOK_SOURCE}"/syntax.d "${COOKBOOK_STAGE}"/usr/share/kibi +cookbook_cargo +""" diff --git a/recipes/wip/text/mado/recipe.toml b/recipes/wip/text/mado/recipe.toml new file mode 100644 index 00000000..b39f95a6 --- /dev/null +++ b/recipes/wip/text/mado/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/akiomik/mado" +[build] +template = "cargo" diff --git a/recipes/wip/text/md-tui/recipe.toml b/recipes/wip/text/md-tui/recipe.toml new file mode 100644 index 00000000..452d1a66 --- /dev/null +++ b/recipes/wip/text/md-tui/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/henriklovhaug/md-tui" +[build] +template = "cargo" diff --git a/recipes/wip/text/mdcat/recipe.toml b/recipes/wip/text/mdcat/recipe.toml new file mode 100644 index 00000000..231a1730 --- /dev/null +++ b/recipes/wip/text/mdcat/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/swsnr/mdcat" +[build] +template = "custom" +script = """ +cookbook_cargo --features=static +""" diff --git a/recipes/wip/text/nanorust/recipe.toml b/recipes/wip/text/nanorust/recipe.toml new file mode 100644 index 00000000..616849da --- /dev/null +++ b/recipes/wip/text/nanorust/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/Supakornn/nanorust" +[build] +template = "cargo" diff --git a/recipes/wip/text/neovide/recipe.toml b/recipes/wip/text/neovide/recipe.toml new file mode 100644 index 00000000..0c6631fa --- /dev/null +++ b/recipes/wip/text/neovide/recipe.toml @@ -0,0 +1,14 @@ +#TODO Make neovim and freeglut work +[source] +git = "https://github.com/neovide/neovide" +[build] +template = "cargo" +dependencies = [ + "neovim", + "openssl1", + "freetype2", + "expat", + "bzip2", + "freeglut", + "fontconfig", +] diff --git a/recipes/wip/text/neovim/recipe.toml b/recipes/wip/text/neovim/recipe.toml new file mode 100644 index 00000000..8978c7ed --- /dev/null +++ b/recipes/wip/text/neovim/recipe.toml @@ -0,0 +1,30 @@ +#TODO mostly work, kinda slow, can't quit (signal issues?) +[source] +tar = "https://github.com/neovim/neovim/archive/refs/tags/v0.11.3.tar.gz" +patches = [ + "redox.patch" +] + +[build] +template = "custom" +dependencies = [ + "luajit", + "libiconv", + "libuv", + "luv", + "lpeg", + "tree-sitter", + "gettext", + "unibilium", + "utf8proc", +] +script = """ +DYNAMIC_INIT +cookbook_cmake \ + -DLUA_GEN_PRG=luajit + +# Lpeg is absolute path https://github.com/neovim/neovim/issues/23395 +patchelf --replace-needed \ + "${COOKBOOK_SYSROOT}/usr/lib/liblpeg.so" \ + 'liblpeg.so.1' ${COOKBOOK_STAGE}/usr/bin/nvim +""" diff --git a/recipes/wip/text/neovim/redox.patch b/recipes/wip/text/neovim/redox.patch new file mode 100644 index 00000000..30b3f722 --- /dev/null +++ b/recipes/wip/text/neovim/redox.patch @@ -0,0 +1,141 @@ +diff -ruwN source/runtime/CMakeLists.txt source-new/runtime/CMakeLists.txt +--- source/runtime/CMakeLists.txt 2025-07-13 01:34:12.000000000 +0700 ++++ source-new/runtime/CMakeLists.txt 2025-09-16 14:46:20.134790482 +0700 +@@ -24,37 +24,6 @@ + + file(GLOB PACKAGES CONFIGURE_DEPENDS ${PROJECT_SOURCE_DIR}/runtime/pack/dist/opt/*) + +-set(GENERATED_PACKAGE_TAGS) +-foreach(PACKAGE ${PACKAGES}) +- get_filename_component(PACKNAME ${PACKAGE} NAME) +- file(GLOB "${PACKNAME}_DOC_FILES" CONFIGURE_DEPENDS ${PACKAGE}/doc/*.txt) +- if(${PACKNAME}_DOC_FILES) +- file(MAKE_DIRECTORY ${GENERATED_PACKAGE_DIR}/${PACKNAME}) +- add_custom_command(OUTPUT "${GENERATED_PACKAGE_DIR}/${PACKNAME}/doc/tags" +- COMMAND ${CMAKE_COMMAND} -E copy_directory +- ${PACKAGE} ${GENERATED_PACKAGE_DIR}/${PACKNAME} +- COMMAND $ +- -u NONE -i NONE -e --headless -c "helptags doc" -c quit +- DEPENDS +- nvim_bin +- nvim_runtime_deps +- WORKING_DIRECTORY "${GENERATED_PACKAGE_DIR}/${PACKNAME}" +- ) +- +- set("${PACKNAME}_DOC_NAMES") +- foreach(DF "${${PACKNAME}_DOC_FILES}") +- get_filename_component(F ${DF} NAME) +- list(APPEND "${PACKNAME}_DOC_NAMES" ${GENERATED_PACKAGE_DIR}/${PACKNAME}/doc/${F}) +- endforeach() +- +- install_helper( +- FILES ${GENERATED_PACKAGE_DIR}/${PACKNAME}/doc/tags "${${PACKNAME}_DOC_NAMES}" +- DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/nvim/runtime/pack/dist/opt/${PACKNAME}/doc) +- +- list(APPEND GENERATED_PACKAGE_TAGS "${GENERATED_PACKAGE_DIR}/${PACKNAME}/doc/tags") +- endif() +-endforeach() +- + set(BUILDDOCFILES) + foreach(DF ${DOCFILES}) + get_filename_component(F ${DF} NAME) +@@ -65,8 +34,6 @@ + COMMAND ${CMAKE_COMMAND} -E remove_directory doc + COMMAND ${CMAKE_COMMAND} -E copy_directory + ${PROJECT_SOURCE_DIR}/runtime/doc doc +- COMMAND $ +- -u NONE -i NONE -e --headless -c "helptags ++t doc" -c quit + DEPENDS + nvim_bin + nvim_runtime_deps +@@ -78,7 +45,6 @@ + DEPENDS + ${GENERATED_SYN_VIM} + ${GENERATED_HELP_TAGS} +- ${GENERATED_PACKAGE_TAGS} + ) + + # CMake is painful here. It will create the destination using the user's +@@ -88,10 +54,6 @@ + # If it's preexisting, leave it alone. + + install_helper( +- FILES ${GENERATED_HELP_TAGS} ${BUILDDOCFILES} +- DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/nvim/runtime/doc) +- +-install_helper( + FILES ${GENERATED_SYN_VIM} + DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/nvim/runtime/syntax/vim) + +diff -ruwN source/src/nvim/channel.c source-new/src/nvim/channel.c +--- source/src/nvim/channel.c 2025-07-13 01:34:12.000000000 +0700 ++++ source-new/src/nvim/channel.c 2025-09-16 13:41:27.109978099 +0700 +@@ -547,8 +547,23 @@ + // Redirect stdout/stdin (the UI channel) to stderr. Use fnctl(F_DUPFD_CLOEXEC) instead of dup() + // to prevent child processes from inheriting the file descriptors, which are used by UIs to + // detect when Nvim exits. ++ #ifdef __redox__ ++ int new_stdin_fd = dup(STDIN_FILENO); ++ if (new_stdin_fd >= 0) { ++ fcntl(new_stdin_fd, F_SETFD, FD_CLOEXEC); ++ } ++ stdin_dup_fd = new_stdin_fd; ++ ++ // 2. Duplicate STDOUT and set CLOEXEC flag ++ int new_stdout_fd = dup(STDOUT_FILENO); ++ if (new_stdout_fd >= 0) { ++ fcntl(new_stdout_fd, F_SETFD, FD_CLOEXEC); ++ } ++ stdout_dup_fd = new_stdout_fd; ++ #else + stdin_dup_fd = fcntl(STDIN_FILENO, F_DUPFD_CLOEXEC, STDERR_FILENO + 1); + stdout_dup_fd = fcntl(STDOUT_FILENO, F_DUPFD_CLOEXEC, STDERR_FILENO + 1); ++ #endif // __redox__ + dup2(STDERR_FILENO, STDOUT_FILENO); + dup2(STDERR_FILENO, STDIN_FILENO); + } +diff -ruwN source/src/nvim/CMakeLists.txt source-new/src/nvim/CMakeLists.txt +--- source/src/nvim/CMakeLists.txt 2025-07-13 01:34:12.000000000 +0700 ++++ source-new/src/nvim/CMakeLists.txt 2025-09-16 16:07:40.327319085 +0700 +@@ -93,19 +93,6 @@ + endif() + + # -fstack-protector breaks Mingw-w64 builds +-if(NOT MINGW) +- check_c_compiler_flag(-fstack-protector-strong HAS_FSTACK_PROTECTOR_STRONG_FLAG) +- if(HAS_FSTACK_PROTECTOR_STRONG_FLAG) +- target_compile_options(main_lib INTERFACE -fstack-protector-strong) +- target_link_libraries(main_lib INTERFACE -fstack-protector-strong) +- else() +- check_c_compiler_flag(-fstack-protector HAS_FSTACK_PROTECTOR_FLAG) +- if(HAS_FSTACK_PROTECTOR_FLAG) +- target_compile_options(main_lib INTERFACE -fstack-protector --param ssp-buffer-size=4) +- target_link_libraries(main_lib INTERFACE -fstack-protector --param ssp-buffer-size=4) +- endif() +- endif() +-endif() + + # Compiler specific options + if(MSVC) +@@ -145,9 +132,6 @@ + # Platform specific options + if(UNIX) + target_link_libraries(main_lib INTERFACE m) +- if (NOT CMAKE_SYSTEM_NAME STREQUAL "SunOS") +- target_link_libraries(main_lib INTERFACE util) +- endif() + endif() + + if(CMAKE_SYSTEM_NAME MATCHES "Windows") +diff -ruwN source/src/nvim/os/os_defs.h source-new/src/nvim/os/os_defs.h +--- source/src/nvim/os/os_defs.h 2025-07-13 01:34:12.000000000 +0700 ++++ source-new/src/nvim/os/os_defs.h 2025-09-16 13:45:00.379142388 +0700 +@@ -28,6 +28,8 @@ + + #if !defined(NAME_MAX) && defined(_XOPEN_NAME_MAX) + # define NAME_MAX _XOPEN_NAME_MAX ++#elif !defined(NAME_MAX) ++# define NAME_MAX 255 + #endif + + #define BASENAMELEN (NAME_MAX - 5) diff --git a/recipes/wip/text/octotype/recipe.toml b/recipes/wip/text/octotype/recipe.toml new file mode 100644 index 00000000..4c1e34e9 --- /dev/null +++ b/recipes/wip/text/octotype/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/mahlquistj/octotype" +[build] +template = "cargo" diff --git a/recipes/wip/text/quicknotes/recipe.toml b/recipes/wip/text/quicknotes/recipe.toml new file mode 100644 index 00000000..61623713 --- /dev/null +++ b/recipes/wip/text/quicknotes/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/ollien/quicknotes" +[build] +template = "cargo" diff --git a/recipes/wip/text/repgrep/recipe.toml b/recipes/wip/text/repgrep/recipe.toml new file mode 100644 index 00000000..6da058bd --- /dev/null +++ b/recipes/wip/text/repgrep/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/acheronfail/repgrep" +[build] +template = "cargo" diff --git a/recipes/wip/text/revi/recipe.toml b/recipes/wip/text/revi/recipe.toml new file mode 100644 index 00000000..b260637c --- /dev/null +++ b/recipes/wip/text/revi/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/revi-editor/revi" +[build] +template = "cargo" diff --git a/recipes/wip/text/ripgrep-all/recipe.toml b/recipes/wip/text/ripgrep-all/recipe.toml new file mode 100644 index 00000000..fca4e028 --- /dev/null +++ b/recipes/wip/text/ripgrep-all/recipe.toml @@ -0,0 +1,5 @@ +#TODO tokio-tar crate error +[source] +git = "https://github.com/phiresky/ripgrep-all" +[build] +template = "cargo" diff --git a/recipes/wip/text/ripwc/recipe.toml b/recipes/wip/text/ripwc/recipe.toml new file mode 100644 index 00000000..4bd75ce4 --- /dev/null +++ b/recipes/wip/text/ripwc/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/LuminousToaster/ripwc" +[build] +template = "cargo" diff --git a/recipes/wip/text/rnote/recipe.toml b/recipes/wip/text/rnote/recipe.toml new file mode 100644 index 00000000..1080f336 --- /dev/null +++ b/recipes/wip/text/rnote/recipe.toml @@ -0,0 +1,14 @@ +#TODO not compiled or tested +# build instructions: https://github.com/flxzt/rnote/blob/main/BUILDING.md#build-with-meson +[source] +git = "https://github.com/flxzt/rnote" +[build] +template = "meson" +dependencies = [ + "gtk4", + "glib", + "libadwaita", + "libalsa", + "libpoppler", + "appstream", +] diff --git a/recipes/wip/text/rucola/recipe.toml b/recipes/wip/text/rucola/recipe.toml new file mode 100644 index 00000000..4251cc89 --- /dev/null +++ b/recipes/wip/text/rucola/recipe.toml @@ -0,0 +1,9 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/Linus-Mussmaecher/rucola" +[build] +template = "cargo" +[package] +dependencies = [ + "nerd-fonts", +] diff --git a/recipes/wip/text/serpl/recipe.toml b/recipes/wip/text/serpl/recipe.toml new file mode 100644 index 00000000..d524e866 --- /dev/null +++ b/recipes/wip/text/serpl/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/yassinebridi/serpl" +[build] +template = "cargo" diff --git a/recipes/wip/text/svgbob/recipe.toml b/recipes/wip/text/svgbob/recipe.toml new file mode 100644 index 00000000..fa814e64 --- /dev/null +++ b/recipes/wip/text/svgbob/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/ivanceras/svgbob" +[build] +template = "custom" +script = """ +cookbook_cargo_packages svgbob_cli +""" diff --git a/recipes/wip/text/syncat/recipe.toml b/recipes/wip/text/syncat/recipe.toml new file mode 100644 index 00000000..c8bf9bae --- /dev/null +++ b/recipes/wip/text/syncat/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/foxfriends/syncat" +[build] +template = "custom" +script = """ +cookbook_cargo_packages syncat +""" diff --git a/recipes/wip/text/zed/recipe.toml b/recipes/wip/text/zed/recipe.toml new file mode 100644 index 00000000..673b6f4f --- /dev/null +++ b/recipes/wip/text/zed/recipe.toml @@ -0,0 +1,21 @@ +#TODO not compiled or tested +#TODO maybe missing dependencies, see https://github.com/zed-industries/zed/blob/main/script/linux#L15 +#TODO build the gui ("zed" package) once we have gpu drivers to render vulkan at decent fps +# build instructions - https://zed.dev/docs/development/linux +[source] +git = "https://github.com/zed-industries/zed" +[build] +template = "custom" +dependencies = [ + "fontconfig", + "libxkbcommon", + "openssl1", + "zstd", + "libgit2", + "sqlite3", +] +script = """ +cookbook_cargo_packages cli +mv "${COOKBOOK_STAGE}/usr/bin/cli" "${COOKBOOK_STAGE}/usr/bin/zed-cli" +#mv "${COOKBOOK_STAGE}/usr/bin/zed" "${COOKBOOK_STAGE}/usr/bin/zed-editor" +""" diff --git a/recipes/wip/text/zee/recipe.toml b/recipes/wip/text/zee/recipe.toml new file mode 100644 index 00000000..7cec4da9 --- /dev/null +++ b/recipes/wip/text/zee/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/zee-editor/zee" +[build] +template = "custom" +script = """ +cookbook_cargo_packages zee +""" diff --git a/recipes/wip/time/dispute/recipe.toml b/recipes/wip/time/dispute/recipe.toml new file mode 100644 index 00000000..4a7fc699 --- /dev/null +++ b/recipes/wip/time/dispute/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/Vinegret43/dispute" +[build] +template = "cargo" diff --git a/recipes/wip/time/litime/recipe.toml b/recipes/wip/time/litime/recipe.toml new file mode 100644 index 00000000..0c55cc21 --- /dev/null +++ b/recipes/wip/time/litime/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/ikornaselur/litime" +[build] +template = "cargo" diff --git a/recipes/wip/time/rsclock/recipe.toml b/recipes/wip/time/rsclock/recipe.toml new file mode 100644 index 00000000..93c8d96b --- /dev/null +++ b/recipes/wip/time/rsclock/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/valebes/rsClock" +[build] +template = "cargo" diff --git a/recipes/wip/time/timer-rs/recipe.toml b/recipes/wip/time/timer-rs/recipe.toml new file mode 100644 index 00000000..4a7209ca --- /dev/null +++ b/recipes/wip/time/timer-rs/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/pando85/timer" +[build] +template = "custom" +script = """ +cookbook_cargo_packages timer_core +""" diff --git a/recipes/wip/time/tomotroid/recipe.toml b/recipes/wip/time/tomotroid/recipe.toml new file mode 100644 index 00000000..bab4883b --- /dev/null +++ b/recipes/wip/time/tomotroid/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/vadoola/Tomotroid" +[build] +template = "cargo" diff --git a/recipes/wip/time/trackie/recipe.toml b/recipes/wip/time/trackie/recipe.toml new file mode 100644 index 00000000..c73549b4 --- /dev/null +++ b/recipes/wip/time/trackie/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/beatbrot/trackie" +[build] +template = "cargo" diff --git a/recipes/wip/time/worktime-tui/recipe.toml b/recipes/wip/time/worktime-tui/recipe.toml new file mode 100644 index 00000000..899bb610 --- /dev/null +++ b/recipes/wip/time/worktime-tui/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/Kamyil/work-tuimer" +[build] +template = "cargo" diff --git a/recipes/wip/time/zman/recipe.toml b/recipes/wip/time/zman/recipe.toml new file mode 100644 index 00000000..0ff2a6fc --- /dev/null +++ b/recipes/wip/time/zman/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/azzamsa/zman" +[build] +template = "cargo" diff --git a/recipes/wip/tools/aeruginous/recipe.toml b/recipes/wip/tools/aeruginous/recipe.toml new file mode 100644 index 00000000..dcb990f3 --- /dev/null +++ b/recipes/wip/tools/aeruginous/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/kevinmatthes/aeruginous-rs" +[build] +template = "cargo" diff --git a/recipes/wip/tools/ani-cli/recipe.toml b/recipes/wip/tools/ani-cli/recipe.toml new file mode 100644 index 00000000..bac9aae4 --- /dev/null +++ b/recipes/wip/tools/ani-cli/recipe.toml @@ -0,0 +1,11 @@ +#TODO move to the "tools" category +[source] +git = "https://github.com/pystardust/ani-cli" +rev = "4a77bca5d95ae755ab5ac129c2db2025feab217b" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr/bin +cp "${COOKBOOK_SOURCE}"/ani-cli "${COOKBOOK_STAGE}"/usr/bin/ani-cli +chmod a+x "${COOKBOOK_STAGE}"/usr/bin/ani-cli +""" diff --git a/recipes/wip/tools/ani-skip/recipe.toml b/recipes/wip/tools/ani-skip/recipe.toml new file mode 100644 index 00000000..7af44b1f --- /dev/null +++ b/recipes/wip/tools/ani-skip/recipe.toml @@ -0,0 +1,12 @@ +#TODO move to the "tools" category +[source] +git = "https://github.com/synacktraa/ani-skip" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr/bin +mkdir -pv "${COOKBOOK_STAGE}"/home/user/.config/mpv/scripts +cp "${COOKBOOK_SOURCE}"/ani-skip "${COOKBOOK_STAGE}"/usr/bin/ani-skip +cp "${COOKBOOK_SOURCE}"/skip.lua "${COOKBOOK_STAGE}"/home/user/.config/mpv/scripts +chmod a+x "${COOKBOOK_STAGE}"/usr/bin/ani-skip +""" diff --git a/recipes/wip/tools/arrow-tools/recipe.toml b/recipes/wip/tools/arrow-tools/recipe.toml new file mode 100644 index 00000000..08d9ab15 --- /dev/null +++ b/recipes/wip/tools/arrow-tools/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/domoritz/arrow-tools" +[build] +template = "custom" +script = """ +cookbook_cargo_packages csv2arrow csv2parquet json2arrow json2parquet +""" diff --git a/recipes/wip/tools/artem/recipe.toml b/recipes/wip/tools/artem/recipe.toml new file mode 100644 index 00000000..cd4842a3 --- /dev/null +++ b/recipes/wip/tools/artem/recipe.toml @@ -0,0 +1,13 @@ +#TODO openssl-sys crate error +[source] +git = "https://github.com/FineFindus/artem" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +export OPENSSL_DIR="${COOKBOOK_SYSROOT}" +export OPENSSL_STATIC="true" +cookbook_cargo +""" diff --git a/recipes/wip/tools/ast-grep/recipe.toml b/recipes/wip/tools/ast-grep/recipe.toml new file mode 100644 index 00000000..79c0dc33 --- /dev/null +++ b/recipes/wip/tools/ast-grep/recipe.toml @@ -0,0 +1,8 @@ +#TODO compilation error +[source] +git = "https://github.com/ast-grep/ast-grep" +[build] +template = "custom" +script = """ +cookbook_cargo_packages ast-grep +""" diff --git a/recipes/wip/tools/astc-encoder/recipe.toml b/recipes/wip/tools/astc-encoder/recipe.toml new file mode 100644 index 00000000..a599f9f5 --- /dev/null +++ b/recipes/wip/tools/astc-encoder/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://github.com/ARM-software/astc-encoder/blob/main/Docs/Building.md#macos-and-linux-using-make +[source] +git = "https://github.com/ARM-software/astc-encoder" +rev = "aeece2f609db959d1c5e43e4f00bd177ea130575" +[build] +template = "cmake" diff --git a/recipes/wip/tools/astyle/recipe.toml b/recipes/wip/tools/astyle/recipe.toml new file mode 100644 index 00000000..b393bd1d --- /dev/null +++ b/recipes/wip/tools/astyle/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://astyle.sourceforge.net/install.html +[source] +tar = "https://sourceforge.net/projects/astyle/files/astyle/astyle%203.4/astyle-3.4.10.tar.bz2/download" +[build] +template = "cmake" diff --git a/recipes/wip/tools/atm-cli/recipe.toml b/recipes/wip/tools/atm-cli/recipe.toml new file mode 100644 index 00000000..fd176fc1 --- /dev/null +++ b/recipes/wip/tools/atm-cli/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/allthemusicllc/atm-cli" +[build] +template = "cargo" diff --git a/recipes/wip/tools/atuin/recipe.toml b/recipes/wip/tools/atuin/recipe.toml new file mode 100644 index 00000000..a384160e --- /dev/null +++ b/recipes/wip/tools/atuin/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/atuinsh/atuin" +[build] +template = "custom" +script = """ +cookbook_cargo_packages atuin +""" diff --git a/recipes/wip/tools/backhand/recipe.toml b/recipes/wip/tools/backhand/recipe.toml new file mode 100644 index 00000000..9d023ed6 --- /dev/null +++ b/recipes/wip/tools/backhand/recipe.toml @@ -0,0 +1,8 @@ +#TODO missing script to properly move the binary +[source] +git = "https://github.com/wcampbell0x2a/backhand" +[build] +template = "custom" +script = """ +cookbook_cargo_packages backhand +""" diff --git a/recipes/wip/tools/bacup/recipe.toml b/recipes/wip/tools/bacup/recipe.toml new file mode 100644 index 00000000..fec97a8c --- /dev/null +++ b/recipes/wip/tools/bacup/recipe.toml @@ -0,0 +1,6 @@ +#TODO tokio-tar crate error +#TODO create a service +[source] +git = "https://github.com/galeone/bacup" +[build] +template = "cargo" diff --git a/recipes/wip/tools/bartib/recipe.toml b/recipes/wip/tools/bartib/recipe.toml new file mode 100644 index 00000000..1a90b0df --- /dev/null +++ b/recipes/wip/tools/bartib/recipe.toml @@ -0,0 +1,5 @@ +#TODO promote +[source] +git = "https://github.com/nikolassv/bartib" +[build] +template = "cargo" diff --git a/recipes/wip/tools/battop/recipe.toml b/recipes/wip/tools/battop/recipe.toml new file mode 100644 index 00000000..02e81de2 --- /dev/null +++ b/recipes/wip/tools/battop/recipe.toml @@ -0,0 +1,5 @@ +#TODO atty crate error (after cargo update) +[source] +git = "https://github.com/svartalf/rust-battop" +[build] +template = "cargo" diff --git a/recipes/wip/tools/bdt/recipe.toml b/recipes/wip/tools/bdt/recipe.toml new file mode 100644 index 00000000..d768d010 --- /dev/null +++ b/recipes/wip/tools/bdt/recipe.toml @@ -0,0 +1,5 @@ +#TODO ahash crate error +[source] +git = "https://github.com/datafusion-contrib/bdt" +[build] +template = "cargo" diff --git a/recipes/wip/tools/binserve/recipe.toml b/recipes/wip/tools/binserve/recipe.toml new file mode 100644 index 00000000..cefbf3b2 --- /dev/null +++ b/recipes/wip/tools/binserve/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested (after a patch on the ring crate) +[source] +git = "https://github.com/mufeedvh/binserve" +[build] +template = "cargo" diff --git a/recipes/wip/tools/birdy/recipe.toml b/recipes/wip/tools/birdy/recipe.toml new file mode 100644 index 00000000..a4e65bdd --- /dev/null +++ b/recipes/wip/tools/birdy/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/kakoc/birdy" +[build] +template = "cargo" diff --git a/recipes/wip/tools/blockish-caca/recipe.toml b/recipes/wip/tools/blockish-caca/recipe.toml new file mode 100644 index 00000000..4a238edd --- /dev/null +++ b/recipes/wip/tools/blockish-caca/recipe.toml @@ -0,0 +1,8 @@ +#TODO make libcaca work +[source] +git = "https://github.com/yazgoo/blockish-caca" +[build] +template = "cargo" +dependencies = [ + "libcaca", +] diff --git a/recipes/wip/tools/broot/recipe.toml b/recipes/wip/tools/broot/recipe.toml new file mode 100644 index 00000000..c41912d7 --- /dev/null +++ b/recipes/wip/tools/broot/recipe.toml @@ -0,0 +1,5 @@ +#TODO nix crate compilation error +[source] +git = "https://github.com/Canop/broot" +[build] +template = "cargo" diff --git a/recipes/wip/tools/busybox/recipe.toml b/recipes/wip/tools/busybox/recipe.toml new file mode 100644 index 00000000..58bc56af --- /dev/null +++ b/recipes/wip/tools/busybox/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing script for GNU Make, see https://www.busybox.net/FAQ.html#configure +#TODO cross-compilation - https://www.busybox.net/FAQ.html#build +[source] +tar = "https://www.busybox.net/downloads/busybox-1.36.1.tar.bz2" +[build] +template = "custom" diff --git a/recipes/wip/tools/bvr/recipe.toml b/recipes/wip/tools/bvr/recipe.toml new file mode 100644 index 00000000..06cf305f --- /dev/null +++ b/recipes/wip/tools/bvr/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/Avarel/bvr" +[build] +template = "cargo" diff --git a/recipes/wip/tools/byteblitz/recipe.toml b/recipes/wip/tools/byteblitz/recipe.toml new file mode 100644 index 00000000..63113dab --- /dev/null +++ b/recipes/wip/tools/byteblitz/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/noahra/byteblitz" +[build] +template = "cargo" diff --git a/recipes/wip/tools/caesium/recipe.toml b/recipes/wip/tools/caesium/recipe.toml new file mode 100644 index 00000000..457b418f --- /dev/null +++ b/recipes/wip/tools/caesium/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/Lymphatus/caesium-clt" +[build] +template = "cargo" diff --git a/recipes/wip/tools/caligula/recipe.toml b/recipes/wip/tools/caligula/recipe.toml new file mode 100644 index 00000000..1afbb95a --- /dev/null +++ b/recipes/wip/tools/caligula/recipe.toml @@ -0,0 +1,5 @@ +#TODO process_path crate error +[source] +git = "https://github.com/ifd3f/caligula" +[build] +template = "cargo" diff --git a/recipes/wip/tools/carbonyl/recipe.toml b/recipes/wip/tools/carbonyl/recipe.toml new file mode 100644 index 00000000..eb781408 --- /dev/null +++ b/recipes/wip/tools/carbonyl/recipe.toml @@ -0,0 +1,11 @@ +#TODO make nss work +#TODO require Chromium building +[source] +git = "https://github.com/fathyb/carbonyl" +[build] +template = "cargo" +dependencies = [ + "nss", + "fontconfig", + "expat", +] diff --git a/recipes/wip/tools/cb/recipe.toml b/recipes/wip/tools/cb/recipe.toml new file mode 100644 index 00000000..ebb8b64c --- /dev/null +++ b/recipes/wip/tools/cb/recipe.toml @@ -0,0 +1,5 @@ +#TODO discover how to cross-compile: https://github.com/yaa110/cb#build-manually +[source] +git = "https://github.com/yaa110/cb" +[build] +template = "custom" diff --git a/recipes/wip/tools/checkpwn/recipe.toml b/recipes/wip/tools/checkpwn/recipe.toml new file mode 100644 index 00000000..9a3c5705 --- /dev/null +++ b/recipes/wip/tools/checkpwn/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested (after patched ring crate) +[source] +git = "https://github.com/brycx/checkpwn" +[build] +template = "cargo" diff --git a/recipes/wip/tools/choose/recipe.toml b/recipes/wip/tools/choose/recipe.toml new file mode 100644 index 00000000..cc212bdb --- /dev/null +++ b/recipes/wip/tools/choose/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/theryangeary/choose" +[build] +template = "cargo" diff --git a/recipes/wip/tools/chromazone/recipe.toml b/recipes/wip/tools/chromazone/recipe.toml new file mode 100644 index 00000000..0e3be8f0 --- /dev/null +++ b/recipes/wip/tools/chromazone/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/matze/chromazone" +[build] +template = "cargo" diff --git a/recipes/wip/tools/clipcat/recipe.toml b/recipes/wip/tools/clipcat/recipe.toml new file mode 100644 index 00000000..5aadd2d0 --- /dev/null +++ b/recipes/wip/tools/clipcat/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/xrelkd/clipcat" +[build] +template = "custom" +script = """ +cookbook_cargo_packages clipcatd clipcatctl clipcat-menu +""" diff --git a/recipes/wip/tools/clipshare-desktop/recipe.toml b/recipes/wip/tools/clipshare-desktop/recipe.toml new file mode 100644 index 00000000..15b3688e --- /dev/null +++ b/recipes/wip/tools/clipshare-desktop/recipe.toml @@ -0,0 +1,11 @@ +#TODO make the xdotool dependency work +[source] +git = "https://github.com/RastislavKish/clipshare" +[build] +template = "custom" +dependencies = [ + "xdotool", +] +script = """ +cookbook_cargo_packages desktop_client +""" diff --git a/recipes/wip/tools/clipshare-server/recipe.toml b/recipes/wip/tools/clipshare-server/recipe.toml new file mode 100644 index 00000000..45c5ff71 --- /dev/null +++ b/recipes/wip/tools/clipshare-server/recipe.toml @@ -0,0 +1,11 @@ +#TODO probably wrong script, see https://github.com/RastislavKish/clipshare#building +[source] +git = "https://github.com/RastislavKish/clipshare" +[build] +template = "custom" +dependencies = [ + "xdotool", +] +script = """ +cookbook_cargo_packages server +""" diff --git a/recipes/wip/tools/clog-cli/recipe.toml b/recipes/wip/tools/clog-cli/recipe.toml new file mode 100644 index 00000000..5ca5e390 --- /dev/null +++ b/recipes/wip/tools/clog-cli/recipe.toml @@ -0,0 +1,5 @@ +#TODO rustc-serialize crate error (after cargo update) +[source] +git = "https://github.com/clog-tool/clog-cli" +[build] +template = "cargo" diff --git a/recipes/wip/tools/conceal/recipe.toml b/recipes/wip/tools/conceal/recipe.toml new file mode 100644 index 00000000..4d6aa7a4 --- /dev/null +++ b/recipes/wip/tools/conceal/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/TD-Sky/conceal" +[build] +template = "cargo" diff --git a/recipes/wip/tools/conserve/recipe.toml b/recipes/wip/tools/conserve/recipe.toml new file mode 100644 index 00000000..d46236ce --- /dev/null +++ b/recipes/wip/tools/conserve/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/sourcefrog/conserve" +[build] +template = "cargo" diff --git a/recipes/wip/tools/counts/recipe.toml b/recipes/wip/tools/counts/recipe.toml new file mode 100644 index 00000000..092b2a68 --- /dev/null +++ b/recipes/wip/tools/counts/recipe.toml @@ -0,0 +1,5 @@ +#TODO promote +[source] +git = "https://github.com/nnethercote/counts" +[build] +template = "cargo" diff --git a/recipes/wip/tools/cpuminer-opt/recipe.toml b/recipes/wip/tools/cpuminer-opt/recipe.toml new file mode 100644 index 00000000..b3910305 --- /dev/null +++ b/recipes/wip/tools/cpuminer-opt/recipe.toml @@ -0,0 +1,13 @@ +#TODO maybe wrong template, see https://github.com/JayDDee/cpuminer-opt/wiki/Compiling-from-source +#TODO fix jansson dependency +[source] +git = "https://github.com/JayDDee/cpuminer-opt" +rev = "9d3a46c3551655f862db74a195e769fe86266903" +[build] +template = "configure" +dependencies = [ + "curl", + "jansson", + "libgmp", + "zlib", +] diff --git a/recipes/wip/tools/crunchy-cli/recipe.toml b/recipes/wip/tools/crunchy-cli/recipe.toml new file mode 100644 index 00000000..d651b3a0 --- /dev/null +++ b/recipes/wip/tools/crunchy-cli/recipe.toml @@ -0,0 +1,8 @@ +#TODO fs2 crate error +[source] +git = "https://github.com/crunchy-labs/crunchy-cli" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/tools/cube-timer/recipe.toml b/recipes/wip/tools/cube-timer/recipe.toml new file mode 100644 index 00000000..bb95b0e5 --- /dev/null +++ b/recipes/wip/tools/cube-timer/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/paarthmadan/cube" +[build] +template = "cargo" diff --git a/recipes/wip/tools/cute/recipe.toml b/recipes/wip/tools/cute/recipe.toml new file mode 100644 index 00000000..f22dbe07 --- /dev/null +++ b/recipes/wip/tools/cute/recipe.toml @@ -0,0 +1,12 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/PThorpe92/CuTE" +[build] +template = "custom" +dependencies = [ + "openssl3", +] +script = """ +DYNAMIC_INIT +cookbook_cargo +""" diff --git a/recipes/wip/tools/czkawka/recipe.toml b/recipes/wip/tools/czkawka/recipe.toml new file mode 100644 index 00000000..95c7b88f --- /dev/null +++ b/recipes/wip/tools/czkawka/recipe.toml @@ -0,0 +1,8 @@ +#TODO Compiled but not tested +[source] +git = "https://github.com/qarmin/czkawka" +[build] +template = "custom" +script = """ +cookbook_cargo_packages czkawka_cli +""" diff --git a/recipes/wip/tools/daktilo/recipe.toml b/recipes/wip/tools/daktilo/recipe.toml new file mode 100644 index 00000000..94f77363 --- /dev/null +++ b/recipes/wip/tools/daktilo/recipe.toml @@ -0,0 +1,5 @@ +#TODO rdev crate error +[source] +git = "https://github.com/orhun/daktilo" +[build] +template = "cargo" diff --git a/recipes/wip/tools/dead-ringer/recipe.toml b/recipes/wip/tools/dead-ringer/recipe.toml new file mode 100644 index 00000000..118e56eb --- /dev/null +++ b/recipes/wip/tools/dead-ringer/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/ztroop/dead-ringer" +[build] +template = "cargo" diff --git a/recipes/wip/tools/delta/recipe.toml b/recipes/wip/tools/delta/recipe.toml new file mode 100644 index 00000000..b0850c54 --- /dev/null +++ b/recipes/wip/tools/delta/recipe.toml @@ -0,0 +1,11 @@ +#TODO make the "less" dependency work +[source] +git = "https://github.com/dandavison/delta" +[build] +template = "custom" +dependencies = [ + "less", +] +script = """ +cookbook_cargo_packages git-delta +""" diff --git a/recipes/wip/tools/desed/recipe.toml b/recipes/wip/tools/desed/recipe.toml new file mode 100644 index 00000000..55224c7e --- /dev/null +++ b/recipes/wip/tools/desed/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/SoptikHa2/desed" +[build] +template = "cargo" diff --git a/recipes/wip/tools/dfm/recipe.toml b/recipes/wip/tools/dfm/recipe.toml new file mode 100644 index 00000000..8b19829d --- /dev/null +++ b/recipes/wip/tools/dfm/recipe.toml @@ -0,0 +1,5 @@ +#TODO port to redox +[source] +git = "https://github.com/chasinglogic/dfm" +[build] +template = "cargo" diff --git a/recipes/wip/tools/diffr/recipe.toml b/recipes/wip/tools/diffr/recipe.toml new file mode 100644 index 00000000..1d0abdae --- /dev/null +++ b/recipes/wip/tools/diffr/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/mookid/diffr" +[build] +template = "cargo" diff --git a/recipes/wip/tools/diffutils-rs/recipe.toml b/recipes/wip/tools/diffutils-rs/recipe.toml new file mode 100644 index 00000000..f6edab13 --- /dev/null +++ b/recipes/wip/tools/diffutils-rs/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/uutils/diffutils" +[build] +template = "cargo" diff --git a/recipes/wip/tools/diffy/recipe.toml b/recipes/wip/tools/diffy/recipe.toml new file mode 100644 index 00000000..91eaa010 --- /dev/null +++ b/recipes/wip/tools/diffy/recipe.toml @@ -0,0 +1,9 @@ +#TODO add a command to properly move the executable +#TODO compiled but not tested +[source] +git = "https://github.com/bmwill/diffy" +[build] +template = "custom" +script = """ +cookbook_cargo_packages diffy +""" diff --git a/recipes/wip/tools/dim/recipe.toml b/recipes/wip/tools/dim/recipe.toml new file mode 100644 index 00000000..8c092578 --- /dev/null +++ b/recipes/wip/tools/dim/recipe.toml @@ -0,0 +1,11 @@ +#TODO missing script for building, see https://github.com/Dusk-Labs/dim#running-from-source +#TODO probably missing dependencies +[source] +git = "https://github.com/Dusk-Labs/dim" +[build] +template = "custom" +dependencies = [ + "sqlite3", + "openssl1", + "ffmpeg6", +] diff --git a/recipes/wip/tools/dirscan/recipe.toml b/recipes/wip/tools/dirscan/recipe.toml new file mode 100644 index 00000000..34a07520 --- /dev/null +++ b/recipes/wip/tools/dirscan/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/orf/dirscan" +[build] +template = "cargo" diff --git a/recipes/wip/tools/diskonaut/recipe.toml b/recipes/wip/tools/diskonaut/recipe.toml new file mode 100644 index 00000000..91f898b8 --- /dev/null +++ b/recipes/wip/tools/diskonaut/recipe.toml @@ -0,0 +1,5 @@ +#TODO outdated redox_syscall crate (after cargo update) +[source] +git = "https://github.com/imsnif/diskonaut" +[build] +template = "cargo" diff --git a/recipes/wip/tools/dispatch/recipe.toml b/recipes/wip/tools/dispatch/recipe.toml new file mode 100644 index 00000000..ac547168 --- /dev/null +++ b/recipes/wip/tools/dispatch/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/brianyu28/dispatch" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/tools/dog-dns/recipe.toml b/recipes/wip/tools/dog-dns/recipe.toml new file mode 100644 index 00000000..e3304a53 --- /dev/null +++ b/recipes/wip/tools/dog-dns/recipe.toml @@ -0,0 +1,13 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/ogham/dog" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +export OPENSSL_DIR="${COOKBOOK_SYSROOT}" +export OPENSSL_STATIC="true" +cookbook_cargo +""" diff --git a/recipes/wip/tools/dotr/recipe.toml b/recipes/wip/tools/dotr/recipe.toml new file mode 100644 index 00000000..4e865387 --- /dev/null +++ b/recipes/wip/tools/dotr/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/dpc/dotr" +[build] +template = "cargo" diff --git a/recipes/wip/tools/dotter/recipe.toml b/recipes/wip/tools/dotter/recipe.toml new file mode 100644 index 00000000..c3bcede2 --- /dev/null +++ b/recipes/wip/tools/dotter/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/SuperCuber/dotter" +[build] +template = "cargo" diff --git a/recipes/wip/tools/dply/recipe.toml b/recipes/wip/tools/dply/recipe.toml new file mode 100644 index 00000000..9db02c74 --- /dev/null +++ b/recipes/wip/tools/dply/recipe.toml @@ -0,0 +1,5 @@ +#TODO jemalloc-sys crate error +[source] +git = "https://github.com/vincev/dply-rs" +[build] +template = "cargo" diff --git a/recipes/wip/tools/dprint/recipe.toml b/recipes/wip/tools/dprint/recipe.toml new file mode 100644 index 00000000..4077bad0 --- /dev/null +++ b/recipes/wip/tools/dprint/recipe.toml @@ -0,0 +1,8 @@ +#TODO region crate error +[source] +git = "https://github.com/dprint/dprint" +[build] +template = "custom" +script = """ +cookbook_cargo_packages dprint +""" diff --git a/recipes/wip/tools/dra-cla/recipe.toml b/recipes/wip/tools/dra-cla/recipe.toml new file mode 100644 index 00000000..aaf4c087 --- /dev/null +++ b/recipes/wip/tools/dra-cla/recipe.toml @@ -0,0 +1,10 @@ +#TODO promote +[source] +git = "https://github.com/CoolnsX/dra-cla" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr/bin +cp "${COOKBOOK_SOURCE}"/dra-cla "${COOKBOOK_STAGE}"/usr/bin/dra-cla +chmod a+x "${COOKBOOK_STAGE}"/usr/bin/dra-cla +""" diff --git a/recipes/wip/tools/dua/recipe.toml b/recipes/wip/tools/dua/recipe.toml new file mode 100644 index 00000000..00d9deb0 --- /dev/null +++ b/recipes/wip/tools/dua/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/Byron/dua-cli" +[build] +template = "cargo" diff --git a/recipes/wip/tools/dui/recipe.toml b/recipes/wip/tools/dui/recipe.toml new file mode 100644 index 00000000..b4fac2c6 --- /dev/null +++ b/recipes/wip/tools/dui/recipe.toml @@ -0,0 +1,5 @@ +#TODO Compiled but not tested +[source] +git = "https://gitlab.com/GregOwen/dui" +[build] +template = "cargo" diff --git a/recipes/wip/tools/dura/recipe.toml b/recipes/wip/tools/dura/recipe.toml new file mode 100644 index 00000000..c0b810ef --- /dev/null +++ b/recipes/wip/tools/dura/recipe.toml @@ -0,0 +1,8 @@ +#TODO make libgit2 dependency work +[source] +git = "https://github.com/tkellogg/dura" +[build] +template = "cargo" +dependencies = [ + "libgit2", +] diff --git a/recipes/wip/tools/dust/recipe.toml b/recipes/wip/tools/dust/recipe.toml new file mode 100644 index 00000000..ecc1b10b --- /dev/null +++ b/recipes/wip/tools/dust/recipe.toml @@ -0,0 +1,5 @@ +#TODO working but don't draw the size bars +[source] +git = "https://github.com/bootandy/dust" +[build] +template = "cargo" diff --git a/recipes/wip/tools/dutree/recipe.toml b/recipes/wip/tools/dutree/recipe.toml new file mode 100644 index 00000000..61bbb15e --- /dev/null +++ b/recipes/wip/tools/dutree/recipe.toml @@ -0,0 +1,5 @@ +#TODO program source code error (after cargo update) +[source] +git = "https://github.com/nachoparker/dutree" +[build] +template = "cargo" diff --git a/recipes/wip/tools/dysk/recipe.toml b/recipes/wip/tools/dysk/recipe.toml new file mode 100644 index 00000000..60e551ba --- /dev/null +++ b/recipes/wip/tools/dysk/recipe.toml @@ -0,0 +1,5 @@ +#TODO nix crate error +[source] +git = "https://github.com/Canop/dysk" +[build] +template = "cargo" diff --git a/recipes/wip/tools/emplace/recipe.toml b/recipes/wip/tools/emplace/recipe.toml new file mode 100644 index 00000000..52384f6a --- /dev/null +++ b/recipes/wip/tools/emplace/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/tversteeg/emplace" +[build] +template = "cargo" diff --git a/recipes/wip/tools/enchant/recipe.toml b/recipes/wip/tools/enchant/recipe.toml new file mode 100644 index 00000000..0f45a1fb --- /dev/null +++ b/recipes/wip/tools/enchant/recipe.toml @@ -0,0 +1,9 @@ +#TODO can't find glib +[source] +tar = "https://github.com/AbiWord/enchant/releases/download/v2.6.3/enchant-2.6.3.tar.gz" +[build] +template = "configure" +dependencies = [ + "glib", + "pcre", +] diff --git a/recipes/wip/tools/envio/recipe.toml b/recipes/wip/tools/envio/recipe.toml new file mode 100644 index 00000000..6cff5cd1 --- /dev/null +++ b/recipes/wip/tools/envio/recipe.toml @@ -0,0 +1,5 @@ +#TODO require rustc 1.75 or newer +[source] +git = "https://github.com/envio-cli/envio" +[build] +template = "cargo" diff --git a/recipes/wip/tools/epub2txt/recipe.toml b/recipes/wip/tools/epub2txt/recipe.toml new file mode 100644 index 00000000..ca3a78ad --- /dev/null +++ b/recipes/wip/tools/epub2txt/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/quininer/epub2txt" +[build] +template = "cargo" diff --git a/recipes/wip/tools/erdtree/recipe.toml b/recipes/wip/tools/erdtree/recipe.toml new file mode 100644 index 00000000..36c21ad7 --- /dev/null +++ b/recipes/wip/tools/erdtree/recipe.toml @@ -0,0 +1,5 @@ +#TODO program source code error +[source] +git = "https://github.com/solidiquis/erdtree" +[build] +template = "cargo" diff --git a/recipes/wip/tools/espanso/recipe.toml b/recipes/wip/tools/espanso/recipe.toml new file mode 100644 index 00000000..875badf6 --- /dev/null +++ b/recipes/wip/tools/espanso/recipe.toml @@ -0,0 +1,28 @@ +#TODO not compiled or tested +# build instructions: https://espanso.org/docs/install/linux/#x11-compile +[source] +git = "https://github.com/espanso/espanso" +[build] +template = "custom" +dependencies = [ + "libxkbcommon", + "dbus", + "wxwidgets-gtk3", + "openssl3", + "libx11", + "libxtst", +] +script = """ +DYNAMIC_INIT +package=espanso +"${COOKBOOK_CARGO}" build \ + --manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \ + --package "${package}" \ + --release \ + --no-default-features \ + --features=vendored-tls,modulo + mkdir -pv "${COOKBOOK_STAGE}/usr/bin" + cp -v \ + "target/${TARGET}/release/${package}" \ + "${COOKBOOK_STAGE}/usr/bin/${package}" +""" diff --git a/recipes/wip/tools/eureka/recipe.toml b/recipes/wip/tools/eureka/recipe.toml new file mode 100644 index 00000000..7f376b93 --- /dev/null +++ b/recipes/wip/tools/eureka/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/simeg/eureka" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/tools/eva/recipe.toml b/recipes/wip/tools/eva/recipe.toml new file mode 100644 index 00000000..076108f6 --- /dev/null +++ b/recipes/wip/tools/eva/recipe.toml @@ -0,0 +1,5 @@ +#TODO rustyline crate error +[source] +git = "https://github.com/nerdypepper/eva" +[build] +template = "cargo" diff --git a/recipes/wip/tools/exa/recipe.toml b/recipes/wip/tools/exa/recipe.toml new file mode 100644 index 00000000..c45f909b --- /dev/null +++ b/recipes/wip/tools/exa/recipe.toml @@ -0,0 +1,5 @@ +#TODO outdated redox_syscall crate (after cargo update) +[source] +git = "https://github.com/ogham/exa" +[build] +template = "cargo" diff --git a/recipes/wip/tools/exhaust/recipe.toml b/recipes/wip/tools/exhaust/recipe.toml new file mode 100644 index 00000000..7a9b8254 --- /dev/null +++ b/recipes/wip/tools/exhaust/recipe.toml @@ -0,0 +1,5 @@ +#TODO outdated redox_syscall crate +[source] +git = "https://github.com/heyrict/exhaust" +[build] +template = "cargo" diff --git a/recipes/wip/tools/exuberant-ctags/recipe.toml b/recipes/wip/tools/exuberant-ctags/recipe.toml new file mode 100644 index 00000000..cfb512f6 --- /dev/null +++ b/recipes/wip/tools/exuberant-ctags/recipe.toml @@ -0,0 +1,5 @@ +#TODO compilation error - permission denied +[source] +tar = "https://sourceforge.net/projects/ctags/files/ctags/5.8/ctags-5.8.tar.gz/download" +[build] +template = "configure" diff --git a/recipes/wip/tools/eza/recipe.toml b/recipes/wip/tools/eza/recipe.toml new file mode 100644 index 00000000..e746d395 --- /dev/null +++ b/recipes/wip/tools/eza/recipe.toml @@ -0,0 +1,5 @@ +#TODO outdated redox_syscall crate +[source] +git = "https://github.com/eza-community/eza" +[build] +template = "cargo" diff --git a/recipes/wip/tools/fclones/recipe.toml b/recipes/wip/tools/fclones/recipe.toml new file mode 100644 index 00000000..ecde7ce9 --- /dev/null +++ b/recipes/wip/tools/fclones/recipe.toml @@ -0,0 +1,8 @@ +#TODO file-owner crate error +[source] +git = "https://github.com/pkolaczk/fclones" +[build] +template = "custom" +script = """ +cookbook_cargo_packages fclones +""" diff --git a/recipes/wip/tools/felix/recipe.toml b/recipes/wip/tools/felix/recipe.toml new file mode 100644 index 00000000..fff28508 --- /dev/null +++ b/recipes/wip/tools/felix/recipe.toml @@ -0,0 +1,5 @@ +#TODO replace the terminal prompt with nothing on execution +[source] +git = "https://github.com/kyoheiu/felix" +[build] +template = "cargo" diff --git a/recipes/wip/tools/fennec/recipe.toml b/recipes/wip/tools/fennec/recipe.toml new file mode 100644 index 00000000..e6213efc --- /dev/null +++ b/recipes/wip/tools/fennec/recipe.toml @@ -0,0 +1,5 @@ +#TODO update ring version (after cargo update) +[source] +git = "https://github.com/AbdulRhmanAlfaifi/Fennec" +[build] +template = "cargo" diff --git a/recipes/wip/tools/ffizer/recipe.toml b/recipes/wip/tools/ffizer/recipe.toml new file mode 100644 index 00000000..f0160056 --- /dev/null +++ b/recipes/wip/tools/ffizer/recipe.toml @@ -0,0 +1,11 @@ +#TODO libssh2-sys crate error +[source] +git = "https://github.com/ffizer/ffizer" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +cookbook_cargo --features cli +""" diff --git a/recipes/wip/tools/file/recipe.toml b/recipes/wip/tools/file/recipe.toml new file mode 100644 index 00000000..b8bc7572 --- /dev/null +++ b/recipes/wip/tools/file/recipe.toml @@ -0,0 +1,5 @@ +#TODO compilation error +[source] +tar = "https://astron.com/pub/file/file-5.45.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/tools/findutils-rs/recipe.toml b/recipes/wip/tools/findutils-rs/recipe.toml new file mode 100644 index 00000000..41790eb6 --- /dev/null +++ b/recipes/wip/tools/findutils-rs/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/uutils/findutils" +[build] +template = "cargo" diff --git a/recipes/wip/tools/flameshot/recipe.toml b/recipes/wip/tools/flameshot/recipe.toml new file mode 100644 index 00000000..607a3b1f --- /dev/null +++ b/recipes/wip/tools/flameshot/recipe.toml @@ -0,0 +1,12 @@ +#TODO not compiled or tested +# build instructions: https://flameshot.org/docs/installation/source-code/#compilation +[source] +git = "https://github.com/flameshot-org/flameshot" +rev = "70be63d478a271da549597d69bd4868607c0a395" +[build] +template = "cmake" +dependencies = [ + "qt5-base", + "qt5-tools", + "qt5-svg", +] diff --git a/recipes/wip/tools/flowtime/recipe.toml b/recipes/wip/tools/flowtime/recipe.toml new file mode 100644 index 00000000..efbc1e5f --- /dev/null +++ b/recipes/wip/tools/flowtime/recipe.toml @@ -0,0 +1,12 @@ +#TODO not compiled or tested +# build instructions: https://github.com/Diego-Ivan/Flowtime#building-from-source +[source] +git = "https://github.com/Diego-Ivan/Flowtime" +rev = "2cb1160f7f61ec0a6add292deca38a3150336f03" +[build] +template = "meson" +dependencies = [ + "gtk4", + "libxml2", + "libadwaita", +] diff --git a/recipes/wip/tools/fselect/recipe.toml b/recipes/wip/tools/fselect/recipe.toml new file mode 100644 index 00000000..53936afc --- /dev/null +++ b/recipes/wip/tools/fselect/recipe.toml @@ -0,0 +1,8 @@ +#TODO make the mimalloc dependency work +[source] +git = "https://github.com/jhspetersson/fselect" +[build] +template = "cargo" +dependencies = [ + "mimalloc", +] diff --git a/recipes/wip/tools/fuc/recipe.toml b/recipes/wip/tools/fuc/recipe.toml new file mode 100644 index 00000000..8b42ad05 --- /dev/null +++ b/recipes/wip/tools/fuc/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/SUPERCILEX/fuc" +[build] +template = "custom" +script = """ +cookbook_cargo_packages cpz rmz +""" diff --git a/recipes/wip/tools/fuga/recipe.toml b/recipes/wip/tools/fuga/recipe.toml new file mode 100644 index 00000000..1376c997 --- /dev/null +++ b/recipes/wip/tools/fuga/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/liebe-magi/fuga" +[build] +template = "custom" +script = """ +cookbook_cargo_packages fuga +""" diff --git a/recipes/wip/tools/funzzy/recipe.toml b/recipes/wip/tools/funzzy/recipe.toml new file mode 100644 index 00000000..37ee569b --- /dev/null +++ b/recipes/wip/tools/funzzy/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/cristianoliveira/funzzy" +[build] +template = "cargo" diff --git a/recipes/wip/tools/fzf-make/recipe.toml b/recipes/wip/tools/fzf-make/recipe.toml new file mode 100644 index 00000000..1249c56a --- /dev/null +++ b/recipes/wip/tools/fzf-make/recipe.toml @@ -0,0 +1,5 @@ +#TODO ahash and ioctl-rs crates error +[source] +git = "https://github.com/kyu08/fzf-make" +[build] +template = "cargo" diff --git a/recipes/wip/tools/gengo/recipe.toml b/recipes/wip/tools/gengo/recipe.toml new file mode 100644 index 00000000..5403ffa7 --- /dev/null +++ b/recipes/wip/tools/gengo/recipe.toml @@ -0,0 +1,8 @@ +#TODO missing script to properly move the binary +[source] +git = "https://github.com/spenserblack/gengo" +[build] +template = "custom" +script = """ +cookbook_cargo_packages gengo +""" diff --git a/recipes/wip/tools/germ/recipe.toml b/recipes/wip/tools/germ/recipe.toml new file mode 100644 index 00000000..c3a582da --- /dev/null +++ b/recipes/wip/tools/germ/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/volks73/germ" +[build] +template = "cargo" diff --git a/recipes/wip/tools/gifski/recipe.toml b/recipes/wip/tools/gifski/recipe.toml new file mode 100644 index 00000000..71e4991c --- /dev/null +++ b/recipes/wip/tools/gifski/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/ImageOptim/gifski" +[build] +template = "cargo" diff --git a/recipes/wip/tools/gnu-radio/recipe.toml b/recipes/wip/tools/gnu-radio/recipe.toml new file mode 100644 index 00000000..048e48e6 --- /dev/null +++ b/recipes/wip/tools/gnu-radio/recipe.toml @@ -0,0 +1,18 @@ +#TODO not compiled or tested +# build instructions: https://wiki.gnuradio.org/index.php?title=LinuxInstall#For_GNU_Radio_3.10,_3.9,_and_Main_Branch +# probably missing dependencies, see https://wiki.gnuradio.org/index.php?title=UbuntuInstall#Install_Dependencies +[source] +git = "https://github.com/gnuradio/gnuradio" +rev = "bd928539d9eaa73736f8381cd2e60953a0eb8cb8" +[build] +template = "cmake" +dependencies = [ + "volk", + "boost", + "libgmp", + "fftw", + "sdl1", + "qt5-base", + "libusb", + "libevdev", +] diff --git a/recipes/wip/tools/gnuplot/recipe.toml b/recipes/wip/tools/gnuplot/recipe.toml new file mode 100644 index 00000000..465bc9ae --- /dev/null +++ b/recipes/wip/tools/gnuplot/recipe.toml @@ -0,0 +1,5 @@ +#TODO determine dependencies +[source] +tar = "https://sourceforge.net/projects/gnuplot/files/gnuplot/5.4.10/gnuplot-5.4.10.tar.gz/download" +[build] +template = "configure" diff --git a/recipes/wip/tools/goldboot/recipe.toml b/recipes/wip/tools/goldboot/recipe.toml new file mode 100644 index 00000000..b9faf4a0 --- /dev/null +++ b/recipes/wip/tools/goldboot/recipe.toml @@ -0,0 +1,8 @@ +#TODO use a data type that don't download the private git submodules +[source] +git = "https://github.com/fossable/goldboot" +[build] +template = "custom" +script = """ +cookbook_cargo_packages goldboot +""" diff --git a/recipes/wip/tools/goxel/recipe.toml b/recipes/wip/tools/goxel/recipe.toml new file mode 100644 index 00000000..a54f0fd9 --- /dev/null +++ b/recipes/wip/tools/goxel/recipe.toml @@ -0,0 +1,10 @@ +#TODO missing script for the SCons, see https://github.com/guillaumechereau/goxel#linuxbsd +[source] +git = "https://github.com/guillaumechereau/goxel" +rev = "4cdf7bc49cbfd87e60692f49483ea60271729845" +[build] +template = "custom" +dependencies = [ + "gtk3", + "glfw3", +] diff --git a/recipes/wip/tools/gpg-tui/recipe.toml b/recipes/wip/tools/gpg-tui/recipe.toml new file mode 100644 index 00000000..2c6acf51 --- /dev/null +++ b/recipes/wip/tools/gpg-tui/recipe.toml @@ -0,0 +1,10 @@ +#TODO make dependencies work +[source] +git = "https://github.com/orhun/gpg-tui" +[build] +template = "cargo" +dependencies = [ + "gnupg", + "gpgme", + "libgpg-error", +] diff --git a/recipes/wip/tools/gphoto2/recipe.toml b/recipes/wip/tools/gphoto2/recipe.toml new file mode 100644 index 00000000..c56c36ba --- /dev/null +++ b/recipes/wip/tools/gphoto2/recipe.toml @@ -0,0 +1,8 @@ +#TODO make libgphoto2 work +[source] +tar = "https://sourceforge.net/projects/gphoto/files/gphoto/2.5.28/gphoto2-2.5.28.tar.xz/download" +[build] +template = "configure" +dependencies = [ + "libgphoto2", +] diff --git a/recipes/wip/tools/gping/recipe.toml b/recipes/wip/tools/gping/recipe.toml new file mode 100644 index 00000000..848f4a7d --- /dev/null +++ b/recipes/wip/tools/gping/recipe.toml @@ -0,0 +1,8 @@ +#TODO program source code error +[source] +git = "https://github.com/orf/gping" +[build] +template = "custom" +script = """ +cookbook_cargo_packages gping +""" diff --git a/recipes/wip/tools/gptman/recipe.toml b/recipes/wip/tools/gptman/recipe.toml new file mode 100644 index 00000000..8f39ae24 --- /dev/null +++ b/recipes/wip/tools/gptman/recipe.toml @@ -0,0 +1,8 @@ +#TODO outdated redox_syscall crate +[source] +git = "https://github.com/rust-disk-partition-management/gptman" +[build] +template = "custom" +script = """ +cookbook_cargo --features cli +""" diff --git a/recipes/wip/tools/gptube-cli/recipe.toml b/recipes/wip/tools/gptube-cli/recipe.toml new file mode 100644 index 00000000..098bdd20 --- /dev/null +++ b/recipes/wip/tools/gptube-cli/recipe.toml @@ -0,0 +1,5 @@ +#TODO Seems to search for yt-dlp, see https://github.com/ZmoleCristian/gptube-cli/blob/main/Makefile +[source] +git = "https://github.com/ZmoleCristian/gptube-cli" +[build] +template = "cargo" diff --git a/recipes/wip/tools/grex/recipe.toml b/recipes/wip/tools/grex/recipe.toml new file mode 100644 index 00000000..e3d11bf8 --- /dev/null +++ b/recipes/wip/tools/grex/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/pemistahl/grex" +[build] +template = "cargo" diff --git a/recipes/wip/tools/groff/recipe.toml b/recipes/wip/tools/groff/recipe.toml new file mode 100644 index 00000000..b851b18d --- /dev/null +++ b/recipes/wip/tools/groff/recipe.toml @@ -0,0 +1,5 @@ +#TODO compilation error - port fseterr.c +[source] +tar = "https://ftp.gnu.org/gnu/groff/groff-1.23.0.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/tools/guix/recipe.toml b/recipes/wip/tools/guix/recipe.toml new file mode 100644 index 00000000..3835ee8a --- /dev/null +++ b/recipes/wip/tools/guix/recipe.toml @@ -0,0 +1,10 @@ +#TODO fix libgcrypt +#TODO maybe missing dependencies, see https://guix.gnu.org/manual/en/html_node/Requirements.html +[source] +tar = "https://ftpmirror.gnu.org/gnu/guix/guix-1.4.0.tar.gz" +[build] +template = "configure" +dependencies = [ + "libgcrypt", + "sqlite3", +] diff --git a/recipes/wip/tools/halp/recipe.toml b/recipes/wip/tools/halp/recipe.toml new file mode 100644 index 00000000..c0dcf76c --- /dev/null +++ b/recipes/wip/tools/halp/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/orhun/halp" +[build] +template = "cargo" diff --git a/recipes/wip/tools/hawkeye/recipe.toml b/recipes/wip/tools/hawkeye/recipe.toml new file mode 100644 index 00000000..acdd976c --- /dev/null +++ b/recipes/wip/tools/hawkeye/recipe.toml @@ -0,0 +1,9 @@ +#TODO compiled but not tested +#TODO add a command to properly move the executable +[source] +git = "https://github.com/korandoru/hawkeye" +[build] +template = "custom" +script = """ +cookbook_cargo_packages hawkeye hawkeye-fmt +""" diff --git a/recipes/wip/tools/haylxon/recipe.toml b/recipes/wip/tools/haylxon/recipe.toml new file mode 100644 index 00000000..cbcf1627 --- /dev/null +++ b/recipes/wip/tools/haylxon/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/pwnwriter/haylxon" +[build] +template = "cargo" diff --git a/recipes/wip/tools/himalaya/recipe.toml b/recipes/wip/tools/himalaya/recipe.toml new file mode 100644 index 00000000..f4de5306 --- /dev/null +++ b/recipes/wip/tools/himalaya/recipe.toml @@ -0,0 +1,8 @@ +#TODO xdg-home crate error (after a patch on ring) +[source] +git = "https://github.com/soywod/himalaya" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/tools/hired/recipe.toml b/recipes/wip/tools/hired/recipe.toml new file mode 100644 index 00000000..a2611dd4 --- /dev/null +++ b/recipes/wip/tools/hired/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/sidju/hired" +[build] +template = "cargo" diff --git a/recipes/wip/tools/hoard/recipe.toml b/recipes/wip/tools/hoard/recipe.toml new file mode 100644 index 00000000..6377a00c --- /dev/null +++ b/recipes/wip/tools/hoard/recipe.toml @@ -0,0 +1,8 @@ +#TODO aws-lc-sys crate error +[source] +git = "https://github.com/Hyde46/hoard" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/tools/horsetab/recipe.toml b/recipes/wip/tools/horsetab/recipe.toml new file mode 100644 index 00000000..203af168 --- /dev/null +++ b/recipes/wip/tools/horsetab/recipe.toml @@ -0,0 +1,8 @@ +#TODO rdev crate error +[source] +git = "https://github.com/ChrisVilches/horsetab" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/tools/humphrey/recipe.toml b/recipes/wip/tools/humphrey/recipe.toml new file mode 100644 index 00000000..a0943689 --- /dev/null +++ b/recipes/wip/tools/humphrey/recipe.toml @@ -0,0 +1,17 @@ +#TODO Bash can't detect the "--all-features" flag on the script +[source] +git = "https://github.com/w-henderson/Humphrey" +[build] +template = "custom" +script = """ +binary=humphrey +"${COOKBOOK_CARGO}" build \ + --manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \ + --bin "${binary}" \ + --release + --all-features + mkdir -pv "${COOKBOOK_STAGE}/usr/bin" + cp -v \ + "target/${TARGET}/release/${binary}" \ + "${COOKBOOK_STAGE}/usr/bin/${binary}" +""" diff --git a/recipes/wip/tools/hwatch/recipe.toml b/recipes/wip/tools/hwatch/recipe.toml new file mode 100644 index 00000000..a11f1669 --- /dev/null +++ b/recipes/wip/tools/hwatch/recipe.toml @@ -0,0 +1,5 @@ +#TODO async-io crate error (after cargo update) +[source] +git = "https://github.com/blacknon/hwatch" +[build] +template = "cargo" diff --git a/recipes/wip/tools/imager/recipe.toml b/recipes/wip/tools/imager/recipe.toml new file mode 100644 index 00000000..30c4fe6b --- /dev/null +++ b/recipes/wip/tools/imager/recipe.toml @@ -0,0 +1,12 @@ +#TODO webp-dev crate error +[source] +git = "https://github.com/imager-io/imager" +[build] +template = "custom" +dependencies = [ + "xz", + "openssl1", +] +script = """ +cookbook_cargo_packages imager +""" diff --git a/recipes/wip/tools/inlyne/recipe.toml b/recipes/wip/tools/inlyne/recipe.toml new file mode 100644 index 00000000..13c6803f --- /dev/null +++ b/recipes/wip/tools/inlyne/recipe.toml @@ -0,0 +1,7 @@ +#TODO ucred::get_peer_cred +#TODO nix::sys::socket +#TODO cmsg_space! +[source] +git = "https://github.com/trimental/inlyne" +[build] +template = "cargo" \ No newline at end of file diff --git a/recipes/wip/tools/innernet-cli/recipe.toml b/recipes/wip/tools/innernet-cli/recipe.toml new file mode 100644 index 00000000..07405ab2 --- /dev/null +++ b/recipes/wip/tools/innernet-cli/recipe.toml @@ -0,0 +1,8 @@ +#TODO shared crate error +[source] +git = "https://github.com/tonarino/innernet" +[build] +template = "custom" +script = """ +cookbook_cargo_packages client +""" diff --git a/recipes/wip/tools/innernet-server/recipe.toml b/recipes/wip/tools/innernet-server/recipe.toml new file mode 100644 index 00000000..71f9f5ee --- /dev/null +++ b/recipes/wip/tools/innernet-server/recipe.toml @@ -0,0 +1,11 @@ +#TODO shared crate error +[source] +git = "https://github.com/tonarino/innernet" +[build] +template = "custom" +dependencies = [ + "sqlite3", +] +script = """ +cookbook_cargo_packages server +""" diff --git a/recipes/wip/tools/intelli-shell/recipe.toml b/recipes/wip/tools/intelli-shell/recipe.toml new file mode 100644 index 00000000..53ca1be5 --- /dev/null +++ b/recipes/wip/tools/intelli-shell/recipe.toml @@ -0,0 +1,13 @@ +#TODO OpenSSL error +[source] +git = "https://github.com/lasantosr/intelli-shell" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +export OPENSSL_DIR="${COOKBOOK_SYSROOT}" +export OPENSSL_STATIC="true" +cookbook_cargo +""" diff --git a/recipes/wip/tools/interaction-calculus/recipe.toml b/recipes/wip/tools/interaction-calculus/recipe.toml new file mode 100644 index 00000000..a6ebf958 --- /dev/null +++ b/recipes/wip/tools/interaction-calculus/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/VictorTaelin/Interaction-Calculus" +[build] +template = "cargo" diff --git a/recipes/wip/tools/intermodal/recipe.toml b/recipes/wip/tools/intermodal/recipe.toml new file mode 100644 index 00000000..493823ff --- /dev/null +++ b/recipes/wip/tools/intermodal/recipe.toml @@ -0,0 +1,9 @@ +#TODO termios crate error +[source] +git = "https://github.com/casey/intermodal" +[build] +template = "custom" +script = """ +cookbook_cargo +mv "${COOKBOOK_STAGE}/usr/bin/imdl" "${COOKBOOK_STAGE}/usr/bin/intermodal" +""" diff --git a/recipes/wip/tools/itstool/recipe.toml b/recipes/wip/tools/itstool/recipe.toml new file mode 100644 index 00000000..15c9800e --- /dev/null +++ b/recipes/wip/tools/itstool/recipe.toml @@ -0,0 +1,8 @@ +#TODO require a Python module for libxml2 +[source] +tar = "http://files.itstool.org/itstool/itstool-2.0.7.tar.bz2" +[build] +template = "configure" +dependencies = [ + "libxml2", +] diff --git a/recipes/wip/tools/jirust/recipe.toml b/recipes/wip/tools/jirust/recipe.toml new file mode 100644 index 00000000..e14ebdaa --- /dev/null +++ b/recipes/wip/tools/jirust/recipe.toml @@ -0,0 +1,5 @@ +#TODO openssl-sys crate error +[source] +git = "https://github.com/moali87/jirust" +[build] +template = "cargo" diff --git a/recipes/wip/tools/jless/recipe.toml b/recipes/wip/tools/jless/recipe.toml new file mode 100644 index 00000000..463ec7e8 --- /dev/null +++ b/recipes/wip/tools/jless/recipe.toml @@ -0,0 +1,5 @@ +#TODO outdated redox_syscall crate (after cargo update) +[source] +git = "https://github.com/PaulJuliusMartinez/jless" +[build] +template = "cargo" diff --git a/recipes/wip/tools/joshuto/recipe.toml b/recipes/wip/tools/joshuto/recipe.toml new file mode 100644 index 00000000..f4eeb9e3 --- /dev/null +++ b/recipes/wip/tools/joshuto/recipe.toml @@ -0,0 +1,5 @@ +#TODO open and trash crates error +[source] +git = "https://github.com/kamiyaa/joshuto" +[build] +template = "cargo" diff --git a/recipes/wip/tools/jql/recipe.toml b/recipes/wip/tools/jql/recipe.toml new file mode 100644 index 00000000..4ed4332a --- /dev/null +++ b/recipes/wip/tools/jql/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/yamafaktory/jql" +[build] +template = "custom" +script = """ +cookbook_cargo_packages jql +""" diff --git a/recipes/wip/tools/kami/recipe.toml b/recipes/wip/tools/kami/recipe.toml new file mode 100644 index 00000000..d1d72db8 --- /dev/null +++ b/recipes/wip/tools/kami/recipe.toml @@ -0,0 +1,9 @@ +#TODO termsize crate error (after cargo update) +#TODO require bat and mpv at runtime +[source] +git = "https://github.com/mrfluffy-dev/kami" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/tools/kanata/recipe.toml b/recipes/wip/tools/kanata/recipe.toml new file mode 100644 index 00000000..1f3db36c --- /dev/null +++ b/recipes/wip/tools/kanata/recipe.toml @@ -0,0 +1,5 @@ +#TODO kanata-parser crate error +[source] +git = "https://github.com/jtroo/kanata" +[build] +template = "cargo" diff --git a/recipes/wip/tools/kbt/recipe.toml b/recipes/wip/tools/kbt/recipe.toml new file mode 100644 index 00000000..9010e8fe --- /dev/null +++ b/recipes/wip/tools/kbt/recipe.toml @@ -0,0 +1,5 @@ +#TODO outdated redox_syscall crate (after cargo update) +[source] +git = "https://github.com/bloznelis/kbt" +[build] +template = "cargo" diff --git a/recipes/wip/tools/kodi/recipe.toml b/recipes/wip/tools/kodi/recipe.toml new file mode 100644 index 00000000..6aac752f --- /dev/null +++ b/recipes/wip/tools/kodi/recipe.toml @@ -0,0 +1,46 @@ +#TODO not compiled or tested +# build instructions: https://github.com/xbmc/xbmc/blob/master/docs/README.Linux.md#4-build-kodi +# maybe missing dependencies, see https://archlinux.org/packages/extra/x86_64/kodi/ +[source] +git = "https://github.com/xbmc/xbmc" +rev = "5f418d0b133535c6675154688ac7144e34f4d436" +[build] +template = "cmake" +cmakeflags = [ + "-DCORE_PLATFORM_NAME=wayland", + "-DAPP_RENDER_SYSTEM=gl", +] +dependencies = [ + "libass", + "libbluray", + "mesa", + "bzip2", + "curl", + "dbus", + "libflac", + "fontconfig", + "libfmt", + "freetype2", + "fribidi", + "libgcrypt", + "libgif", + "glew", + "gnutls3", + "mesa-glu", + "libgpg-error", + "libjpeg", + "libogg", + "pcre", + "libpng", + "openssl1", + "libtiff", + "sqlite3", + "libevdev", + "libunistring", + "libva", + "libvorbis", + "libxkbcommon", + "libuuid", + "libxslt", + "pipewire", +] diff --git a/recipes/wip/tools/lapce/recipe.toml b/recipes/wip/tools/lapce/recipe.toml new file mode 100644 index 00000000..e935c56a --- /dev/null +++ b/recipes/wip/tools/lapce/recipe.toml @@ -0,0 +1,5 @@ +#TODO openssl-sys crate error +[source] +git = "https://github.com/lapce/lapce" +[build] +template = "cargo" diff --git a/recipes/wip/tools/lazy-etherscan/recipe.toml b/recipes/wip/tools/lazy-etherscan/recipe.toml new file mode 100644 index 00000000..2bdf5b45 --- /dev/null +++ b/recipes/wip/tools/lazy-etherscan/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/woxjro/lazy-etherscan" +[build] +template = "cargo" diff --git a/recipes/wip/tools/lcs-image-diff/recipe.toml b/recipes/wip/tools/lcs-image-diff/recipe.toml new file mode 100644 index 00000000..f0ab1a30 --- /dev/null +++ b/recipes/wip/tools/lcs-image-diff/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/bokuweb/lcs-image-diff-rs" +[build] +template = "cargo" diff --git a/recipes/wip/tools/lddtree-rs/recipe.toml b/recipes/wip/tools/lddtree-rs/recipe.toml new file mode 100644 index 00000000..62fd4918 --- /dev/null +++ b/recipes/wip/tools/lddtree-rs/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/messense/lddtree-rs" +[build] +template = "cargo" diff --git a/recipes/wip/tools/legdur/recipe.toml b/recipes/wip/tools/legdur/recipe.toml new file mode 100644 index 00000000..ae827f4f --- /dev/null +++ b/recipes/wip/tools/legdur/recipe.toml @@ -0,0 +1,6 @@ +#TODO the repository can't be cloned because it's using the Mercurial now? what doesn't makes sense +#TODO camino crate error +[source] +git = "https://hg.sr.ht/~cyplo/legdur" +[build] +template = "cargo" diff --git a/recipes/wip/tools/lemmeknow/recipe.toml b/recipes/wip/tools/lemmeknow/recipe.toml new file mode 100644 index 00000000..21268d0a --- /dev/null +++ b/recipes/wip/tools/lemmeknow/recipe.toml @@ -0,0 +1,5 @@ +#TODO promote +[source] +git = "https://github.com/swanandx/lemmeknow" +[build] +template = "cargo" diff --git a/recipes/wip/tools/less/recipe.toml b/recipes/wip/tools/less/recipe.toml new file mode 100644 index 00000000..8c1024a3 --- /dev/null +++ b/recipes/wip/tools/less/recipe.toml @@ -0,0 +1,9 @@ +#TODO waiting termcap fix +[source] +tar = "https://www.greenwoodsoftware.com/less/less-633.tar.gz" +[build] +template = "configure" +dependencies = [ + "termcap", + "libvterm", +] diff --git a/recipes/wip/tools/lines-rs/recipe.toml b/recipes/wip/tools/lines-rs/recipe.toml new file mode 100644 index 00000000..20f90c92 --- /dev/null +++ b/recipes/wip/tools/lines-rs/recipe.toml @@ -0,0 +1,5 @@ +#TODO jemalloc-sys crate error +[source] +git = "https://github.com/ryanfowler/lines" +[build] +template = "cargo" diff --git a/recipes/wip/tools/lineselect/recipe.toml b/recipes/wip/tools/lineselect/recipe.toml new file mode 100644 index 00000000..c419ee47 --- /dev/null +++ b/recipes/wip/tools/lineselect/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/urbanogilson/lineselect" +[build] +template = "cargo" diff --git a/recipes/wip/tools/logss/recipe.toml b/recipes/wip/tools/logss/recipe.toml new file mode 100644 index 00000000..abd52481 --- /dev/null +++ b/recipes/wip/tools/logss/recipe.toml @@ -0,0 +1,5 @@ +#TODO broken and don't exit +[source] +git = "https://github.com/todoesverso/logss" +[build] +template = "cargo" diff --git a/recipes/wip/tools/lowcharts/recipe.toml b/recipes/wip/tools/lowcharts/recipe.toml new file mode 100644 index 00000000..3051b04b --- /dev/null +++ b/recipes/wip/tools/lowcharts/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/juan-leon/lowcharts" +[build] +template = "cargo" diff --git a/recipes/wip/tools/lucid/recipe.toml b/recipes/wip/tools/lucid/recipe.toml new file mode 100644 index 00000000..6aef6188 --- /dev/null +++ b/recipes/wip/tools/lucid/recipe.toml @@ -0,0 +1,5 @@ +#TODO nix crate error +[source] +git = "https://github.com/sharkdp/lucid" +[build] +template = "cargo" diff --git a/recipes/wip/tools/mandy/recipe.toml b/recipes/wip/tools/mandy/recipe.toml new file mode 100644 index 00000000..d8504fb2 --- /dev/null +++ b/recipes/wip/tools/mandy/recipe.toml @@ -0,0 +1,11 @@ +#TODO libssh2-sys crate error +[source] +git = "https://github.com/angeldollface/mandy" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +cookbook_cargo_packages mandy-bin +""" diff --git a/recipes/wip/tools/mangohud/recipe.toml b/recipes/wip/tools/mangohud/recipe.toml new file mode 100644 index 00000000..96db3c62 --- /dev/null +++ b/recipes/wip/tools/mangohud/recipe.toml @@ -0,0 +1,15 @@ +#TODO not compiled or tested +# build instructions: https://github.com/flightlessmango/MangoHud#installation---build-from-source +[source] +tar = "https://github.com/flightlessmango/MangoHud/releases/download/v0.8.1/MangoHud-v0.8.1-Source.tar.xz" +[build] +template = "meson" +mesonflags = [ + "-Dwith_xnvctrl=disabled", + "-Dwith_dbus=disabled", +] +dependencies = [ + "mesa-x11", + "libx11", + #"libxkbcommon", +] diff --git a/recipes/wip/tools/mask/recipe.toml b/recipes/wip/tools/mask/recipe.toml new file mode 100644 index 00000000..9d52b13b --- /dev/null +++ b/recipes/wip/tools/mask/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/jacobdeichert/mask" +[build] +template = "custom" +script = """ +cookbook_cargo_packages mask +""" diff --git a/recipes/wip/tools/matui/recipe.toml b/recipes/wip/tools/matui/recipe.toml new file mode 100644 index 00000000..f4a7c60c --- /dev/null +++ b/recipes/wip/tools/matui/recipe.toml @@ -0,0 +1,8 @@ +#TODO ahash crate error +[source] +git = "https://github.com/pkulak/matui" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/tools/maze-tui/recipe.toml b/recipes/wip/tools/maze-tui/recipe.toml new file mode 100644 index 00000000..7e7101a9 --- /dev/null +++ b/recipes/wip/tools/maze-tui/recipe.toml @@ -0,0 +1,5 @@ +#TODO go to the "maze_progs" folder and build "run_tui" and "run_maze" +[source] +git = "https://github.com/agl-alexglopez/maze-tui" +[build] +template = "custom" diff --git a/recipes/wip/tools/mcfly/recipe.toml b/recipes/wip/tools/mcfly/recipe.toml new file mode 100644 index 00000000..3f8b56a6 --- /dev/null +++ b/recipes/wip/tools/mcfly/recipe.toml @@ -0,0 +1,5 @@ +#TODO program source code error +[source] +git = "https://github.com/cantino/mcfly" +[build] +template = "cargo" diff --git a/recipes/wip/tools/menyoki/recipe.toml b/recipes/wip/tools/menyoki/recipe.toml new file mode 100644 index 00000000..2a472563 --- /dev/null +++ b/recipes/wip/tools/menyoki/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# if the x11 backend don't work read this: https://github.com/orhun/menyoki/blob/master/IMPLEMENTATION.md#implementing-for-other-platforms +[source] +git = "https://github.com/orhun/menyoki" +[build] +template = "cargo" diff --git a/recipes/wip/tools/mhv/recipe.toml b/recipes/wip/tools/mhv/recipe.toml new file mode 100644 index 00000000..e0c3e158 --- /dev/null +++ b/recipes/wip/tools/mhv/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/jgardona/mhv" +[build] +template = "cargo" diff --git a/recipes/wip/tools/minmon/recipe.toml b/recipes/wip/tools/minmon/recipe.toml new file mode 100644 index 00000000..5c6f9e96 --- /dev/null +++ b/recipes/wip/tools/minmon/recipe.toml @@ -0,0 +1,5 @@ +#TODO port to redox +[source] +git = "https://github.com/flo-at/minmon" +[build] +template = "cargo" diff --git a/recipes/wip/tools/mkisofs-rs/recipe.toml b/recipes/wip/tools/mkisofs-rs/recipe.toml new file mode 100644 index 00000000..99e60349 --- /dev/null +++ b/recipes/wip/tools/mkisofs-rs/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/marysaka/mkisofs-rs" +[build] +template = "cargo" diff --git a/recipes/wip/tools/mprocs/recipe.toml b/recipes/wip/tools/mprocs/recipe.toml new file mode 100644 index 00000000..374be7af --- /dev/null +++ b/recipes/wip/tools/mprocs/recipe.toml @@ -0,0 +1,8 @@ +#TODO termios crates error (after cargo update) +[source] +git = "https://github.com/pvolok/mprocs" +[build] +template = "custom" +script = """ +cookbook_cargo_packages mprocs +""" diff --git a/recipes/wip/tools/navi/recipe.toml b/recipes/wip/tools/navi/recipe.toml new file mode 100644 index 00000000..15f021f9 --- /dev/null +++ b/recipes/wip/tools/navi/recipe.toml @@ -0,0 +1,5 @@ +#TODO fs_at and libc crate errors (after cargo update) +[source] +git = "https://github.com/denisidoro/navi" +[build] +template = "cargo" diff --git a/recipes/wip/tools/nickel/recipe.toml b/recipes/wip/tools/nickel/recipe.toml new file mode 100644 index 00000000..6715cb82 --- /dev/null +++ b/recipes/wip/tools/nickel/recipe.toml @@ -0,0 +1,8 @@ +#TODO rustyline crate error +[source] +git = "https://github.com/tweag/nickel" +[build] +template = "custom" +script = """ +cookbook_cargo_packages nickel-lang-cli +""" diff --git a/recipes/wip/tools/nix/recipe.toml b/recipes/wip/tools/nix/recipe.toml new file mode 100644 index 00000000..33c9fab2 --- /dev/null +++ b/recipes/wip/tools/nix/recipe.toml @@ -0,0 +1,23 @@ +#TODO make dependencies work +[source] +git = "https://github.com/NixOS/nix" +rev = "50f8f1c8bc019a4c0fd098b9ac674b94cfc6af0d" +[build] +template = "custom" +dependencies = [ + "libbrotili", + "openssl1", + "curl", + "sqlite3", + "libeditline", + "boost", + "libsodium", + "libcpuid", +] +script = """ +autoreconf -vfi +COOKBOOK_CONFIGURE_FLAGS+=( + --disable-tests +) +cookbook_configure +""" diff --git a/recipes/wip/tools/nomad/recipe.toml b/recipes/wip/tools/nomad/recipe.toml new file mode 100644 index 00000000..896bc7e1 --- /dev/null +++ b/recipes/wip/tools/nomad/recipe.toml @@ -0,0 +1,9 @@ +#TODO sys-info crate error +#TODO require Nerd Fonts +[source] +git = "https://github.com/JosephLai241/nomad" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/tools/nomino/recipe.toml b/recipes/wip/tools/nomino/recipe.toml new file mode 100644 index 00000000..df58f8a8 --- /dev/null +++ b/recipes/wip/tools/nomino/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/yaa110/nomino" +[build] +template = "cargo" diff --git a/recipes/wip/tools/notnow/recipe.toml b/recipes/wip/tools/notnow/recipe.toml new file mode 100644 index 00000000..9d7e5b2c --- /dev/null +++ b/recipes/wip/tools/notnow/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/d-e-s-o/notnow" +[build] +template = "cargo" diff --git a/recipes/wip/tools/objdiff/recipe.toml b/recipes/wip/tools/objdiff/recipe.toml new file mode 100644 index 00000000..36994df5 --- /dev/null +++ b/recipes/wip/tools/objdiff/recipe.toml @@ -0,0 +1,12 @@ +#TODO can't find the fontconfig dependency +[source] +git = "https://github.com/encounter/objdiff" +[build] +template = "custom" +dependencies = [ + "openssl1", + "fontconfig", +] +script = """ +cookbook_cargo_packages objdiff-gui objdiff-cli +""" diff --git a/recipes/wip/tools/odilia/recipe.toml b/recipes/wip/tools/odilia/recipe.toml new file mode 100644 index 00000000..f26083d0 --- /dev/null +++ b/recipes/wip/tools/odilia/recipe.toml @@ -0,0 +1,8 @@ +#TODO xdg-home crate error (after cargo update) +[source] +git = "https://github.com/odilia-app/odilia" +[build] +template = "custom" +script = """ +cookbook_cargo_packages odilia +""" diff --git a/recipes/wip/tools/okteta/recipe.toml b/recipes/wip/tools/okteta/recipe.toml new file mode 100644 index 00000000..18fde606 --- /dev/null +++ b/recipes/wip/tools/okteta/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +# lacking build instructions +#TODO missing dependencies +[source] +git = "https://invent.kde.org/utilities/okteta" +rev = "fb6150f2dce791c96b95a12ee0c74942c1774c05" +[build] +template = "cmake" diff --git a/recipes/wip/tools/omega/recipe.toml b/recipes/wip/tools/omega/recipe.toml new file mode 100644 index 00000000..28acedfe --- /dev/null +++ b/recipes/wip/tools/omega/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing headers +[source] +git = "https://github.com/nwrenger/omega" +[build] +template = "cargo" diff --git a/recipes/wip/tools/oranda/recipe.toml b/recipes/wip/tools/oranda/recipe.toml new file mode 100644 index 00000000..ec095ebf --- /dev/null +++ b/recipes/wip/tools/oranda/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/axodotdev/oranda" +[build] +template = "cargo" diff --git a/recipes/wip/tools/orchaldir-texture-generator/recipe.toml b/recipes/wip/tools/orchaldir-texture-generator/recipe.toml new file mode 100644 index 00000000..440d25e6 --- /dev/null +++ b/recipes/wip/tools/orchaldir-texture-generator/recipe.toml @@ -0,0 +1,8 @@ +#TODO Compiled but not tested +[source] +git = "https://github.com/Orchaldir/texture_generator" +[build] +template = "custom" +script = """ +cookbook_cargo_packages texture_generator +""" diff --git a/recipes/wip/tools/pdbview/recipe.toml b/recipes/wip/tools/pdbview/recipe.toml new file mode 100644 index 00000000..9c7be752 --- /dev/null +++ b/recipes/wip/tools/pdbview/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/landaire/pdbview" +[build] +template = "cargo" diff --git a/recipes/wip/tools/pdu/recipe.toml b/recipes/wip/tools/pdu/recipe.toml new file mode 100644 index 00000000..f49d5d92 --- /dev/null +++ b/recipes/wip/tools/pdu/recipe.toml @@ -0,0 +1,5 @@ +#TODO compilation error +[source] +git = "https://github.com/KSXGitHub/parallel-disk-usage" +[build] +template = "cargo" diff --git a/recipes/wip/tools/pipr/recipe.toml b/recipes/wip/tools/pipr/recipe.toml new file mode 100644 index 00000000..08ca75d9 --- /dev/null +++ b/recipes/wip/tools/pipr/recipe.toml @@ -0,0 +1,5 @@ +#TODO update mio to 0.8 (after cargo update) +[source] +git = "https://github.com/Elkowar/pipr" +[build] +template = "cargo" diff --git a/recipes/wip/tools/pixcil/recipe.toml b/recipes/wip/tools/pixcil/recipe.toml new file mode 100644 index 00000000..18ae370e --- /dev/null +++ b/recipes/wip/tools/pixcil/recipe.toml @@ -0,0 +1,10 @@ +#TODO compiled but not tested +#TODO missing script to properly move the binary +#TODO require WebAssembly +[source] +git = "https://github.com/sile/pixcil" +[build] +template = "custom" +script = """ +cookbook_cargo_packages pixcil +""" diff --git a/recipes/wip/tools/pixelsort/recipe.toml b/recipes/wip/tools/pixelsort/recipe.toml new file mode 100644 index 00000000..d1a974ba --- /dev/null +++ b/recipes/wip/tools/pixelsort/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/Void-ux/pixelsort" +[build] +template = "cargo" diff --git a/recipes/wip/tools/pomky/recipe.toml b/recipes/wip/tools/pomky/recipe.toml new file mode 100644 index 00000000..b8973736 --- /dev/null +++ b/recipes/wip/tools/pomky/recipe.toml @@ -0,0 +1,10 @@ +#TODO waiting gdk-pixbuf conversion to TOML +[source] +git = "https://github.com/developomp/pomky" +[build] +template = "cargo" +dependencies = [ + "glib", + "pcre", + "gdk-pixbuf", +] diff --git a/recipes/wip/tools/porsmo/recipe.toml b/recipes/wip/tools/porsmo/recipe.toml new file mode 100644 index 00000000..3662af37 --- /dev/null +++ b/recipes/wip/tools/porsmo/recipe.toml @@ -0,0 +1,5 @@ +#TODO xdg-home crate error +[source] +git = "https://github.com/ColorCookie-dev/porsmo" +[build] +template = "cargo" diff --git a/recipes/wip/tools/posixutils-rs/recipe.toml b/recipes/wip/tools/posixutils-rs/recipe.toml new file mode 100644 index 00000000..29125ae1 --- /dev/null +++ b/recipes/wip/tools/posixutils-rs/recipe.toml @@ -0,0 +1,5 @@ +#TODO require a customized Cargo script +[source] +git = "https://github.com/rustcoreutils/posixutils-rs" +[build] +template = "custom" diff --git a/recipes/wip/tools/potrace/recipe.toml b/recipes/wip/tools/potrace/recipe.toml new file mode 100644 index 00000000..62379b65 --- /dev/null +++ b/recipes/wip/tools/potrace/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +tar = "https://potrace.sourceforge.net/download/1.16/potrace-1.16.tar.gz" +[build] +template = "configure" +dependencies = [ + "zlib", +] diff --git a/recipes/wip/tools/presenterm/recipe.toml b/recipes/wip/tools/presenterm/recipe.toml new file mode 100644 index 00000000..b5a38635 --- /dev/null +++ b/recipes/wip/tools/presenterm/recipe.toml @@ -0,0 +1,5 @@ +#TODO promote +[source] +git = "https://github.com/mfontanini/presenterm" +[build] +template = "cargo" diff --git a/recipes/wip/tools/pueue/recipe.toml b/recipes/wip/tools/pueue/recipe.toml new file mode 100644 index 00000000..bd1ed8cd --- /dev/null +++ b/recipes/wip/tools/pueue/recipe.toml @@ -0,0 +1,8 @@ +#TODO pueue_lib crate error (after cargo update and a patch on ring) +[source] +git = "https://github.com/Nukesor/pueue" +[build] +template = "custom" +script = """ +cookbook_cargo_packages pueue +""" diff --git a/recipes/wip/tools/qv/recipe.toml b/recipes/wip/tools/qv/recipe.toml new file mode 100644 index 00000000..81812e89 --- /dev/null +++ b/recipes/wip/tools/qv/recipe.toml @@ -0,0 +1,5 @@ +#TODO deltalake crate error (after a patch on ring) +[source] +git = "https://github.com/timvw/qv" +[build] +template = "cargo" diff --git a/recipes/wip/tools/rana/recipe.toml b/recipes/wip/tools/rana/recipe.toml new file mode 100644 index 00000000..9ce7417a --- /dev/null +++ b/recipes/wip/tools/rana/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/grunch/rana" +[build] +template = "cargo" diff --git a/recipes/wip/tools/rargs/recipe.toml b/recipes/wip/tools/rargs/recipe.toml new file mode 100644 index 00000000..17c52706 --- /dev/null +++ b/recipes/wip/tools/rargs/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/lotabout/rargs" +[build] +template = "cargo" diff --git a/recipes/wip/tools/rclone/recipe.toml b/recipes/wip/tools/rclone/recipe.toml new file mode 100644 index 00000000..39e934f3 --- /dev/null +++ b/recipes/wip/tools/rclone/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for Go, see https://rclone.org/install/#source +[source] +tar = "https://github.com/rclone/rclone/releases/download/v1.64.2/rclone-v1.64.2.tar.gz" +[build] +template = "custom" diff --git a/recipes/wip/tools/restic/recipe.toml b/recipes/wip/tools/restic/recipe.toml new file mode 100644 index 00000000..f7aab431 --- /dev/null +++ b/recipes/wip/tools/restic/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing script for Go, see https://restic.readthedocs.io/en/stable/020_installation.html#from-source +#TODO maybe needs to be patched +[source] +tar = "https://github.com/restic/restic/releases/download/v0.16.2/restic-0.16.2.tar.gz" +[build] +template = "custom" diff --git a/recipes/wip/tools/rfz/recipe.toml b/recipes/wip/tools/rfz/recipe.toml new file mode 100644 index 00000000..eb11559a --- /dev/null +++ b/recipes/wip/tools/rfz/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/MangoTzara/rfz" +[build] +template = "cargo" diff --git a/recipes/wip/tools/rip/recipe.toml b/recipes/wip/tools/rip/recipe.toml new file mode 100644 index 00000000..4b2fbd18 --- /dev/null +++ b/recipes/wip/tools/rip/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/nivekuil/rip" +[build] +template = "cargo" diff --git a/recipes/wip/tools/ripasso/recipe.toml b/recipes/wip/tools/ripasso/recipe.toml new file mode 100644 index 00000000..fd10be75 --- /dev/null +++ b/recipes/wip/tools/ripasso/recipe.toml @@ -0,0 +1,12 @@ +#TODO make libgpg-error dependency work +[source] +git = "https://github.com/cortex/ripasso" +[build] +template = "custom" +dependencies = [ + "openssl1", + "libgpg-error", +] +script = """ +cookbook_cargo_packages ripasso-cursive +""" diff --git a/recipes/wip/tools/ripsecrets/recipe.toml b/recipes/wip/tools/ripsecrets/recipe.toml new file mode 100644 index 00000000..f445cbd8 --- /dev/null +++ b/recipes/wip/tools/ripsecrets/recipe.toml @@ -0,0 +1,5 @@ +#TODO promote +[source] +git = "https://github.com/sirwart/ripsecrets" +[build] +template = "cargo" diff --git a/recipes/wip/tools/rix/recipe.toml b/recipes/wip/tools/rix/recipe.toml new file mode 100644 index 00000000..3b0da13b --- /dev/null +++ b/recipes/wip/tools/rix/recipe.toml @@ -0,0 +1,5 @@ +#TODO compilation error +[source] +git = "https://github.com/urbas/rix" +[build] +template = "cargo" diff --git a/recipes/wip/tools/rnr/recipe.toml b/recipes/wip/tools/rnr/recipe.toml new file mode 100644 index 00000000..64cd9e57 --- /dev/null +++ b/recipes/wip/tools/rnr/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/ismaelgv/rnr" +[build] +template = "cargo" diff --git a/recipes/wip/tools/rq/recipe.toml b/recipes/wip/tools/rq/recipe.toml new file mode 100644 index 00000000..44c1fd6f --- /dev/null +++ b/recipes/wip/tools/rq/recipe.toml @@ -0,0 +1,5 @@ +#TODO record-query crate error (after cargo update) +[source] +git = "https://github.com/dflemstr/rq" +[build] +template = "cargo" diff --git a/recipes/wip/tools/ruke/recipe.toml b/recipes/wip/tools/ruke/recipe.toml new file mode 100644 index 00000000..da95233a --- /dev/null +++ b/recipes/wip/tools/ruke/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/kauefraga/ruke" +[build] +template = "cargo" diff --git a/recipes/wip/tools/run/recipe.toml b/recipes/wip/tools/run/recipe.toml new file mode 100644 index 00000000..a15e18f5 --- /dev/null +++ b/recipes/wip/tools/run/recipe.toml @@ -0,0 +1,9 @@ +#TODO fix the script +[source] +git = "https://github.com/LyonSyonII/run" +[build] +template = "custom" +script = """ +cd "${COOKBOOK_SOURCE}"/cli +cookbook_cargo +""" diff --git a/recipes/wip/tools/ruplacer/recipe.toml b/recipes/wip/tools/ruplacer/recipe.toml new file mode 100644 index 00000000..ac448b5e --- /dev/null +++ b/recipes/wip/tools/ruplacer/recipe.toml @@ -0,0 +1,5 @@ +#TODO promote +[source] +git = "https://github.com/your-tools/ruplacer" +[build] +template = "cargo" diff --git a/recipes/wip/tools/rusty-krab-manager/recipe.toml b/recipes/wip/tools/rusty-krab-manager/recipe.toml new file mode 100644 index 00000000..59f972cb --- /dev/null +++ b/recipes/wip/tools/rusty-krab-manager/recipe.toml @@ -0,0 +1,5 @@ +#TODO xdg-home and nix crates error (after cargo update) +[source] +git = "https://github.com/aryakaul/rusty-krab-manager" +[build] +template = "cargo" diff --git a/recipes/wip/tools/rusty/recipe.toml b/recipes/wip/tools/rusty/recipe.toml new file mode 100644 index 00000000..5c28bf27 --- /dev/null +++ b/recipes/wip/tools/rusty/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/zahidkhawaja/rusty" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/tools/rusync/recipe.toml b/recipes/wip/tools/rusync/recipe.toml new file mode 100644 index 00000000..605353d4 --- /dev/null +++ b/recipes/wip/tools/rusync/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/your-tools/rusync" +[build] +template = "cargo" diff --git a/recipes/wip/tools/sad/recipe.toml b/recipes/wip/tools/sad/recipe.toml new file mode 100644 index 00000000..67fee17b --- /dev/null +++ b/recipes/wip/tools/sad/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/ms-jpq/sad" +[build] +template = "cargo" diff --git a/recipes/wip/tools/sam/recipe.toml b/recipes/wip/tools/sam/recipe.toml new file mode 100644 index 00000000..45b56c87 --- /dev/null +++ b/recipes/wip/tools/sam/recipe.toml @@ -0,0 +1,9 @@ +#TODO compiled but not tested (after cargo update) +#TODO add a command to properly move the executable +[source] +git = "https://github.com/r-zenine/sam" +[build] +template = "custom" +script = """ +cookbook_cargo_packages sam-cli +""" diff --git a/recipes/wip/tools/scribus/recipe.toml b/recipes/wip/tools/scribus/recipe.toml new file mode 100644 index 00000000..e8a33342 --- /dev/null +++ b/recipes/wip/tools/scribus/recipe.toml @@ -0,0 +1,16 @@ +#TODO not compiled or tested +# build instructions: https://wiki.scribus.net/canvas/Official:Compile_with_CMake +[source] +tar = "https://sourceforge.net/projects/scribus/files/scribus/1.6.4/scribus-1.6.4.tar.xz/download" +[build] +template = "custom" +dependencies = [ + "qt4", + "cairo", + "freetype2", + "libxml2", + "liblcms", + "libtiff", + "libjpeg", + "fontconfig", +] diff --git a/recipes/wip/tools/scrying/recipe.toml b/recipes/wip/tools/scrying/recipe.toml new file mode 100644 index 00000000..5b38311f --- /dev/null +++ b/recipes/wip/tools/scrying/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/nccgroup/scrying" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/tools/sd/recipe.toml b/recipes/wip/tools/sd/recipe.toml new file mode 100644 index 00000000..0cc6f03c --- /dev/null +++ b/recipes/wip/tools/sd/recipe.toml @@ -0,0 +1,5 @@ +#TODO relibc function not implemented +[source] +git = "https://github.com/chmln/sd.git" +[build] +template = "cargo" diff --git a/recipes/wip/tools/shd/recipe.toml b/recipes/wip/tools/shd/recipe.toml new file mode 100644 index 00000000..8a523975 --- /dev/null +++ b/recipes/wip/tools/shd/recipe.toml @@ -0,0 +1,8 @@ +#TODO make the smartmontools dependency work +[source] +git = "https://github.com/alttch/shd" +[build] +template = "cargo" +dependencies = [ + "smartmontools", +] diff --git a/recipes/wip/tools/shellfirm/recipe.toml b/recipes/wip/tools/shellfirm/recipe.toml new file mode 100644 index 00000000..78fc9d44 --- /dev/null +++ b/recipes/wip/tools/shellfirm/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/kaplanelad/shellfirm" +[build] +template = "custom" +script = """ +cookbook_cargo_packages shellfirm +""" diff --git a/recipes/wip/tools/shokunin/recipe.toml b/recipes/wip/tools/shokunin/recipe.toml new file mode 100644 index 00000000..4230fd8d --- /dev/null +++ b/recipes/wip/tools/shokunin/recipe.toml @@ -0,0 +1,8 @@ +#TODO openssl-sys crate error +[source] +git = "https://github.com/sebastienrousseau/shokunin" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/tools/sig/recipe.toml b/recipes/wip/tools/sig/recipe.toml new file mode 100644 index 00000000..29c09980 --- /dev/null +++ b/recipes/wip/tools/sig/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/ynqa/sig" +[build] +template = "cargo" diff --git a/recipes/wip/tools/sigi/recipe.toml b/recipes/wip/tools/sigi/recipe.toml new file mode 100644 index 00000000..1c5a0e49 --- /dev/null +++ b/recipes/wip/tools/sigi/recipe.toml @@ -0,0 +1,5 @@ +#TODO rustyline crate error +[source] +git = "https://github.com/sigi-cli/sigi" +[build] +template = "cargo" diff --git a/recipes/wip/tools/simplemoji/recipe.toml b/recipes/wip/tools/simplemoji/recipe.toml new file mode 100644 index 00000000..d1b76c3b --- /dev/null +++ b/recipes/wip/tools/simplemoji/recipe.toml @@ -0,0 +1,5 @@ +#TODO require the Noto Color Emoji font, see https://fonts.google.com/noto/specimen/Noto+Color+Emoji +[source] +git = "https://github.com/SergioRibera/Simplemoji" +[build] +template = "cargo" diff --git a/recipes/wip/tools/skim/recipe.toml b/recipes/wip/tools/skim/recipe.toml new file mode 100644 index 00000000..af6c973a --- /dev/null +++ b/recipes/wip/tools/skim/recipe.toml @@ -0,0 +1,5 @@ +#TODO tuikit crate error (after cargo update) +[source] +git = "https://github.com/lotabout/skim" +[build] +template = "cargo" diff --git a/recipes/wip/tools/skyspell/recipe.toml b/recipes/wip/tools/skyspell/recipe.toml new file mode 100644 index 00000000..2a8c80c9 --- /dev/null +++ b/recipes/wip/tools/skyspell/recipe.toml @@ -0,0 +1,12 @@ +#TODO missing an enchant backend and dictionary, see https://github.com/your-tools/skyspell#installation +[source] +git = "https://github.com/your-tools/skyspell" +[build] +template = "custom" +dependencies = [ + "sqlite3", + "enchant", +] +script = """ +cookbook_cargo_packages skyspell +""" diff --git a/recipes/wip/tools/smartmontools/recipe.toml b/recipes/wip/tools/smartmontools/recipe.toml new file mode 100644 index 00000000..0318a9cc --- /dev/null +++ b/recipes/wip/tools/smartmontools/recipe.toml @@ -0,0 +1,5 @@ +#TODO compilation error +[source] +tar = "https://sourceforge.net/projects/smartmontools/files/smartmontools/7.3/smartmontools-7.3.tar.gz/download" +[build] +template = "configure" diff --git a/recipes/wip/tools/snappy-rs/recipe.toml b/recipes/wip/tools/snappy-rs/recipe.toml new file mode 100644 index 00000000..dcb9e3ff --- /dev/null +++ b/recipes/wip/tools/snappy-rs/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/BurntSushi/rust-snappy" +[build] +template = "custom" +script = """ +cookbook_cargo_packages szip +""" diff --git a/recipes/wip/tools/spacer/recipe.toml b/recipes/wip/tools/spacer/recipe.toml new file mode 100644 index 00000000..aeb66edc --- /dev/null +++ b/recipes/wip/tools/spacer/recipe.toml @@ -0,0 +1,5 @@ +#TODO promote +[source] +git = "https://github.com/samwho/spacer" +[build] +template = "cargo" diff --git a/recipes/wip/tools/spidey/recipe.toml b/recipes/wip/tools/spidey/recipe.toml new file mode 100644 index 00000000..58f4aa50 --- /dev/null +++ b/recipes/wip/tools/spidey/recipe.toml @@ -0,0 +1,9 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/kdwk/Spidey" +[build] +template = "meson" +dependencies = [ + "gtk4", + "glib", +] diff --git a/recipes/wip/tools/sprinkles/recipe.toml b/recipes/wip/tools/sprinkles/recipe.toml new file mode 100644 index 00000000..6188ce8e --- /dev/null +++ b/recipes/wip/tools/sprinkles/recipe.toml @@ -0,0 +1,5 @@ +#TODO Compiled but not tested +[source] +git = "https://github.com/KhalilOuali/sprinkles" +[build] +template = "cargo" diff --git a/recipes/wip/tools/succeed2ban-tui/recipe.toml b/recipes/wip/tools/succeed2ban-tui/recipe.toml new file mode 100644 index 00000000..f48d3eb0 --- /dev/null +++ b/recipes/wip/tools/succeed2ban-tui/recipe.toml @@ -0,0 +1,8 @@ +#TODO libsystemd crate error (needs porting) +[source] +git = "https://github.com/J-Bockhofer/succeed2ban-tui" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/tools/sued/recipe.toml b/recipes/wip/tools/sued/recipe.toml new file mode 100644 index 00000000..d88d7d6a --- /dev/null +++ b/recipes/wip/tools/sued/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# customization: https://codeberg.org/AeriaVelocity/sued#configuration +[source] +git = "https://codeberg.org/AeriaVelocity/sued" +[build] +template = "cargo" +cargoflags = "--features=repl,startup,history" diff --git a/recipes/wip/tools/svg2pdf/recipe.toml b/recipes/wip/tools/svg2pdf/recipe.toml new file mode 100644 index 00000000..21a0d64d --- /dev/null +++ b/recipes/wip/tools/svg2pdf/recipe.toml @@ -0,0 +1,9 @@ +#TODO compiled but not tested +#TODO missing script to properly move the binary +[source] +git = "https://github.com/typst/svg2pdf" +[build] +template = "custom" +script = """ +cookbook_cargo_packages svg2pdf-cli +""" diff --git a/recipes/wip/tools/swc/recipe.toml b/recipes/wip/tools/swc/recipe.toml new file mode 100644 index 00000000..2fcddac6 --- /dev/null +++ b/recipes/wip/tools/swc/recipe.toml @@ -0,0 +1,9 @@ +#TODO compiled but not tested +#TODO missing script to properly move the binary +[source] +git = "https://github.com/swc-project/swc" +[build] +template = "custom" +script = """ +cookbook_cargo_packages swc_cli_impl +""" diff --git a/recipes/wip/tools/t-rec/recipe.toml b/recipes/wip/tools/t-rec/recipe.toml new file mode 100644 index 00000000..e9d64b61 --- /dev/null +++ b/recipes/wip/tools/t-rec/recipe.toml @@ -0,0 +1,12 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/sassman/t-rec-rs" +[build] +template = "custom" +dependencies = [ + "imagemagick", +] +script = """ +DYNAMIC_INIT +cookbook_cargo +""" diff --git a/recipes/wip/tools/tailspin/recipe.toml b/recipes/wip/tools/tailspin/recipe.toml new file mode 100644 index 00000000..288cd556 --- /dev/null +++ b/recipes/wip/tools/tailspin/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/bensadeh/tailspin" +[build] +template = "cargo" diff --git a/recipes/wip/tools/tarlz/recipe.toml b/recipes/wip/tools/tarlz/recipe.toml new file mode 100644 index 00000000..65c47789 --- /dev/null +++ b/recipes/wip/tools/tarlz/recipe.toml @@ -0,0 +1,11 @@ +#TODO missing header files +[source] +tar = "https://download.savannah.gnu.org/releases/lzip/tarlz/tarlz-0.25.tar.lz" +[build] +template = "custom" +dependencies = [ + "lzlib", +] +script = """ +cookbook_configure +""" diff --git a/recipes/wip/tools/task-maker-rs/recipe.toml b/recipes/wip/tools/task-maker-rs/recipe.toml new file mode 100644 index 00000000..4bd809eb --- /dev/null +++ b/recipes/wip/tools/task-maker-rs/recipe.toml @@ -0,0 +1,5 @@ +#TODO tabox crate error +[source] +git = "https://github.com/edomora97/task-maker-rust" +[build] +template = "cargo" diff --git a/recipes/wip/tools/taskserver/recipe.toml b/recipes/wip/tools/taskserver/recipe.toml new file mode 100644 index 00000000..b6f9ff41 --- /dev/null +++ b/recipes/wip/tools/taskserver/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://taskwarrior.org/download/#quick-setup +[source] +tar = "https://github.com/GothenburgBitFactory/taskserver/releases/download/v1.1.0/taskd-1.1.0.tar.gz" +[build] +template = "cmake" diff --git a/recipes/wip/tools/taskwarrior-tui/recipe.toml b/recipes/wip/tools/taskwarrior-tui/recipe.toml new file mode 100644 index 00000000..a786a283 --- /dev/null +++ b/recipes/wip/tools/taskwarrior-tui/recipe.toml @@ -0,0 +1,5 @@ +#TODO rustyline crate error (after cargo update) +[source] +git = "https://github.com/kdheepak/taskwarrior-tui" +[build] +template = "cargo" diff --git a/recipes/wip/tools/taskwarrior/recipe.toml b/recipes/wip/tools/taskwarrior/recipe.toml new file mode 100644 index 00000000..d2f20d95 --- /dev/null +++ b/recipes/wip/tools/taskwarrior/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://taskwarrior.org/download/#quick-setup +[source] +tar = "https://github.com/GothenburgBitFactory/taskwarrior/releases/download/v2.6.2/task-2.6.2.tar.gz" +[build] +template = "cmake" diff --git a/recipes/wip/tools/tauno-monitor/recipe.toml b/recipes/wip/tools/tauno-monitor/recipe.toml new file mode 100644 index 00000000..d04ef7ef --- /dev/null +++ b/recipes/wip/tools/tauno-monitor/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# lacking build instructions +[source] +git = "https://github.com/taunoe/tauno-monitor" +rev = "fecab98710bf6918141f34709f4ee1a055413056" +[build] +template = "meson" diff --git a/recipes/wip/tools/tealdeer/recipe.toml b/recipes/wip/tools/tealdeer/recipe.toml new file mode 100644 index 00000000..1b4ad595 --- /dev/null +++ b/recipes/wip/tools/tealdeer/recipe.toml @@ -0,0 +1,5 @@ +#TODO program source code error (after cargo update) +[source] +git = "https://github.com/dbrgn/tealdeer" +[build] +template = "cargo" diff --git a/recipes/wip/tools/teip/recipe.toml b/recipes/wip/tools/teip/recipe.toml new file mode 100644 index 00000000..f18744a5 --- /dev/null +++ b/recipes/wip/tools/teip/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/greymd/teip" +[build] +template = "cargo" diff --git a/recipes/wip/tools/thwack/recipe.toml b/recipes/wip/tools/thwack/recipe.toml new file mode 100644 index 00000000..5a77f72d --- /dev/null +++ b/recipes/wip/tools/thwack/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/yykamei/thwack" +[build] +template = "cargo" diff --git a/recipes/wip/tools/tin-summer/recipe.toml b/recipes/wip/tools/tin-summer/recipe.toml new file mode 100644 index 00000000..043b97a7 --- /dev/null +++ b/recipes/wip/tools/tin-summer/recipe.toml @@ -0,0 +1,5 @@ +#TODO promote +[source] +git = "https://github.com/vmchale/tin-summer" +[build] +template = "cargo" diff --git a/recipes/wip/tools/tinywasm/recipe.toml b/recipes/wip/tools/tinywasm/recipe.toml new file mode 100644 index 00000000..52119d08 --- /dev/null +++ b/recipes/wip/tools/tinywasm/recipe.toml @@ -0,0 +1,8 @@ +#TODO configuration error +[source] +git = "https://github.com/explodingcamera/tinywasm" +[build] +template = "custom" +script = """ +cookbook_cargo_packages tinywasm-cli +""" diff --git a/recipes/wip/tools/tl-rs/recipe.toml b/recipes/wip/tools/tl-rs/recipe.toml new file mode 100644 index 00000000..cc90fe4a --- /dev/null +++ b/recipes/wip/tools/tl-rs/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/NewDawn0/tl" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/tools/tock/recipe.toml b/recipes/wip/tools/tock/recipe.toml new file mode 100644 index 00000000..0d558e25 --- /dev/null +++ b/recipes/wip/tools/tock/recipe.toml @@ -0,0 +1,5 @@ +#TODO working but don't exit +[source] +git = "https://github.com/nwtnni/tock" +[build] +template = "cargo" diff --git a/recipes/wip/tools/toipe/recipe.toml b/recipes/wip/tools/toipe/recipe.toml new file mode 100644 index 00000000..5b093d2f --- /dev/null +++ b/recipes/wip/tools/toipe/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/Samyak2/toipe" +[build] +template = "cargo" diff --git a/recipes/wip/tools/torrust-tracker/recipe.toml b/recipes/wip/tools/torrust-tracker/recipe.toml new file mode 100644 index 00000000..5cb78e4d --- /dev/null +++ b/recipes/wip/tools/torrust-tracker/recipe.toml @@ -0,0 +1,5 @@ +#TODO openssl-sys crate error +[source] +git = "https://github.com/torrust/torrust-tracker" +[build] +template = "cargo" diff --git a/recipes/wip/tools/toybox/recipe.toml b/recipes/wip/tools/toybox/recipe.toml new file mode 100644 index 00000000..8d159db2 --- /dev/null +++ b/recipes/wip/tools/toybox/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for GNU Make, see https://www.landley.net/toybox/code.html#building +[source] +tar = "https://www.landley.net/toybox/downloads/toybox-0.8.9.tar.gz" +[build] +template = "custom" diff --git a/recipes/wip/tools/tp-note/recipe.toml b/recipes/wip/tools/tp-note/recipe.toml new file mode 100644 index 00000000..203abb5f --- /dev/null +++ b/recipes/wip/tools/tp-note/recipe.toml @@ -0,0 +1,18 @@ +#TODO not compiled or tested +[source] +git = "https://gitlab.com/getreu/tp-note" +[build] +template = "custom" +script = """ +package=tpnote +"${COOKBOOK_CARGO}" build \ + --manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \ + --package "${package}" \ + --release \ + --no-default-features \ + --features=lang-detection,renderer + mkdir -pv "${COOKBOOK_STAGE}/usr/bin" + cp -v \ + "target/${TARGET}/release/${package}" \ + "${COOKBOOK_STAGE}/usr/bin/${package}" +""" diff --git a/recipes/wip/tools/tq/recipe.toml b/recipes/wip/tools/tq/recipe.toml new file mode 100644 index 00000000..652d0c5a --- /dev/null +++ b/recipes/wip/tools/tq/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/cryptaliagy/tq-rs" +[build] +template = "cargo" diff --git a/recipes/wip/tools/treq/recipe.toml b/recipes/wip/tools/treq/recipe.toml new file mode 100644 index 00000000..28e94d8f --- /dev/null +++ b/recipes/wip/tools/treq/recipe.toml @@ -0,0 +1,8 @@ +#TODO openssl error (after cargo update) +[source] +git = "https://github.com/talis-fb/TReq" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/tools/tsuchita/recipe.toml b/recipes/wip/tools/tsuchita/recipe.toml new file mode 100644 index 00000000..ff2a0534 --- /dev/null +++ b/recipes/wip/tools/tsuchita/recipe.toml @@ -0,0 +1,5 @@ +#TODO update mio to 0.8 (after cargo update) +[source] +git = "https://github.com/kamiyaa/tsuchita" +[build] +template = "cargo" diff --git a/recipes/wip/tools/tts-tui/recipe.toml b/recipes/wip/tools/tts-tui/recipe.toml new file mode 100644 index 00000000..3cff1998 --- /dev/null +++ b/recipes/wip/tools/tts-tui/recipe.toml @@ -0,0 +1,8 @@ +#TODO make speech-dispatcher work +[source] +git = "https://github.com/lesleyrs/tts-tui" +[build] +template = "cargo" +dependencies = [ + "speech-dispatcher", +] diff --git a/recipes/wip/tools/ttyper/recipe.toml b/recipes/wip/tools/ttyper/recipe.toml new file mode 100644 index 00000000..26cb150a --- /dev/null +++ b/recipes/wip/tools/ttyper/recipe.toml @@ -0,0 +1,5 @@ +#TODO replace the prompt with nothing on execution +[source] +git = "https://github.com/max-niederman/ttyper" +[build] +template = "cargo" diff --git a/recipes/wip/tools/tui-journal/recipe.toml b/recipes/wip/tools/tui-journal/recipe.toml new file mode 100644 index 00000000..a684ceca --- /dev/null +++ b/recipes/wip/tools/tui-journal/recipe.toml @@ -0,0 +1,13 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/AmmarAbouZor/tui-journal" +[build] +template = "custom" +dependencies = [ + "openssl3", + "sqlite3", +] +script = """ +DYNAMIC_INIT +cookbook_cargo +""" \ No newline at end of file diff --git a/recipes/wip/tools/tvix/recipe.toml b/recipes/wip/tools/tvix/recipe.toml new file mode 100644 index 00000000..12bf6c21 --- /dev/null +++ b/recipes/wip/tools/tvix/recipe.toml @@ -0,0 +1,8 @@ +#TODO tvix-castore crate error (after cargo update) +[source] +git = "https://github.com/tvlfyi/tvix" +[build] +template = "custom" +script = """ +cookbook_cargo_packages tvix-cli +""" diff --git a/recipes/wip/tools/typst/recipe.toml b/recipes/wip/tools/typst/recipe.toml new file mode 100644 index 00000000..a276fd8a --- /dev/null +++ b/recipes/wip/tools/typst/recipe.toml @@ -0,0 +1,9 @@ +#TODO compiled but not tested +#TODO missing script to properly move the binary +[source] +git = "https://github.com/typst/typst" +[build] +template = "custom" +script = """ +cookbook_cargo_packages typst +""" diff --git a/recipes/wip/tools/upx/recipe.toml b/recipes/wip/tools/upx/recipe.toml new file mode 100644 index 00000000..7d10a4a9 --- /dev/null +++ b/recipes/wip/tools/upx/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for "make", see https://github.com/upx/upx/blob/devel/README.SRC +[source] +tar = "https://github.com/upx/upx/releases/download/v4.2.1/upx-4.2.1-src.tar.xz" +[build] +template = "custom" diff --git a/recipes/wip/tools/util-linux/recipe.toml b/recipes/wip/tools/util-linux/recipe.toml new file mode 100644 index 00000000..0355aa69 --- /dev/null +++ b/recipes/wip/tools/util-linux/recipe.toml @@ -0,0 +1,5 @@ +#TODO compilation error +[source] +tar = "https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.39/util-linux-2.39.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/tools/vector/recipe.toml b/recipes/wip/tools/vector/recipe.toml new file mode 100644 index 00000000..dae19e43 --- /dev/null +++ b/recipes/wip/tools/vector/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing script for "make", see https://vector.dev/docs/setup/installation/manual/from-source/ +[source] +git = "https://github.com/vectordotdev/vector" +rev = "86f1c22d7f00d7d80210a2704ea9f5061f74ee55" +[build] +template = "custom" diff --git a/recipes/wip/tools/ventoy/recipe.toml b/recipes/wip/tools/ventoy/recipe.toml new file mode 100644 index 00000000..8d1e6bae --- /dev/null +++ b/recipes/wip/tools/ventoy/recipe.toml @@ -0,0 +1,7 @@ +#TODO missing script for cross-compilation, see https://github.com/ventoy/Ventoy/blob/master/DOC/BuildVentoyFromSource.txt +#TODO missing dependencies, try to figure out what it needs at build-time and runtime +[source] +git = "https://github.com/ventoy/Ventoy" +rev = "3f65f0ef03e4aebcd14f233ca808a4f894657802" +[build] +template = "custom" diff --git a/recipes/wip/tools/vincenzo/recipe.toml b/recipes/wip/tools/vincenzo/recipe.toml new file mode 100644 index 00000000..db93c07a --- /dev/null +++ b/recipes/wip/tools/vincenzo/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/gabrieldemian/vincenzo" +[build] +template = "custom" +script = """ +cookbook_cargo_packages vcz +""" diff --git a/recipes/wip/tools/watchexec/recipe.toml b/recipes/wip/tools/watchexec/recipe.toml new file mode 100644 index 00000000..0dedb846 --- /dev/null +++ b/recipes/wip/tools/watchexec/recipe.toml @@ -0,0 +1,8 @@ +#TODO xdg-home and nix crates error +[source] +git = "https://github.com/watchexec/watchexec" +[build] +template = "custom" +script = """ +cookbook_cargo_packages watchexec-cli +""" diff --git a/recipes/wip/tools/watchmen/recipe.toml b/recipes/wip/tools/watchmen/recipe.toml new file mode 100644 index 00000000..a50d22ba --- /dev/null +++ b/recipes/wip/tools/watchmen/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/ahriroot/watchmen" +[build] +template = "custom" +script = """ +cookbook_cargo_packages watchmen watchmend +""" diff --git a/recipes/wip/tools/wayback-rs/recipe.toml b/recipes/wip/tools/wayback-rs/recipe.toml new file mode 100644 index 00000000..8265b083 --- /dev/null +++ b/recipes/wip/tools/wayback-rs/recipe.toml @@ -0,0 +1,5 @@ +#TODO openssl-sys crate error +[source] +git = "https://github.com/Neolex-Security/WaybackRust" +[build] +template = "cargo" diff --git a/recipes/wip/tools/wayshot/recipe.toml b/recipes/wip/tools/wayshot/recipe.toml new file mode 100644 index 00000000..55d9223c --- /dev/null +++ b/recipes/wip/tools/wayshot/recipe.toml @@ -0,0 +1,6 @@ +#TODO missing script for "make", see https://git.sr.ht/~shinyzenith/wayshot#compiling +[source] +git = "https://git.sr.ht/~shinyzenith/wayshot" +rev = "d3cdd329fe8263d5eca2ff62635fcb6b6ae57645" +[build] +template = "custom" diff --git a/recipes/wip/tools/wethr/recipe.toml b/recipes/wip/tools/wethr/recipe.toml new file mode 100644 index 00000000..8f8561cb --- /dev/null +++ b/recipes/wip/tools/wethr/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/risoflora/wethr" +[build] +template = "cargo" diff --git a/recipes/wip/tools/weylus/recipe.toml b/recipes/wip/tools/weylus/recipe.toml new file mode 100644 index 00000000..e3cdb5f2 --- /dev/null +++ b/recipes/wip/tools/weylus/recipe.toml @@ -0,0 +1,28 @@ +#TODO not compiled or tested +# build instructions: https://github.com/H-M-H/Weylus#building +[source] +git = "https://github.com/H-M-H/Weylus" +[build] +template = "custom" +dependencies = [ + "pango", + "gstreamer", + "dbus", + "libx11", + "libxext", + "libxft", + "libxinerama", + "libxcursor", + "libxfixes", + "libxtst", + "libxrandr", + "libxcomposite", + "libxv", + "libxi", + "libxrender", + "libdrm", +] +script = """ +DYNAMIC_INIT +cookbook_cargo_packages weylus +""" diff --git a/recipes/wip/tools/wick/recipe.toml b/recipes/wip/tools/wick/recipe.toml new file mode 100644 index 00000000..30abca8d --- /dev/null +++ b/recipes/wip/tools/wick/recipe.toml @@ -0,0 +1,6 @@ +#TODO Missing script for "just", see https://github.com/candlecorp/wick#install-from-source +[source] +git = "https://github.com/candlecorp/wick" +rev = "7d498210c0cb729ee9b96d6fb226e0db3a514cba" +[build] +template = "custom" diff --git a/recipes/wip/tools/wpaperd/recipe.toml b/recipes/wip/tools/wpaperd/recipe.toml new file mode 100644 index 00000000..3e231f3f --- /dev/null +++ b/recipes/wip/tools/wpaperd/recipe.toml @@ -0,0 +1,8 @@ +#TODO make libxkbcommon work +[source] +git = "https://github.com/danyspin97/wpaperd" +[build] +template = "cargo" +dependencies = [ + "libxkbcommon", +] diff --git a/recipes/wip/tools/xcp/recipe.toml b/recipes/wip/tools/xcp/recipe.toml new file mode 100644 index 00000000..13f24633 --- /dev/null +++ b/recipes/wip/tools/xcp/recipe.toml @@ -0,0 +1,5 @@ +#TODO promote +[source] +git = "https://github.com/tarka/xcp" +[build] +template = "cargo" diff --git a/recipes/wip/tools/xdg-utils/recipe.toml b/recipes/wip/tools/xdg-utils/recipe.toml new file mode 100644 index 00000000..8841d3aa --- /dev/null +++ b/recipes/wip/tools/xdg-utils/recipe.toml @@ -0,0 +1,5 @@ +#TODO compilation error +[source] +tar = "https://portland.freedesktop.org/download/xdg-utils-1.1.3.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/tools/xdotool/recipe.toml b/recipes/wip/tools/xdotool/recipe.toml new file mode 100644 index 00000000..3763ad06 --- /dev/null +++ b/recipes/wip/tools/xdotool/recipe.toml @@ -0,0 +1,13 @@ +#TODO missing script for "make", see https://github.com/jordansissel/xdotool/#building--compiling +[source] +git = "https://github.com/jordansissel/xdotool" +rev = "eb489de1b4fb3fd0cd935d68ae16ecd4c653ac7d" +[build] +template = "custom" +dependencies = [ + "libx11", + "libxi", + "libxinerama", + "libxkbcommon", + "libxtst", +] diff --git a/recipes/wip/tools/xdvdfs/recipe.toml b/recipes/wip/tools/xdvdfs/recipe.toml new file mode 100644 index 00000000..0e6c3787 --- /dev/null +++ b/recipes/wip/tools/xdvdfs/recipe.toml @@ -0,0 +1,8 @@ +#TODO require a command to move the executable to a proper folder +[source] +git = "https://github.com/antangelo/xdvdfs" +[build] +template = "custom" +script = """ +cookbook_cargo_packages xdvdfs-cli +""" diff --git a/recipes/wip/tools/xh/recipe.toml b/recipes/wip/tools/xh/recipe.toml new file mode 100644 index 00000000..9d65aecc --- /dev/null +++ b/recipes/wip/tools/xh/recipe.toml @@ -0,0 +1,5 @@ +#TODO network-interface crate error (after cargo update) +[source] +git = "https://github.com/ducaale/xh" +[build] +template = "cargo" diff --git a/recipes/wip/tools/xiu/recipe.toml b/recipes/wip/tools/xiu/recipe.toml new file mode 100644 index 00000000..608310b8 --- /dev/null +++ b/recipes/wip/tools/xiu/recipe.toml @@ -0,0 +1,13 @@ +#TODO webrtc-util crate error (after cargo update) +[source] +git = "https://github.com/harlanc/xiu" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +export OPENSSL_DIR="${COOKBOOK_SYSROOT}" +export OPENSSL_STATIC="true" +cookbook_cargo_packages xiu +""" diff --git a/recipes/wip/tools/xorriso/recipe.toml b/recipes/wip/tools/xorriso/recipe.toml new file mode 100644 index 00000000..119d299a --- /dev/null +++ b/recipes/wip/tools/xorriso/recipe.toml @@ -0,0 +1,5 @@ +#TODO can't recognize the redox target +[source] +tar = "https://www.gnu.org/software/xorriso/xorriso-1.5.6.pl02.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/tools/xsv/recipe.toml b/recipes/wip/tools/xsv/recipe.toml new file mode 100644 index 00000000..9dec0d29 --- /dev/null +++ b/recipes/wip/tools/xsv/recipe.toml @@ -0,0 +1,5 @@ +#TODO update the redox_syscall version on the dependency tree +[source] +git = "https://github.com/BurntSushi/xsv" +[build] +template = "cargo" diff --git a/recipes/wip/tools/zet/recipe.toml b/recipes/wip/tools/zet/recipe.toml new file mode 100644 index 00000000..02ec04cd --- /dev/null +++ b/recipes/wip/tools/zet/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/yarrow/zet" +[build] +template = "cargo" diff --git a/recipes/wip/tui/finch/recipe.toml b/recipes/wip/tui/finch/recipe.toml new file mode 100644 index 00000000..c7a57854 --- /dev/null +++ b/recipes/wip/tui/finch/recipe.toml @@ -0,0 +1,14 @@ +#TODO missing dependencies +[source] +tar = "https://sourceforge.net/projects/pidgin/files/Pidgin/2.14.12/pidgin-2.14.12.tar.bz2" +[build] +template = "custom" +dependencies = [ + "ncurses", +] +script = """ +COOKBOOK_CONFIGURE_FLAGS+=( + --disable-gtkui +) +cookbook_configure +""" diff --git a/recipes/wip/tui/gitu/recipe.toml b/recipes/wip/tui/gitu/recipe.toml new file mode 100644 index 00000000..bfff8af6 --- /dev/null +++ b/recipes/wip/tui/gitu/recipe.toml @@ -0,0 +1,5 @@ +#TODO update the redox_syscall crate version +[source] +git = "https://github.com/altsem/gitu" +[build] +template = "cargo" diff --git a/recipes/wip/tui/gitui/recipe.toml b/recipes/wip/tui/gitui/recipe.toml new file mode 100644 index 00000000..248b6792 --- /dev/null +++ b/recipes/wip/tui/gitui/recipe.toml @@ -0,0 +1,14 @@ +#TODO: Page fault +[source] +git = "https://github.com/extrawurst/gitui" + +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +DYNAMIC_INIT +export OPENSSL_NO_VENDOR=1 +cookbook_cargo +""" diff --git a/recipes/wip/tui/gyr/recipe.toml b/recipes/wip/tui/gyr/recipe.toml new file mode 100644 index 00000000..e0670abd --- /dev/null +++ b/recipes/wip/tui/gyr/recipe.toml @@ -0,0 +1,5 @@ +#TODO promote +[source] +git = "https://git.sr.ht/~f9/gyr" +[build] +template = "cargo" diff --git a/recipes/wip/tui/heh/recipe.toml b/recipes/wip/tui/heh/recipe.toml new file mode 100644 index 00000000..c7c3d655 --- /dev/null +++ b/recipes/wip/tui/heh/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/ndd7xv/heh" +[build] +template = "cargo" diff --git a/recipes/wip/tui/heretek/recipe.toml b/recipes/wip/tui/heretek/recipe.toml new file mode 100644 index 00000000..4264a4be --- /dev/null +++ b/recipes/wip/tui/heretek/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/wcampbell0x2a/heretek" +[build] +template = "cargo" diff --git a/recipes/wip/tui/lazyjj/recipe.toml b/recipes/wip/tui/lazyjj/recipe.toml new file mode 100644 index 00000000..d574d40c --- /dev/null +++ b/recipes/wip/tui/lazyjj/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/Cretezy/lazyjj" +[build] +template = "cargo" diff --git a/recipes/wip/tui/manga-tui/recipe.toml b/recipes/wip/tui/manga-tui/recipe.toml new file mode 100644 index 00000000..7eeb88be --- /dev/null +++ b/recipes/wip/tui/manga-tui/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/josueBarretogit/manga-tui" +[build] +template = "cargo" +dependencies = [ + "dbus", +] diff --git a/recipes/wip/tui/nnn/recipe.toml b/recipes/wip/tui/nnn/recipe.toml new file mode 100644 index 00000000..98f60a31 --- /dev/null +++ b/recipes/wip/tui/nnn/recipe.toml @@ -0,0 +1,10 @@ +#TODO write a script for cross-compilation +# how to static link the libraries: https://github.com/jarun/nnn/wiki/Developer-guides#static-compilation +[source] +tar = "https://github.com/jarun/nnn/releases/download/v5.0/nnn-v5.0.tar.gz" +[build] +template = "custom" +dependencies = [ + "ncursesw", + "readline", +] diff --git a/recipes/wip/tui/nyaa-rs/recipe.toml b/recipes/wip/tui/nyaa-rs/recipe.toml new file mode 100644 index 00000000..d03bc813 --- /dev/null +++ b/recipes/wip/tui/nyaa-rs/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/Beastwick18/nyaa" +[build] +template = "cargo" diff --git a/recipes/wip/tui/oatmeal/recipe.toml b/recipes/wip/tui/oatmeal/recipe.toml new file mode 100644 index 00000000..ed8612d1 --- /dev/null +++ b/recipes/wip/tui/oatmeal/recipe.toml @@ -0,0 +1,5 @@ +#TODO openssl-sys crate error +[source] +git = "https://github.com/dustinblackman/oatmeal" +[build] +template = "cargo" diff --git a/recipes/wip/tui/otree/recipe.toml b/recipes/wip/tui/otree/recipe.toml new file mode 100644 index 00000000..189f3674 --- /dev/null +++ b/recipes/wip/tui/otree/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/fioncat/otree" +[build] +template = "cargo" diff --git a/recipes/wip/tui/projectable/recipe.toml b/recipes/wip/tui/projectable/recipe.toml new file mode 100644 index 00000000..c46bfdee --- /dev/null +++ b/recipes/wip/tui/projectable/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/dzfrias/projectable" +[build] +template = "cargo" diff --git a/recipes/wip/tui/radicle-tui/recipe.toml b/recipes/wip/tui/radicle-tui/recipe.toml new file mode 100644 index 00000000..b2b04d66 --- /dev/null +++ b/recipes/wip/tui/radicle-tui/recipe.toml @@ -0,0 +1,5 @@ +#TODO update the redox_syscall crate version +[source] +git = "https://seed.radicle.xyz/z39mP9rQAaGmERfUMPULfPUi473tY.git" +[build] +template = "cargo" diff --git a/recipes/wip/tui/regname/recipe.toml b/recipes/wip/tui/regname/recipe.toml new file mode 100644 index 00000000..cbe613fc --- /dev/null +++ b/recipes/wip/tui/regname/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/linkdd/regname" +[build] +template = "cargo" diff --git a/recipes/wip/tui/russ/recipe.toml b/recipes/wip/tui/russ/recipe.toml new file mode 100644 index 00000000..dcc7368b --- /dev/null +++ b/recipes/wip/tui/russ/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/ckampfe/russ" +[build] +template = "cargo" diff --git a/recipes/wip/tui/rust-kanban/recipe.toml b/recipes/wip/tui/rust-kanban/recipe.toml new file mode 100644 index 00000000..017dbaae --- /dev/null +++ b/recipes/wip/tui/rust-kanban/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/yashs662/rust_kanban" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/tui/rust-traverse/recipe.toml b/recipes/wip/tui/rust-traverse/recipe.toml new file mode 100644 index 00000000..9c405e2f --- /dev/null +++ b/recipes/wip/tui/rust-traverse/recipe.toml @@ -0,0 +1,5 @@ +#TODO trash crate error +[source] +git = "https://github.com/dmcg310/Rust-Traverse" +[build] +template = "cargo" diff --git a/recipes/wip/tui/syndicationd/recipe.toml b/recipes/wip/tui/syndicationd/recipe.toml new file mode 100644 index 00000000..bb0a0ea2 --- /dev/null +++ b/recipes/wip/tui/syndicationd/recipe.toml @@ -0,0 +1,9 @@ +#TODO compiled but not tested +#TODO add a command to properly move the executable +[source] +git = "https://github.com/ymgyt/syndicationd" +[build] +template = "custom" +script = """ +cookbook_cargo_packages synd-term +""" diff --git a/recipes/wip/tui/tenere/recipe.toml b/recipes/wip/tui/tenere/recipe.toml new file mode 100644 index 00000000..5bb99003 --- /dev/null +++ b/recipes/wip/tui/tenere/recipe.toml @@ -0,0 +1,5 @@ +#TODO sys-info crate error +[source] +git = "https://github.com/pythops/tenere" +[build] +template = "cargo" diff --git a/recipes/wip/tui/terminusdm/recipe.toml b/recipes/wip/tui/terminusdm/recipe.toml new file mode 100644 index 00000000..a37a8aec --- /dev/null +++ b/recipes/wip/tui/terminusdm/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/sumoduduk/terminusdm" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/tui/termlaunch/recipe.toml b/recipes/wip/tui/termlaunch/recipe.toml new file mode 100644 index 00000000..40844ea2 --- /dev/null +++ b/recipes/wip/tui/termlaunch/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/amaterasu-uwu-xd/termlaunch" +[build] +template = "cargo" diff --git a/recipes/wip/tui/termscp/recipe.toml b/recipes/wip/tui/termscp/recipe.toml new file mode 100644 index 00000000..2e4cb6a4 --- /dev/null +++ b/recipes/wip/tui/termscp/recipe.toml @@ -0,0 +1,11 @@ +#TODO make dbus work +[source] +git = "https://github.com/veeso/termscp" +[build] +template = "custom" +dependencies = [ + "dbus", +] +script = """ +cookbook_cargo --no-default-features +""" diff --git a/recipes/wip/tui/thesaurust/recipe.toml b/recipes/wip/tui/thesaurust/recipe.toml new file mode 100644 index 00000000..9bc83665 --- /dev/null +++ b/recipes/wip/tui/thesaurust/recipe.toml @@ -0,0 +1,8 @@ +#TODO openssl error +[source] +git = "https://github.com/QuietPigeon2001/thesaurust" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/tui/tooters/recipe.toml b/recipes/wip/tui/tooters/recipe.toml new file mode 100644 index 00000000..382f4bde --- /dev/null +++ b/recipes/wip/tui/tooters/recipe.toml @@ -0,0 +1,8 @@ +#TODO port the webbrowser crate +[source] +git = "https://github.com/joshka/tooters" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/tui/tui-slides/recipe.toml b/recipes/wip/tui/tui-slides/recipe.toml new file mode 100644 index 00000000..beb21820 --- /dev/null +++ b/recipes/wip/tui/tui-slides/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/Chleba/tui-slides" +[build] +template = "cargo" diff --git a/recipes/wip/tui/twitch-tui/recipe.toml b/recipes/wip/tui/twitch-tui/recipe.toml new file mode 100644 index 00000000..28a16657 --- /dev/null +++ b/recipes/wip/tui/twitch-tui/recipe.toml @@ -0,0 +1,8 @@ +#TODO rustyline crate error +[source] +git = "https://github.com/Xithrius/twitch-tui" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/tui/xplr/recipe.toml b/recipes/wip/tui/xplr/recipe.toml new file mode 100644 index 00000000..85d594b9 --- /dev/null +++ b/recipes/wip/tui/xplr/recipe.toml @@ -0,0 +1,5 @@ +#TODO tuikit crate error +[source] +git = "https://github.com/sayanarijit/xplr" +[build] +template = "cargo" diff --git a/recipes/wip/tui/zenith/recipe.toml b/recipes/wip/tui/zenith/recipe.toml new file mode 100644 index 00000000..3e425ebe --- /dev/null +++ b/recipes/wip/tui/zenith/recipe.toml @@ -0,0 +1,5 @@ +#TODO async-io and rustix crate errors (after cargo update) +[source] +git = "https://github.com/bvaisvil/zenith" +[build] +template = "cargo" diff --git a/recipes/wip/vice/01_redox.patch b/recipes/wip/vice/01_redox.patch new file mode 100644 index 00000000..936cbdea --- /dev/null +++ b/recipes/wip/vice/01_redox.patch @@ -0,0 +1,107 @@ +diff -rupNw source-original/configure source/configure +--- source-original/configure 2018-12-19 22:25:02.000000000 +0100 ++++ source/configure 2019-02-12 17:09:41.954190921 +0100 +@@ -10320,54 +10320,6 @@ done + test -n "$DOS2UNIX" || DOS2UNIX="dos2unix" + + +-for ac_prog in xa xa65 +-do +- # Extract the first word of "$ac_prog", so it can be a program name with args. +-set dummy $ac_prog; ac_word=$2 +-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +-$as_echo_n "checking for $ac_word... " >&6; } +-if ${ac_cv_prog_XA+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- if test -n "$XA"; then +- ac_cv_prog_XA="$XA" # Let the user override the test. +-else +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then +- ac_cv_prog_XA="$ac_prog" +- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +- done +-IFS=$as_save_IFS +- +-fi +-fi +-XA=$ac_cv_prog_XA +-if test -n "$XA"; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XA" >&5 +-$as_echo "$XA" >&6; } +-else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } +-fi +- +- +- test -n "$XA" && break +-done +-test -n "$XA" || XA="no" +- +- +-if test x"$XA" = "xno"; then +- as_fn_error $? "xa is missing" "$LINENO" 5 +-fi +- + if test x"$SVN" != "x"; then + svnrevision=`$SVN 2>dummy.tmp info $srcdir | grep Revision | cut -d " " -f 2` + rm dummy.tmp +@@ -15132,6 +15084,9 @@ fi + done + + ++UNIX_NETWORK_FUNCS_PRESENT=no ++ ++ + if test x"$UNIX_NETWORK_FUNCS_PRESENT" = "xyes"; then + + $as_echo "#define HAVE_NETWORK /**/" >>confdefs.h +diff -rupNw source-original/src/arch/sdl/rs232dev.c source/src/arch/sdl/rs232dev.c +--- source-original/src/arch/sdl/rs232dev.c 2018-08-13 20:18:45.000000000 +0200 ++++ source/src/arch/sdl/rs232dev.c 2019-02-11 10:16:12.989841923 +0100 +@@ -27,7 +27,7 @@ + #include "vice.h" + + #ifdef UNIX_COMPILE +-#include "rs232dev-unix.c" ++//#include "rs232dev-unix.c" + #endif + + #ifdef WIN32_COMPILE +diff -rupNw source-original/src/opencbm.h source/src/opencbm.h +--- source-original/src/opencbm.h 2018-08-22 21:01:32.000000000 +0200 ++++ source/src/opencbm.h 2019-02-11 09:28:21.775162862 +0100 +@@ -117,6 +117,10 @@ typedef unsigned char __u_char; + typedef unsigned char __u_char; + #endif + ++#ifdef __redox__ ++typedef unsigned char __u_char; ++#endif ++ + #endif + + /* specifiers for the IEC bus lines */ +diff -rupNw source-original/src/sound.c source/src/sound.c +--- source-original/src/sound.c 2018-12-17 19:44:43.000000000 +0100 ++++ source/src/sound.c 2019-02-12 08:57:18.934381713 +0100 +@@ -1001,6 +1001,9 @@ int sound_open(void) + break; + } + ++ speed = 44100; ++ channels = 2; ++ + /* find pdev */ + for (i = 0; (pdev = sound_devices[i]); i++) { + if (!playname || (pdev->name && !strcasecmp(playname, pdev->name))) { diff --git a/recipes/wip/vice/recipe.sh b/recipes/wip/vice/recipe.sh new file mode 100644 index 00000000..1f5a713e --- /dev/null +++ b/recipes/wip/vice/recipe.sh @@ -0,0 +1,42 @@ +VERSION=3.3 +TAR=https://sourceforge.net/projects/vice-emu/files/releases/vice-$VERSION.tar.gz/download +TAR_SHA256=1a55b38cc988165b077808c07c52a779d181270b28c14b5c9abf4e569137431d +BUILD_DEPENDS=(sdl1 liborbital) + +function recipe_version { + echo "$VERSION" + skip=1 +} + +function recipe_build { + sysroot="$(realpath ../sysroot)" + wget -O config.sub "https://gitlab.redox-os.org/redox-os/gnu-config/-/raw/master/config.sub?inline=false" + + export sdl_config="$sysroot/bin/sdl-config" + export CFLAGS="-I$sysroot/include -I$sysroot/include/SDL" + export CXXFLAGS="$CFLAGS" + export LDFLAGS="-L$sysroot/lib -static" + + ./configure \ + --build=${BUILD} \ + --host=${HOST} \ + --prefix='' \ + --enable-sdlui \ + --disable-sdlui2 \ + --disable-rs232 \ + --disable-realdevice \ + --disable-midi + "$REDOX_MAKE" -j"$($NPROC)" + skip=1 +} + +function recipe_clean { + "$REDOX_MAKE" clean + skip=1 +} + +function recipe_stage { + dest="$(realpath $1)" + "$REDOX_MAKE" DESTDIR="$dest" install + skip=1 +} diff --git a/recipes/wip/video/converters/handbrake-cli/recipe.toml b/recipes/wip/video/converters/handbrake-cli/recipe.toml new file mode 100644 index 00000000..9a9e7e77 --- /dev/null +++ b/recipes/wip/video/converters/handbrake-cli/recipe.toml @@ -0,0 +1,35 @@ +#TODO not compiled or tested +# build instructions - https://handbrake.fr/docs/en/1.7.0/developer/build-linux.html +# dependencies - https://handbrake.fr/docs/en/1.7.0/developer/install-dependencies-ubuntu.html +[source] +tar = "https://handbrake.fr/rotation.php?file=HandBrake-1.8.1-source.tar.bz2" +[build] +template = "custom" +dependencies = [ + "libflac", + "fontconfig", + "freetype2", + "fribidi", + "harfbuzz", + "jansson", + "lame", + "libass", + "libiconv", + "libjpeg", + "libogg", + "libsamplerate", + "libtheora", + "libvorbis", + "libvpx", + "x264", + "libxml2", + "xz", + "libopus", + "speex", +] +script = """ +COOKBOOK_CONFIGURE_FLAGS+=( + --disable-gtk +) +cookbook_configure +""" diff --git a/recipes/wip/video/converters/trv/recipe.toml b/recipes/wip/video/converters/trv/recipe.toml new file mode 100644 index 00000000..7170e00f --- /dev/null +++ b/recipes/wip/video/converters/trv/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/transformrs/trv" +[build] +template = "cargo" +[package] +dependencies = [ + "ffmpeg6", + "typst", +] diff --git a/recipes/wip/video/editors/anime-effects/recipe.toml b/recipes/wip/video/editors/anime-effects/recipe.toml new file mode 100644 index 00000000..afe1ac4f --- /dev/null +++ b/recipes/wip/video/editors/anime-effects/recipe.toml @@ -0,0 +1,12 @@ +#TODO missing script for QMake, see https://github.com/AnimeEffectsDevs/AnimeEffects#clone--building +[source] +git = "https://github.com/AnimeEffectsDevs/AnimeEffects" +rev = "6080497684809aa5c73bf015fec36e88443f6d11" +[build] +template = "custom" +dependencies = [ + "ffmpeg6", + "mesa", + "qt5-base", + "glib", +] diff --git a/recipes/wip/video/editors/blind/recipe.toml b/recipes/wip/video/editors/blind/recipe.toml new file mode 100644 index 00000000..6339138d --- /dev/null +++ b/recipes/wip/video/editors/blind/recipe.toml @@ -0,0 +1,11 @@ +#TODO missing script for gnu make +#TODO verify if ffmpeg and imagemagick are needed at compile-time or run-time +[source] +tar = "https://dl.suckless.org/tools/blind-1.1.tar.gz" +[build] +template = "custom" +[package] +dependencies = [ + "ffmpeg6", + "imagemagick", +] diff --git a/recipes/wip/video/editors/kdenlive/recipe.toml b/recipes/wip/video/editors/kdenlive/recipe.toml new file mode 100644 index 00000000..95447b59 --- /dev/null +++ b/recipes/wip/video/editors/kdenlive/recipe.toml @@ -0,0 +1,42 @@ +#TODO not compiled or tested +#TODO discover minimum dependencies from cmake log +# build instructions: https://invent.kde.org/multimedia/kdenlive/-/blob/master/dev-docs/build.md#build-and-install-the-projects +[source] +git = "https://invent.kde.org/multimedia/kdenlive" +branch = "release/25.08" +shallow_clone = true +[build] +template = "cmake" +# dependencies = [ +# "mlt", +# "ffmpeg6", +# "qt5-declarative", +# "qt5-tools", +# "qt5-multimedia", +# "qt5-svg", +# "qt5-quickcontrols", +# "qt5-quickcontrols2", +# "qt5-networkauth", +# "kf5-archive", +# "kf5-bookmarks", +# "kf5-codecs", +# "kf5-config", +# "kf5-configwidgets", +# "kf5-coreaddons", +# "kf5-crash", +# "kf5-dbusaddons", +# "kf5-declarative", +# "kf5-filemetadata", +# "kf5-guiaddons", +# "kf5-iconthemes", +# "kf5-init", +# "kf5-io", +# "kf5-newstuff", +# "kf5-notifications", +# "kf5-notifyconfig", +# "kf5-purpose", +# "kf5-textwidgets", +# "kf5-widgetaddons", +# "kf5-xmlgui", +# "breeze-icons", +# ] diff --git a/recipes/wip/video/editors/openshot/recipe.toml b/recipes/wip/video/editors/openshot/recipe.toml new file mode 100644 index 00000000..0f4d2a05 --- /dev/null +++ b/recipes/wip/video/editors/openshot/recipe.toml @@ -0,0 +1,19 @@ +#TODO not compiled or tested +# launch instructions: https://github.com/OpenShot/openshot-qt#launch +[source] +git = "https://github.com/OpenShot/openshot-qt" +rev = "v3.3.0" +shallow_clone = true +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}/usr/bin/openshot-qt" +cp -rv "${COOKBOOK_SOURCE}"/src/* "${COOKBOOK_STAGE}/usr/bin/openshot-qt" +echo "#!/usr/bin/env sh \n python3 /usr/bin/openshot-qt/src/launch.py" > "${COOKBOOK_STAGE}"/usr/bin/openshot +chmod a+x "${COOKBOOK_STAGE}"/usr/bin/openshot +""" +[package] +dependencies = [ + "libopenshot", + "libopenshot-audio", +] diff --git a/recipes/wip/video/editors/pitivi/recipe.toml b/recipes/wip/video/editors/pitivi/recipe.toml new file mode 100644 index 00000000..e4acd1ee --- /dev/null +++ b/recipes/wip/video/editors/pitivi/recipe.toml @@ -0,0 +1,18 @@ +#TODO not compiled or tested +#TODO determine minimum dependencies from meson log +# lacking build instructions +[source] +#tar = "https://download.gnome.org/sources/pitivi/2023/pitivi-2023.03.tar.xz" +git = "https://gitlab.gnome.org/GNOME/pitivi" +rev = "b9864c4aca6d88dae38fde5609047d0ebd7b0506" +shallow_clone = true +[build] +template = "meson" +mesonflags = [ + "-Ddisable-help=true", +] +#dependencies = [ +# "gtk3", +# "gstreamer", +# "libpeas", +#] diff --git a/recipes/wip/video/other/alass/recipe.toml b/recipes/wip/video/other/alass/recipe.toml new file mode 100644 index 00000000..1f503627 --- /dev/null +++ b/recipes/wip/video/other/alass/recipe.toml @@ -0,0 +1,8 @@ +#TODO linker error (after cargo update) +[source] +git = "https://github.com/kaegi/alass" +[build] +template = "custom" +script = """ +cookbook_cargo_packages alass-cli +""" diff --git a/recipes/wip/video/other/av1an/recipe.toml b/recipes/wip/video/other/av1an/recipe.toml new file mode 100644 index 00000000..2fca23e5 --- /dev/null +++ b/recipes/wip/video/other/av1an/recipe.toml @@ -0,0 +1,11 @@ +#TODO Not compiled or tested +[source] +git = "https://github.com/master-of-zen/Av1an" +[build] +template = "custom" +dependencies = [ + "ffmpeg6", +] +script = """ +cookbook_cargo_packages av1an +""" diff --git a/recipes/wip/video/other/avp/recipe.toml b/recipes/wip/video/other/avp/recipe.toml new file mode 100644 index 00000000..aa85c15c --- /dev/null +++ b/recipes/wip/video/other/avp/recipe.toml @@ -0,0 +1,8 @@ +#TODO Not compiled or tested +[source] +git = "https://github.com/rust-av/avp" +[build] +template = "cargo" +dependencies = [ + "sdl2", +] diff --git a/recipes/wip/video/other/detect-scene-change/recipe.toml b/recipes/wip/video/other/detect-scene-change/recipe.toml new file mode 100644 index 00000000..f23ff2f2 --- /dev/null +++ b/recipes/wip/video/other/detect-scene-change/recipe.toml @@ -0,0 +1,8 @@ +#TODO Not compiled or tested +[source] +git = "https://github.com/soruly/detect-scene-change" +[build] +template = "cargo" +dependencies = [ + "ffmpeg6", +] diff --git a/recipes/wip/video/other/dovi-tool/recipe.toml b/recipes/wip/video/other/dovi-tool/recipe.toml new file mode 100644 index 00000000..53fe1eca --- /dev/null +++ b/recipes/wip/video/other/dovi-tool/recipe.toml @@ -0,0 +1,5 @@ +#TODO yeslogic-fontconfig-sys crate error +[source] +git = "https://github.com/quietvoid/dovi_tool" +[build] +template = "cargo" diff --git a/recipes/wip/video/other/gnome-video-effects/recipe.toml b/recipes/wip/video/other/gnome-video-effects/recipe.toml new file mode 100644 index 00000000..58890a28 --- /dev/null +++ b/recipes/wip/video/other/gnome-video-effects/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.gnome.org/sources/gnome-video-effects/0.6/gnome-video-effects-0.6.0.tar.xz" +[build] +template = "meson" diff --git a/recipes/wip/video/other/gopro-assembler/recipe.toml b/recipes/wip/video/other/gopro-assembler/recipe.toml new file mode 100644 index 00000000..b260cf57 --- /dev/null +++ b/recipes/wip/video/other/gopro-assembler/recipe.toml @@ -0,0 +1,5 @@ +#TODO camino crate error +[source] +git = "https://github.com/alichtman/gopro-chaptered-video-assembler" +[build] +template = "cargo" diff --git a/recipes/wip/video/other/gyroflow/recipe.toml b/recipes/wip/video/other/gyroflow/recipe.toml new file mode 100644 index 00000000..0c3211dd --- /dev/null +++ b/recipes/wip/video/other/gyroflow/recipe.toml @@ -0,0 +1,11 @@ +#TODO maybe missing dependencies, see https://github.com/gyroflow/gyroflow/blob/master/_scripts/linux.just +[source] +git = "https://github.com/gyroflow/gyroflow" +[build] +template = "cargo" +dependencies = [ + "fontconfig", + "freetype2", + "ffmpeg6", + "qt6-base", +] diff --git a/recipes/wip/video/other/imdb-rename/recipe.toml b/recipes/wip/video/other/imdb-rename/recipe.toml new file mode 100644 index 00000000..aa48fba6 --- /dev/null +++ b/recipes/wip/video/other/imdb-rename/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/BurntSushi/imdb-rename" +[build] +template = "cargo" diff --git a/recipes/wip/video/other/jerry/recipe.toml b/recipes/wip/video/other/jerry/recipe.toml new file mode 100644 index 00000000..d5c65c75 --- /dev/null +++ b/recipes/wip/video/other/jerry/recipe.toml @@ -0,0 +1,18 @@ +#TODO missing fzf dependency: https://github.com/junegunn/fzf +[source] +git = "https://github.com/justchokingaround/jerry" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr/bin +cp "${COOKBOOK_SOURCE}"/jerry.sh "${COOKBOOK_STAGE}"/usr/bin/jerry +chmod a+x "${COOKBOOK_STAGE}"/usr/bin/jerry +""" +[package] +dependencies = [ + "gnu-grep", + "sed", + "curl", + #"fzf", + "mpv", +] diff --git a/recipes/wip/video/other/lecturecut/recipe.toml b/recipes/wip/video/other/lecturecut/recipe.toml new file mode 100644 index 00000000..23b3e1c1 --- /dev/null +++ b/recipes/wip/video/other/lecturecut/recipe.toml @@ -0,0 +1,5 @@ +#TODO update the redox_syscall crate version (after cargo update) +[source] +git = "https://github.com/LectureCut/CLI" +[build] +template = "cargo" diff --git a/recipes/wip/video/other/lobster/recipe.toml b/recipes/wip/video/other/lobster/recipe.toml new file mode 100644 index 00000000..8933315e --- /dev/null +++ b/recipes/wip/video/other/lobster/recipe.toml @@ -0,0 +1,10 @@ +#TODO promote +[source] +git = "https://github.com/justchokingaround/lobster" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr/bin +cp "${COOKBOOK_SOURCE}"/lobster.sh "${COOKBOOK_STAGE}"/usr/bin/lobster +chmod a+x "${COOKBOOK_STAGE}"/usr/bin/lobster +""" diff --git a/recipes/wip/video/other/pipeline/recipe.toml b/recipes/wip/video/other/pipeline/recipe.toml new file mode 100644 index 00000000..ef5c4de6 --- /dev/null +++ b/recipes/wip/video/other/pipeline/recipe.toml @@ -0,0 +1,16 @@ +#TODO make gtk4 work +[source] +tar = "https://gitlab.com/schmiddi-on-mobile/pipeline/-/package_files/114831818/download" +[build] +template = "custom" +dependencies = [ + "gtk4", + "glib", + "libadwaita", + "gdk-pixbuf", +] +script = """ +cookbook_cargo +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/glib-2.0/schemas +cp -rv "${COOKBOOK_SOURCE}"/data/de.schmidhuberj.tubefeeder.gschema.xml "${COOKBOOK_STAGE}"/usr/share/glib-2.0/schemas +""" diff --git a/recipes/wip/video/other/smoothie-rs/recipe.toml b/recipes/wip/video/other/smoothie-rs/recipe.toml new file mode 100644 index 00000000..1a1846a7 --- /dev/null +++ b/recipes/wip/video/other/smoothie-rs/recipe.toml @@ -0,0 +1,5 @@ +#TODO rfd crate error +[source] +git = "https://github.com/couleur-tweak-tips/smoothie-rs" +[build] +template = "cargo" diff --git a/recipes/wip/video/other/snapshot/recipe.toml b/recipes/wip/video/other/snapshot/recipe.toml new file mode 100644 index 00000000..6c5a1db4 --- /dev/null +++ b/recipes/wip/video/other/snapshot/recipe.toml @@ -0,0 +1,11 @@ +#TODO maybe wrong template, see https://gitlab.gnome.org/GNOME/snapshot +[source] +tar = "https://download.gnome.org/sources/snapshot/45/snapshot-45.2.tar.xz" +[build] +template = "cargo" +dependencies = [ + "glib", + "gtk4", + "libadwaita", + "gstreamer", +] diff --git a/recipes/wip/video/other/streamlib/recipe.toml b/recipes/wip/video/other/streamlib/recipe.toml new file mode 100644 index 00000000..05abc5c2 --- /dev/null +++ b/recipes/wip/video/other/streamlib/recipe.toml @@ -0,0 +1,8 @@ +#TODO shared_child crate error (after cargo update) +[source] +git = "https://github.com/streamlib/streamlib" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/video/other/sub-batch/recipe.toml b/recipes/wip/video/other/sub-batch/recipe.toml new file mode 100644 index 00000000..09263a7e --- /dev/null +++ b/recipes/wip/video/other/sub-batch/recipe.toml @@ -0,0 +1,5 @@ +#TODO interprocess crate error +[source] +git = "https://github.com/kl/sub-batch" +[build] +template = "cargo" diff --git a/recipes/wip/video/other/teres/recipe.toml b/recipes/wip/video/other/teres/recipe.toml new file mode 100644 index 00000000..8387be1f --- /dev/null +++ b/recipes/wip/video/other/teres/recipe.toml @@ -0,0 +1,8 @@ +#TODO missing dependencies, see https://github.com/animafps/teres/blob/main/CONTRIBUTING.md +[source] +git = "https://github.com/animafps/teres" +[build] +template = "cargo" +dependencies = [ + "ffmpeg6", +] diff --git a/recipes/wip/video/other/timelens/recipe.toml b/recipes/wip/video/other/timelens/recipe.toml new file mode 100644 index 00000000..c4a3ccd4 --- /dev/null +++ b/recipes/wip/video/other/timelens/recipe.toml @@ -0,0 +1,8 @@ +#TODO Not compiled or tested +[source] +git = "https://github.com/timelens/timelens" +[build] +template = "cargo" +dependencies = [ + "gstreamer", +] diff --git a/recipes/wip/video/other/trimmeroni/recipe.toml b/recipes/wip/video/other/trimmeroni/recipe.toml new file mode 100644 index 00000000..2666aa2d --- /dev/null +++ b/recipes/wip/video/other/trimmeroni/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/outfrost/trimmeroni" +[build] +template = "cargo" diff --git a/recipes/wip/video/other/vapoursynth/recipe.toml b/recipes/wip/video/other/vapoursynth/recipe.toml new file mode 100644 index 00000000..9d3897b5 --- /dev/null +++ b/recipes/wip/video/other/vapoursynth/recipe.toml @@ -0,0 +1,7 @@ +#TODO maybe wrong script, see https://vapoursynth.com/doc/installation.html#linux-and-os-x-compilation +[source] +git = "https://github.com/vapoursynth/vapoursynth" +rev = "3157049549a0940359b37004aeeeebd8f1db665e" +script = "./autogen.sh" +[build] +template = "configure" diff --git a/recipes/wip/video/other/video4discord/recipe.toml b/recipes/wip/video/other/video4discord/recipe.toml new file mode 100644 index 00000000..975d69ba --- /dev/null +++ b/recipes/wip/video/other/video4discord/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/Seebass22/video4discord" +[build] +template = "custom" +script = """ +cookbook_cargo_packages video4discord +""" diff --git a/recipes/wip/video/other/vidmerger/recipe.toml b/recipes/wip/video/other/vidmerger/recipe.toml new file mode 100644 index 00000000..47fd9ce2 --- /dev/null +++ b/recipes/wip/video/other/vidmerger/recipe.toml @@ -0,0 +1,8 @@ +#TODO Not compiled or tested +[source] +git = "https://github.com/tgotwig/vidmerger" +[build] +template = "cargo" +dependencies = [ + "ffmpeg6", +] diff --git a/recipes/wip/video/other/yt-chanvids/recipe.toml b/recipes/wip/video/other/yt-chanvids/recipe.toml new file mode 100644 index 00000000..c9a0bf71 --- /dev/null +++ b/recipes/wip/video/other/yt-chanvids/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/daniel-araujo/yt-chanvids" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/video/webcam/cheese/recipe.toml b/recipes/wip/video/webcam/cheese/recipe.toml new file mode 100644 index 00000000..d7c159f7 --- /dev/null +++ b/recipes/wip/video/webcam/cheese/recipe.toml @@ -0,0 +1,21 @@ +#TODO not compiled or tested +# lacking build instructions: https://gitlab.gnome.org/GNOME/cheese/-/blob/master/meson.build +# probably missing dependencies +[source] +tar = "https://download.gnome.org/sources/cheese/44/cheese-44.1.tar.xz" +[build] +template = "meson" +mesonflags = [ + "-Dgtk_doc=false" +] +dependencies = [ + "gtk3", + "glib", + "gdk-pixbuf", + "gstreamer", + "libcanberra", + "clutter", + "clutter-gtk", + "clutter-gst", + "gnome-video-effects", +] diff --git a/recipes/wip/video/webcam/clipqr/recipe.toml b/recipes/wip/video/webcam/clipqr/recipe.toml new file mode 100644 index 00000000..25da03fd --- /dev/null +++ b/recipes/wip/video/webcam/clipqr/recipe.toml @@ -0,0 +1,8 @@ +#TODO missing script for go +#TODO determine dependencies +# build instructions - https://gitlab.com/imatt-foss/clipqr#build +[source] +git = "https://gitlab.com/imatt-foss/clipqr" +rev = "400a98c302aead3f2b1b81ec6dc45d654c8bf209" +[build] +template = "custom" diff --git a/recipes/wip/video/webcam/kamoso/recipe.toml b/recipes/wip/video/webcam/kamoso/recipe.toml new file mode 100644 index 00000000..ced03c4e --- /dev/null +++ b/recipes/wip/video/webcam/kamoso/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +#TODO missing dependencies: https://invent.kde.org/multimedia/kamoso/-/blob/master/CMakeLists.txt?ref_type=heads#L29 +[source] +git = "https://invent.kde.org/multimedia/kamoso" +branch = "release/25.08" +[build] +template = "cmake" +dependencies = [ + "qt6-base", +] diff --git a/recipes/wip/video/webcam/tuicam/recipe.toml b/recipes/wip/video/webcam/tuicam/recipe.toml new file mode 100644 index 00000000..e56f5a0c --- /dev/null +++ b/recipes/wip/video/webcam/tuicam/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/hlsxx/tuicam" +[build] +template = "cargo" +dependencies = [ + "opencv4", +] diff --git a/recipes/wip/video/webcam/webcamoid/recipe.toml b/recipes/wip/video/webcam/webcamoid/recipe.toml new file mode 100644 index 00000000..70eefe4c --- /dev/null +++ b/recipes/wip/video/webcam/webcamoid/recipe.toml @@ -0,0 +1,13 @@ +#TODO not compiled or tested +# build instructions: https://github.com/webcamoid/webcamoid/wiki/Raw-build-and-install +[source] +git = "https://github.com/webcamoid/webcamoid" +rev = "171b91e378c9bfbd4c425415322971e4e8872108" +[build] +template = "cmake" +dependencies = [ + "qt5-base", + "qt5-declarative", + "qt5-quickcontrols2", + "qt5-svg", +] diff --git a/recipes/wip/vm/cloud-hypervisor/recipe.toml b/recipes/wip/vm/cloud-hypervisor/recipe.toml new file mode 100644 index 00000000..e2d9bca3 --- /dev/null +++ b/recipes/wip/vm/cloud-hypervisor/recipe.toml @@ -0,0 +1,6 @@ +#TODO port to redox +# required host dependencies - https://github.com/cloud-hypervisor/cloud-hypervisor/blob/main/docs/building.md#install-prerequisites +[source] +git = "https://github.com/cloud-hypervisor/cloud-hypervisor" +[build] +template = "cargo" diff --git a/recipes/wip/vm/crosvm/recipe.toml b/recipes/wip/vm/crosvm/recipe.toml new file mode 100644 index 00000000..967bc0ff --- /dev/null +++ b/recipes/wip/vm/crosvm/recipe.toml @@ -0,0 +1,18 @@ +#TODO port to redox +#TODO maybe missing dependencies +#TODO required host dependencies - https://github.com/google/crosvm/blob/main/tools/install-deps +# feature flags - https://crosvm.dev/doc/crosvm/#feature-flags +# how to use - https://crosvm.dev/book/running_crosvm/example_usage.html +# examples - https://github.com/google/crosvm/tree/main/tools/examples +[source] +git = "https://chromium.googlesource.com/crosvm/crosvm" +[build] +template = "cargo" +dependencies = [ + "ffmpeg6", + "libcap", + "dbus", + "libepoxy", + "glib", + "libslirp", +] diff --git a/recipes/wip/vm/firecracker/recipe.toml b/recipes/wip/vm/firecracker/recipe.toml new file mode 100644 index 00000000..ea9463d3 --- /dev/null +++ b/recipes/wip/vm/firecracker/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/firecracker-microvm/firecracker" +[build] +template = "custom" +script = """ +cookbook_cargo_packages firecracker +""" diff --git a/recipes/wip/vm/libguestfs/recipe.toml b/recipes/wip/vm/libguestfs/recipe.toml new file mode 100644 index 00000000..cc3244b8 --- /dev/null +++ b/recipes/wip/vm/libguestfs/recipe.toml @@ -0,0 +1,5 @@ +#TODO determine the dependencies, read https://libguestfs.org/guestfs-building.1.html +[source] +tar = "https://download.libguestfs.org/1.52-stable/libguestfs-1.52.1.tar.gz" +[build] +template = "configure" diff --git a/recipes/wip/vm/libvirt/recipe.toml b/recipes/wip/vm/libvirt/recipe.toml new file mode 100644 index 00000000..c544bea8 --- /dev/null +++ b/recipes/wip/vm/libvirt/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://libvirt.org/compiling.html#configuring-the-project +[source] +tar = "https://download.libvirt.org/libvirt-10.7.0.tar.xz" +[build] +template = "meson" diff --git a/recipes/wip/vm/qemu/recipe.toml b/recipes/wip/vm/qemu/recipe.toml new file mode 100644 index 00000000..bbf0179b --- /dev/null +++ b/recipes/wip/vm/qemu/recipe.toml @@ -0,0 +1,53 @@ +[source] +git = "https://github.com/jackpot51/qemu.git" +shallow_clone = true + +[build] +template = "custom" +dependencies = [ + "curl", + "gettext", + "glib", + "libffi", + "libiconv", + "libjpeg", + "liborbital", + "libpng", + "libstdcxx", + "llvm18", + "mesa", + "nghttp2", + "openssl1", + "pcre2", + "pixman", + "sdl2", + "sdl2-image", + "zlib", +] +script = """ +DYNAMIC_INIT +COOKBOOK_CONFIGURE_FLAGS=( + --host="${TARGET}" + --prefix="/usr" + --cross-prefix="${TARGET}" + --disable-coroutine-pool + --disable-dbus-display + --disable-tpm +) +case "${TARGET}" in + aarch64-unknown-redox) + COOKBOOK_CONFIGURE_FLAGS+=(--target-list=aarch64-softmmu) + ;; + i586-unknown-redox | i686-unknown-redox) + COOKBOOK_CONFIGURE_FLAGS+=(--target-list=i386-softmmu) + ;; + x86_64-unknown-redox) + COOKBOOK_CONFIGURE_FLAGS+=(--target-list=x86_64-softmmu) + ;; + *) + echo "unsupported target ${TARGET}" + exit 1 + ;; +esac +cookbook_configure +""" diff --git a/recipes/wip/vm/v86/recipe.toml b/recipes/wip/vm/v86/recipe.toml new file mode 100644 index 00000000..ddf32ffb --- /dev/null +++ b/recipes/wip/vm/v86/recipe.toml @@ -0,0 +1,5 @@ +#TODO missing script for "make", see https://github.com/copy/v86#how-to-build-run-and-embed +[source] +git = "https://github.com/copy/v86" +[build] +template = "custom" diff --git a/recipes/wip/vm/virtualbox/recipe.toml b/recipes/wip/vm/virtualbox/recipe.toml new file mode 100644 index 00000000..26a78e72 --- /dev/null +++ b/recipes/wip/vm/virtualbox/recipe.toml @@ -0,0 +1,27 @@ +#TODO missing script for kbuild +#TODO missing dependencies +# build instructions: +# https://www.virtualbox.org/wiki/Build_instructions +# https://www.virtualbox.org/wiki/Linux%20build%20instructions +# how to port - https://www.virtualbox.org/wiki/Porting_VirtualBox +[source] +tar = "https://download.virtualbox.org/virtualbox/7.0.20/VirtualBox-7.0.20.tar.bz2" +[build] +template = "custom" +dependencies = [ + "libcap", + "curl", + "libopus", + "pulseaudio", + "qt5-3d", + "qt5-x11extras", + "qt5-tools", + "sdl1", + "sdl2-ttf", + "openssl1", + "libvpx", + "libxml2", + "libxslt", + "zlib", + "mesa", +] diff --git a/recipes/wip/wayland/anvil/recipe.toml b/recipes/wip/wayland/anvil/recipe.toml new file mode 100644 index 00000000..ea5816f4 --- /dev/null +++ b/recipes/wip/wayland/anvil/recipe.toml @@ -0,0 +1,21 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/Smithay/smithay" +[build] +dependencies = [ + "libwayland", + "libxkbcommon", +] +template = "custom" +script = """ +package=anvil +"${COOKBOOK_CARGO}" build \ + --manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \ + --package "${package}" \ + --release + --winit + mkdir -pv "${COOKBOOK_STAGE}/usr/bin" + cp -v \ + "target/${TARGET}/release/${package}" \ + "${COOKBOOK_STAGE}/usr/bin/${package}" +""" diff --git a/recipes/wip/wayland/fht-compositor/recipe.toml b/recipes/wip/wayland/fht-compositor/recipe.toml new file mode 100644 index 00000000..33ada5d7 --- /dev/null +++ b/recipes/wip/wayland/fht-compositor/recipe.toml @@ -0,0 +1,25 @@ +#TODO not compiled or tested +#TODO enable the "opt" profile once wayland and eudev is working +[source] +git = "https://github.com/nferhat/fht-compositor" +[build] +template = "custom" +dependencies = [ + "libwayland", + "libxkbcommon", + "mesa", +] +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/wayland-sessions +cp -rv "${COOKBOOK_SOURCE}"/res/fht-compositor.desktop "${COOKBOOK_STAGE}"/usr/share/wayland-sessions +package=fht-compositor +"${COOKBOOK_CARGO}" build \ + --manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \ + --package "${package}" \ + --release + --winit-backend + mkdir -pv "${COOKBOOK_STAGE}/usr/bin" + cp -v \ + "target/${TARGET}/release/${package}" \ + "${COOKBOOK_STAGE}/usr/bin/${package}" +""" diff --git a/recipes/wip/wayland/hyprland/recipe.toml b/recipes/wip/wayland/hyprland/recipe.toml new file mode 100644 index 00000000..4512978b --- /dev/null +++ b/recipes/wip/wayland/hyprland/recipe.toml @@ -0,0 +1,27 @@ +#TODO not compiled or tested +# build instructions: https://wiki.hyprland.org/Getting-Started/Installation/#cmake-recommended +[source] +git = "https://github.com/hyprwm/Hyprland" +rev = "ed936430216e7aa5f6f53d22eff713f8e9ed69ac" +[build] +template = "custom" +dependencies = [ + "libinput", + "libxkbcommon", + "libxcb", + "pango", + "cairo", + "pixman", + "libwayland", + "seatd", + "libxrender", + "libx11", + "libxcomposite", + "libxfixes", +] +script = """ +DYNAMIC_INIT +cookbook_cmake +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/wayland-sessions +cp -rv "${COOKBOOK_SOURCE}"/example/hyprland.desktop "${COOKBOOK_STAGE}"/usr/share/wayland-sessions +""" diff --git a/recipes/wip/wayland/libwayland/recipe.toml b/recipes/wip/wayland/libwayland/recipe.toml new file mode 100644 index 00000000..78fa82c9 --- /dev/null +++ b/recipes/wip/wayland/libwayland/recipe.toml @@ -0,0 +1,20 @@ +#TODO: Requires sys/signalfd.h SFD_CLOEXEC, sys/timerfd.h TFD_CLOEXEC +#TODO: F_DUPFD_CLOEXEC, MSG_CMSG_CLOEXEC, MSG_NOSIGNAL TFD_TIMER_ABSTIME +[source] +tar = "https://gitlab.freedesktop.org/wayland/wayland/-/releases/1.24.0/downloads/wayland-1.24.0.tar.xz" +patches = [ + #FIXME: This patch is just a shim. Remove this patch + "redox.patch" +] +[build] +template = "meson" +dependencies = [ + "libffi", + "expat", + "libxml2", +] +mesonflags = [ + "-Ddocumentation=false", + "-Dtests=false", + "-Ddtd_validation=false", +] diff --git a/recipes/wip/wayland/libwayland/redox.patch b/recipes/wip/wayland/libwayland/redox.patch new file mode 100644 index 00000000..a292c32a --- /dev/null +++ b/recipes/wip/wayland/libwayland/redox.patch @@ -0,0 +1,212 @@ +diff -ruwN source-old/cursor/os-compatibility.c source/cursor/os-compatibility.c +--- source-old/cursor/os-compatibility.c 2025-07-06 06:11:26.000000000 -0600 ++++ source/cursor/os-compatibility.c 2025-11-13 13:00:31.354126754 -0700 +@@ -79,12 +79,18 @@ + #ifdef HAVE_MKOSTEMP + fd = mkostemp(tmpname, O_CLOEXEC); + if (fd >= 0) ++ fprintf(stderr, "ignoring unlink of %s\n", tmpname); ++ /*TODO: keep node around after unlink + unlink(tmpname); ++ */ + #else + fd = mkstemp(tmpname); + if (fd >= 0) { + fd = set_cloexec_or_close(fd); ++ fprintf(stderr, "ignoring unlink of %s\n", tmpname); ++ /*TODO: keep node around after unlink + unlink(tmpname); ++ */ + } + #endif + +diff -ruwN source-old/meson.build source/meson.build +--- source-old/meson.build 2025-07-06 06:11:26.000000000 -0600 ++++ source/meson.build 2025-11-13 12:08:42.512612558 -0700 +@@ -80,8 +80,6 @@ + ffi_dep = dependency('libffi') + + decls = [ +- { 'header': 'sys/signalfd.h', 'symbol': 'SFD_CLOEXEC' }, +- { 'header': 'sys/timerfd.h', 'symbol': 'TFD_CLOEXEC' }, + { 'header': 'time.h', 'symbol': 'CLOCK_MONOTONIC' }, + ] + +diff -ruwN source-old/src/connection.c source/src/connection.c +--- source-old/src/connection.c 2025-07-06 06:11:26.000000000 -0600 ++++ source/src/connection.c 2025-11-13 12:08:42.512796844 -0700 +@@ -490,7 +490,7 @@ + + do { + len = sendmsg(connection->fd, &msg, +- MSG_NOSIGNAL | MSG_DONTWAIT); ++ MSG_DONTWAIT); + } while (len == -1 && errno == EINTR); + + if (len == -1) +@@ -1506,8 +1506,10 @@ + char *buffer; + size_t buffer_length; + ++#if !defined(__redox__) + f = open_memstream(&buffer, &buffer_length); + if (f == NULL) ++#endif + return; + + clock_gettime(CLOCK_REALTIME, &tp); +diff -ruwN source-old/src/event-loop.c source/src/event-loop.c +--- source-old/src/event-loop.c 2025-07-06 06:11:26.000000000 -0600 ++++ source/src/event-loop.c 2025-11-13 12:08:42.513005175 -0700 +@@ -35,8 +35,8 @@ + #include + #include + #include +-#include +-#include ++// #include ++// #include + #include + #include "timespec-util.h" + #include "wayland-util.h" +@@ -259,24 +259,13 @@ + + static int + set_timer(int timerfd, struct timespec deadline) { +- struct itimerspec its; +- +- its.it_interval.tv_sec = 0; +- its.it_interval.tv_nsec = 0; +- its.it_value = deadline; +- return timerfd_settime(timerfd, TFD_TIMER_ABSTIME, &its, NULL); ++ return 0; + } + + static int + clear_timer(int timerfd) + { +- struct itimerspec its; +- +- its.it_interval.tv_sec = 0; +- its.it_interval.tv_nsec = 0; +- its.it_value.tv_sec = 0; +- its.it_value.tv_nsec = 0; +- return timerfd_settime(timerfd, 0, &its, NULL); ++ return 0; + } + + static void +@@ -307,7 +296,7 @@ + wl_timer_heap_ensure_timerfd(struct wl_timer_heap *timers) + { + struct epoll_event ep; +- int timer_fd; ++ int timer_fd = 0; + + if (timers->base.fd != -1) + return 0; +@@ -316,17 +305,6 @@ + ep.events = EPOLLIN; + ep.data.ptr = timers; + +- timer_fd = timerfd_create(CLOCK_MONOTONIC, +- TFD_CLOEXEC | TFD_NONBLOCK); +- if (timer_fd < 0) +- return -1; +- +- if (epoll_ctl(timers->base.loop->epoll_fd, +- EPOLL_CTL_ADD, timer_fd, &ep) < 0) { +- close(timer_fd); +- return -1; +- } +- + timers->base.fd = timer_fd; + return 0; + } +@@ -677,11 +655,12 @@ + { + struct wl_event_source_signal *signal_source = + (struct wl_event_source_signal *) source; +- struct signalfd_siginfo signal_info; ++ /*struct signalfd_siginfo signal_info; + int len; + + len = read(source->fd, &signal_info, sizeof signal_info); + if (!(len == -1 && errno == EAGAIN) && len != sizeof signal_info) ++ */ + /* Is there anything we can do here? Will this ever happen? */ + wl_log("signalfd read error: %s\n", strerror(errno)); + +@@ -730,7 +709,7 @@ + + sigemptyset(&mask); + sigaddset(&mask, signal_number); +- source->base.fd = signalfd(-1, &mask, SFD_CLOEXEC | SFD_NONBLOCK); ++ // source->base.fd = signalfd(-1, &mask, SFD_CLOEXEC | SFD_NONBLOCK); + sigprocmask(SIG_BLOCK, &mask, NULL); + + source->func = func; +diff -ruwN source-old/src/meson.build source/src/meson.build +--- source-old/src/meson.build 2025-07-06 06:11:26.000000000 -0600 ++++ source/src/meson.build 2025-11-13 12:08:42.513181686 -0700 +@@ -81,8 +81,7 @@ + endif + + if meson.is_cross_build() or not get_option('scanner') +- scanner_dep = dependency('wayland-scanner', native: true, version: meson.project_version()) +- wayland_scanner_for_build = find_program(scanner_dep.get_variable(pkgconfig: 'wayland_scanner')) ++ wayland_scanner_for_build = find_program('wayland-scanner', native: true) + else + wayland_scanner_for_build = wayland_scanner + endif +diff -ruwN source-old/src/wayland-os.c source/src/wayland-os.c +--- source-old/src/wayland-os.c 2025-07-06 06:11:26.000000000 -0600 ++++ source/src/wayland-os.c 2025-11-13 12:08:42.513310047 -0700 +@@ -134,11 +134,13 @@ + { + int newfd; + ++#if defined(F_DUPFD_CLOEXEC) + newfd = wl_fcntl(fd, F_DUPFD_CLOEXEC, minfd); + if (newfd >= 0) + return newfd; + if (errno != EINVAL) + return -1; ++#endif + + newfd = wl_fcntl(fd, F_DUPFD, minfd); + return set_cloexec_or_close(newfd); +@@ -189,7 +191,7 @@ + #else + ssize_t len; + +- len = wl_recvmsg(sockfd, msg, flags | MSG_CMSG_CLOEXEC); ++ len = wl_recvmsg(sockfd, msg, flags); + if (len >= 0) + return len; + if (errno != EINVAL) +diff -ruwN source-old/src/wayland-server.c source/src/wayland-server.c +--- source-old/src/wayland-server.c 2025-07-06 06:11:26.000000000 -0600 ++++ source/src/wayland-server.c 2025-11-13 12:08:42.513500955 -0700 +@@ -39,7 +39,7 @@ + #include + #include + #include +-#include ++// #include + #include + #include + +@@ -1206,9 +1206,9 @@ + return NULL; + } + +- display->terminate_efd = eventfd(0, EFD_CLOEXEC | EFD_NONBLOCK); +- if (display->terminate_efd < 0) +- goto err_eventfd; ++ // display->terminate_efd = eventfd(0, EFD_CLOEXEC | EFD_NONBLOCK); ++ // if (display->terminate_efd < 0) ++ // goto err_eventfd; + + display->term_source = wl_event_loop_add_fd(display->loop, + display->terminate_efd, diff --git a/recipes/wip/wayland/niri/recipe.toml b/recipes/wip/wayland/niri/recipe.toml new file mode 100644 index 00000000..861d7114 --- /dev/null +++ b/recipes/wip/wayland/niri/recipe.toml @@ -0,0 +1,18 @@ +#TODO Port Smithay +#TODO probably wrong script for configuration, see https://github.com/YaLTeR/niri#installation +[source] +git = "https://github.com/YaLTeR/niri" +[build] +template = "custom" +dependencies = [ + "libwayland", +] +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr/bin +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/wayland-sessions +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/xdg-desktop-portal +cp -rv "${COOKBOOK_SOURCE}"/resources/niri-session "${COOKBOOK_STAGE}"/usr/bin +cp -rv "${COOKBOOK_SOURCE}"/resources/niri.desktop "${COOKBOOK_STAGE}"/usr/share/wayland-sessions +cp -rv "${COOKBOOK_SOURCE}"/resources/niri-portals.conf "${COOKBOOK_STAGE}"/usr/share/xdg-desktop-portal +cookbook_cargo +""" diff --git a/recipes/wip/wayland/pinnacle/recipe.toml b/recipes/wip/wayland/pinnacle/recipe.toml new file mode 100644 index 00000000..36c101c0 --- /dev/null +++ b/recipes/wip/wayland/pinnacle/recipe.toml @@ -0,0 +1,15 @@ +#TODO make all dependencies work +[source] +git = "https://github.com/pinnacle-comp/pinnacle" +[build] +template = "custom" +dependencies = [ + "libwayland", + "libxkbcommon", + "libinput", + "libeudev", + "seatd", +] +script = """ +cookbook_cargo_packages pinnacle +""" diff --git a/recipes/wip/wayland/smallvil/recipe.toml b/recipes/wip/wayland/smallvil/recipe.toml new file mode 100644 index 00000000..dd1d203b --- /dev/null +++ b/recipes/wip/wayland/smallvil/recipe.toml @@ -0,0 +1,17 @@ +#TODO make libwayland work +[source] +git = "https://github.com/jackpot51/smithay" +branch = "redox" + +[build] +template = "custom" +dependencies = [ + "libffi", + "libwayland", + "libxkbcommon", +] +script = """ +DYNAMIC_INIT +export RUSTFLAGS="${RUSTFLAGS} -lffi" +cookbook_cargo_packages smallvil +""" diff --git a/recipes/wip/wayland/softbuffer-wayland/recipe.toml b/recipes/wip/wayland/softbuffer-wayland/recipe.toml new file mode 100644 index 00000000..5205096e --- /dev/null +++ b/recipes/wip/wayland/softbuffer-wayland/recipe.toml @@ -0,0 +1,14 @@ +[source] +git = "https://github.com/jackpot51/softbuffer.git" +branch = "redox-wayland" + +[build] +dependencies = [ + "libwayland" +] +template = "custom" +script = """ +DYNAMIC_INIT +export RUSTFLAGS="${RUSTFLAGS} -lffi" +cookbook_cargo_examples animation rectangle winit +""" diff --git a/recipes/wip/wayland/sway/recipe.toml b/recipes/wip/wayland/sway/recipe.toml new file mode 100644 index 00000000..bb93c00f --- /dev/null +++ b/recipes/wip/wayland/sway/recipe.toml @@ -0,0 +1,40 @@ +#TODO not compiled or tested +# build instructions: https://github.com/swaywm/sway#compiling-from-source +[source] +tar = "https://github.com/swaywm/sway/releases/download/1.9/sway-1.9.tar.gz" +blake3 = "6ae892f82daedef76d26e32c64ebd09cc454ae71f416d2179a512f7764138268" + +[build] +template = "meson" +dependencies = [ + "cairo", + "expat", + "fontconfig", + "freetype2", + "fribidi", + "gdk-pixbuf", + "glib", + "harfbuzz", + "json-c", + "libdrm", + "libffi", + "libjpeg", + "libpng", + "libpthread-stubs", + "libwayland", + "libx11", + "libxau", + "libxcb", + "libxext", + "libxft", + "libxkbcommon", + "libxrender", + "pango", + "pcre2", + "pixman", + "shared-mime-info", + "wayland-protocols", + "wlroots", + "x11proto", + "zlib", +] diff --git a/recipes/wip/wayland/wayland-protocols/recipe.toml b/recipes/wip/wayland/wayland-protocols/recipe.toml new file mode 100644 index 00000000..593e24bc --- /dev/null +++ b/recipes/wip/wayland/wayland-protocols/recipe.toml @@ -0,0 +1,7 @@ +[source] +tar = "https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/1.32/downloads/wayland-protocols-1.32.tar.xz" +[build] +template = "meson" +mesonflags = [ + "-Dtests=false" +] diff --git a/recipes/wip/wayland/wayland-rs/recipe.toml b/recipes/wip/wayland/wayland-rs/recipe.toml new file mode 100644 index 00000000..235c9d99 --- /dev/null +++ b/recipes/wip/wayland/wayland-rs/recipe.toml @@ -0,0 +1,16 @@ +#TODO make libwayland work +[source] +git = "https://github.com/jackpot51/wayland-rs" +branch = "redox" + +[build] +template = "custom" +dependencies = [ + "libffi", + "libwayland", +] +script = """ +DYNAMIC_INIT +export RUSTFLAGS="${RUSTFLAGS} -lffi" +cookbook_cargo_examples list_globals_no_dispatch list_globals simple_window +""" diff --git a/recipes/wip/wayland/wayland-utils/recipe.toml b/recipes/wip/wayland/wayland-utils/recipe.toml new file mode 100644 index 00000000..fa94decf --- /dev/null +++ b/recipes/wip/wayland/wayland-utils/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.freedesktop.org/wayland/wayland-utils#building +[source] +tar = "https://gitlab.freedesktop.org/wayland/wayland-utils/-/releases/1.2.0/downloads/wayland-utils-1.2.0.tar.xz" +[build] +template = "meson" diff --git a/recipes/wip/wayland/waylandpp/recipe.toml b/recipes/wip/wayland/waylandpp/recipe.toml new file mode 100644 index 00000000..6bc1a035 --- /dev/null +++ b/recipes/wip/wayland/waylandpp/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# build instructions: https://github.com/NilsBrause/waylandpp#building +[source] +git = "https://github.com/NilsBrause/waylandpp" +[build] +template = "cmake" diff --git a/recipes/wip/wayland/winit-wayland/recipe.toml b/recipes/wip/wayland/winit-wayland/recipe.toml new file mode 100644 index 00000000..e3f73c66 --- /dev/null +++ b/recipes/wip/wayland/winit-wayland/recipe.toml @@ -0,0 +1,14 @@ +[source] +git = "https://github.com/jackpot51/winit.git" +branch = "redox-wayland" + +[build] +dependencies = [ + "libwayland" +] +template = "custom" +script = """ +DYNAMIC_INIT +export RUSTFLAGS="${RUSTFLAGS} -lffi" +cookbook_cargo_examples child_window control_flow pump_events window +""" diff --git a/recipes/wip/wayland/wlroots/recipe.toml b/recipes/wip/wayland/wlroots/recipe.toml new file mode 100644 index 00000000..3a58b98f --- /dev/null +++ b/recipes/wip/wayland/wlroots/recipe.toml @@ -0,0 +1,32 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.freedesktop.org/wlroots/wlroots#building +[source] +tar = "https://gitlab.freedesktop.org/wlroots/wlroots/-/releases/0.17.0/downloads/wlroots-0.17.0.tar.gz" +blake3 = "f119e53d1f1dd5c8d4c348b0ebc2a780cf4174d158995356a087b26c3bc7d222" +patches = ["redox.patch"] + +[build] +template = "meson" +dependencies = [ + "cairo", + "expat", + "freetype2", + "fontconfig", + "libdrm", + "libffi", + "libpng", + "libpthread-stubs", + "libwayland", + "libx11", + "libxau", + "libxcb", + "libxext", + "libxfixes", + "libxkbcommon", + "libxxf86vm", + "mesa-x11", + "pixman", + "wayland-protocols", + "x11proto", + "zlib", +] \ No newline at end of file diff --git a/recipes/wip/wayland/wlroots/redox.patch b/recipes/wip/wayland/wlroots/redox.patch new file mode 100644 index 00000000..92b6c8e2 --- /dev/null +++ b/recipes/wip/wayland/wlroots/redox.patch @@ -0,0 +1,29 @@ +diff -ruwN source-old/protocol/meson.build source/protocol/meson.build +--- source-old/protocol/meson.build 2023-11-21 09:06:13.000000000 -0700 ++++ source/protocol/meson.build 2025-10-30 17:22:43.903323248 -0600 +@@ -5,9 +5,8 @@ + ) + wl_protocol_dir = wayland_protos.get_variable('pkgdatadir') + +-wayland_scanner_dep = dependency('wayland-scanner', native: true) + wayland_scanner = find_program( +- wayland_scanner_dep.get_variable('wayland_scanner'), ++ 'wayland-scanner', + native: true, + ) + +diff -ruwN source-old/render/dmabuf.c source/render/dmabuf.c +--- source-old/render/dmabuf.c 2023-11-21 09:06:13.000000000 -0700 ++++ source/render/dmabuf.c 2025-10-30 17:33:46.223683923 -0600 +@@ -5,6 +5,11 @@ + #include + #include "render/dmabuf.h" + ++#if defined(__redox__) ++//TODO: F_DUPFD_CLOEXEC needed for atomic close on exec ++#define F_DUPFD_CLOEXEC F_DUPFD ++#endif ++ + void wlr_dmabuf_attributes_finish(struct wlr_dmabuf_attributes *attribs) { + for (int i = 0; i < attribs->n_planes; ++i) { + close(attribs->fd[i]); diff --git a/recipes/wip/wayland/xwayland/recipe.toml b/recipes/wip/wayland/xwayland/recipe.toml new file mode 100644 index 00000000..3ac342a5 --- /dev/null +++ b/recipes/wip/wayland/xwayland/recipe.toml @@ -0,0 +1,38 @@ +#TODO wayland-client, fix linux/input, wayland-scanner shim +[source] +tar = "https://www.x.org/releases/individual/xserver/xwayland-24.1.8.tar.xz" +patches = [ + "redox.patch" +] +[build] +template = "meson" +dependencies = [ + "libpthread-stubs", + "libepoxy", + "libxkbfile", + "libxfont2", + "libffi", + "libpng", + "pixman", + "x11proto", + "xtrans", + "libxau", + "libx11", + "libxcb", + "openssl1", + "freetype2", + "libwayland", + "libfontenc", + "wayland-protocols", + "zlib", + "libxcvt", + "libxdmcp", + "libxshmfence", +] +mesonflags = [ + "-Ddrm=false", + "-Dglamor=false", + "-Dglx=false", + "-Dsecure-rpc=false", + "-Dmitshm=false", +] diff --git a/recipes/wip/wayland/xwayland/redox.patch b/recipes/wip/wayland/xwayland/redox.patch new file mode 100644 index 00000000..1132282a --- /dev/null +++ b/recipes/wip/wayland/xwayland/redox.patch @@ -0,0 +1,158 @@ +diff -ruwN source/hw/xwayland/meson.build source-new/hw/xwayland/meson.build +--- source/hw/xwayland/meson.build 2024-01-16 16:38:49.000000000 +0700 ++++ source-new/hw/xwayland/meson.build 2025-10-01 07:51:14.456575515 +0700 +@@ -30,8 +30,7 @@ + '../../mi/miinitext.h', + ] + +-scanner_dep = dependency('wayland-scanner', native: true) +-scanner = find_program(scanner_dep.get_pkgconfig_variable('wayland_scanner')) ++scanner = find_program('wayland-scanner', native: true) + + protocols_dep = dependency('wayland-protocols', version: wayland_protocols_req) + protodir = protocols_dep.get_pkgconfig_variable('pkgdatadir') +@@ -55,11 +54,7 @@ + arguments : ['client-header', '@INPUT@', '@OUTPUT@'] + ) + +-if scanner_dep.version().version_compare('>= 1.14.91') + scanner_argument = 'private-code' +-else +- scanner_argument = 'code' +-endif + + code = generator(scanner, + output : '@BASENAME@-protocol.c', +diff -ruwN source/hw/xwayland/xwayland-glamor.h source-new/hw/xwayland/xwayland-glamor.h +--- source/hw/xwayland/xwayland-glamor.h 2024-01-16 16:38:49.000000000 +0700 ++++ source-new/hw/xwayland/xwayland-glamor.h 2025-10-01 08:01:01.409102814 +0700 +@@ -31,7 +31,7 @@ + #include + + #include +-#include ++// #include + + #include "xwayland-types.h" + +@@ -103,7 +103,7 @@ + /* Called to get the DRM device of the primary GPU that this backend + * is set up on. + */ +- drmDevice *(*get_main_device)(struct xwl_screen *xwl_screen); ++ // drmDevice *(*get_main_device)(struct xwl_screen *xwl_screen); + + /* Direct hook to create the backing pixmap for a window */ + PixmapPtr (*create_pixmap_for_window)(struct xwl_window *xwl_window); +diff -ruwN source/hw/xwayland/xwayland-input.c source-new/hw/xwayland/xwayland-input.c +--- source/hw/xwayland/xwayland-input.c 2024-01-16 16:38:49.000000000 +0700 ++++ source-new/hw/xwayland/xwayland-input.c 2025-10-01 08:02:59.681082380 +0700 +@@ -26,7 +26,7 @@ + + #include + +-#include ++// #include + #include + + #include +@@ -758,6 +758,7 @@ + xwl_seat->xwl_screen->serial = serial; + + switch (button) { ++/* + case BTN_LEFT: + index = 1; + break; +@@ -768,10 +769,9 @@ + index = 3; + break; + default: +- /* Skip indexes 4-7: they are used for vertical and horizontal scroll. +- The rest of the buttons go in order: BTN_SIDE becomes 8, etc. */ + index = 8 + button - BTN_SIDE; + break; ++*/ + } + + valuator_mask_zero(&mask); +@@ -1057,7 +1057,7 @@ + + state_rec = xwl_seat->keyboard->key->xkbInfo->state; + xkb_state = (XkbStateFieldFromRec(&state_rec) & 0xff); +- ++ /* + if (((key == KEY_LEFTSHIFT || key == KEY_RIGHTSHIFT) && (xkb_state & ControlMask)) || + ((key == KEY_LEFTCTRL || key == KEY_RIGHTCTRL) && (xkb_state & ShiftMask))) { + +@@ -1072,6 +1072,7 @@ + if (xwl_window) + xwl_window_rootful_update_title(xwl_window); + } ++ */ + } + + static void +diff -ruwN source/hw/xwayland/xwayland-window.c source-new/hw/xwayland/xwayland-window.c +--- source/hw/xwayland/xwayland-window.c 2024-01-16 16:38:49.000000000 +0700 ++++ source-new/hw/xwayland/xwayland-window.c 2025-10-01 08:00:07.858324820 +0700 +@@ -1102,7 +1102,7 @@ + for (int j = 0; j < dev_formats->num_formats; j++) + free(dev_formats->formats[j].modifiers); + free(dev_formats->formats); +- drmFreeDevice(&dev_formats->drm_dev); ++ // drmFreeDevice(&dev_formats->drm_dev); + } + + void +diff -ruwN source/hw/xwayland/xwayland-window.h source-new/hw/xwayland/xwayland-window.h +--- source/hw/xwayland/xwayland-window.h 2024-01-16 16:38:49.000000000 +0700 ++++ source-new/hw/xwayland/xwayland-window.h 2025-10-01 08:00:40.464798537 +0700 +@@ -38,7 +38,7 @@ + #include + #include + #include +-#include ++// #include + + #include "xwayland-types.h" + +@@ -55,7 +55,7 @@ + }; + + struct xwl_device_formats { +- drmDevice *drm_dev; ++ // drmDevice *drm_dev; + int supports_scanout; + uint32_t num_formats; + struct xwl_format *formats; +@@ -75,7 +75,7 @@ + struct xwl_dmabuf_feedback { + struct zwp_linux_dmabuf_feedback_v1 *dmabuf_feedback; + struct xwl_format_table format_table; +- drmDevice *main_dev; ++ // drmDevice *main_dev; + /* + * This will be filled in during wl events and copied to + * dev_formats on dmabuf_feedback.tranche_done +diff -ruwN source/os/access.c source-new/os/access.c +--- source/os/access.c 2024-01-16 16:38:49.000000000 +0700 ++++ source-new/os/access.c 2025-10-01 07:22:43.931644468 +0700 +@@ -446,7 +446,7 @@ + int family; + register HOST *host; + +-#ifndef WIN32 ++#if !defined(WIN32) && !defined(__redox__) + struct utsname name; + #else + struct { +@@ -477,7 +477,7 @@ + * uname() lets me access to the whole string (it smashes release, you + * see), whereas gethostname() kindly truncates it for me. + */ +-#ifndef WIN32 ++#if !defined(WIN32) && !defined(__redox__) + uname(&name); + #else + gethostname(name.nodename, sizeof(name.nodename)); diff --git a/recipes/wip/web/basilisk/recipe.toml b/recipes/wip/web/basilisk/recipe.toml new file mode 100644 index 00000000..49c97184 --- /dev/null +++ b/recipes/wip/web/basilisk/recipe.toml @@ -0,0 +1,17 @@ +#TODO determine build instructions: https://repo.palemoon.org/Basilisk-Dev/Basilisk/src/branch/master/build-scripts/linux/build_basilisk_subscripts/run_inside_docker.sh +# dependencies: https://basilisk-browser.org/requirements.html +[source] +tar = "https://dl.basilisk-browser.org/basilisk-2025.10.10-source.tar.xz" +[build] +template = "custom" +dependencies = [ + "gtk3", + "glib", + "pango", + "dbus", + "libalsa", + "libxt", + "openssl3", + "sqlite3", + "libpulse", +] diff --git a/recipes/wip/web/chromium/recipe.toml b/recipes/wip/web/chromium/recipe.toml new file mode 100644 index 00000000..9401e19d --- /dev/null +++ b/recipes/wip/web/chromium/recipe.toml @@ -0,0 +1,44 @@ +#TODO missing script for building: https://chromium.googlesource.com/chromium/src/+/main/docs/linux/build_instructions.md +#TODO determine minimum dependencies +# dependencies reference: +# https://chromium.googlesource.com/chromium/src/+/main/build/install-build-deps.py#214 +# https://chromium.googlesource.com/chromium/src/+/main/build/install-build-deps.py#355 +[source] +tar = "https://commondatastorage.googleapis.com/chromium-browser-official/chromium-119.0.6045.123.tar.xz" +[build] +template = "custom" +# dependencies = [ +# "gtk3", +# "nss", +# "nspr", +# "xdg-utils", +# "libgcrypt", +# "dbus", +# "libva", +# "libffi", +# "fontconfig", +# "libjpeg", +# "libflac", +# "libxml2", +# "ffmpeg6", +# "libwebp", +# "opus", +# "harfbuzz", +# "libpng", +# "freetype2", +# "bzip2", +# "expat", +# "glib", +# "cairo", +# "atk", +# "libcap", +# "pango", +# "java21", +# "libpulse", +# "libx11", +# "libxtst", +# "libxkbcommon", +# ] +script = """ +DYNAMIC_INIT +""" diff --git a/recipes/wip/web/dillo/recipe.toml b/recipes/wip/web/dillo/recipe.toml new file mode 100644 index 00000000..53f234e5 --- /dev/null +++ b/recipes/wip/web/dillo/recipe.toml @@ -0,0 +1,15 @@ +#TODO not compiled or tested +# build instructions: https://github.com/dillo-browser/dillo/blob/master/doc/install.md +[source] +tar = "https://github.com/dillo-browser/dillo/releases/download/v3.2.0/dillo-3.2.0.tar.bz2" +[build] +template = "configure" +dependencies = [ + "fltk13", + "openssl3", + "zlib", + "libpng", + "libjpeg", + "libwebp", + "libbrotli", +] diff --git a/recipes/wip/web/dirble/recipe.toml b/recipes/wip/web/dirble/recipe.toml new file mode 100644 index 00000000..1dcbfc7d --- /dev/null +++ b/recipes/wip/web/dirble/recipe.toml @@ -0,0 +1,8 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/Isona/dirble" +[build] +template = "cargo" +dependencies = [ + "openssl1", +] diff --git a/recipes/wip/web/elinks/recipe.toml b/recipes/wip/web/elinks/recipe.toml new file mode 100644 index 00000000..408ac7a7 --- /dev/null +++ b/recipes/wip/web/elinks/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +#TODO determine dependencies +# build instructions: https://github.com/rkd77/elinks/blob/master/INSTALL +[source] +tar = "https://github.com/rkd77/elinks/releases/download/v0.18.0/elinks-0.18.0.tar.xz" +[build] +template = "meson" diff --git a/recipes/wip/web/faircamp/recipe.toml b/recipes/wip/web/faircamp/recipe.toml new file mode 100644 index 00000000..3c523ae2 --- /dev/null +++ b/recipes/wip/web/faircamp/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://codeberg.org/simonrepp/faircamp" +[build] +template = "cargo" diff --git a/recipes/wip/web/firefox-esr/mozconfig b/recipes/wip/web/firefox-esr/mozconfig new file mode 100644 index 00000000..8d2ce92d --- /dev/null +++ b/recipes/wip/web/firefox-esr/mozconfig @@ -0,0 +1,3 @@ +ac_add_options --disable-tests +ac_add_options --target="{TARGET}" +ac_add_options --enable-bootstrap diff --git a/recipes/wip/web/firefox-esr/recipe.toml b/recipes/wip/web/firefox-esr/recipe.toml new file mode 100644 index 00000000..f27ac5e1 --- /dev/null +++ b/recipes/wip/web/firefox-esr/recipe.toml @@ -0,0 +1,31 @@ +#TODO missing script for mach: https://firefox-source-docs.mozilla.org/setup/linux_build.html +# dependencies: https://packages.gentoo.org/packages/www-client/firefox/dependencies +# feature flags: https://wiki.gentoo.org/wiki/Firefox#USE_flags +[source] +tar = "https://ftp.mozilla.org/pub/firefox/releases/115.13.0esr/source/firefox-115.13.0esr.source.tar.xz" +[build] +template = "custom" +dependencies = [ + "fontconfig", + "atk", + "cairo", + "dbus", + "libffi", + "freetype2", + "gdk-pixbuf", + "glib", + "gtk3", + "pango", + "sqlite3", + "nss-nspr", + "startup-notification", + "zlib", + "ffmpeg6", + "expat", + "libepoxy", + "pipewire", +] +script = """ +DYNAMIC_INIT +export MOZCONFIG="${COOKBOOK_RECIPE}/mozconfig" +""" diff --git a/recipes/wip/web/gnome-web/recipe.toml b/recipes/wip/web/gnome-web/recipe.toml new file mode 100644 index 00000000..b106ca73 --- /dev/null +++ b/recipes/wip/web/gnome-web/recipe.toml @@ -0,0 +1,40 @@ +# TODO: Need to port more libs +# newer version requires c_std=gnu23 +[source] +tar = "https://github.com/GNOME/epiphany/archive/refs/tags/46.4.tar.gz" + +[build] +dependencies = [ + "cairo", +# "gck2", +# "gcr4", + "gdk-pixbuf", + "gio2", +# "gio-unix2", +# "glib2", +# "granite7", +# "gsettings-desktop-schemas", + "gstreamer", + "gtk4", +# "gtk4-unix-print", +# "hogweed", +# "iso-codes", + "json-glib", + "libarchive", + "libadwaita", +# "libsecret", + "libsoup", + "libxml2", + "libnettle", +# "libportal-gtk4", + "sqlite3", +# "webkitgtk6", +# "webkitgtk-web-process-extension6" +] + +template = "custom" +script = """ +DYNAMIC_INIT + +cookbook_meson +""" diff --git a/recipes/wip/web/gosub/recipe.toml b/recipes/wip/web/gosub/recipe.toml new file mode 100644 index 00000000..1892bbf9 --- /dev/null +++ b/recipes/wip/web/gosub/recipe.toml @@ -0,0 +1,16 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/gosub-browser/gosub-engine" +[build] +template = "custom" +script = """ +binary=renderer +"${COOKBOOK_CARGO}" build \ + --manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \ + --bin "${binary}" \ + --release + mkdir -pv "${COOKBOOK_STAGE}/usr/bin" + cp -v \ + "target/${TARGET}/release/${binary}" \ + "${COOKBOOK_STAGE}/usr/bin/${binary}" +""" diff --git a/recipes/wip/web/librewolf/mozconfig b/recipes/wip/web/librewolf/mozconfig new file mode 100644 index 00000000..8d2ce92d --- /dev/null +++ b/recipes/wip/web/librewolf/mozconfig @@ -0,0 +1,3 @@ +ac_add_options --disable-tests +ac_add_options --target="{TARGET}" +ac_add_options --enable-bootstrap diff --git a/recipes/wip/web/librewolf/recipe.toml b/recipes/wip/web/librewolf/recipe.toml new file mode 100644 index 00000000..02647b9d --- /dev/null +++ b/recipes/wip/web/librewolf/recipe.toml @@ -0,0 +1,31 @@ +#TODO missing script for mach: https://codeberg.org/librewolf/source#librewolf-build-instructions +# dependencies: https://packages.gentoo.org/packages/www-client/firefox/dependencies +# feature flags: https://wiki.gentoo.org/wiki/Firefox#USE_flags +[source] +tar = "https://gitlab.com/api/v4/projects/32320088/packages/generic/librewolf-source/144.0.2-1/librewolf-144.0.2-1.source.tar.gz" +[build] +template = "custom" +dependencies = [ + "fontconfig", + "atk", + "cairo", + "dbus", + "libffi", + "freetype2", + "gdk-pixbuf", + "glib", + "gtk3", + "pango", + "sqlite3", + "nss-nspr", + "startup-notification", + "zlib", + "ffmpeg6", + "expat", + "libepoxy", + "pipewire", +] +script = """ +DYNAMIC_INIT +export MOZCONFIG="${COOKBOOK_RECIPE}/mozconfig" +""" diff --git a/recipes/wip/web/marmite/recipe.toml b/recipes/wip/web/marmite/recipe.toml new file mode 100644 index 00000000..e29ba59c --- /dev/null +++ b/recipes/wip/web/marmite/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/rochacbruno/marmite" +[build] +template = "cargo" diff --git a/recipes/wip/web/monolith/recipe.toml b/recipes/wip/web/monolith/recipe.toml new file mode 100644 index 00000000..de4096e2 --- /dev/null +++ b/recipes/wip/web/monolith/recipe.toml @@ -0,0 +1,13 @@ +#TODO compiled but not tested (after cargo update) +[source] +git = "https://github.com/Y2Z/monolith" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +export OPENSSL_DIR="${COOKBOOK_SYSROOT}" +export OPENSSL_STATIC="true" +cookbook_cargo +""" diff --git a/recipes/wip/web/pale-moon/.mozconfig b/recipes/wip/web/pale-moon/.mozconfig new file mode 100644 index 00000000..5d85067c --- /dev/null +++ b/recipes/wip/web/pale-moon/.mozconfig @@ -0,0 +1,35 @@ +# Clear this if not a 64bit build +_BUILD_64=1 + +# Set GTK Version to 2 or 3 +_GTK_VERSION=3 + +# Standard build options for Pale Moon +ac_add_options --enable-application=palemoon +ac_add_options --enable-optimize="-O2 -w" +ac_add_options --enable-default-toolkit=cairo-gtk$_GTK_VERSION +ac_add_options --enable-jemalloc +ac_add_options --enable-strip +ac_add_options --enable-devtools +ac_add_options --enable-av1 +ac_add_options --enable-jxl +ac_add_options --disable-webrtc +ac_add_options --disable-gamepad +ac_add_options --disable-tests +ac_add_options --disable-debug +ac_add_options --disable-necko-wifi +ac_add_options --disable-updater +ac_add_options --with-pthreads + +# Please see https://www.palemoon.org/redist.shtml for restrictions when using the official branding. +ac_add_options --enable-official-branding +export MOZILLA_OFFICIAL=1 + +# Processor architecture specific build options +if [ -n "$_BUILD_64" ]; then + ac_add_options --x-libraries=/usr/lib64 +else + ac_add_options --x-libraries=/usr/lib +fi + +export MOZ_PKG_SPECIAL=gtk$_GTK_VERSION \ No newline at end of file diff --git a/recipes/wip/web/pale-moon/recipe.toml b/recipes/wip/web/pale-moon/recipe.toml new file mode 100644 index 00000000..18aace63 --- /dev/null +++ b/recipes/wip/web/pale-moon/recipe.toml @@ -0,0 +1,18 @@ +#TODO missing script for mach: https://developer.palemoon.org/build/linux/ +[source] +tar = "https://repo.palemoon.org/MoonchildProductions/Pale-Moon/archive/33.9.1_Release.tar.gz" +[build] +template = "custom" +dependencies = [ + "gtk3", + "glib", + "pango", + "dbus", + "mesa", + "libxt", + "openssl1", + "sqlite3", + "libpulse", + "libalsa", + "libx11", +] diff --git a/recipes/wip/web/rustyink/recipe.toml b/recipes/wip/web/rustyink/recipe.toml new file mode 100644 index 00000000..3619d3bd --- /dev/null +++ b/recipes/wip/web/rustyink/recipe.toml @@ -0,0 +1,5 @@ +#TODO ahash crate error +[source] +git = "https://github.com/arjunkomath/rustyink" +[build] +template = "cargo" diff --git a/recipes/wip/web/servo/.servobuild b/recipes/wip/web/servo/.servobuild new file mode 100644 index 00000000..09a2abc3 --- /dev/null +++ b/recipes/wip/web/servo/.servobuild @@ -0,0 +1,61 @@ +# Copy this file to .servobuild in the Servo root directory + +# Paths starting with "./" are relative to the repo root + +# Tool options +[tools] + +[build] + +# Set "mode = dev" or use `mach build --dev` to build the project with warning. +# or Set "mode = release" or use `mach build --release` for optimized build. +# Use `mode = ` or `mach build --profile=` to build the given +# profile. Check the `Cargo.toml` manifest for a complete list of custom profiles. +# Defaults to prompting before building +#mode = "dev" + + +# Set "android = true" or use `mach build --android` to build the Android app. +android = false + +# Enable `debug_assert!` macros in release mode +debug-assertions = true + +# Set "debug-mozjs" or use `mach build --debug-mozjs` to build a debug spidermonkey. +debug-mozjs = false + +# When a GL error occurs as a result of a WebGL operation, print the stack trace for the content +# JS and native Rust code that triggered the failed operation. Warning: very slow. +webgl-backtrace = false + +# When a DOM exception is reported, print the stack trace for the content JS and native Rust code +# that triggered it. +dom-backtrace = false + +# Pick a media stack based on the target. Other values are "gstreamer" and "dummy" +media-stack = "dummy" + +# Set to the path to your ccache binary to enable caching of compiler outputs +#ccache = "/usr/local/bin/ccache" + +# Any optional flags that will be added to $RUSTFLAGS +#rustflags = "" + +# Enable or disable rustc’s incremental compilation +# Cargo’s default is to enable it in debug mode but not in release mode. +# Leaving this key unspecified makes mach keep Cargo’s default. +# It can be set to true or false in order to always enable or always disable +# incremental compilation. +#incremental = false +#incremental = true + +# Android information +[android] +# Defaults to the value of $ANDROID_SDK_ROOT, $ANDROID_NDK_ROOT respectively +#sdk = "/opt/android-sdk" +#ndk = "/opt/android-ndk" + +# OpenHarmony +[ohos] +# Defaults to the value of $OHOS_SDK_NATIVE +#ndk = "/path/to/ohos-sdk//native" diff --git a/recipes/wip/web/servo/recipe.toml b/recipes/wip/web/servo/recipe.toml new file mode 100644 index 00000000..8bc27b63 --- /dev/null +++ b/recipes/wip/web/servo/recipe.toml @@ -0,0 +1,53 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/servo.git" +branch = "redox" + +[build] +template = "custom" +dependencies = [ + "expat", + "fontconfig", + "freetype2", + "libpng", + "libstdcxx-v3", + "mesa", + "zlib", +] +script = """ +DYNAMIC_INIT + +cp -v "${COOKBOOK_RECIPE}/.servobuild" "${COOKBOOK_SOURCE}/.servobuild" + +# jemalloc specific configuration +export JEMALLOC_SYS_WITH_LG_PAGE=16 +export TARGET_CC="$CC" +export TARGET_CXX="$CXX" +export TARGET_AR="$AR" + +# pkg-config crate can only recognize one path to pkgconfig +export PKG_CONFIG_PATH_x86_64_unknown_redox="${COOKBOOK_SYSROOT}/lib/pkgconfig" +export PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_redox="${COOKBOOK_SYSROOT}/lib/pkgconfig" +# rsync -a -v ${COOKBOOK_SYSROOT}/usr/share/pkgconfig/*.pc ${COOKBOOK_SYSROOT}/lib/pkgconfig/ + +export RUSTFLAGS="$RUSTFLAGS -L native=${COOKBOOK_SYSROOT}/lib -C link-arg=-Wl,-rpath-link,${COOKBOOK_SYSROOT}/lib" + +#TODO: mozjs-sys and mozangle uses clang, it won't know our prefix C libraries, so here's the workaround +PREFIX_INCLUDE="$COOKBOOK_HOST_SYSROOT/$TARGET/include" +export CLANGFLAGS="-I $PREFIX_INCLUDE/c++/13.2.0 -I $PREFIX_INCLUDE/c++/13.2.0/$TARGET -I $PREFIX_INCLUDE/c++/13.2.0/backward -I $PREFIX_INCLUDE" + +#Mozjs specifics +export CARGO_MAKEFLAGS="-j $COOKBOOK_MAKE_JOBS" CCACHE="sccache" + +PACKAGE_PATH="ports/servoshell" cookbook_cargo + +# resources packaging +mkdir -p ${COOKBOOK_STAGE}/usr/lib/servo/bin +mv ${COOKBOOK_STAGE}/usr/bin/servo ${COOKBOOK_STAGE}/usr/lib/servo/bin/ +ln -s ../lib/servo/bin/servo ${COOKBOOK_STAGE}/usr/bin/servo +rsync -a -v ${COOKBOOK_SOURCE}/resources ${COOKBOOK_STAGE}/usr/lib/servo/ +""" + +[package] +dependencies = [ + "mesa" +] diff --git a/recipes/wip/web/sitesmith/recipe.toml b/recipes/wip/web/sitesmith/recipe.toml new file mode 100644 index 00000000..9cfc38cd --- /dev/null +++ b/recipes/wip/web/sitesmith/recipe.toml @@ -0,0 +1,5 @@ +#TODO compiled but not tested +[source] +git = "https://github.com/BradenEverson/sitesmith" +[build] +template = "cargo" diff --git a/recipes/wip/web/spider/recipe.toml b/recipes/wip/web/spider/recipe.toml new file mode 100644 index 00000000..e153a931 --- /dev/null +++ b/recipes/wip/web/spider/recipe.toml @@ -0,0 +1,11 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/spider-rs/spider" +[build] +template = "custom" +dependencies = [ + "openssl1", +] +script = """ +cookbook_cargo_packages spider_cli +""" diff --git a/recipes/wip/web/surf/recipe.toml b/recipes/wip/web/surf/recipe.toml new file mode 100644 index 00000000..e824c8b9 --- /dev/null +++ b/recipes/wip/web/surf/recipe.toml @@ -0,0 +1,9 @@ +#TODO missing script for gnu make +# build instructions: https://git.suckless.org/surf/file/README.html +[source] +tar = "https://dl.suckless.org/surf/surf-2.1.tar.gz" +[build] +template = "custom" +dependencies = [ + "webkitgtk3", +] diff --git a/recipes/wip/web/teacat/recipe.toml b/recipes/wip/web/teacat/recipe.toml new file mode 100644 index 00000000..d73bef3f --- /dev/null +++ b/recipes/wip/web/teacat/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/Ultrasquid9/TeaCat" +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/teacat +cp -rv "${COOKBOOK_SOURCE}"/test.tcat "${COOKBOOK_STAGE}"/usr/share/teacat +cookbook_cargo +""" diff --git a/recipes/wip/web/verso/recipe.toml b/recipes/wip/web/verso/recipe.toml new file mode 100644 index 00000000..b83af125 --- /dev/null +++ b/recipes/wip/web/verso/recipe.toml @@ -0,0 +1,18 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/versotile-org/verso" +[build] +template = "cargo" +dependencies = [ + "freetype2", + "gettext", + "glib", + "gstreamer", + "harfbuzz", + "libffi", + "libiconv", + "libpng", + "openssl1", + "pcre", + "zlib", +] diff --git a/recipes/wip/web/vidium/recipe.toml b/recipes/wip/web/vidium/recipe.toml new file mode 100644 index 00000000..21dbe516 --- /dev/null +++ b/recipes/wip/web/vidium/recipe.toml @@ -0,0 +1,5 @@ +#TODO cookbook_cargo function error +[source] +git = "https://github.com/s-panferov/vidium" +[build] +template = "cargo" diff --git a/recipes/wip/web/zen-browser/recipe.toml b/recipes/wip/web/zen-browser/recipe.toml new file mode 100644 index 00000000..fd5d8c38 --- /dev/null +++ b/recipes/wip/web/zen-browser/recipe.toml @@ -0,0 +1,8 @@ +#TODO missing script for npm +# build instructions - https://docs.zen-browser.app/building +#TODO analyze the dependencies +[source] +git = "https://github.com/zen-browser/desktop" +branch = "stable" +[build] +template = "custom" diff --git a/recipes/wip/x11/feh/recipe.toml b/recipes/wip/x11/feh/recipe.toml new file mode 100644 index 00000000..8d55c107 --- /dev/null +++ b/recipes/wip/x11/feh/recipe.toml @@ -0,0 +1,31 @@ +[source] +tar = "https://feh.finalrewind.org/feh-3.11.2.tar.bz2" +blake3 = "b9d704e0b37d99068cbc76d2b73c3b6ef673612060d7cfef0f5a3e8886255276" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "freetype2", + "imlib2", + "libpng", + "libxau", + "libxcb", + "libx11", + "libxext", + "libxinerama", + "libxt", + "x11proto", + "zlib", +] +template = "custom" +script = """ +DYNAMIC_INIT +rsync -a --delete "${COOKBOOK_SOURCE}/" ./ +export LDLIBS="$("${PKG_CONFIG}" --libs freetype2 imlib2 libpng x11)" +export PREFIX="/usr" +"${COOKBOOK_MAKE}" curl=0 verscmp=0 +install -Dm0755 src/feh "${COOKBOOK_STAGE}/usr/bin/feh" +""" diff --git a/recipes/wip/x11/font-util/recipe.toml b/recipes/wip/x11/font-util/recipe.toml new file mode 100644 index 00000000..6270e3f0 --- /dev/null +++ b/recipes/wip/x11/font-util/recipe.toml @@ -0,0 +1,6 @@ +[source] +tar = "https://www.x.org/releases/individual/font/font-util-1.4.1.tar.xz" +blake3 = "b430a69efcba19f59d95bcb967aab1d5838b38f2bc94cbc58f6867eeeba21a3e" + +[build] +template = "configure" \ No newline at end of file diff --git a/recipes/wip/x11/i3/i3/recipe.toml b/recipes/wip/x11/i3/i3/recipe.toml new file mode 100644 index 00000000..06758788 --- /dev/null +++ b/recipes/wip/x11/i3/i3/recipe.toml @@ -0,0 +1,20 @@ +#TODO: GLOB_TILDE and wordexp.h +[source] +tar = "https://i3wm.org/downloads/i3-4.24.tar.xz" +blake3 = "3b54ed52759339e545a7a5f602946abc0164c37eb801e79c0cb40f93dbae53d2" + +[build] +dependencies = [ + "cairo", + "libev", + "libxkbcommon-x11", + "pango", + "pcre2", + "startup-notification", + "xcb-util-cursor", + "xcb-util-keysyms", + "xcb-util-wm", + "xcb-util-xrm", + "yajl", +] +template = "meson" diff --git a/recipes/wip/x11/iso-codes/recipe.toml b/recipes/wip/x11/iso-codes/recipe.toml new file mode 100644 index 00000000..d3ac2a97 --- /dev/null +++ b/recipes/wip/x11/iso-codes/recipe.toml @@ -0,0 +1,7 @@ +#TODO: move to appropriate category +[source] +tar = "https://salsa.debian.org/iso-codes-team/iso-codes/-/archive/v4.19.0/iso-codes-v4.19.0.tar.gz" +blake3 = "153cc1748c96c4c6e8a00566aa7d0a573ec45f84c9155afd162cfc7a0cd6314b" + +[build] +template = "configure" diff --git a/recipes/wip/x11/jwm/recipe.toml b/recipes/wip/x11/jwm/recipe.toml new file mode 100644 index 00000000..70d08d5e --- /dev/null +++ b/recipes/wip/x11/jwm/recipe.toml @@ -0,0 +1,45 @@ +[source] +tar = "https://github.com/joewing/jwm/releases/download/v2.4.6/jwm-2.4.6.tar.xz" +blake3 = "08d69eee4584ba9346d4f326581e8538247a37d6fe11dd8604de7a8a7adbdd51" + +[build] +dependencies = [ + "cairo", + "expat", + "fontconfig", + "freetype2", + "fribidi", + "gettext", + "glib", + "harfbuzz", + "libffi", + "libice", + "libiconv", + "libjpeg", + "libpng", + "libpthread-stubs", + #TODO for SVG support: "librsvg", + "libsm", + "libx11", + "libxau", + "libxcb", + "libxext", + "libxft", + "libxmu", + "libxpm", + "libxrender", + "libxt", + "pango", + "pcre2", + "pixman", + "x11proto", + "zlib", +] +template = "custom" +script = """ +DYNAMIC_INIT +export LIBS="-liconv -lintl" +rsync -a --delete "${COOKBOOK_SOURCE}/" ./ +COOKBOOK_CONFIGURE="./configure" +cookbook_configure +""" diff --git a/recipes/wip/x11/keybinder3/recipe.toml b/recipes/wip/x11/keybinder3/recipe.toml new file mode 100644 index 00000000..47378a98 --- /dev/null +++ b/recipes/wip/x11/keybinder3/recipe.toml @@ -0,0 +1,56 @@ +[source] +tar = "https://github.com/kupferlauncher/keybinder/releases/download/keybinder-3.0-v0.3.2/keybinder-3.0-0.3.2.tar.gz" +blake3 = "04b010524abf7af8a6bdfdbeff393c0feecf2bdcc1fd642e75113137ccb62aed" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "atk", + "cairo", + "expat", + "fontconfig", + "freetype2", + "fribidi", + "gdk-pixbuf", + "gettext", + "glib", + "gtk3", + "harfbuzz", + "libepoxy", + "libffi", + "libiconv", + "libicu", + "libjpeg", + "libpng", + "libpthread-stubs", + "libx11", + "libxau", + "libxcb", + "libxext", + "libxfixes", + "libxft", + "libxi", + "libxrandr", + "libxrender", + "libxxf86vm", + "llvm18", + "mesa-x11", + "pango", + "pcre", + "pcre2", + "pixman", + "shared-mime-info", + "x11proto", + "xcb-proto", + "xextproto", + "xtrans", + "zlib", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/x11/leftwm/recipe.toml b/recipes/wip/x11/leftwm/recipe.toml new file mode 100644 index 00000000..8a738d33 --- /dev/null +++ b/recipes/wip/x11/leftwm/recipe.toml @@ -0,0 +1,12 @@ +#TODO: needs mkfifo in nix crate +[source] +git = "https://github.com/leftwm/leftwm" + +[build] +dependencies = [] +template = "custom" +script = """ +DYNAMIC_INIT +COOKBOOK_SOURCE="${COOKBOOK_SOURCE}/leftwm" +cookbook_cargo +""" diff --git a/recipes/wip/x11/libdrm/recipe.toml b/recipes/wip/x11/libdrm/recipe.toml new file mode 100644 index 00000000..5f873e25 --- /dev/null +++ b/recipes/wip/x11/libdrm/recipe.toml @@ -0,0 +1,14 @@ +[source] +tar = "https://gitlab.freedesktop.org/mesa/libdrm/-/archive/libdrm-2.4.125/libdrm-libdrm-2.4.125.tar.gz" +blake3 = "33e6448252639f4ff8a8cd30129b335c5d85356c1c93f8d77a79221003b14f66" +patches = ["redox.patch"] + +[build] +template = "meson" +mesonflags = [ + "-Damdgpu=disabled", + "-Dintel=disabled", + "-Dnouveau=disabled", + "-Dradeon=disabled", + "-Dvmwgfx=disabled", +] \ No newline at end of file diff --git a/recipes/wip/x11/libdrm/redox.patch b/recipes/wip/x11/libdrm/redox.patch new file mode 100644 index 00000000..8d1e755a --- /dev/null +++ b/recipes/wip/x11/libdrm/redox.patch @@ -0,0 +1,80 @@ +diff -ruwN source-old/include/drm/drm.h source/include/drm/drm.h +--- source-old/include/drm/drm.h 2025-06-08 06:27:53.000000000 -0600 ++++ source/include/drm/drm.h 2025-10-30 17:17:33.654234959 -0600 +@@ -44,7 +44,11 @@ + #else /* One of the BSDs */ + + #include ++#if defined(__redox__) ++#include ++#else + #include ++#endif + #include + typedef int8_t __s8; + typedef uint8_t __u8; +diff -ruwN source-old/xf86drm.c source/xf86drm.c +--- source-old/xf86drm.c 2025-06-08 06:27:53.000000000 -0600 ++++ source/xf86drm.c 2025-10-30 17:18:58.374958567 -0600 +@@ -57,6 +57,19 @@ + #ifdef MAJOR_IN_SYSMACROS + #include + #endif ++#if defined(__redox__) ++// From musl sys/sysmacros.h ++#define major(x) \ ++ ((unsigned)( (((x)>>31>>1) & 0xfffff000) | (((x)>>8) & 0x00000fff) )) ++#define minor(x) \ ++ ((unsigned)( (((x)>>12) & 0xffffff00) | ((x) & 0x000000ff) )) ++ ++#define makedev(x,y) ( \ ++ (((x)&0xfffff000ULL) << 32) | \ ++ (((x)&0x00000fffULL) << 8) | \ ++ (((y)&0xffffff00ULL) << 12) | \ ++ (((y)&0x000000ffULL)) ) ++#endif + #if HAVE_SYS_SYSCTL_H + #include + #endif +@@ -304,9 +317,14 @@ + char *modifier_name = NULL; + bool result = false; + ++#if defined(__redox__) ++ fprintf(stderr, "open_memstream not available on Redox\n"); ++ return NULL; ++#else + fp = open_memstream(&modifier_name, &size); + if (!fp) + return NULL; ++#endif + + switch (type) { + case DRM_FORMAT_MOD_ARM_TYPE_AFBC: +@@ -409,9 +427,14 @@ + char *mod_amd = NULL; + size_t size = 0; + ++#if defined(__redox__) ++ fprintf(stderr, "open_memstream not available on Redox\n"); ++ return NULL; ++#else + fp = open_memstream(&mod_amd, &size); + if (!fp) + return NULL; ++#endif + + switch (tile_version) { + case AMD_FMT_MOD_TILE_VER_GFX9: +diff -ruwN source-old/xf86drm.h source/xf86drm.h +--- source-old/xf86drm.h 2025-06-08 06:27:53.000000000 -0600 ++++ source/xf86drm.h 2025-10-30 17:17:33.655115281 -0600 +@@ -47,7 +47,7 @@ + #define DRM_MAX_MINOR 64 /* deprecated */ + #endif + +-#if defined(__linux__) ++#if defined(__linux__) || defined(__redox__) + + #define DRM_IOCTL_NR(n) _IOC_NR(n) + #define DRM_IOC_VOID _IOC_NONE diff --git a/recipes/wip/x11/libfontenc/recipe.toml b/recipes/wip/x11/libfontenc/recipe.toml new file mode 100644 index 00000000..3ba81a4b --- /dev/null +++ b/recipes/wip/x11/libfontenc/recipe.toml @@ -0,0 +1,18 @@ +[source] +tar = "https://www.x.org/releases/individual/lib/libfontenc-1.1.8.tar.xz" +blake3 = "6ab127a335f7cb4892566e59448d91e9ec43ac522f31f97a3c94350f0a3ecaf4" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "x11proto", + "zlib", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/x11/libglvnd/recipe.toml b/recipes/wip/x11/libglvnd/recipe.toml new file mode 100644 index 00000000..46ca86c6 --- /dev/null +++ b/recipes/wip/x11/libglvnd/recipe.toml @@ -0,0 +1,14 @@ +[source] +# meson support not in latest release +git = "https://github.com/NVIDIA/libglvnd.git" + +[build] +dependencies = [ + "libpthread-stubs", + "libx11", + "libxau", + "libxcb", + "libxext", + "x11proto", +] +template = "meson" diff --git a/recipes/wip/x11/libice/recipe.toml b/recipes/wip/x11/libice/recipe.toml new file mode 100644 index 00000000..7a95c567 --- /dev/null +++ b/recipes/wip/x11/libice/recipe.toml @@ -0,0 +1,18 @@ +[source] +tar = "https://www.x.org/releases/individual/lib/libICE-1.1.2.tar.xz" +blake3 = "3d1d41041e0a58799a5e9965fd258a4f6875143102644fbbc71061eb4c652577" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "x11proto", + "xtrans", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/x11/libsm/recipe.toml b/recipes/wip/x11/libsm/recipe.toml new file mode 100644 index 00000000..5cb1d4ee --- /dev/null +++ b/recipes/wip/x11/libsm/recipe.toml @@ -0,0 +1,19 @@ +[source] +tar = "https://www.x.org/releases/individual/lib/libSM-1.2.6.tar.xz" +blake3 = "fccedc1f9781bab20b0084557464099a7b793cd704d4bb702f200def4c96dcd8" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "libice", + "x11proto", + "xtrans", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/x11/libx11/recipe.toml b/recipes/wip/x11/libx11/recipe.toml new file mode 100644 index 00000000..db8a8c44 --- /dev/null +++ b/recipes/wip/x11/libx11/recipe.toml @@ -0,0 +1,21 @@ +[source] +tar = "https://www.x.org/releases/individual/lib/libX11-1.8.12.tar.xz" +blake3 = "5bf1c64733322b6a90d9bce8d2bd2d8117a4950955caa00d0cd7974d42571d1e" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "libpthread-stubs", + "libxau", + "libxcb", + "x11proto", + "xtrans", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure --enable-malloc0returnsnull +""" diff --git a/recipes/wip/x11/libxau/recipe.toml b/recipes/wip/x11/libxau/recipe.toml new file mode 100644 index 00000000..3ea5322b --- /dev/null +++ b/recipes/wip/x11/libxau/recipe.toml @@ -0,0 +1,17 @@ +[source] +tar = "https://www.x.org/releases/individual/lib/libXau-1.0.12.tar.xz" +blake3 = "674bc71a888eec20f0e29989e4669df90309d4baacad058107cdf89d23803bcc" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "x11proto", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/x11/libxaw/recipe.toml b/recipes/wip/x11/libxaw/recipe.toml new file mode 100644 index 00000000..18c37935 --- /dev/null +++ b/recipes/wip/x11/libxaw/recipe.toml @@ -0,0 +1,27 @@ +[source] +tar = "https://www.x.org/releases/individual/lib/libXaw-1.0.16.tar.xz" +blake3 = "f2a3b4955508dc7a576ad473119562b724f7936d312c85c79cb32f614c60f0c5" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "libice", + "libpthread-stubs", + "libsm", + "libx11", + "libxau", + "libxcb", + "libxext", + "libxmu", + "libxpm", + "libxt", + "x11proto", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/x11/libxcb/recipe.toml b/recipes/wip/x11/libxcb/recipe.toml new file mode 100644 index 00000000..4ea52ba7 --- /dev/null +++ b/recipes/wip/x11/libxcb/recipe.toml @@ -0,0 +1,20 @@ +[source] +tar = "https://www.x.org/releases/individual/xcb/libxcb-1.17.0.tar.xz" +blake3 = "3dce3b8adc257177dfec9b6b6cf55eeac13921520dd6c372fd8f9d867600337b" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "libpthread-stubs", + "libxau", + "x11proto", + "xcb-proto", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/x11/libxcomposite/recipe.toml b/recipes/wip/x11/libxcomposite/recipe.toml new file mode 100644 index 00000000..21f06387 --- /dev/null +++ b/recipes/wip/x11/libxcomposite/recipe.toml @@ -0,0 +1,19 @@ +[source] +tar = "https://www.x.org/releases/individual/lib/libXcomposite-0.4.6.tar.xz" +blake3 = "7e02026864066869aefc1d688415b1e8c6ab0b639556f93b6f5e86063aa1bbac" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +template = "custom" +dependencies = [ + "libx11", + "libxfixes", + "x11proto", +] +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/x11/libxcvt/recipe.toml b/recipes/wip/x11/libxcvt/recipe.toml new file mode 100644 index 00000000..8133e595 --- /dev/null +++ b/recipes/wip/x11/libxcvt/recipe.toml @@ -0,0 +1,14 @@ +[source] +tar = "https://www.x.org/releases/individual/lib/libxcvt-0.1.3.tar.xz" +blake3 = "a6c8f264a70a742d2634f53d19489b984c28df11cb5653042e8921f7596534bb" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_meson +""" diff --git a/recipes/wip/x11/libxdamage/recipe.toml b/recipes/wip/x11/libxdamage/recipe.toml new file mode 100644 index 00000000..da8d82d2 --- /dev/null +++ b/recipes/wip/x11/libxdamage/recipe.toml @@ -0,0 +1,19 @@ +[source] +tar = "https://www.x.org/releases/individual/lib/libXdamage-1.1.6.tar.xz" +blake3 = "d3d75f2656027288f87b9ddda8bf019862c63c6e4aeadd92f45870df6c2a7ce9" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +template = "custom" +dependencies = [ + "libx11", + "libxfixes", + "x11proto", +] +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/x11/libxdmcp/recipe.toml b/recipes/wip/x11/libxdmcp/recipe.toml new file mode 100644 index 00000000..ee93e4a6 --- /dev/null +++ b/recipes/wip/x11/libxdmcp/recipe.toml @@ -0,0 +1,17 @@ +[source] +tar = "https://www.x.org/releases/individual/lib/libXdmcp-1.1.5.tar.xz" +blake3 = "d93c5ceb04019228ee6f034c4d10826025a7ae756d7b2f884fc2f768577173ba" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "x11proto" +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/x11/libxext/recipe.toml b/recipes/wip/x11/libxext/recipe.toml new file mode 100644 index 00000000..36a525dc --- /dev/null +++ b/recipes/wip/x11/libxext/recipe.toml @@ -0,0 +1,22 @@ +[source] +tar = "https://www.x.org/releases/individual/lib/libXext-1.3.6.tar.xz" +blake3 = "4c24887ba3913728f3c0be945006f6babbc2c44c8118d4b1ca5366294e3f4406" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "libpthread-stubs", + "libx11", + "libxau", + "libxcb", + "x11proto", + "xextproto", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure --enable-malloc0returnsnull +""" diff --git a/recipes/wip/x11/libxfixes/recipe.toml b/recipes/wip/x11/libxfixes/recipe.toml new file mode 100644 index 00000000..c506e4f8 --- /dev/null +++ b/recipes/wip/x11/libxfixes/recipe.toml @@ -0,0 +1,22 @@ +[source] +tar = "https://www.x.org/releases/individual/lib/libXfixes-6.0.1.tar.xz" +blake3 = "ccbae58717aa81f1ef52a2e6cbb7c57553a98b93f5a7a6f8a78e793a3a0c7f78" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "libpthread-stubs", + "libx11", + "libxau", + "libxcb", + "x11proto", + "xextproto", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/x11/libxfont2/recipe.toml b/recipes/wip/x11/libxfont2/recipe.toml new file mode 100644 index 00000000..761543c5 --- /dev/null +++ b/recipes/wip/x11/libxfont2/recipe.toml @@ -0,0 +1,23 @@ +[source] +tar = "https://www.x.org/releases/individual/lib/libXfont2-2.0.7.tar.xz" +blake3 = "9b4951683df21108e45fda23dbd25dcb47b67a3a0e224a36374fbc2d0f489cac" +patches = ["redox.patch"] +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "freetype2", + "libfontenc", + "libpng", + "x11proto", + "xtrans", + "zlib", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/x11/libxfont2/redox.patch b/recipes/wip/x11/libxfont2/redox.patch new file mode 100644 index 00000000..58a69beb --- /dev/null +++ b/recipes/wip/x11/libxfont2/redox.patch @@ -0,0 +1,25 @@ +--- libXfont2-2.0.7/Makefile.am 2024-08-01 17:38:40.000000000 -0600 ++++ source/Makefile.am 2025-05-02 10:49:08.392987853 -0600 +@@ -159,14 +159,14 @@ + EXTRA_DIST = src/builtins/buildfont README.md + + # Test utilities +-EXTRA_DIST += test/utils/README +- +-TEST_UTIL_SRCS = test/utils/font-test-utils.c test/utils/font-test-utils.h +- +-noinst_PROGRAMS = lsfontdir +- +-lsfontdir_SOURCES = test/utils/lsfontdir.c $(TEST_UTIL_SRCS) +-lsfontdir_LDADD = libXfont2.la $(LTLIBOBJS) ++#EXTRA_DIST += test/utils/README ++# ++#TEST_UTIL_SRCS = test/utils/font-test-utils.c test/utils/font-test-utils.h ++# ++#noinst_PROGRAMS = lsfontdir ++# ++#lsfontdir_SOURCES = test/utils/lsfontdir.c $(TEST_UTIL_SRCS) ++#lsfontdir_LDADD = libXfont2.la $(LTLIBOBJS) + + + MAINTAINERCLEANFILES = ChangeLog INSTALL diff --git a/recipes/wip/x11/libxft/recipe.toml b/recipes/wip/x11/libxft/recipe.toml new file mode 100644 index 00000000..0574d4c9 --- /dev/null +++ b/recipes/wip/x11/libxft/recipe.toml @@ -0,0 +1,27 @@ +[source] +tar = "https://www.x.org/releases/individual/lib/libXft-2.3.9.tar.xz" +blake3 = "db5b642f7d5f1184d0975db36ae9f9fbd0a0c538a2288930fc034376374e83dc" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "expat", + "fontconfig", + "freetype2", + "libpng", + "libpthread-stubs", + "libx11", + "libxau", + "libxcb", + "libxrender", + "x11proto", + "zlib", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/x11/libxi/recipe.toml b/recipes/wip/x11/libxi/recipe.toml new file mode 100644 index 00000000..a1c91570 --- /dev/null +++ b/recipes/wip/x11/libxi/recipe.toml @@ -0,0 +1,24 @@ +[source] +tar = "https://www.x.org/releases/individual/lib/libXi-1.8.2.tar.xz" +blake3 = "8f0acdd884dc928c6c8bc4b6bca1f4c67c726fdb03e30910c09bdb41fd841d3e" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "libpthread-stubs", + "libx11", + "libxau", + "libxcb", + "libxext", + "libxfixes", + "x11proto", + "xextproto", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure --enable-malloc0returnsnull +""" diff --git a/recipes/wip/x11/libxinerama/recipe.toml b/recipes/wip/x11/libxinerama/recipe.toml new file mode 100644 index 00000000..8ae9962d --- /dev/null +++ b/recipes/wip/x11/libxinerama/recipe.toml @@ -0,0 +1,22 @@ +[source] +tar = "https://www.x.org/releases/individual/lib/libXinerama-1.1.5.tar.xz" +blake3 = "58b4020c8a8fb62707f5073f967bf8abbc8dc7cff35c5750fabe097f46a924b4" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "libpthread-stubs", + "libx11", + "libxau", + "libxcb", + "libxext", + "x11proto", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure --enable-malloc0returnsnull +""" diff --git a/recipes/wip/x11/libxkbcommon-x11/recipe.toml b/recipes/wip/x11/libxkbcommon-x11/recipe.toml new file mode 100644 index 00000000..ea53a2ca --- /dev/null +++ b/recipes/wip/x11/libxkbcommon-x11/recipe.toml @@ -0,0 +1,25 @@ +# TODO: Conflict with libxkbcommon-x11 +# TODO: Keyboard not working, see patches +[source] +tar = "https://xkbcommon.org/download/libxkbcommon-1.7.0.tar.xz" +blake3 = "5001ca0b8562feeef2010bf16c05657e3875fda3ed5fdedbf48b9135e5cdfcbc" +patches = [ "redox.patch" ] + +[build] +template = "custom" +dependencies = [ + "libxml2", + "xz", + "zlib", + "libpthread-stubs", + "libxau", + "x11proto", + "xcb-proto", + "libxcb", +] +script = """ +DYNAMIC_INIT +cookbook_meson \ + -Denable-wayland=false \ + -Denable-x11=true +""" diff --git a/recipes/wip/x11/libxkbcommon-x11/redox.patch b/recipes/wip/x11/libxkbcommon-x11/redox.patch new file mode 100644 index 00000000..11a80ca9 --- /dev/null +++ b/recipes/wip/x11/libxkbcommon-x11/redox.patch @@ -0,0 +1,92 @@ +diff --color -ruwN source/meson.build source-new/meson.build +--- source/meson.build 2024-03-24 04:23:43.000000000 +0700 ++++ source-new/meson.build 2025-10-29 10:55:30.355297899 +0700 +@@ -637,8 +637,6 @@ + libxkbcommon_x11_test_internal = static_library( + 'xkbcommon-x11-internal', + libxkbcommon_x11_sources, +- 'test/xvfb-wrapper.c', +- 'test/xvfb-wrapper.h', + include_directories: include_directories('src', 'include'), + link_with: libxkbcommon_test_internal, + dependencies: [ +@@ -768,20 +766,6 @@ + dependencies: test_dep), + env: test_env, + ) +-if get_option('enable-x11') +- test( +- 'x11', +- executable('test-x11', 'test/x11.c', dependencies: x11_test_dep), +- env: test_env, +- is_parallel : false, +- ) +- test( +- 'x11comp', +- executable('test-x11comp', 'test/x11comp.c', dependencies: x11_test_dep), +- env: test_env, +- is_parallel : false, +- ) +-endif + if get_option('enable-xkbregistry') + test( + 'registry', +diff --color -ruwN source/src/x11/util.c source-new/src/x11/util.c +--- source/src/x11/util.c 2024-03-24 04:23:43.000000000 +0700 ++++ source-new/src/x11/util.c 2025-10-29 15:03:58.879274347 +0700 +@@ -39,7 +39,7 @@ + uint16_t server_major, server_minor; + + if (flags & ~(XKB_X11_SETUP_XKB_EXTENSION_NO_FLAGS)) { +- /* log_err_func(ctx, "unrecognized flags: %#x\n", flags); */ ++ printf("unrecognized flags: %#x\n", flags); + return 0; + } + +@@ -47,12 +47,12 @@ + const xcb_query_extension_reply_t *reply = + xcb_get_extension_data(conn, &xcb_xkb_id); + if (!reply) { +- /* log_err_func(ctx, "failed to query for XKB extension\n"); */ ++ printf("failed to query for XKB extension\n"); + return 0; + } + + if (!reply->present) { +- /* log_err_func(ctx, "failed to start using XKB extension: not available in server\n"); */ ++ printf("failed to start using XKB extension: not available in server\n"); + return 0; + } + +@@ -68,20 +68,21 @@ + xcb_xkb_use_extension_reply(conn, cookie, &error); + + if (!reply) { +- /* log_err_func(ctx, */ +- /* "failed to start using XKB extension: error code %d\n", */ +- /* error ? error->error_code : -1); */ ++ printf( ++ "failed to start using XKB extension: error code %d\n", ++ error ? error->error_code : -1); + free(error); + return 0; + } + +- if (!reply->supported) { +- /* log_err_func(ctx, */ +- /* "failed to start using XKB extension: server doesn't support version %d.%d\n", */ +- /* major_xkb_version, minor_xkb_version); */ +- free(reply); +- return 0; +- } ++ // FIXME: Figure out why winit/servo throwing this ++ // if (!reply->supported) { ++ // printf( ++ // "failed to start using XKB extension: server doesn't support version %d.%d\n", ++ // major_xkb_version, minor_xkb_version); ++ // free(reply); ++ // return 0; ++ // } + + server_major = reply->serverMajor; + server_minor = reply->serverMinor; diff --git a/recipes/wip/x11/libxkbfile/recipe.toml b/recipes/wip/x11/libxkbfile/recipe.toml new file mode 100644 index 00000000..7ce5bb35 --- /dev/null +++ b/recipes/wip/x11/libxkbfile/recipe.toml @@ -0,0 +1,22 @@ +[source] +tar = "https://www.x.org/releases/individual/lib/libxkbfile-1.1.3.tar.xz" +blake3 = "9566ee417df1127f21dd0e1fbcfcc14dacb366c07a1ec2de51f89af12535c06d" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies =[ + "libpthread-stubs", + "libx11", + "libxau", + "libxcb", + "x11proto", + "x11proto-kb", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/x11/libxklavier/recipe.toml b/recipes/wip/x11/libxklavier/recipe.toml new file mode 100644 index 00000000..fdbc3dad --- /dev/null +++ b/recipes/wip/x11/libxklavier/recipe.toml @@ -0,0 +1,22 @@ +[source] +tar = "https://download.gnome.org/sources/libxklavier/5.3/libxklavier-5.3.tar.xz" +blake3 = "4811b8e069faef364b0cdd230dd7e42bc4afc279cb15282b68c11e89518c8930" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "glib", + "iso-codes", + "libx11", + "libxi", + "libxkbfile", + "libxml2", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/x11/libxmu/recipe.toml b/recipes/wip/x11/libxmu/recipe.toml new file mode 100644 index 00000000..7ac3dd38 --- /dev/null +++ b/recipes/wip/x11/libxmu/recipe.toml @@ -0,0 +1,27 @@ +[source] +tar = "https://www.x.org/releases/individual/lib/libXmu-1.2.1.tar.xz" +blake3 = "466f7ab160c4e9f04866e9c895dbecb6a76ed1817ae16721d404c556d88f047e" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "libice", + "libpthread-stubs", + "libsm", + "libx11", + "libxau", + "libxcb", + "libxext", + "libxt", + "x11proto", + "x11proto-kb", + "xextproto", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/x11/libxpm/recipe.toml b/recipes/wip/x11/libxpm/recipe.toml new file mode 100644 index 00000000..bec80a26 --- /dev/null +++ b/recipes/wip/x11/libxpm/recipe.toml @@ -0,0 +1,21 @@ +[source] +tar = "https://www.x.org/releases/individual/lib/libXpm-3.5.17.tar.xz" +blake3 = "0cc9bbdc6d9c9d6ce100249b7bb68bff4550de43ee31d815fd9b21c8d178cd9e" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "libpthread-stubs", + "libx11", + "libxau", + "libxcb", + "x11proto", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/x11/libxrandr/recipe.toml b/recipes/wip/x11/libxrandr/recipe.toml new file mode 100644 index 00000000..9e6d29ea --- /dev/null +++ b/recipes/wip/x11/libxrandr/recipe.toml @@ -0,0 +1,24 @@ +[source] +tar = "https://www.x.org/releases/individual/lib/libXrandr-1.5.4.tar.xz" +blake3 = "c107a47d9c4329996d74d7a1ab8d254a2cf3aecea1575d7e146da9a06b762081" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "libpthread-stubs", + "libx11", + "libxau", + "libxcb", + "libxext", + "libxrender", + "x11proto", + "xextproto", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure --enable-malloc0returnsnull +""" diff --git a/recipes/wip/x11/libxrender/recipe.toml b/recipes/wip/x11/libxrender/recipe.toml new file mode 100644 index 00000000..f5f67163 --- /dev/null +++ b/recipes/wip/x11/libxrender/recipe.toml @@ -0,0 +1,21 @@ +[source] +tar = "https://www.x.org/releases/individual/lib/libXrender-0.9.12.tar.xz" +blake3 = "900b431ad77835029a88fd0d874bbd0d748ff150b9e0c3841b3ce7a346cf396a" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "libpthread-stubs", + "libx11", + "libxau", + "libxcb", + "x11proto", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure --enable-malloc0returnsnull +""" diff --git a/recipes/wip/x11/libxres/recipe.toml b/recipes/wip/x11/libxres/recipe.toml new file mode 100644 index 00000000..ae9027da --- /dev/null +++ b/recipes/wip/x11/libxres/recipe.toml @@ -0,0 +1,18 @@ +[source] +tar = "https://www.x.org/releases/individual/lib/libXres-1.2.3.tar.xz" +blake3 = "ed6e65e554fb812ddbec0667d749cb6c0488a964d7b12a7c4c2cadac1287088f" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "libx11", + "libxext", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure --enable-malloc0returnsnull +""" diff --git a/recipes/wip/x11/libxscrnsaver/recipe.toml b/recipes/wip/x11/libxscrnsaver/recipe.toml new file mode 100644 index 00000000..4963e526 --- /dev/null +++ b/recipes/wip/x11/libxscrnsaver/recipe.toml @@ -0,0 +1,10 @@ +[source] +tar = "https://www.x.org/releases/individual/lib/libXScrnSaver-1.2.5.tar.xz" +blake3 = "1efbadb14238f8679abb5e56bc99765b96565ee992bbab86cee88248c57f6240" + +[build] +dependencies = [ + "libx11", + "libxext", +] +template = "meson" diff --git a/recipes/wip/x11/libxshmfence/recipe.toml b/recipes/wip/x11/libxshmfence/recipe.toml new file mode 100644 index 00000000..bd9764ec --- /dev/null +++ b/recipes/wip/x11/libxshmfence/recipe.toml @@ -0,0 +1,16 @@ +[source] +tar = "https://www.x.org/releases/individual/lib/libxshmfence-1.3.tar.gz" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "x11proto", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/x11/libxt/recipe.toml b/recipes/wip/x11/libxt/recipe.toml new file mode 100644 index 00000000..f764c7df --- /dev/null +++ b/recipes/wip/x11/libxt/recipe.toml @@ -0,0 +1,24 @@ +[source] +tar = "https://www.x.org/releases/individual/lib/libXt-1.3.1.tar.xz" +blake3 = "fbf21683ce3e6d104529289254977bb08b355ecf7a36c763e8369acf85f15f24" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "libice", + "libpthread-stubs", + "libsm", + "libx11", + "libxau", + "libxcb", + "x11proto", + "x11proto-kb", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure --enable-malloc0returnsnull +""" diff --git a/recipes/wip/x11/libxxf86vm/recipe.toml b/recipes/wip/x11/libxxf86vm/recipe.toml new file mode 100644 index 00000000..cbefd2e7 --- /dev/null +++ b/recipes/wip/x11/libxxf86vm/recipe.toml @@ -0,0 +1,22 @@ +[source] +tar = "https://www.x.org/releases/individual/lib/libXxf86vm-1.1.6.tar.xz" +blake3 = "cd99c05a03e81f8579a56272debd554b2a44c2ac8211f0170a39be86e03221bb" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "libpthread-stubs", + "libx11", + "libxau", + "libxcb", + "libxext", + "x11proto", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure --enable-malloc0returnsnull +""" diff --git a/recipes/wip/x11/lxde/libfm-extra/recipe.toml b/recipes/wip/x11/lxde/libfm-extra/recipe.toml new file mode 100644 index 00000000..0d9e6a5d --- /dev/null +++ b/recipes/wip/x11/lxde/libfm-extra/recipe.toml @@ -0,0 +1,22 @@ +[source] +tar = "https://github.com/lxde/libfm/archive/refs/tags/1.4.0.tar.gz" +blake3 = "b43b4a87b199fb0c6df08f09c7b12e4a545963fc0f4ffac48f8db2a425e47351" +script = """ +DYNAMIC_INIT +mkdir -p m4 +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "gettext", + "libffi", + "glib", + "pcre2", + "zlib", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure --with-extra-only +""" diff --git a/recipes/wip/x11/lxde/libfm-gtk3/recipe.toml b/recipes/wip/x11/lxde/libfm-gtk3/recipe.toml new file mode 100644 index 00000000..ea5d3840 --- /dev/null +++ b/recipes/wip/x11/lxde/libfm-gtk3/recipe.toml @@ -0,0 +1,61 @@ +[source] +tar = "https://github.com/lxde/libfm/archive/refs/tags/1.4.0.tar.gz" +blake3 = "b43b4a87b199fb0c6df08f09c7b12e4a545963fc0f4ffac48f8db2a425e47351" +script = """ +DYNAMIC_INIT +mkdir -p m4 +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "atk", + "cairo", + "expat", + "fontconfig", + "freetype2", + "fribidi", + "gdk-pixbuf", + "gettext", + "glib", + "gtk3", + "harfbuzz", + "libepoxy", + "libffi", + "libfm-extra", + "libiconv", + "libicu", + "libjpeg", + "libmenu-cache", + "libpng", + "libpthread-stubs", + "libx11", + "libxau", + "libxcb", + "libxext", + "libxfixes", + "libxft", + "libxi", + "libxrandr", + "libxrender", + "libxxf86vm", + "llvm18", + "mesa-x11", + "pango", + "pcre", + "pcre2", + "pixman", + "shared-mime-info", + "x11proto", + "xcb-proto", + "xextproto", + "xtrans", + "zlib", +] +template = "custom" +script = """ +DYNAMIC_INIT +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ +COOKBOOK_CONFIGURE="./configure" +cookbook_configure --disable-old-actions --disable-silent-rules --with-gtk=3 +""" diff --git a/recipes/wip/x11/lxde/libmenu-cache/recipe.toml b/recipes/wip/x11/lxde/libmenu-cache/recipe.toml new file mode 100644 index 00000000..af9cbecb --- /dev/null +++ b/recipes/wip/x11/lxde/libmenu-cache/recipe.toml @@ -0,0 +1,26 @@ +[source] +tar = "https://github.com/lxde/menu-cache/archive/refs/tags/1.1.1.tar.gz" +blake3 = "6490180be8851c23beec69a507f7285b94491c0b7ef955f7bc217095efb091ae" +script = """ +DYNAMIC_INIT +mkdir -p m4 +autotools_recursive_regenerate +sed -i 's|#include |#include |g' libmenu-cache/menu-cache.c +sed -i 's|#include |#include |g' menu-cache-daemon/menu-cached.c +""" + +[build] +dependencies = [ + "gettext", + "glib", + "libffi", + "libfm-extra", + "libiconv", + "pcre2", + "zlib", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/x11/lxde/lxpanel/recipe.toml b/recipes/wip/x11/lxde/lxpanel/recipe.toml new file mode 100644 index 00000000..504f6912 --- /dev/null +++ b/recipes/wip/x11/lxde/lxpanel/recipe.toml @@ -0,0 +1,63 @@ +[source] +tar = "https://github.com/lxde/lxpanel/archive/refs/tags/0.11.1.tar.gz" +blake3 = "5f94d410403499485d3abb6885407d6006e5029da538a1b882c670904ac616a5" +script = """ +DYNAMIC_INIT +mkdir -p m4 +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "atk", + "cairo", + "expat", + "fontconfig", + "freetype2", + "fribidi", + "gdk-pixbuf", + "gettext", + "glib", + "gtk3", + "harfbuzz", + "keybinder3", + "libepoxy", + "libffi", + "libfm-gtk3", + "libiconv", + "libicu", + "libjpeg", + "libmenu-cache", + "libpng", + "libpthread-stubs", + "libwnck3", + "libx11", + "libxau", + "libxcb", + "libxext", + "libxfixes", + "libxft", + "libxi", + "libxrandr", + "libxrender", + "libxxf86vm", + "llvm18", + "mesa-x11", + "pango", + "pcre", + "pcre2", + "pixman", + "shared-mime-info", + "x11proto", + "xcb-proto", + "xextproto", + "xtrans", + "zlib", +] +template = "custom" +script = """ +DYNAMIC_INIT +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ +COOKBOOK_CONFIGURE="./configure" +cookbook_configure --enable-gtk3 --with-plugins=all,-cpu,-netstat,-netstatus,-weather +""" diff --git a/recipes/wip/x11/mate/caja/recipe.toml b/recipes/wip/x11/mate/caja/recipe.toml new file mode 100644 index 00000000..79f77db5 --- /dev/null +++ b/recipes/wip/x11/mate/caja/recipe.toml @@ -0,0 +1,20 @@ +[source] +tar = "https://github.com/mate-desktop/caja/releases/download/v1.26.4/caja-1.26.4.tar.xz" +blake3 = "a70f5ce8dcb038d78346b385b2abd4d29a3e13c99b368a617c38107a9e725617" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "libice", + "libmate-desktop-2", + "libnotify", + "libsm", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/x11/mate/dbus-glib/recipe.toml b/recipes/wip/x11/mate/dbus-glib/recipe.toml new file mode 100644 index 00000000..c18fa807 --- /dev/null +++ b/recipes/wip/x11/mate/dbus-glib/recipe.toml @@ -0,0 +1,19 @@ +[source] +tar = "https://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-0.114.tar.gz" +blake3 = "a632fb16525a201dd159b9538c6009ec717403d580a3741cbf96fd6f9af2828b" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "dbus", + "expat", + "glib", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure --with-dbus-binding-tool="$(which dbus-binding-tool)" +""" diff --git a/recipes/wip/x11/mate/libmate-desktop-2/recipe.toml b/recipes/wip/x11/mate/libmate-desktop-2/recipe.toml new file mode 100644 index 00000000..f9651e01 --- /dev/null +++ b/recipes/wip/x11/mate/libmate-desktop-2/recipe.toml @@ -0,0 +1,11 @@ +[source] +tar = "https://github.com/mate-desktop/mate-desktop/releases/download/v1.28.2/mate-desktop-1.28.2.tar.xz" +blake3 = "b5897e91e0ad542dc3331209bb260124c8e14d654fcdb2d9a738e9fc23d4d3fa" + +[build] +dependencies = [ + "dconf", + "iso-codes", + "gtk3", +] +template = "meson" diff --git a/recipes/wip/x11/mate/libmate-menu/recipe.toml b/recipes/wip/x11/mate/libmate-menu/recipe.toml new file mode 100644 index 00000000..aca8f232 --- /dev/null +++ b/recipes/wip/x11/mate/libmate-menu/recipe.toml @@ -0,0 +1,12 @@ +[source] +tar = "https://github.com/mate-desktop/mate-menus/archive/refs/tags/v1.28.0.tar.gz" +blake3 = "90b5540ec82bd9a6188d9eaf36bf1f489258aed4d35de53f3958346f892c0d7c" + +[build] +dependencies = [ + "glib", +] +template = "meson" +mesonflags = [ + "-Dintrospection=false", +] diff --git a/recipes/wip/x11/mate/libmatekbd/recipe.toml b/recipes/wip/x11/mate/libmatekbd/recipe.toml new file mode 100644 index 00000000..92daa69f --- /dev/null +++ b/recipes/wip/x11/mate/libmatekbd/recipe.toml @@ -0,0 +1,18 @@ +[source] +tar = "https://github.com/mate-desktop/libmatekbd/releases/download/v1.28.0/libmatekbd-1.28.0.tar.xz" +blake3 = "d5dcf7a47522cc586b6c47e9bd731bbd6db43fcb6797b33b52c03e816d9caedd" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "gtk3", + "libxklavier", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/x11/mate/libmateweather/recipe.toml b/recipes/wip/x11/mate/libmateweather/recipe.toml new file mode 100644 index 00000000..c5f74cb6 --- /dev/null +++ b/recipes/wip/x11/mate/libmateweather/recipe.toml @@ -0,0 +1,19 @@ +# Uses custom rev for libsoup3 support, next release should include it +[source] +tar = "https://github.com/mate-desktop/libmateweather/archive/c1c54a15545f13f3dabd2bcd303533d818905c7b.tar.gz" +blake3 = "78c3873937bb90141386d31b6c6d3e585f9f2bde6069933abffdbd9a9161707a" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "gtk3", + "libsoup", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/x11/mate/marco/recipe.toml b/recipes/wip/x11/mate/marco/recipe.toml new file mode 100644 index 00000000..50f9042c --- /dev/null +++ b/recipes/wip/x11/mate/marco/recipe.toml @@ -0,0 +1,25 @@ +[source] +tar = "https://github.com/mate-desktop/marco/releases/download/v1.29.1/marco-1.29.1.tar.xz" +blake3 = "609db8d6da0ceffb67fd79a2d017be301f5cdbe441301ca5469530cdca4a7cf5" +patches = ["redox.patch"] + +[build] +dependencies = [ + "gtk3", + "libcanberra", + "libice", + "libmate-desktop-2", + "libsm", + "libxcomposite", + "libxcursor", + "libxdamage", + "libxinerama", + "libxres", +] +template = "meson" + +[package] +dependencies = [ + "mate-settings-daemon", + "zenity", +] diff --git a/recipes/wip/x11/mate/marco/redox.patch b/recipes/wip/x11/mate/marco/redox.patch new file mode 100644 index 00000000..4cb0f938 --- /dev/null +++ b/recipes/wip/x11/mate/marco/redox.patch @@ -0,0 +1,12 @@ +diff -ruwN source-old/meson.build source/meson.build +--- source-old/meson.build 2025-09-22 16:03:46.000000000 -0600 ++++ source/meson.build 2025-11-14 19:09:08.402564648 -0700 +@@ -294,7 +294,7 @@ + endif + + gdk_pixbuf_csource = find_program('gdk-pixbuf-csource') +-zenity = find_program('zenity') ++#Added to package depends: zenity = find_program('zenity') + + libxext = cc.find_library('Xext', required: false) + if build_xsync diff --git a/recipes/wip/x11/mate/mate-control-center/recipe.toml b/recipes/wip/x11/mate/mate-control-center/recipe.toml new file mode 100644 index 00000000..5e91b912 --- /dev/null +++ b/recipes/wip/x11/mate/mate-control-center/recipe.toml @@ -0,0 +1,17 @@ +[source] +tar = "https://github.com/mate-desktop/mate-control-center/archive/refs/tags/v1.28.1.tar.gz" +blake3 = "78ef68e12d0f5d68f62953999e55061a0ef911eceecd2dc66b9242f6b84c143b" +patches = ["redox.patch"] + +[build] +dependencies = [ + "libmate-desktop-2", + "libmate-menu", + "libmatekbd", + "libxscrnsaver", + "marco", +] +template = "meson" +mesonflags = [ + "-Dlibappindicator=no", +] diff --git a/recipes/wip/x11/mate/mate-control-center/redox.patch b/recipes/wip/x11/mate/mate-control-center/redox.patch new file mode 100644 index 00000000..54090096 --- /dev/null +++ b/recipes/wip/x11/mate/mate-control-center/redox.patch @@ -0,0 +1,76 @@ +diff -ruwN source-old/capplets/display/meson.build source/capplets/display/meson.build +--- source-old/capplets/display/meson.build 2024-05-22 13:44:05.000000000 -0600 ++++ source/capplets/display/meson.build 2025-11-15 08:43:15.498757975 -0700 +@@ -49,12 +49,13 @@ + install_dir: mcc_desktopdir + ) + +-policy = 'org.mate.randr.policy' +- +-i18n.merge_file( +- input: policy + '.in', +- output: policy, +- po_dir: po_dir, +- install: true, +- install_dir: mcc_policydir, +-) ++#TODO: fails to merge ++#policy = 'org.mate.randr.policy' ++# ++#i18n.merge_file( ++# input: policy + '.in', ++# output: policy, ++# po_dir: po_dir, ++# install: true, ++# install_dir: mcc_policydir, ++#) +diff -ruwN source-old/capplets/meson.build source/capplets/meson.build +--- source-old/capplets/meson.build 2024-05-22 13:44:05.000000000 -0600 ++++ source/capplets/meson.build 2025-11-15 08:20:38.584035658 -0700 +@@ -8,6 +8,6 @@ + subdir('keyboard') + subdir('mouse') + subdir('network') +-subdir('system-info') +-subdir('time-admin') ++#subdir('system-info') ++#subdir('time-admin') + subdir('windows') +diff -ruwN source-old/meson.build source/meson.build +--- source-old/meson.build 2024-05-22 13:44:05.000000000 -0600 ++++ source/meson.build 2025-11-15 08:42:11.646734896 -0700 +@@ -75,9 +75,9 @@ + xcursor_dep = dependency('xcursor') + dconf_dep = dependency('dconf', version: '>= 0.13.4') + fontconfig_dep = dependency('fontconfig') +-gtop_dep = dependency('libgtop-2.0') +-udisks2_dep = dependency('udisks2') +-polkit_dep = dependency('polkit-gobject-1') ++#gtop_dep = dependency('libgtop-2.0') ++#udisks2_dep = dependency('udisks2') ++#polkit_dep = dependency('polkit-gobject-1') + matekbd_dep = dependency('libmatekbd', version: '>=1.17.0') + matekbdui_dep = dependency('libmatekbdui', version: '>=1.17.0') + xklavier_dep = dependency('libxklavier', version: '>= 5.2') +@@ -120,10 +120,10 @@ + endif + else + appindicator = false +- ayatana = true ++ ayatana = false + endif + appindicator_dep = dependency('appindicator3-0.1', version: '>= 0.0.13', required: appindicator) +-ayatana_dep = dependency('ayatana-appindicator3-0.1', version: '>= 0.0.13', required: ayatana) ++#ayatana_dep = dependency('ayatana-appindicator3-0.1', version: '>= 0.0.13', required: ayatana) + config_h.set('HAVE_UBUNTU_APPINDICATOR', appindicator) + gnome = import('gnome') + i18n = import('i18n') +@@ -155,7 +155,7 @@ + subdir('help') + subdir('font-viewer') + subdir('capplets') +-subdir('typing-break') ++#subdir('typing-break') + subdir('shell') + + gnome.post_install( diff --git a/recipes/wip/x11/mate/mate-icon-theme/recipe.toml b/recipes/wip/x11/mate/mate-icon-theme/recipe.toml new file mode 100644 index 00000000..83d073fd --- /dev/null +++ b/recipes/wip/x11/mate/mate-icon-theme/recipe.toml @@ -0,0 +1,9 @@ +[source] +tar = "https://github.com/mate-desktop/mate-icon-theme/releases/download/v1.28.0/mate-icon-theme-1.28.0.tar.xz" +blake3 = "7269335000874df593ac06d991f4f19cdda984cd2199166987acb3f3cbd474bc" + +[build] +template = "configure" +configureflags = [ + "--disable-icon-mapping", +] diff --git a/recipes/wip/x11/mate/mate-panel/recipe.toml b/recipes/wip/x11/mate/mate-panel/recipe.toml new file mode 100644 index 00000000..c2037931 --- /dev/null +++ b/recipes/wip/x11/mate/mate-panel/recipe.toml @@ -0,0 +1,23 @@ +[source] +tar = "https://github.com/mate-desktop/mate-panel/releases/download/v1.28.6/mate-panel-1.28.6.tar.xz" +blake3 = "6411fa4da26be0032226395d50855bb6b1223f5b795f5e08f3999e9de92f2acd" +script = """ +DYNAMIC_INIT +#TODO autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "gtk3", + "libice", + "libmate-desktop-2", + "libmate-menu", + "libmateweather", + "libsm", + "libwnck3", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/x11/mate/mate-session-manager/recipe.toml b/recipes/wip/x11/mate/mate-session-manager/recipe.toml new file mode 100644 index 00000000..519cb3e3 --- /dev/null +++ b/recipes/wip/x11/mate/mate-session-manager/recipe.toml @@ -0,0 +1,20 @@ +[source] +tar = "https://github.com/mate-desktop/mate-session-manager/releases/download/v1.28.0/mate-session-manager-1.28.0.tar.xz" +blake3 = "c76fd3064f4697180006cc2562a0ac55ddfa40b4029047f58c8dcc790606a9a6" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "dbus-glib", + "gtk3", + "libsm", + "libxcomposite", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/x11/mate/mate-settings-daemon/recipe.toml b/recipes/wip/x11/mate/mate-settings-daemon/recipe.toml new file mode 100644 index 00000000..f4637603 --- /dev/null +++ b/recipes/wip/x11/mate/mate-settings-daemon/recipe.toml @@ -0,0 +1,21 @@ +[source] +tar = "https://github.com/mate-desktop/mate-settings-daemon/releases/download/v1.28.0/mate-settings-daemon-1.28.0.tar.xz" +blake3 = "396389887d2e79d22e8be28f51df8e6e807ffabb676fbd23888278cf39a65f3d" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "dconf", + "gtk3", + "libcanberra", + "libmate-desktop-2", + "libmatekbd", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure --disable-rfkill +""" diff --git a/recipes/wip/x11/mate/mate-terminal/recipe.toml b/recipes/wip/x11/mate/mate-terminal/recipe.toml new file mode 100644 index 00000000..eecc852a --- /dev/null +++ b/recipes/wip/x11/mate/mate-terminal/recipe.toml @@ -0,0 +1,12 @@ +[source] +tar = "https://github.com/mate-desktop/mate-terminal/releases/download/v1.28.1/mate-terminal-1.28.1.tar.xz" +blake3 = "5214a81a69cc18202fad9214e2dff671baf34a132a39c932214b234db113e16c" + +[build] +dependencies = [ + "dconf", + "gtk3", + "libstdcxx", + "vte", +] +template = "meson" diff --git a/recipes/wip/x11/mesa-demos-x11/recipe.toml b/recipes/wip/x11/mesa-demos-x11/recipe.toml new file mode 100644 index 00000000..6a94cccc --- /dev/null +++ b/recipes/wip/x11/mesa-demos-x11/recipe.toml @@ -0,0 +1,30 @@ +[source] +tar = "https://archive.mesa3d.org/demos/mesa-demos-9.0.0.tar.xz" +blake3 = "eef628aebdaa65d3bb1078bb6d6bdd7685c41fb67674e7f7b0e1e15f10433240" +patches = ["redox.patch"] + +[build] +dependencies = [ + "expat", + "libpthread-stubs", + "libstdcxx", + "libx11", + "libxau", + "libxcb", + "libxext", + "libxfixes", + "libxml2", + "libxxf86vm", + "llvm18", + "mesa-x11", + "mesa-glu-x11", + "x11proto", + "xextproto", + "zlib", +] +template = "custom" +script = """ +DYNAMIC_INIT +#TODO: implement sincos for es2gears +cookbook_meson -Dgles2=disabled +""" diff --git a/recipes/wip/x11/mesa-demos-x11/redox.patch b/recipes/wip/x11/mesa-demos-x11/redox.patch new file mode 100644 index 00000000..62b33512 --- /dev/null +++ b/recipes/wip/x11/mesa-demos-x11/redox.patch @@ -0,0 +1,12 @@ +diff -ruwN mesa-demos-9.0.0/meson.build source/meson.build +--- mesa-demos-9.0.0/meson.build 2023-03-22 06:13:43.000000000 -0600 ++++ source/meson.build 2025-05-06 15:58:57.523274337 -0600 +@@ -99,7 +99,7 @@ + endif + + dep_glx = dependency('glx', required: false, disabler : true) +-if not dep_glx.found() and host_machine.system() == 'darwin' ++if not dep_glx.found() + # xquartz doesn't have a glx.pc, but it does have the header. And all the + # symbols reside in libGL, so let's just use that. + if cc.check_header('GL/glx.h', dependencies: dep_x11) diff --git a/recipes/wip/x11/mesa-glu-x11/recipe.toml b/recipes/wip/x11/mesa-glu-x11/recipe.toml new file mode 100644 index 00000000..c4a7e860 --- /dev/null +++ b/recipes/wip/x11/mesa-glu-x11/recipe.toml @@ -0,0 +1,21 @@ +[source] +tar = "https://archive.mesa3d.org/glu/glu-9.0.3.tar.xz" +blake3 = "beed1665ed983540e7502289ec50c7e66d840820af3e9ef21c9c4a7e9686ab9f" + +[build] +dependencies = [ + "libpthread-stubs", + "libx11", + "libxau", + "libxcb", + "libxext", + "libxfixes", + "libxxf86vm", + "mesa-x11", + "x11proto", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_meson -Dgl_provider=gl +""" diff --git a/recipes/wip/x11/mesa-x11/recipe.toml b/recipes/wip/x11/mesa-x11/recipe.toml new file mode 100644 index 00000000..c18db7d9 --- /dev/null +++ b/recipes/wip/x11/mesa-x11/recipe.toml @@ -0,0 +1,31 @@ +[source] +same_as = "../../../libs/mesa" + +[build] +template = "custom" +dependencies = [ + "expat", + "libdrm", + "libpthread-stubs", + "libx11", + "libxau", + "libxcb", + "libxext", + "libxfixes", + "libxrandr", + "libxshmfence", + "libxxf86vm", + "llvm18", + "x11proto", + "zlib", +] +script = """ +DYNAMIC_INIT +cookbook_meson \ + -Ddri-drivers-path=/usr/lib/dri \ + -Degl=enabled \ + -Dglx=dri \ + -Dllvm=enabled \ + -Dplatforms=x11 \ + -Dshader-cache=disabled +""" diff --git a/recipes/wip/x11/openbox/recipe.toml b/recipes/wip/x11/openbox/recipe.toml new file mode 100644 index 00000000..ca0668c7 --- /dev/null +++ b/recipes/wip/x11/openbox/recipe.toml @@ -0,0 +1,42 @@ +#TODO: launches but has segfaults at runtime +[source] +tar = "https://openbox.org/dist/openbox/openbox-3.6.1.tar.xz" +blake3 = "6bf434e52e04a9cfcd67c11cb9105b93fe2055dca49f1bed2c105fd117e88ef4" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "cairo", + "expat", + "fontconfig", + "freetype2", + "fribidi", + "gettext", + "glib", + "harfbuzz", + "libffi", + "libiconv", + "libpng", + "libpthread-stubs", + "libx11", + "libxau", + "libxcb", + "libxext", + "libxft", + "libxml2", + "libxrender", + "pango", + "pcre2", + "pixman", + "x11proto", + "xz", + "zlib", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/x11/startup-notification/recipe.toml b/recipes/wip/x11/startup-notification/recipe.toml new file mode 100644 index 00000000..af569674 --- /dev/null +++ b/recipes/wip/x11/startup-notification/recipe.toml @@ -0,0 +1,19 @@ +[source] +tar = "http://www.freedesktop.org/software/startup-notification/releases/startup-notification-0.12.tar.gz" +blake3 = "134131fdd210d2eaef76eda9826b4a832807aac231dba334f157751ed1d6da36" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "libice", + "libx11", + "xcb-util", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure lf_cv_sane_realloc=yes +""" diff --git a/recipes/wip/x11/twm/recipe.toml b/recipes/wip/x11/twm/recipe.toml new file mode 100644 index 00000000..1648e69f --- /dev/null +++ b/recipes/wip/x11/twm/recipe.toml @@ -0,0 +1,27 @@ +[source] +tar = "https://www.x.org/releases/individual/app/twm-1.0.13.tar.xz" +blake3 = "50acf2123537a739dcaff50e1ae9b38d7e117a2d07cd3a6b550dcafdc52ff9fc" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "libice", + "libpthread-stubs", + "libsm", + "libx11", + "libxau", + "libxcb", + "libxext", + "libxmu", + "libxt", + "x11proto", +] +template = "custom" +script = """ +DYNAMIC_INIT +export LIBS="-lxcb -lXau" +cookbook_configure +""" diff --git a/recipes/wip/x11/x11proto-kb/recipe.toml b/recipes/wip/x11/x11proto-kb/recipe.toml new file mode 100644 index 00000000..1cd06a03 --- /dev/null +++ b/recipes/wip/x11/x11proto-kb/recipe.toml @@ -0,0 +1,10 @@ +[source] +tar = "https://www.x.org/releases/individual/proto/kbproto-1.0.7.tar.bz2" +blake3 = "2fba8d4a298bd6504c237afccc2059a3b9db6363f203824aebf2c0a167197625" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +template = "configure" diff --git a/recipes/wip/x11/x11proto/recipe.toml b/recipes/wip/x11/x11proto/recipe.toml new file mode 100644 index 00000000..fc5be2a2 --- /dev/null +++ b/recipes/wip/x11/x11proto/recipe.toml @@ -0,0 +1,7 @@ +[source] +tar = "https://www.x.org/releases/individual/proto/xorgproto-2024.1.tar.xz" +blake3 = "fad667bb04e16dca5e816969f2641bb075929cd73564114cc1aabd87d1975dd3" +patches = ["redox.patch"] + +[build] +template = "configure" diff --git a/recipes/wip/x11/x11proto/redox.patch b/recipes/wip/x11/x11proto/redox.patch new file mode 100644 index 00000000..55a31930 --- /dev/null +++ b/recipes/wip/x11/x11proto/redox.patch @@ -0,0 +1,12 @@ +diff -ruwN xorgproto-2023.2/include/X11/Xos_r.h source/include/X11/Xos_r.h +--- xorgproto-2023.2/include/X11/Xos_r.h 2023-06-16 01:32:38.000000000 -0600 ++++ source/include/X11/Xos_r.h 2025-05-02 10:10:07.250524701 -0600 +@@ -318,7 +318,7 @@ + (_Xos_processUnlock), \ + (p).pwp ) + +-#elif !defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(__APPLE__) ++#elif !defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(__APPLE__) && !defined(__redox__) + # define X_NEEDS_PWPARAMS + typedef struct { + struct passwd pws; diff --git a/recipes/wip/x11/xcb-proto/recipe.toml b/recipes/wip/x11/xcb-proto/recipe.toml new file mode 100644 index 00000000..cd7e9273 --- /dev/null +++ b/recipes/wip/x11/xcb-proto/recipe.toml @@ -0,0 +1,6 @@ +[source] +tar = "https://xorg.freedesktop.org/archive/individual/proto/xcb-proto-1.17.0.tar.xz" +blake3 = "68187400fded667f60b4b020d0fc37fa489ae0de33169fe7b07fcbaf88e7a3f9" + +[build] +template = "configure" diff --git a/recipes/wip/x11/xcb-util-cursor/recipe.toml b/recipes/wip/x11/xcb-util-cursor/recipe.toml new file mode 100644 index 00000000..eb0dbbd9 --- /dev/null +++ b/recipes/wip/x11/xcb-util-cursor/recipe.toml @@ -0,0 +1,18 @@ +[source] +tar = "https://www.x.org/releases/individual/lib/xcb-util-cursor-0.1.6.tar.xz" +blake3 = "af6e7e99779682450e4cb3aa7225f5724845b1672c0380c65ca03b58dfb2d5d8" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "xcb-util-image", + "xcb-util-renderutil", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/x11/xcb-util-image/recipe.toml b/recipes/wip/x11/xcb-util-image/recipe.toml new file mode 100644 index 00000000..a21ab495 --- /dev/null +++ b/recipes/wip/x11/xcb-util-image/recipe.toml @@ -0,0 +1,17 @@ +[source] +tar = "https://www.x.org/releases/individual/lib/xcb-util-image-0.4.1.tar.xz" +blake3 = "c8a0652f7c215bd312d9f238aed2ba6a122f087b623dafbbac4456f5351df603" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "xcb-util", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/x11/xcb-util-keysyms/recipe.toml b/recipes/wip/x11/xcb-util-keysyms/recipe.toml new file mode 100644 index 00000000..ce689945 --- /dev/null +++ b/recipes/wip/x11/xcb-util-keysyms/recipe.toml @@ -0,0 +1,17 @@ +[source] +tar = "https://www.x.org/releases/individual/lib/xcb-util-keysyms-0.4.1.tar.xz" +blake3 = "c599df56c79a9f9dcf12b083e343f321cad6af654b83e2976b5a26bc890b5774" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "libxcb", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/x11/xcb-util-renderutil/recipe.toml b/recipes/wip/x11/xcb-util-renderutil/recipe.toml new file mode 100644 index 00000000..1d76fc5e --- /dev/null +++ b/recipes/wip/x11/xcb-util-renderutil/recipe.toml @@ -0,0 +1,17 @@ +[source] +tar = "https://www.x.org/releases/individual/lib/xcb-util-renderutil-0.3.10.tar.xz" +blake3 = "085c94d08bd8181512d4ce93cf0e5bcd48cd8ed983bbb7a7bcb3a3c2312a08ea" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "libxcb", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure --disable-selective-werror +""" diff --git a/recipes/wip/x11/xcb-util-wm/recipe.toml b/recipes/wip/x11/xcb-util-wm/recipe.toml new file mode 100644 index 00000000..c92734b8 --- /dev/null +++ b/recipes/wip/x11/xcb-util-wm/recipe.toml @@ -0,0 +1,17 @@ +[source] +tar = "https://www.x.org/releases/individual/lib/xcb-util-wm-0.4.2.tar.xz" +blake3 = "4cf6b0e204e12eb6b824c939404fc5ad63d61cb94679e8adf5670207802bc738" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "libxcb", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/x11/xcb-util-xrm/recipe.toml b/recipes/wip/x11/xcb-util-xrm/recipe.toml new file mode 100644 index 00000000..32b75339 --- /dev/null +++ b/recipes/wip/x11/xcb-util-xrm/recipe.toml @@ -0,0 +1,18 @@ +[source] +tar = "https://github.com/Airblader/xcb-util-xrm/releases/download/v1.3/xcb-util-xrm-1.3.tar.bz2" +blake3 = "21cd9a005dde4982a452df156a16f4a61bd5299fb1a24dda2c9e8169e0654f38" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "libx11", + "xcb-util", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/x11/xcb-util/recipe.toml b/recipes/wip/x11/xcb-util/recipe.toml new file mode 100644 index 00000000..b0fa8c39 --- /dev/null +++ b/recipes/wip/x11/xcb-util/recipe.toml @@ -0,0 +1,17 @@ +[source] +tar = "https://www.x.org/releases/individual/lib/xcb-util-0.4.1.tar.xz" +blake3 = "ebc940220db0ca39a690a47b565ce73ab536c1fbfdebf008fa0edf0ced862aca" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "libxcb", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" \ No newline at end of file diff --git a/recipes/wip/x11/xev/recipe.toml b/recipes/wip/x11/xev/recipe.toml new file mode 100644 index 00000000..d81b8ae1 --- /dev/null +++ b/recipes/wip/x11/xev/recipe.toml @@ -0,0 +1,26 @@ +[source] +tar = "https://www.x.org/releases/individual/app/xev-1.2.6.tar.xz" +blake3 = "883347a6db32fb4cf6bc97906ca1dacf1c67b7b84bd2abef9c6c5fc20abea647" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "libpthread-stubs", + "libx11", + "libxau", + "libxcb", + "libxext", + "libxrandr", + "libxrender", + "x11proto", +] +template = "custom" +script = """ +DYNAMIC_INIT +#TODO: why are LIBS not automatic? +export LIBS="-lXrender -lXext -lX11 -lxcb -lXau" +cookbook_configure +""" diff --git a/recipes/wip/x11/xextproto/recipe.toml b/recipes/wip/x11/xextproto/recipe.toml new file mode 100644 index 00000000..8d83a40c --- /dev/null +++ b/recipes/wip/x11/xextproto/recipe.toml @@ -0,0 +1,14 @@ +[source] +tar = "https://www.x.org/releases/individual/proto/xextproto-7.3.0.tar.bz2" +blake3 = "08cdd8b3838da9c99176778c925327aa35661d41d0e4d7458a378f14a42172c0" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/x11/xeyes/recipe.toml b/recipes/wip/x11/xeyes/recipe.toml new file mode 100644 index 00000000..7cde39b4 --- /dev/null +++ b/recipes/wip/x11/xeyes/recipe.toml @@ -0,0 +1,31 @@ +[source] +tar = "https://www.x.org/releases/individual/app/xeyes-1.3.0.tar.xz" +blake3 = "33d7ce4847c73e6ebea0cc595b04de80482a657132d0f2235548328ede88b673" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "libice", + "libpthread-stubs", + "libsm", + "libx11", + "libxau", + "libxcb", + "libxext", + "libxfixes", + "libxi", + "libxmu", + "libxrender", + "libxt", + "x11proto", +] +template = "custom" +script = """ +DYNAMIC_INIT +#TODO: why are LIBS not automatic? +export LIBS="-lXext -lXmu -lXt -lSM -lICE -lX11 -lxcb -lXau" +cookbook_configure --without-present +""" diff --git a/recipes/wip/x11/xfce4/garcon/recipe.toml b/recipes/wip/x11/xfce4/garcon/recipe.toml new file mode 100644 index 00000000..4ba9a284 --- /dev/null +++ b/recipes/wip/x11/xfce4/garcon/recipe.toml @@ -0,0 +1,48 @@ +[source] +tar = "https://archive.xfce.org/src/xfce/garcon/4.21/garcon-4.21.0.tar.xz" +blake3 = "d0eb19cfcf718f3cf4a5fc89304b52b97aa35cb64222f7bc746924544e9fc7b8" + +[build] +dependencies = [ + "atk", + "cairo", + "expat", + "fontconfig", + "freetype2", + "fribidi", + "gdk-pixbuf", + "gettext", + "glib", + "gtk3", + "harfbuzz", + "libepoxy", + "libffi", + "libiconv", + "libjpeg", + "libpng", + "libpthread-stubs", + "libx11", + "libxau", + "libxcb", + "libxext", + "libxfce4ui", + "libxfce4util", + "libxfixes", + "libxft", + "libxi", + "libxrandr", + "libxrender", + "libxxf86vm", + "mesa-x11", + "pango", + "pcre2", + "pixman", + "shared-mime-info", + "x11proto", + "xfconf", + "zlib", +] +template = "meson" +mesonflags = [ + "-Dintrospection=false", +] diff --git a/recipes/wip/x11/xfce4/libxfce4ui/recipe.toml b/recipes/wip/x11/xfce4/libxfce4ui/recipe.toml new file mode 100644 index 00000000..1801e15e --- /dev/null +++ b/recipes/wip/x11/xfce4/libxfce4ui/recipe.toml @@ -0,0 +1,47 @@ +[source] +tar = "https://archive.xfce.org/src/xfce/libxfce4ui/4.21/libxfce4ui-4.21.2.tar.xz" +blake3 = "027adb15e74b6df534bc526ec0e1056fede33cf2e69ce802391fb1f714350015" + +[build] +dependencies = [ + "atk", + "cairo", + "expat", + "fontconfig", + "freetype2", + "fribidi", + "gdk-pixbuf", + "gettext", + "glib", + "gtk3", + "harfbuzz", + "libepoxy", + "libffi", + "libiconv", + "libjpeg", + "libpng", + "libpthread-stubs", + "libx11", + "libxau", + "libxcb", + "libxext", + "libxfce4util", + "libxfixes", + "libxft", + "libxi", + "libxrandr", + "libxrender", + "libxxf86vm", + "mesa-x11", + "pango", + "pcre2", + "pixman", + "shared-mime-info", + "x11proto", + "xfconf", + "zlib", +] +template = "meson" +mesonflags = [ + "-Dintrospection=false", +] diff --git a/recipes/wip/x11/xfce4/libxfce4util/recipe.toml b/recipes/wip/x11/xfce4/libxfce4util/recipe.toml new file mode 100644 index 00000000..d5360ea1 --- /dev/null +++ b/recipes/wip/x11/xfce4/libxfce4util/recipe.toml @@ -0,0 +1,17 @@ +[source] +tar = "https://archive.xfce.org/src/xfce/libxfce4util/4.20/libxfce4util-4.20.1.tar.bz2" +blake3 = "d64d8c016e48fb21b4c76914b75e256670c5fe2bff4c3b54f76e56cf1a50cb8a" + +[build] +dependencies = [ + "gettext", + "glib", + "libffi", + "libiconv", + "pcre2", + "zlib", +] +template = "meson" +mesonflags = [ + "-Dintrospection=false", +] diff --git a/recipes/wip/x11/xfce4/libxfce4windowing/recipe.toml b/recipes/wip/x11/xfce4/libxfce4windowing/recipe.toml new file mode 100644 index 00000000..a57d8392 --- /dev/null +++ b/recipes/wip/x11/xfce4/libxfce4windowing/recipe.toml @@ -0,0 +1,51 @@ +[source] +tar = "https://archive.xfce.org/src/xfce/libxfce4windowing/4.20/libxfce4windowing-4.20.4.tar.bz2" +blake3 = "396cbd13d547e6e109e348dd207747714dc4827b744fe729b1697c9dd1a55c3f" +patches = ["redox.patch"] + +[build] +dependencies = [ + "atk", + "cairo", + "expat", + "fontconfig", + "freetype2", + "fribidi", + "gdk-pixbuf", + "gettext", + "glib", + "gtk3", + "harfbuzz", + "libepoxy", + "libffi", + "libiconv", + "libjpeg", + "libpng", + "libpthread-stubs", + "libwnck3", + "libx11", + "libxau", + "libxcb", + "libxext", + "libxfce4util", + "libxfixes", + "libxft", + "libxi", + "libxrandr", + "libxrender", + "libxxf86vm", + "mesa-x11", + "pango", + "pcre2", + "pixman", + "shared-mime-info", + "x11proto", + "xfconf", + "zlib", +] +template = "meson" +mesonflags = [ + "-Dintrospection=false", + "-Dwayland=disabled", + "-Dx11=enabled", +] diff --git a/recipes/wip/x11/xfce4/libxfce4windowing/redox.patch b/recipes/wip/x11/xfce4/libxfce4windowing/redox.patch new file mode 100644 index 00000000..c3520aa9 --- /dev/null +++ b/recipes/wip/x11/xfce4/libxfce4windowing/redox.patch @@ -0,0 +1,41 @@ +diff -ruwN source-old/libxfce4windowing/xfw-monitor-x11.c source/libxfce4windowing/xfw-monitor-x11.c +--- source-old/libxfce4windowing/xfw-monitor-x11.c 2025-08-14 01:01:54.000000000 -0600 ++++ source/libxfce4windowing/xfw-monitor-x11.c 2025-10-30 15:06:17.333924750 -0600 +@@ -28,7 +28,9 @@ + #include + #include + #include ++#if !defined(__redox__) + #include ++#endif + #include + + #include "xfw-monitor-private.h" +@@ -429,6 +431,7 @@ + &edid_data); + + if (gdk_x11_display_error_trap_pop(display) == 0 && edid_data != NULL && nbytes > 0) { ++#if !defined(__redox__) + struct di_info *edid_info = di_info_parse_edid(edid_data, nbytes); + if (edid_info != NULL) { + char *make = di_info_get_make(edid_info); +@@ -451,6 +454,7 @@ + + di_info_destroy(edid_info); + } ++#endif + } + if (edid_data != NULL) { + XFree(edid_data); +diff -ruwN source-old/meson.build source/meson.build +--- source-old/meson.build 2025-08-14 01:05:11.000000000 -0600 ++++ source/meson.build 2025-10-30 15:05:30.092853306 -0600 +@@ -44,7 +44,7 @@ + + # Feature: 'x11' + x11_deps = [] +-x11_deps += dependency('libdisplay-info', version: dependency_versions['display-info'], required: get_option('x11')) ++#x11_deps += dependency('libdisplay-info', version: dependency_versions['display-info'], required: get_option('x11')) + x11_deps += dependency('x11', version: dependency_versions['libx11'], required: get_option('x11')) + x11_deps += dependency('gdk-x11-3.0', version: dependency_versions['gtk'], required: get_option('x11')) + x11_deps += dependency('libwnck-3.0', version: dependency_versions['wnck'], required: get_option('x11')) diff --git a/recipes/wip/x11/xfce4/xfce4-panel/recipe.toml b/recipes/wip/x11/xfce4/xfce4-panel/recipe.toml new file mode 100644 index 00000000..fd646309 --- /dev/null +++ b/recipes/wip/x11/xfce4/xfce4-panel/recipe.toml @@ -0,0 +1,51 @@ +[source] +tar = "https://archive.xfce.org/src/xfce/xfce4-panel/4.21/xfce4-panel-4.21.0.tar.xz" +blake3 = "59a8f55ba237a56ccd16869a28426fa3890c292164a4502dd07ddba45e0268ed" + +[build] +dependencies = [ + "atk", + "cairo", + "expat", + "fontconfig", + "freetype2", + "fribidi", + "garcon", + "gdk-pixbuf", + "gettext", + "glib", + "gtk3", + "harfbuzz", + "libepoxy", + "libffi", + "libiconv", + "libjpeg", + "libpng", + "libpthread-stubs", + "libwnck3", + "libx11", + "libxau", + "libxcb", + "libxext", + "libxfce4ui", + "libxfce4util", + "libxfce4windowing", + "libxfixes", + "libxft", + "libxi", + "libxrandr", + "libxrender", + "libxxf86vm", + "mesa-x11", + "pango", + "pcre2", + "pixman", + "shared-mime-info", + "x11proto", + "xfconf", + "zlib", +] +template = "meson" +mesonflags = [ + "-Dintrospection=false", +] diff --git a/recipes/wip/x11/xfce4/xfconf/recipe.toml b/recipes/wip/x11/xfce4/xfconf/recipe.toml new file mode 100644 index 00000000..40e06df1 --- /dev/null +++ b/recipes/wip/x11/xfce4/xfconf/recipe.toml @@ -0,0 +1,18 @@ +[source] +tar = "https://archive.xfce.org/src/xfce/xfconf/4.21/xfconf-4.21.0.tar.xz" +blake3 = "588bc6768775221a50d8cdd8480854a360b1343193115b639daf225aa34b97d7" + +[build] +dependencies = [ + "gettext", + "glib", + "libffi", + "libiconv", + "libxfce4util", + "pcre2", + "zlib", +] +template = "meson" +mesonflags = [ + "-Dintrospection=false", +] diff --git a/recipes/wip/x11/xfce4/xfwm4/recipe.toml b/recipes/wip/x11/xfce4/xfwm4/recipe.toml new file mode 100644 index 00000000..d83c3990 --- /dev/null +++ b/recipes/wip/x11/xfce4/xfwm4/recipe.toml @@ -0,0 +1,53 @@ +[source] +tar = "https://archive.xfce.org/src/xfce/xfwm4/4.20/xfwm4-4.20.0.tar.bz2" +blake3 = "1c48e0fd80ef674a1d6cd8b3ab2452e87ab1597693f99c3217d271070b5ba8c2" + +[build] +dependencies = [ + "atk", + "cairo", + "expat", + "fontconfig", + "freetype2", + "fribidi", + "gdk-pixbuf", + "gettext", + "glib", + "gtk3", + "harfbuzz", + "libepoxy", + "libffi", + "libice", + "libiconv", + "libjpeg", + "libpng", + "libpthread-stubs", + "libwnck3", + "libx11", + "libxau", + "libxcb", + "libxext", + "libxfce4ui", + "libxfce4util", + "libxfixes", + "libxft", + "libxi", + "libxinerama", + "libxrandr", + "libxrender", + "libxxf86vm", + "mesa-x11", + "pango", + "pcre2", + "pixman", + "shared-mime-info", + "x11proto", + "xfconf", + "zlib", +] +template = "custom" +script = """ +DYNAMIC_INIT +export LIBS="$("${PKG_CONFIG}" --libs libxfce4util-1.0 x11)" +cookbook_configure --disable-silent-rules +""" diff --git a/recipes/wip/x11/xinit/recipe.toml b/recipes/wip/x11/xinit/recipe.toml new file mode 100644 index 00000000..2ee1557e --- /dev/null +++ b/recipes/wip/x11/xinit/recipe.toml @@ -0,0 +1,22 @@ +[source] +tar = "https://www.x.org/releases/individual/app/xinit-1.4.4.tar.xz" +blake3 = "fe988bbff7c4a950256540ad8a469fed1cdbe11439ba738b9714ee2de16f2a6c" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "libpthread-stubs", + "libx11", + "libxau", + "libxcb", + "x11proto", +] +template = "custom" +script = """ +DYNAMIC_INIT +export LIBS="-lxcb -lXau" +cookbook_configure +""" diff --git a/recipes/wip/x11/xkbcomp/recipe.toml b/recipes/wip/x11/xkbcomp/recipe.toml new file mode 100644 index 00000000..b660ef96 --- /dev/null +++ b/recipes/wip/x11/xkbcomp/recipe.toml @@ -0,0 +1,23 @@ +[source] +tar = "https://www.x.org/releases/individual/app/xkbcomp-1.4.7.tar.xz" +blake3 = "e6420ef168976726f8aa8cb362bc70dfe2bd810f2b33e5f71547ec182ed301ea" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "libpthread-stubs", + "libx11", + "libxau", + "libxcb", + "libxkbfile", + "x11proto", +] +template = "custom" +script = """ +DYNAMIC_INIT +export LIBS="-lxcb -lXau" +cookbook_configure +""" diff --git a/recipes/wip/x11/xkbutils/recipe.toml b/recipes/wip/x11/xkbutils/recipe.toml new file mode 100644 index 00000000..00aa3dda --- /dev/null +++ b/recipes/wip/x11/xkbutils/recipe.toml @@ -0,0 +1,30 @@ +[source] +tar = "https://www.x.org/releases/individual/app/xkbutils-1.0.6.tar.xz" +blake3 = "f19c157f5eaad7c91ee101952e55b9fd991b060892ecb3e6d9a7b46fa1dbe587" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "libice", + "libpthread-stubs", + "libsm", + "libx11", + "libxau", + "libxaw", + "libxcb", + "libxext", + "libxmu", + "libxpm", + "libxt", + "x11proto", +] +template = "custom" +script = """ +DYNAMIC_INIT +#TODO: why are LIBS not automatic? +export LIBS="-lXaw7 -lXext -lXmu -lXpm -lXt -lSM -lICE -lX11 -lxcb -lXau" +cookbook_configure +""" diff --git a/recipes/wip/x11/xkeyboard-config/recipe.toml b/recipes/wip/x11/xkeyboard-config/recipe.toml new file mode 100644 index 00000000..289f38da --- /dev/null +++ b/recipes/wip/x11/xkeyboard-config/recipe.toml @@ -0,0 +1,10 @@ +[source] +tar = "https://www.x.org/releases/individual/data/xkeyboard-config/xkeyboard-config-2.44.tar.xz" +blake3 = "6156aefb0608af6b7ae2c2ef444838b72524d1e4244cb26ee253669ecede3a5a" + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_meson +""" diff --git a/recipes/wip/x11/xserver-xorg-video-orbital/recipe.toml b/recipes/wip/x11/xserver-xorg-video-orbital/recipe.toml new file mode 100644 index 00000000..46da862b --- /dev/null +++ b/recipes/wip/x11/xserver-xorg-video-orbital/recipe.toml @@ -0,0 +1,23 @@ +# x11 video driver for running inside of orbital +[source] +tar = "https://www.x.org/releases/individual/driver/xf86-video-dummy-0.4.1.tar.xz" +blake3 = "9b49296f62bf4d22345d87fc01f2a5571f941457c19d21c8800f8f6d2e64ae67" +patches = ["redox.patch"] +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "liborbital", + "pixman", + "x11proto", + "xserver-xorg", +] +template = "custom" +script = """ +DYNAMIC_INIT +export LIBS="-lorbital" +cookbook_configure +""" diff --git a/recipes/wip/x11/xserver-xorg-video-orbital/redox.patch b/recipes/wip/x11/xserver-xorg-video-orbital/redox.patch new file mode 100644 index 00000000..02fc109e --- /dev/null +++ b/recipes/wip/x11/xserver-xorg-video-orbital/redox.patch @@ -0,0 +1,301 @@ +diff -ruwN source-old/src/dummy_driver.c source/src/dummy_driver.c +--- source-old/src/dummy_driver.c 2023-05-07 14:27:44.000000000 -0600 ++++ source/src/dummy_driver.c 2025-10-29 11:13:11.863430241 -0600 +@@ -39,6 +39,7 @@ + /* These need to be checked */ + #include + #include ++#include + #include "scrnintstr.h" + #include "servermd.h" + +@@ -51,6 +52,7 @@ + static Bool DUMMYEnterVT(VT_FUNC_ARGS_DECL); + static void DUMMYLeaveVT(VT_FUNC_ARGS_DECL); + static Bool DUMMYCloseScreen(CLOSE_SCREEN_ARGS_DECL); ++static void DUMMYBlockHandler(ScreenPtr pScreen, void *timeout); + static Bool DUMMYCreateWindow(WindowPtr pWin); + static void DUMMYFreeScreen(FREE_SCREEN_ARGS_DECL); + static ModeStatus DUMMYValidMode(SCRN_ARG_TYPE arg, DisplayModePtr mode, +@@ -768,6 +770,97 @@ + + static ScrnInfoPtr DUMMYScrn; /* static-globalize it */ + ++static void DUMMYOrbitalEvent(int fd, int ready, void *data) { ++ DUMMYPtr dPtr = (DUMMYPtr)data; ++ if (!dPtr->orb_window) { ++ return; ++ } ++ ++ void *event_iter = orb_window_events(dPtr->orb_window); ++ if (!event_iter) { ++ return; ++ } ++ ++ bool running = true; ++ while (running) { ++ OrbEventOption event = orb_events_next(event_iter); ++ if (event.tag == OrbEventOption_None) { ++ break; ++ } ++ //TODO: handle more events ++ switch (event.tag) { ++ case OrbEventOption_Key: ++ if (inputInfo.keyboard) { ++ if (event.key.scancode > 0) { ++ //TODO: more advanced key mapping? ++ xf86PostKeyEvent(inputInfo.keyboard, event.key.scancode + 8, event.key.pressed); ++ } ++ } ++ break; ++ case OrbEventOption_Mouse: ++ if (inputInfo.pointer) { ++ xf86PostMotionEvent(inputInfo.pointer, 1, 0, 2, event.mouse.x, event.mouse.y); ++ } ++ break; ++ case OrbEventOption_MouseRelative: ++ if (inputInfo.pointer) { ++ if (event.mouse_relative.dx || event.mouse_relative.dy) { ++ xf86PostMotionEvent(inputInfo.pointer, 0, 0, 2, event.mouse_relative.dx, event.mouse_relative.dy); ++ } ++ } ++ break; ++ case OrbEventOption_Button: ++ if (inputInfo.pointer) { ++ xf86PostButtonEvent(inputInfo.pointer, 0, 1, event.button.left, 0, 0); ++ xf86PostButtonEvent(inputInfo.pointer, 0, 2, event.button.middle, 0, 0); ++ xf86PostButtonEvent(inputInfo.pointer, 0, 3, event.button.right, 0, 0); ++ } ++ break; ++ case OrbEventOption_None: ++ running = false; ++ break; ++ default: ++ //printf("unknown orbital event %d: %d, %d\n", event.unknown.code, event.unknown.a, event.unknown.b); ++ break; ++ } ++ } ++ ++ orb_events_destroy(event_iter); ++} ++ ++static Bool ++CreateScreenResources(ScreenPtr pScreen) ++{ ++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); ++ DUMMYPtr dPtr = DUMMYPTR(pScrn); ++ PixmapPtr rootPixmap; ++ Bool ret; ++ ++ pScreen->CreateScreenResources = dPtr->CreateScreenResources; ++ ret = pScreen->CreateScreenResources(pScreen); ++ pScreen->CreateScreenResources = CreateScreenResources; ++ ++ if (!ret) { ++ return FALSE; ++ } ++ ++ rootPixmap = pScreen->GetScreenPixmap(pScreen); ++ ++ dPtr->damage = DamageCreate(NULL, NULL, DamageReportNone, TRUE, ++ pScreen, rootPixmap); ++ if (dPtr->damage) { ++ DamageRegister(&rootPixmap->drawable, dPtr->damage); ++ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Damage tracking initialized\n"); ++ } ++ else { ++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Failed to create screen damage record\n"); ++ return FALSE; ++ } ++ ++ return TRUE; ++} ++ ++ + /* Mandatory */ + static Bool + DUMMYScreenInit(SCREEN_INIT_ARGS_DECL) +@@ -776,7 +869,6 @@ + DUMMYPtr dPtr; + int ret; + VisualPtr visual; +- void *pixels; + + /* + * we need to get the ScrnInfoRec for this screen, so let's allocate +@@ -786,9 +878,22 @@ + dPtr = DUMMYPTR(pScrn); + DUMMYScrn = pScrn; + ++ if (pScrn->bitsPerPixel != 32) { ++ printf("unsupported BPP %d\n", pScrn->bitsPerPixel); ++ return FALSE; ++ } + +- if (!(pixels = malloc(pScrn->videoRam * 1024))) ++ printf( ++ "orb_window_new %d, %d\n", ++ pScrn->virtualX, pScrn->virtualY ++ ); ++ dPtr->orb_window = orb_window_new_flags(-1, -1, pScrn->virtualX, pScrn->virtualY, "X11", ORB_WINDOW_ASYNC | ORB_WINDOW_BORDERLESS); ++ if (!dPtr->orb_window) { ++ printf("failed to open orbital window\n"); + return FALSE; ++ } ++ ++ SetNotifyFd(orb_window_fd(dPtr->orb_window), DUMMYOrbitalEvent, X_NOTIFY_READ, dPtr); + + /* + * Reset visual list. +@@ -800,12 +905,10 @@ + if (!miSetVisualTypes(pScrn->depth, + miGetDefaultVisualMask(pScrn->depth), + pScrn->rgbBits, pScrn->defaultVisual)) { +- free(pixels); + return FALSE; + } + + if (!miSetPixmapDepths ()) { +- free(pixels); + return FALSE; + } + +@@ -813,7 +916,7 @@ + * Call the framebuffer layer's ScreenInit function, and fill in other + * pScreen fields. + */ +- ret = fbScreenInit(pScreen, pixels, ++ ret = fbScreenInit(pScreen, orb_window_data(dPtr->orb_window), + pScrn->virtualX, pScrn->virtualY, + pScrn->xDpi, pScrn->yDpi, + pScrn->displayWidth, pScrn->bitsPerPixel); +@@ -838,6 +941,10 @@ + /* must be after RGB ordering fixed */ + fbPictureInit(pScreen, 0, 0); + ++ /* Wrap the current CreateScreenResources function */ ++ dPtr->CreateScreenResources = pScreen->CreateScreenResources; ++ pScreen->CreateScreenResources = CreateScreenResources; ++ + xf86SetBlackWhitePixels(pScreen); + + /* initialize XRANDR */ +@@ -943,6 +1050,10 @@ + dPtr->CloseScreen = pScreen->CloseScreen; + pScreen->CloseScreen = DUMMYCloseScreen; + ++ /* Wrap the current BlockHandler function */ ++ dPtr->BlockHandler = pScreen->BlockHandler; ++ pScreen->BlockHandler = DUMMYBlockHandler; ++ + /* Wrap the current CreateWindow function */ + dPtr->CreateWindow = pScreen->CreateWindow; + pScreen->CreateWindow = DUMMYCreateWindow; +@@ -975,11 +1086,26 @@ + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); + DUMMYPtr dPtr = DUMMYPTR(pScrn); + +- free(pScreen->GetScreenPixmap(pScreen)->devPrivate.ptr); ++ if (dPtr->damage) { ++ DamageUnregister(dPtr->damage); ++ DamageDestroy(dPtr->damage); ++ dPtr->damage = NULL; ++ } ++ ++ if (dPtr->orb_window) { ++ RemoveNotifyFd(orb_window_fd(dPtr->orb_window)); ++ ++ printf("orb_window_destroy %p\n", dPtr->orb_window); ++ orb_window_destroy(dPtr->orb_window); ++ dPtr->orb_window = NULL; ++ } + + if (dPtr->CursorInfo) + xf86DestroyCursorInfoRec(dPtr->CursorInfo); + ++ pScreen->CreateScreenResources = dPtr->CreateScreenResources; ++ pScreen->BlockHandler = dPtr->BlockHandler; ++ + pScrn->vtSema = FALSE; + pScreen->CloseScreen = dPtr->CloseScreen; + return (*pScreen->CloseScreen)(CLOSE_SCREEN_ARGS); +@@ -1009,6 +1135,31 @@ + Atom VFB_PROP = 0; + #define VFB_PROP_NAME "VFB_IDENT" + ++static void DUMMYBlockHandler(ScreenPtr pScreen, void *timeout) { ++ DUMMYPtr dPtr = DUMMYPTR(DUMMYScrn); ++ ++ //printf("BlockHandler %p %p\n", pScreen, timeout); ++ pScreen->BlockHandler = dPtr->BlockHandler; ++ pScreen->BlockHandler(pScreen, timeout); ++ dPtr->BlockHandler = pScreen->BlockHandler; ++ pScreen->BlockHandler = DUMMYBlockHandler; ++ ++ if (dPtr->damage) { ++ RegionPtr dirty = DamageRegion(dPtr->damage); ++ if (RegionNil(dirty)) { ++ // Do not sync if damage empty ++ return; ++ } ++ DamageEmpty(dPtr->damage); ++ } ++ ++ if (dPtr->orb_window) { ++ //TODO: use damage region? ++ //printf("orb_window_sync %p\n", dPtr->orb_window); ++ orb_window_sync(dPtr->orb_window); ++ } ++} ++ + static Bool + DUMMYCreateWindow(WindowPtr pWin) + { +diff -ruwN source-old/src/dummy.h source/src/dummy.h +--- source-old/src/dummy.h 2023-05-07 14:27:44.000000000 -0600 ++++ source/src/dummy.h 2025-10-29 10:11:23.172517830 -0600 +@@ -4,6 +4,7 @@ + #include "xf86_OSproc.h" + + #include "xf86Cursor.h" ++#include "xf86Xinput.h" + + #ifdef XvExtension + #include "xf86xv.h" +@@ -13,7 +14,9 @@ + + #include "compat-api.h" + +-#define DUMMY_MAX_SCREENS 16 ++#include ++ ++#define DUMMY_MAX_SCREENS 1 + + /* Supported chipsets */ + typedef enum { +@@ -44,6 +47,7 @@ + OptionInfoPtr Options; + Bool swCursor; + /* proc pointer */ ++ CreateScreenResourcesProcPtr CreateScreenResources; + CloseScreenProcPtr CloseScreen; + xf86CursorInfoPtr CursorInfo; + +@@ -52,6 +56,7 @@ + int cursorFG, cursorBG; + + dummy_colors colors[1024]; ++ void (*BlockHandler)(ScreenPtr, void*) ; /* wrapped BlockHandler */ + Bool (*CreateWindow)(WindowPtr) ; /* wrapped CreateWindow */ + Bool prop; + /* XRANDR support begin */ +@@ -60,6 +65,9 @@ + struct _xf86Output *paOutputs[DUMMY_MAX_SCREENS]; + int connected_outputs; + /* XRANDR support end */ ++ ++ DamagePtr damage; ++ void *orb_window; + } DUMMYRec, *DUMMYPtr; + + /* The privates of the DUMMY driver */ diff --git a/recipes/wip/x11/xserver-xorg/recipe.toml b/recipes/wip/x11/xserver-xorg/recipe.toml new file mode 100644 index 00000000..4e918772 --- /dev/null +++ b/recipes/wip/x11/xserver-xorg/recipe.toml @@ -0,0 +1,45 @@ +[source] +tar = "https://www.x.org/releases/individual/xserver/xorg-server-21.1.16.tar.xz" +blake3 = "b47c68a0a8bc5b69143d95440fbf75c17245ba8bc2c28a8d9619d8c6890dca58" +patches = ["redox.patch"] + +[build] +dependencies = [ + "font-util", + "freetype2", + "libfontenc", + "libpng", + "libpthread-stubs", + #TODO: used for secure-rpc, needs syslog: "libtirpc", + "libx11", + "libxau", + "libxcb", + "libxcvt", + "libxdmcp", + "libxext", + "libxfixes", + "libxfont2", + "libxkbfile", + "libxxf86vm", + "mesa-x11", + "openssl1", + "pixman", + "x11proto", + "xtrans", + "zlib", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_meson \ + -Ddri1=false \ + -Dglamor=false \ + -Dint10=false \ + -Dpciaccess=false \ + -Dsecure-rpc=false \ + -Dudev=false \ + -Dudev_kms=false \ + -Dvgahw=false \ + -Dxres=false \ + -Dxvfb=false +""" diff --git a/recipes/wip/x11/xserver-xorg/redox.patch b/recipes/wip/x11/xserver-xorg/redox.patch new file mode 100644 index 00000000..32309e20 --- /dev/null +++ b/recipes/wip/x11/xserver-xorg/redox.patch @@ -0,0 +1,226 @@ +diff -ruwN source-old/hw/xfree86/common/xf86Xinput.c source/hw/xfree86/common/xf86Xinput.c +--- source-old/hw/xfree86/common/xf86Xinput.c 2025-02-25 11:56:05.000000000 -0700 ++++ source/hw/xfree86/common/xf86Xinput.c 2025-11-07 14:37:53.041095608 -0700 +@@ -860,8 +860,10 @@ + if (stat(path, &st) == -1) + return; + ++ /*TODO + *maj = major(st.st_rdev); + *min = minor(st.st_rdev); ++ */ + } + + static inline InputDriverPtr +diff -ruwN source-old/hw/xfree86/drivers/modesetting/meson.build source/hw/xfree86/drivers/modesetting/meson.build +--- source-old/hw/xfree86/drivers/modesetting/meson.build 2025-02-25 11:56:05.000000000 -0700 ++++ source/hw/xfree86/drivers/modesetting/meson.build 2025-11-07 14:37:53.041947517 -0700 +@@ -42,7 +42,7 @@ + configuration: manpage_config, + )) + +-test('modesetting symbol test', +- xorg_symbol_test, +- args: symbol_test_args, +-) ++# test('modesetting symbol test', ++# xorg_symbol_test, ++# args: symbol_test_args, ++# ) +diff -ruwN source-old/hw/xfree86/loader/meson.build source/hw/xfree86/loader/meson.build +--- source-old/hw/xfree86/loader/meson.build 2025-02-25 11:56:05.000000000 -0700 ++++ source/hw/xfree86/loader/meson.build 2025-11-07 14:37:53.042100945 -0700 +@@ -10,7 +10,7 @@ + c_args: xorg_c_args, + ) + +-xorg_symbol_test = executable('xorg_symbol_test', +- 'symbol-test.c', +- dependencies: dl_dep, +-) ++# xorg_symbol_test = executable('xorg_symbol_test', ++# 'symbol-test.c', ++# dependencies: dl_dep, ++# ) +diff -ruwN source-old/hw/xfree86/meson.build source/hw/xfree86/meson.build +--- source-old/hw/xfree86/meson.build 2025-02-25 11:56:05.000000000 -0700 ++++ source/hw/xfree86/meson.build 2025-11-07 14:37:53.042256958 -0700 +@@ -171,13 +171,13 @@ + ) + endif + +-executable('gtf', +- 'utils/gtf/gtf.c', +- include_directories: [inc, xorg_inc], +- dependencies: xorg_deps, +- c_args: xorg_c_args, +- install: true, +-) ++# executable('gtf', ++# 'utils/gtf/gtf.c', ++# include_directories: [inc, xorg_inc], ++# dependencies: xorg_deps, ++# c_args: xorg_c_args, ++# install: true, ++# ) + + # For symbol presence testing only + xorgserver_lib = shared_library( +diff -ruwN source-old/hw/xfree86/os-support/shared/sigio.c source/hw/xfree86/os-support/shared/sigio.c +--- source-old/hw/xfree86/os-support/shared/sigio.c 2025-02-25 11:56:05.000000000 -0700 ++++ source/hw/xfree86/os-support/shared/sigio.c 2025-11-07 14:37:53.042429782 -0700 +@@ -196,11 +196,12 @@ + fd, strerror(errno)); + } + else { ++ /*TODO + if (fcntl(fd, F_SETOWN, getpid()) == -1) { + xf86Msg(X_WARNING, "fcntl(%d, F_SETOWN): %s\n", + fd, strerror(errno)); + } +- else { ++ else*/{ + installed = TRUE; + } + } +diff -ruwN source-old/hw/xfree86/os-support/xf86_OSlib.h source/hw/xfree86/os-support/xf86_OSlib.h +--- source-old/hw/xfree86/os-support/xf86_OSlib.h 2025-02-25 11:56:05.000000000 -0700 ++++ source/hw/xfree86/os-support/xf86_OSlib.h 2025-11-07 14:37:53.042605933 -0700 +@@ -176,7 +176,7 @@ + /**************************************************************************/ + /* Linux or Glibc-based system */ + /**************************************************************************/ +-#if defined(__linux__) || defined(__GLIBC__) || defined(__CYGWIN__) ++#if defined(__linux__) || defined(__GLIBC__) || defined(__CYGWIN__) || defined(__redox__) + #include + #include + #include +diff -ruwN source-old/include/dix.h source/include/dix.h +--- source-old/include/dix.h 2025-02-25 11:56:05.000000000 -0700 ++++ source/include/dix.h 2025-11-07 14:37:53.042862204 -0700 +@@ -55,6 +55,7 @@ + #include "geext.h" + #include "events.h" + #include ++#include + + #define EARLIER -1 + #define SAMETIME 0 +@@ -69,14 +70,28 @@ + + #define REQUEST_SIZE_MATCH(req) \ + do { \ +- if ((sizeof(req) >> 2) != client->req_len) \ ++ if ((sizeof(req) >> 2) != client->req_len) { \ ++ fprintf(stderr, \ ++ "REQUEST_SIZE_MATCH failed in %s:%d: " \ ++ "Expected len %lu, got %d\n", \ ++ __FILE__, __LINE__, \ ++ (unsigned long)(sizeof(req) >> 2), \ ++ client->req_len); \ + return(BadLength); \ ++ } \ + } while (0) + + #define REQUEST_AT_LEAST_SIZE(req) \ + do { \ +- if ((sizeof(req) >> 2) > client->req_len) \ ++ if ((sizeof(req) >> 2) > client->req_len) { \ ++ fprintf(stderr, \ ++ "REQUEST_AT_LEAST_SIZE failed in %s:%d: " \ ++ "Expected len %lu, got %d\n", \ ++ __FILE__, __LINE__, \ ++ (unsigned long)(sizeof(req) >> 2), \ ++ client->req_len); \ + return(BadLength); \ ++ } \ + } while (0) + + #define REQUEST_AT_LEAST_EXTRA_SIZE(req, extra) \ +diff -ruwN source-old/include/meson.build source/include/meson.build +--- source-old/include/meson.build 2025-02-25 11:56:05.000000000 -0700 ++++ source/include/meson.build 2025-11-07 14:37:53.043095171 -0700 +@@ -162,7 +162,7 @@ + conf_data.set('HAVE_PORT_CREATE', cc.has_function('port_create') ? '1' : false) + conf_data.set('HAVE_REALLOCARRAY', cc.has_function('reallocarray', dependencies: libbsd_dep) ? '1' : false) + conf_data.set('HAVE_SETEUID', cc.has_function('seteuid') ? '1' : false) +-conf_data.set('HAVE_SETITIMER', cc.has_function('setitimer') ? '1' : false) ++conf_data.set('HAVE_SETITIMER', false) + conf_data.set('HAVE_SHMCTL64', cc.has_function('shmctl64') ? '1' : false) + conf_data.set('HAVE_SIGACTION', cc.has_function('sigaction') ? '1' : false) + conf_data.set('HAVE_SIGPROCMASK', cc.has_function('sigprocmask') ? '1' : false) +@@ -190,14 +190,14 @@ + conf_data.set('LISTEN_LOCAL', get_option('listen_local')) + + if cc.has_header_symbol('sys/socket.h', 'SCM_RIGHTS') +- conf_data.set('XTRANS_SEND_FDS', '1') ++ #TODO conf_data.set('XTRANS_SEND_FDS', '1') + endif + +-if conf_data.get('HAVE_GETPEEREID').to_int() == 0 and conf_data.get('HAVE_GETPEERUCRED').to_int() == 0 +- if not cc.has_header_symbol('sys/socket.h', 'SO_PEERCRED') ++#if conf_data.get('HAVE_GETPEEREID').to_int() == 0 and conf_data.get('HAVE_GETPEERUCRED').to_int() == 0 ++ #if not cc.has_header_symbol('sys/socket.h', 'SO_PEERCRED') + conf_data.set('NO_LOCAL_CLIENT_CRED', 1) +- endif +-endif ++ #endif ++#endif + + conf_data.set('TCPCONN', '1') + conf_data.set('UNIXCONN', host_machine.system() != 'windows' ? '1' : false) +@@ -212,7 +212,7 @@ + conf_data.set('DRI2', build_dri2 ? '1' : false) + conf_data.set('DRI3', build_dri3 ? '1' : false) + if build_glx +- conf_data.set_quoted('DRI_DRIVER_PATH', dri_dep.get_pkgconfig_variable('dridriverdir')) ++ conf_data.set_quoted('DRI_DRIVER_PATH', '/usr/lib/dri') + endif + conf_data.set('HAS_SHM', build_mitshm ? '1' : false) + conf_data.set('MITSHM', build_mitshm ? '1' : false) +diff -ruwN source-old/meson.build source/meson.build +--- source-old/meson.build 2025-11-07 14:39:22.420574991 -0700 ++++ source/meson.build 2025-11-07 14:37:53.043279226 -0700 +@@ -439,7 +439,7 @@ + error('DRI requested, but LIBDRM not found') + endif + +-build_modesetting = libdrm_dep.found() and dri2proto_dep.found() ++build_modesetting = false #TODO: libdrm_dep.found() and dri2proto_dep.found() + + build_vgahw = false + if get_option('vgahw') == 'auto' +@@ -753,7 +753,7 @@ + subdir('hw') + + if host_machine.system() != 'windows' +- subdir('test') ++ #subdir('test') + endif + + install_man(configure_file( +diff -ruwN source-old/os/access.c source/os/access.c +--- source-old/os/access.c 2025-02-25 11:56:05.000000000 -0700 ++++ source/os/access.c 2025-11-07 14:37:53.043632189 -0700 +@@ -120,7 +120,7 @@ + #include + #endif + +-#if defined(SVR4) || (defined(SYSV) && defined(__i386__)) || defined(__GNU__) ++#if defined(SVR4) || (defined(SYSV) && defined(__i386__)) || defined(__GNU__) || defined(__redox__) + #include + #endif + #if defined(SYSV) && defined(__i386__) +diff -ruwN source-old/Xext/bigreq.c source/Xext/bigreq.c +--- source-old/Xext/bigreq.c 2025-02-25 11:56:05.000000000 -0700 ++++ source/Xext/bigreq.c 2025-11-07 14:37:53.043862040 -0700 +@@ -51,7 +51,8 @@ + } + if (stuff->brReqType != X_BigReqEnable) + return BadRequest; +- REQUEST_SIZE_MATCH(xBigReqEnableReq); ++ // libxkbcommon sends incorrect size ++ REQUEST_AT_LEAST_SIZE(xBigReqEnableReq); + client->big_requests = TRUE; + rep = (xBigReqEnableReply) { + .type = X_Reply, diff --git a/recipes/wip/x11/xterm/recipe.toml b/recipes/wip/x11/xterm/recipe.toml new file mode 100644 index 00000000..81f46a81 --- /dev/null +++ b/recipes/wip/x11/xterm/recipe.toml @@ -0,0 +1,39 @@ +[source] +tar = "https://invisible-island.net/archives/xterm/xterm-398.tgz" +blake3 = "c42112586b2c231681db9327df9d797953469e3b7cb2abe93b8f3f821597d528" +patches = ["redox.patch"] + +[build] +dependencies = [ + "expat", + "fontconfig", + "freetype2", + "libice", + "libpng", + "libpthread-stubs", + "libsm", + "libx11", + "libxau", + "libxaw", + "libxcb", + "libxext", + "libxft", + "libxmu", + "libxpm", + "libxrender", + "libxt", + "ncurses", + "pcre2", + "x11proto", + "zlib", +] +template = "custom" +script = """ +DYNAMIC_INIT +export CFLAGS="${CFLAGS} -I${COOKBOOK_SYSROOT}/usr/include/freetype2" +#TODO: why are LIBS not automatic? +export LIBS="-lXaw7 -lXmu -lXpm -lXt -lSM -lICE -lXft -lfreetype -lfontconfig -lXrender -lXext -lX11 -lxcb -lXau -lpcre2-8 -lexpat -lpng -lz" +cookbook_configure \ + --with-pcre2 \ + cf_cv_func_setitimer=no +""" diff --git a/recipes/wip/x11/xterm/redox.patch b/recipes/wip/x11/xterm/redox.patch new file mode 100644 index 00000000..69e3a0ab --- /dev/null +++ b/recipes/wip/x11/xterm/redox.patch @@ -0,0 +1,76 @@ +diff -ruwN xterm-398/main.c source/main.c +--- xterm-398/main.c 2025-03-08 06:03:19.000000000 -0700 ++++ source/main.c 2025-05-05 21:25:41.492475745 -0600 +@@ -162,6 +162,10 @@ + #define USE_POSIX_SIGNALS + #endif + ++#ifndef XTABS ++#define XTABS 0x01800 ++#endif ++ + #if defined(SYSV) && !defined(SVR4) && !defined(ISC22) && !defined(ISC30) + /* older SYSV systems cannot ignore SIGHUP. + Shell hangs, or you get extra shells, or something like that */ +@@ -185,6 +189,10 @@ + #define WTMP + #endif + ++#ifdef __redox__ ++#define USE_SYSV_PGRP ++#endif ++ + #ifdef __SCO__ + #ifndef _SVID3 + #define _SVID3 +@@ -3114,7 +3122,7 @@ + } + } + +-#if defined(__osf__) || (defined(__linux__) && !defined(USE_USG_PTYS)) || defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) ++#if defined(__osf__) || (defined(__linux__) && !defined(USE_USG_PTYS)) || defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__APPLE__) || defined(__redox__) + #define USE_OPENPTY 1 + static int opened_tty = -1; + #endif +@@ -4494,7 +4502,7 @@ + /* make /dev/tty work */ + ioctl(ttyfd, TIOCSCTTY, 0); + #endif +-#ifdef USE_SYSV_PGRP ++#if defined(USE_SYSV_PGRP) && !defined(__redox__) + /* We need to make sure that we are actually + * the process group leader for the pty. If + * we are, then we should now be able to open +diff -ruwN xterm-398/xterm.h source/xterm.h +--- xterm-398/xterm.h 2025-04-08 01:36:09.000000000 -0600 ++++ source/xterm.h 2025-05-05 21:11:05.413561791 -0600 +@@ -80,7 +80,7 @@ + #define HAVE_PUTENV 1 + #endif + +-#if defined(CSRG_BASED) || defined(__GNU__) || defined(__minix) ++#if defined(CSRG_BASED) || defined(__GNU__) || defined(__minix) || defined(__redox__) + #define USE_POSIX_TERMIOS 1 + #endif + +@@ -208,7 +208,7 @@ + #define HAVE_PTY_H + #endif + +-#if !defined(USG) && !defined(__minix) ++#if !defined(USG) && !defined(__minix) && !defined(__redox__) + #define HAVE_SETITIMER 1 + #else + #define HAVE_SETITIMER 0 +diff -ruwN xterm-398/xterm_io.h source/xterm_io.h +--- xterm-398/xterm_io.h 2024-09-30 02:03:20.000000000 -0600 ++++ source/xterm_io.h 2025-05-05 21:11:05.413561791 -0600 +@@ -57,7 +57,7 @@ + #define USE_SYSV_TERMIO + #endif + +-#if defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__INTERIX) || defined(__APPLE__) || defined(__UNIXWARE__) || defined(__hpux) ++#if defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__INTERIX) || defined(__APPLE__) || defined(__UNIXWARE__) || defined(__hpux) || defined(__redox__) + #ifndef USE_POSIX_TERMIOS + #define USE_POSIX_TERMIOS + #endif diff --git a/recipes/wip/x11/xtrans/recipe.toml b/recipes/wip/x11/xtrans/recipe.toml new file mode 100644 index 00000000..4278f942 --- /dev/null +++ b/recipes/wip/x11/xtrans/recipe.toml @@ -0,0 +1,6 @@ +[source] +tar = "https://xorg.freedesktop.org/archive/individual/lib/xtrans-1.6.0.tar.xz" +blake3 = "18e5a2478425ec43370d7719bc4ee4f25d01ad7f580fcc3b5d91effa267cbaaa" + +[build] +template = "configure" diff --git a/repo.sh b/repo.sh new file mode 100755 index 00000000..ab6ea895 --- /dev/null +++ b/repo.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash +set -e + +source `dirname "$0"`/config.sh + +COOK_OPT="" +recipes="" +for arg in "${@:1}" +do + if [[ "$arg" == "--appstream" ]] + then + export APPSTREAM="1" + elif [[ "$arg" == "--offline" ]] + then + export COOKBOOK_OFFLINE=true + elif [[ "$arg" == "--nonstop" ]] + then + export COOKBOOK_NONSTOP=true + elif [[ $arg == "--*" ]] + then + COOK_OPT+=" ${arg}" + else + recipes+=" $arg" + fi +done + +repo cook $COOK_OPT $recipes diff --git a/src/bin/cook.rs b/src/bin/cook.rs new file mode 100644 index 00000000..555fd37a --- /dev/null +++ b/src/bin/cook.rs @@ -0,0 +1,165 @@ +use std::path::Path; +use std::{env, process}; + +use cookbook::cook::fetch::{fetch, fetch_offline}; +use cookbook::cook::fs::create_target_dir; +use cookbook::cook::package::package; +use cookbook::recipe::{CookRecipe, Recipe}; +use pkg::PackageName; + +use cookbook::config::init_config; +use cookbook::cook::cook_build::build; +use termion::{color, style}; + +fn cook( + recipe_dir: &Path, + name: &PackageName, + recipe: &Recipe, + is_deps: bool, + fetch_only: bool, + is_offline: bool, +) -> Result<(), String> { + let source_dir = match is_offline { + true => fetch_offline(recipe_dir, recipe, &None), + false => fetch(recipe_dir, recipe, &None), + } + .map_err(|err| format!("failed to fetch: {}", err))?; + + if fetch_only { + return Ok(()); + } + + let target_dir = create_target_dir(recipe_dir)?; + + let (stage_dir, auto_deps) = build( + recipe_dir, + &source_dir, + &target_dir, + name, + recipe, + is_offline, + !is_deps, + &None, + ) + .map_err(|err| format!("failed to build: {}", err))?; + + package(&stage_dir, &target_dir, name, recipe, &auto_deps, &None) + .map_err(|err| format!("failed to package: {}", err))?; + + Ok(()) +} + +fn main() { + init_config(); + let mut matching = true; + let mut dry_run = false; + let mut fetch_only = false; + let mut with_package_deps = false; + let mut quiet = false; + let mut nonstop = false; + let mut is_offline = false; + let mut recipe_names = Vec::new(); + for arg in env::args().skip(1) { + match arg.as_str() { + "--" if matching => matching = false, + "-d" | "--dry-run" if matching => dry_run = true, + "--with-package-deps" if matching => with_package_deps = true, + "--fetch-only" if matching => fetch_only = true, + "-q" | "--quiet" if matching => quiet = true, + "--nonstop" => nonstop = true, + "--offline" => is_offline = true, + _ => recipe_names.push(arg.try_into().expect("Invalid package name")), + } + } + + if with_package_deps { + recipe_names = match CookRecipe::get_package_deps_recursive(&recipe_names, true) { + Ok(ok) => ok, + Err(err) => { + eprintln!( + "{}{}cook - error:{}{} {}", + style::Bold, + color::Fg(color::AnsiValue(196)), + color::Fg(color::Reset), + style::Reset, + err, + ); + process::exit(1); + } + }; + } + + let recipes = + match CookRecipe::get_build_deps_recursive(&recipe_names, true, !with_package_deps) { + Ok(ok) => ok, + Err(err) => { + eprintln!( + "{}{}cook - error:{}{} {}", + style::Bold, + color::Fg(color::AnsiValue(196)), + color::Fg(color::Reset), + style::Reset, + err, + ); + process::exit(1); + } + }; + + for recipe in recipes { + if !quiet { + eprintln!( + "{}{}cook - {}{}{}", + style::Bold, + color::Fg(color::AnsiValue(215)), + recipe.name, + color::Fg(color::Reset), + style::Reset, + ); + } + + let res = if dry_run { + if !quiet { + eprintln!("DRY RUN: {:#?}", recipe.recipe); + } + Ok(()) + } else { + cook( + &recipe.dir, + &recipe.name, + &recipe.recipe, + recipe.is_deps, + fetch_only, + is_offline, + ) + }; + + match res { + Ok(()) => { + if !quiet { + eprintln!( + "{}{}cook - {} - successful{}{}", + style::Bold, + color::Fg(color::AnsiValue(46)), + recipe.name, + color::Fg(color::Reset), + style::Reset, + ); + } + } + Err(err) => { + eprintln!( + "{}{}cook - {} - error:{}{} {}", + style::Bold, + color::Fg(color::AnsiValue(196)), + recipe.name, + color::Fg(color::Reset), + style::Reset, + err, + ); + if !nonstop { + process::exit(1); + } + } + } + } +} diff --git a/src/bin/cookbook_redoxer.rs b/src/bin/cookbook_redoxer.rs new file mode 100644 index 00000000..0a930390 --- /dev/null +++ b/src/bin/cookbook_redoxer.rs @@ -0,0 +1,10 @@ +use std::env; + +fn main() { + let mut args: Vec = env::args().collect(); + // Ensure all flags go to cargo + if args.len() >= 2 { + args.insert(2, "--".to_string()); + } + redoxer::main(&args); +} diff --git a/src/bin/find_recipe.rs b/src/bin/find_recipe.rs new file mode 100644 index 00000000..8765b4eb --- /dev/null +++ b/src/bin/find_recipe.rs @@ -0,0 +1,25 @@ +use std::env::args; +use std::process::exit; + +use pkg::recipes; + +fn usage() { + println!("Usage: find_recipe recipe_name"); +} +fn main() { + if args().len() != 2 { + usage(); + exit(2); + } + let recipe_name = &args().last().unwrap(); + match recipes::find(recipe_name) { + Some(path) => { + println!("{}", path.display()); + exit(0); + } + None => { + eprintln!("recipe {} not found", recipe_name); + exit(1); + } + } +} diff --git a/src/bin/list_recipes.rs b/src/bin/list_recipes.rs new file mode 100644 index 00000000..59a30df1 --- /dev/null +++ b/src/bin/list_recipes.rs @@ -0,0 +1,28 @@ +use std::process::exit; + +use pkg::recipes; + +fn main() { + let print_short = std::env::args() + .nth(1) + .map_or(false, |a| a == "-s" || a == "--short"); + + let result = recipes::list(""); + if result.is_empty() { + eprintln!("recipes not found"); + exit(1); + } else { + for path in result { + let Some(file_name) = path.file_name() else { + continue; + }; + + if print_short { + println!("{}", file_name.to_string_lossy()); + } else { + println!("{}", path.to_string_lossy()); + } + } + exit(0); + } +} diff --git a/src/bin/repo.rs b/src/bin/repo.rs new file mode 100644 index 00000000..429d2322 --- /dev/null +++ b/src/bin/repo.rs @@ -0,0 +1,1734 @@ +use ansi_to_tui::IntoText; +use anyhow::{Context, anyhow, bail}; +use cookbook::config::{CookConfig, get_config, init_config}; +use cookbook::cook::cook_build::build; +use cookbook::cook::fetch::{fetch, fetch_offline}; +use cookbook::cook::fs::{create_target_dir, run_command}; +use cookbook::cook::package::package; +use cookbook::cook::pty::{PtyOut, UnixSlavePty, flush_pty, setup_pty}; +use cookbook::cook::script::KILL_ALL_PID; +use cookbook::cook::tree::{WalkTreeEntry, display_tree_entry, format_size, walk_tree_entry}; +use cookbook::log_to_pty; +use cookbook::recipe::CookRecipe; +use pkg::PackageName; +use pkg::package::PackageError; +use ratatui::Terminal; +use ratatui::layout::{Constraint, Direction, Layout, Position, Rect}; +use ratatui::prelude::TermionBackend; +use ratatui::style::{Color, Style}; +use ratatui::text::{Line, Span, Text}; +use ratatui::widgets::{Block, Borders, Clear, List, ListItem, ListState, Paragraph, Wrap}; +use redox_installer::PackageConfig; +use std::borrow::Cow; +use std::collections::{HashMap, HashSet, VecDeque}; +use std::io::{Read, Write, stderr, stdin, stdout}; +use std::path::PathBuf; +use std::process::Command; +use std::str::FromStr; +use std::sync::atomic::{AtomicBool, AtomicU32, Ordering}; +use std::sync::{Arc, OnceLock, mpsc}; +use std::time::{Duration, Instant}; +use std::{cmp, env, fs}; +use std::{process, thread}; +use termion::event::{Event, Key, MouseEvent}; +use termion::input::TermRead; +use termion::raw::IntoRawMode; +use termion::screen::IntoAlternateScreen; +use termion::{color, style}; + +// A repo manager, to replace repo.sh + +const REPO_HELP_STR: &str = r#" + Usage: repo [flags] ... + + command list: + fetch download recipe sources + cook build recipe packages + unfetch delete recipe sources + clean delete recipe artifacts + push extract package into sysroot + find find path of recipe packages + tree show tree of recipe packages + + common flags: + --cookbook= the "recipes" folder, default to $PWD/recipes + --repo= the "repo" folder, default to $PWD/repo + --sysroot= the "root" folder used for "push" command + For Redox, defaults to "/", else default to $PWD/sysroot + --with-package-deps include package deps + --all apply to all recipes in + --category= apply to all recipes in / + --filesystem= override recipes config using installer file + --repo-binary override recipes config to use repo_binary + + cook env and their defaults: + CI= set to any value to disable TUI + COOKBOOK_LOGS= whether to capture build logs (default is !CI) + COOKBOOK_OFFLINE=false prevent internet access if possible + COOKBOOK_NONSTOP=false pkeep running even a recipe build failed + COOKBOOK_VERBOSE=true print success/error on each recipe + COOKBOOK_MAKE_JOBS= override build jobs count from nproc +"#; + +#[derive(Clone)] +struct CliConfig { + cookbook_dir: PathBuf, + repo_dir: PathBuf, + sysroot_dir: PathBuf, + logs_dir: Option, + category: Option, + filesystem: Option, + with_package_deps: bool, + all: bool, + cook: CookConfig, +} + +#[derive(PartialEq)] +enum CliCommand { + Fetch, + Cook, + Unfetch, + Clean, + Push, + Tree, + Find, +} + +impl CliCommand { + pub fn is_informational(&self) -> bool { + *self == CliCommand::Tree || *self == CliCommand::Find + } + pub fn is_building(&self) -> bool { + *self == CliCommand::Fetch || *self == CliCommand::Cook + } + pub fn is_pushing(&self) -> bool { + *self == CliCommand::Push || *self == CliCommand::Tree + } + pub fn is_cleaning(&self) -> bool { + *self == CliCommand::Clean || *self == CliCommand::Unfetch + } +} + +impl FromStr for CliCommand { + type Err = anyhow::Error; + + fn from_str(s: &str) -> Result { + match s { + "fetch" => Ok(CliCommand::Fetch), + "cook" => Ok(CliCommand::Cook), + "unfetch" => Ok(CliCommand::Unfetch), + "clean" => Ok(CliCommand::Clean), + "push" => Ok(CliCommand::Push), + "tree" => Ok(CliCommand::Tree), + "find" => Ok(CliCommand::Find), + _ => Err(anyhow!("Unknown command '{}'\n{}\n", s, REPO_HELP_STR)), + } + } +} + +impl ToString for CliCommand { + fn to_string(&self) -> String { + match self { + CliCommand::Fetch => "fetch".to_string(), + CliCommand::Cook => "cook".to_string(), + CliCommand::Unfetch => "unfetch".to_string(), + CliCommand::Clean => "clean".to_string(), + CliCommand::Push => "push".to_string(), + CliCommand::Tree => "tree".to_string(), + CliCommand::Find => "find".to_string(), + } + } +} + +impl CliConfig { + fn new() -> Result { + let current_dir = env::current_dir()?; + Ok(CliConfig { + //FIXME: This config is unused as redox-pkg harcoded this to $PWD/recipes + cookbook_dir: current_dir.join("recipes"), + repo_dir: current_dir.join("repo"), + // build dir here is hardcoded in repo_builder as well + logs_dir: if get_config().cook.logs { + Some(current_dir.join("build/logs")) + } else { + None + }, + category: None, + sysroot_dir: if cfg!(target_os = "redox") { + PathBuf::from("/") + } else { + current_dir.join("sysroot") + }, + with_package_deps: false, + cook: get_config().cook.clone(), + all: false, + filesystem: None, + }) + } +} + +fn main() { + init_config(); + if let Err(e) = main_inner() { + eprintln!("{:?}", e); + process::exit(1); + }; +} + +fn main_inner() -> anyhow::Result<()> { + let args: Vec = env::args().skip(1).collect(); + + if args.is_empty() || args.contains(&"--help".to_string()) || args.contains(&"-h".to_string()) { + println!("{}", REPO_HELP_STR); + process::exit(1); + } + + let (config, command, recipe_names) = parse_args(args)?; + if command == CliCommand::Cook && config.cook.tui { + if let Some((name, e)) = run_tui_cook(config.clone(), recipe_names.clone())? { + let _ = stderr().write(e.as_bytes()); + let _ = stderr().write(b"\n\n"); + print_failed(&command, &name); + return Err(anyhow!("Execution has failed")); + } else { + print_success(&command, None); + } + return publish_packages(&recipe_names, &config.repo_dir); + } + if command == CliCommand::Tree { + return handle_tree(&recipe_names, &config); + } + if command == CliCommand::Push { + return handle_push(&recipe_names, &config); + } + + let verbose = config.cook.verbose; + for recipe in &recipe_names { + match repo_inner(&config, &command, recipe) { + Ok(_) => { + print_success(&command, Some(&recipe.name)); + } + Err(e) => { + if config.cook.nonstop && verbose { + eprintln!("{:?}", e); + } + print_failed(&command, &recipe.name); + if !config.cook.nonstop { + return Err(e); + } + } + } + } + + if command == CliCommand::Cook { + return publish_packages(&recipe_names, &config.repo_dir); + } + + if verbose { + println!( + "\nCommand '{}' completed for {} recipes.", + command.to_string(), + recipe_names.len() + ); + } + Ok(()) +} + +fn print_failed(command: &CliCommand, recipe: &PackageName) { + eprintln!( + "{}{}{} {} - failed {}{}", + style::Bold, + color::Fg(color::AnsiValue(196)), + command.to_string(), + recipe.as_str(), + color::Fg(color::Reset), + style::Reset, + ); +} + +fn print_success(command: &CliCommand, recipe: Option<&PackageName>) { + if let Some(recipe) = recipe { + eprintln!( + "{}{}{} {} - successful{}{}", + style::Bold, + color::Fg(color::AnsiValue(46)), + command.to_string(), + recipe.as_str(), + color::Fg(color::Reset), + style::Reset, + ); + } else { + eprintln!( + "{}{}{} - successful{}{}", + style::Bold, + color::Fg(color::AnsiValue(46)), + command.to_string(), + color::Fg(color::Reset), + style::Reset, + ); + } +} + +fn repo_inner( + config: &CliConfig, + command: &CliCommand, + recipe: &CookRecipe, +) -> Result<(), anyhow::Error> { + Ok(match *command { + CliCommand::Fetch | CliCommand::Cook => { + let repo_inner_fn = move |logger: &PtyOut| -> Result<(), anyhow::Error> { + let source_dir = handle_fetch(recipe, config, logger)?; + if *command == CliCommand::Cook { + handle_cook(recipe, config, source_dir, recipe.is_deps, logger)?; + } + Ok(()) + }; + let Some(log_path) = &config.logs_dir else { + return repo_inner_fn(&None); + }; + + let (status_tx, status_rx) = mpsc::channel::(); + let (mut stdout_writer, mut stderr_writer) = setup_logger(&status_tx, &recipe.name); + let mut app = TuiApp::new(vec![recipe.clone()]); + app.dump_logs_anyway = true; + let th = thread::spawn(move || { + while let Ok(update) = status_rx.recv() { + if update == StatusUpdate::CookThreadFinished { + break; + } + app.update_status(update); + } + }); + let mut logger = Some((&mut stdout_writer, &mut stderr_writer)); + let result = repo_inner_fn(&logger); + if let Err(err_ctx) = &result { + log_to_pty!(&logger, "\n{:?}", err_ctx) + } + // successful fetch is not that useful to log + if *command == CliCommand::Cook || result.is_err() { + flush_pty(&mut logger); + let log_path = log_path.join(format!("{}.log", recipe.name.as_str())); + status_tx + .send(StatusUpdate::FlushLog(recipe.name.clone(), log_path)) + .unwrap_or_default(); + } + status_tx + .send(StatusUpdate::CookThreadFinished) + .unwrap_or_default(); + let _ = th.join(); + } + CliCommand::Unfetch => handle_clean(recipe, config, true, true)?, + CliCommand::Clean => handle_clean(recipe, config, false, true)?, + CliCommand::Push => unreachable!(), + CliCommand::Tree => unreachable!(), + CliCommand::Find => println!("{}", recipe.dir.display()), + }) +} + +fn publish_packages(recipe_names: &Vec, repo_path: &PathBuf) -> anyhow::Result<()> { + let repo_bin = env::current_exe()?.parent().unwrap().join("repo_builder"); + let mut command = Command::new(repo_bin); + command + .arg(repo_path.join(redoxer::target())) + .args(recipe_names.iter().filter_map(|n| { + if !n.is_deps { + Some(n.name.as_str()) + } else { + None + } + })); + + run_command(command, &None).map_err(|e| anyhow!(e)) +} + +fn parse_args(args: Vec) -> anyhow::Result<(CliConfig, CliCommand, Vec)> { + let mut config = CliConfig::new()?; + let mut command: Option = None; + let mut recipe_names: Vec = Vec::new(); + let mut override_filesystem_repo_binary = false; + for arg in args { + if arg.starts_with("--") { + if let Some((key, value)) = arg.split_once('=') { + match key { + "--cookbook" => config.cookbook_dir = PathBuf::from(value), + "--repo" => config.repo_dir = PathBuf::from(value), + "--sysroot" => config.sysroot_dir = PathBuf::from(value), + "--category" => config.category = Some(PathBuf::from(value)), + "--filesystem" => { + config.filesystem = Some({ + let r = redox_installer::Config::from_file(&PathBuf::from(value)); + r.context("Unable to read filesystem installer config")? + }) + } + _ => { + eprintln!("Error: Unknown flag with value: {}", arg); + process::exit(1); + } + } + } else if arg.starts_with("--category-") { + // to workaround make command limit we provide this option + config.category = Some(PathBuf::from(arg[("--category-").len()..].to_owned())); + } else { + match arg.as_str() { + "--repo-binary" => override_filesystem_repo_binary = true, + "--with-package-deps" => config.with_package_deps = true, + "--all" => config.all = true, + _ => { + eprintln!("Error: Unknown flag: {}", arg); + process::exit(1); + } + } + } + } else if arg.starts_with('-') { + match arg.as_str() { + _ => { + eprintln!("Error: Unknown flag: {}", arg); + process::exit(1); + } + } + } else if command.is_none() { + // The first non-flag argument is the command + command = Some(arg); + } else { + // Subsequent non-flag arguments are recipe names + recipe_names.push(arg.try_into().context("Invalid package name")?); + } + } + + if let Some(c) = config.category { + // need to prefix by cookbook dir + config.category = Some(PathBuf::from("recipes").join(c)); + } + if let Some(c) = config.logs_dir.as_mut() { + *c = c.join(redoxer::target()); + fs::create_dir_all(c).map_err(|e| anyhow!(e))?; + } + if override_filesystem_repo_binary { + if let Some(conf) = config.filesystem.as_mut() { + conf.general.repo_binary = Some(true); + } + } + + let command = command.ok_or(anyhow!("Error: No command specified."))?; + let command: CliCommand = str::parse(&command)?; + let mut recipes = if config.all || config.category.is_some() { + if !recipe_names.is_empty() { + bail!("Do not specify recipe names when using the --all or --category flag."); + } + if config.all && config.category.is_some() { + bail!("Do not specify both --all and --category flag."); + } + if config.all && !command.is_cleaning() { + // because read_recipe is false by logic below + // some recipes on wip folders are invalid anyway + bail!( + "Refusing to run an unrealistic command to {} all recipes", + command.to_string() + ); + } + match &config.category { + None => pkg::recipes::list(""), + Some(prefix) => pkg::recipes::list("") + .into_iter() + .filter(|p| p.starts_with(prefix)) + .collect(), + } + .iter() + .map(|f| CookRecipe::from_path(f, !command.is_cleaning())) + .collect::, PackageError>>()? + } else { + if recipe_names.is_empty() { + if let Some(conf) = config.filesystem.as_ref() { + recipe_names = conf + .packages + .iter() + .filter_map(|(f, v)| { + match v { + PackageConfig::Build(rule) if rule == "ignore" => { + return None; + } + _ => {} + } + PackageName::new(f).ok() + }) + .collect(); + } else { + bail!( + "Error: No recipe names or filesystem config provided and --all flag was not used." + ); + } + } + if command.is_building() || (command.is_pushing() && config.with_package_deps) { + if config.with_package_deps { + recipe_names = CookRecipe::get_package_deps_recursive(&recipe_names, true) + .context("failed get package deps")?; + } + CookRecipe::get_build_deps_recursive( + &recipe_names, + true, + // In CliCommand::Cook, is_deps==true will make it skip checking source + command == CliCommand::Tree || !config.with_package_deps, + )? + } else { + recipe_names + .iter() + .map(|f| CookRecipe::from_name(f.as_str()).unwrap()) + .collect() + } + }; + if let Some(conf) = config.filesystem.as_ref() + && !command.is_cleaning() + { + for recipe in recipes.iter_mut() { + if let Some(recipe_conf) = conf.packages.get(recipe.name.as_str()) { + match recipe_conf { + // build from source as usual + PackageConfig::Build(rule) if rule == "source" => {} + // keep local changes + PackageConfig::Build(rule) if rule == "local" => recipe.recipe.source = None, + // download from remote build + PackageConfig::Build(rule) if rule == "binary" => { + recipe.recipe.source = None; + recipe.recipe.build.set_as_remote(); + } + // don't build this recipe (unlikely to go here unless some deps need it) + // TODO: Note that we're assuming this being ignored from e.g. metapackages + // TODO: Will totally broke build if this recipe needed as some other build dependencies + PackageConfig::Build(rule) if rule == "ignore" => { + recipe.recipe.source = None; + recipe.recipe.build.set_as_none(); + } + PackageConfig::Build(rule) => { + bail!( + // Fail fast because we could risk losing local changes if "local" was typo'ed + "Invalid pkg config {} = \"{}\"\nExpecting either 'source', 'local', 'binary' or 'ignore'", + recipe.name.as_str(), + rule + ); + } + _ => { + if conf.general.repo_binary == Some(true) { + // same reason as Build("binary") + recipe.recipe.source = None; + recipe.recipe.build.set_as_remote(); + } + } + } + } else { + if conf.general.repo_binary == Some(true) { + recipe.recipe.source = None; + recipe.recipe.build.set_as_remote(); + } + } + } + } + + if command.is_informational() { + // avoid extra data that clobber stdout + config.cook.verbose = false; + } + + Ok((config, command, recipes)) +} + +fn handle_fetch( + recipe: &CookRecipe, + config: &CliConfig, + logger: &PtyOut, +) -> anyhow::Result { + let recipe_dir = &recipe.dir; + let source_dir = match config.cook.offline { + true => fetch_offline(recipe_dir, &recipe.recipe, logger), + false => fetch(recipe_dir, &recipe.recipe, logger), + } + .map_err(|e| anyhow!("failed to fetch: {:?}", e))?; + + Ok(source_dir) +} + +fn handle_cook( + recipe: &CookRecipe, + config: &CliConfig, + source_dir: PathBuf, + is_deps: bool, + logger: &PtyOut, +) -> anyhow::Result<()> { + let recipe_dir = &recipe.dir; + let target_dir = create_target_dir(recipe_dir).map_err(|e| anyhow!(e))?; + let (stage_dir, auto_deps) = build( + recipe_dir, + &source_dir, + &target_dir, + &recipe.name, + &recipe.recipe, + config.cook.offline, + !is_deps, + logger, + ) + .map_err(|err| anyhow!("failed to build: {:?}", err))?; + + package( + &stage_dir, + &target_dir, + &recipe.name, + &recipe.recipe, + &auto_deps, + logger, + ) + .map_err(|err| anyhow!("failed to package: {:?}", err))?; + + Ok(()) +} + +fn handle_clean( + recipe: &CookRecipe, + _config: &CliConfig, + source: bool, + target: bool, +) -> anyhow::Result<()> { + let dir = recipe.dir.join("target"); + if dir.exists() && target { + fs::remove_dir_all(&dir).context(format!("failed to delete {}", dir.display()))?; + } + let dir = recipe.dir.join("source"); + if dir.exists() && source { + fs::remove_dir_all(&dir).context(format!("failed to delete {}", dir.display()))?; + } + Ok(()) +} + +static PUSH_SYSROOT_DIR: OnceLock = OnceLock::new(); +fn handle_push(recipes: &Vec, config: &CliConfig) -> anyhow::Result<()> { + let recipe_map: HashMap<&PackageName, &CookRecipe> = + recipes.iter().map(|r| (&r.name, r)).collect(); + let mut total_size: u64 = 0; + let mut visited: HashSet = HashSet::new(); + let roots: Vec<&CookRecipe> = recipes.iter().filter(|r| !r.is_deps).collect(); + let num_roots = roots.len(); + PUSH_SYSROOT_DIR.set(config.sysroot_dir.clone()).unwrap(); + let handle_push_inner = move |package_name: &PackageName, + _prefix: &str, + _is_last: bool, + entry: &WalkTreeEntry| + -> anyhow::Result<()> { + let public_path = "build/id_ed25519.pub.toml"; + let r = match entry { + WalkTreeEntry::Built(archive_path, _) => { + let sysroot_dir = PUSH_SYSROOT_DIR.get().unwrap(); + pkgar::extract(public_path, archive_path.as_path(), sysroot_dir).context(format!( + "failed to install '{}' in '{}'", + archive_path.display(), + sysroot_dir.display(), + )) + } + WalkTreeEntry::NotBuilt => Err(anyhow!( + "Package {} has not been built", + package_name.as_str() + )), + WalkTreeEntry::Deduped | WalkTreeEntry::Missing => { + return Ok(()); + } + }; + match r { + Ok(()) => { + print_success(&CliCommand::Push, Some(package_name)); + Ok(()) + } + Err(e) => { + print_failed(&CliCommand::Push, package_name); + if get_config().cook.nonstop { + Ok(()) + } else { + Err(e) + } + } + } + }; + if config.with_package_deps { + for (i, root) in roots.iter().enumerate() { + walk_tree_entry( + &root.name, + &recipe_map, + "", + i == num_roots - 1, + &mut visited, + &mut total_size, + handle_push_inner, + )?; + } + } else { + for (i, root) in roots.iter().enumerate() { + let archive_path = config + .repo_dir + .join(redoxer::target()) + .join(format!("{}.pkgar", root.name)); + let metadata = std::fs::metadata(&archive_path); + handle_push_inner( + &root.name, + "", + i == num_roots - 1, + &match metadata { + Ok(m) => { + total_size += m.len(); + visited.insert(root.name.clone()); + WalkTreeEntry::Built(&archive_path, m.len()) + } + Err(_) => WalkTreeEntry::NotBuilt, + }, + )?; + } + } + + if config.cook.verbose { + println!(""); + println!( + "Pushed {} of {} {}", + format_size(total_size), + visited.len(), + if visited.len() == 1 { + "package" + } else { + "packages" + }, + ); + } + + Ok(()) +} + +fn handle_tree(recipes: &Vec, _config: &CliConfig) -> anyhow::Result<()> { + let recipe_map: HashMap<&PackageName, &CookRecipe> = + recipes.iter().map(|r| (&r.name, r)).collect(); + let mut total_size: u64 = 0; + let mut visited: HashSet = HashSet::new(); + let roots: Vec<&CookRecipe> = recipes.iter().filter(|r| !r.is_deps).collect(); + let num_roots = roots.len(); + for (i, root) in roots.iter().enumerate() { + display_tree_entry( + &root.name, + &recipe_map, + "", + i == num_roots - 1, + &mut visited, + &mut total_size, + )?; + } + + println!(""); + println!( + "Estimated image size: {} of {} {}", + format_size(total_size), + visited.len(), + if visited.len() == 1 { + "package" + } else { + "packages" + }, + ); + + Ok(()) +} + +// +// ------------- TUI SPECIFIC CODE ------------------- +// + +#[derive(Debug, Clone, PartialEq)] +enum RecipeStatus { + Pending, + Fetching, + Fetched, + Cooking, + Done, + Failed(String), +} + +#[derive(Debug, Clone, PartialEq)] +enum StatusUpdate { + StartFetch(PackageName), + Fetched(CookRecipe), + FailFetch(CookRecipe, String), + StartCook(PackageName), + Cooked(CookRecipe), + FailCook(CookRecipe, String), + PushLog(PackageName, Vec), + FlushLog(PackageName, PathBuf), + FetchThreadFinished, + CookThreadFinished, +} + +#[derive(PartialEq)] +enum JobType { + Fetch, + Cook, +} + +impl ToString for JobType { + fn to_string(&self) -> String { + match self { + JobType::Fetch => "Fetch", + JobType::Cook => "Cook", + } + .to_string() + } +} + +struct TuiApp { + recipes: Vec<(CookRecipe, RecipeStatus)>, + fetch_queue: VecDeque, + cook_queue: VecDeque, + done: Vec, + active_fetch: Option, + active_cook: Option, + logs: HashMap>, + log_byte_buffer: HashMap>, + log_scroll: usize, + log_view_job: JobType, + auto_scroll: bool, + fetch_scroll: usize, + cook_scroll: usize, + cook_auto_scroll: bool, + cook_list_state: ListState, + fetch_complete: bool, + cook_complete: bool, + fetch_panel_rect: Option, + cook_panel_rect: Option, + log_panel_rect: Option, + prompt: Option, + dump_logs_anyway: bool, + dump_logs_on_exit: Option<(PackageName, String)>, +} + +impl TuiApp { + fn new(recipes: Vec) -> Self { + Self { + recipes: recipes + .iter() + .cloned() + .map(|r| (r, RecipeStatus::Pending)) + .collect(), + fetch_queue: recipes.iter().cloned().map(|r| r.clone()).collect(), + cook_queue: VecDeque::new(), + done: Vec::new(), + active_fetch: None, + active_cook: None, + logs: HashMap::new(), + log_byte_buffer: HashMap::new(), + log_scroll: 0, + auto_scroll: true, + log_view_job: JobType::Fetch, + fetch_scroll: 0, + cook_scroll: 0, + cook_auto_scroll: true, + cook_list_state: ListState::default(), + fetch_complete: false, + cook_complete: false, + fetch_panel_rect: None, + cook_panel_rect: None, + log_panel_rect: None, + prompt: None, + dump_logs_anyway: false, + dump_logs_on_exit: None, + } + } + + pub fn get_active_name(&self) -> Option { + if self.log_view_job == JobType::Cook { + self.active_cook.clone() + } else { + self.active_fetch.clone() + } + } + + pub fn get_active_log( + &self, + ) -> ( + Option, + Option<&Vec>, + Option>, + ) { + let active_name = self.get_active_name(); + let (log_text, log_line) = if let Some(active_name) = active_name.as_ref() { + self.get_recipe_log(active_name) + } else { + (None, None) + }; + + (active_name, log_text, log_line) + } + + pub fn get_recipe_log( + &self, + recipe_name: &PackageName, + ) -> (Option<&Vec>, Option>) { + let log_text = self.logs.get(recipe_name); + let log_line = if let Some(b) = self.log_byte_buffer.get(recipe_name) { + Some(String::from_utf8_lossy(b)) + } else { + None + }; + (log_text, log_line) + } + + pub fn write_log(&self, recipe_name: &PackageName, log_path: &PathBuf) -> anyhow::Result<()> { + let (Some(logs), line) = self.get_recipe_log(recipe_name) else { + return Ok(()); + }; + let str = strip_ansi_escapes::strip_str(join_logs(logs, line)); + if !str.trim_end().is_empty() { + fs::write(log_path, str)?; + } + return Ok(()); + } + + // Update the state based on a message from a worker thread + fn update_status(&mut self, update: StatusUpdate) { + let (name, new_status) = match update { + StatusUpdate::StartFetch(name) => { + self.active_fetch = Some(name.clone()); + self.logs.insert(name.clone(), Vec::new()); + self.log_byte_buffer.insert(name.clone(), Vec::new()); + self.log_scroll = 0; + self.auto_scroll = true; + (name.clone(), RecipeStatus::Fetching) + } + StatusUpdate::Fetched(recipe) => (recipe.name.clone(), RecipeStatus::Fetched), + StatusUpdate::FailFetch(recipe, err) => { + self.prompt = Some(FailurePrompt::new(recipe.clone(), err.clone())); + (recipe.name.clone(), RecipeStatus::Failed(err)) + } + StatusUpdate::StartCook(name) => { + self.active_cook = Some(name.clone()); + self.logs.insert(name.clone(), Vec::new()); + self.log_byte_buffer.insert(name.clone(), Vec::new()); + (name.clone(), RecipeStatus::Cooking) + } + StatusUpdate::PushLog(name, chunk) => { + let buffer = self.log_byte_buffer.entry(name.clone()).or_default(); + buffer.extend_from_slice(&chunk); + if self.dump_logs_anyway { + let _ = std::io::stdout().write_all(&chunk); + } + let log_list = self.logs.entry(name.clone()).or_default(); + while let Some(newline_pos) = buffer.iter().position(|&b| b == b'\n') { + let line_bytes = buffer.drain(..=newline_pos).collect::>(); + let line_str = String::from_utf8_lossy(&line_bytes).into_owned(); + let line_str_pos = line_str.trim_end(); + let line_str = line_str_pos.rsplit('\r').next().unwrap_or(&line_str_pos); + log_list.push(line_str.to_owned()); + } + return; + } + StatusUpdate::FlushLog(name, path) => { + // TODO: This blocks the TUI, maybe open separate thread? + // FIXME: handle error here? + let _ = self.write_log(&name, &path); + return; + } + StatusUpdate::Cooked(recipe) => { + if self.active_cook.as_ref() == Some(&recipe.name) { + self.active_cook = None; + } + self.auto_scroll = true; + (recipe.name.clone(), RecipeStatus::Done) + } + StatusUpdate::FailCook(recipe, err) => { + self.prompt = Some(FailurePrompt::new(recipe.clone(), err.clone())); + (recipe.name.clone(), RecipeStatus::Failed(err)) + } + StatusUpdate::FetchThreadFinished => { + self.fetch_complete = true; + self.log_view_job = JobType::Cook; + return; + } + StatusUpdate::CookThreadFinished => { + self.cook_complete = true; + return; + } + }; + + if let Some((_, status)) = self.recipes.iter_mut().find(|(r, _)| r.name == name) { + *status = new_status; + } + + // Re-compute the queues for display + self.fetch_queue = self + .recipes + .iter() + .filter(|(_, s)| *s == RecipeStatus::Pending) + .map(|(r, _)| r.clone()) + .collect(); + self.cook_queue = self + .recipes + .iter() + .filter(|(_, s)| *s == RecipeStatus::Fetched) + .map(|(r, _)| r.clone()) + .collect(); + self.done = self + .recipes + .iter() + .filter(|(_, s)| *s == RecipeStatus::Done) + .map(|(r, _)| r.name.clone()) + .collect(); + } +} + +fn run_tui_cook( + config: CliConfig, + recipes: Vec, +) -> anyhow::Result> { + let (work_tx, work_rx) = mpsc::channel::<(CookRecipe, PathBuf)>(); + let (status_tx, status_rx) = mpsc::channel::(); + + let running = Arc::new(AtomicBool::new(true)); + let prompting = Arc::new(AtomicU32::new(0)); + const TICK_RATE: Duration = Duration::from_millis(100); + + // ---- Cooker Thread ---- + let cooker_config = config.clone(); + let cooker_status_tx = status_tx.clone(); + let cooker_prompting = prompting.clone(); + let cooker_handle = thread::spawn(move || { + 'done: for (recipe, source_dir) in work_rx { + let name = recipe.name.clone(); + let is_deps = recipe.is_deps; + let (mut stdout_writer, mut stderr_writer) = setup_logger(&cooker_status_tx, &name); + let mut logger = Some((&mut stdout_writer, &mut stderr_writer)); + 'again: loop { + cooker_status_tx + .send(StatusUpdate::StartCook(name.clone())) + .unwrap(); + let handler = handle_cook( + &recipe, + &cooker_config, + source_dir.clone(), + is_deps, + &logger, + ); + if let Some(log_path) = cooker_config.logs_dir.as_ref() { + if let Err(err_ctx) = &handler { + log_to_pty!(&logger, "\n{:?}", err_ctx) + } + flush_pty(&mut logger); + let log_path = log_path.join(format!("{}.log", name.as_str())); + cooker_status_tx + .send(StatusUpdate::FlushLog(name.clone(), log_path)) + .unwrap_or_default(); + } + match handler { + Ok(()) => { + cooker_status_tx + .send(StatusUpdate::Cooked(recipe)) + .unwrap_or_default(); + if cooker_config.cook.nonstop + && cooker_prompting.load(Ordering::SeqCst) == 4 + { + break 'done; + } + break; + } + Err(e) => { + cooker_status_tx + .send(StatusUpdate::FailCook(recipe.clone(), e.to_string())) + .unwrap_or_default(); + if cooker_config.cook.nonstop { + if cooker_prompting.load(Ordering::SeqCst) == 4 { + break 'done; + } + break; + } + while cooker_prompting.load(Ordering::SeqCst) != 0 { + thread::sleep(Duration::from_millis(101)); // wait other prompt + } + cooker_prompting.swap(1, Ordering::SeqCst); + 'wait: loop { + match cooker_prompting.load(Ordering::SeqCst) { + 0 => break 'again, + 1 => thread::sleep(Duration::from_millis(101)), + 2 => { + cooker_prompting.swap(0, Ordering::SeqCst); + break 'wait; + } // retry + 3 => { + cooker_prompting.swap(0, Ordering::SeqCst); + break 'again; + } // skip + 4 => { + cooker_prompting.swap(0, Ordering::SeqCst); + break 'done; + } // done + _ => unreachable!(), + } + } + } + } + } + } + cooker_status_tx + .send(StatusUpdate::CookThreadFinished) + .unwrap_or_default(); + }); + + let mstdin = stdin(); + let mstdout = stdout() + .into_raw_mode() + .unwrap() + .into_alternate_screen() + .unwrap(); + + // ----- Input Thread ----- + let (input_tx, input_rx) = mpsc::channel::(); + let _input_handle = thread::spawn(move || { + for evt in mstdin.events() { + if let Ok(evt) = evt { + if input_tx.send(evt).is_err() { + return; + } + } + } + }); + + // ---- Fetcher Thread ---- + let fetcher_recipes = recipes.clone(); + let fetcher_status_tx = status_tx.clone(); + let fetcher_config = config.clone(); + let fetcher_prompting = prompting.clone(); + let fetcher_handle = thread::spawn(move || { + 'done: for recipe in fetcher_recipes { + let name = recipe.name.clone(); + let (mut stdout_writer, mut stderr_writer) = setup_logger(&fetcher_status_tx, &name); + let mut logger = Some((&mut stdout_writer, &mut stderr_writer)); + 'again: loop { + fetcher_status_tx + .send(StatusUpdate::StartFetch(name.clone())) + .unwrap(); + let handler = handle_fetch(&recipe, &fetcher_config, &logger); + if let Some(log_path) = fetcher_config.logs_dir.as_ref() + // successful fetch log usually not that helpful + && handler.is_err() + { + if let Err(err_ctx) = &handler { + log_to_pty!(&logger, "\n{:?}", err_ctx) + } + flush_pty(&mut logger); + let log_path = log_path.join(format!("{}.log", name.as_str())); + fetcher_status_tx + .send(StatusUpdate::FlushLog(name.clone(), log_path)) + .unwrap_or_default(); + } + match handler { + Ok(source_dir) => { + fetcher_status_tx + .send(StatusUpdate::Fetched(recipe.clone())) + .unwrap(); + if work_tx.send((recipe.clone(), source_dir)).is_err() { + // Cooker thread died + break 'done; + } + if fetcher_config.cook.nonstop + && fetcher_prompting.load(Ordering::SeqCst) == 4 + { + break 'done; + } + break; + } + Err(e) => { + fetcher_status_tx + .send(StatusUpdate::FailFetch(recipe.clone(), e.to_string())) + .unwrap_or_default(); + if fetcher_config.cook.nonstop { + if fetcher_prompting.load(Ordering::SeqCst) == 4 { + break 'done; + } + break; + } + while fetcher_prompting.load(Ordering::SeqCst) != 0 { + thread::sleep(Duration::from_millis(101)); // wait other prompt + } + fetcher_prompting.swap(1, Ordering::SeqCst); + 'wait: loop { + match fetcher_prompting.load(Ordering::SeqCst) { + 0 => break 'again, + 1 => thread::sleep(Duration::from_millis(101)), + 2 => { + fetcher_prompting.swap(0, Ordering::SeqCst); + break 'wait; + } // retry + 3 => { + fetcher_prompting.swap(0, Ordering::SeqCst); + break 'again; + } // skip + 4 => { + fetcher_prompting.swap(0, Ordering::SeqCst); + break 'done; + } // done + _ => unreachable!(), + } + } + } + } + } + } + status_tx + .send(StatusUpdate::FetchThreadFinished) + .unwrap_or_default(); + }); + + let mut terminal = Terminal::new(TermionBackend::new(stdout()))?; + terminal.clear()?; + + let mut app = TuiApp::new(recipes); + + let spinner = ['-', '\\', '|', '/']; + let mut spinner_i = 0; + + while running.load(Ordering::SeqCst) { + let frame_start = Instant::now(); + terminal.draw(|f| { + spinner_i = (spinner_i + 1) % spinner.len(); + let spin = spinner[spinner_i]; + + let mut constraints = Vec::new(); + if !app.fetch_complete { + constraints.push(Constraint::Length(22)); + } + constraints.push(Constraint::Length(22)); + constraints.push(Constraint::Min(20)); + let chunks = Layout::default() + .direction(Direction::Horizontal) + .constraints(constraints) + .split(f.area()); + let panel_height = chunks[0].height.saturating_sub(2) as usize; + + // Left Pane + let fetch_items: Vec = app + .recipes + .iter() + .filter(|(_, s)| *s == RecipeStatus::Pending || *s == RecipeStatus::Fetching) + .map(|(r, s)| { + let style = if *s == RecipeStatus::Fetching { + Style::default().fg(Color::Yellow) + } else { + Style::default() + }; + let icon = match s { + RecipeStatus::Pending => ' ', + RecipeStatus::Fetching => spin, + _ => '?', + }; + + ListItem::new(format!("{icon} {}", r.name)).style(style) + }) + .collect(); + let fetch_list = List::new(fetch_items).block( + Block::default() + .title("Fetch Queue [1]") + .borders(Borders::ALL), + ); + f.render_widget(fetch_list, chunks[0]); + + // Right Pane + let cook_items: Vec = app + .recipes + .iter() + .filter(|(_, s)| { + *s == RecipeStatus::Fetched + || *s == RecipeStatus::Cooking + || *s == RecipeStatus::Done + || matches!(s, RecipeStatus::Failed(_)) + }) + .map(|(r, s)| { + let style = match s { + RecipeStatus::Fetched => Style::default().fg(Color::Cyan), + RecipeStatus::Cooking => Style::default().fg(Color::Yellow), + RecipeStatus::Done => Style::default().fg(Color::Green), + RecipeStatus::Failed(_) => Style::default().fg(Color::Red), + _ => Style::default(), + }; + let icon = match s { + RecipeStatus::Fetched => ' ', + RecipeStatus::Cooking => spin, + RecipeStatus::Done => ' ', + RecipeStatus::Failed(_) => 'X', + _ => '?', + }; + ListItem::new(format!("{icon} {}", r.name)).style(style) + }) + .collect(); + let total_items = cook_items.len(); + if app.cook_auto_scroll { + let cooking_index = app + .recipes + .iter() + .filter(|(_, s)| { + *s == RecipeStatus::Fetched + || *s == RecipeStatus::Cooking + || *s == RecipeStatus::Done + || matches!(s, RecipeStatus::Failed(_)) + }) + .position(|(_r, s)| *s == RecipeStatus::Cooking); + + if let Some(index) = cooking_index { + app.cook_list_state.select(Some(index)); + let index_u16 = index; + let center_offset = panel_height / 2; + let new_offset = index_u16.saturating_sub(center_offset) as usize; + + *app.cook_list_state.offset_mut() = new_offset; + } + } else { + app.cook_list_state.select(None); + if total_items > 0 { + let max_offset = total_items.saturating_sub(panel_height as usize); + if *app.cook_list_state.offset_mut() > max_offset { + *app.cook_list_state.offset_mut() = max_offset; + } + } else { + *app.cook_list_state.offset_mut() = 0; + } + } + let cook_items: Vec = cook_items[app.cook_scroll..].into(); + let cook_chunk = chunks[if app.fetch_complete { 0 } else { 1 }]; + let cook_list = List::new(cook_items).block( + Block::default() + .title("Cook Queue [2]") + .borders(Borders::ALL), + ); + f.render_stateful_widget(cook_list, cook_chunk, &mut app.cook_list_state); + + let (active_name, log_text, log_line) = app.get_active_log(); + let log_title = if let Some(active_name) = active_name { + format!( + " {} Log: {} ", + app.log_view_job.to_string(), + active_name.as_str() + ) + } else { + format!(" {} Log ", app.log_view_job.to_string()) + }; + + let mut enable_auto_scroll = false; + let mut intended_scroll_pos = 0usize; + + let mut log_lines: Vec = if let Some(log_text) = log_text + && !log_text.is_empty() + { + let total_log_lines = log_text.len() as usize; + + let start = if app.auto_scroll { + if total_log_lines > panel_height { + intended_scroll_pos = total_log_lines - panel_height; + total_log_lines - panel_height + } else { + 0 + } + } else { + if total_log_lines > panel_height { + if app.log_scroll >= total_log_lines - panel_height { + enable_auto_scroll = true; + intended_scroll_pos = total_log_lines - panel_height; + total_log_lines - panel_height + } else { + app.log_scroll + } + } else { + 0 + } + }; + + let end = cmp::min(panel_height + start, total_log_lines - 1); + + log_text[start..end] + .iter() + .map(|s| { + let text_with_colors = s + .into_text() + .unwrap_or_else(|_| Text::raw("--unrenderable line--")); + text_with_colors + .lines + .into_iter() + .next() + .unwrap_or_else(|| Line::raw("--unrenderable line--")) + }) + .collect() + } else { + vec![Line::from("No logs yet")] + }; + + if let Some(buffer) = log_line + && !buffer.is_empty() + { + let text_with_colors = handle_cr(&buffer) + .into_text() + .unwrap_or_else(|_| Text::raw("--unrenderable line--")); + + if let Some(line) = text_with_colors.lines.into_iter().next() { + log_lines.push(line); + } + } + + let instruct = format!( + " Keys: [c] Stop [PageUp/Down] Scroll{}{} ", + match app.auto_scroll { + true => "", + false => " [End] Follow log trails", + }, + match (&app.log_view_job, app.fetch_complete) { + (JobType::Fetch, _) => " [2] View Cook Log", + (JobType::Cook, false) => " [1] View Fetch Log", + (JobType::Cook, true) => "", + } + ); + + let log_paragraph = Paragraph::new(log_lines) + .block( + Block::default() + .title(log_title) + .title_bottom(instruct) + .borders(Borders::ALL), + ) + .wrap(Wrap { trim: false }); + + f.render_widget( + log_paragraph, + chunks[if app.fetch_complete { 1 } else { 2 }], + ); + if let Some(prompt) = &mut app.prompt { + if config.cook.nonstop && prompt.selected == PromptOption::Retry { + prompt.selected = PromptOption::Skip; + } + draw_prompt(f, prompt, config.cook.nonstop); + } + if enable_auto_scroll { + app.auto_scroll = true; + } + if intended_scroll_pos > 0 { + app.log_scroll = intended_scroll_pos; + } + + while let Ok(event) = input_rx.try_recv() { + if let Some((app, res)) = handle_prompt_input(&event, &mut app) { + prompting.swap(res as u32, Ordering::SeqCst); + if res == PromptOption::Exit { + // TODO: This can be a different log with what prompted on nonstop mode + let (name, log, line) = app.get_active_log(); + if let Some(name) = name + && let Some(log) = log + { + app.dump_logs_on_exit = Some((name.to_owned(), join_logs(log, line))); + } + running.store(false, Ordering::SeqCst); + } + app.prompt = None; + } else { + handle_main_event(&mut app, &event); + } + } + })?; + + while let Ok(update) = status_rx.try_recv() { + app.update_status(update); + } + + if app.cook_complete { + running.swap(false, Ordering::SeqCst); + } + + if let Some(sleep_duration) = TICK_RATE.checked_sub(frame_start.elapsed()) { + thread::sleep(sleep_duration); + } + } + + drop(mstdout); + let _ = stdout().flush(); + + if config.cook.nonstop && app.dump_logs_on_exit.is_some() { + kill_everything(); + } + + fetcher_handle.join().unwrap(); + cooker_handle.join().unwrap(); + + Ok(app.dump_logs_on_exit) +} + +fn join_logs(log: &Vec, line: Option>) -> String { + let mut logs = log.join("\n"); + if let Some(line) = line { + logs.push_str("\n"); + logs.push_str(handle_cr(&line)); + } + logs +} + +fn handle_cr<'a>(buffer: &'a Cow<'_, str>) -> &'a str { + let st = buffer.trim_end(); + st.rsplit('\r').next().unwrap_or(&st) +} + +fn handle_main_event(app: &mut TuiApp, event: &Event) { + match event { + Event::Key(key) => match key { + Key::Char('1') => { + app.log_view_job = JobType::Fetch; + } + Key::Char('2') => { + app.log_view_job = JobType::Cook; + } + Key::Char('c') => { + // as compilers still running, we use this way to stop it + kill_everything(); + } + Key::Up => { + app.auto_scroll = false; + app.log_scroll = app.log_scroll.saturating_sub(1); + } + Key::Down => { + app.auto_scroll = false; + app.log_scroll = app.log_scroll.saturating_add(1); + } + Key::PageUp => { + app.auto_scroll = false; + app.log_scroll = app.log_scroll.saturating_sub(20); + } + Key::PageDown => { + app.auto_scroll = false; + app.log_scroll = app.log_scroll.saturating_add(20); + } + Key::End => { + app.auto_scroll = true; + } + Key::Home => { + app.auto_scroll = false; + app.log_scroll = 0; + } + _ => {} + }, + + //FIXME: This does nothing, it seems ratatui handles this itself magically + Event::Mouse(mouse_event) => { + match mouse_event { + MouseEvent::Press(termion::event::MouseButton::WheelUp, x, y) => { + // termion is 1-based, ratatui rects are 0-based + let pos = Position { + x: x.saturating_sub(1), + y: y.saturating_sub(1), + }; + + if app.fetch_panel_rect.map_or(false, |r| r.contains(pos)) { + app.fetch_scroll = app.fetch_scroll.saturating_sub(1); + } else if app.cook_panel_rect.map_or(false, |r| r.contains(pos)) { + app.cook_scroll = app.cook_scroll.saturating_sub(1); + app.cook_auto_scroll = false; + } else if app.log_panel_rect.map_or(false, |r| r.contains(pos)) { + app.auto_scroll = false; + app.log_scroll = app.log_scroll.saturating_sub(1); + } + } + MouseEvent::Press(termion::event::MouseButton::WheelDown, x, y) => { + let pos = Position { + x: x.saturating_sub(1), + y: y.saturating_sub(1), + }; + + if app.fetch_panel_rect.map_or(false, |r| r.contains(pos)) { + app.fetch_scroll = app.fetch_scroll.saturating_add(1); + } else if app.cook_panel_rect.map_or(false, |r| r.contains(pos)) { + app.cook_scroll = app.cook_scroll.saturating_add(1); + app.cook_auto_scroll = false; + } else if app.log_panel_rect.map_or(false, |r| r.contains(pos)) { + app.auto_scroll = false; + app.log_scroll = app.log_scroll.saturating_add(1); + } + } + _ => {} + } + } + _ => {} + } +} + +fn kill_everything() { + let pid = std::process::id(); + Command::new("bash") + .arg("-c") + .arg(KILL_ALL_PID.replace("$PID", &pid.to_string())) + .spawn() + .expect("unable to spawn kill"); +} + +fn handle_prompt_input<'a>( + event: &Event, + app: &'a mut TuiApp, +) -> Option<(&'a mut TuiApp, PromptOption)> { + if let Some(prompt) = &mut app.prompt { + match event { + Event::Key(key) => match key { + Key::Char('q') | Key::Ctrl('c') | Key::Esc => { + // Treat as "Exit" + return Some((app, PromptOption::Exit)); + } + Key::Left | Key::BackTab => prompt.prev(), + Key::Right | Key::Char('\t') => prompt.next(), + Key::Char('\n') => { + let prompt = app.prompt.take().unwrap(); + return Some((app, prompt.selected)); + } + _ => {} + }, + _ => {} // Ignore mouse events + } + } + None +} + +fn draw_prompt(f: &mut ratatui::Frame, prompt: &FailurePrompt, is_nonstop: bool) { + let title = format!( + " FAILURE in {} {}", + prompt.recipe.name, + if is_nonstop { "(skipped) " } else { "" } + ); + let mut error_text = prompt.error.clone(); + if error_text.len() > 200 { + error_text = error_text[0..100].to_string() + + ".." + + &error_text[(error_text.len() - 100)..(error_text.len() - 1)]; + } else if error_text.len() > 100 { + error_text = error_text[0..100].to_string() + ".."; + } + + // Style for options + let retry_style = if prompt.selected == PromptOption::Retry { + Style::default().bg(Color::White).fg(Color::Black) + } else { + Style::default() + }; + let skip_style = if prompt.selected == PromptOption::Skip { + Style::default().bg(Color::White).fg(Color::Black) + } else { + Style::default() + }; + let exit_style = if prompt.selected == PromptOption::Exit { + Style::default().bg(Color::White).fg(Color::Black) + } else { + Style::default() + }; + + let mut buttons = vec![ + Span::styled(" [Skip] ", skip_style), + Span::raw(" "), + Span::styled(" [Exit] ", exit_style), + ]; + + if !is_nonstop { + buttons.push(Span::raw(" ")); + buttons.push(Span::styled(" [Retry] ", retry_style)); + } + + let text = vec![ + Line::from(error_text).style(Style::default().fg(Color::Yellow)), + Line::from(""), + Line::from(buttons), + ]; + + let block = Block::default() + .title(Span::styled( + title, + Style::default().fg(Color::White).bg(Color::Red), + )) + .borders(Borders::ALL) + .border_style(Style::default().fg(Color::Red)); + + let paragraph = Paragraph::new(text) + .block(block) + .alignment(ratatui::layout::Alignment::Center) + .wrap(Wrap { trim: true }); + + let area = f.area(); + let popup_area = Rect { + x: area.width / 4, + y: area.height / 3, + width: area.width / 2, + height: 10, + }; + + f.render_widget(Clear, popup_area); // Clear the background + f.render_widget(paragraph, popup_area); +} + +fn spawn_log_reader( + mut reader: R, + package_name: PackageName, + status_tx: mpsc::Sender, +) where + R: Read + Send + 'static, +{ + thread::spawn(move || { + let mut buffer = [0; 1024]; + loop { + let buf = match reader.read(&mut buffer) { + Ok(0) => break, + Ok(n) => buffer[..n].to_vec(), + Err(e) => format!("[IO Error] {}", e).into_bytes(), + }; + if status_tx + .send(StatusUpdate::PushLog(package_name.clone(), buf)) + .is_err() + { + // TUI thread hung up + break; + } + } + }); +} + +fn setup_logger( + status_tx: &mpsc::Sender, + name: &PackageName, +) -> (UnixSlavePty, std::io::PipeWriter) { + let (pty_reader, log_reader, pipes) = setup_pty(); + + spawn_log_reader(pty_reader, name.clone(), status_tx.clone()); + spawn_log_reader(log_reader, name.clone(), status_tx.clone()); + pipes +} + +#[derive(PartialEq, Clone, Copy)] +#[repr(u32)] +enum PromptOption { + Retry = 2, + Skip, + Exit, +} + +struct FailurePrompt { + recipe: CookRecipe, + error: String, + selected: PromptOption, +} + +impl FailurePrompt { + fn new(recipe: CookRecipe, error: String) -> Self { + Self { + recipe, + error, + selected: PromptOption::Exit, + } + } + + fn next(&mut self) { + self.selected = match self.selected { + PromptOption::Retry => PromptOption::Skip, + PromptOption::Skip => PromptOption::Exit, + PromptOption::Exit => PromptOption::Retry, + } + } + + fn prev(&mut self) { + self.selected = match self.selected { + PromptOption::Retry => PromptOption::Exit, + PromptOption::Skip => PromptOption::Retry, + PromptOption::Exit => PromptOption::Skip, + } + } +} diff --git a/src/bin/repo_builder.rs b/src/bin/repo_builder.rs new file mode 100644 index 00000000..400391bd --- /dev/null +++ b/src/bin/repo_builder.rs @@ -0,0 +1,188 @@ +use anyhow::anyhow; +use cookbook::WALK_DEPTH; +use pkg::{Package, PackageName, recipes}; +use std::collections::{BTreeMap, HashMap}; +use std::env; +use std::fs::{self, File}; +use std::io::{Read, Write}; +use std::path::{Path, PathBuf}; +use std::process::Command; +use toml::Value; + +fn is_newer(src: &Path, dst: &Path) -> bool { + match (fs::metadata(src), fs::metadata(dst)) { + (Ok(src_meta), Ok(dst_meta)) => match (src_meta.modified(), dst_meta.modified()) { + (Ok(src_time), Ok(dst_time)) => src_time > dst_time, + (Ok(_), Err(_)) => true, + _ => false, + }, + (Ok(_), Err(_)) => true, + _ => false, + } +} + +fn main() -> Result<(), Box> { + let mut args = env::args().skip(1); + let repo_dir = args + .next() + .expect("Usage: repo_builder ..."); + Ok(publish_packages(args.collect(), repo_dir)?) +} + +// TODO: Make this callable from repo bin +fn publish_packages(recipe_list: Vec, repo_dir: String) -> anyhow::Result<()> { + let repo_path = Path::new(&repo_dir); + if !repo_path.is_dir() { + fs::create_dir_all(repo_path)?; + } + + // Runtime dependencies include both `[package.dependencies]` and dynamically + // linked packages discovered by auto_deps. + // + // The following adds the package dependencies of the recipes to the repo as + // well. + let recipe_list = Package::new_recursive( + &recipe_list + .iter() + .map(PackageName::new) + .collect::, _>>()?, + WALK_DEPTH, + )? + .into_iter() + .map(|pkg| pkg.name.as_str().to_owned()) + .collect::>(); + + let mut appstream_sources: HashMap = HashMap::new(); + let mut packages: BTreeMap = BTreeMap::new(); + + // === 1. Push recipes in list === + for recipe in &recipe_list { + let Some(recipe_path) = recipes::find(recipe) else { + eprintln!("recipe {} not found", recipe); + continue; + }; + + let cookbook_recipe = Path::new(&recipe_path); + let target = env::var("TARGET").unwrap_or_else(|_| "x86_64-unknown-linux-gnu".into()); + let stage_dir = cookbook_recipe.join("target").join(&target).join("stage"); + + let pkgar_src = stage_dir.with_extension("pkgar"); + let pkgar_dst = repo_path.join(format!("{}.pkgar", recipe)); + let toml_src = stage_dir.with_extension("toml"); + let toml_dst = repo_path.join(format!("{}.toml", recipe)); + + if !fs::exists(&toml_src)? { + eprintln!("recipe {} is missing stage.toml", recipe); + continue; + } + + if is_newer(&toml_src, &toml_dst) { + eprintln!("\x1b[01;38;5;155mrepo - publishing {}\x1b[0m", recipe); + if fs::exists(&pkgar_src)? { + fs::copy(&pkgar_src, &pkgar_dst)?; + } + fs::copy(&toml_src, &toml_dst)?; + } + + if stage_dir.join("usr/share/metainfo").exists() { + appstream_sources.insert(recipe.clone(), stage_dir.clone()); + } + } + + // === 2. Optional AppStream generation === + if env::var("APPSTREAM").ok().as_deref() == Some("1") { + eprintln!("\x1b[01;38;5;155mrepo - generating appstream data\x1b[0m"); + + let root = env::var("ROOT").unwrap_or_else(|_| ".".into()); + let target = env::var("TARGET").unwrap_or_else(|_| "x86_64-unknown-linux-gnu".into()); + let appstream_root = Path::new(&root) + .join("build") + .join(&target) + .join("appstream"); + let appstream_pkg = repo_path.join("repo-appstream.pkgar"); + + fs::remove_dir_all(&appstream_root).ok(); + fs::remove_file(&appstream_pkg).ok(); + fs::create_dir_all(&appstream_root)?; + + if !appstream_sources.is_empty() { + let mut compose_cmd = Command::new("appstreamcli"); + compose_cmd + .arg("compose") + .arg("--origin=pkgar") + .arg("--print-report=full") + .arg(format!("--result-root={}", appstream_root.display())); + + for (_recipe, source_path) in &appstream_sources { + compose_cmd.arg(source_path); + } + + compose_cmd + .status()? + .success() + .then_some(()) + .ok_or(anyhow!("appstreamcli failed"))?; + + pkgar::create( + format!("{}/build/id_ed25519.toml", root), + &appstream_pkg, + &appstream_root, + )?; + } + } + + eprintln!("\x1b[01;38;5;155mrepo - generating repo.toml\x1b[0m"); + + // === 3. Read and update repo.toml === + let repo_toml_path = repo_path.join("repo.toml"); + if repo_toml_path.exists() { + let mut file = File::open(&repo_toml_path)?; + let mut contents = String::new(); + file.read_to_string(&mut contents)?; + + let parsed: Value = toml::from_str(&contents)?; + if let Some(pkg_table) = parsed.get("packages").and_then(|v| v.as_table()) { + for (k, v) in pkg_table { + if let Some(s) = v.as_str() { + packages.insert(k.clone(), format!("\"{}\"", s)); + } else { + packages.insert(k.clone(), v.to_string()); + } + } + } + } + + for entry in fs::read_dir(&repo_path)? { + let entry = entry?; + let path = entry.path(); + + if path.extension().and_then(|s| s.to_str()) != Some("toml") { + continue; + } + + if path.file_stem().and_then(|s| s.to_str()) == Some("repo") { + continue; + } + + let content = fs::read_to_string(&path)?; + let parsed: Value = toml::from_str(&content)?; + + let version_str = parsed + .get("version") + .unwrap_or(&Value::String("".to_string())) + .to_string(); // includes quotes + let package_name = path.file_stem().unwrap().to_string_lossy().to_string(); + packages.insert(package_name, version_str); + } + + // FIXME: Use proper TOML serializer + let mut output = String::from("[packages]\n"); + for (name, version) in &packages { + output.push_str(&format!("{name} = {version}\n")); + } + + let mut output_file = File::create(&repo_toml_path)?; + output_file.write_all(output.as_bytes())?; + + Ok(()) +} diff --git a/src/blake3.rs b/src/blake3.rs new file mode 100644 index 00000000..0ac19318 --- /dev/null +++ b/src/blake3.rs @@ -0,0 +1,31 @@ +use blake3::Hasher; +use std::{fs, io::Result, path::Path, time::Duration}; + +use crate::progress_bar::{ProgressBar, ProgressBarRead}; + +pub fn blake3_progress>(path: P) -> Result { + let len = fs::metadata(&path)?.len(); + + let mut f = fs::File::open(&path)?; + + let mut pb = ProgressBar::new(len); + pb.message("blake3: "); + pb.set_max_refresh_rate(Some(Duration::new(1, 0))); + pb.set_units(pbr::Units::Bytes); + + let mut pbr = ProgressBarRead::new(&mut pb, &mut f); + let hash = Hasher::new().update_reader(&mut pbr)?.finalize(); + let res = format!("{}", hash.to_hex()); + + pb.finish_println(""); + + Ok(res) +} + +pub fn blake3_silent>(path: P) -> Result { + let mut f = fs::File::open(&path)?; + + let hash = Hasher::new().update_reader(&mut f)?.finalize(); + let res = format!("{}", hash.to_hex()); + Ok(res) +} diff --git a/src/config.rs b/src/config.rs new file mode 100644 index 00000000..c8836c6d --- /dev/null +++ b/src/config.rs @@ -0,0 +1,222 @@ +use std::{collections::HashMap, env, fs, str::FromStr, sync::OnceLock}; + +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Default, Clone, Deserialize, PartialEq, Serialize)] +#[serde(default)] +pub struct CookConfigOpt { + /// whether to run offline + pub offline: Option, + /// whether to set jobs number instead of from nproc + pub jobs: Option, + /// whether to use TUI to allow parallel build + /// default value is yes if "CI" env unset and STDIN is open. + pub tui: Option, + /// whether to write logs to build/logs dir, default true on TUI + pub logs: Option, + /// whether to ignore build errors + pub nonstop: Option, + /// whether to print verbose logs to certain commands + /// build failure still be printed anyway + pub verbose: Option, +} + +#[derive(Debug, Default, Clone, Deserialize, PartialEq, Serialize)] +pub struct CookConfig { + pub offline: bool, + pub jobs: usize, + pub tui: bool, + pub logs: bool, + pub nonstop: bool, + pub verbose: bool, +} + +impl From for CookConfig { + fn from(value: CookConfigOpt) -> Self { + CookConfig { + offline: value.offline.unwrap(), + jobs: value.jobs.unwrap(), + tui: value.tui.unwrap(), + logs: value.logs.unwrap(), + nonstop: value.nonstop.unwrap(), + verbose: value.verbose.unwrap(), + } + } +} + +#[derive(Debug, Default, Deserialize, PartialEq, Serialize)] +#[serde(default)] +pub struct CookbookConfig { + #[serde(rename = "cook")] + cook_opt: CookConfigOpt, + #[serde(skip)] + pub cook: CookConfig, + pub mirrors: HashMap, +} + +static CONFIG: OnceLock = OnceLock::new(); + +pub fn init_config() { + let mut config: CookbookConfig = if fs::exists("cookbook.toml").unwrap_or(false) { + let toml_content = fs::read_to_string("cookbook.toml") + .map_err(|e| format!("Unable to read config: {:?}", e)) + .unwrap(); + toml::from_str(&toml_content) + .map_err(|e| format!("Unable to parse config: {:?}", e)) + .unwrap() + } else { + CookbookConfig::default() + }; + + if config.cook_opt.tui.is_none() { + config.cook_opt.tui = Some(!env::var("CI").is_ok_and(|s| !s.is_empty())); + } + if config.cook_opt.jobs.is_none() { + config.cook_opt.jobs = Some(extract_env( + "COOKBOOK_MAKE_JOBS", + std::thread::available_parallelism() + .map(|f| usize::from(f)) + .unwrap_or(1), + )); + } + if config.cook_opt.logs.is_none() { + config.cook_opt.logs = Some(extract_env("COOKBOOK_LOGS", config.cook_opt.tui.unwrap())); + } + if config.cook_opt.offline.is_none() { + config.cook_opt.offline = Some(extract_env("COOKBOOK_OFFLINE", false)); + } + if config.cook_opt.verbose.is_none() { + config.cook_opt.verbose = Some(extract_env("COOKBOOK_VERBOSE", true)); + } + if config.cook_opt.nonstop.is_none() { + config.cook_opt.nonstop = Some(extract_env("COOKBOOK_NONSTOP", false)); + } + if config.mirrors.len() == 0 { + // The GNU FTP mirror below is automatically inserted for convenience + // You can choose other mirrors by setting it on cookbook.toml + config.mirrors.insert( + "ftp.gnu.org/gnu".to_string(), + "mirrors.ocf.berkeley.edu/gnu".to_string(), + ); + } + + config.cook = CookConfig::from(config.cook_opt.clone()); + + CONFIG.set(config).expect("config is initialized twice"); +} + +fn extract_env(key: &str, default: T) -> T { + if let Ok(e) = env::var(&key) { + str::parse(&e).unwrap_or(default) + } else { + default + } +} + +pub fn get_config() -> &'static CookbookConfig { + return CONFIG.get().expect("Configuration is not initialized"); +} + +pub fn translate_mirror(original_url: &str) -> String { + let config = CONFIG.get().expect("Configuration is not initialized"); + + let stripped_url = original_url + .strip_prefix("https://") + .or_else(|| original_url.strip_prefix("http://")) + .unwrap_or(original_url); + + let mut best_match_prefix: Option<&String> = None; + + for prefix in config.mirrors.keys() { + if stripped_url.starts_with(prefix) { + match best_match_prefix { + Some(current_best) if prefix.len() > current_best.len() => { + best_match_prefix = Some(prefix); + } + None => { + best_match_prefix = Some(prefix); + } + _ => {} + } + } + } + + if let Some(prefix) = best_match_prefix { + let mirror_base = config.mirrors.get(prefix).unwrap(); + let suffix = &stripped_url[prefix.len()..]; + let ptotocol = &original_url[..(original_url.len() - stripped_url.len())]; + return format!("{}{}{}", ptotocol, mirror_base, suffix); + } + + original_url.to_string() +} + +#[cfg(test)] +mod tests { + use super::*; + + fn setup_test_config() { + let app_config = toml::from_str( + "[mirrors]\n\ + \"ftp.gnu.org/gnu\" = \"example.com/gnu\"\n\ + \"github.com/foo/bar\" = \"github.com/baz/bar\"\n\ + \"github.com/a\" = \"github.com/b\"\n", + ) + .expect("Unable to parse test config"); + // This will be called for each test. If the config is already set, + // it will do nothing, which is fine as all tests use the same config. + let _ = CONFIG.set(app_config); + } + + #[test] + fn test_parse_cook() { + let app_config: CookbookConfig = toml::from_str( + "[cook]\n\ + offline = true\n", + ) + .expect("Unable to parse test config"); + assert_eq!(app_config.cook_opt.offline, Some(true)); + assert_eq!(app_config.cook_opt.jobs, None); + } + + #[test] + fn test_exact_match() { + setup_test_config(); + assert_eq!(translate_mirror("ftp.gnu.org/gnu"), "example.com/gnu"); + assert_eq!(translate_mirror("github.com/foo/bar"), "github.com/baz/bar"); + } + + #[test] + fn test_prefix_match() { + setup_test_config(); + assert_eq!( + translate_mirror("https://github.com/a/c"), + "https://github.com/b/c" + ); + assert_eq!( + translate_mirror("https://ftp.gnu.org/gnu/bash/bash-5.2.15.tar.gz"), + "https://example.com/gnu/bash/bash-5.2.15.tar.gz" + ); + } + + #[test] + fn test_longest_prefix_match() { + setup_test_config(); + // "github.com/foo/bar" is a longer and more specific prefix than "github.com/a", + // so it should be chosen for the translation. + assert_eq!( + translate_mirror("https://github.com/foo/bar/baz"), + "https://github.com/baz/bar/baz" + ); + } + + #[test] + fn test_no_match() { + setup_test_config(); + assert_eq!(translate_mirror("www.rust-lang.org"), "www.rust-lang.org"); + assert_eq!( + translate_mirror("http://github.com/unrelated/repo"), + "http://github.com/unrelated/repo" + ); + } +} diff --git a/src/cook.rs b/src/cook.rs new file mode 100644 index 00000000..d0946e0a --- /dev/null +++ b/src/cook.rs @@ -0,0 +1,8 @@ +// avoid confusion with build.rs +pub mod cook_build; +pub mod fetch; +pub mod fs; +pub mod package; +pub mod pty; +pub mod script; +pub mod tree; diff --git a/src/cook/cook_build.rs b/src/cook/cook_build.rs new file mode 100644 index 00000000..fde4d068 --- /dev/null +++ b/src/cook/cook_build.rs @@ -0,0 +1,515 @@ +use pkg::package::PackageError; +use pkg::{Package, PackageName}; + +use crate::cook::fs::*; +use crate::cook::pty::PtyOut; +use crate::cook::script::*; +use crate::recipe::BuildKind; +use crate::recipe::Recipe; +use crate::recipe::{AutoDeps, CookRecipe}; +use std::collections::VecDeque; +use std::{ + collections::BTreeSet, + fs, + path::{Path, PathBuf}, + process::Command, + str, + time::SystemTime, +}; + +use crate::{is_redox, log_to_pty}; + +use crate::REMOTE_PKG_SOURCE; + +fn auto_deps_from_dynamic_linking( + stage_dir: &Path, + dep_pkgars: &BTreeSet<(PackageName, PathBuf)>, + logger: &PtyOut, +) -> BTreeSet { + let mut paths = BTreeSet::new(); + let mut visited = BTreeSet::new(); + let verbose = crate::config::get_config().cook.verbose; + // Base directories may need to be updated for packages that place binaries in odd locations. + let mut walk = VecDeque::from([ + stage_dir.join("libexec"), + stage_dir.join("usr/bin"), + stage_dir.join("usr/games"), + stage_dir.join("usr/lib"), + stage_dir.join("usr/libexec"), + ]); + + // Recursively (DFS) walk each directory to ensure nested libs and bins are checked. + while let Some(dir) = walk.pop_front() { + let Ok(dir) = dir.canonicalize() else { + continue; + }; + if visited.contains(&dir) { + #[cfg(debug_assertions)] + log_to_pty!( + logger, + "DEBUG: auto_deps => Skipping `{dir:?}` (already visited)" + ); + continue; + } + assert!( + visited.insert(dir.clone()), + "Directory `{:?}` should not be in visited\nVisited: {:#?}", + dir, + visited + ); + + let Ok(read_dir) = fs::read_dir(&dir) else { + continue; + }; + for entry_res in read_dir { + let Ok(entry) = entry_res else { continue }; + let Ok(file_type) = entry.file_type() else { + continue; + }; + if file_type.is_file() { + paths.insert(entry.path()); + } else if file_type.is_dir() { + walk.push_front(entry.path()); + } + } + } + + let mut needed = BTreeSet::new(); + for path in paths { + let Ok(file) = fs::File::open(&path) else { + continue; + }; + let read_cache = object::ReadCache::new(file); + let Ok(object) = object::build::elf::Builder::read(&read_cache) else { + continue; + }; + let Some(dynamic_data) = object.dynamic_data() else { + continue; + }; + for dynamic in dynamic_data { + let object::build::elf::Dynamic::String { tag, val } = dynamic else { + continue; + }; + if *tag == object::elf::DT_NEEDED { + let Ok(name) = str::from_utf8(val) else { + continue; + }; + if let Ok(relative_path) = path.strip_prefix(stage_dir) { + if verbose { + log_to_pty!(logger, "DEBUG: {} needs {}", relative_path.display(), name); + } + } + needed.insert(name.to_string()); + } + } + } + + let mut missing = needed.clone(); + // relibc and friends will always be installed + for preinstalled in &["libc.so.6", "libgcc_s.so.1", "libstdc++.so.6"] { + missing.remove(*preinstalled); + } + + let mut deps = BTreeSet::new(); + if let Ok(key_file) = pkgar_keys::PublicKeyFile::open("build/id_ed25519.pub.toml") { + for (dep, archive_path) in dep_pkgars.iter() { + let Ok(mut package) = pkgar::PackageFile::new(archive_path, &key_file.pkey) else { + continue; + }; + let Ok(entries) = pkgar_core::PackageSrc::read_entries(&mut package) else { + continue; + }; + for entry in entries { + let Ok(entry_path) = pkgar::ext::EntryExt::check_path(&entry) else { + continue; + }; + for prefix in &["lib", "usr/lib"] { + let Ok(child_path) = entry_path.strip_prefix(prefix) else { + continue; + }; + let Some(child_name) = child_path.to_str() else { + continue; + }; + if needed.contains(child_name) { + if verbose { + log_to_pty!(logger, "DEBUG: {} provides {}", dep, child_name); + } + deps.insert(dep.clone()); + missing.remove(child_name); + } + } + } + } + } + + if verbose { + for name in missing { + log_to_pty!(logger, "INFO: {} missing", name); + } + } + + deps +} + +fn auto_deps_from_static_package_deps( + build_dep_pkgars: &BTreeSet<(PackageName, PathBuf)>, + dynamic_dep_pkgars: &BTreeSet, +) -> Result, PackageError> { + let static_dep_pkgars: Vec = build_dep_pkgars + .iter() + .map(|x| x.0.clone()) + .filter(|x| !dynamic_dep_pkgars.contains(x)) + .collect(); + let pkgs = CookRecipe::get_package_deps_recursive(&static_dep_pkgars, false)?; + + Ok(pkgs.into_iter().collect()) +} + +pub fn build( + recipe_dir: &Path, + source_dir: &Path, + target_dir: &Path, + name: &PackageName, + recipe: &Recipe, + offline_mode: bool, + check_source: bool, + logger: &PtyOut, +) -> Result<(PathBuf, BTreeSet), String> { + let sysroot_dir = target_dir.join("sysroot"); + let stage_dir = target_dir.join("stage"); + let cli_verbose = crate::config::get_config().cook.verbose; + let cli_jobs = crate::config::get_config().cook.jobs; + if recipe.build.kind == BuildKind::None { + // metapackages don't need to do anything here + return Ok((stage_dir, BTreeSet::new())); + } + + let mut dep_pkgars = BTreeSet::new(); + let build_deps = CookRecipe::get_build_deps_recursive(&recipe.build.dependencies, false, false) + .map_err(|e| format!("{:?}", e))?; + for dependency in build_deps.iter() { + dep_pkgars.insert(( + dependency.name.clone(), + dependency + .dir + .join("target") + .join(redoxer::target()) + .join("stage.pkgar"), + )); + } + + if stage_dir.exists() && !check_source { + let auto_deps = build_auto_deps(recipe, target_dir, &stage_dir, dep_pkgars, logger)?; + return Ok((stage_dir, auto_deps)); + } + + let source_modified = modified_dir_ignore_git(source_dir).unwrap_or(SystemTime::UNIX_EPOCH); + let deps_modified = dep_pkgars + .iter() + .map(|(_dep, pkgar)| modified(pkgar)) + .max() + .unwrap_or(Ok(SystemTime::UNIX_EPOCH))?; + + // Rebuild sysroot if source is newer + //TODO: rebuild on recipe changes + if sysroot_dir.is_dir() { + let sysroot_modified = modified_dir(&sysroot_dir)?; + if sysroot_modified < source_modified || sysroot_modified < deps_modified { + log_to_pty!(logger, "DEBUG: updating '{}'", sysroot_dir.display()); + remove_all(&sysroot_dir)?; + } + } + if !sysroot_dir.is_dir() && recipe.build.kind != BuildKind::Remote { + // Create sysroot.tmp + let sysroot_dir_tmp = target_dir.join("sysroot.tmp"); + create_dir_clean(&sysroot_dir_tmp)?; + + // Make sure sysroot/usr exists + create_dir(&sysroot_dir_tmp.join("usr"))?; + for folder in &["bin", "include", "lib", "share"] { + // Make sure sysroot/usr/$folder exists + create_dir(&sysroot_dir_tmp.join("usr").join(folder))?; + + // Link sysroot/$folder sysroot/usr/$folder + symlink(Path::new("usr").join(folder), &sysroot_dir_tmp.join(folder))?; + } + + for (_dep, archive_path) in &dep_pkgars { + let public_path = "build/id_ed25519.pub.toml"; + pkgar::extract( + public_path, + &archive_path, + sysroot_dir_tmp.to_str().unwrap(), + ) + .map_err(|err| { + format!( + "failed to install '{}' in '{}': {:?}", + archive_path.display(), + sysroot_dir_tmp.display(), + err + ) + })?; + } + + // Move sysroot.tmp to sysroot atomically + rename(&sysroot_dir_tmp, &sysroot_dir)?; + } + + // Rebuild stage if source is newer + //TODO: rebuild on recipe changes + if stage_dir.is_dir() { + let stage_modified = modified_dir(&stage_dir)?; + if stage_modified < source_modified || stage_modified < deps_modified { + log_to_pty!(logger, "DEBUG: updating '{}'", stage_dir.display()); + remove_all(&stage_dir)?; + } + } + + if !stage_dir.is_dir() { + // Create stage.tmp + let stage_dir_tmp = target_dir.join("stage.tmp"); + create_dir_clean(&stage_dir_tmp)?; + + // Create build, if it does not exist + //TODO: flag for clean builds where build is wiped out + let build_dir = target_dir.join("build"); + if !build_dir.is_dir() { + create_dir_clean(&build_dir)?; + } + + let flags_fn = |name, flags: &Vec| { + format!( + "{name}+=(\n{}\n)\n", + flags + .iter() + .map(|s| format!(" \"{s}\"")) + .collect::>() + .join("\n") + ) + }; + + //TODO: better integration with redoxer (library instead of binary) + //TODO: configurable target + //TODO: Add more configurability, convert scripts to Rust? + let script = match &recipe.build.kind { + BuildKind::Cargo { + package_path, + cargoflags, + } => { + format!( + "DYNAMIC_INIT\nPACKAGE_PATH={} cookbook_cargo {cargoflags}", + package_path.as_deref().unwrap_or(".") + ) + } + BuildKind::Configure { configureflags } => format!( + "DYNAMIC_INIT\n{}cookbook_configure", + flags_fn("COOKBOOK_CONFIGURE_FLAGS", configureflags), + ), + BuildKind::Cmake { cmakeflags } => format!( + "DYNAMIC_INIT\n{}cookbook_cmake", + flags_fn("COOKBOOK_CMAKE_FLAGS", cmakeflags), + ), + BuildKind::Meson { mesonflags } => format!( + "DYNAMIC_INIT\n{}cookbook_meson", + flags_fn("COOKBOOK_MESON_FLAGS", mesonflags), + ), + BuildKind::Custom { script } => script.clone(), + BuildKind::Remote => return build_remote(target_dir, name, offline_mode, logger), + BuildKind::None => "".to_owned(), + }; + + let command = { + //TODO: remove unwraps + let cookbook_build = build_dir.canonicalize().unwrap(); + let cookbook_recipe = recipe_dir.canonicalize().unwrap(); + let cookbook_root = Path::new(".").canonicalize().unwrap(); + let cookbook_stage = stage_dir_tmp.canonicalize().unwrap(); + let cookbook_source = source_dir.canonicalize().unwrap(); + let cookbook_sysroot = sysroot_dir.canonicalize().unwrap(); + let bash_args = if cli_verbose { "-ex" } else { "-e" }; + let mut command = if is_redox() { + let mut command = Command::new("bash"); + command.arg(bash_args); + command.env("COOKBOOK_REDOXER", "cargo"); + command + } else { + let cookbook_redoxer = Path::new("target/release/cookbook_redoxer") + .canonicalize() + .unwrap_or(PathBuf::from("/bin/false")); + let mut command = Command::new(&cookbook_redoxer); + command.arg("env").arg("bash").arg(bash_args); + command.env("COOKBOOK_REDOXER", &cookbook_redoxer); + command + }; + command.current_dir(&cookbook_build); + command.env("COOKBOOK_BUILD", &cookbook_build); + command.env("COOKBOOK_NAME", name.as_str()); + command.env("COOKBOOK_HOST_TARGET", redoxer::host_target()); + command.env("COOKBOOK_RECIPE", &cookbook_recipe); + command.env("COOKBOOK_ROOT", &cookbook_root); + command.env("COOKBOOK_STAGE", &cookbook_stage); + command.env("COOKBOOK_SOURCE", &cookbook_source); + command.env("COOKBOOK_SYSROOT", &cookbook_sysroot); + command.env("COOKBOOK_MAKE_JOBS", cli_jobs.to_string()); + if cli_verbose { + command.env("COOKBOOK_VERBOSE", "1"); + } + if offline_mode { + command.env("COOKBOOK_OFFLINE", "1"); + } + command + }; + + let full_script = format!( + "{}\n{}\n{}\n{}", + BUILD_PRESCRIPT, SHARED_PRESCRIPT, script, BUILD_POSTSCRIPT + ); + run_command_stdin(command, full_script.as_bytes(), logger)?; + + // Move stage.tmp to stage atomically + rename(&stage_dir_tmp, &stage_dir)?; + } + + let auto_deps = build_auto_deps(recipe, target_dir, &stage_dir, dep_pkgars, logger)?; + + Ok((stage_dir, auto_deps)) +} + +/// Calculate automatic dependencies +fn build_auto_deps( + recipe: &Recipe, + target_dir: &Path, + stage_dir: &PathBuf, + mut dep_pkgars: BTreeSet<(PackageName, PathBuf)>, + logger: &PtyOut, +) -> Result, String> { + let auto_deps_path = target_dir.join("auto_deps.toml"); + if auto_deps_path.is_file() && modified(&auto_deps_path)? < modified(stage_dir)? { + remove_all(&auto_deps_path)? + } + + let auto_deps = if auto_deps_path.exists() { + let toml_content = + fs::read_to_string(&auto_deps_path).map_err(|_| "failed to read cached auto_deps")?; + let wrapper: AutoDeps = + toml::from_str(&toml_content).map_err(|_| "failed to deserialize cached auto_deps")?; + wrapper.packages + } else { + let mut dynamic_deps = auto_deps_from_dynamic_linking(stage_dir, &dep_pkgars, logger); + dep_pkgars.retain(|x| recipe.build.dependencies.contains(&x.0)); + let package_deps = + auto_deps_from_static_package_deps(&dep_pkgars, &dynamic_deps).unwrap_or_default(); + dynamic_deps.extend(package_deps); + + let wrapper = AutoDeps { + packages: dynamic_deps, + }; + serialize_and_write(&auto_deps_path, &wrapper)?; + wrapper.packages + }; + Ok(auto_deps) +} + +fn get_remote_url(name: &PackageName, ext: &str) -> String { + return format!("{}/{}/{}.{}", REMOTE_PKG_SOURCE, redoxer::target(), name, ext); +} +fn get_pubkey_url() -> String { + return format!("{}/id_ed25519.pub.toml", REMOTE_PKG_SOURCE); +} + +pub fn build_remote( + target_dir: &Path, + name: &PackageName, + offline_mode: bool, + logger: &PtyOut, +) -> Result<(PathBuf, BTreeSet), String> { + // download straight from remote source then declare pkg dependencies as autodeps dependency + let stage_dir = target_dir.join("stage"); + + let source_pkgar = target_dir.join("source.pkgar"); + let source_toml = target_dir.join("source.toml"); + let source_pubkey = target_dir.join("id_ed25519.pub.toml"); + + if !offline_mode { + download_wget(&get_remote_url(name, "pkgar"), &source_pkgar, logger)?; + download_wget(&get_remote_url(name, "toml"), &source_toml, logger)?; + download_wget(&get_pubkey_url(), &source_pubkey, logger)?; + } else { + offline_check_exists(&source_pkgar)?; + offline_check_exists(&source_toml)?; + offline_check_exists(&source_pubkey)?; + } + + if stage_dir.is_dir() && modified(&source_pkgar)? > modified(&stage_dir)? { + remove_all(&stage_dir)? + } + if !stage_dir.is_dir() { + let stage_dir_tmp = target_dir.join("stage.tmp"); + + pkgar::extract(&source_pubkey, &source_pkgar, &stage_dir_tmp).map_err(|err| { + format!( + "failed to install '{}' in '{}': {:?}", + source_pkgar.display(), + stage_dir_tmp.display(), + err + ) + })?; + + // Move stage.tmp to stage atomically + rename(&stage_dir_tmp, &stage_dir)?; + } + + let auto_deps_path = target_dir.join("auto_deps.toml"); + if auto_deps_path.is_file() && modified(&auto_deps_path)? < modified(&stage_dir)? { + remove_all(&auto_deps_path)? + } + + let auto_deps = if auto_deps_path.exists() { + let toml_content = + fs::read_to_string(&auto_deps_path).map_err(|_| "failed to read cached auto_deps")?; + let wrapper: AutoDeps = + toml::from_str(&toml_content).map_err(|_| "failed to deserialize cached auto_deps")?; + wrapper.packages + } else { + let toml_content = + fs::read_to_string(&source_toml).map_err(|_| "failed to read source.toml")?; + let pkg_toml: Package = + toml::from_str(&toml_content).map_err(|_| "failed to deserialize source.toml")?; + let wrapper = AutoDeps { + packages: pkg_toml.depends.into_iter().collect(), + }; + serialize_and_write(&auto_deps_path, &wrapper)?; + wrapper.packages + }; + + Ok((stage_dir, auto_deps)) +} + +#[cfg(test)] +mod tests { + use std::os::unix; + + use super::auto_deps_from_dynamic_linking; + + #[test] + fn file_system_loop_no_infinite_loop() { + // Hierarchy with an infinite loop + let temp = tempfile::tempdir().unwrap(); + let root = temp.path(); + let dir = root.join("loop"); + unix::fs::symlink(root, &dir).expect("Linking {dir:?} to {root:?}"); + + // Sanity check that we have a loop + assert_eq!( + root.canonicalize().unwrap(), + dir.canonicalize().unwrap(), + "Expected a loop where {dir:?} points to {root:?}" + ); + + let entries = auto_deps_from_dynamic_linking(root, &Default::default(), &None); + assert!( + entries.is_empty(), + "auto_deps shouldn't have yielded any libraries" + ); + } +} diff --git a/src/cook/fetch.rs b/src/cook/fetch.rs new file mode 100644 index 00000000..1b31d96b --- /dev/null +++ b/src/cook/fetch.rs @@ -0,0 +1,482 @@ +use crate::config::translate_mirror; +use crate::cook::fs::*; +use crate::cook::pty::PtyOut; +use crate::cook::script::*; +use crate::is_redox; +use crate::log_to_pty; +use crate::recipe::BuildKind; +use crate::recipe::Recipe; +use crate::{blake3, recipe::SourceRecipe}; +use std::fs; +use std::path::{Path, PathBuf}; +use std::process::Command; + +pub(crate) fn get_blake3(path: &PathBuf, show_progress: bool) -> Result { + if show_progress { + blake3::blake3_progress(&path) + } else { + blake3::blake3_silent(&path) + } + .map_err(|err| { + format!( + "failed to calculate blake3 of '{}': {}\n{:?}", + path.display(), + err, + err + ) + }) +} + +pub fn fetch_offline( + recipe_dir: &Path, + recipe: &Recipe, + logger: &PtyOut, +) -> Result { + let source_dir = recipe_dir.join("source"); + if recipe.build.kind == BuildKind::None || recipe.build.kind == BuildKind::Remote { + // the build function doesn't need source dir exists + return Ok(source_dir); + } + match &recipe.source { + Some(SourceRecipe::Path { path: _ }) | None => { + return fetch(recipe_dir, recipe, logger); + } + Some(SourceRecipe::SameAs { same_as: _ }) => { + return fetch(recipe_dir, recipe, logger); + } + Some(SourceRecipe::Git { + git: _, + upstream: _, + branch: _, + rev: _, + patches: _, + script: _, + shallow_clone: _, + }) => { + offline_check_exists(&source_dir)?; + } + Some(SourceRecipe::Tar { + tar: _, + blake3, + patches, + script, + }) => { + if !source_dir.is_dir() { + let source_tar = recipe_dir.join("source.tar"); + let source_tar_blake3 = get_blake3(&source_tar, true && logger.is_none())?; + if source_tar.exists() { + if let Some(blake3) = blake3 { + if source_tar_blake3 != *blake3 { + return Err(format!( + "The downloaded tar blake3 '{source_tar_blake3}' is not equal to blake3 in recipe.toml." + )); + } + fetch_extract_tar(source_tar, &source_dir, logger)?; + fetch_apply_patches(recipe_dir, patches, script, &source_dir, logger)?; + } else { + // need to trust this tar file + return Err(format!( + "Please add blake3 = \"{source_tar_blake3}\" to '{recipe}'", + recipe = recipe_dir.join("recipe.toml").display(), + )); + } + } else { + offline_check_exists(&source_dir)?; + } + } + } + } + + Ok(source_dir) +} + +pub fn fetch(recipe_dir: &Path, recipe: &Recipe, logger: &PtyOut) -> Result { + let source_dir = recipe_dir.join("source"); + if recipe.build.kind == BuildKind::None || recipe.build.kind == BuildKind::Remote { + // the build function doesn't need source dir exists + return Ok(source_dir); + } + match &recipe.source { + Some(SourceRecipe::SameAs { same_as }) => { + let (canon_dir, recipe) = fetch_resolve_canon(recipe_dir, &same_as)?; + // recursively fetch + fetch(&canon_dir, &recipe, logger)?; + fetch_make_symlink(&source_dir, &same_as)?; + } + Some(SourceRecipe::Path { path }) => { + if !source_dir.is_dir() || modified_dir(Path::new(&path))? > modified_dir(&source_dir)? + { + log_to_pty!( + logger, + "[DEBUG]: {} is newer than {}", + path, + source_dir.display() + ); + copy_dir_all(path, &source_dir).map_err(|e| { + format!( + "Couldn't copy source from {} to {}: {}", + path, + source_dir.display(), + e + ) + })?; + } + } + Some(SourceRecipe::Git { + git, + upstream, + branch, + rev, + patches, + script, + shallow_clone, + }) => { + //TODO: use libgit? + let shallow_clone = *shallow_clone == Some(true); + if !source_dir.is_dir() { + // Create source.tmp + let source_dir_tmp = recipe_dir.join("source.tmp"); + create_dir_clean(&source_dir_tmp)?; + + // Clone the repository to source.tmp + let mut command = Command::new("git"); + command + .arg("clone") + .arg("--recursive") + .arg(translate_mirror(&git)); + if let Some(branch) = branch { + command.arg("--branch").arg(branch); + } + if shallow_clone { + command.arg("--depth").arg("1").arg("--shallow-submodules"); + } + command.arg(&source_dir_tmp); + run_command(command, logger)?; + + // Move source.tmp to source atomically + rename(&source_dir_tmp, &source_dir)?; + } else if !shallow_clone { + // Don't let this code reset the origin for the cookbook repo + let source_git_dir = source_dir.join(".git"); + if !source_git_dir.is_dir() { + return Err(format!( + "'{}' is not a git repository, but recipe indicated git source", + source_dir.display(), + )); + } + + // Reset origin + let mut command = Command::new("git"); + command.arg("-C").arg(&source_dir); + command.arg("remote").arg("set-url").arg("origin").arg(git); + run_command(command, logger)?; + + // Fetch origin + let mut command = Command::new("git"); + command.arg("-C").arg(&source_dir); + command.arg("fetch").arg("origin"); + run_command(command, logger)?; + } + + if let Some(_upstream) = upstream { + //TODO: set upstream URL + // git remote set-url upstream "$GIT_UPSTREAM" &> /dev/null || + // git remote add upstream "$GIT_UPSTREAM" + // git fetch upstream + } + + if let Some(rev) = rev { + // Check out specified revision + let mut command = Command::new("git"); + command.arg("-C").arg(&source_dir); + command.arg("checkout").arg(rev); + run_command(command, logger)?; + } else if !shallow_clone && !is_redox() { + //TODO: complicated stuff to check and reset branch to origin + //TODO: redox can't undestand this (got exit status 1) + let mut command = Command::new("bash"); + command.arg("-c").arg(GIT_RESET_BRANCH); + if let Some(branch) = branch { + command.env("BRANCH", branch); + } + command.current_dir(&source_dir); + run_command(command, logger)?; + } + + if !patches.is_empty() || script.is_some() { + // Hard reset + let mut command = Command::new("git"); + command.arg("-C").arg(&source_dir); + command.arg("reset").arg("--hard"); + run_command(command, logger)?; + } + + if !shallow_clone { + // Sync submodules URL + let mut command = Command::new("git"); + command.arg("-C").arg(&source_dir); + command.arg("submodule").arg("sync").arg("--recursive"); + run_command(command, logger)?; + + // Update submodules + let mut command = Command::new("git"); + command.arg("-C").arg(&source_dir); + command + .arg("submodule") + .arg("update") + .arg("--init") + .arg("--recursive"); + run_command(command, logger)?; + } + + fetch_apply_patches(recipe_dir, patches, script, &source_dir, logger)?; + } + Some(SourceRecipe::Tar { + tar, + blake3, + patches, + script, + }) => { + let source_tar = recipe_dir.join("source.tar"); + let mut tar_updated = false; + while { + if !source_tar.is_file() { + tar_updated = true; + download_wget(&tar, &source_tar, logger)?; + } + let source_tar_blake3 = get_blake3(&source_tar, tar_updated && logger.is_none())?; + if let Some(blake3) = blake3 { + if source_tar_blake3 != *blake3 { + if tar_updated { + return Err(format!( + "The downloaded tar blake3 '{source_tar_blake3}' is not equal to blake3 in recipe.toml" + )); + } else { + log_to_pty!( + logger, + "DEBUG: source tar blake3 is different and need redownload" + ); + remove_all(&source_tar)?; + } + true + } else { + false + } + } else { + //TODO: set blake3 hash on the recipe with something like "cook fix" + log_to_pty!( + logger, + "WARNING: set blake3 for '{}' to '{}'", + source_tar.display(), + source_tar_blake3 + ); + false + } + } {} + if source_dir.is_dir() { + if tar_updated || fetch_is_patches_newer(recipe_dir, patches, &source_dir)? { + log_to_pty!( + logger, + "DEBUG: source tar or patches is newer than the source directory" + ); + remove_all(&source_dir)? + } + } + if !source_dir.is_dir() { + // Create source.tmp + let source_dir_tmp = recipe_dir.join("source.tmp"); + create_dir_clean(&source_dir_tmp)?; + fetch_extract_tar(source_tar, &source_dir_tmp, logger)?; + fetch_apply_patches(recipe_dir, patches, script, &source_dir_tmp, logger)?; + + // Move source.tmp to source atomically + rename(&source_dir_tmp, &source_dir)?; + } + } + // Local Sources + None => { + if !source_dir.is_dir() { + log_to_pty!( + logger, + "WARNING: Recipe without source section expected source dir at '{}'", + source_dir.display(), + ); + create_dir(&source_dir)?; + } + } + } + + if let BuildKind::Cargo { + package_path, + cargoflags: _, + } = &recipe.build.kind + { + fetch_cargo(&source_dir, package_path.as_ref(), logger)?; + } + + Ok(source_dir) +} + +pub(crate) fn fetch_make_symlink(source_dir: &PathBuf, same_as: &String) -> Result<(), String> { + let target_dir = Path::new(same_as).join("source"); + if !source_dir.is_symlink() { + if source_dir.is_dir() { + return Err(format!( + "'{dir}' is a directory, but recipe indicated a symlink. \n\ + try removing '{dir}' if you haven't made any changes that would be lost", + dir = source_dir.display(), + )); + } + std::os::unix::fs::symlink(&target_dir, source_dir).map_err(|err| { + format!( + "failed to symlink '{}' to '{}': {}\n{:?}", + target_dir.display(), + source_dir.display(), + err, + err + ) + })?; + } + Ok(()) +} + +pub(crate) fn fetch_resolve_canon( + recipe_dir: &Path, + same_as: &String, +) -> Result<(PathBuf, Recipe), String> { + let canon_dir = Path::new(recipe_dir).join(same_as); + if canon_dir + .to_str() + .unwrap() + .chars() + .filter(|c| *c == '/') + .count() + > 50 + { + return Err(format!("Infinite loop detected")); + } + if !canon_dir.exists() { + return Err(format!("'{dir}' is not exists.", dir = canon_dir.display())); + } + let recipe_path = canon_dir.join("recipe.toml"); + let recipe_str = fs::read_to_string(&recipe_path) + .map_err(|e| format!("unable to read {path}: {e}", path = recipe_path.display()))?; + let recipe: Recipe = toml::from_str(&recipe_str) + .map_err(|e| format!("Unable to parse {path}: {e}", path = recipe_path.display()))?; + Ok((canon_dir, recipe)) +} + +pub(crate) fn fetch_extract_tar( + source_tar: PathBuf, + source_dir_tmp: &PathBuf, + logger: &PtyOut, +) -> Result<(), String> { + let mut command = Command::new("tar"); + let verbose = crate::config::get_config().cook.verbose; + if is_redox() { + command.arg(if verbose { "xvf" } else { "xf" }); + } else { + command.arg("--extract"); + command.arg("--no-same-owner"); + if verbose { + command.arg("--verbose"); + } + command.arg("--file"); + } + command.arg(&source_tar); + command.arg("--directory").arg(source_dir_tmp); + command.arg("--strip-components").arg("1"); + run_command(command, logger)?; + Ok(()) +} + +pub(crate) fn fetch_cargo( + source_dir: &PathBuf, + package_path: Option<&String>, + logger: &PtyOut, +) -> Result<(), String> { + let mut source_dir = source_dir.clone(); + if let Some(package_path) = package_path { + source_dir = source_dir.join(package_path); + } + + let mut command = if is_redox() { + Command::new("cargo") + } else { + let cookbook_redoxer = Path::new("target/release/cookbook_redoxer") + .canonicalize() + .unwrap_or(PathBuf::from("/bin/false")); + Command::new(&cookbook_redoxer) + }; + command.arg("fetch"); + command.arg("--manifest-path"); + command.arg(source_dir.join("Cargo.toml").into_os_string()); + run_command(command, logger)?; + Ok(()) +} + +pub(crate) fn fetch_is_patches_newer( + recipe_dir: &Path, + patches: &Vec, + source_dir: &PathBuf, +) -> Result { + // don't check source files inside as it can be mixed with user patches + let source_time = modified(&source_dir)?; + for patch_name in patches { + let patch_file = recipe_dir.join(patch_name); + if !patch_file.is_file() { + return Err(format!( + "failed to find patch file '{}'", + patch_file.display() + )); + } + + let patch_time = modified(&patch_file)?; + if patch_time > source_time { + return Ok(true); + } + } + return Ok(false); +} + +pub(crate) fn fetch_apply_patches( + recipe_dir: &Path, + patches: &Vec, + script: &Option, + source_dir_tmp: &PathBuf, + logger: &PtyOut, +) -> Result<(), String> { + for patch_name in patches { + let patch_file = recipe_dir.join(patch_name); + if !patch_file.is_file() { + return Err(format!( + "failed to find patch file '{}'", + patch_file.display() + )); + } + + let patch = fs::read_to_string(&patch_file).map_err(|err| { + format!( + "failed to read patch file '{}': {}\n{:#?}", + patch_file.display(), + err, + err + ) + })?; + + let mut command = Command::new("patch"); + command.arg("--directory").arg(source_dir_tmp); + command.arg("--strip=1"); + run_command_stdin(command, patch.as_bytes(), logger)?; + } + Ok(if let Some(script) = script { + let mut command = Command::new("bash"); + command.arg("-ex"); + command.current_dir(source_dir_tmp); + run_command_stdin( + command, + format!("{SHARED_PRESCRIPT}\n{script}").as_bytes(), + logger, + )?; + }) +} diff --git a/src/cook/fs.rs b/src/cook/fs.rs new file mode 100644 index 00000000..c9385260 --- /dev/null +++ b/src/cook/fs.rs @@ -0,0 +1,236 @@ +use serde::Serialize; +use std::{ + fs, + io::{self, Write}, + path::{Path, PathBuf}, + process::{self, Command, Stdio}, + time::SystemTime, +}; +use walkdir::{DirEntry, WalkDir}; + +use crate::{ + config::translate_mirror, + cook::pty::{PtyOut, spawn_to_pipe}, +}; + +//TODO: pub(crate) for all of these functions + +pub fn remove_all(path: &Path) -> Result<(), String> { + if path.is_dir() { + fs::remove_dir_all(path) + } else { + fs::remove_file(path) + } + .map_err(|err| format!("failed to remove '{}': {}\n{:?}", path.display(), err, err)) +} + +pub fn create_dir(dir: &Path) -> Result<(), String> { + fs::create_dir(dir) + .map_err(|err| format!("failed to create '{}': {}\n{:?}", dir.display(), err, err)) +} + +pub fn create_dir_clean(dir: &Path) -> Result<(), String> { + if dir.is_dir() { + remove_all(dir)?; + } + create_dir(dir) +} + +pub fn create_target_dir(recipe_dir: &Path) -> Result { + let target_parent_dir = recipe_dir.join("target"); + if !target_parent_dir.is_dir() { + create_dir(&target_parent_dir)?; + } + let target_dir = target_parent_dir.join(redoxer::target()); + if !target_dir.is_dir() { + create_dir(&target_dir)?; + } + Ok(target_dir) +} + +pub fn copy_dir_all(src: impl AsRef, dst: impl AsRef) -> io::Result<()> { + fs::create_dir_all(&dst)?; + for entry in fs::read_dir(src)? { + let entry = entry?; + let ty = entry.file_type()?; + if ty.is_dir() { + copy_dir_all(entry.path(), dst.as_ref().join(entry.file_name()))?; + } else { + fs::copy(entry.path(), dst.as_ref().join(entry.file_name()))?; + } + } + Ok(()) +} + +pub fn symlink(original: impl AsRef, link: impl AsRef) -> Result<(), String> { + std::os::unix::fs::symlink(&original, &link).map_err(|err| { + format!( + "failed to symlink '{}' to '{}': {}\n{:?}", + original.as_ref().display(), + link.as_ref().display(), + err, + err + ) + }) +} + +pub fn modified(path: &Path) -> Result { + let metadata = fs::metadata(path).map_err(|err| { + format!( + "failed to get metadata of '{}': {}\n{:#?}", + path.display(), + err, + err + ) + })?; + metadata.modified().map_err(|err| { + format!( + "failed to get modified time of '{}': {}\n{:#?}", + path.display(), + err, + err + ) + }) +} + +pub fn modified_dir_inner bool>( + dir: &Path, + filter: F, +) -> io::Result { + let mut newest = fs::metadata(dir)?.modified()?; + for entry_res in WalkDir::new(dir).into_iter().filter_entry(filter) { + let entry = entry_res?; + let modified = entry.metadata()?.modified()?; + if modified > newest { + newest = modified; + } + } + Ok(newest) +} + +pub fn modified_dir(dir: &Path) -> Result { + modified_dir_inner(dir, |_| true).map_err(|err| { + format!( + "failed to get modified time of '{}': {}\n{:#?}", + dir.display(), + err, + err + ) + }) +} + +pub fn modified_dir_ignore_git(dir: &Path) -> Result { + modified_dir_inner(dir, |entry| { + entry + .file_name() + .to_str() + .map(|s| s != ".git") + .unwrap_or(true) + }) + .map_err(|err| { + format!( + "failed to get modified time of '{}': {}\n{:#?}", + dir.display(), + err, + err + ) + }) +} + +pub fn rename(src: &Path, dst: &Path) -> Result<(), String> { + fs::rename(src, dst).map_err(|err| { + format!( + "failed to rename '{}' to '{}': {}\n{:?}", + src.display(), + dst.display(), + err, + err + ) + }) +} + +pub fn run_command(mut command: process::Command, stdout_pipe: &PtyOut) -> Result<(), String> { + let status = spawn_to_pipe(&mut command, stdout_pipe) + .map_err(|err| format!("failed to run {:?}: {}\n{:#?}", command, err, err))? + .wait() + .map_err(|err| format!("failed to run {:?}: {}\n{:#?}", command, err, err))?; + + if !status.success() { + return Err(format!( + "failed to run {:?}: exited with status {}", + command, status + )); + } + + Ok(()) +} + +pub fn run_command_stdin( + mut command: process::Command, + stdin_data: &[u8], + stdout_pipe: &PtyOut, +) -> Result<(), String> { + command.stdin(Stdio::piped()); + let mut child = spawn_to_pipe(&mut command, stdout_pipe) + .map_err(|err| format!("failed to spawn {:?}: {}\n{:#?}", command, err, err))?; + + if let Some(ref mut stdin) = child.stdin { + stdin.write_all(stdin_data).map_err(|err| { + format!( + "failed to write stdin of {:?}: {}\n{:#?}", + command, err, err + ) + })?; + } else { + return Err(format!("failed to find stdin of {:?}", command)); + } + + let status = child + .wait() + .map_err(|err| format!("failed to run {:?}: {}\n{:#?}", command, err, err))?; + + if !status.success() { + return Err(format!( + "failed to run {:?}: exited with status {}", + command, status + )); + } + + Ok(()) +} + +pub fn serialize_and_write(file_path: &Path, content: &T) -> Result<(), String> { + let toml_content = toml::to_string(content).map_err(|err| { + format!( + "Failed to serialize content for '{}': {}", + file_path.display(), + err + ) + })?; + + fs::write(file_path, toml_content) + .map_err(|err| format!("Failed to write to file '{}': {}", file_path.display(), err))?; + Ok(()) +} + +pub fn offline_check_exists(path: &PathBuf) -> Result<(), String> { + if !path.exists() { + return Err(format!( + "'{path}' is not exist and unable to continue in offline mode", + path = path.display(), + ))?; + } + Ok(()) +} + +pub fn download_wget(url: &str, dest: &PathBuf, logger: &PtyOut) -> Result<(), String> { + if !dest.is_file() { + let dest_tmp = PathBuf::from(format!("{}.tmp", dest.display())); + let mut command = Command::new("wget"); + command.arg(translate_mirror(url)); + command.arg("--continue").arg("-O").arg(&dest_tmp); + run_command(command, logger)?; + rename(&dest_tmp, &dest)?; + } + Ok(()) +} diff --git a/src/cook/package.rs b/src/cook/package.rs new file mode 100644 index 00000000..f65ac2e5 --- /dev/null +++ b/src/cook/package.rs @@ -0,0 +1,107 @@ +use std::{collections::BTreeSet, path::Path}; + +use pkg::{Package, PackageName}; + +use crate::{ + cook::{fs::*, pty::PtyOut}, + log_to_pty, + recipe::{BuildKind, Recipe}, +}; + +pub fn package( + stage_dir: &Path, + target_dir: &Path, + name: &PackageName, + recipe: &Recipe, + auto_deps: &BTreeSet, + logger: &PtyOut, +) -> Result<(), String> { + if recipe.build.kind == BuildKind::None { + // metapackages don't have stage dir + package_toml(target_dir, name, recipe, auto_deps)?; + return Ok(()); + } + + let secret_path = "build/id_ed25519.toml"; + let public_path = "build/id_ed25519.pub.toml"; + if !Path::new(secret_path).is_file() || !Path::new(public_path).is_file() { + if !Path::new("build").is_dir() { + create_dir(Path::new("build"))?; + } + let (public_key, secret_key) = pkgar_keys::SecretKeyFile::new(); + public_key + .save(public_path) + .map_err(|err| format!("failed to save pkgar public key: {:?}", err))?; + secret_key + .save(secret_path) + .map_err(|err| format!("failed to save pkgar secret key: {:?}", err))?; + } + + let package_file = target_dir.join("stage.pkgar"); + let package_meta = target_dir.join("stage.toml"); + // Rebuild package if stage is newer + //TODO: rebuild on recipe changes + if package_file.is_file() { + let stage_modified = modified_dir(stage_dir)?; + if modified(&package_file)? < stage_modified { + log_to_pty!(logger, "DEBUG: updating '{}'", package_file.display()); + remove_all(&package_file)?; + remove_all(&package_meta)?; + } + } + if !package_file.is_file() { + pkgar::create( + secret_path, + package_file.to_str().unwrap(), + stage_dir.to_str().unwrap(), + ) + .map_err(|err| format!("failed to create pkgar archive: {:?}", err))?; + } + + if !package_meta.is_file() { + package_toml(target_dir, name, recipe, auto_deps)?; + } + + Ok(()) +} + +pub fn package_toml( + target_dir: &Path, + name: &PackageName, + recipe: &Recipe, + auto_deps: &BTreeSet, +) -> Result<(), String> { + let mut depends = recipe.package.dependencies.clone(); + for dep in auto_deps.iter() { + if !depends.contains(dep) { + depends.push(dep.clone()); + } + } + let package = Package { + name: name.clone(), + version: package_version(recipe), + target: redoxer::target().to_string(), + depends, + }; + + let toml_path = &target_dir.join("stage.toml"); + serialize_and_write(&toml_path, &package)?; + + return Ok(()); +} + +fn package_version(recipe: &Recipe) -> String { + if recipe.build.kind == BuildKind::None { + "".into() + } else if let Some(v) = &recipe.package.version { + v.to_string() + } else if let Some(r) = &recipe.source { + if let Some(m) = r.guess_version() { + m + } else { + "TODO".into() + } + } else { + "TODO".into() + } +} diff --git a/src/cook/pty.rs b/src/cook/pty.rs new file mode 100644 index 00000000..aec8869b --- /dev/null +++ b/src/cook/pty.rs @@ -0,0 +1,356 @@ +use anyhow::{Error, bail}; +use filedescriptor::FileDescriptor; +use libc::{self, winsize}; +use std::io::{Read, Write}; +use std::os::fd::FromRawFd; +use std::os::unix::io::AsRawFd; +use std::os::unix::process::CommandExt; +use std::process::Child; +use std::time::Duration; +use std::{io, mem, ptr}; +use std::{ + io::{PipeReader, PipeWriter}, + process::Command, +}; + +pub use std::os::unix::io::RawFd; + +#[macro_export] +macro_rules! log_to_pty { + ($logger:expr, $($arg:tt)+) => { + if $logger.is_some() { + use std::io::Write; + let mut logfd = $logger.as_ref().unwrap().1.try_clone().unwrap(); + let _ = logfd.write(format!($($arg)+).as_bytes()); + let _ = logfd.write(&[b'\n']); + } else { + eprintln!($($arg)+); + } + }; +} + +pub type PtyOut<'a> = Option<(&'a mut UnixSlavePty, &'a mut PipeWriter)>; + +pub fn setup_pty() -> ( + Box, + PipeReader, + (UnixSlavePty, std::io::PipeWriter), +) { + let pty_system = UnixPtySystem::default(); + let pair = pty_system + .openpty(PtySize { + rows: 24, // Standard terminal size + cols: 80, // Standard terminal size + ..Default::default() + }) + .expect("Unable to open pty"); + + // TODO: There's no way to handle stdin + let pty_reader = pair + .master + .try_clone_reader() + .expect("Unable to clone pty reader"); + + let (log_reader, log_writer) = std::io::pipe().expect("Failed to create log pipe"); + let pipes = (pair.slave, log_writer); + (pty_reader, log_reader, pipes) +} + +pub fn flush_pty(logger: &mut PtyOut) { + let Some((pty, file)) = logger else { + return; + }; + // Not sure if flush actually working + let _ = pty.flush(); + std::thread::sleep(Duration::from_millis(100)); + let _ = file.flush(); + std::thread::sleep(Duration::from_millis(100)); +} + +pub fn spawn_to_pipe(command: &mut Command, stdout_pipe: &PtyOut) -> Result { + match stdout_pipe { + Some(stdout) => stdout.0.spawn_command(command.into()), + None => Ok(command.spawn()?), + } +} + +// +// based on portable-pty crate +// copied here since it isn't flexible enough +// + +#[derive(Default)] +pub struct UnixPtySystem {} + +/// Represents the size of the visible display area in the pty +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub struct PtySize { + /// The number of lines of text + pub rows: u16, + /// The number of columns of text + pub cols: u16, + /// The width of a cell in pixels. Note that some systems never + /// fill this value and ignore it. + pub pixel_width: u16, + /// The height of a cell in pixels. Note that some systems never + /// fill this value and ignore it. + pub pixel_height: u16, +} + +impl Default for PtySize { + fn default() -> Self { + PtySize { + rows: 24, + cols: 80, + pixel_width: 0, + pixel_height: 0, + } + } +} + +fn openpty(size: PtySize) -> anyhow::Result<(UnixMasterPty, UnixSlavePty)> { + let mut master: RawFd = -1; + let mut slave: RawFd = -1; + + let mut size = winsize { + ws_row: size.rows, + ws_col: size.cols, + ws_xpixel: size.pixel_width, + ws_ypixel: size.pixel_height, + }; + + let result = unsafe { + // BSDish systems may require mut pointers to some args + #[allow(clippy::unnecessary_mut_passed)] + libc::openpty( + &mut master, + &mut slave, + ptr::null_mut(), + ptr::null_mut(), + &mut size, + ) + }; + + if result != 0 { + bail!("failed to openpty: {:?}", io::Error::last_os_error()); + } + + let master = UnixMasterPty { + fd: PtyFd(unsafe { FileDescriptor::from_raw_fd(master) }), + }; + let slave = UnixSlavePty { + fd: PtyFd(unsafe { FileDescriptor::from_raw_fd(slave) }), + }; + + // Ensure that these descriptors will get closed when we execute + // the child process. This is done after constructing the Pty + // instances so that we ensure that the Ptys get drop()'d if + // the cloexec() functions fail (unlikely!). + cloexec(master.fd.as_raw_fd())?; + cloexec(slave.fd.as_raw_fd())?; + + Ok((master, slave)) +} + +pub struct PtyPair { + // slave is listed first so that it is dropped first. + // The drop order is stable and specified by rust rfc 1857 + pub slave: UnixSlavePty, + pub master: UnixMasterPty, +} + +impl UnixPtySystem { + fn openpty(&self, size: PtySize) -> anyhow::Result { + let (master, slave) = openpty(size)?; + Ok(PtyPair { + master: master, + slave: slave, + }) + } +} + +struct PtyFd(pub FileDescriptor); +impl std::ops::Deref for PtyFd { + type Target = FileDescriptor; + fn deref(&self) -> &FileDescriptor { + &self.0 + } +} +impl std::ops::DerefMut for PtyFd { + fn deref_mut(&mut self) -> &mut FileDescriptor { + &mut self.0 + } +} + +impl Read for PtyFd { + fn read(&mut self, buf: &mut [u8]) -> Result { + match self.0.read(buf) { + Err(ref e) if e.raw_os_error() == Some(libc::EIO) => { + // EIO indicates that the slave pty has been closed. + // Treat this as EOF so that std::io::Read::read_to_string + // and similar functions gracefully terminate when they + // encounter this condition + Ok(0) + } + x => x, + } + } +} + +impl PtyFd { + fn resize(&self, size: PtySize) -> Result<(), Error> { + let ws_size = winsize { + ws_row: size.rows, + ws_col: size.cols, + ws_xpixel: size.pixel_width, + ws_ypixel: size.pixel_height, + }; + + if unsafe { + libc::ioctl( + self.0.as_raw_fd(), + libc::TIOCSWINSZ as _, + &ws_size as *const _, + ) + } != 0 + { + bail!( + "failed to ioctl(TIOCSWINSZ): {:?}", + io::Error::last_os_error() + ); + } + + Ok(()) + } + + fn get_size(&self) -> Result { + let mut size: winsize = unsafe { mem::zeroed() }; + if unsafe { + libc::ioctl( + self.0.as_raw_fd(), + libc::TIOCGWINSZ as _, + &mut size as *mut _, + ) + } != 0 + { + bail!( + "failed to ioctl(TIOCGWINSZ): {:?}", + io::Error::last_os_error() + ); + } + Ok(PtySize { + rows: size.ws_row, + cols: size.ws_col, + pixel_width: size.ws_xpixel, + pixel_height: size.ws_ypixel, + }) + } + + fn spawn_command(&self, cmd: &mut Command) -> anyhow::Result { + unsafe { + cmd + // .stdin(self.as_stdio()?) + .stdout(self.as_stdio()?) + .stderr(self.as_stdio()?) + .pre_exec(move || { + // Clean up a few things before we exec the program + // Clear out any potentially problematic signal + // dispositions that we might have inherited + for signo in &[ + libc::SIGCHLD, + libc::SIGHUP, + libc::SIGINT, + libc::SIGQUIT, + libc::SIGTERM, + libc::SIGALRM, + ] { + libc::signal(*signo, libc::SIG_DFL); + } + + let empty_set: libc::sigset_t = std::mem::zeroed(); + libc::sigprocmask(libc::SIG_SETMASK, &empty_set, std::ptr::null_mut()); + + // Establish ourselves as a session leader. + if libc::setsid() == -1 { + return Err(io::Error::last_os_error()); + } + + Ok(()) + }) + }; + + let mut child = cmd.spawn()?; + + // Ensure that we close out the slave fds that Child retains; + // they are not what we need (we need the master side to reference + // them) and won't work in the usual way anyway. + // In practice these are None, but it seems best to be move them + // out in case the behavior of Command changes in the future. + // child.stdin.take(); + child.stdout.take(); + child.stderr.take(); + + Ok(child) + } + + fn flush(&mut self) -> std::io::Result<()> { + self.0.flush() + } +} + +/// Represents the master end of a pty. +/// The file descriptor will be closed when the Pty is dropped. +pub struct UnixMasterPty { + fd: PtyFd, +} + +/// Represents the slave end of a pty. +/// The file descriptor will be closed when the Pty is dropped. +pub struct UnixSlavePty { + fd: PtyFd, +} + +/// Helper function to set the close-on-exec flag for a raw descriptor +fn cloexec(fd: RawFd) -> Result<(), Error> { + let flags = unsafe { libc::fcntl(fd, libc::F_GETFD) }; + if flags == -1 { + bail!( + "fcntl to read flags failed: {:?}", + io::Error::last_os_error() + ); + } + let result = unsafe { libc::fcntl(fd, libc::F_SETFD, flags | libc::FD_CLOEXEC) }; + if result == -1 { + bail!( + "fcntl to set CLOEXEC failed: {:?}", + io::Error::last_os_error() + ); + } + Ok(()) +} + +impl UnixSlavePty { + fn spawn_command(&self, builder: &mut Command) -> Result { + Ok(self.fd.spawn_command(builder)?) + } + fn flush(&mut self) -> Result<(), anyhow::Error> { + Ok(self.fd.flush()?) + } +} + +impl UnixMasterPty { + #[allow(unused)] + fn resize(&self, size: PtySize) -> Result<(), Error> { + self.fd.resize(size) + } + + #[allow(unused)] + fn get_size(&self) -> Result { + self.fd.get_size() + } + + fn try_clone_reader(&self) -> Result, Error> { + let fd = PtyFd(self.fd.try_clone()?); + Ok(Box::new(fd)) + } +} diff --git a/src/cook/script.rs b/src/cook/script.rs new file mode 100644 index 00000000..a5b22125 --- /dev/null +++ b/src/cook/script.rs @@ -0,0 +1,377 @@ +pub(crate) static SHARED_PRESCRIPT: &str = r#" +# Build dynamically +function DYNAMIC_INIT { + COOKBOOK_AUTORECONF="autoreconf" + autotools_recursive_regenerate() { + for f in $(find . -name configure.ac -o -name configure.in -type f | sort); do + echo "* autotools regen in '$(dirname $f)'..." + ( cd "$(dirname "$f")" && "${COOKBOOK_AUTORECONF}" -fvi "$@" -I${COOKBOOK_HOST_SYSROOT}/share/aclocal ) + done + } + + case "${TARGET}" in + "x86_64-unknown-redox") + ;; + "x86_64-unknown-linux-gnu") + ;; + *) + [ -z "${COOKBOOK_VERBOSE}" ] || echo "WARN: ${TARGET} does not support dynamic linking." >&2 + return + ;; + esac + + [ -z "${COOKBOOK_VERBOSE}" ] || echo "DEBUG: Program is being compiled dynamically." + + COOKBOOK_CONFIGURE_FLAGS=( + --host="${GNU_TARGET}" + --prefix="/usr" + --enable-shared + --disable-static + ) + + COOKBOOK_CMAKE_FLAGS=( + -DBUILD_SHARED_LIBS=True + -DENABLE_SHARED=True + -DENABLE_STATIC=False + ) + + COOKBOOK_MESON_FLAGS=( + --buildtype release + --wrap-mode nofallback + --strip + -Ddefault_library=shared + -Dprefix=/usr + ) + + # TODO: check paths for spaces + export LDFLAGS="-Wl,-rpath-link,${COOKBOOK_SYSROOT}/lib -L${COOKBOOK_SYSROOT}/lib" + export RUSTFLAGS="-C target-feature=-crt-static" + export COOKBOOK_DYNAMIC=1 +} + +# Build both dynamically and statically +function DYNAMIC_STATIC_INIT { + DYNAMIC_INIT + if [ "${COOKBOOK_DYNAMIC}" == "1" ] + then + COOKBOOK_CONFIGURE_FLAGS=( + --host="${GNU_TARGET}" + --prefix="/usr" + --enable-shared + --enable-static + ) + + COOKBOOK_CMAKE_FLAGS=( + -DBUILD_SHARED_LIBS=True + -DENABLE_SHARED=True + -DENABLE_STATIC=True + ) + + COOKBOOK_MESON_FLAGS=( + --buildtype release + --wrap-mode nofallback + --strip + -Ddefault_library=both + -Dprefix=/usr + ) + fi +} + +function GNU_CONFIG_GET { + wget -O "$1" "https://gitlab.redox-os.org/redox-os/gnu-config/-/raw/master/config.sub?inline=false" +} +"#; + +pub(crate) static BUILD_PRESCRIPT: &str = r#" +# Add cookbook bins to path +if [ -z "${IS_REDOX}" ] +then +export PATH="${COOKBOOK_ROOT}/bin:${PATH}" +fi + +# This puts cargo build artifacts in the build directory +export CARGO_TARGET_DIR="${COOKBOOK_BUILD}/target" + +# This adds the sysroot includes for most C compilation +#TODO: check paths for spaces! +export CFLAGS="-I${COOKBOOK_SYSROOT}/include" +export CPPFLAGS="-I${COOKBOOK_SYSROOT}/include" + +# This adds the sysroot libraries and compiles binaries statically for most C compilation +#TODO: check paths for spaces! +export LDFLAGS="-L${COOKBOOK_SYSROOT}/lib --static" + +# These ensure that pkg-config gets the right flags from the sysroot +if [ "${TARGET}" != "${COOKBOOK_HOST_TARGET}" ] +then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH= + export PKG_CONFIG_LIBDIR="${COOKBOOK_SYSROOT}/lib/pkgconfig" + export PKG_CONFIG_SYSROOT_DIR="${COOKBOOK_SYSROOT}" +fi + +# To build the debug version of a Cargo program, add COOKBOOK_DEBUG=true, and +# to not strip symbols from the final package, add COOKBOOK_NOSTRIP=true to the recipe +# (or to your environment) before calling cookbook_cargo or cookbook_cargo_packages +build_type=release +install_flags= +build_flags=--release +if [ ! -z "${COOKBOOK_DEBUG}" ] +then + install_flags=--debug + build_flags= + build_type=debug + export CFLAGS="${CFLAGS} -g" + export CPPFLAGS="${CPPFLAGS} -g" +fi + +if [ ! -z "${COOKBOOK_OFFLINE}" ] +then +build_flags+=" --offline" +install_flags+=" --offline" +fi + +# cargo template +COOKBOOK_CARGO="${COOKBOOK_REDOXER}" +function cookbook_cargo { + "${COOKBOOK_CARGO}" install \ + --path "${COOKBOOK_SOURCE}/${PACKAGE_PATH}" \ + --root "${COOKBOOK_STAGE}/usr" \ + --locked \ + --no-track \ + ${install_flags} \ + -j "${COOKBOOK_MAKE_JOBS}" "$@" +} + +# helper for installing binaries that are cargo examples +function cookbook_cargo_examples { + recipe="$(basename "${COOKBOOK_RECIPE}")" + for example in "$@" + do + "${COOKBOOK_CARGO}" build \ + --manifest-path "${COOKBOOK_SOURCE}/${PACKAGE_PATH}/Cargo.toml" \ + --example "${example}" \ + ${build_flags} -j "${COOKBOOK_MAKE_JOBS}" + mkdir -pv "${COOKBOOK_STAGE}/usr/bin" + cp -v \ + "target/${TARGET}/${build_type}/examples/${example}" \ + "${COOKBOOK_STAGE}/usr/bin/${recipe}_${example}" + done +} + +# helper for installing binaries that are cargo packages +function cookbook_cargo_packages { + recipe="$(basename "${COOKBOOK_RECIPE}")" + for package in "$@" + do + "${COOKBOOK_CARGO}" build \ + --manifest-path "${COOKBOOK_SOURCE}/${PACKAGE_PATH}/Cargo.toml" \ + --package "${package}" \ + ${build_flags} -j "${COOKBOOK_MAKE_JOBS}" + mkdir -pv "${COOKBOOK_STAGE}/usr/bin" + cp -v \ + "target/${TARGET}/${build_type}/${package}" \ + "${COOKBOOK_STAGE}/usr/bin/${recipe}_${package}" + done +} + +# configure template +COOKBOOK_CONFIGURE="${COOKBOOK_SOURCE}/configure" +COOKBOOK_CONFIGURE_FLAGS=( + --host="${GNU_TARGET}" + --prefix="/usr" + --disable-shared + --enable-static +) +COOKBOOK_MAKE="make" + +if [ -z "${COOKBOOK_MAKE_JOBS}" ] +then +if [ -z "${IS_REDOX}" ] +then +COOKBOOK_MAKE_JOBS="$(nproc)" +else +COOKBOOK_MAKE_JOBS="1" +fi +fi + +function cookbook_configure { + "${COOKBOOK_CONFIGURE}" "${COOKBOOK_CONFIGURE_FLAGS[@]}" "$@" + "${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}" + "${COOKBOOK_MAKE}" install DESTDIR="${COOKBOOK_STAGE}" +} + +COOKBOOK_CMAKE="cmake" +COOKBOOK_NINJA="ninja" +COOKBOOK_CMAKE_FLAGS=( + -DBUILD_SHARED_LIBS=False + -DENABLE_SHARED=False + -DENABLE_STATIC=True +) +function cookbook_cmake { + cat > cross_file.cmake <> cross_file.cmake + echo "set(CMAKE_CXX_COMPILER_LAUNCHER ${CC_WRAPPER})" >> cross_file.cmake + fi + + "${COOKBOOK_CMAKE}" "${COOKBOOK_SOURCE}" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CROSSCOMPILING=True \ + -DCMAKE_INSTALL_INCLUDEDIR=include \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_INSTALL_OLDINCLUDEDIR=/include \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_SBINDIR=bin \ + -DCMAKE_TOOLCHAIN_FILE=cross_file.cmake \ + -GNinja \ + -Wno-dev \ + "${COOKBOOK_CMAKE_FLAGS[@]}" \ + "$@" + + "${COOKBOOK_NINJA}" -j"${COOKBOOK_MAKE_JOBS}" + DESTDIR="${COOKBOOK_STAGE}" "${COOKBOOK_NINJA}" install -j"${COOKBOOK_MAKE_JOBS}" +} + +COOKBOOK_MESON="meson" +COOKBOOK_MESON_FLAGS=( + --buildtype release + --wrap-mode nofallback + --strip + -Ddefault_library=static + -Dprefix=/usr +) +function cookbook_meson { + echo "[binaries]" > cross_file.txt + echo "c = [$(printf "'%s', " $CC | sed 's/, $//')]" >> cross_file.txt + echo "cpp = [$(printf "'%s', " $CXX | sed 's/, $//')]" >> cross_file.txt + echo "ar = '${AR}'" >> cross_file.txt + echo "strip = '${STRIP}'" >> cross_file.txt + echo "pkg-config = '${PKG_CONFIG}'" >> cross_file.txt + echo "llvm-config = '${TARGET}-llvm-config'" >> cross_file.txt + echo "glib-compile-resources = 'glib-compile-resources'" >> cross_file.txt + echo "glib-compile-schemas = 'glib-compile-schemas'" >> cross_file.txt + + echo "[host_machine]" >> cross_file.txt + echo "system = 'redox'" >> cross_file.txt + echo "cpu_family = '$(echo "${TARGET}" | cut -d - -f1)'" >> cross_file.txt + echo "cpu = '$(echo "${TARGET}" | cut -d - -f1)'" >> cross_file.txt + echo "endian = 'little'" >> cross_file.txt + + echo "[paths]" >> cross_file.txt + echo "prefix = '/usr'" >> cross_file.txt + echo "libdir = 'lib'" >> cross_file.txt + echo "bindir = 'bin'" >> cross_file.txt + + echo "[properties]" >> cross_file.txt + echo "needs_exe_wrapper = true" >> cross_file.txt + echo "sys_root = '${COOKBOOK_SYSROOT}'" >> cross_file.txt + echo "c_args = [$(printf "'%s', " $CFLAGS | sed 's/, $//')]" >> cross_file.txt + echo "cpp_args = [$(printf "'%s', " $CPPFLAGS | sed 's/, $//')]" >> cross_file.txt + echo "c_link_args = [$(printf "'%s', " $LDFLAGS | sed 's/, $//')]" >> cross_file.txt + + unset AR + unset AS + unset CC + unset CXX + unset LD + unset NM + unset OBJCOPY + unset OBJDUMP + unset PKG_CONFIG + unset RANLIB + unset READELF + unset STRIP + + "${COOKBOOK_MESON}" setup \ + "${COOKBOOK_SOURCE}" \ + . \ + --cross-file cross_file.txt \ + "${COOKBOOK_MESON_FLAGS[@]}" \ + "$@" + "${COOKBOOK_NINJA}" -j"${COOKBOOK_MAKE_JOBS}" + DESTDIR="${COOKBOOK_STAGE}" "${COOKBOOK_NINJA}" install -j"${COOKBOOK_MAKE_JOBS}" +} +"#; + +pub(crate) static BUILD_POSTSCRIPT: &str = r#" +# Strip binaries +for dir in "${COOKBOOK_STAGE}/bin" "${COOKBOOK_STAGE}/usr/bin" +do + if [ -d "${dir}" ] && [ -z "${COOKBOOK_NOSTRIP}" ] + then + find "${dir}" -type f -exec "${GNU_TARGET}-strip" -v {} ';' + fi +done + +# Remove libtool files +for dir in "${COOKBOOK_STAGE}/lib" "${COOKBOOK_STAGE}/usr/lib" +do + if [ -d "${dir}" ] + then + find "${dir}" -type f -name '*.la' -exec rm -fv {} ';' + fi +done + +# Remove cargo install files +for file in .crates.toml .crates2.json +do + if [ -f "${COOKBOOK_STAGE}/${file}" ] + then + rm -v "${COOKBOOK_STAGE}/${file}" + fi +done + +# Add pkgname to appstream metadata +for dir in "${COOKBOOK_STAGE}/share/metainfo" "${COOKBOOK_STAGE}/usr/share/metainfo" +do + if [ -d "${dir}" ] + then + find "${dir}" -type f -name '*.xml' -exec sed -i 's||'"${COOKBOOK_NAME}"'|g' {} ';' + fi +done +"#; + +pub(crate) static GIT_RESET_BRANCH: &str = r#" +ORIGIN_BRANCH="$(git branch --remotes | grep '^ origin/HEAD -> ' | cut -d ' ' -f 5-)" +if [ -n "$BRANCH" ] +then + ORIGIN_BRANCH="origin/$BRANCH" +fi + +if [ "$(git rev-parse HEAD)" != "$(git rev-parse $ORIGIN_BRANCH)" ] +then + git checkout -B "$(echo "$ORIGIN_BRANCH" | cut -d / -f 2-)" "$ORIGIN_BRANCH" +fi"#; + +pub static KILL_ALL_PID: &str = r#" +THISPID=$$ +CHILDREN=$(ps -o pid= --ppid $PID | grep -v $THISPID); + +ALL_DESCENDANTS=''; + +while [ -n "$CHILDREN" ]; do + ALL_DESCENDANTS="$ALL_DESCENDANTS $CHILDREN"; + CHILDREN=$(ps -o pid= --ppid $(echo $CHILDREN) | tr '\n' ' '); +done; + +if [ -n "$ALL_DESCENDANTS" ]; then + kill -9 $ALL_DESCENDANTS; +fi +"#; diff --git a/src/cook/tree.rs b/src/cook/tree.rs new file mode 100644 index 00000000..1c796488 --- /dev/null +++ b/src/cook/tree.rs @@ -0,0 +1,137 @@ +use std::{ + collections::{HashMap, HashSet}, + fs::read_to_string, + path::PathBuf, +}; + +use anyhow::{Context, anyhow}; +use pkg::{Package, PackageName}; + +use crate::{cook::fs::create_target_dir, recipe::CookRecipe}; + +pub enum WalkTreeEntry<'a> { + Built(&'a PathBuf, u64), + NotBuilt, + Deduped, + Missing, +} + +pub fn display_tree_entry( + package_name: &PackageName, + recipe_map: &HashMap<&PackageName, &CookRecipe>, + prefix: &str, + is_last: bool, + visited: &mut HashSet, + total_size: &mut u64, +) -> anyhow::Result<()> { + walk_tree_entry( + package_name, + recipe_map, + prefix, + is_last, + visited, + total_size, + display_pkg_fn, + ) +} + +pub fn walk_tree_entry( + package_name: &PackageName, + recipe_map: &HashMap<&PackageName, &CookRecipe>, + prefix: &str, + is_last: bool, + visited: &mut HashSet, + total_size: &mut u64, + op: fn(&PackageName, &str, bool, &WalkTreeEntry) -> anyhow::Result<()>, +) -> anyhow::Result<()> { + let cook_recipe = match recipe_map.get(package_name) { + Some(r) => r, + None => { + // TODO: This is a dependency, but it's not in recipe list + op(package_name, prefix, is_last, &WalkTreeEntry::Missing)?; + return Ok(()); + } + }; + + let package_dir = &cook_recipe.dir; + let target_dir = create_target_dir(package_dir).map_err(|e| anyhow!(e))?; + let pkg_path = target_dir.join("stage.pkgar"); + let pkg_toml = target_dir.join("stage.toml"); + + let deduped = visited.contains(package_name); + let entry = match (std::fs::metadata(&pkg_path), deduped) { + (_, true) => WalkTreeEntry::Deduped, + (Ok(meta), _) => WalkTreeEntry::Built(&pkg_path, meta.len()), + (Err(_), _) => WalkTreeEntry::NotBuilt, + }; + + op(package_name, prefix, is_last, &entry)?; + + if deduped { + return Ok(()); + } + + visited.insert(package_name.clone()); + if let WalkTreeEntry::Built(_p, pkg_size) = &entry { + *total_size += pkg_size; + } + let pkg_meta: Package; + + let mut all_deps_set: HashSet<&PackageName> = HashSet::new(); + if let Ok(pkg_toml_str) = read_to_string(&pkg_toml) { + // more accurate with auto deps + pkg_meta = toml::from_str(&pkg_toml_str) + .context(format!("Unable to parse {}", pkg_toml.display()))?; + all_deps_set.extend(pkg_meta.depends.iter()); + } else { + all_deps_set.extend(cook_recipe.recipe.package.dependencies.iter()); + } + + if all_deps_set.is_empty() { + return Ok(()); + } + + let sorted_deps: Vec<&PackageName> = all_deps_set.into_iter().collect(); + let deps_count = sorted_deps.len(); + let child_prefix = if is_last { " " } else { "│ " }; + for (i, dep_name) in sorted_deps.iter().enumerate() { + walk_tree_entry( + dep_name, + recipe_map, + &format!("{}{}", prefix, child_prefix), + i == deps_count - 1, + visited, + total_size, + op, + )?; + } + + Ok(()) +} + +pub fn display_pkg_fn( + package_name: &PackageName, + prefix: &str, + is_last: bool, + entry: &WalkTreeEntry, +) -> anyhow::Result<()> { + let size_str = match entry { + WalkTreeEntry::Built(_path_buf, size) => format!("[{}]", format_size(*size)), + WalkTreeEntry::NotBuilt => "(not built)".to_string(), + WalkTreeEntry::Deduped => "".to_string(), + WalkTreeEntry::Missing => "(dependency info missing)".to_string(), + }; + let line_prefix = if is_last { "└── " } else { "├── " }; + println!("{}{}{} {}", prefix, line_prefix, package_name, size_str); + Ok(()) +} + +pub fn format_size(bytes: u64) -> String { + if bytes == 0 { + return "0 B".to_string(); + } + const UNITS: [&str; 5] = ["B", "KiB", "MiB", "GiB", "TiB"]; + let i = (bytes as f64).log(1024.0).floor() as usize; + let size = bytes as f64 / 1024.0_f64.powi(i as i32); + format!("{:.2} {}", size, UNITS[i]) +} diff --git a/src/lib.rs b/src/lib.rs new file mode 100644 index 00000000..0c8f7153 --- /dev/null +++ b/src/lib.rs @@ -0,0 +1,16 @@ +pub mod blake3; +pub mod config; +pub mod cook; +pub mod recipe; + +mod progress_bar; + +/// Default for maximum number of levels to descend down dependencies tree. +pub const WALK_DEPTH: usize = 16; + +/// Default remote package source, for recipes with build type = "remote" +pub const REMOTE_PKG_SOURCE: &str = "https://static.redox-os.org/pkg"; + +pub fn is_redox() -> bool { + cfg!(target_os = "redox") +} diff --git a/src/progress_bar.rs b/src/progress_bar.rs new file mode 100644 index 00000000..ef7ce1fc --- /dev/null +++ b/src/progress_bar.rs @@ -0,0 +1,22 @@ +pub use pbr::ProgressBar; + +use std::io::{Read, Result, Write}; + +pub struct ProgressBarRead<'p, 'r, P: Write + 'p, R: Read + 'r> { + pb: &'p mut ProgressBar

, + r: &'r mut R, +} + +impl<'p, 'r, P: Write, R: Read> ProgressBarRead<'p, 'r, P, R> { + pub fn new(pb: &'p mut ProgressBar

, r: &'r mut R) -> ProgressBarRead<'p, 'r, P, R> { + ProgressBarRead { pb, r } + } +} + +impl<'p, 'r, P: Write, R: Read> Read for ProgressBarRead<'p, 'r, P, R> { + fn read(&mut self, buf: &mut [u8]) -> Result { + let count = self.r.read(buf)?; + self.pb.add(count as u64); + Ok(count) + } +} diff --git a/src/recipe.rs b/src/recipe.rs new file mode 100644 index 00000000..96a83051 --- /dev/null +++ b/src/recipe.rs @@ -0,0 +1,495 @@ +use std::{ + collections::BTreeSet, + convert::TryInto, + fs, + path::{Path, PathBuf}, +}; + +use pkg::{PackageName, package::PackageError, recipes}; +use regex::Regex; +use serde::{ + Deserialize, Serialize, + de::{Error as DeErrorT, value::Error as DeError}, +}; + +use crate::WALK_DEPTH; + +/// Specifies how to download the source for a recipe +#[derive(Debug, Clone, Deserialize, PartialEq, Serialize)] +#[serde(untagged)] +pub enum SourceRecipe { + /// Reuse the source directory of another package + /// + /// This is useful when a single source repo contains multiple projects which each have their + /// own recipe to build them. + SameAs { + /// Relative path to the package for which to reuse the source dir + same_as: String, + }, + /// Path source + Path { + /// The path to the source + path: String, + }, + /// A git repository source + Git { + /// The URL for the git repository, such as https://gitlab.redox-os.org/redox-os/ion.git + git: String, + /// The URL for an upstream repository + upstream: Option, + /// The optional branch of the git repository to track, such as master. Please specify to + /// make updates to the rev easier + branch: Option, + /// The optional revision of the git repository to use for builds. Please specify for + /// reproducible builds + rev: Option, + /// The optional config to run as shallow fetch. Only use this for heavy git like "rust" + /// This will disable recipe autofetching because of its cost on git server + shallow_clone: Option, + /// A list of patch files to apply to the source + #[serde(default)] + patches: Vec, + /// Optional script to run to prepare the source + script: Option, + }, + /// A tar file source + Tar { + /// The URL of a tar source + tar: String, + /// The optional blake3 sum of the tar file. Please specify this to make reproducible + /// builds more reliable + blake3: Option, + /// A list of patch files to apply to the source + #[serde(default)] + patches: Vec, + /// Optional script to run to prepare the source, such as ./autogen.sh + script: Option, + }, +} + +impl SourceRecipe { + pub fn guess_version(&self) -> Option { + match self { + SourceRecipe::Tar { + tar, + blake3: _, + patches: _, + script: _, + } => { + let re = Regex::new(r"\d+\.\d+\.\d+").unwrap(); + if let Some(arm) = re.captures(&tar) { + return Some(arm.get(0).unwrap().as_str().to_string()); + } + None + } + _ => None, + } + } +} + +/// Specifies how to build a recipe +#[derive(Debug, Clone, Deserialize, PartialEq, Serialize)] +#[serde(tag = "template")] +pub enum BuildKind { + /// Will not build (for meta packages) + #[serde(rename = "none")] + None, + /// Will download compiled package from remote + #[serde(rename = "remote")] + Remote, + /// Will build and install using cargo + #[serde(rename = "cargo")] + Cargo { + #[serde(default)] + package_path: Option, + #[serde(default)] + cargoflags: String, + }, + /// Will build and install using configure and make + #[serde(rename = "configure")] + Configure { + #[serde(default)] + configureflags: Vec, + }, + /// Will build and install using cmake + #[serde(rename = "cmake")] + Cmake { + #[serde(default)] + cmakeflags: Vec, + }, + /// Will build and install using meson + #[serde(rename = "meson")] + Meson { + #[serde(default)] + mesonflags: Vec, + }, + /// Will build and install using custom commands + #[serde(rename = "custom")] + Custom { script: String }, +} + +impl Default for BuildKind { + fn default() -> Self { + BuildKind::None + } +} + +#[derive(Debug, Clone, Default, Deserialize, PartialEq, Serialize)] +pub struct BuildRecipe { + #[serde(flatten, default)] + pub kind: BuildKind, + #[serde(default)] + pub dependencies: Vec, + #[serde(default, rename = "dev-dependencies")] + pub dev_dependencies: Vec, +} + +#[derive(Debug, Clone, Default, Deserialize, PartialEq, Serialize)] +pub struct PackageRecipe { + #[serde(default)] + pub dependencies: Vec, + #[serde(default)] + pub version: Option, +} + +/// Everything required to build a Redox package +#[derive(Debug, Clone, Default, Deserialize, PartialEq, Serialize)] +pub struct Recipe { + /// Specifies how to download the source for this recipe + pub source: Option, + /// Specifies how to build this recipe + #[serde(default)] + pub build: BuildRecipe, + /// Specifies how to package this recipe + #[serde(default)] + pub package: PackageRecipe, +} + +impl BuildRecipe { + pub fn new(kind: BuildKind) -> Self { + let mut build = Self::default(); + build.kind = kind; + build + } + + pub fn set_as_remote(&mut self) { + self.kind = BuildKind::Remote; + self.dev_dependencies = Vec::new(); + } + + pub fn set_as_none(&mut self) { + self.kind = BuildKind::None; + self.dependencies = Vec::new(); + self.dev_dependencies = Vec::new(); + } +} + +#[derive(Debug, Clone, PartialEq)] +pub struct CookRecipe { + pub name: PackageName, + pub dir: PathBuf, + pub recipe: Recipe, + /// If false, it's listed on install config + pub is_deps: bool, +} + +impl Recipe { + pub fn new(file: &PathBuf) -> Result { + if !file.is_file() { + return Err(PackageError::FileMissing(file.clone())); + } + let toml = fs::read_to_string(&file) + .map_err(|err| PackageError::Parse(DeError::custom(err), Some(file.clone())))?; + let recipe: Recipe = toml::from_str(&toml) + .map_err(|err| PackageError::Parse(DeError::custom(err), Some(file.clone())))?; + Ok(recipe) + } +} + +impl CookRecipe { + pub fn new(name: PackageName, dir: PathBuf, recipe: Recipe) -> Result { + Ok(Self { + name, + dir, + recipe, + is_deps: false, + }) + } + + pub fn from_name( + name: impl TryInto, + ) -> Result { + let name: PackageName = name.try_into()?; + let dir = recipes::find(name.as_str()) + .ok_or_else(|| PackageError::PackageNotFound(name.clone()))?; + let file = dir.join("recipe.toml"); + let recipe = Recipe::new(&file)?; + Self::new(name, dir.to_path_buf(), recipe) + } + + pub fn from_path(dir: &Path, read_recipe: bool) -> Result { + let file = dir.join("recipe.toml"); + let name: PackageName = dir.file_name().unwrap().try_into()?; + let recipe = if read_recipe { + Recipe::new(&file)? + } else { + // clean/unfetch don't need to read recipe + Recipe::default() + }; + Self::new(name, dir.to_path_buf(), recipe) + } + + pub fn new_recursive( + names: &[PackageName], + recurse_build_deps: bool, + recurse_dev_build_deps: bool, + recurse_package_deps: bool, + collect_build_deps: bool, + collect_package_deps: bool, + collect_self: bool, + recursion: usize, + ) -> Result, PackageError> { + if recursion == 0 { + return Err(PackageError::Recursion(Default::default())); + } + + let mut recipes = Vec::new(); + for name in names { + let recipe = Self::from_name(name.as_str())?; + + if recurse_build_deps { + let dependencies = Self::new_recursive( + &recipe.recipe.build.dependencies, + recurse_build_deps, + recurse_dev_build_deps, + recurse_package_deps, + collect_build_deps, + collect_package_deps, + collect_build_deps, + recursion - 1, + ) + .map_err(|mut err| { + err.append_recursion(name); + err + })?; + + for dependency in dependencies { + if !recipes.contains(&dependency) { + recipes.push(dependency); + } + } + } + + if recurse_dev_build_deps { + let dependencies = Self::new_recursive( + &recipe.recipe.build.dev_dependencies, + recurse_build_deps, + recurse_dev_build_deps, + recurse_package_deps, + collect_build_deps, + collect_package_deps, + collect_build_deps, + recursion - 1, + ) + .map_err(|mut err| { + err.append_recursion(name); + err + })?; + + for dependency in dependencies { + if !recipes.contains(&dependency) { + recipes.push(dependency); + } + } + } + + if recurse_package_deps { + let dependencies = Self::new_recursive( + &recipe.recipe.package.dependencies, + recurse_build_deps, + recurse_dev_build_deps, + recurse_package_deps, + collect_build_deps, + collect_package_deps, + collect_package_deps, + recursion - 1, + ) + .map_err(|mut err| { + err.append_recursion(name); + err + })?; + + for dependency in dependencies { + if !recipes.contains(&dependency) { + recipes.push(dependency); + } + } + } + + if collect_self && !recipes.contains(&recipe) { + recipes.push(recipe); + } + } + + Ok(recipes) + } + + pub fn get_build_deps_recursive( + names: &[PackageName], + include_dev: bool, + mark_is_deps: bool, + ) -> Result, PackageError> { + let mut packages = Self::new_recursive( + names, + true, + include_dev, + false, + true, + false, + true, + WALK_DEPTH, + )?; + + if mark_is_deps { + for package in packages.iter_mut() { + package.is_deps = !names.contains(&package.name); + } + } + + Ok(packages) + } + + pub fn get_package_deps_recursive( + names: &[PackageName], + include_names: bool, + ) -> Result, PackageError> { + // recurse_build_deps == true here as libraries (build deps) can have runtime files (package deps) + let packages = Self::new_recursive( + names, + true, + false, + true, + false, + true, + include_names, + WALK_DEPTH, + )?; + + Ok(packages.into_iter().map(|p| p.name).collect()) + } +} + +#[derive(Serialize, Deserialize)] +pub struct AutoDeps { + pub packages: BTreeSet, +} + +#[cfg(test)] +mod tests { + use pkg::PackageName; + + #[test] + fn git_cargo_recipe() { + use crate::recipe::{BuildKind, BuildRecipe, PackageRecipe, Recipe, SourceRecipe}; + + let recipe: Recipe = toml::from_str( + r#" + [source] + git = "https://gitlab.redox-os.org/redox-os/acid.git" + branch = "master" + rev = "06344744d3d55a5ac9a62a6059cb363d40699bbc" + + [build] + template = "cargo" + "#, + ) + .unwrap(); + + assert_eq!( + recipe, + Recipe { + source: Some(SourceRecipe::Git { + git: "https://gitlab.redox-os.org/redox-os/acid.git".to_string(), + upstream: None, + branch: Some("master".to_string()), + rev: Some("06344744d3d55a5ac9a62a6059cb363d40699bbc".to_string()), + patches: Vec::new(), + script: None, + shallow_clone: None, + }), + build: BuildRecipe::new(BuildKind::Cargo { + package_path: None, + cargoflags: String::new(), + }), + package: PackageRecipe::default(), + } + ); + } + + #[test] + fn tar_custom_recipe() { + use crate::recipe::{BuildKind, BuildRecipe, PackageRecipe, Recipe, SourceRecipe}; + + let recipe: Recipe = toml::from_str( + r#" + [source] + tar = "http://downloads.xiph.org/releases/ogg/libogg-1.3.3.tar.xz" + blake3 = "8220c0e4082fa26c07b10bfe31f641d2e33ebe1d1bb0b20221b7016bc8b78a3a" + + [build] + template = "custom" + script = "make" + "#, + ) + .unwrap(); + + assert_eq!( + recipe, + Recipe { + source: Some(SourceRecipe::Tar { + tar: "http://downloads.xiph.org/releases/ogg/libogg-1.3.3.tar.xz".to_string(), + blake3: Some( + "8220c0e4082fa26c07b10bfe31f641d2e33ebe1d1bb0b20221b7016bc8b78a3a" + .to_string() + ), + patches: Vec::new(), + script: None, + }), + build: BuildRecipe::new(BuildKind::Custom { + script: "make".to_string() + }), + package: PackageRecipe::default(), + } + ); + + let source = recipe.source.unwrap(); + assert_eq!(source.guess_version(), Some("1.3.3".to_string())); + } + + #[test] + fn meta_recipe() { + use crate::recipe::{BuildKind, BuildRecipe, PackageRecipe, Recipe}; + + let recipe: Recipe = toml::from_str( + r#" + [package] + dependencies = [ + "gcc13", + ] + "#, + ) + .unwrap(); + + assert_eq!( + recipe, + Recipe { + source: None, + build: BuildRecipe::new(BuildKind::None), + package: PackageRecipe { + dependencies: vec![PackageName::new("gcc13").unwrap()], + version: None, + }, + } + ); + } +}