%define libidl_version 0.8.10 %define glib2_version 2.18.2 Summary: A high-performance CORBA Object Request Broker Name: ORBit2 Version: 2.14.12 Release: 1 Source0: http://download.gnome.org/sources/ORBit2/2.14/%{name}-%{version}.tar.bz2 Source1: http://download.gnome.org/sources/ORBit2/2.14/%{name}-%{version}.md5sum Source2: orbit-config.h Group: System Environment/Daemons License: LGPLv2 and GPLv2 URL: http://www.gnome.org/projects/ORBit2 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: make BuildRequires: libIDL-devel >= %{libidl_version} BuildRequires: glib2-devel >= %{glib2_version} BuildRequires: pkg-config >= 0.14 Requires: libIDL >= %{libidl_version} Requires: glib2 >= %{glib2_version} %description ORBit is a high-performance CORBA (Common Object Request Broker Architecture) ORB (object request broker). It allows programs to send requests and receive replies from other programs, regardless of the locations of the two programs. CORBA is an architecture that enables communication between program objects, regardless of the programming language they're written in or the operating system they run on. You will need to install this package and ORBit-devel if you want to write programs that use CORBA technology. The library is available as 32-bit and 64-bit. %package devel Summary: Development libraries, header files and utilities for ORBit Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: indent Requires: libIDL-devel >= %{libidl_version} Requires: glib2-devel >= %{glib2_version} Requires: pkg-config %description devel ORBit is a high-performance CORBA (Common Object Request Broker Architecture) ORB (object request broker) with support for the C language. This package contains the header files, libraries and utilities necessary to write programs that use CORBA technology. If you want to write such programs, you'll also need to install the ORBIT package. If you are compiling a 32-bit program, no special compiler options are needed. If you are compiling a 64-bit program, you have to compile and link your application with "xlc -q64" or "gcc -maix64". %prep %setup -q %build # setup environment for 32-bit and 64-bit builds export AR="ar -X32_64" export NM="nm -X32_64" # first build the 64-bit version export CC="xlc -q64" ./configure \ --prefix=%{_prefix} \ --enable-shared --enable-static gmake %{?_smp_mflags} cp ./src/orb/.libs/libORBit-2.so.0 . cp ./src/services/imodule/.libs/libORBit-imodule-2.so.0 . cp ./src/services/name/.libs/libORBitCosNaming-2.so.0 . cp ./test/everything/.libs/Everything_module.so . cp ./src/services/name/libname-server-2.a . cp ./include/orbit/orbit-config.h orbit-config-ppc64.h gmake distclean # now build the 32-bit version export CC="xlc" ./configure \ --prefix=%{_prefix} \ --enable-shared --enable-static gmake %{?_smp_mflags} cp ./include/orbit/orbit-config.h orbit-config-ppc32.h # add the 64-bit shared objects to the shared library containing already the # 32-bit shared objects ${AR} -q ./src/orb/.libs/libORBit-2.a ./libORBit-2.so.0 %install [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} gmake DESTDIR=${RPM_BUILD_ROOT} install # setup environment for 32-bit and 64-bit builds export AR="ar -X32_64" # add the 64-bit shared objects to the shared library containing already the # 32-bit shared objects ${AR} -q ${RPM_BUILD_ROOT}%{_libdir}/libORBit-imodule-2.a ./libORBit-imodule-2.so.0 ${AR} -q ${RPM_BUILD_ROOT}%{_libdir}/libORBitCosNaming-2.a ./libORBitCosNaming-2.so.0 ${AR} -q ${RPM_BUILD_ROOT}%{_libdir}/orbit-2.0/Everything_module.a ./Everything_module.so ar -X64 -t ./libname-server-2.a > arlist ar -X64 -x ./libname-server-2.a for f in `cat arlist` ; do ${AR} -q ${RPM_BUILD_ROOT}%{_libdir}/libname-server-2.a $f done /usr/bin/strip ${RPM_BUILD_ROOT}%{_bindir}/* || : # fix multilib conflict caused by orbit-config.h cp orbit-config-ppc??.h $RPM_BUILD_ROOT%{_includedir}/orbit-2.0/orbit/ cp %{SOURCE2} $RPM_BUILD_ROOT%{_includedir}/orbit-2.0/orbit chmod 644 $RPM_BUILD_ROOT%{_includedir}/orbit-2.0/orbit/*.h %clean [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} %files %defattr(-,root,system,-) %doc AUTHORS COPYING README TODO %{_libdir}/libORBit*.a %dir %{_libdir}/orbit-2.0 %{_libdir}/orbit-2.0/*.a %files devel %defattr(-,root,system,-) %{_bindir}/* %{_includedir}/* %{_libdir}/libname-server-2.a %{_libdir}/*.la %{_libdir}/orbit-2.0/*.la %{_libdir}/pkgconfig/* %{_datadir}/aclocal/* %dir %{_datadir}/idl %{_datadir}/idl/* %{_datadir}/gtk-doc/html/* %changelog * Wed Apr 15 2008 Michael Perzl - 2.14.12-1 - first version for AIX V5.1 and higher