From a3ff21eb2ba1b7a3565d736c0da72f0c9a135407 Mon Sep 17 00:00:00 2001 From: "Kelly (KT) Thompson" Date: Wed, 31 Oct 2018 11:03:13 -0600 Subject: Provide a newer doxygen version. (#9681) * Provide a newer doxygen version. + Also provide a patch that allows collaboration diagrams to work properly with C++ std::shared_ptr. Ref: https://github.com/Sleepyowl/doxygen/commit/6c380ba91ae41c6d5c409a5163119318932ae2a3?diff=unified --- .../repos/builtin/packages/doxygen/package.py | 6 +++++ .../builtin/packages/doxygen/shared_ptr.patch | 26 ++++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 var/spack/repos/builtin/packages/doxygen/shared_ptr.patch (limited to 'var') diff --git a/var/spack/repos/builtin/packages/doxygen/package.py b/var/spack/repos/builtin/packages/doxygen/package.py index d40af90b6d..3fa767f50d 100644 --- a/var/spack/repos/builtin/packages/doxygen/package.py +++ b/var/spack/repos/builtin/packages/doxygen/package.py @@ -16,6 +16,7 @@ class Doxygen(CMakePackage): homepage = "http://www.stack.nl/~dimitri/doxygen/" url = "http://ftp.stack.nl/pub/users/dimitri/doxygen-1.8.10.src.tar.gz" + version('1.8.14', '41d8821133e8d8104280030553e2b42b') version('1.8.12', '08e0f7850c4d22cb5188da226b209a96') version('1.8.11', 'f4697a444feaed739cfa2f0644abc19b') version('1.8.10', '79767ccd986f12a0f949015efb5f058f') @@ -30,3 +31,8 @@ class Doxygen(CMakePackage): # optional dependencies depends_on("graphviz", when="+graphviz", type='run') + + # Support C++14's std::shared_ptr. For details about this patch, see + # https://github.com/Sleepyowl/doxygen/commit/6c380ba91ae41c6d5c409a5163119318932ae2a3?diff=unified + # Also - https://github.com/doxygen/doxygen/pull/6588 + patch('shared_ptr.patch', when='@1.8.14') diff --git a/var/spack/repos/builtin/packages/doxygen/shared_ptr.patch b/var/spack/repos/builtin/packages/doxygen/shared_ptr.patch new file mode 100644 index 0000000000..87581b5152 --- /dev/null +++ b/var/spack/repos/builtin/packages/doxygen/shared_ptr.patch @@ -0,0 +1,26 @@ +diff --git a/src/doxygen.cpp b/src/doxygen.cpp +index 00826d6..a474129 100644 +--- a/src/doxygen.cpp ++++ b/src/doxygen.cpp +@@ -342,6 +342,7 @@ static STLInfo g_stlinfo[] = + { "auto_ptr", 0, 0, "T", "ptr", 0, 0, FALSE, FALSE }, // deprecated + { "smart_ptr", 0, 0, "T", "ptr", 0, 0, FALSE, FALSE }, // C++11 + { "unique_ptr", 0, 0, "T", "ptr", 0, 0, FALSE, FALSE }, // C++11 ++ { "shared_ptr", 0, 0, "T", "ptr", 0, 0, FALSE, FALSE }, // C++14 + { "weak_ptr", 0, 0, "T", "ptr", 0, 0, FALSE, FALSE }, // C++11 + { "ios_base", 0, 0, 0, 0, 0, 0, FALSE, FALSE }, // C++11 + { "error_code", 0, 0, 0, 0, 0, 0, FALSE, FALSE }, // C++11 +@@ -515,7 +516,7 @@ static void addSTLClasses(EntryNav *rootNav) + { + addSTLMember(classEntryNav,info->templType2,info->templName2); + } +- if (fullName=="std::auto_ptr" || fullName=="std::smart_ptr" || ++ if (fullName=="std::auto_ptr" || fullName=="std::smart_ptr" || fullName=="std::shared_ptr" || + fullName=="std::unique_ptr" || fullName=="std::weak_ptr") + { + Entry *memEntry = new Entry; +@@ -11770,4 +11771,3 @@ void generateOutput() + delete Doxygen::symbolStorage; + g_successfulRun=TRUE; + } +- -- cgit v1.2.3-60-g2f50