Hello community,

here is the log from the commit of package ginac for openSUSE:Factory checked 
in at 2020-10-30 11:49:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ginac (Old)
 and      /work/SRC/openSUSE:Factory/.ginac.new.3463 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ginac"

Fri Oct 30 11:49:28 2020 rev:6 rq:844947 version:1.8.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/ginac/ginac.changes      2020-03-17 
13:10:06.521797279 +0100
+++ /work/SRC/openSUSE:Factory/.ginac.new.3463/ginac.changes    2020-10-30 
11:50:12.421842248 +0100
@@ -1,0 +2,62 @@
+Thu Oct 15 21:25:16 UTC 2020 - Atri Bhattacharya <[email protected]>
+
+- Update to version 1.8.0
+  * New routines for the numerical evaluation of iterated
+    integrals like elliptic multiple polylogarithms or iterated
+    integrals of modular forms.
+  * Stronger normalization methods for expressions with powers.
+    Where this is safe, GiNaC now tries replacing various kinds of
+    powers in order to find and cancel common subexpressions.
+  * Improved CMake build.
+- Drop _service file and go back to using full URL for Source.
+- Update so version in keeping with upstream.
+
+-------------------------------------------------------------------
+Sun Oct 11 15:27:09 UTC 2020 - Atri Bhattacharya <[email protected]>
+
+- Use multibuild to split off documentation building from main
+  package, whereby we build only the reference documentation and
+  tutorial pdf for the "doc" flavour and the main libraries and
+  binaries for the unflavoured pkg.
+- Move ginac.pdf from the -devel pkg into separate -doc-tutorial
+  package as it requires texinfo and texlive to build, and bloats
+  the main pkg BuildRequires; add Recommends: ginac-doc-tutorial
+  for ginac-devel.
+- BuildRequires: python3-base instead of python3.
+
+-------------------------------------------------------------------
+Tue Sep 22 23:51:31 UTC 2020 - Atri Bhattacharya <[email protected]>
+
+- Add _service file to use git version at commit 9b53600 as it
+  includes various build related fixes over latest tagged version
+  1.7.11.
+- Add patches to fix/improve builds when using cmake:
+  * ginac-fix-makeindex.patch: Fix input file path when running
+    `makeindex` which does not like absolute paths.
+  * ginac-cmake-install-doc.patch: Install man and other
+    documentation files when cmake is used for building.
+- Drop ginac-check-for-python3.patch: incorporated upstream.
+- Use cmake for build (Add BuildRequires: cmake and drop libtool).
+- Build API documentation in PDF and HTML formats and package as
+  part of new %{name}-doc-pdf and %{name}-doc-html packages
+  respectively (add appropriate BuildRequires).
+- Drop Group tags from packages.
+
+-------------------------------------------------------------------
+Tue Sep 22 10:14:06 UTC 2020 - Atri Bhattacharya <[email protected]>
+
+- Update to version 1.7.11:
+  * Fix elusive bugs in factor() and in expand().
+- Changes from version 1.7.10:
+  * Fix collect_common_factors() for hidden zero arguments.
+  * Fix build on modern systems (C++20 and Python3).
+- Changes from version 1.7.9:
+  * Fix unarchiving of overloaded functions.
+  * Fix MinGW64 build.
+
+-------------------------------------------------------------------
+Mon Sep 21 12:05:39 UTC 2020 - Cristian Rodríguez <[email protected]>
+
+- Fail to build if there are undefined symbols in the shared library 
+
+-------------------------------------------------------------------

Old:
----
  ginac-1.7.8.tar.bz2
  ginac-check-for-python3.patch

New:
----
  _multibuild
  ginac-1.8.0.tar.bz2
  ginac-cmake-install-doc.patch
  ginac-fix-makeindex.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ginac.spec ++++++
--- /var/tmp/diff_new_pack.nxtOcE/_old  2020-10-30 11:50:13.105842854 +0100
+++ /var/tmp/diff_new_pack.nxtOcE/_new  2020-10-30 11:50:13.109842857 +0100
@@ -16,33 +16,74 @@
 #
 
 
-%define library_version 6
-Name:           ginac
-Version:        1.7.8
+%global flavor @BUILD_FLAVOR@%{nil}
+
+%global srcname ginac
+
+%if "%{flavor}" == "doc"
+%bcond_without doc
+%define pkg_suffix -doc
+BuildArch:      noarch
+%endif
+
+%if "%{flavor}" == ""
+%bcond_with doc
+%endif
+
+%define library_version 11
+Name:           %{srcname}%{?pkg_suffix}
+Version:        1.8.0
 Release:        0
 Summary:        C++ library for symbolic calculations
 License:        GPL-2.0-only
-Group:          Development/Libraries/C and C++
 URL:            https://www.ginac.de/
-Source0:        https://www.ginac.de/%{name}-%{version}.tar.bz2
-# PATCH-FIX-UPSTREAM ginac-check-for-python3.patch [email protected] -- 
Check for python3 if python not found during configure.
-Patch0:         ginac-check-for-python3.patch
+Source0:        https://www.ginac.de/%{srcname}-%{version}.tar.bz2
+# PATCH-FIX-UPSTREAM ginac-fix-makeindex.patch [email protected] -- Fix 
input file path when running makeindex which does not like absolute paths
+Patch0:         ginac-fix-makeindex.patch
+# PATCH-FIX-UPSTREAM ginac-cmake-install-doc.patch [email protected] -- 
Install man and other documentation files when cmake is used for building
+Patch1:         ginac-cmake-install-doc.patch
 BuildRequires:  bison
 BuildRequires:  cln-devel
-BuildRequires:  doxygen
+BuildRequires:  cmake
 BuildRequires:  flex
 BuildRequires:  gcc-c++
 BuildRequires:  gmp-devel
 BuildRequires:  graphviz
-BuildRequires:  libtool
+BuildRequires:  makeinfo
 BuildRequires:  pkgconfig
-BuildRequires:  python3
+BuildRequires:  python3-base
 BuildRequires:  readline-devel
+# SECTION Requirements for building documentation
+%if %{with doc}
+BuildRequires:  doxygen
 BuildRequires:  texinfo
+BuildRequires:  texlive-courier
 BuildRequires:  texlive-dvips-bin
+BuildRequires:  texlive-helvetic
 BuildRequires:  texlive-latex-bin
+BuildRequires:  texlive-makeindex-bin
+BuildRequires:  texlive-metafont-bin
+BuildRequires:  texlive-wasy
 BuildRequires:  transfig
+BuildRequires:  tex(adjustbox.sty)
+BuildRequires:  tex(caption.sty)
+BuildRequires:  tex(colortbl.sty)
+BuildRequires:  tex(etoc.sty)
+BuildRequires:  tex(fancyhdr.sty)
+BuildRequires:  tex(float.sty)
+BuildRequires:  tex(hanging.sty)
+BuildRequires:  tex(helvet.sty)
+BuildRequires:  tex(multirow.sty)
+BuildRequires:  tex(natbib.sty)
 BuildRequires:  tex(newunicodechar.sty)
+BuildRequires:  tex(sectsty.sty)
+BuildRequires:  tex(stackengine.sty)
+BuildRequires:  tex(tabu.sty)
+BuildRequires:  tex(tocloft.sty)
+BuildRequires:  tex(ulem.sty)
+BuildRequires:  tex(wasysym.sty)
+%endif
+# /SECTION
 
 %description
 GiNaC (which stands for "GiNaC is Not a CAS (Computer Algebra System)") is an
@@ -50,7 +91,6 @@
 
 %package -n libginac%{library_version}
 Summary:        C++ library for symbolic calculations
-Group:          System/Libraries
 
 %description -n libginac%{library_version}
 GiNaC (which stands for "GiNaC is Not a CAS (Computer Algebra System)") is an
@@ -58,13 +98,15 @@
 
 %package devel
 Summary:        GiNaC development libraries and header files
-Group:          Development/Libraries/C and C++
 Requires:       cln-devel
 Requires:       libginac%{library_version} = %{version}
-Requires(pre):  %{install_info_prereq}
-Requires(preun): %{install_info_prereq}
 Provides:       lib%{name}-devel = %{version}
 Obsoletes:      lib%{name}-devel < %{version}
+%if 0%{?suse_version} < 1550
+Requires(pre):  %{install_info_prereq}
+Requires(preun): %{install_info_prereq}
+%endif
+Recommends:     ginac-doc-tutorial
 
 %description devel
 GiNaC (which stands for "GiNaC is Not a CAS (Computer Algebra System)") is an
@@ -73,30 +115,86 @@
 This package contains the libraries, include files and other resources you
 use to develop GiNaC applications.
 
+%if "%{flavor}" == "doc"
+%package pdf
+Summary:        API documentation for GiNaC in PDF format
+
+%description pdf
+GiNaC (which stands for "GiNaC is Not a CAS (Computer Algebra System)") is an
+open framework for symbolic computation within the C++ programming language.
+
+This package provides the API documentation for GiNaC in PDF format.
+
+%package html
+Summary:        API documentation for GiNaC in HTML format
+
+%description html
+GiNaC (which stands for "GiNaC is Not a CAS (Computer Algebra System)") is an
+open framework for symbolic computation within the C++ programming language.
+
+This package provides the API documentation for GiNaC in HTML format.
+
+%package tutorial
+Summary:        The GiNaC tutorial in PDF format
+
+%description tutorial
+GiNaC (which stands for "GiNaC is Not a CAS (Computer Algebra System)") is an
+open framework for symbolic computation within the C++ programming language.
+
+This package provides a tutorial file for GiNaC in PDF format.
+
+%endif
+
 %prep
-%setup -q
-%patch0 -p1
+%autosetup -p1 -n %{srcname}-%{version}
 
 %build
-autoreconf -fvi
-%configure --docdir=%{_docdir}/%{name} --disable-static --disable-rpath
-make %{?_smp_mflags}
-make %{?_smp_mflags} html
+export LDFLAGS="-Wl,--no-undefined"
+%cmake -DCMAKE_SKIP_RPATH:BOOL=ON \
+       -DCMAKE_INSTALL_LIBEXECDIR:PATH=%{_libexecdir} \
+       -DCMAKE_INSTALL_DOCDIR:PATH=%{_docdir}/%{name}
+
+%if "%{flavor}" == "doc"
+# Build just the reference doc for the "doc" flavour
+pushd doc/reference
+%cmake_build pdf_dox html_dox
+popd
+pushd doc/tutorial
+%cmake_build pdf_ginac_tutorial
+popd
+%else
+%cmake_build
+%endif
 
 %install
-%make_install install-html
+%if "%{flavor}" == "doc"
+pushd build/doc/reference
+%make_install
+popd
+%else
+%cmake_install
+%endif
+
 find %{buildroot} -type f -name "*.la" -delete -print
 
+# SECTION Unflavoured Pkg
+%if "%{flavor}" == ""
 %check
-make %{?_smp_mflags} check
+export LD_LIBRARY_PATH=%{buildroot}%{_libdir}
+%cmake_build check
 
 %post -n libginac%{library_version} -p /sbin/ldconfig
 %postun -n libginac%{library_version} -p /sbin/ldconfig
 
+%if 0%{?suse_version} < 1550
 %post devel
 %install_info --info-dir=%{_infodir} %{_infodir}/ginac.info.gz
+%install_info --info-dir=%{_infodir} %{_infodir}/ginac-examples.info.gz
+
 %preun devel
 %install_info_delete  --info-dir=%{_infodir} %{_infodir}/ginac.info.gz
+%install_info_delete  --info-dir=%{_infodir} %{_infodir}/ginac-examples.info.gz
+%endif
 
 %files -n libginac%{library_version}
 %{_libdir}/libginac.so.%{library_version}*
@@ -106,10 +204,9 @@
 %doc AUTHORS ChangeLog NEWS README
 %{_libdir}/*.so
 %{_libdir}/pkgconfig/ginac.pc
-%dir %{_includedir}/ginac
-%{_includedir}/ginac/*.h
+%{_libdir}/cmake/ginac/
+%{_includedir}/ginac/
 %{_infodir}/*.info%{?ext_info}
-%{_docdir}/%{name}/
 
 %files
 %{_bindir}/ginsh
@@ -117,5 +214,22 @@
 %{_libexecdir}/ginac-excompiler
 %{_mandir}/man1/ginsh.1%{?ext_man}
 %{_mandir}/man1/viewgar.1%{?ext_man}
+%endif
+# /SECTION
+
+# SECTION doc flavoured pkg
+%if "%{flavor}" == "doc"
+%files pdf
+%dir %{_docdir}/%{name}
+%doc %{_docdir}/%{name}/reference.pdf
+
+%files html
+%dir %{_docdir}/%{name}
+%doc %{_docdir}/%{name}/html/
+
+%files tutorial
+%doc %__builddir/doc/tutorial/ginac.pdf
+%endif
+# /SECTION
 
 %changelog

++++++ _multibuild ++++++
<multibuild>
  <package>doc</package>
</multibuild>

++++++ ginac-1.7.8.tar.bz2 -> ginac-1.8.0.tar.bz2 ++++++
++++ 22113 lines of diff (skipped)

++++++ ginac-cmake-install-doc.patch ++++++
Index: ginac-1.7.11.git20200829/tools/CMakeLists.txt
===================================================================
--- ginac-1.7.11.git20200829.orig/tools/CMakeLists.txt
+++ ginac-1.7.11.git20200829/tools/CMakeLists.txt
@@ -2,6 +2,8 @@
 add_executable(viewgar viewgar.cpp)
 target_link_libraries(viewgar ginac::ginac)
 install(TARGETS viewgar RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/viewgar.1.in 
${CMAKE_CURRENT_SOURCE_DIR}/viewgar.1)
+install(FILES viewgar.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1/)
 
 if (CMAKE_COMPILER_IS_GNUCC)
        set (CC gcc)
Index: ginac-1.7.11.git20200829/ginsh/CMakeLists.txt
===================================================================
--- ginac-1.7.11.git20200829.orig/ginsh/CMakeLists.txt
+++ ginac-1.7.11.git20200829/ginsh/CMakeLists.txt
@@ -60,3 +60,6 @@ target_link_libraries(ginsh ginac::ginac
 target_include_directories(ginsh PRIVATE ${ginsh_include_directories})
 target_compile_definitions(ginsh PRIVATE HAVE_CONFIG_H)
 install(TARGETS ginsh RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
+
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/ginsh.1.in 
${CMAKE_CURRENT_SOURCE_DIR}/ginsh.1)
+install(FILES ginsh.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1/)
Index: ginac-1.7.11.git20200829/doc/reference/CMakeLists.txt
===================================================================
--- ginac-1.7.11.git20200829.orig/doc/reference/CMakeLists.txt
+++ ginac-1.7.11.git20200829/doc/reference/CMakeLists.txt
@@ -14,7 +14,7 @@ configure_file(${CMAKE_CURRENT_SOURCE_DI
               ${CMAKE_CURRENT_BINARY_DIR}/Doxyfooter
               @ONLY)
 
-add_custom_target(html_dox
+add_custom_target(html_dox ALL
        COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/DoxyfileHTML
        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
        COMMENT "DOXYGEN DoxyfileHTML")
@@ -33,8 +33,11 @@ add_custom_command(
 
 if (LATEX_FOUND)
        pdflatex_process(${CMAKE_CURRENT_BINARY_DIR}/pdflatex/reference.tex)
-       add_custom_target(pdf_dox DEPENDS 
${CMAKE_CURRENT_BINARY_DIR}/pdflatex/reference.pdf)
+       add_custom_target(pdf_dox ALL DEPENDS 
${CMAKE_CURRENT_BINARY_DIR}/pdflatex/reference.pdf)
        add_dependencies(pdf pdf_dox)
 endif()
 
-
+install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html_files/ DESTINATION 
${CMAKE_INSTALL_DOCDIR}/html)
+if (LATEX_FOUND)
+       install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pdflatex/reference.pdf 
DESTINATION ${CMAKE_INSTALL_DOCDIR})
+endif()
Index: ginac-1.7.11.git20200829/doc/tutorial/CMakeLists.txt
===================================================================
--- ginac-1.7.11.git20200829.orig/doc/tutorial/CMakeLists.txt
+++ ginac-1.7.11.git20200829/doc/tutorial/CMakeLists.txt
@@ -43,7 +43,7 @@ macro(add_doc_format src fmt)
                DEPENDS ${_src} ${_${src}_tutorial_figures_${fmt}}
                COMMENT "TEXI2DVI ${src}.texi => ${src}.${fmt}"
                VERBATIM)
-       add_custom_target(${fmt}_${src}_tutorial DEPENDS ${_out})
+       add_custom_target(${fmt}_${src}_tutorial ALL DEPENDS ${_out})
        add_dependencies(${fmt} ${fmt}_${src}_tutorial)
 endmacro()
 
++++++ ginac-fix-makeindex.patch ++++++
Index: ginac-1.7.11.git20200829/doc/CMakeLists.txt
===================================================================
--- ginac-1.7.11.git20200829.orig/doc/CMakeLists.txt
+++ ginac-1.7.11.git20200829/doc/CMakeLists.txt
@@ -32,7 +32,7 @@ endmacro()
 macro(pdflatex_process texfile)
        get_filename_component(_dirname "${texfile}" PATH)
        get_filename_component(_basename "${texfile}" NAME_WE)
-       set(_idx ${_dirname}/${_basename}.idx)
+       set(_idx ${_basename}.idx)
        set(_ind ${_dirname}/${_basename}.ind)
        set(_pdf ${_dirname}/${_basename}.pdf)
        set(_fixupind ${CMAKE_SOURCE_DIR}/scripts/fixupind.py)

Reply via email to