Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
From 1cbe337659291d4eb0f69ec666f408963e470d96 Mon Sep 17 00:00:00 2001
From: MaoCPU <mao.c.pu@gmail.com>
Date: Thu, 27 Apr 2017 04:35:06 +0100
Subject: [PATCH] fix SocketProxy problem after openssl-1.1.0 update
---
PKGBUILD | 24 +++++++++++++++++-------
rroutines-style.patch | 10 ++++++++++
socketproxy-openssl.patch | 12 ++++++++++++
3 files changed, 39 insertions(+), 7 deletions(-)
create mode 100644 rroutines-style.patch
create mode 100644 socketproxy-openssl.patch
diff --git a/PKGBUILD b/PKGBUILD
index 1f37123..f49fb7c 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,35 +2,39 @@
# Contributor: Alexsandr Pavlov <kidoz at mail dot ru>
# Maintainer: Philipp A. <flying-sheep@web.de>
pkgname=rstudio-desktop
-pkgver=1.0.136
+pkgver=1.0.143
_gwtver=2.7.0
_ginver=1.5
_clangver=3.6.1
-pkgrel=2
+pkgrel=1
pkgdesc="Open source and enterprise-ready professional software for the R community"
arch=('i686' 'x86_64')
url="http://www.rstudio.com/"
license=('AGPL')
depends=(
- 'r>=2.11.1' 'boost-libs>=1.50'
+ 'r>=2.11.1' 'boost-libs>=1.63'
pango shared-mime-info mathjax pandoc clang
qt5-base qt5-declarative qt5-location qt5-sensors qt5-svg qt5-webkit qt5-xmlpatterns
)
-makedepends=('cmake>=2.8' 'boost>=1.50' java-environment apache-ant openssl pam)
+makedepends=('cmake>=2.8' 'boost>=1.63' java-environment apache-ant openssl pam)
conflicts=('rstudio-desktop-bin' 'rstudio-desktop-git' 'rstudio-desktop-preview-bin')
install=rstudio-desktop.install
source=("rstudio-$pkgver.tar.gz::https://github.com/rstudio/rstudio/tarball/v$pkgver"
"https://s3.amazonaws.com/rstudio-buildtools/gin-$_ginver.zip"
"https://s3.amazonaws.com/rstudio-buildtools/gwt-$_gwtver.zip"
"https://s3.amazonaws.com/rstudio-dictionaries/core-dictionaries.zip"
- "qdatastream.patch")
+ "rroutines-style.patch"
+ "socketproxy-openssl.patch"
+ )
noextract=('core-dictionaries.zip'
"gin-$_ginver.zip")
-sha256sums=('171fca1211582294b1c43be5cece1d67125f71dc34ea84f2db874d3611a49a83'
+sha256sums=('8d597da85b007e2cdbd5c5e7e0005907c7672c2f6dd87c8481c27032f6e57705'
'f561f4eb5d5fe1cff95c881e6aed53a86e9f0de8a52863295a8600375f96ab94'
'aa65061b73836190410720bea422eb8e787680d7bc0c2b244ae6c9a0d24747b3'
'4341a9630efb9dcf7f215c324136407f3b3d6003e1c96f2e5e1f9f14d5787494'
- '3147f02fe9fb557c7dee4d332db9626da4ac4b563ad3d00fc68c6f955afd0a41')
+ 'b953527f46320d64425f7de257f774d7f354199b7c6a71f126ed467b6e6dd52b'
+ '65b9f9b1f159bbfbcb1544f444e210e58549c0d1c0c6421cf750ce3517088134'
+ )
_pkgname=rstudio
@@ -41,6 +45,12 @@ prepare() {
build() {
cd "$srcdir/$_pkgname-$_pkgname-"*
+ patch -p 1 -i "$srcdir/rroutines-style.patch"
+ # problem with openssl-1.1.0. fixed in rstudio-1.1.x:
+ # https://github.com/rstudio/rstudio/pull/1063/commits/e8c9a7783f3ff44dea2e2464b4bf2904325c72cd
+ # replicating upstream patch
+ patch -p 1 -i "$srcdir/socketproxy-openssl.patch"
+
install -d src/gwt/lib/{gin/$_ginver,gwt/$_gwtver}
cp -r "$srcdir/gin-$_ginver/"* "src/gwt/lib/gin/$_ginver"
diff --git a/rroutines-style.patch b/rroutines-style.patch
new file mode 100644
index 0000000..522e8bc
--- /dev/null
+++ b/rroutines-style.patch
@@ -0,0 +1,10 @@
+--- a/src/cpp/r/RRoutines.cpp
++++ b/src/cpp/r/RRoutines.cpp
+@@ -59,7 +59,6 @@
+ nullMethodDef.fun = NULL ;
+ nullMethodDef.numArgs = 0 ;
+ nullMethodDef.types = NULL;
+- nullMethodDef.styles = NULL;
+ s_cMethods.push_back(nullMethodDef);
+ pCMethods = &s_cMethods[0];
+ }
diff --git a/socketproxy-openssl.patch b/socketproxy-openssl.patch
new file mode 100644
index 0000000..7a406b5
--- /dev/null
+++ b/socketproxy-openssl.patch
@@ -0,0 +1,12 @@
+--- a/src/cpp/core/http/SocketProxy.cpp
++++ b/src/cpp/core/http/SocketProxy.cpp
+@@ -148,8 +148,7 @@
+ #ifndef _WIN32
+ bool isSslShutdownError(const core::Error& error)
+ {
+- return error.code().category() == boost::asio::error::get_ssl_category() &&
+- error.code().value() == ERR_PACK(ERR_LIB_SSL, 0, SSL_R_SHORT_READ);
++ return error.code() == boost::asio::ssl::error::stream_truncated;
+ }
+ #else
+ bool isSslShutdownError(const core::Error& error)
--
libgit2 0.25.1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.