From 834256e464481b86fcc1e6c1125d27fefb8fd5d8 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Tue, 21 Jul 2015 19:31:24 -0400 Subject: [PATCH] Add Doxygen 1.8 (GCC4 only). --- app-doc/doxygen/doxygen-1.8.10.recipe | 71 ++++++++++++++++++++ app-doc/doxygen/patches/doxygen-1.8.10.patch | 69 +++++++++++++++++++ 2 files changed, 140 insertions(+) create mode 100644 app-doc/doxygen/doxygen-1.8.10.recipe create mode 100644 app-doc/doxygen/patches/doxygen-1.8.10.patch diff --git a/app-doc/doxygen/doxygen-1.8.10.recipe b/app-doc/doxygen/doxygen-1.8.10.recipe new file mode 100644 index 000000000..58f381aa8 --- /dev/null +++ b/app-doc/doxygen/doxygen-1.8.10.recipe @@ -0,0 +1,71 @@ +SUMMARY="Generate documentation from source code" +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#, PHP, Java, Python, IDL (Corba and \ +Microsoft flavors), Fortran, VHDL, Tcl, and to some extent D. +Doxygen can: + * generate an on-line documentation browser (in HTML) and/or an \ +off-line reference manual (in LaTeX) from a set of documented source \ +files. There is also support for generating output in RTF (MS-Word), \ +PostScript, hyperlinked PDF, compressed HTML, and Unix man pages. The \ +documentation is extracted directly from the sources, which makes it much \ +easier to keep the documentation consistent with the source code. + * extract the code structure from undocumented source files. This is \ +very useful to quickly find your way in large source distributions. \ +Doxygen can also visualize the relations between the various elements \ +by means of include dependency graphs, inheritance diagrams, and \ +collaboration diagrams, which are all generated automatically." +HOMEPAGE="http://www.doxygen.org" +COPYRIGHT="1997-2015 Dimitri van Heesch" +LICENSE="GNU GPL v2" +SOURCE_URI="http://ftp.stack.nl/pub/users/dimitri/doxygen-$portVersion.src.tar.gz" +CHECKSUM_SHA256="cedf78f6d213226464784ecb999b54515c97eab8a2f9b82514292f837cf88b93" +PATCHES="doxygen-$portVersion.patch" +REVISION="1" +ARCHITECTURES="x86 ?x86_64" +if [ $effectiveTargetArchitecture != x86_gcc2 ]; then + # x86_gcc2 is fine as primary target architecture as long as we're building + # for a different secondary architecture. + ARCHITECTURES="$ARCHITECTURES x86_gcc2" +else + ARCHITECTURES="$ARCHITECTURES !x86_gcc2" +fi +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + doxygen = $portVersion compat >= 1.8 + cmd:doxygen = $portVersion compat >= 1.8 + cmd:doxytag = $portVersion compat >= 1.8 + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libiconv$secondaryArchSuffix + " +BUILD_REQUIRES=" + devel:libiconv$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + haiku${secondaryArchSuffix}_devel + cmd:cmake + cmd:python + cmd:bison + cmd:flex + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:make + cmd:perl + cmd:sed + " + +BUILD() +{ + # doesn't use GNUInstallDirs so we can't use $cmakeDirArgs + cmake . -DCMAKE_INSTALL_PREFIX=$prefix + make $jobArgs +} + +INSTALL() +{ + make install +} diff --git a/app-doc/doxygen/patches/doxygen-1.8.10.patch b/app-doc/doxygen/patches/doxygen-1.8.10.patch new file mode 100644 index 000000000..1bfda9d69 --- /dev/null +++ b/app-doc/doxygen/patches/doxygen-1.8.10.patch @@ -0,0 +1,69 @@ +From a824ee4bf0a5f9914232352282507bee339b0331 Mon Sep 17 00:00:00 2001 +From: Augustin Cavalier +Date: Tue, 21 Jul 2015 18:48:26 -0400 +Subject: [PATCH] Fixes to build on Haiku. + +--- + qtools/qglobal.h | 6 ++++-- + qtools/qthread_unix.cpp | 2 +- + src/doxygen.cpp | 2 +- + 3 files changed, 6 insertions(+), 4 deletions(-) + +diff --git a/qtools/qglobal.h b/qtools/qglobal.h +index c3f7594..997fd92 100644 +--- a/qtools/qglobal.h ++++ b/qtools/qglobal.h +@@ -1,5 +1,5 @@ + /**************************************************************************** +-** ++** + ** + ** Global type declarations and definitions + ** +@@ -134,6 +134,8 @@ + #define _OS_CYGWIN_ + #elif defined(__BEOS__) + #define _OS_BEOS_ ++#elif defined(__HAIKU__) ++#define _OS_HAIKU_ + #elif defined(__MINT__) + #define _OS_MINT_ + #else +@@ -276,7 +278,7 @@ + #define _CC_V2002 + #else + #define _CC_V1998 +-#endif ++#endif + #endif + + #ifndef Q_PACKED +diff --git a/qtools/qthread_unix.cpp b/qtools/qthread_unix.cpp +index b536583..ab4c8fc 100644 +--- a/qtools/qthread_unix.cpp ++++ b/qtools/qthread_unix.cpp +@@ -132,7 +132,7 @@ void QThread::start() + pthread_attr_t attr; + pthread_attr_init(&attr); + pthread_attr_setdetachstate(&attr,PTHREAD_CREATE_DETACHED); +- pthread_attr_setinheritsched(&attr, PTHREAD_INHERIT_SCHED); ++ //pthread_attr_setinheritsched(&attr, PTHREAD_INHERIT_SCHED); + if (d->stackSize>0) + { + #if defined(_POSIX_THREAD_ATTR_STACKSIZE) && (_POSIX_THREAD_ATTR_STACKSIZE-0>0) +diff --git a/src/doxygen.cpp b/src/doxygen.cpp +index 647b5c8..ca66123 100644 +--- a/src/doxygen.cpp ++++ b/src/doxygen.cpp +@@ -10277,7 +10277,7 @@ void readConfiguration(int argc, char **argv) + { + if (optind+4parse(df)) + { + err("error opening or reading configuration file %s!\n",argv[optind+4]); +-- +2.2.2 +