%define _libdir64 %{_prefix}/lib64 Summary: Library for asynchronous I/O readiness notification Name: ivykis Version: 0.42.2 Release: 1 License: LGPLv2+ URL: http://libivykis.sourceforge.net/ Group: System Environment/Libraries Source0: http://downloads.sourceforge.net/project/libivykis/%{version}/%{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: gcc >= 4.5.4-1 BuildRequires: automake, autoconf %description ivykis is a library for asynchronous I/O readiness notification. It is a thin, portable wrapper around OS-provided mechanisms such as epoll_create(2), kqueue(2), poll(2), poll(7d) (/dev/poll), port_create(3C) and select(2). ivykis was mainly designed for building high-performance network applications, but can be used in any event-driven application that uses poll(2)able file descriptors as its event sources. %package devel Summary: Development files for the ivykis package Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: pkg-config %description devel ivykis is a library for asynchronous I/O readiness notification. This package contains files needed to develop applications using ivykis. %prep %setup -q mkdir ../32bit mv * ../32bit mv ../32bit . mkdir 64bit cd 32bit && tar cf - . | (cd ../64bit ; tar xpf -) %build export CONFIG_SHELL=/usr/bin/ksh export CONFIG_ENV_ARGS=/usr/bin/ksh export CFLAGS="-DSYSV -D_AIX -D_AIX32 -D_AIX41 -D_AIX43 -D_AIX51 -D_ALL_SOURCE -DFUNCPROTO=15 -O -I/opt/freeware/include" cd 64bit # first build the 64-bit version export OBJECT_MODE=64 export CC="gcc -maix64 -D_LARGE_FILES" export LDFLAGS="-L/opt/freeware/lib64 -L/opt/freeware/lib -Wl,-blibpath:/opt/freeware/lib64:/opt/freeware/lib:/usr/lib:/lib -Wl,-bmaxdata:0x80000000" ./configure \ --prefix=%{_prefix} \ --libdir=%{_libdir64} \ --mandir=%{_mandir} \ --enable-shared --disable-static make %{?_smp_mflags} cd ../32bit # now build the 32-bit version export OBJECT_MODE=32 export CC="gcc -maix32 -D_LARGE_FILES" export LDFLAGS="-L/opt/freeware/lib -Wl,-blibpath:/opt/freeware/lib:/usr/lib:/lib -Wl,-bmaxdata:0x80000000" ./configure \ --prefix=%{_prefix} \ --mandir=%{_mandir} \ --enable-shared --disable-static make %{?_smp_mflags} %install [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} cd 64bit export OBJECT_MODE=64 make DESTDIR=${RPM_BUILD_ROOT} install cd ../32bit export OBJECT_MODE=32 make DESTDIR=${RPM_BUILD_ROOT} install ( cd ${RPM_BUILD_ROOT}%{_libdir64} for f in *.a ; do /usr/bin/ar -X64 -x ${f} done cd ${RPM_BUILD_ROOT}%{_libdir} for f in *.a ; do /usr/bin/ar -X32 -x ${f} done ) # add the 64-bit shared objects to the shared libraries containing already the # 32-bit shared objects /usr/bin/ar -X64 -q ${RPM_BUILD_ROOT}%{_libdir}/lib%{name}.a ${RPM_BUILD_ROOT}%{_libdir64}/lib%{name}.so* ( cd ${RPM_BUILD_ROOT} for dir in include lib lib64 do mkdir -p usr/${dir} cd usr/${dir} ln -sf ../..%{_prefix}/${dir}/* . cd - done ) %clean [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} %files %defattr(-,root,system,-) %doc 32bit/AUTHORS 32bit/COPYING %{_libdir}/*.a %{_libdir}/*.so* %{_libdir64}/*.so* /usr/lib/*.a /usr/lib/*.so* /usr/lib64/*.so* %files devel %defattr(-,root,system,-) %{_includedir}/iv* %{_libdir}/*.la %{_libdir64}/*.la %{_libdir}/pkgconfig/*.pc %{_libdir64}/pkgconfig/*.pc %{_mandir}/man3/* /usr/include/iv* /usr/lib/*.la /usr/lib64/*.la %changelog * Thu Mar 21 2019 Michael Perzl - 0.42.2-1 - updated to version 0.42.2 * Thu Mar 21 2019 Michael Perzl - 0.42.1-1 - updated to version 0.42.1 * Thu Mar 21 2019 Michael Perzl - 0.42-1 - updated to version 0.42 * Thu Mar 21 2019 Michael Perzl - 0.41-1 - updated to version 0.41 * Thu Mar 21 2019 Michael Perzl - 0.40-1 - updated to version 0.40 * Sun Feb 17 2013 Michael Perzl - 0.39-1 - updated to version 0.39 * Wed Jan 16 2013 Michael Perzl - 0.38-1 - updated to version 0.38 * Thu Dec 20 2012 Michael Perzl - 0.37-1 - updated to version 0.37 * Mon Aug 06 2012 Michael Perzl - 0.32-1 - first version for AIX V5.1 and higher