[packages/doxygen] - updated to 1.8.10 (seems not to require any new tex features), uses cmake now - updated flex2.6 pa

qboosh qboosh at pld-linux.org
Sat Apr 24 21:17:03 CEST 2021


commit 982ead969e52e9b86d88a902bf9387d69b1af446
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Sat Apr 24 21:18:33 2021 +0200

    - updated to 1.8.10 (seems not to require any new tex features), uses cmake now
    - updated flex2.6 patch
    - removed outdated qt-dirs patch
    - added doc patch (skip installing pdf and html by default)
    - build doxysearch

 doxygen-doc.patch     | 21 ++++++++++++++++
 doxygen-qt-dirs.patch | 30 -----------------------
 doxygen.spec          | 66 ++++++++++++++++++++++++++++++++++-----------------
 flex2.6.patch         | 11 +++++++++
 4 files changed, 76 insertions(+), 52 deletions(-)
---
diff --git a/doxygen.spec b/doxygen.spec
index 7dde89f..f5f5479 100644
--- a/doxygen.spec
+++ b/doxygen.spec
@@ -1,6 +1,8 @@
+# NOTE: on upgrades, beware of texlive features available in PLD
 #
 # Conditional build:
 %bcond_without	qt	# without doxywizard (qt-based)
+%bcond_without	xapian	# without doxysearch (xapian based)
 #
 Summary:	Doxygen is the documentation system for C/C++
 Summary(es.UTF-8):	Doxygen es el sistema de documentación para C/C++
@@ -9,7 +11,7 @@ Summary(pt_BR.UTF-8):	Um sistema de documentação para C/C++
 Summary(ru.UTF-8):	Система документирования для C та C++
 Summary(uk.UTF-8):	Система документування для C та C++
 Name:		doxygen
-Version:	1.8.9.1
+Version:	1.8.10
 Release:	1
 Epoch:		1
 License:	GPL v2
@@ -18,23 +20,26 @@ Group:		Development/Tools
 #Source0Download: https://www.doxygen.nl/download.html
 #Source0:	https://www.doxygen.nl/files/%{name}-%{version}.src.tar.gz
 Source0:	http://downloads.sourceforge.net/doxygen/%{name}-%{version}.src.tar.gz
-# Source0-md5:	3d1a5c26bef358c10a3894f356a69fbc
-Patch0:		%{name}-qt-dirs.patch
+# Source0-md5:	79767ccd986f12a0f949015efb5f058f
+Patch0:		%{name}-doc.patch
 Patch1:		flex2.6.patch
 URL:		https://www.doxygen.nl/
 %{?with_qt:BuildRequires:	QtGui-devel >= 4.3}
 %{?with_qt:BuildRequires:	QtXml-devel >= 4.3}
 BuildRequires:	bison
+BuildRequires:	cmake >= 2.8.12
 BuildRequires:	flex
 BuildRequires:	ghostscript
 BuildRequires:	ghostscript-fonts-std
 BuildRequires:	libpng-devel
 BuildRequires:	libstdc++-devel
 BuildRequires:	perl-base
+BuildRequires:	python >= 2
 %{?with_qt:BuildRequires:	qt4-build >= 4.3}
 %{?with_qt:BuildRequires:	qt4-qmake >= 4.3}
 BuildRequires:	texlive-latex
 BuildRequires:	texlive-pdftex
+%{?with_xapian:BuildRequires:	xapian-core-devel}
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -105,6 +110,18 @@ Doxygen можна також зконфігурувати для отриман
 недокументованих вихідних файлів. Це може бути дуже корисним для того,
 щоб швидко розібратися у великому проекті.
 
+%package search
+Summary:	Search tools for Doxygen
+Summary(pl.UTF-8):	Narzędzia do przeszukiwania dla Doxygena
+Group:		Development/Tools
+Conflicts:	doxygen < 1:1.3.4
+
+%description search
+Search tools for Doxygen.
+
+%description search -l pl.UTF-8
+Narzędzia do przeszukiwania dla Doxygena.
+
 %package doxywizard
 Summary:	A GUI front-end for creating and editing configuration files
 Summary(es.UTF-8):	Un front-end GUI para crear y editar ficheros de configuración
@@ -168,41 +185,46 @@ wygenerowanych przez Doxygena.
 %patch1 -p1
 
 %build
-# don't change it to %%configure, not autoconf-generated!
-./configure \
-	--prefix %{_prefix} \
-	--perl %{__perl} \
-	--install %{_bindir}/install \
-	%{?with_qt:--with-doxywizard}
-
-%{__make} \
-	CC="%{__cc}" \
-	CXX="%{__cxx}" \
-	LINK="%{__cxx}" \
-	QMAKE="%{_bindir}/qmake-qt4" \
-	QTDIR="%{_prefix}" \
-	CFLAGS="%{rpmcflags}" \
-	CXXFLAGS="%{rpmcxxflags} -DQT_LITE_UNICODE -DNODEBUG" \
-	LFLAGS="%{rpmldflags}"
+install -d build
+cd build
+%cmake .. \
+	-DBUILD_SHARED_LIBS=OFF \
+	-Dbuild_doc=ON \
+	%{?with_xapian:-Dbuild_search=ON} \
+	%{?with_qt:-Dbuild_wizard=ON}
+
+%{__make}
 
 %{__make} docs
-#%%{__make} pdf
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
-%{__make} install \
+%{__make} -C build install \
 	DESTDIR=$RPM_BUILD_ROOT
 
+install -d $RPM_BUILD_ROOT%{_examplesdir}
+cp -pr examples $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(644,root,root,755)
-%doc html examples README.md
+%doc README.md build/html
 %attr(755,root,root) %{_bindir}/doxygen
+%{_examplesdir}/%{name}-%{version}
 %{_mandir}/man1/doxygen.1*
 
+%if %{with xapian}
+%files search
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/doxyindexer
+%attr(755,root,root) %{_bindir}/doxysearch.cgi
+%{_mandir}/man1/doxyindexer.1*
+%{_mandir}/man1/doxysearch.1*
+%endif
+
 %if %{with qt}
 %files doxywizard
 %defattr(644,root,root,755)
diff --git a/doxygen-doc.patch b/doxygen-doc.patch
new file mode 100644
index 0000000..08f240d
--- /dev/null
+++ b/doxygen-doc.patch
@@ -0,0 +1,21 @@
+--- doxygen-1.8.10/doc/CMakeLists.txt.orig	2021-04-24 19:09:10.889930009 +0200
++++ doxygen-1.8.10/doc/CMakeLists.txt	2021-04-24 19:09:33.446474476 +0200
+@@ -88,17 +88,7 @@ install(FILES
+         "${PROJECT_BINARY_DIR}/man/doxywizard.1"
+         "${PROJECT_BINARY_DIR}/man/doxysearch.1"
+         "${PROJECT_BINARY_DIR}/man/doxyindexer.1"
+-        DESTINATION man/man1
+-)
+-
+-install(FILES
+-        "${PROJECT_BINARY_DIR}/latex/doxygen_manual.pdf"
+-        DESTINATION "${CMAKE_INSTALL_PREFIX}/${DOC_INSTALL_DIR}"
+-)
+-
+-install(DIRECTORY
+-        "${PROJECT_BINARY_DIR}/html"
+-        DESTINATION "${CMAKE_INSTALL_PREFIX}/${DOC_INSTALL_DIR}"
++        DESTINATION share/man/man1
+ )
+ 
+ endif()
diff --git a/doxygen-qt-dirs.patch b/doxygen-qt-dirs.patch
deleted file mode 100644
index 5a26027..0000000
--- a/doxygen-qt-dirs.patch
+++ /dev/null
@@ -1,30 +0,0 @@
---- doxygen-1.8.6/configure.orig	2013-12-24 17:14:46.000000000 +0100
-+++ doxygen-1.8.6/configure	2014-01-29 20:59:58.925766639 +0100
-@@ -326,7 +326,7 @@
-   if test -z "$QTDIR"; then
-     echo "  QTDIR environment variable not set!"
-     printf "  Checking for Qt..."
--    for d in /usr/{lib,share,qt}/{qt-4,qt4,qt,qt*,4} /usr; do
-+    for d in /usr/{libx32,lib64,lib,share,qt}/{qt-4,qt4,qt,qt*,4}; do
-       if test -x "$d/bin/qmake"; then
-         QTDIR=$d
-         break 2
-@@ -704,6 +704,7 @@
- DOXYDOCS  = ..
- DOCDIR    = $f_docdir
- QTDIR     = $QTDIR
-+MAN1DIR    = share/man/man1
- EOF
- 
- if test "$f_dot" != NO; then
---- doxygen-1.8.3/Makefile.in.orig	2013-01-02 21:33:10.021332601 +0100
-+++ doxygen-1.8.3/Makefile.in	2013-01-03 16:32:34.159907679 +0100
-@@ -53,8 +53,6 @@
- 
- DATE=$(shell date "+%B %Y")
- 
--MAN1DIR = man/man1
--
- install: doxywizard_install doxysearch_install
- 	$(INSTTOOL) -d $(DESTDIR)/$(INSTALL)/bin
- 	$(INSTTOOL) -m 755 bin/doxygen        $(DESTDIR)/$(INSTALL)/bin
diff --git a/flex2.6.patch b/flex2.6.patch
index 15b9ce8..d3f19b0 100644
--- a/flex2.6.patch
+++ b/flex2.6.patch
@@ -184,3 +184,14 @@ index 695704844..e4ae0e7ff 100644
  #error "You seem to be using a version of flex newer than 2.5.4 but older than 2.5.33. These versions do NOT work with doxygen! Please use version <=2.5.4 or >=2.5.33 or expect things to be parsed wrongly!"
  #endif
  
+--- doxygen-1.8.10/src/xmlcode.l.orig	2021-04-24 18:28:51.986367667 +0200
++++ doxygen-1.8.10/src/xmlcode.l	2021-04-24 18:28:55.833013495 +0200
+@@ -407,7 +407,7 @@ void resetXmlCodeParserState()
+ extern "C" { // some bogus code to keep the compiler happy
+   void xmlcodeYYdummy() { yy_flex_realloc(0,0); } 
+ }
+-#elif YY_FLEX_SUBMINOR_VERSION<33
++#elif YY_FLEX_MAJOR_VERSION<=2 && YY_FLEX_MINOR_VERSION<=5 && YY_FLEX_SUBMINOR_VERSION<33
+ #error "You seem to be using a version of flex newer than 2.5.4. These are currently incompatible with 2.5.4, and do NOT work with doxygen! Please use version 2.5.4 or expect things to be parsed wrongly! A bug report has been submitted (#732132)."
+ #endif
+ 
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/doxygen.git/commitdiff/982ead969e52e9b86d88a902bf9387d69b1af446



More information about the pld-cvs-commit mailing list