Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions dist/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# dist directory

Definitions for distribution tools.

## RPM spec

Currently, there's an `rpkg` spec in here. If you'd like to use it locally, install `rpkg` on your fedoraoid of choice, and run

```shell
cd path/to/vir-simd
rpkg local --spec dist/vir-simd.spec
```

The more useful thing that can be done with this is that you can create a
[COPR](https://copr.fedorainfracloud.org), add a package of source type "SCM",
point it to your fork of vir-simd, specify "dist" as subdirectory, and use it
to build packages automatically; there's also webhooks integration, if you want
the package to be automatically rebuild on source repo forge events (usually,
when pushing a new tag).
51 changes: 51 additions & 0 deletions dist/vir-simd.spec
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# header-only library
%global debug_package %{nil}
Version: {{{ git_repo_version }}}
%forgemeta
Name: vir-simd
Release: 1%{?dist}
Summary: Parallelism TS 2 extensions and simd fallback implementation

License: LGPL-3.0+
URL: https://github.com/mattkretz/vir-simd/
VCS: {{{ git_repo_vcs }}}
Source: {{{ git_repo_pack }}}
BuildRequires: make
BuildRequires: gcc-c++


%description
vir-simd aims to provide a fallback std::experimental::simd (Parallelism TS 2)
implementation with additional features. Not every user can rely on GCC 11+ and
its standard library to be present on all target systems. Therefore, the header
vir/simd.h provides a fallback implementation of the TS specification that only
implements the scalar and fixed_size<N> ABI tags. Thus, your code can still
compile and run correctly, even if it is missing the performance gains a proper
implementation provides.

%package devel
Summary: Development files for %{name}
%description devel
The %{name}-devel package contains development files for %{name}.

%prep
{{{ git_repo_setup_macro }}}

%build

%install
%make_install includedir=%{buildroot}%{_includedir}


%check
# Currently fails upstream on Linux. Not worth chasing here.
#make testsuite-O2

%files devel
%license LICENSE
%{_includedir}/vir/*.h


%changelog

{{{ git_repo_changelog }}}