You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

105 lines
3.3 KiB

##
## wasmer.spec -- OpenPKG RPM Package Specification
## Copyright (c) 2000-2022 OpenPKG Project <http://openpkg.org/>
##
## Permission to use, copy, modify, and distribute this software for
## any purpose with or without fee is hereby granted, provided that
## the above copyright notice and this permission notice appear in all
## copies.
##
## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
## SUCH DAMAGE.
##
# package version
%define V_opkg 1.0.0
%define V_dist 1.0.0
# package information
Name: wasmer
Summary: WebAssembly Runtime
URL: https://github.com/wasmerio/wasmer
Vendor: Wasmer Inc.
Packager: OpenPKG Project
Distribution: OpenPKG Community
Class: EVAL
Group: Web
License: MIT
Version: %{V_opkg}
Release: 20210106
# list of sources
Source0: https://github.com/wasmerio/wasmer/archive/%{V_dist}.tar.gz
# build information
BuildPreReq: OpenPKG, openpkg >= 20160101, rust, make
PreReq: OpenPKG, openpkg >= 20160101
%description
Wasmer is the leading WebAssembly Runtime supporting WASI and
Emscripten. It enables super lightweight containers based on
WebAssembly that can run anywhere: from Desktop to the Cloud and IoT
devices, and also embedded in any programming language.
%track
prog wasmer = {
version = %{V_dist}
url = https://github.com/wasmerio/wasmer/releases
regex = (\d+\.\d+\.\d+)\.tar\.gz
}
%prep
%setup -q -n wasmer-%{V_dist}
%build
# establish Rust/Cargo environment
HOME=`pwd`
# build Wasmer
%{l_make} %{l_mflags} build-wasmer
# build Wasmer C API
%{l_make} %{l_mflags} build-capi
# build WAPM
%{l_make} %{l_mflags} build-wapm
# package everything locally
%{l_make} %{l_mflags} package
# strip down binaries
strip package/bin/* >/dev/null 2>&1 || true
# replace wax(1) binary with a working one
( echo "#!/bin/sh"
echo "exec %{l_prefix}/bin/wapm execute \"\$@\""
) >package/bin/wax
chmod 755 package/bin/wax
%install
%{l_shtool} mkdir -f -p -m 755 \
$RPM_BUILD_ROOT%{l_prefix}/bin \
$RPM_BUILD_ROOT%{l_prefix}/include \
$RPM_BUILD_ROOT%{l_prefix}/lib
%{l_shtool} install -c -m 755 \
package/bin/* $RPM_BUILD_ROOT%{l_prefix}/bin/
%{l_shtool} install -c -m 644 \
package/include/* $RPM_BUILD_ROOT%{l_prefix}/include/
%{l_shtool} install -c -m 644 \
package/lib/* $RPM_BUILD_ROOT%{l_prefix}/lib/
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
%files -f files
%clean