#
# Conditional build:
%bcond_without serializer # with raptor serializer. need to figure out proper BR
+%bcond_without sesame2 # with sesame2backend
+
+%define qtbrver 4.4.3
Summary: Soprano - Qt wrapper API to librdf
Summary(pl.UTF-8): Soprano - wrapper Qt do librdf
Name: soprano
-Version: 2.0.3
+Version: 2.2.1
Release: 1
-#Release: 0.%{_snap}.%{rel}
License: GPL v2
Group: X11/Applications
Source0: http://dl.sourceforge.net/soprano/%{name}-%{version}.tar.bz2
-# Source0-md5: 3f33799c6ebd03048621057d268fb62f
+# Source0-md5: 69688a71273e1e9389fc60e3085c695f
URL: http://sourceforge.net/projects/soprano
-BuildRequires: QtDBus-devel
-BuildRequires: QtNetwork-devel
-BuildRequires: QtTest-devel
-BuildRequires: autoconf
-BuildRequires: automake
+BuildRequires: QtCore-devel >= %{qtbrver}
+BuildRequires: QtDBus-devel >= %{qtbrver}
+BuildRequires: QtNetwork-devel >= %{qtbrver}
+BuildRequires: QtTest-devel >= %{qtbrver}
BuildRequires: clucene-core-devel >= 0.9.16a-2
-BuildRequires: cmake
-BuildRequires: libraptor-devel
-BuildRequires: qt4-build >= 4.3.3-3
-BuildRequires: qt4-qmake >= 4.3.3-3
+BuildRequires: cmake >= 2.6.2
+%{?with_sesame2:BuildRequires: libgcj-devel}
+%{?with_serializer:BuildRequires: libraptor-devel}
+BuildRequires: qt4-build >= %{qtbrver}
+BuildRequires: qt4-qmake >= %{qtbrver}
BuildRequires: rasqal-devel
BuildRequires: redland-devel >= 1.0.6
-BuildRequires: rpmbuild(macros) >= 1.293
+BuildRequires: rpmbuild(macros) >= 1.453
+BuildConflicts: java-sun
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
use different RDF storage implementations.
%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.
+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
%prep
%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} \
- -DCMAKE_VERBOSE_MAKEFILE=1 \
-DQT_QMAKE_EXECUTABLE=%{_bindir}/qmake-qt4 \
%if "%{_lib}" == "lib64"
-DLIB_SUFFIX=64 \
%endif
- ..
+ -DJAVA_INCLUDE_PATH=%{_libdir}/gcc/%{_target_platform}/%{cc_version}/include \
+ -DJAVA_INCLUDE_PATH2=%{_libdir}/gcc/%{_target_platform}/%{cc_version}/include \
+ -DJAVA_JVM_LIBRARY=%{_libdir}/gcj-%{cc_version}-9/libjvm.so \
+ ../
%{__make}
%defattr(644,root,root,755)
%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) %{_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}
%{_datadir}/soprano
-%dir %{_datadir}/dbus-1/interfaces
%{_datadir}/dbus-1/interfaces/org.soprano.Model.xml
%{_datadir}/dbus-1/interfaces/org.soprano.NodeIterator.xml
%{_datadir}/dbus-1/interfaces/org.soprano.QueryResultIterator.xml