void-packages/srcpkgs/rstudio/patches/0002-Check-for-backtrace-function-in-cmake.patch
Đoàn Trần Công Danh 103ab731ab srcpkgs/r*: convert patches to -Np1
* runit is kept at -Np0

```sh
git grep -l '^patch_args=-Np0' "srcpkgs/$1*/template" |
while read template; do
	for p in ${template%/template}/patches/*; do
		sed -i '
			\,^[+-][+-][+-] /dev/null,b
			/^[*-]\+ [0-9]\+\(,[0-9]\+\)\? [*-]\+$/b
			s,^[*][*][*] ,&a/,
			/^--- /{
				s,\(^--- \)\(./\)*,\1a/,
				s,[.-][Oo][Rr][Ii][Gg]\([	/]\),\1,
				s/[.-][Oo][Rr][Ii][Gg]$//
				s/[.]patched[.]\([^.]\)/.\1/
				h
			}
			/^+++ -/{
				g
				s/^--- a/+++ b/
				b
			}
			s,\(^+++ \)\(./\)*,\1b/,
		' "$p"
	done
	sed -i '/^patch_args=/d' $template
done
```
2021-06-20 13:17:29 +07:00

69 lines
2 KiB
Diff

From f6b65fb4b1ab174b4aab898f4bb83d0b83a2bcb1 Mon Sep 17 00:00:00 2001
From: John <johnz@posteo.net>
Date: Fri, 29 Nov 2019 10:41:03 +0100
Subject: [PATCH 2/3] Check for backtrace function in cmake
---
src/cpp/core/Backtrace.cpp | 8 +++++---
src/cpp/core/CMakeLists.txt | 1 +
src/cpp/core/config.h.in | 1 +
3 files changed, 7 insertions(+), 3 deletions(-)
diff --git src/cpp/core/Backtrace.cpp src/cpp/core/Backtrace.cpp
index a345648371..def1189eb0 100644
--- a/src/cpp/core/Backtrace.cpp
+++ b/src/cpp/core/Backtrace.cpp
@@ -16,7 +16,9 @@
#include <core/Backtrace.hpp>
#include <core/RegexUtils.hpp>
-#ifndef _WIN32
+#include "config.h"
+
+#ifdef HAVE_BACKTRACE
# include <core/Algorithm.hpp>
# include <iostream>
# include <boost/regex.hpp>
@@ -32,7 +34,7 @@ std::string demangle(const std::string& name)
{
std::string result = name;
-#ifndef _WIN32
+#ifdef HAVE_BACKTRACE
int status = -1;
char* demangled = ::abi::__cxa_demangle(name.c_str(), nullptr, nullptr, &status);
if (status == 0) {
@@ -46,7 +48,7 @@ std::string demangle(const std::string& name)
void printBacktrace(std::ostream& os)
{
-#ifndef _WIN32
+#ifdef HAVE_BACKTRACE
os << "Backtrace (most recent calls first):" << std::endl << std::endl;
diff --git src/cpp/core/CMakeLists.txt src/cpp/core/CMakeLists.txt
index 8cd1080ae8..9a18bcae77 100644
--- a/src/cpp/core/CMakeLists.txt
+++ b/src/cpp/core/CMakeLists.txt
@@ -156,6 +156,7 @@ if (UNIX)
check_function_exists(getpeereid HAVE_GETPEEREID)
check_function_exists(setresuid HAVE_SETRESUID)
check_function_exists(group_member HAVE_GROUP_MEMBER)
+ check_function_exists(backtrace HAVE_BACKTRACE)
if(EXISTS "/proc/self")
set(HAVE_PROCSELF TRUE)
endif()
diff --git src/cpp/core/config.h.in src/cpp/core/config.h.in
index cb4ef42be0..a2ec47c51f 100644
--- a/src/cpp/core/config.h.in
+++ b/src/cpp/core/config.h.in
@@ -25,4 +25,5 @@
#cmakedefine HAVE_SETRESUID
#cmakedefine HAVE_SCANDIR_POSIX
#cmakedefine HAVE_GROUP_MEMBER
+#cmakedefine HAVE_BACKTRACE
#cmakedefine RSTUDIO_SERVER
--
2.24.0