# Tests by default. No tests: rpmbuild -ba --define 'dotests 0' *.spec %{!?dotests: %global dotests 1} %define _libdir64 %{_prefix}/lib64 Name: jansson Version: 2.11 Release: 1 Summary: C library for encoding, decoding and manipulating JSON data Group: System Environment/Libraries BuildArch: ppc License: MIT URL: http://www.digip.org/jansson/ Source0: http://www.digip.org/jansson/releases/jansson-%{version}.tar.gz Source1: http://www.digip.org/jansson/releases/jansson-%{version}.tar.gz.asc # RPM 3.0.5 does not recognize or initialise %{buildroot} without following BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root Prefix: %{_prefix} BuildRequires: gcc >= 6.3.0 # Needed for building html documents BuildRequires: python-sphinx BuildRequires: python-markupsafe Requires : libgcc >= 6.3.0 %description Small library for parsing and writing JSON documents. %package devel Summary: Header files for jansson Group: Development/Libraries %description devel Header files for developing applications making use of jansson. %package devel-doc Summary: Development documentation for jansson Group: Development/Libraries BuildArch: noarch %description devel-doc Development documentation for jansson. %prep # %autosetup not recognized by RPM 3.0.5 %setup -q # Duplicate source for 32 & 64 bits rm -rf /tmp/%{name}-%{version}-32bit cp -pr . /tmp/%{name}-%{version}-32bit rm -fr * mv /tmp/%{name}-%{version}-32bit 32bit cp -pr 32bit 64bit %build # setup environment for 32-bit and 64-bit builds export AR="/usr/bin/ar -X32_64" export RM="/usr/bin/rm -f" export NM="/usr/bin/nm -X32_64" export LIBS=" -lm " export CFLAGS=" -fno-builtin -O2" # First build the 64-bit version cd 64bit export CC="gcc -maix64" export OBJECT_MODE=64 ./configure -v \ --prefix=%{_prefix} --disable-static \ --libdir=%{_libdir64} gmake %{?_smp_mflags} # Currently there are 4 test suites if [ "%{dotests}" == 1 ] then (gmake check || true) fi # Build the 32-bit version cd ../32bit export CC="gcc -D_LARGE_FILES" export OBJECT_MODE=32 export LDFLAGS=" -Wl,-bmaxdata:0x80000000" ./configure -v \ --prefix=%{_prefix} --disable-static \ --libdir=%{_libdir} gmake %{?_smp_mflags} gmake html # Currently there are 4 test suites if [ "%{dotests}" == 1 ] then (gmake check || true) fi # Archive 64 bit shared object in 32 bit shared library slibclean ${AR} -q src/.libs/libjansson.a ../64bit/src/.libs/libjansson.so.4 %install [ -d "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT export AR="/usr/bin/ar -X32_64" export RM="/usr/bin/rm -f" cd 64bit export OBJECT_MODE=64 gmake install DESTDIR="$RPM_BUILD_ROOT" cd ../32bit export OBJECT_MODE=32 gmake install DESTDIR="$RPM_BUILD_ROOT" %clean [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} %files %defattr(-,root,system) %doc 32bit/LICENSE 32bit/CHANGES %{_libdir}/libjansson.a %{_libdir64}/libjansson.a %files devel %defattr(-,root,system) %{_libdir}/pkgconfig/%{name}.pc %{_libdir64}/pkgconfig/%{name}.pc %{_includedir}/* %files devel-doc %defattr(-,root,system) %doc 32bit/doc/_build/html/* %changelog * Mon Apr 15 2019 Ayappan P - 2.11-1 - Update to latest version - 2.11-1 * Thu Oct 04 2018 Michael Wilson - 2.11-2 - Modify configure.ac script to avoid finding the GCC __atomic and __sync - builtin functions * Mon Sep 24 2018 Michael Wilson - 2.11-1 - Initial version 2.11