Unverified Commit 6be05001 authored by Kip's avatar Kip Committed by GitHub

Merge pull request #1011 from hmrodrigues/rpm

[WIP] Added RPM build
parents 19fe9aac 8be61cf2
# SPDX-FileCopyrightText: 2021 Hugo Rodrigues
#
# SPDX-License-Identifier: CC0-1.0
name: RPM Lint
on:
push:
branches:
- rpm
pull_request:
branches:
- rpm
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install depedencies
run: sudo apt-get -qq update && sudo apt-get -qq install --assume-yes --no-install-recommends rpmlint
- name: Lint
run: rpmlint SPECS/*.spec
BUILD/*
!BUILD/README.md
BUILDROOT/*
!BUILDROOT/README.md
RPMS/*
!RPMS/README.md
SOURCES/*
!SOURCES/README.md
SRPMS/*
!SRPMS/README.md
Directory where the build happens
Directory where files are installed before packaging
Final RPM directory
Where sources are downloaded
# SPDX-FileCopyrightText: 2021 Hugo Rodrigues
#
# SPDX-License-Identifier: Apache-2.0
%define github_owner pistacheio
%define github_repo pistache
Name: libpistache
Version: 0.0.3
Release: 1%{?dist}
Summary: A high-performance REST Toolkit written in C++
URL: http://pistache.io/
Source0: https://github.com/%{github_owner}/%{github_repo}/archive/%{version}/%{github_repo}-%{version}.tar.gz
BuildRequires: meson
BuildRequires: gcc-c++
BuildRequires: coreutils
# Checks for what distro we are building. It defaults to EL/Fedora
%if 0%{?suse_version}
License: Apache-2.0
BuildRequires: gtest
# SUSE doesn't have builddep
BuildRequires: rapidjson-devel
BuildRequires: libopenssl-devel
BuildRequires: libcurl-devel
%else
License: ASL 2.0
BuildRequires: gtest-devel
BuildRequires: pkgconfig(RapidJSON)
BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(libcurl)
%endif
Requires: openssl
%description
Pistache is a modern and elegant HTTP and REST framework for C++. It is entirely written in pure-C++17 and provides a clear and pleasant API.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
%description devel
Development files for %{name}.
%package examples
Summary: Programming examples for %{name}
Requires: %{name}-devel = %{version}-%{release}
BuildArch: noarch
%description examples
The %{name}-examples package contains example source files for %{name}.
%prep
%autosetup -n %{github_repo}-%{version}
%build
%meson -DPISTACHE_USE_SSL=true -DPISTACHE_BUILD_EXAMPLES=false -DPISTACHE_BUILD_TESTS=true -DPISTACHE_BUILD_DOCS=false
%meson_build
%install
%meson_install
install -Dm 644 examples/*cc -t $RPM_BUILD_ROOT%{_docdir}/%{name}/examples/
install -Dm 644 README.md -t $RPM_BUILD_ROOT%{_docdir}/%{name}/
install -Dm 644 LICENSE -t $RPM_BUILD_ROOT%{_docdir}/%{name}/
%check
%meson_test
%files
%{_libdir}/%{name}.so.*
%files devel
%license %{_docdir}/%{name}/LICENSE
%doc %{_docdir}/%{name}/README.md
%{_includedir}/pistache/
%{_libdir}/%{name}.so
%{_libdir}/pkgconfig/%{name}.pc
%files examples
%{_docdir}/%{name}/examples/*.cc
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%changelog
* Fri Oct 22 2021 Hugo Rodrigues <hugorodrigues@hugorodrigues.xyz>
- Initial RPM package
Directory where Source RPMs are stored
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment