# 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 qtbrver 4.4.0
+%define qtbrver 4.7.3
+%define snap svn1042011
Summary: Soprano - Qt wrapper API to librdf
Summary(pl.UTF-8): Soprano - wrapper Qt do librdf
Name: soprano
-Version: 2.0.98
-Release: 3
+Version: 2.8.0
+Release: 1
License: GPL v2
Group: X11/Applications
-Source0: http://dl.sourceforge.net/soprano/%{name}-%{version}.tar.bz2
-# Source0-md5: fcaf461dded797445264d809df3257b5
+Source0: http://downloads.sourceforge.net/soprano/%{name}-%{version}.tar.bz2
+# Source0-md5: 273c3403aeb6d8a43e78a4887f50a385
+#Source0: %{name}-%{version}-%{snap}.tar.gz
URL: http://sourceforge.net/projects/soprano
BuildRequires: QtCore-devel >= %{qtbrver}
BuildRequires: QtDBus-devel >= %{qtbrver}
+BuildRequires: QtGui-devel >= %{qtbrver}
BuildRequires: QtNetwork-devel >= %{qtbrver}
-BuildRequires: QtTest-devel >= %{qtbrver}
BuildRequires: clucene-core-devel >= 0.9.16a-2
-BuildRequires: cmake
-%if %{with sesame2}
-BuildRequires: libgcj-devel
-%endif
-%{?with_serializer:BuildRequires: libraptor-devel}
+BuildRequires: cmake >= 2.8.0
+%{?with_sesame2:BuildRequires: libgcj-devel}
+%{?with_serializer:BuildRequires: libraptor-devel >= 2.0.0}
+BuildRequires: pkgconfig
BuildRequires: qt4-build >= %{qtbrver}
BuildRequires: qt4-qmake >= %{qtbrver}
BuildRequires: rasqal-devel
-BuildRequires: redland-devel >= 1.0.6
-BuildRequires: rpmbuild(macros) >= 1.293
+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
%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
+#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
+#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 \
+ -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
- -DJAVA_INCLUDE_PATH=%{_libdir}/gcc/%{_target_platform}/%(%{__cc} -dumpversion)/include \
- -DJAVA_JVM_LIBRARY=%{_libdir}/gcj-%(%{__cc} -dumpversion)/libjvm.so \
- ..
+ ../
%{__make}
%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
-%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
%{_includedir}/soprano/*.h
%{_includedir}/Soprano
%{_pkgconfigdir}/soprano.pc
+%{_pkgconfigdir}/sopranoserver.pc
+%{_pkgconfigdir}/sopranoclient.pc
+%{_pkgconfigdir}/sopranoindex.pc