From ebf3b0cb11a7cda0438b07e65ef8e87b48ff85b6 Mon Sep 17 00:00:00 2001 From: Gilver Date: Sun, 1 Mar 2026 13:00:30 -0600 Subject: [PATCH] chore: Push current changes to remote --- anda/devs/bun/anda.hcl | 3 + .../bun/bun-fix-webkit-include-paths.patch | 24 +++ anda/devs/bun/bun.spec | 156 ++++++++++++++---- ....metainfo.xml => sh.oven.Bun.metainfo.xml} | 0 anda/devs/bun/update.rhai | 6 + test.rhai | 1 + 6 files changed, 155 insertions(+), 35 deletions(-) create mode 100644 anda/devs/bun/bun-fix-webkit-include-paths.patch rename anda/devs/bun/{sh.oven.bun.metainfo.xml => sh.oven.Bun.metainfo.xml} (100%) create mode 100644 test.rhai diff --git a/anda/devs/bun/anda.hcl b/anda/devs/bun/anda.hcl index b08632a5e7..727a2d353b 100644 --- a/anda/devs/bun/anda.hcl +++ b/anda/devs/bun/anda.hcl @@ -2,4 +2,7 @@ project pkg { rpm { spec = "bun.spec" } + labels { + updbranch = 1 + } } diff --git a/anda/devs/bun/bun-fix-webkit-include-paths.patch b/anda/devs/bun/bun-fix-webkit-include-paths.patch new file mode 100644 index 0000000000..bf53dc0ae7 --- /dev/null +++ b/anda/devs/bun/bun-fix-webkit-include-paths.patch @@ -0,0 +1,24 @@ +From 1d33218cfda59b6656aca0a7d85236e93c37658b Mon Sep 17 00:00:00 2001 +From: Carl Smedstad +Date: Thu, 25 Dec 2025 14:37:31 +0100 +Subject: [PATCH 1/2] Fix webkit include paths + +--- + cmake/tools/SetupWebKit.cmake | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/cmake/tools/SetupWebKit.cmake b/cmake/tools/SetupWebKit.cmake +index aa07c060ec..29c4def156 100644 +--- a/cmake/tools/SetupWebKit.cmake ++++ b/cmake/tools/SetupWebKit.cmake +@@ -28,6 +28,7 @@ if(WEBKIT_LOCAL) + # make jsc-compile-debug jsc-copy-headers + include_directories( + ${WEBKIT_PATH} ++ ${WEBKIT_PATH}/JavaScriptCore/Headers + ${WEBKIT_PATH}/JavaScriptCore/Headers/JavaScriptCore + ${WEBKIT_PATH}/JavaScriptCore/PrivateHeaders + ${WEBKIT_PATH}/bmalloc/Headers +-- +2.52.0 + diff --git a/anda/devs/bun/bun.spec b/anda/devs/bun/bun.spec index bef72ed20c..3a30974927 100644 --- a/anda/devs/bun/bun.spec +++ b/anda/devs/bun/bun.spec @@ -1,21 +1,29 @@ -%global appid sh.oven.bun -# Currently unused but here in case it is needed in the future -%if 0%{?fedora} >= 45 -%global llvm_major 21 +%global appid sh.oven.Bun +# Bun REQUIRES Clang, it uses flags GCC cannot support such as -glldb +%global toolchain clang +%if 0%{?fedora} >= 42 +%global llvm_major 20 +%global __cc clang-%{llvm_major} +%global __cxx clang++-%{llvm_major} +%global __cpp clang-cpp-%{llvm_major} %endif -%global zig_version 0.14.1 +%global zig_version 0.15.2 +# We love programs with multiple levels of bootstrapping %bcond bootstrap 1 +%bcond webkit 1 +%bcond self_build %{without bootstrap} Name: bun -Version: 1.3.3 +Version: 1.3.5 Release: 2%?dist Summary: Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one License: MIT URL: https://bun.sh Source0: https://github.com/oven-sh/bun/archive/refs/tags/%{name}-v%{version}.tar.gz -Patch0: BuildBrotli.patch +Source1: sh.oven.Bun.metainfo.xml +Patch0: bun-fix-webkit-include-paths.patch BuildRequires: anda-srpm-macros -%if %{without bootstrap} +%if %{with self_build} BuildRequires: bun %endif BuildRequires: cargo @@ -24,12 +32,16 @@ BuildRequires: ccache BuildRequires: clang%{?llvm_major} BuildRequires: cmake BuildRequires: cmake-rpm-macros -BuildRequires: gcc -BuildRequires: gcc-c++ +%if %{with webkit} BuildRequires: git-core +%endif +BuildRequires: golang BuildRequires: glibc-common +BuildRequires: glibc-devel +BuildRequires: libatomic-static BuildRequires: libicu-devel BuildRequires: libdeflate-devel +BuildRequires: libstdc++-static BuildRequires: libtool BuildRequires: lld%{?llvm_major} BuildRequires: llvm%{?llvm_major} @@ -37,11 +49,18 @@ BuildRequires: mold BuildRequires: ninja-build BuildRequires: nodejs BuildRequires: pkg-config +%if %{with webkit} +BuildRequires: perl(English) +BuildRequires: perl(FindBin) +BuildRequires: perl(JSON::PP) +BuildRequires: perl(Math::BigInt::Trace) +%endif BuildRequires: perl(Math::BigInt) BuildRequires: python3 BuildRequires: python3-devel BuildRequires: ruby BuildRequires: ruby-bundled-gems +BuildRequires: sed BuildRequires: unzip %if %{with bootstrap} BuildRequires: yarnpkg-berry @@ -53,7 +72,7 @@ Requires: libuv Requires: mimalloc Requires: (zlib-ng-compat or zlib) Requires: zstd -Obsoletes: bun-bin < 1.3.3 +Obsoletes: bun-bin <= 1.3.5 %description %summary. @@ -68,39 +87,106 @@ Documentation for Bun. %prep %autosetup -p1 -n %{name}-%{name}-v%{version} +%cargo_prep_online -#for dir in packages/bun-build-mdx-rs packages/bun-native-plugin-rs bench/ffi/src packages/bun-native-plugin-rs/bun-macro; do -#pushd $dir -%dnl %cargo_prep_online -#popd -#done +%if %{with webkit} +git clone -c advice.detachedHead=false --recurse-submodules %{?_smp_mflags} https://github.com/oven-sh/WebKit.git vendor/WebKit --depth 1 -b autobuild-$(grep -Eom1 [a-f0-9]{40} cmake/tools/SetupWebKit.cmake) +%endif %build -CXXFLAGS="-Wno-unused-result ${CXXFLAGS}" -%set_build_flags +#CXXFLAGS="-Wno-unused-result ${CXXFLAGS}" +#export CFLAGS="-Wno-unused-command-line-argument -I%{_includedir}/pthread.h" +#export CXXFLAGS="-Wno-unused-command-line-argument -Wno-unused-result -Wno-missing-braces -Wno-reorder-ctor -Wno-unused-variable -Wno-unused-function -Wno-logical-op-parentheses -Wno-overloaded-virtual -fno-c++-static-destructors -include %{_includedir}/c++/*/cstdint" -mkdir -p %{__cmake_builddir} -# Bun build must be bootstrapped by another build system or itself -# Bun also REQUIRES Clang, it uses flags GCC cannot support such as -glldb -BUN_HOME=%{rpmbuilddir}/.bun %{!?with_bootstrap:%{__bun}}%{?with_bootstrap:BUN_RUNTIME_TRANSPILER_CACHE_PATH=0 %{__yarn} dlx bun} \ - ./scripts/build.mjs -GNinja -B %{__cmake_builddir} \ - -DCMAKE_BUILD_TYPE=Release \ - -DUSE_STATIC_LIBATOMIC=OFF \ - -DENABLE_CCACHE=ON \ - -DENABLE_LTO=ON \ - -DUSE_STATIC_SQLITE=OFF \ +%if %{with bootstrap} +%set_node_build_flags +%endif + +# Force build Cargo config +export CARGO_HOME="%{_cargo_home}" + +%if %{defined llvm_major} +export LLVM_DIR=%{_libdir}/llvm%{?llvm_major}/%{_lib}/cmake +%endif + +%if %{with webkit} +pushd vendor/WebKit + +%cmake \ + -DCMAKE_BUILD_TYPE="Release" \ + -Wno-dev \ + -DPORT="JSCOnly" \ + -DENABLE_STATIC_JSC="ON" \ + -DALLOW_LINE_AND_COLUMN_NUMBER_IN_BUILTINS="ON" \ + -DUSE_THIN_ARCHIVES="OFF" \ + -DUSE_BUN_JSC_ADDITIONS="ON" \ + -DUSE_BUN_EVENT_LOOP="ON" \ + -DENABLE_FTL_JIT="ON" \ + -DALLOW_LINE_AND_COLUMN_NUMBER_IN_BUILTINS="ON" \ + -DJSEXPORT_PRIVATE="WTF_EXPORT_DECLARATION" \ + -DUSE_VISIBILITY_ATTRIBUTE="1" \ + -DENABLE_REMOTE_INSPECTOR="ON" \ + -DCMAKE_C_FLAGS="$CFLAGS" \ + -DCMAKE_CXX_FLAGS="$CXXFLAGS -fno-c++-static-destructors" \ + -DCMAKE_C_COMPILER="$CC" \ + -DCMAKE_CXX_COMPILER="$CXX" \ + -DCMAKE_LINKER="ld.lld%{?llvm_major:-%{llvm_major}}" \ + -DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS -fuse-ld=lld%{?llvm_major:-%{llvm_major}}" \ + -DBUILD_SHARED_LIBS:BOOL="OFF" +%cmake_build --target jsc + +rm %{__cmake_builddir}/JavaScriptCore/DerivedSources/inspector/InspectorProtocolObjects.h + +# Link system ICU libs +ln -s %{_libdir}/libicudata.so.77.1 %{__cmake_builddir}/lib/libicudata.a +ln -s %{_libdir}/libicui18n.so.77.1 %{__cmake_builddir}/lib/libicui18n.a +ln -s %{_libdir}/libicuuc.so.77.1 %{__cmake_builddir}/lib/libicuuc.a + +popd +%endif + +# Use system Zig if it is new enough +%if %["%{zig_version}" >= "0.15.2"] +rm -rf vendor/zig +mkdir -p vendor/zig +ln -sf /usr/lib/zig vendor/zig/lib +ln -sf /usr/bin/zig vendor/zig/zig +%else +%cmake \ + +%endif + +%{!?with_bootstrap:%{?with_self_build:%{__bun}}}%{?with_bootstrap:%{__yarn_dlx} bun} ./scripts/glob-sources.mjs + +%cmake \ + -DCMAKE_BUILD_TYPE="Release" \ + -DUSE_STATIC_LIBATOMIC="OFF" \ + -DENABLE_CCACHE="ON" \ + -DENABLE_LTO="ON" \ + -DUSE_STATIC_SQLITE="OFF" \ %ifnarch x86_64_v3 x86_64_v4 - -DENABLE_BASELINE=ON \ + -DENABLE_BASELINE="ON" \ %endif -DCMAKE_C_FLAGS="$CFLAGS" \ -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ - -DCMAKE_C_COMPILER=clang%{?llvm_major:-%{llvm-major}} \ - -DCMAKE_CXX_COMPILER=clang++%{?llvm_major:-%{llvm-major}} \ - -DLLD_PROGRAM="ld.lld%{?llvm_major:-%{llvm-major}}" \ -%if %{zig_version} >= 0.15.2 + -DCMAKE_C_COMPILER="$CC" \ + -DCMAKE_CXX_COMPILER="$CXX" \ + -DCMAKE_LINKER="ld.lld%{?llvm_major:-%{llvm_major}}" \ + -DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS -fuse-ld=lld%{?llvm_major:-%{llvm_major}}" \ + -DCMAKE_AR="/usr/bin/llvm-ar%{?llvm_major:-%{llvm_major}}" \ + -DLLD_PROGRAM="ld.lld%{?llvm_major:-%{llvm_major}}" \ + -DUSE_STATIC_SQLITE="OFF" \ + -DALWAYS_RUN \ +%if %["%{zig version}" >= "0.15.2"] -DZIG_PATH="/usr/bin/zig" \ %endif - -DBUILD_SHARED_LIBS:BOOL=OFF + -DBUILD_SHARED_LIBS:BOOL="OFF" \ +%if %{with webkit} + -DWEBKIT_LOCAL="ON" \ + -DWEBKIT_PATH="$PWD/vendor/WebKit/%{__cmake_builddir}" +%endif + +%cmake_build --target %{name} %install %cmake_install @@ -112,7 +198,7 @@ BUN_HOME=%{rpmbuilddir}/.bun %{!?with_bootstrap:%{__bun}}%{?with_bootstrap:BUN_R %license LICENSE %{_bindir}/bun %{_bindir}/bunx -%{_datadir}/metainfo/sh.oven.bun.metainfo.xml +%{_datadir}/metainfo/sh.oven.Bun.metainfo.xml %files doc %doc docs/* diff --git a/anda/devs/bun/sh.oven.bun.metainfo.xml b/anda/devs/bun/sh.oven.Bun.metainfo.xml similarity index 100% rename from anda/devs/bun/sh.oven.bun.metainfo.xml rename to anda/devs/bun/sh.oven.Bun.metainfo.xml diff --git a/anda/devs/bun/update.rhai b/anda/devs/bun/update.rhai index d710d93078..9121e119cf 100644 --- a/anda/devs/bun/update.rhai +++ b/anda/devs/bun/update.rhai @@ -1 +1,7 @@ +import anda/bump_extras.rhai as bump; + rpm.version(gh_rawfile("oven-sh/bun", "main", "LATEST")); + +if rpm.changed { + rpm.global("zig_version", bump::bodhi("zig", as_bodhi_ver(labels.branch))); +} diff --git a/test.rhai b/test.rhai new file mode 100644 index 0000000000..464c95b988 --- /dev/null +++ b/test.rhai @@ -0,0 +1 @@ +print(get(`https://codeberg.org/api/v1/repos/Limine/Limine/commits?stat=false&verification=false&files=false&limit=1`).json_arr()[0]);