diff options
| author | root <root@alpha.trunkmasters.com> | 2026-07-30 03:04:49 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-07-30 03:04:49 -0500 |
| commit | 0fb86e044f244e00302b1878b3e15e0db0e4b7e5 (patch) | |
| tree | 01eeaaaafa24d9c759103aa30b91c5999ae52a1d /sys-devel | |
| parent | 8087a9548fbac1dade3245660600d025f43d6732 (diff) | |
| download | baldeagleos-repo-0fb86e044f244e00302b1878b3e15e0db0e4b7e5.tar.gz baldeagleos-repo-0fb86e044f244e00302b1878b3e15e0db0e4b7e5.tar.xz baldeagleos-repo-0fb86e044f244e00302b1878b3e15e0db0e4b7e5.zip | |
Adding metadata
Diffstat (limited to 'sys-devel')
| -rw-r--r-- | sys-devel/b/Manifest | 4 | ||||
| -rw-r--r-- | sys-devel/b/b-0_pre20251029.ebuild | 60 | ||||
| -rw-r--r-- | sys-devel/b/files/Cargo.lock | 32 | ||||
| -rw-r--r-- | sys-devel/b/files/Cargo.toml | 25 | ||||
| -rw-r--r-- | sys-devel/b/files/build.rs | 37 | ||||
| -rw-r--r-- | sys-devel/b/metadata.xml | 9 |
6 files changed, 167 insertions, 0 deletions
diff --git a/sys-devel/b/Manifest b/sys-devel/b/Manifest new file mode 100644 index 000000000000..e3956e407daa --- /dev/null +++ b/sys-devel/b/Manifest @@ -0,0 +1,4 @@ +DIST b-0_pre20251029.tar.gz 184767 BLAKE2B 3bbea4a34f8ecb45a7d8dd57b6d1e305452a8735de723bc7b2530dcf98250cf25de2b4ff242d079535cecb68725d0b0eb620544062e7145faccce62278d31c37 SHA512 5344adcb6304d93beb87497cb0c862494720cac399ebdcecec99ef72c4757dedd6838b7a4028f10b49ca155e26d934d29e16cafe0dcb929cae67397b02dbf43b +DIST cc-1.3.0.crate 97752 BLAKE2B 54981272327165bbcebcfa03d3800b9c5fa4109c1d9f20409be94136a93a01ecb11987a2609c540e2c9843f325b8e48407209392e6c1fd1e8dc846a2956423c0 SHA512 c9a121ac509203f8cfce800f01904afe5b393bd44098740b9da28b0e39c3066bdf3cffdb855945587f7037d13e297d2a98ad41539bf90027eca5d45d6c9f5919 +DIST find-msvc-tools-0.1.9.crate 31493 BLAKE2B 4137592addf8b58f4e4c02be537a72b132b38cecc1c263c2569fe40e2cfe4377e7141679f32661f44ed467cf9723343ab13732b3d6f4a2a84c610d0958e7e30b SHA512 729b3c1c1d520dffe5d88fc8b58e47fb7e86dc26e568fc317eea5ca8de0ee953fbafaa20ab34a6bfb43173bab39a90ff6954c11dab8d545e902305dafc8cd3de +DIST shlex-2.0.1.crate 19332 BLAKE2B db2b6c5f7f30ad2f968d2dd386d39b362b8d19d7e17fffbb7407d6f35a4e165432b6607f3897c66cf8d32bf6e795ba7297080608c855b796fcf19842f4c509fa SHA512 d1bf35e2c5a93c718d3cc395fc4b06cc0c42d4891c0f37247de7e179492478020f0c57ae74c461d5bb1f833b071fd5c036d8d6d6ab8b61be6140cb64ae525921 diff --git a/sys-devel/b/b-0_pre20251029.ebuild b/sys-devel/b/b-0_pre20251029.ebuild new file mode 100644 index 000000000000..f101290dda50 --- /dev/null +++ b/sys-devel/b/b-0_pre20251029.ebuild @@ -0,0 +1,60 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + cc@1.3.0 + find-msvc-tools@0.1.9 + shlex@2.0.1 +" + +inherit cargo + +DESCRIPTION="A compiler for the B Programming Language implemented in Crust" +HOMEPAGE="https://github.com/bext-lang/b" + +GIT_COMMIT="078429a578202d8f6c4c667c780fc48f3711567f" +SRC_URI=" + https://github.com/bext-lang/b/archive/${GIT_COMMIT}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" +S="${WORKDIR}/${PN}-${GIT_COMMIT}" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" || ( Apache-2.0 MIT )" +SLOT="0" +KEYWORDS="~amd64" + +src_prepare() +{ + cp "${FILESDIR}/Cargo.toml" "${S}/" || die + cp "${FILESDIR}/Cargo.lock" "${S}/" || die + cp "${FILESDIR}/build.rs" "${S}/" || die + default +} + +src_test() +{ + + mkdir -p build || die + cp target/release/b build/b || die + + cargo_src_compile --bin btest + einfo "Running btest matrix..." + ./target/release/btest || die "btest failed" +} + +src_compile() +{ + cargo_src_compile --bin bgen + einfo "Running bgen code generator..." + ./target/release/bgen || die "bgen execution failed" + cargo_src_compile --bin b +} + +src_install() +{ + cargo_src_install --bin b +} diff --git a/sys-devel/b/files/Cargo.lock b/sys-devel/b/files/Cargo.lock new file mode 100644 index 000000000000..0bce22b8d8aa --- /dev/null +++ b/sys-devel/b/files/Cargo.lock @@ -0,0 +1,32 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "b" +version = "0.0.20260722" +dependencies = [ + "cc", +] + +[[package]] +name = "cc" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c89588d05638b5b4594a3348a2d6c20277e43a7f5c5202b05cc56888475a47b8" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "find-msvc-tools" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" + +[[package]] +name = "shlex" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" diff --git a/sys-devel/b/files/Cargo.toml b/sys-devel/b/files/Cargo.toml new file mode 100644 index 000000000000..fb34be07404b --- /dev/null +++ b/sys-devel/b/files/Cargo.toml @@ -0,0 +1,25 @@ +[package] +name = "b" +version = "0.0.20260722" +edition = "2018" +build = "build.rs" + +[[bin]] +name ="b" +path = "src/b.rs" + +[[bin]] +name = "bgen" +path = "src/bgen.rs" + +[[bin]] +name = "btest" +path = "src/btest.rs" + +[build-dependencies] +cc = "1.0" +[profile.dev] +panic = "abort" + +[profile.release] +panic = "abort" diff --git a/sys-devel/b/files/build.rs b/sys-devel/b/files/build.rs new file mode 100644 index 000000000000..4a11ebdd531f --- /dev/null +++ b/sys-devel/b/files/build.rs @@ -0,0 +1,37 @@ +use std::process::Command; + +fn main() { + // 1. Compile C helper stubs + cc::Build::new() + .file("thirdparty/nob.c") + .file("thirdparty/arena.c") + .file("thirdparty/jim.c") + .file("thirdparty/flag.c") + .file("thirdparty/glob.c") + .file("thirdparty/jimp.c") + .file("thirdparty/libc.c") + .file("thirdparty/shlex.c") + .file("thirdparty/time.c") + .include("thirdparty") + .warnings(false) + .compile("crust_thirdparty"); + + println!("cargo:rustc-link-lib=c"); + + // 2. Build and run bgen to generate src/codegen/.INDEX.rs if missing + if !std::path::Path::new("src/codegen/.INDEX.rs").exists() { + let status = Command::new("rustc") + .args(&["src/bgen.rs", "-o", "target/bgen_build"]) + .status() + .expect("Failed to compile bgen.rs"); + + if status.success() { + Command::new("./target/bgen_build") + .status() + .expect("Failed to run bgen"); + } + } + + println!("cargo:rerun-if-changed=thirdparty/"); + println!("cargo:rerun-if-changed=src/codegen/"); +}
\ No newline at end of file diff --git a/sys-devel/b/metadata.xml b/sys-devel/b/metadata.xml new file mode 100644 index 000000000000..608416a5d1b5 --- /dev/null +++ b/sys-devel/b/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>shimontrolles@gmail.com</email> + <name>Shimon Trolles</name> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> |
