commit ginac for openSUSE:Factory
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 <badshah400@gmail.com> + +- 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 <badshah400@gmail.com> + +- 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 <badshah400@gmail.com> + +- 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 <badshah400@gmail.com> + +- 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 <crrodriguez@opensuse.org> + +- 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 badshah400@gmail.com -- 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 badshah400@gmail.com -- 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 badshah400@gmail.com -- 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)
participants (1)
-
root