diff --git a/soprano-2.9.4-gcc6.patch b/soprano-2.9.4-gcc6.patch new file mode 100644 index 0000000000000000000000000000000000000000..284e184cabfc9d58264f89b062568cd4c3b97a7e --- /dev/null +++ b/soprano-2.9.4-gcc6.patch @@ -0,0 +1,53 @@ +diff -up soprano-2.9.4/soprano/pluginmanager.cpp.gcc6 soprano-2.9.4/soprano/pluginmanager.cpp +--- soprano-2.9.4/soprano/pluginmanager.cpp.gcc6 2013-10-09 12:22:28.000000000 -0500 ++++ soprano-2.9.4/soprano/pluginmanager.cpp 2016-02-12 16:29:59.575869135 -0600 +@@ -43,7 +43,7 @@ namespace { + fileSearchPaths << file.fileName().section( '/', 0, -2 ); + #ifndef Q_OS_WIN + // the lib folder in the same prefix +- fileSearchPaths << file.fileName().section( "/", 0, -5, QString::SectionIncludeTrailingSep ) + QLatin1String( "lib"SOPRANO_LIB_SUFFIX ); ++ fileSearchPaths << file.fileName().section( "/", 0, -5, QString::SectionIncludeTrailingSep ) + QLatin1String( "lib" SOPRANO_LIB_SUFFIX ); + #endif + return Soprano::findLibraryPath( file.library(), fileSearchPaths, QStringList() << QLatin1String( "soprano" ) ); + } +diff -up soprano-2.9.4/soprano/sopranodirs.cpp.gcc6 soprano-2.9.4/soprano/sopranodirs.cpp +--- soprano-2.9.4/soprano/sopranodirs.cpp.gcc6 2013-10-09 12:22:28.000000000 -0500 ++++ soprano-2.9.4/soprano/sopranodirs.cpp 2016-02-12 16:31:06.295197091 -0600 +@@ -124,14 +124,14 @@ QStringList Soprano::envDirList( const c + QStringList Soprano::libDirs() + { + QStringList paths = QCoreApplication::libraryPaths(); +- paths << QLatin1String( SOPRANO_PREFIX"/lib"SOPRANO_LIB_SUFFIX ); ++ paths << QLatin1String( SOPRANO_PREFIX "/lib" SOPRANO_LIB_SUFFIX ); + #ifdef Q_OS_WIN +- paths << QLatin1String( SOPRANO_PREFIX"/bin" ); ++ paths << QLatin1String( SOPRANO_PREFIX "/bin" ); + paths << getWinPrefix() + QLatin1String( "/bin" ); +- paths << getWinPrefix() + QLatin1String( "/lib"SOPRANO_LIB_SUFFIX ); ++ paths << getWinPrefix() + QLatin1String( "/lib" SOPRANO_LIB_SUFFIX ); + #else +- paths << QLatin1String( "/usr/lib"SOPRANO_LIB_SUFFIX ); +- paths << QLatin1String( "/usr/local/lib"SOPRANO_LIB_SUFFIX ); ++ paths << QLatin1String( "/usr/lib" SOPRANO_LIB_SUFFIX ); ++ paths << QLatin1String( "/usr/local/lib" SOPRANO_LIB_SUFFIX ); + paths += Soprano::envDirList( "LD_LIBRARY_PATH" ); + #endif + return paths; +@@ -141,7 +141,7 @@ QStringList Soprano::libDirs() + QStringList Soprano::dataDirs() + { + QStringList paths; +- paths << QLatin1String( SOPRANO_PREFIX"/share" ) ++ paths << QLatin1String( SOPRANO_PREFIX "/share" ) + #ifdef Q_OS_WIN + << getWinPrefix() + QLatin1String( "/share" ) + #endif +@@ -154,7 +154,7 @@ QStringList Soprano::dataDirs() + QStringList Soprano::exeDirs() + { + QStringList paths; +- paths << QLatin1String( SOPRANO_PREFIX"/bin" ) ++ paths << QLatin1String( SOPRANO_PREFIX "/bin" ) + #ifdef Q_OS_WIN + << getWinPrefix() + QLatin1String( "/bin" ) + #endif diff --git a/soprano-2.9.4.tar.bz2 b/soprano-2.9.4.tar.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..38f4507faf7d449808ec8d54cecaa11f5155fda7 Binary files /dev/null and b/soprano-2.9.4.tar.bz2 differ diff --git a/soprano.spec b/soprano.spec new file mode 100644 index 0000000000000000000000000000000000000000..7288bd0a4c4c737892284526ecee98601df7ed6b --- /dev/null +++ b/soprano.spec @@ -0,0 +1,191 @@ +# undef or set to 0 to disable items for a faster build +%global apidocs 1 +# upstream says tests busted, maybe to be fixed in some future point release +%global tests 1 + +Summary: Qt wrapper API to different RDF storage solutions +Name: soprano +Version: 2.9.4 +Release: 1 + +License: LGPLv2+ +URL: https://quickgit.kde.org/?p=soprano.git +#URL: http://sourceforge.net/projects/soprano + +%if 0%{?snap:1} +# git clone git://anongit.kde.org/soprano ; cd soprano +# git archive --prefix=soprano-%{version}/ master | bzip2 > soprano-%{version}-%{snap}.tar.bz2 +Source0: soprano-%{version}-%{snap}.tar.bz2 +%else +Source0: http://downloads.sf.net/soprano/soprano-%{version}.tar.bz2 +%endif + +## upstreamable patches +Patch1: soprano-2.9.4-gcc6.patch + +## upstream patches + +BuildRequires: clucene-core-devel >= 0.9.20-2 +BuildRequires: cmake +BuildRequires: kde-filesystem +BuildRequires: pkgconfig +BuildRequires: pkgconfig(raptor2) +BuildRequires: pkgconfig(rasqal) >= 0.9.22 +BuildRequires: pkgconfig(redland) +BuildRequires: pkgconfig(QtDBus) pkgconfig(QtNetwork) pkgconfig(QtXml) + +%if 0%{?apidocs} +BuildRequires: doxygen +BuildRequires: graphviz +BuildRequires: qt4-doc +%endif + +%{?_qt4_version:Requires: qt4%{?_isa} >= %{_qt4_version}} +## If/When backends are packaged separately +#Requires: soprano-backend +## otherwise, +Provides: soprano-backend = %{version}-%{release} +Provides: soprano-backend-redland = %{version}-%{release} +%if 0%{?virtuoso} +Requires: redland-virtuoso +Provides: soprano-backend-virtuoso = %{version}-%{release} +## nepomuk upstream recommends this be in nepomuk-core, and strictly optional here -- rex +#Recommends: virtuoso-opensource +%endif + +%description +%{summary}. + +%package devel +Summary: Developer files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +%description devel +%{summary}. + +%package backend-redland +Summary: Redland backend for %{name} +Provides: %{name}-backend = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} +%description backend-redland +%{summary}. + +%if 0%{?virtuoso} +%package backend-virtuoso +Summary: Virtuoso backend for %{name} +BuildRequires: libiodbc-devel +%if 0%{?tests} +BuildRequires: virtuoso-opensource +%endif +Provides: %{name}-backend = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} +## not sure if this is really needed -- rex +Requires: redland-virtuoso +## nepomuk upstream recommends this be in nepomuk-core, and strictly optional here -- rex +#Recommends: virtuoso-opensource +%description backend-virtuoso +%{summary}. +%endif + +%package apidocs +Summary: Soprano API documentation +Requires: kde-filesystem +BuildArch: noarch +%description apidocs +This package includes the Soprano API documentation in HTML +format for easy browsing. + + +%prep +%setup -q -n soprano-%{version}%{?pre:-%{pre}} + +%patch1 -p1 -b .gcc6 + + +%build +mkdir %{_target_platform} +pushd %{_target_platform} +%{cmake} .. \ + -DDATA_INSTALL_DIR:PATH=%{_kde4_appsdir} \ + -DQT_DOC_DIR=%{?_qt4_docdir}%{!?_qt4_docdir:%(pkg-config --variable=docdir Qt)} \ + -DSOPRANO_BUILD_API_DOCS:BOOL=%{!?apidocs:0}%{?apidocs} \ + -DSOPRANO_BUILD_TESTS:BOOL=%{?tests:ON}%{!?tests:OFF} \ + -DSOPRANO_DISABLE_SESAME2_BACKEND:BOOL=ON \ + %{!?virtuoso:-DSOPRANO_DISABLE_VIRTUOSO_BACKEND:BOOL=ON} +popd + +make %{?_smp_mflags} -C %{_target_platform} + + +%install +make install/fast DESTDIR=$RPM_BUILD_ROOT -C %{_target_platform} + +%if 0%{?apidocs} +mkdir -p %{buildroot}%{_kde4_docdir}/HTML/en +cp -a %{_target_platform}/docs/html %{buildroot}%{_kde4_docdir}/HTML/en/soprano-apidocs +# spurious executables, pull in perl dep(s) +find %{buildroot}%{_kde4_docdir}/HTML/en/ -name 'installdox' -exec rm -fv {} ';' +%endif + + +%check +# verify pkg-config version (notoriously wrong in recent soprano releases) +export PKG_CONFIG_PATH=%{buildroot}%{_datadir}/pkgconfig:%{buildroot}%{_libdir}/pkgconfig +test "$(pkg-config --modversion soprano)" = "%{version}" +%if 0%{?tests:1} +export CTEST_OUTPUT_ON_FAILURE=1 +# expect serveral failures, but we care mostly about virtuosobackendtest +time make -C %{_target_platform} test ARGS="--timeout 300 --output-on-failure -R virtuosobackendtest" ||: +%endif + + +%ldconfig_scriptlets + +%files +%doc AUTHORS README TODO +%license COPYING* +%{_bindir}/sopranocmd +%{_bindir}/sopranod +%{_bindir}/onto2vocabularyclass +%{_libdir}/libsoprano.so.4* +%{_libdir}/libsopranoclient.so.1* +%{_libdir}/libsopranoindex.so.1* +%{_libdir}/libsopranoserver.so.1* +%dir %{_datadir}/soprano/ +%dir %{_datadir}/soprano/plugins +%{_datadir}/soprano/plugins/*parser.desktop +%{_datadir}/soprano/plugins/*serializer.desktop +%{_datadir}/soprano/rules/ +%dir %{_libdir}/soprano/ +%{_libdir}/soprano/libsoprano_*parser.so +%{_libdir}/soprano/libsoprano_*serializer.so + +#files backend-redland +%{_libdir}/soprano/libsoprano_redlandbackend.so +%{_datadir}/soprano/plugins/redlandbackend.desktop + +%if 0%{?virtuoso} +#files backend-virtuoso +%{_libdir}/soprano/libsoprano_virtuosobackend.so +%{_datadir}/soprano/plugins/virtuosobackend.desktop +%endif + +%files devel +%{_datadir}/dbus-1/interfaces/org.soprano.*.xml +%{_datadir}/soprano/cmake/ +%{_libdir}/libsoprano*.so +%{_libdir}/pkgconfig/soprano.pc +%{_libdir}/pkgconfig/sopranoclient.pc +%{_libdir}/pkgconfig/sopranoindex.pc +%{_libdir}/pkgconfig/sopranoserver.pc +%{_includedir}/soprano/ +%{_includedir}/Soprano/ + +%if 0%{?apidocs} +%files apidocs +%{_kde4_docdir}/HTML/en/soprano-apidocs/ +%endif + + +%changelog +* Mon Dec 11 2023 michael_fengjun - 2.9.4-1 +- Package init diff --git a/soprano.yaml b/soprano.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c653c38bf7cd43b334acdc177dfdaf2b2f029666 --- /dev/null +++ b/soprano.yaml @@ -0,0 +1,4 @@ +version_control: github +src_repo: KDE/soprano +tag_prefix: "^v" +separator: "."