forked from pool/doxygen
checkin
OBS-URL: https://build.opensuse.org/package/show/devel:tools/doxygen?expand=0&rev=212
This commit is contained in:
commit
3d2c196ffc
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.osc
|
7
_constraints
Normal file
7
_constraints
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<constraints>
|
||||||
|
<hardware>
|
||||||
|
<physicalmemory>
|
||||||
|
<size unit="M">4096</size>
|
||||||
|
</physicalmemory>
|
||||||
|
</hardware>
|
||||||
|
</constraints>
|
4
_multibuild
Normal file
4
_multibuild
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<multibuild>
|
||||||
|
<package>doxywizard</package>
|
||||||
|
</multibuild>
|
||||||
|
|
3
doxygen-1.11.0.src.tar.gz
Normal file
3
doxygen-1.11.0.src.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:c9edfdf8c5f3e8bee0c4c967850caead27099883ee7ff8b11044e6d63faf3607
|
||||||
|
size 8447729
|
BIN
doxygen-1.12.0.src.tar.gz
(Stored with Git LFS)
Normal file
BIN
doxygen-1.12.0.src.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
11
doxygen-no-libclang-cpp.patch
Normal file
11
doxygen-no-libclang-cpp.patch
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
--- doxygen-1.8.20/src/CMakeLists.txt.orig 2020-10-06 15:56:02.841527965 +0200
|
||||||
|
+++ doxygen-1.8.20/src/CMakeLists.txt 2020-10-06 16:07:14.226206979 +0200
|
||||||
|
@@ -341,7 +341,7 @@
|
||||||
|
set(CLANG_LIBS libclang clangTooling)
|
||||||
|
else() # dynamically linked version of clang
|
||||||
|
llvm_config(doxymain USE_SHARED support)
|
||||||
|
- set(CLANG_LIBS libclang clang-cpp)
|
||||||
|
+ set(CLANG_LIBS libclang clangTooling)
|
||||||
|
endif()
|
||||||
|
target_compile_definitions(doxygen PRIVATE ${LLVM_DEFINITIONS})
|
||||||
|
endif()
|
12
doxygen-no-lowercase-man-names.patch
Normal file
12
doxygen-no-lowercase-man-names.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
Index: doxygen-1.10.0/src/fortranscanner.l
|
||||||
|
===================================================================
|
||||||
|
--- doxygen-1.10.0.orig/src/fortranscanner.l
|
||||||
|
+++ doxygen-1.10.0/src/fortranscanner.l
|
||||||
|
@@ -2697,7 +2697,6 @@ static void initEntry(yyscan_t yyscanner
|
||||||
|
static void addCurrentEntry(yyscan_t yyscanner,bool case_insens)
|
||||||
|
{
|
||||||
|
struct yyguts_t *yyg = (struct yyguts_t*)yyscanner;
|
||||||
|
- if (case_insens) yyextra->current->name = yyextra->current->name.lower();
|
||||||
|
//printf("===Adding entry %s to %s\n", qPrint(yyextra->current->name), qPrint(yyextra->current_root->name));
|
||||||
|
yyextra->last_entry = yyextra->current;
|
||||||
|
yyextra->current_root->moveToSubEntryAndRefresh(yyextra->current);
|
1926
doxygen.changes
Normal file
1926
doxygen.changes
Normal file
File diff suppressed because it is too large
Load Diff
104
doxygen.spec
Normal file
104
doxygen.spec
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
#
|
||||||
|
# spec file for package doxygen
|
||||||
|
#
|
||||||
|
# Copyright (c) 2024 SUSE LLC
|
||||||
|
#
|
||||||
|
# All modifications and additions to the file contributed by third parties
|
||||||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
|
# upon. The license for this file, and modifications and additions to the
|
||||||
|
# file, is the same license as for the pristine package itself (unless the
|
||||||
|
# license for the pristine package is not an Open Source License, in which
|
||||||
|
# case the license is the MIT License). An "Open Source License" is a
|
||||||
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
%if 0%{?sle_version} >= 150100
|
||||||
|
# build with "--with libclang" to enable libclang support
|
||||||
|
%bcond_with libclang
|
||||||
|
%endif
|
||||||
|
|
||||||
|
Name: doxygen
|
||||||
|
Version: 1.12.0
|
||||||
|
Release: 0
|
||||||
|
Summary: Automated C, C++, and Java Documentation Generator
|
||||||
|
# qtools are used for building and they are GPL-3.0 licensed
|
||||||
|
License: GPL-2.0-or-later
|
||||||
|
Group: Development/Tools/Doc Generators
|
||||||
|
URL: https://www.doxygen.nl/
|
||||||
|
Source0: https://www.doxygen.nl/files/doxygen-%{version}.src.tar.gz
|
||||||
|
# suse specific
|
||||||
|
Patch1: %{name}-no-lowercase-man-names.patch
|
||||||
|
# The unified libclang-cpp library doesn't exist on older Leap / SLE
|
||||||
|
Patch2: doxygen-no-libclang-cpp.patch
|
||||||
|
Patch3: reproducible.patch
|
||||||
|
BuildRequires: bison
|
||||||
|
BuildRequires: cmake >= 3.14
|
||||||
|
BuildRequires: flex
|
||||||
|
%if 0%{?suse_version} <= 1500
|
||||||
|
BuildRequires: gcc9-c++
|
||||||
|
%else
|
||||||
|
BuildRequires: gcc-c++
|
||||||
|
%endif
|
||||||
|
BuildRequires: python3-base
|
||||||
|
BuildRequires: python3-xml
|
||||||
|
# Do not bother building documentation with latex since it is present on the
|
||||||
|
# web trivialy for all versions of doxygen
|
||||||
|
Obsoletes: doxygen-doc
|
||||||
|
%if %{with libclang}
|
||||||
|
BuildRequires: llvm-clang-devel
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description
|
||||||
|
Doxygen is the de facto standard tool for generating documentation
|
||||||
|
from annotated C++ sources, but it also supports other popular
|
||||||
|
programming languages such as C, Objective-C, C-sharp, PHP, Java,
|
||||||
|
Python, IDL (Corba, Microsoft, and UNO/OpenOffice flavors), Fortran,
|
||||||
|
and to some extent D. Doxygen also supports the hardware description
|
||||||
|
language VHDL.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q
|
||||||
|
# Leap 15 and SLE don't accept '%%autopatch -M'
|
||||||
|
%patch -P 1 -p1
|
||||||
|
%if %{with libclang}
|
||||||
|
%if 0%{?sle_version} == 150100 || (0%{?sle_version} == 150200 && !0%{?is_opensuse})
|
||||||
|
%patch -P 2 -p1
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
%patch -P 3 -p1
|
||||||
|
|
||||||
|
%build
|
||||||
|
%cmake \
|
||||||
|
-Dbuild_doc=OFF \
|
||||||
|
-Dbuild_xmlparser=ON \
|
||||||
|
-Dbuild_search=OFF \
|
||||||
|
-Dbuild_wizard=OFF \
|
||||||
|
%if %{with libclang}
|
||||||
|
-Duse_libclang=ON \
|
||||||
|
%endif
|
||||||
|
%if 0%{?suse_version} <= 1500
|
||||||
|
-DCMAKE_C_COMPILER=gcc-9 \
|
||||||
|
-DCMAKE_CXX_COMPILER=g++-9 \
|
||||||
|
%endif
|
||||||
|
-DCMAKE_EXE_LINKER_FLAGS="-Wl,--as-needed -Wl,-z,relro,-z,now" \
|
||||||
|
-DCMAKE_MODULE_LINKER_FLAGS="-Wl,--as-needed -Wl,-z,relro,-z,now" \
|
||||||
|
-DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed -Wl,-z,relro,-z,now" \
|
||||||
|
-DBUILD_SHARED_LIBS=OFF \
|
||||||
|
-DBUILD_STATIC_LIBS=ON
|
||||||
|
%cmake_build
|
||||||
|
|
||||||
|
%install
|
||||||
|
%cmake_install
|
||||||
|
mkdir -p %{buildroot}%{_mandir}/man1/
|
||||||
|
install -m 644 doc/doxygen.1 %{buildroot}%{_mandir}/man1/
|
||||||
|
|
||||||
|
%files
|
||||||
|
%license LICENSE
|
||||||
|
%attr(644,root,root) %{_mandir}/man1/doxygen.1%{?ext_man}
|
||||||
|
%attr(755,root,root) %{_bindir}/*
|
||||||
|
|
||||||
|
%changelog
|
5
doxywizard.desktop
Normal file
5
doxywizard.desktop
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
Exec=doxywizard
|
||||||
|
Name=Doxygen Wizard
|
||||||
|
|
95
doxywizard.spec
Normal file
95
doxywizard.spec
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
#
|
||||||
|
# spec file for package doxywizard
|
||||||
|
#
|
||||||
|
# Copyright (c) 2024 SUSE LLC
|
||||||
|
#
|
||||||
|
# All modifications and additions to the file contributed by third parties
|
||||||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
|
# upon. The license for this file, and modifications and additions to the
|
||||||
|
# file, is the same license as for the pristine package itself (unless the
|
||||||
|
# license for the pristine package is not an Open Source License, in which
|
||||||
|
# case the license is the MIT License). An "Open Source License" is a
|
||||||
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
Name: doxywizard
|
||||||
|
Version: 1.12.0
|
||||||
|
Release: 0
|
||||||
|
Summary: Graphical User Interface for Doxygen
|
||||||
|
# qtools are used for building and they are GPL-3.0 licensed
|
||||||
|
License: GPL-2.0-or-later
|
||||||
|
Group: Development/Tools/Doc Generators
|
||||||
|
URL: https://www.doxygen.nl/
|
||||||
|
Source: https://www.doxygen.nl/files/doxygen-%{version}.src.tar.gz
|
||||||
|
Source1: doxywizard.desktop
|
||||||
|
BuildRequires: bison
|
||||||
|
BuildRequires: cmake >= 3.14
|
||||||
|
BuildRequires: flex
|
||||||
|
%if 0%{?suse_version} <= 1500
|
||||||
|
BuildRequires: gcc9-c++
|
||||||
|
%else
|
||||||
|
BuildRequires: gcc-c++
|
||||||
|
%endif
|
||||||
|
BuildRequires: libjpeg-devel
|
||||||
|
BuildRequires: pkgconfig
|
||||||
|
BuildRequires: python3-base
|
||||||
|
BuildRequires: python3-xml
|
||||||
|
BuildRequires: update-desktop-files
|
||||||
|
BuildRequires: pkgconfig(Qt5Core)
|
||||||
|
BuildRequires: pkgconfig(Qt5Gui)
|
||||||
|
BuildRequires: pkgconfig(Qt5Widgets)
|
||||||
|
BuildRequires: pkgconfig(Qt5Xml)
|
||||||
|
Requires: doxygen = %{version}
|
||||||
|
%if 0%{?suse_version} > 1230 && 0%{?suse_version} != 1315
|
||||||
|
# for make tests
|
||||||
|
BuildRequires: libxml2-tools
|
||||||
|
BuildRequires: texlive-bibtex
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description
|
||||||
|
Doxywizard is a graphical front-end to read/edit/write doxygen
|
||||||
|
configuration files.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -p1 -n doxygen-%{version}
|
||||||
|
|
||||||
|
%build
|
||||||
|
%cmake \
|
||||||
|
-Dbuild_wizard=ON \
|
||||||
|
%if 0%{?suse_version} <= 1500
|
||||||
|
-DCMAKE_C_COMPILER=gcc-9 \
|
||||||
|
-DCMAKE_CXX_COMPILER=g++-9 \
|
||||||
|
%endif
|
||||||
|
-DCMAKE_EXE_LINKER_FLAGS="-Wl,--as-needed -Wl,-z,relro,-z,now" \
|
||||||
|
-DCMAKE_MODULE_LINKER_FLAGS="-Wl,--as-needed -Wl,-z,relro,-z,now" \
|
||||||
|
-DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed -Wl,-z,relro,-z,now" \
|
||||||
|
-DBUILD_SHARED_LIBS=OFF \
|
||||||
|
-DBUILD_STATIC_LIBS=ON
|
||||||
|
%cmake_build
|
||||||
|
|
||||||
|
%if 0%{?suse_version} > 1230 && 0%{?suse_version} != 1315
|
||||||
|
%check
|
||||||
|
export LANG=C.UTF-8
|
||||||
|
# testing doxygen package here to avoid build
|
||||||
|
# cycle between latex and doxygen
|
||||||
|
%ctest
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%install
|
||||||
|
%cmake_install
|
||||||
|
rm %{buildroot}%{_bindir}/doxygen
|
||||||
|
mkdir -p %{buildroot}%{_mandir}/man1/
|
||||||
|
install -m 644 doc/doxywizard.1 %{buildroot}%{_mandir}/man1/
|
||||||
|
rm %{buildroot}%{_mandir}/man1/doxygen.1
|
||||||
|
%suse_update_desktop_file -i doxywizard Development Documentation
|
||||||
|
|
||||||
|
%files
|
||||||
|
%attr(755,root,root) %{_bindir}/doxywizard
|
||||||
|
%{_datadir}/applications/doxywizard.desktop
|
||||||
|
%{_mandir}/man1/doxywizard.1%{?ext_man}
|
||||||
|
|
||||||
|
%changelog
|
75
reproducible.patch
Normal file
75
reproducible.patch
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
Index: doxygen-1.10.0/deps/filesystem/filesystem.hpp
|
||||||
|
===================================================================
|
||||||
|
--- doxygen-1.10.0.orig/deps/filesystem/filesystem.hpp
|
||||||
|
+++ doxygen-1.10.0/deps/filesystem/filesystem.hpp
|
||||||
|
@@ -5700,12 +5700,13 @@ public:
|
||||||
|
impl(const path& path, directory_options options)
|
||||||
|
: _base(path)
|
||||||
|
, _options(options)
|
||||||
|
- , _dir(nullptr)
|
||||||
|
+ , _namelist(nullptr)
|
||||||
|
+ , _namelisti(-1)
|
||||||
|
, _entry(nullptr)
|
||||||
|
{
|
||||||
|
if (!path.empty()) {
|
||||||
|
- do { _dir = ::opendir(path.native().c_str()); } while(errno == EINTR);
|
||||||
|
- if (!_dir) {
|
||||||
|
+ _namelisti = _namelistn = ::scandir(path.native().c_str(), &_namelist, NULL, alphasort);
|
||||||
|
+ if (_namelistn == -1) {
|
||||||
|
auto error = errno;
|
||||||
|
_base = filesystem::path();
|
||||||
|
if ((error != EACCES && error != EPERM) || (options & directory_options::skip_permission_denied) == directory_options::none) {
|
||||||
|
@@ -5720,19 +5721,23 @@ public:
|
||||||
|
impl(const impl& other) = delete;
|
||||||
|
~impl()
|
||||||
|
{
|
||||||
|
- if (_dir) {
|
||||||
|
- ::closedir(_dir);
|
||||||
|
+ if (_namelist) {
|
||||||
|
+ for (int i=_namelistn-1; i>=0; i--) {
|
||||||
|
+ free(_namelist[i]);
|
||||||
|
+ }
|
||||||
|
+ free(_namelist);
|
||||||
|
+ _namelist = nullptr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void increment(std::error_code& ec)
|
||||||
|
{
|
||||||
|
- if (_dir) {
|
||||||
|
+ if (_namelist) {
|
||||||
|
bool skip;
|
||||||
|
do {
|
||||||
|
skip = false;
|
||||||
|
errno = 0;
|
||||||
|
- do { _entry = ::readdir(_dir); } while(errno == EINTR);
|
||||||
|
- if (_entry) {
|
||||||
|
+ if (_namelisti > 0 ) {
|
||||||
|
+ _entry = _namelist[--_namelisti];
|
||||||
|
_dir_entry._path = _base;
|
||||||
|
_dir_entry._path.append_name(_entry->d_name);
|
||||||
|
copyToDirEntry();
|
||||||
|
@@ -5742,8 +5747,11 @@ public:
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
- ::closedir(_dir);
|
||||||
|
- _dir = nullptr;
|
||||||
|
+ for (int i=_namelistn-1; i>=0; i--) {
|
||||||
|
+ free(_namelist[i]);
|
||||||
|
+ }
|
||||||
|
+ free(_namelist);
|
||||||
|
+ _namelist = nullptr;
|
||||||
|
_dir_entry._path.clear();
|
||||||
|
if (errno && errno != EINTR) {
|
||||||
|
ec = detail::make_system_error();
|
||||||
|
@@ -5772,7 +5780,9 @@ public:
|
||||||
|
}
|
||||||
|
path _base;
|
||||||
|
directory_options _options;
|
||||||
|
- DIR* _dir;
|
||||||
|
+ int _namelisti;
|
||||||
|
+ int _namelistn;
|
||||||
|
+ struct dirent **_namelist;
|
||||||
|
struct ::dirent* _entry;
|
||||||
|
directory_entry _dir_entry;
|
||||||
|
std::error_code _ec;
|
Loading…
Reference in New Issue
Block a user