-#
-# TODO:
-# - pl desc
-#
+# Conditional build:
+%bcond_without serializer # with raptor serializer. need to figure out proper BR
+%bcond_without sesame2 # with sesame2backend
+%bcond_without virtuoso # with virtuosobackend
-%define _snap 20070602
+%define qtbrver 4.7.3
+%define snap svn1042011
-Summary: Soprano - Qt wrapper API to librdf.
-Summary(pl.UTF-8): Soprano - wrapper Qt do librdf.
+%ifarch %{ix86}
+# current virtuoso (7.1.0) works only on 64bit archs
+%unglobal with_virtuoso
+%endif
+
+Summary: Soprano - Qt wrapper API to librdf
+Summary(pl.UTF-8): Soprano - wrapper Qt do librdf
Name: soprano
-Version: 0.9.0
-Release: 0.%{_snap}.1
-License: GPLv2
+Version: 2.9.4
+Release: 2
+License: GPL v2
Group: X11/Applications
-Source0: %{name}-%{_snap}.tar.bz2
-# Source0-md5: 8785c5166b4c36bba29eb943c558c51d
+Source0: http://downloads.sourceforge.net/soprano/%{name}-%{version}.tar.bz2
+# Source0-md5: 91413e5783efeee0beb747ea4c5c9ef0
+#Source0: %{name}-%{version}-%{snap}.tar.gz
URL: http://sourceforge.net/projects/soprano
-BuildRequires: autoconf
-BuildRequires: automake
-BuildRequires: cmake
-BuildRequires: qt4-build
-BuildRequires: qt4-qmake
-BuildRequires: redland-devel
-BuildRequires: rpmbuild(macros) >= 1.129
+BuildRequires: QtCore-devel >= %{qtbrver}
+BuildRequires: QtDBus-devel >= %{qtbrver}
+BuildRequires: QtGui-devel >= %{qtbrver}
+BuildRequires: QtNetwork-devel >= %{qtbrver}
+BuildRequires: clucene-core-devel >= 0.9.16a-2
+BuildRequires: cmake >= 2.8.0
+BuildRequires: doxygen
+%{?with_sesame2:BuildRequires: libgcj-devel}
+%{?with_serializer:BuildRequires: libraptor2-devel >= 2.0.0}
+BuildRequires: pkgconfig
+BuildRequires: qt4-build >= %{qtbrver}
+BuildRequires: qt4-qmake >= %{qtbrver}
+BuildRequires: rasqal-devel
+BuildRequires: redland-devel >= 1.0.14
+BuildRequires: rpmbuild(macros) >= 1.600
+BuildRequires: xorg-lib-libX11-devel
+BuildRequires: xorg-lib-libXext-devel
+%if %{with virtuoso}
+BuildRequires: libiodbc-devel
+Requires: virtuoso >= 6.1.0
+%endif
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
-Soprano (formally known as QRDF) is a library which provides a QT wrapper
-API to different RDF storage solutions. It features named graphs (contexts)
-and has a modular plug-in structure which allows to use different RDF
-storage implementations.
+Soprano (formally known as QRDF) is a library which provides a Qt
+wrapper API to different RDF storage solutions. It features named
+graphs (contexts) and has a modular plug-in structure which allows to
+use different RDF storage implementations.
-#%description -l pl.UTF-8
+%description -l pl.UTF-8
+Soprano (wcześniej znane jako QRDF) to biblioteka udostępniająca API
+wrappera Qt do różnych rozwiązań przechowywania danych RDF. Obsługuje
+nazwane grafy (konteksty) i ma strukturę modularnych wtyczek, co
+pozwala na używanie różnych implementacji przechowywania danych RDF.
%package devel
Summary: Header files for soprano
Pliki nagłówkowe dla soprano.
%prep
-%setup -q -n %{name}
+%setup -q
+# Sesame2 backend doesn't really use the new JNI-1.6 feature -> GetObjectRefType.
+#sed -i 's:JNI_VERSION_1_6:JNI_VERSION_1_4:g' CMakeLists.txt
+# cleanup.
+#sed -i 's:${JAVA_INCLUDE_PATH2}::' backends/sesame2/CMakeLists.txt
%build
install -d build
cd build
+# add this to get verbose output
+# -DCMAKE_VERBOSE_MAKEFILE=1
%cmake \
- -DCMAKE_INSTALL_PREFIX=%{_prefix} \
- -DQT_QMAKE_EXECUTABLE=%{_bindir}/qt4-qmake \
-%if "%{_lib}" == "lib64"
- -DLIB_SUFFIX=64 \
+ -DJAVA_INCLUDE_PATH=%{_libdir}/gcc/%{_target_platform}/%{cc_version}/include \
+ -DJAVA_INCLUDE_PATH2=%{_libdir}/gcc/%{_target_platform}/%{cc_version}/include \
+%if "%{pld_release}" == "ti"
+ -DJAVA_JVM_LIBRARY=%{_libdir}/gcj-%{cc_version}-11/libjvm.so \
+%else
+ -DJAVA_JVM_LIBRARY=$(ls -1 %{_libdir}/gcj-%{cc_version}-*/libjvm.so | head -n 1) \
%endif
../
%install
rm -rf $RPM_BUILD_ROOT
-cd build
-%{__make} install \
+
+%{__make} -C build install \
DESTDIR=$RPM_BUILD_ROOT
%clean
%files
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/*.so*
+%attr(755,root,root) %{_bindir}/sopranocmd
+%attr(755,root,root) %{_bindir}/sopranod
+%attr(755,root,root) %{_bindir}/onto2vocabularyclass
+%attr(755,root,root) %{_libdir}/libsoprano.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsoprano.so.4
+%attr(755,root,root) %{_libdir}/libsopranoclient.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsopranoclient.so.1
+%attr(755,root,root) %{_libdir}/libsopranoserver.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsopranoserver.so.1
+%attr(755,root,root) %{_libdir}/libsopranoindex.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libsopranoindex.so.1
%dir %{_libdir}/soprano
-%attr(755,root,root) %{_libdir}/soprano/*.so
+%attr(755,root,root) %{_libdir}/soprano/libsoprano_redlandbackend.so
+%attr(755,root,root) %{_libdir}/soprano/libsoprano_nquadparser.so
+%attr(755,root,root) %{_libdir}/soprano/libsoprano_nquadserializer.so
+%attr(755,root,root) %{_libdir}/soprano/libsoprano_raptorparser.so
+%{?with_sesame2:%attr(755,root,root) %{_libdir}/soprano/libsoprano_sesame2backend.so}
+%{?with_serializer:%attr(755,root,root) %{_libdir}/soprano/libsoprano_raptorserializer.so}
+%{?with_virtuoso:%attr(755,root,root) %{_libdir}/soprano/libsoprano_virtuosobackend.so}
+%{_datadir}/soprano
+%{_datadir}/dbus-1/interfaces/org.soprano.Model.xml
+%{_datadir}/dbus-1/interfaces/org.soprano.NodeIterator.xml
+%{_datadir}/dbus-1/interfaces/org.soprano.QueryResultIterator.xml
+%{_datadir}/dbus-1/interfaces/org.soprano.Server.xml
+%{_datadir}/dbus-1/interfaces/org.soprano.StatementIterator.xml
%files devel
%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libsoprano.so
+%attr(755,root,root) %{_libdir}/libsopranoserver.so
+%attr(755,root,root) %{_libdir}/libsopranoclient.so
+%attr(755,root,root) %{_libdir}/libsopranoindex.so
%dir %{_includedir}/soprano
%{_includedir}/soprano/*.h
+%{_includedir}/Soprano
+%{_pkgconfigdir}/soprano.pc
+%{_pkgconfigdir}/sopranoserver.pc
+%{_pkgconfigdir}/sopranoclient.pc
+%{_pkgconfigdir}/sopranoindex.pc