Browse Source

initial package creation

Signed-off-by: Toshaan Bharvani <toshaan@powerel.org>
master
Toshaan Bharvani 1 week ago
commit
65f590561d
  1. 23
      SOURCES/configure.patch
  2. 269
      SPECS/ffcall.spec

23
SOURCES/configure.patch

@ -0,0 +1,23 @@
diff -Nrup a/configure b/configure
--- a/configure 2021-06-06 12:39:23.000000000 -0600
+++ b/configure 2021-06-11 11:36:25.646094447 -0600
@@ -20843,7 +20843,7 @@ fi
mprotect_prog="$mprotect_prog"'
char* area = (char*) malloc(6*pagesize);
- char* fault_address = area + pagesize*7/2;
+ volatile char* fault_address = area + pagesize*7/2;
'
if test -z "$no_mprotect"; then
if test "$cross_compiling" = yes
@@ -21675,8 +21675,8 @@ else $as_nop
{
unsigned int pagesize = getpagesize ();
int fd;
- char *pw;
- char *px;
+ volatile char *pw;
+ volatile char *px;
fd = open ("$filename", O_CREAT | O_RDWR | O_TRUNC, 0700);
if (fd < 0)
return 1;

269
SPECS/ffcall.spec

@ -0,0 +1,269 @@
## START: Set by rpmautospec
## (rpmautospec version 0.7.1)
## RPMAUTOSPEC: autorelease, autochangelog
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
release_number = 1;
base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
print(release_number + base_release_number - 1);
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
## END: Set by rpmautospec

Name: ffcall
Version: 2.5
Release: %autorelease
Summary: Libraries for foreign function call interfaces

License: GPL-2.0-or-later
URL: https://www.gnu.org/software/libffcall/
VCS: git:https://git.savannah.gnu.org/git/libffcall.git
Source: https://ftp.gnu.org/gnu/libffcall/lib%{name}-%{version}.tar.gz
Patch: configure.patch

BuildRequires: gcc
BuildRequires: gnulib-devel
BuildRequires: make

%description
This is a collection of four libraries which can be used to build
foreign function call interfaces in embedded interpreters. The four
packages are:
- avcall: calling C functions with variable arguments
- vacall: C functions accepting variable argument prototypes
- trampoline: closures as first-class C functions
- callback: closures with variable arguments as first-class C functions
(a reentrant combination of vacall and trampoline)

%package devel
Summary: Files needed to develop programs with %{name}
# The project as a whole is GPL-2.0-or-later.
# The man pages and HTML documentation are GPL-2.0-or-later OR
# GFDL-1.2-no-invariants-or-later.
License: GPL-2.0-or-later AND (GPL-2.0-or-later OR GFDL-1.2-no-invariants-or-later)
Requires: %{name}%{?_isa} = %{version}-%{release}

%description devel
Files needed to develop programs with %{name}.

%package static
Summary: Static libraries for foreign function call interfaces
Requires: %{name}-devel%{?_isa} = %{version}-%{release}

%description static
Static libraries for foreign function call interfaces.

%prep
%autosetup -n lib%{name}-%{version} -p1

%build
%configure

# Build the actual library
make # %{?_smp_mflags}

%install
mkdir -p $RPM_BUILD_ROOT%{_libdir}
mkdir -p $RPM_BUILD_ROOT%{_mandir}
%make_install
rm -fr $RPM_BUILD_ROOT%{_datadir}/html
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la

# Fix permissions
chmod a+x $RPM_BUILD_ROOT%{_libdir}/lib*.so.*

# Fix man pages with overly generic names (bz 800360)
pushd $RPM_BUILD_ROOT%{_mandir}/man3
for page in *; do
mv $page %{name}-$page
done
popd

%files
%license COPYING
%doc README NEWS
%{_libdir}/libavcall.so.1*
%{_libdir}/libcallback.so.1*
%{_libdir}/libffcall.so.0*
%{_libdir}/libtrampoline.so.1*

%files devel
%doc avcall/avcall.html
%doc callback/callback.html
%doc callback/trampoline_r/trampoline_r.html
%doc trampoline/trampoline.html
%doc vacall/vacall.html
%{_includedir}/avcall.h
%{_includedir}/callback.h
%{_includedir}/ffcall*.h
%{_includedir}/trampoline.h
%{_includedir}/vacall*.h
%{_libdir}/libavcall.so
%{_libdir}/libcallback.so
%{_libdir}/libffcall.so
%{_libdir}/libtrampoline.so
%{_mandir}/man3/ffcall*

%files static
%{_libdir}/*.a

%changelog
## START: Generated by rpmautospec
* Tue Sep 03 2024 Jerry James <loganjerry@gmail.com> - 2.5-1
- Version 2.5
- Correct devel package license
- Stop shipping useless RPM macro file

* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.4-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild

* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.4-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.4-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.4-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild

* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.4-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild

* Tue Aug 16 2022 Jerry James <loganjerry@gmail.com> - 2.4-4
- Convert License tags to SPDX

* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.4-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild

* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild

* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

* Thu Jun 17 2021 Jerry James <loganjerry@gmail.com> - 2.4-1
- Version 2.4

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

* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Fri Jan 17 2020 Jeff Law <law@redhat.com> - 2.2-2
- Fix autoconf generated configure tests that are compromised
by LTO.

* Mon Aug 26 2019 Jerry James <loganjerry@gmail.com> - 2.2-1
- New upstream release

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

* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

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

* Mon Feb 19 2018 Jerry James <loganjerry@gmail.com> - 2.1-1
- New upstream release
- Drop ExclusiveArch; all Fedora arches supported

* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Tue Sep 12 2017 Jerry James <loganjerry@gmail.com> - 2.0-1
- New upstream release
- Make -devel and -static subpackages

* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.13-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild

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

* Mon Jul 3 2017 Jerry James <loganjerry@gmail.com> - 1.13-3
- Update to the final 1.13 release
- Drop patches and workarounds for problems fixed upstream

* Fri Feb 24 2017 Jerry James <loganjerry@gmail.com> - 1.13-2
- Fix missing symbols in the i386 build

* Fri Feb 24 2017 Jerry James <loganjerry@gmail.com> - 1.13-1
- New upstream release

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

* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.12-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Tue Sep 29 2015 Jerry James <loganjerry@gmail.com> - 1.12-1
- New upstream release

* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.10-18.20120424cvs
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Fri Feb 13 2015 Jerry James <loganjerry@gmail.com> - 1.10-17.20120424cvs
- Use license macro

* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.10-16.20120424cvs
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.10-15.20120424cvs
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Mon Feb 3 2014 Jerry James <loganjerry@gmail.com> - 1.10-14.20120424cvs
- Update location of rpm macro file for rpm >= 4.11

* Fri Sep 6 2013 Jerry James <loganjerry@gmail.com> - 1.10-13.20120424cvs
- Update -arm patch to really use the EABI and hopefully fix clisp

* Wed Sep 4 2013 Jerry James <loganjerry@gmail.com> - 1.10-12.20120424cvs
- Add -arm patch to fix clisp build failure

* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.10-11.20120424cvs
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Wed Mar 27 2013 Jerry James <loganjerry@gmail.com> - 1.10-10.20120424cvs
- Update to CVS 20120424
- List all architectures supported by this package (bz 925335)
- Rename man pages to avoid conflicts (bz 800360)
- Add Provides: ffcall-static

* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.10-9.20100903cvs
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.10-8.20100903cvs
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Tue Jan 10 2012 Jerry James <loganjerry@gmail.com> - 1.10-7.20100903cvs
- Clean out prebuilt object files
- Add trampoline patch to force use of mmap() to get executable memory

* Mon Jan 9 2012 Jerry James <loganjerry@gmail.com> - 1.10-6.20100903cvs
- Update to CVS 20100903
- Minor spec file cleanups

* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.10-5.20080704cvs.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.10-4.20080704cvs.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.10-3.20080704cvs.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Wed Dec 10 2008 Jochen Schmitt <Jochen herr-schmitt de> - 1.10-2.20080704cvs.1
- Fix -FPIC issue (BZ #475112)

* Fri Jul 4 2008 Gerard Milmeister <gemi@bluewin.ch> - 1.10-2.20080704cvs
- update to cvs 20080704
- support for ppc64

* Mon Feb 25 2008 Gerard Milmeister <gemi@bluewin.ch> - 1.10-1
- first Fedora release

## END: Generated by rpmautospec
Loading…
Cancel
Save