The package rpms/sdsl-lite.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/sdsl-lite.git/commit/?id=e6338da0....
Change:
+ExclusiveArch: %{power64} x86_64 aarch64
Thanks.
Full change:
============
commit e6338da0a687d0df1173094d0650b151db94086e
Author: Antonio Trande <sagitter(a)fedoraproject.org>
Date: Tue Nov 23 19:35:58 2021 +0100
First commit
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..b496bbf
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/sdsl-lite-3.0.0.tar.gz
diff --git a/sdsl-lite-disable_mbmi2_support.patch
b/sdsl-lite-disable_mbmi2_support.patch
new file mode 100644
index 0000000..78695ed
--- /dev/null
+++ b/sdsl-lite-disable_mbmi2_support.patch
@@ -0,0 +1,11 @@
+--- a/CMakeModules/DetectCPUFeatures.orig.cmake 2021-10-28 17:57:13.000000000 +0200
++++ b/CMakeModules/DetectCPUFeatures.cmake 2021-11-13 17:16:28.487159949 +0100
+@@ -33,7 +33,7 @@
+ if(HAVE_BMI2)
+ message(STATUS "${Green}Compiler supports BMI2${ColourReset}")
+ if(NOT MSVC)
+- CheckAndAppendCompilerFlags(${CMAKE_BUILD_TYPE} "-mbmi2")
++ CheckAndAppendCompilerFlags(${CMAKE_BUILD_TYPE} " ")
+ endif()
+ else()
+ set(HAVE_BMI2 0)
diff --git a/sdsl-lite-unbundle_libraries.patch b/sdsl-lite-unbundle_libraries.patch
new file mode 100644
index 0000000..e4f9086
--- /dev/null
+++ b/sdsl-lite-unbundle_libraries.patch
@@ -0,0 +1,80 @@
+--- a/external/CMakeLists.orig.txt 2021-10-28 17:57:13.000000000 +0200
++++ b/external/CMakeLists.txt 2021-11-13 15:57:49.712349352 +0100
+@@ -3,64 +3,14 @@
+ message(WARNING "git not found. Cloning of submodules will not work.")
+ endif()
+
+-# Modified version from SeqAn3
+-#
https://github.com/seqan/seqan3/blob/fddd89708f8fa858521a9cf958900232c7e8...
+ macro (add_gtest)
+- set (SDSL_EXTERNAL_PROJECT_CMAKE_ARGS "")
+- list (APPEND SDSL_EXTERNAL_PROJECT_CMAKE_ARGS
"-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}")
+- list (APPEND SDSL_EXTERNAL_PROJECT_CMAKE_ARGS
"-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}")
+- list (APPEND SDSL_EXTERNAL_PROJECT_CMAKE_ARGS
"-DCMAKE_CXX_COMPILER_LAUNCHER=${CMAKE_CXX_COMPILER_LAUNCHER}")
+- list (APPEND SDSL_EXTERNAL_PROJECT_CMAKE_ARGS
"-DCMAKE_C_COMPILER_LAUNCHER=${CMAKE_C_COMPILER_LAUNCHER}")
+- list (APPEND SDSL_EXTERNAL_PROJECT_CMAKE_ARGS
"-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}")
+- list (APPEND SDSL_EXTERNAL_PROJECT_CMAKE_ARGS
"-DCMAKE_INSTALL_PREFIX=${PROJECT_BINARY_DIR}")
+- list (APPEND SDSL_EXTERNAL_PROJECT_CMAKE_ARGS
"-DCMAKE_VERBOSE_MAKEFILE=${CMAKE_VERBOSE_MAKEFILE}")
+- list (APPEND SDSL_EXTERNAL_PROJECT_CMAKE_ARGS
"-DCMAKE_POLICY_DEFAULT_CMP0025=NEW")
+-
+- set (gtest_project_args ${SDSL_EXTERNAL_PROJECT_CMAKE_ARGS})
+- list (APPEND gtest_project_args "-DBUILD_GMOCK=0")
+-
+- # force that libraries are installed to `lib/`, because GNUInstallDirs might install it
into `lib64/`
+- list (APPEND gtest_project_args
"-DCMAKE_INSTALL_LIBDIR=${PROJECT_BINARY_DIR}/lib/")
+-
+- # google sets CMAKE_DEBUG_POSTFIX = "d"
+- set (gtest_main_path
"${PROJECT_BINARY_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}gtest_main${CMAKE_STATIC_LIBRARY_SUFFIX}")
+- if (CMAKE_BUILD_TYPE STREQUAL "Debug")
+- set (gtest_main_path
"${PROJECT_BINARY_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}gtest_maind${CMAKE_STATIC_LIBRARY_SUFFIX}")
+- endif ()
+-
+- set (gtest_path
"${PROJECT_BINARY_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}")
+- if (CMAKE_BUILD_TYPE STREQUAL "Debug")
+- set (gtest_path
"${PROJECT_BINARY_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}gtestd${CMAKE_STATIC_LIBRARY_SUFFIX}")
+- endif ()
+-
+- include (ExternalProject)
+- ExternalProject_Add (
+- gtest_project
+- SOURCE_DIR "${gtest_dir}"
+- CMAKE_ARGS "${gtest_project_args}"
+- BUILD_BYPRODUCTS "${gtest_main_path}" "${gtest_path}"
+- )
+- unset (gtest_project_args)
+-
+- add_library (gtest_main STATIC IMPORTED)
+- add_dependencies (gtest_main gtest_project)
+- set_target_properties (gtest_main PROPERTIES IMPORTED_LOCATION
"${gtest_main_path}")
+-
+- add_library (gtest STATIC IMPORTED)
+- add_dependencies (gtest gtest_main)
+- set_target_properties (gtest PROPERTIES IMPORTED_LOCATION "${gtest_path}")
+- set_property (TARGET gtest APPEND PROPERTY INTERFACE_LINK_LIBRARIES
"pthread")
+-
+- unset(gtest_main_path)
+- unset(gtest_path)
+-
+- add_custom_target (gtest_build DEPENDS gtest_main gtest)
++ find_package(GTest REQUIRED)
+ endmacro()
+
+ ## Add cereal
+ if(SDSL_CEREAL)
+ MESSAGE(STATUS "Adding cereal")
+- set(cereal_dir ${CMAKE_CURRENT_LIST_DIR}/cereal/include/cereal)
++ set(cereal_dir ${INCLUDE_INSTALL_DIR}/cereal)
+ set(cereal_file ${cereal_dir}/cereal.hpp)
+ if(NOT EXISTS ${cereal_file})
+ EXECUTE_PROCESS(COMMAND git submodule update --init external/cereal
+--- a/test/CMakeLists.orig.txt 2021-10-28 17:57:13.000000000 +0200
++++ b/test/CMakeLists.txt 2021-11-13 17:06:29.661748460 +0100
+@@ -65,7 +65,7 @@
+
+ if(SDSL_CEREAL)
+ # Include via -isystem suppresses warnings of external dependencies in cereal
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}
-isystem${CMAKE_CURRENT_SOURCE_DIR}/../external/cereal/include")
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -isystem
${INCLUDE_INSTALL_DIR}/cereal")
+ endif(SDSL_CEREAL)
+
+ add_executable(int_vector_generator int_vector_generator.cpp)
diff --git a/sdsl-lite.spec b/sdsl-lite.spec
new file mode 100644
index 0000000..e970cfc
--- /dev/null
+++ b/sdsl-lite.spec
@@ -0,0 +1,98 @@
+%global debug_package %{nil}
+%global middle_release 0
+
+%bcond_without check
+
+ExclusiveArch: %{power64} x86_64 aarch64
+
+%if 0%{?middle_release}
+%global commit 4604f1b2db7131ea10b9d9ff56bf5a93e8c66847
+%global date .20210809git
+%global shortcommit %(c=%{commit}; echo ${c:0:8})
+%else
+%global commit %{nil}
+%global date %{nil}
+%global shortcommit %{nil}
+%endif
+
+Name: sdsl-lite
+Summary: SDSL v3 - Succinct Data Structure Library
+Version: 3.0.0
+Release: 1%{date}%{shortcommit}%{?dist}
+License: BSD and MIT
+URL:
https://github.com/xxsds/sdsl-lite
+Source0:
https://github.com/xxsds/sdsl-lite/archive/v%{version}/%{name}-%{version}...
+
+BuildRequires: gcc, gcc-c++
+BuildRequires: cmake
+BuildRequires: cereal-devel >= 1.3.0
+BuildRequires: gtest-devel >= 1.10.0
+
+Patch0: sdsl-lite-unbundle_libraries.patch
+Patch1: sdsl-lite-disable_mbmi2_support.patch
+
+%description
+The Succinct Data Structure Library (SDSL) is a powerful and flexible C++11
+library implementing succinct data structures.
+In total, the library contains the highlights of 40 research publications.
+Succinct data structures can represent an object (such as a bitvector or a tree)
+in space close to the information-theoretic lower bound of the object while
+supporting operations of the original object efficiently.
+The theoretical time complexity of an operation performed on the classical
+data structure and the equivalent succinct data structure are
+(most of the time) identical.
+
+%package devel
+Summary: SDSL v3 - Succinct Data Structure Library
+Requires: cmake%{?_isa} >= 3.2
+Requires: cereal-devel%{?_isa} >= 1.3.0
+
+%description devel
+Developer files for SDSL 3, in the form for C header files.
+
+%package doc
+Summary: SDSL v3 HTML/Latex documentation
+BuildRequires: doxygen
+BuildArch: noarch
+
+%description doc
+Info files of SeqAn's apps.
+
+%prep
+%autosetup -n sdsl-lite-%{version} -N
+
+%patch0 -p1 -b .unbundle_cereal
+%patch1 -p1 -b .disable_mbmi2_support
+
+%build
+%cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE -DCMAKE_BUILD_TYPE:STRING=Release \
+ -DSDSL_HEADER_TEST:BOOL=OFF -DGENERATE_DOC:BOOL=ON -DUSE_LIBCPP:BOOL=OFF
-DSDSL_CEREAL=1
+%cmake_build
+
+%install
+mkdir -p %{buildroot}%{_prefix}
+cp -a include %{buildroot}%{_prefix}
+
+mkdir -p %{buildroot}%{_libdir}/cmake/%{name}
+install -pm 644 sdsl-lite.pc.cmake %{buildroot}%{_libdir}/cmake/%{name}/
+
+rm -f %{buildroot}%{_includedir}/sdsl/.gitignore
+
+%if %{with check}
+%check
+# Test excluded by upstream
+%ctest -- -E 'k2-treap-test_k2-0.1.0.0'
+%endif
+
+%files doc
+%doc %__cmake_builddir/extras/docs/html
+%doc %__cmake_builddir/extras/docs/latex
+
+%files devel
+%license LICENSE
+%{_includedir}/sdsl/
+%{_libdir}/cmake/%{name}/
+
+%changelog
+* Sat Nov 20 2021 Antonio Trande <sagitter(a)fedoraproject.org> - 3.0.0-1
+- First package
diff --git a/sources b/sources
new file mode 100644
index 0000000..1d8d967
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (sdsl-lite-3.0.0.tar.gz) =
6a48eb5f82cbfe830972040b6ccdba1fa824c7ee09ca9f7facddca7417921569cb9195c926a67aecb5148bf82db777a932b88f2a4dc398b1d49d2d4def386964