Blob Blame History Raw
%global lua_version 5.4
%global lua_libdir %{_libdir}/lua/%{lua_version}
%global lua_pkgdir %{_datadir}/lua/%{lua_version}

%global lua_compat_version 5.1
%global lua_compat_libdir %{_libdir}/lua/%{lua_compat_version}
%global lua_compat_pkgdir %{_datadir}/lua/%{lua_compat_version}
%global lua_compat_builddir %{_builddir}/compat-lua-%{name}-%{version}-%{release}

%global libmpack_version 1.0.5

BuildRequires:  libtool
BuildRequires:  lua >= %{lua_version}
BuildRequires:  lua-devel >= %{lua_version}

Name:           lua-mpack
Version:        1.0.9
Release:        1%{?dist}

License:        MIT
Summary:        Implementation of MessagePack for Lua
Url:            https://github.com/libmpack/libmpack-lua

Requires:       lua(abi) = %{lua_version}

Source0:        https://github.com/libmpack/libmpack-lua/archive/%{version}/libmpack-lua-%{version}.tar.gz
Source1:        https://github.com/libmpack/libmpack/archive/%{libmpack_version}/libmpack-%{libmpack_version}.tar.gz
Source2:        test_mpack.lua

%description
mpack is a small binary serialization/RPC library that implements
both the msgpack and msgpack-rpc specifications.

%package -n lua5.1-mpack
Summary:        Implementation of MessagePack for Lua %{lua_compat_version}
BuildRequires:  compat-lua >= %{lua_compat_version}
BuildRequires:  compat-lua-devel >= %{lua_compat_version}
BuildRequires: make
Requires:       lua(abi) = %{lua_compat_version}
Obsoletes:      compat-%{name} < %{version}
Provides:       compat-%{name} = %{version}

%description -n lua5.1-mpack
mpack is a small binary serialization/RPC library that implements
both the msgpack and msgpack-rpc specifications for Lua %{lua_compat_version}.

%prep
%autosetup -p1 -n libmpack-lua-%{version}

mkdir mpack-src
pushd mpack-src
tar xfz %{SOURCE1} --strip-components=1
popd

# hack to export flags
echo '#!/bin/sh' > ./configure
chmod +x ./configure

rm -rf %{lua_compat_builddir}
cp -a . %{lua_compat_builddir}

%build

%configure
make %{?_smp_mflags} \
     USE_SYSTEM_MPACK=no \
     USE_SYSTEM_LUA=yes \
     MPACK_LUA_VERSION=%{lua_version}.x \
     LUA_INCLUDE="$(pkg-config --cflags lua)"

pushd %{lua_compat_builddir}
%configure
make %{?_smp_mflags} \
     USE_SYSTEM_MPACK=no \
     USE_SYSTEM_LUA=yes \
     MPACK_LUA_VERSION=%{lua_compat_version}.x \
     LUA_INCLUDE="$(pkg-config --cflags lua-%{lua_compat_version})"
popd

%install
make \
     USE_SYSTEM_MPACK=no \
     USE_SYSTEM_LUA=yes \
     LUA_CMOD_INSTALLDIR=%{lua_libdir} \
     DESTDIR=%{buildroot} \
     install

pushd %{lua_compat_builddir}
make \
     USE_SYSTEM_MPACK=no \
     USE_SYSTEM_LUA=yes \
     LUA_CMOD_INSTALLDIR=%{lua_compat_libdir} \
     DESTDIR=%{buildroot} \
     install
popd

# This segfaults on i686 platforms
# https://github.com/libmpack/libmpack-lua/issues/14
%ifarch x86_64 ppc64lc aarch64 s390x
%check
lua %{SOURCE2}
%endif

%files
%doc README.md
%{lua_libdir}/mpack.so

%files -n lua5.1-mpack
%{lua_compat_libdir}/mpack.so

%changelog
* Tue Oct 05 2021 Andreas Schneider <asn@redhat.com> - 1.0.9-1
- Update to version 1.0.8

* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.8-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.8-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.8-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Tue Jun 30 2020 Miro HronĨok <mhroncok@redhat.com> - 1.0.8-4
- Rebuilt for Lua 5.4

* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.8-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.8-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Fri Jul 05 2019 Andreas Schneider <asn@redhat.com> - 1.0.8-1
- Update to version 1.0.8
- Changed name of compat-lua to lua-5.1

* Mon Mar 11 2019 Andreas Schneider <asn@redhat.com> - 1.0.7-6
- Fix build issue with assert()

* Tue Mar 05 2019 Aron Griffis <aron@scampersand.com> - 1.0.7-5
- Add compat 5.1 build for neovim

* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.7-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.7-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Fri Dec 08 2017 Andreas Schneider <asn@redhat.com> - 1.0.7-1
- Update to version 1.0.7
- Fix Building on 32bit platforms

* Wed Nov 08 2017 Andreas Schneider <asn@redhat.com> - 1.0.6-5
- Add a simple test for mpack

* Wed Nov 08 2017 Andreas Schneider <asn@redhat.com> - 1.0.6-4
- Update patch to compile with newer lua versions

* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.6-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild

* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Mon May 08 2017 Andreas Schneider <asn@redhat.com> - 1.0.6-1
- Update to 1.0.6

* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Wed Feb 01 2017 Andreas Schneider <asn@redhat.com> - 1.0.4-1
- resolves: #1417325 - Update to version 1.0.4

* Fri Nov 25 2016 Andreas Schneider <asn@redhat.com> - 1.0.3-5
- Add requirement on ABI version and do not package lua directory

* Thu Nov 24 2016 Andreas Schneider <asn@redhat.com> - 1.0.3-4
- Add the license correctly in the files section

* Tue Nov 15 2016 Andreas Schneider <asn@redhat.com> - 1.0.3-3
- Create a configure script so we export all flags

* Tue Nov 15 2016 Andreas Schneider <asn@redhat.com> - 1.0.3-2
- Removed Group:
- Removed BuildRoot:

* Mon Nov 14 2016 Andreas Schneider <asn@redhat.com> - 1.0.3-1
- Initial version 1.0.3