From 8a3e559fe1e9e8ddff6217075b88b637bc7416cff9da8cbd7166b8e3e2f6acd7 Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Tue, 16 Jul 2024 09:08:44 +0000 Subject: [PATCH] - Add fmt11.patch to resolve FTBFS OBS-URL: https://build.opensuse.org/package/show/devel:languages:javascript/wasmedge?expand=0&rev=6 --- .gitattributes | 23 +++++++ .gitignore | 1 + fmt11.patch | 27 ++++++++ wasmedge-0.13.5-src.tar.gz | 3 + wasmedge.changes | 130 +++++++++++++++++++++++++++++++++++++ wasmedge.spec | 83 +++++++++++++++++++++++ 6 files changed, 267 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 fmt11.patch create mode 100644 wasmedge-0.13.5-src.tar.gz create mode 100644 wasmedge.changes create mode 100644 wasmedge.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/fmt11.patch b/fmt11.patch new file mode 100644 index 0000000..621e9b5 --- /dev/null +++ b/fmt11.patch @@ -0,0 +1,27 @@ +From 528377da02db9311fe8fc6aa082172d6095df4ff Mon Sep 17 00:00:00 2001 +From: Jan Engelhardt +Date: Tue, 16 Jul 2024 10:39:54 +0200 +Subject: [PATCH] build: resolve build failure with fmt-11 +References: https://github.com/WasmEdge/WasmEdge/pull/3565 + +lib/common/errinfo.cpp:165:25: error: "join" is not a member of "fmt" + 165 | fmt::join(Info.ExpParams, " , "sv), +--- + lib/common/errinfo.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/lib/common/errinfo.cpp b/lib/common/errinfo.cpp +index 188a1836..5a4df5d3 100644 +--- a/lib/common/errinfo.cpp ++++ b/lib/common/errinfo.cpp +@@ -1,6 +1,7 @@ + // SPDX-License-Identifier: Apache-2.0 + // SPDX-FileCopyrightText: 2019-2022 Second State INC + ++#include + #include "common/errinfo.h" + #include "common/errcode.h" + #include "common/hexstr.h" +-- +2.45.2 + diff --git a/wasmedge-0.13.5-src.tar.gz b/wasmedge-0.13.5-src.tar.gz new file mode 100644 index 0000000..4231d6a --- /dev/null +++ b/wasmedge-0.13.5-src.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95e066661c9fc00c2927e6ae79cb0d3f9c38e804834c07faf4ceb72c0c7ff09f +size 3573334 diff --git a/wasmedge.changes b/wasmedge.changes new file mode 100644 index 0000000..d0296fd --- /dev/null +++ b/wasmedge.changes @@ -0,0 +1,130 @@ +------------------------------------------------------------------- +Tue Jul 16 08:47:26 UTC 2024 - Jan Engelhardt + +- Add fmt11.patch to resolve FTBFS + +------------------------------------------------------------------- +Sun Nov 26 11:32:45 UTC 2023 - Dirk Müller + +- update to 0.13.5: + * [Component] share loading entry for component and module + (#2945) + * Initial support for the component model proposal. + * This PR allows WasmEdge to recognize the component and module + format. + * Provide options for enabling OpenBLAS, Metal, and cuBLAS. + * Bump llama.cpp to b1383 + * Build thirdparty/ggml only when the ggml backend is enabled. + * Enable the ggml plugin on the macOS platform. + * Introduce `AUTO` detection. Wasm application will no longer + need to specify the hardware spec (e.g., CPU or GPU). It will + auto-detect by the runtime. + * Unified the preload options with case-insensitive matching + * Introduce `metadata` for setting the ggml options. + * The following options are supported: + * `enable-log`: `true` to enable logging. (default: `false`) + * `stream-stdout`: `true` to print the inferred tokens in the + streaming mode to standard output. (default: `false`) + * `ctx-size`: Set the context size the same as the `--ctx-size` + parameter in llama.cpp. (default: `512`) + * `n-predict`: Set the number of tokens to predict, the same as + the `--n-predict` parameter in llama.cpp. (default: `512`) + * `n-gpu-layers`: Set the number of layers to store in VRAM, + the same as the `--n-gpu-layers` parameter in llama.cpp. + (default: `0`) + * `reverse-prompt`: Set the token pattern at which you want to + halt the generation. Similar to the `--reverse-prompt` + parameter in llama.cpp. (default: `""`) + * `batch-size`: Set the number of batch sizes for prompt + processing, the same as the `--batch-size` parameter in + llama.cpp. (default: `512`) + * Notice: Because of the limitation of the WASI-NN proposal, + there is no way to set the metadata during the loading + process. The current workaround will re-load the model when + `n_gpu_layers` is set to a non-zero value. + * Installer: Support WASI-NN ggml plugin on both macOS Intel + model (CPU only) and macOS Apple Silicon model. (#2882) + * [Java Bindings] provide platform-specific jni and jar for + Java bindings (#2980) + * [C API]: + * Provide getData API for FunctionInstance (#2937) + * Add the API to set WASI-NN preloads. (#2827) + * [Plugin]: + * [zlib]: + * initial support of the zlib plugin (#2562) + * With a simple building guide and basic working examples + * [MSVC] Support MSVC for building WasmEdge + * [AOT] Support LLVM 17 + * Fixed issues: + * [Installer]: Double quote the strings to prevent splitting in + env file (#2994) + * [AOT]: + * Validate AOT section header fields + * Add invariant attribute for memory and global pointer + * [C API]: + * Fix the wrong logic of getting types from exports. + * [Example] Fix get-string with the latest C++ internal getSpan + API. Fixes #2887 (#2929) + * [CI] install llvm@16 to fix macOS build (#2878) + * Misc: + * [Example] Update wit-bindgen version from 0.7.0 to 0.11.0 + (#2770) + * Thank all the contributors who made this release possible! + * dm4, hydai, Lîm Tsú-thuàn, Meenu Yadav, michael1017, proohit, + Saikat Dey, Shen-Ta Hsieh, Shreyas Atre, Wang Jikai, Wck- + iipi, YiYing He + * If you want to build from source, please use + WasmEdge-0.13.5-src.tar.gz instead of the zip or tarball + provided by GitHub directly. + * ### 0.13.4 (2023-09-05) + * Features: + * [C API] Provide API for registering the Pre- and Post- host + functions + * Pre host function will be triggered before calling every host + function + * Post host function will be triggered after calling every host + function + * [CI] Update llvm-windows from 13.0.3 to 16.0.6 + * WasmEdge supports multiple LLVM version, users can choose + whatever they want. + * This change is for CI. + * [CI] build alpine static libraries (#2699) + * This provides pre-built static libraries using musl-libc on + alpine. + * [Plugin] add wasmedge\_rustls\_plugin (#2762) + * [Plugin] implement opencvmini `rectangle` and `cvtColor` + (#2705) + * [Test] Migrating spec test from RapidJSON to SIMDJSON (#2659) + * [WASI Socket] AF\_UNIX Support (#2216) + * This is disable by default. + * How to enable this feature: + * CLI: Use `--allow-af-unix`. + * C API: Use `WasmEdge\_ConfigureSetAllowAFUNIX`. + * [WASI-NN] Add ggml backend for llama (#2763) + * Integrate llama.cpp as a new WASI-NN backend. + * [WASI-NN] Add load\_by\_name implementation into wasi-nn + plugin (#2742) + * Support named\_model feature. + * [WASI-NN] Added support for Tuple Type Output Tensors in + Pytorch Backend (#2564) + * Fixed issues: + * [AOT] Fix fallback case of `compileVectorExtAddPairwise`. + (#2736) + * [AOT] Fix the neontbl1 codegen error on macOS (#2738) + * [Runtime] fix memory.init oob. issue #2743 (#2758) + * [Runtime] fix table.init oob. issue #2744 (#2756) + * [System] Remove "inline" from Fault::emitFault (#2695) + (#2720) + * [Test] Use std::filesystem::u8path instead of a `const char*` + Path (#2706) + * [Utils] Installer: Fix checking of shell paths (#2752) + * [Utils] Installer: Formatting and Better source message + (#2721) + * [WASI] Avoid undefined function `FindHolderBase::reset` + * [WASI] itimerspec with 0 timeout will disarm timer, +1 to + workaround (#2730) + +------------------------------------------------------------------- +Mon Aug 21 12:40:52 UTC 2023 - Alexandre Vicenzi + +- Initial revision diff --git a/wasmedge.spec b/wasmedge.spec new file mode 100644 index 0000000..3c2367e --- /dev/null +++ b/wasmedge.spec @@ -0,0 +1,83 @@ +# +# spec file for package wasmedge +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +Name: wasmedge +Version: 0.13.5 +Release: 0 +Summary: High-performance and extensible WebAssembly runtime +License: Apache-2.0 AND CC0-1.0 +Group: Development/Tools/Other +URL: https://github.com/WasmEdge/WasmEdge +Source0: https://github.com/WasmEdge/WasmEdge/releases/download/%{version}/%{name}-%{version}-src.tar.gz +Patch1: fmt11.patch +BuildRequires: boost-devel +BuildRequires: cmake >= 3.15.0 +BuildRequires: fmt-devel +BuildRequires: gcc-c++ >= 9.4.0 +BuildRequires: spdlog-devel +# Supported platforms +ExclusiveArch: x86_64 aarch64 + +%description +WasmEdge is a lightweight, high-performance, and extensible WebAssembly runtime +for cloud native, edge, and decentralized applications. It powers serverless +apps, embedded functions, microservices, smart contracts, and IoT devices. + +%package -n libwasmedge0 +Summary: WasmEdge library +Group: System/Libraries + +%description -n libwasmedge0 +Library for WasmEdge. + +%package devel +Summary: Development files for WasmEdge +Group: Development/Libraries/C and C++ +Requires: libwasmedge0 = %{version} + +%description devel +This package contains the header files and libraries needed for +compiling programs using WasmEdge. + +%prep +%autosetup -n %{name} -p1 + +%build +%cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_SHARED_LIBS=OFF -DWASMEDGE_BUILD_TESTS=OFF -DWASMEDGE_BUILD_AOT_RUNTIME=OFF +%cmake_build + +%install +%cmake_install + +%post -n libwasmedge0 -p /sbin/ldconfig +%postun -n libwasmedge0 -p /sbin/ldconfig + +%files +%license LICENSE LICENSE.spdx +%doc README.md SECURITY.md +%{_bindir}/wasmedge + +%files -n libwasmedge0 +%{_libdir}/libwasmedge.so.0* + +%files devel +%dir %{_includedir}/%{name} +%{_includedir}/%{name}/* +%{_libdir}/libwasmedge.so + +%changelog