Compare commits

..

7 commits

Author SHA1 Message Date
Than Ngo
aeb0b6c57f dropped old patches 2022-02-17 14:21:23 +01:00
Than Ngo
d104025ff3 update to 1.9.4 snapshot 2022-02-17 14:19:02 +01:00
Than Ngo
fdbe51f96b rebase 2022-02-15 17:48:27 +01:00
Than Ngo
a12587cea2 rebase 2022-02-15 17:47:12 +01:00
Than Ngo
87dd967ecd update sources 2022-01-12 08:30:52 +01:00
Than Ngo
1b79664afd update to 1.9.3 2022-01-12 08:29:53 +01:00
Than Ngo
339d258e8c Create private branch 2022-01-12 08:28:31 +01:00
5 changed files with 78 additions and 345 deletions

14
.gitignore vendored
View file

@ -55,17 +55,5 @@ doxygen-1.7.1.src.tar.gz
/doxygen-1.9.1.src.tar.gz
/doxygen-1.9.2.src.tar.gz
/doxygen-1.9.2-d882240f-git.src.tar.gz
/doxygen-1.9.3.src.tar.gz
/doxygen-e18f715eb55121a4219d00bc4d824cebf1fb504b.tar.gz
/doxygen-1.9.4.src.tar.gz
/doxygen-1.9.5.src.tar.gz
/doxygen-1.9.6.src.tar.gz
/doxygen-1.9.7.src.tar.gz
/doxygen-1.9.8.src.tar.gz
/doxygen-1.10.0.src.tar.gz
/doxygen-1.11.0.src.tar.gz
/doxygen-1.12.0.src.tar.gz
/doxygen-1.13.0.src.tar.gz
/doxygen-1.13.1.src.tar.gz
/doxygen-1.13.2.src.tar.gz
/doxygen-1.14.0.src.tar.gz
/doxygen-1.15.0.src.tar.gz

View file

@ -1,36 +0,0 @@
# Javascript asset handling for RPM packaging
RPM packages should unbundle Javascript assets during the RPM build
process. Currently, this process is not fully automated.
If Doxygen HTML documentation is installed, add
%{?doxygen_js_requires}
to the subpackage that contains the HTML documentation.
If HTML documentation is installed during the %install phase, invoke
%{doxygen_unbundle_buildroot}
towards the end of the %install section. It will process Javascript
files under %{_docdir} (/usr/share/doc). If another directory needs
to be processed, use an explicit directory argument:
%{doxygen_unbundle_buildroot /usr/share/example/doc}
The path is relative to %{buildroot} or $RPM_BUILD_ROOT.
If HTML documentation is not installed, but propagated into package
using %doc directives, it is necessary to invoke
%{doxygen_unbundle}
after running Doxygen (typically from the %build section). This
unbundles assets found under the current directory. A specific
directory can be processed by passing it as an argument:
%{doxygen_unbundle example/doc}
In this case, the path argument is relative to the current directory,
not the buildroot.

View file

@ -1,69 +0,0 @@
#!/usr/bin/bash -e
# Replace Doxygen-generated Javascript files with symblic links.
set -o pipefail
jsdir="$1"
buildroot="$2"
subdir="$3"
if test -z "$jsdir" ; then
echo "error: Javascript directory argument required" 1>&2
exit 1
fi
js_files="$(echo "$jsdir"/doxygen/*.js)"
if test -z "$buildroot" ; then
# Only absolute links are possible because the final installation
# destination is unknown.
if test -z "$subdir"; then
subdir="."
fi
find "$subdir" -type f -name '*.js' \
| while read js_file; do
for js_file_ref in $js_files; do
if cmp -s "$js_file_ref" "$js_file"; then
ln -sf "$js_file_ref" "$js_file"
break
fi
done
done
else
# Create relative links.
cd "$buildroot"
abs_buildroot="$(readlink -f .)"
cd "./$subdir"
# Compute the number of ../ needed to reach the root directory.
prefix=""
while true; do
p="$(readlink -f "${prefix:-.}")"
if test "$p" = "$abs_buildroot"; then
break
elif test "$p" = "/"; then
echo "error: Could not find buildroot directory" 1>&2
exit 1
elif test -z "$prefix"; then
prefix=".."
else
prefix="../$prefix"
fi
done
# Create relative links.
find . -type f -name '*.js' -printf "%d %p\n" \
| while read depth js_file; do
for js_file_ref in $js_files; do
if cmp -s "$js_file_ref" "$js_file"; then
target_prefix="$prefix"
i=1
while test "$i" -lt "$depth"; do
target_prefix="../$target_prefix"
i=$(($i + 1))
done
ln -sf "$target_prefix$js_file_ref" "$js_file"
fi
done
done
fi

View file

@ -1,43 +1,45 @@
%if 0%{?fedora}
%global xapian_core_support ON
%global build_wizard ON
%global system_spdlog ON
%global system_fmt ON
%global clang_support ON
%else
%global xapian_core_support OFF
%global build_wizard OFF
%global system_spdlog OFF
%global system_fmt OFF
%global clang_support OFF
%endif
%global stable 0
%if 0%{?stable}
%global irelease 1
%else
%global commit e18f715eb55121a4219d00bc4d824cebf1fb504b
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global date 20220217
%global irelease 0.%{date}git%{shortcommit}
%endif
%global build_search %{xapian_core_support}
%global clang_support ON
%global system_sqlite3 ON
Summary: A documentation system for C/C++
Name: doxygen
Epoch: 2
Version: 1.15.0
Release: 1%{?dist}
Version: 1.9.4
Release: %{irelease}%{?dist}
# No version is specified.
License: GPL-2.0-or-later
Url: https://github.com/doxygen
Source0: https://www.doxygen.nl/files/%{name}-%{version}.src.tar.gz
License: GPL+
Url: http://www.doxygen.nl
%if 0%{?stable}
Source0: https://doxygen.nl/files/%{name}-%{version}.src.tar.gz
%else
Source0: https://github.com/%{name}/%{name}/archive/%{commit}/%{name}-%{commit}.tar.gz
%endif
# this icon is part of kdesdk
Source1: doxywizard.desktop
# these icons are part of doxygen and converted from doxywizard.ico
Source2: doxywizard-icons.tar.xz
Source3: README.rpm-packaging
Source4: doxygen-unbundler
# upstream fixes
# upstream patches
BuildRequires: %{_bindir}/python3
BuildRequires: perl-interpreter, perl-open
BuildRequires: texlive-bibtex
BuildRequires: web-assets-devel
# Building an RPM package typically needs unbundling of Javascript assets.
Requires: (js-doxygen if redhat-rpm-config)
BuildRequires: gcc-c++ gcc
BuildRequires: perl-interpreter
%if ! 0%{?_module_build}
BuildRequires: tex(dvips)
BuildRequires: tex(latex)
@ -101,40 +103,21 @@ BuildRequires: ghostscript
BuildRequires: gettext
BuildRequires: desktop-file-utils
BuildRequires: graphviz
%endif
%else
BuildRequires: zlib-devel
%endif
BuildRequires: flex
BuildRequires: bison
BuildRequires: cmake
BuildRequires: git
%if "x%{?xapian_core_support}" == "xON"
BuildRequires: xapian-core-devel
BuildRequires: zlib-devel
%endif
%if "x%{?clang_support}" == "xON"
BuildRequires: llvm-devel
BuildRequires: clang-devel
%else
BuildRequires: gcc-c++ gcc
%endif
%if "%{system_spdlog}" == "ON"
BuildRequires: spdlog-devel
%else
# SPDLOG_VER* defined in deps/spdlog/include/spdlog/version.h
Provides: bundled(spdlog) = 1.14.1
%endif
%if "%{system_sqlite3}" == "ON"
BuildRequires: sqlite-devel
%else
# SQLITE_VERSION defined in deps/sqlite3/sqlite3.h
Provides: bundled(sqlite) = 3.42.0
%endif
%if "%{system_fmt}" == "ON"
BuildRequires: fmt-devel
%else
# deps/fmt/README.md
Provides: bundled(fmt) = 10.2.1
%endif
Requires: perl-interpreter
Requires: graphviz
@ -145,32 +128,21 @@ documentation is extracted directly from the sources. Doxygen can
also be configured to extract the code structure from undocumented
source files.
%package -n js-doxygen
Summary: Javascript files used by Doxygen
Requires: web-assets-filesystem
BuildArch: noarch
%description -n js-doxygen
Javascript files for use by locally installed Doxygen documentation.
%if "x%{build_wizard}" == "xON"
%if ! 0%{?_module_build}
%package doxywizard
Summary: A GUI for creating and editing configuration files
Requires: %{name} = %{epoch}:%{version}-%{release}
BuildRequires: qt6-qtbase-devel
BuildRequires: qt6-qtsvg-devel
BuildRequires: qt5-qtbase-devel
%description doxywizard
Doxywizard is a GUI for creating and editing configuration files that
are used by doxygen.
%endif
%if ! 0%{?_module_build}
%package latex
Summary: Support for producing latex/pdf output from doxygen
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: tex(latex)
Requires: tex(dvips)
Requires: texlive-wasy
%if 0%{?fedora} > 17 || 0%{?rhel} > 6
# From doc/manual.sty
Requires: tex(helvet.sty)
@ -241,37 +213,48 @@ Requires: texlive-epstopdf
%prep
%if 0%{?stable}
%autosetup -p1 -a2
%else
%autosetup -n %{name}-%{commit} -a2
%endif
# convert into utf-8
iconv --from=ISO-8859-1 --to=UTF-8 LANGUAGE.HOWTO > LANGUAGE.HOWTO.new
touch -r LANGUAGE.HOWTO LANGUAGE.HOWTO.new
mv LANGUAGE.HOWTO.new LANGUAGE.HOWTO
cp %{SOURCE3} .
%build
%if ! 0%{?_module_build}
%cmake \
-Dbuild_wizard=%{build_wizard} \
-DBUILD_SHARED_LIBS=OFF \
-DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \
-Dbuild_search=%{build_search} \
-Duse_libclang=%{clang_support} \
-DMAN_INSTALL_DIR=%{_mandir}/man1 \
-Dbuild_doc=OFF \
-DPYTHON_EXECUTABLE=%{_bindir}/python3 \
-Dbuild_xmlparser=ON \
-Duse_sys_sqlite3=%{system_sqlite3} \
-Duse_sys_spdlog=%{system_spdlog} \
-Duse_sys_fmt=%{system_fmt}
-DPYTHON_EXECUTABLE=%{_bindir}/python3 \
-Duse_libclang=%{clang_support} \
-Dbuild_doc=OFF \
-Dbuild_wizard=ON \
-Dbuild_xmlparser=ON \
-Dbuild_search=%{xapian_core_support} \
-DMAN_INSTALL_DIR=%{_mandir}/man1 \
-DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \
-DBUILD_SHARED_LIBS=OFF \
%else
%cmake \
-DPYTHON_EXECUTABLE=%{_bindir}/python3 \
-Duse_libclang=%{clang_support} \
-Dbuild_doc=OFF \
-Dbuild_wizard=OFF \
-Dbuild_xmlparser=ON \
-Dbuild_search=OFF \
-DMAN_INSTALL_DIR=%{_mandir}/man1 \
-DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \
-DBUILD_SHARED_LIBS=OFF \
%endif
%cmake_build %{?_smp_mflags}
%install
%cmake_install
# install man pages
mkdir -p %{buildroot}/%{_mandir}/man1
cp doc/*.1 %{buildroot}/%{_mandir}/man1/
%if "x%{build_wizard}" == "xOFF"
rm -f %{buildroot}/%{_mandir}/man1/doxywizard.1*
%else
# install icons
icondir=%{buildroot}%{_datadir}/icons/hicolor
mkdir -m755 -p $icondir/{16x16,32x32,48x48,128x128}/apps
@ -279,7 +262,12 @@ install -m644 -p -D doxywizard-6.png $icondir/16x16/apps/doxywizard.png
install -m644 -p -D doxywizard-5.png $icondir/32x32/apps/doxywizard.png
install -m644 -p -D doxywizard-4.png $icondir/48x48/apps/doxywizard.png
install -m644 -p -D doxywizard-3.png $icondir/128x128/apps/doxywizard.png
desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE1}
# install man pages
mkdir -p %{buildroot}/%{_mandir}/man1
cp doc/*.1 %{buildroot}/%{_mandir}/man1/
%if 0%{?_module_build}
rm -f %{buildroot}/%{_mandir}/man1/doxywizard.1*
%endif
%if "x%{?xapian_core_support}" == "xOFF"
@ -289,25 +277,15 @@ rm -f %{buildroot}/%{_mandir}/man1/doxyindexer.1* %{buildroot}/%{_mandir}/man1/d
# remove duplicate
rm -rf %{buildroot}/%{_docdir}/packages
# Install the asset files.
install -m644 -D --target-directory=%{buildroot}%{_jsdir}/doxygen templates/html/*.js
# Generate the macros file. Expand version/release/%%_jsdir.
mkdir -p %{buildroot}%{_rpmconfigdir}/macros.d
cat > %{buildroot}%{_rpmconfigdir}/macros.d/macros.doxygen <<'EOF'
%%doxygen_js_requires() Requires: js-doxygen >= %{version}-%{release}
%%doxygen_unbundle_buildroot() %%{_rpmconfigdir}/redhat/doxygen-unbundler "%{_jsdir}" "%%{buildroot}" %%[ %%# == 0 ? "%%{_docdir}" : "%%1"]
%%doxygen_unbundle() %{_rpmconfigdir}/redhat/doxygen-unbundler "%{_jsdir}" "" %%*
EOF
# Install the unbundler script.
install -m755 -D --target-directory=%{buildroot}%{_rpmconfigdir}/redhat %{SOURCE4}
%if ! 0%{?_module_build}
desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE1}
%endif
%check
%ctest
%files
%doc LANGUAGE.HOWTO README.md README.rpm-packaging
%doc LANGUAGE.HOWTO README.md
%license LICENSE
%if ! 0%{?_module_build}
%if "x%{?xapian_core_support}" == "xON"
@ -321,18 +299,13 @@ install -m755 -D --target-directory=%{buildroot}%{_rpmconfigdir}/redhat %{SOURCE
%{_mandir}/man1/doxyindexer.1*
%{_mandir}/man1/doxysearch.1*
%endif
%{_rpmconfigdir}/macros.d/macros.doxygen
%{_rpmconfigdir}/redhat/doxygen-unbundler
%if "x%{build_wizard}" == "xON"
%if ! 0%{?_module_build}
%files doxywizard
%{_bindir}/doxywizard
%{_mandir}/man1/doxywizard*
%{_datadir}/applications/doxywizard.desktop
%{_datadir}/icons/hicolor/*/apps/doxywizard.png
%endif
%files -n js-doxygen
%{_jsdir}/doxygen/*
%{_datadir}/icons/hicolor/*/apps/doxywizard.png
%if ! 0%{?_module_build}
%files latex
@ -340,131 +313,8 @@ install -m755 -D --target-directory=%{buildroot}%{_rpmconfigdir}/redhat %{SOURCE
%endif
%changelog
* Thu Nov 13 2025 Than Ngo <than@redhat.com> - 2:1.15.0-1
- Update to 1.15.0
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2:1.14.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Wed Jun 25 2025 Than Ngo <than@redhat.com> - 2:1.14.0-3
- Upstream fix for input buffer overflow
* Wed May 28 2025 Yaakov Selkowitz <yselkowi@redhat.com> - 2:1.14.0-2
- Use bundled spdlog on RHEL, redux
* Sun May 25 2025 Than Ngo <than@redhat.com> - 2:1.14.0-1
- Fix rhbz#2368381, update to 1.14.0
* Tue Feb 11 2025 Yaakov Selkowitz <yselkowi@redhat.com> - 2:1.13.2-5
- Use bundled spdlog on RHEL
* Mon Feb 10 2025 Than Ngo <than@redhat.com> - 2:1.13.2-4
- built with system sqlite3 and spdlog
* Sat Feb 08 2025 Than Ngo <than@redhat.com> - 2:1.13.2-3
- Introduce js-doxygen subpackage and unbundle Javascript during RPM builds
- Use system spdlog and sqlite3
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2:1.13.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Mon Jan 13 2025 Than Ngo <than@redhat.com> - 2:1.13.2-1
- Fix rhbz#2336720, Update to 1.13.2
- Fix rhbz#2336536, FTBFS in ignition-transport
* Fri Jan 03 2025 Than Ngo <than@redhat.com> - 2:1.13.1-1
- Fix rhbz#2335266, Update to 1.13.1
* Thu Jan 02 2025 Than Ngo <than@redhat.com> - 2:1.13.0-1
- Fix rhbz#2334703, Update to 1.13.0
* Mon Oct 28 2024 Than Ngo <than@redhat.com> - 2:1.12.0-3
- Fix rhbz#2295788, Non-reproducible file names in doxygen output
* Mon Oct 28 2024 Than Ngo <than@redhat.com> - 2:1.12.0-2
- Fix rhbz#x2322116, broken markdown links to anchors
* Wed Aug 07 2024 Than Ngo <than@redhat.com> - 2:1.12.0-1
- update to 1.12.0
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2:1.11.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Fri Jun 14 2024 Than Ngo <than@redhat.com> - 2:1.11.0-4
- fixed rhbz#2292250, update license
* Fri May 31 2024 Than Ngo <than@redhat.com> - 2:1.11.0-3
- removed workaround for debuginfo
* Wed May 29 2024 Than Ngo <than@redhat.com> - 2:1.11.0-2
- fixed rhbz#2283362, fix buffer overflow
* Tue May 21 2024 Than Ngo <than@redhat.com> - 2:1.11.0-1
- update to 1.11.0
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2:1.10.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Than Ngo <than@redhat.com> - 2:1.10.0-2
- don't use clang to build doxygen as workaround for a bug in gcc-14
* Tue Dec 26 2023 Than Ngo <than@redhat.com> - 1.10.0-1
- bz#2255826, update to 1.10
* Mon Sep 11 2023 Than Ngo <than@redhat.com> - 1.9.8-1
- fix bz#2235035, update to 1.9.8
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2:1.9.7-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue May 30 2023 Than Ngo <than@redhat.com> - 2:1.9.7-2
- disable build_wizard for eln
- fixed broken unicode test
* Fri May 19 2023 Than Ngo <than@redhat.com> - 2:1.9.7-1
- fix #2208417, rebase to 1.9.7
* Fri Mar 10 2023 Than Ngo <than@redhat.com> - 2:1.9.6-7
- replace obsolescent egrep with grep -E
* Fri Feb 17 2023 Than Ngo <than@redhat.com> - 2:1.9.6-6
- migrated to SPDX license
* Wed Jan 25 2023 Than Ngo <than@redhat.com> - 2:1.9.6-5
- rebuilt against new ghostscript-10
* Fri Jan 20 2023 Than Ngo <than@redhat.com> - 2:1.9.6-4
- fixed bz#2162170, add Require on texlive-wasy
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2:1.9.6-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Wed Jan 18 2023 Than Ngo <than@redhat.com> - 2:1.9.6-2
- fixed bz#2161515 - doxygen FTBFS if _module_build is 1
* Tue Jan 03 2023 Than Ngo <than@redhat.com> - 2:1.9.6-1
- fixed bz#2156564, update to 1.9.6
* Sun Sep 18 2022 Pete Walter <pwalter@fedoraproject.org> - 2:1.9.5-2
- Rebuild for llvm 15
* Fri Sep 09 2022 Than Ngo <than@redhat.com> - 2:1.9.5-1
- 1.9.5
* Thu Aug 04 2022 Than Ngo <than@redhat.com> - 2:1.9.4-2
- Fixed #2113876, Failed to build LaTex output
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2:1.9.4-1.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Fri May 06 2022 Than Ngo <than@redhat.com> - 2:1.9.4-1
- 1.9.4
* Thu Feb 17 2022 Than Ngo <than@redhat.com> - 2:1.9.4-0.20220217gite18f715e
- update to 1.9.4 snapshot
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2:1.9.1-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Feb 17 2022 Than Ngo <than@redhat.com> - 1.9.4-0.20220217gite18f715e
- update to 1.9.4 snapshot
* Wed Oct 27 2021 Than Ngo <than@redhat.com> - 2:1.9.1-12
- revert 1.9.1, noarch package built differently on different architectures

View file

@ -1,2 +1,2 @@
SHA512 (doxywizard-icons.tar.xz) = 865a86d7535e64ad92e36ba1f901d51cd6b603e762e5c68761a45bc1f965a36e6a6c8d29468ecb2ec799f0add2347537723832aff6660c76af453f80a0a370ad
SHA512 (doxygen-1.15.0.src.tar.gz) = e53cc8da6cf1fe3ca3b3637647ed6afa28365351eac81d010f6691d939df5e449b3d898a6f695dd850d12659dfd7018fc864071b30fbca5dd196dc094ec4371e
SHA512 (doxygen-e18f715eb55121a4219d00bc4d824cebf1fb504b.tar.gz) = 312b9c77444c9b81f5514f83bde113f22a51f83d76b7c7b426ed18a461c929d088cb1717c779c5c08cc0939b50a2f00dfe61754ee1a4dee3a69f70aedcef2043