Compare commits
2 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
| 544c09a1d0 | |||
| 59abbd66e9 |
@@ -1,20 +1,17 @@
|
||||
From 29dab1f5996b759ff3c97362e13a316f25641575 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= <dcermak@suse.com>
|
||||
Date: Mon, 13 Jan 2020 11:27:06 +0100
|
||||
Subject: [PATCH 1/8] Unbundle mathjax and pandoc
|
||||
From 0e2903f2de5fc939c0d0a6c84b5f7a6cebb8ed77 Mon Sep 17 00:00:00 2001
|
||||
From: haem <mixosaurus+obs@pm.me>
|
||||
Date: Fri, 12 Sep 2025 17:16:25 +0200
|
||||
Subject: [PATCH 01/12] Unbundle mathjax and pandoc
|
||||
|
||||
Use find_file() & find_program() functions to find the dependencies in the
|
||||
dependencies/ subdirectory first. If they are not there, use the system paths
|
||||
instead.
|
||||
---
|
||||
src/cpp/session/CMakeLists.txt | 22 ----------------------
|
||||
1 file changed, 22 deletions(-)
|
||||
src/cpp/session/CMakeLists.txt | 27 ---------------------------
|
||||
1 file changed, 27 deletions(-)
|
||||
|
||||
diff --git a/src/cpp/session/CMakeLists.txt b/src/cpp/session/CMakeLists.txt
|
||||
index 1dfc977..56e2838 100644
|
||||
index 2bf55f9f..75850da1 100644
|
||||
--- a/src/cpp/session/CMakeLists.txt
|
||||
+++ b/src/cpp/session/CMakeLists.txt
|
||||
@@ -64,28 +64,6 @@ else()
|
||||
@@ -76,33 +76,6 @@ else()
|
||||
endif()
|
||||
|
||||
|
||||
@@ -22,7 +19,8 @@ index 1dfc977..56e2838 100644
|
||||
-foreach(VAR RSTUDIO_DEPENDENCIES_DICTIONARIES_DIR
|
||||
- RSTUDIO_DEPENDENCIES_MATHJAX_DIR
|
||||
- RSTUDIO_DEPENDENCIES_PANDOC_DIR
|
||||
- RSTUDIO_DEPENDENCIES_QUARTO_DIR)
|
||||
- RSTUDIO_DEPENDENCIES_QUARTO_DIR
|
||||
- RSTUDIO_DEPENDENCIES_COPILOT_DIR)
|
||||
-
|
||||
-
|
||||
- # skip quarto if not enabled
|
||||
@@ -30,6 +28,11 @@ index 1dfc977..56e2838 100644
|
||||
- continue()
|
||||
- endif()
|
||||
-
|
||||
- # skip Copilot if not enabled
|
||||
- if("${VAR}" STREQUAL "RSTUDIO_DEPENDENCIES_COPILOT_DIR" AND NOT RSTUDIO_ENABLE_COPILOT)
|
||||
- continue()
|
||||
- endif()
|
||||
-
|
||||
- # validate existence
|
||||
- if(NOT EXISTS "${${VAR}}")
|
||||
- message(FATAL_ERROR "${${VAR}} not found (re-run install-dependencies script to install")
|
||||
@@ -39,10 +42,9 @@ index 1dfc977..56e2838 100644
|
||||
- set("${VAR}" "${${VAR}}" CACHE INTERNAL "")
|
||||
-
|
||||
-endforeach()
|
||||
-
|
||||
|
||||
# verify embedded packages are available
|
||||
foreach(PKG ${RSTUDIO_EMBEDDED_PACKAGES})
|
||||
file(GLOB PKG_FILES "${RSTUDIO_DEPENDENCIES_DIR}/common/${PKG}*.tar.gz")
|
||||
--
|
||||
2.31.1
|
||||
2.51.0
|
||||
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
From 9a025e6aaa577dfefa02cc8b25272d454db6dcba Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= <dcermak@suse.com>
|
||||
Date: Tue, 14 Jan 2020 14:20:40 +0100
|
||||
Subject: [PATCH 2/8] Don't install pandoc and mathjax
|
||||
From cd6b655335f32096f67e97736bc07babb3cdb846 Mon Sep 17 00:00:00 2001
|
||||
From: haem <mixosaurus+obs@pm.me>
|
||||
Date: Fri, 12 Sep 2025 17:16:28 +0200
|
||||
Subject: [PATCH 02/12] Don't install pandoc and mathjax
|
||||
|
||||
Because we use the system wide version, there's no need to waste time installing
|
||||
the files.
|
||||
shorten the installation time a bit by not installing mathjax
|
||||
---
|
||||
src/cpp/session/CMakeLists.txt | 41 -----------------------------------------
|
||||
1 file changed, 41 deletions(-)
|
||||
src/cpp/session/CMakeLists.txt | 25 -------------------------
|
||||
1 file changed, 25 deletions(-)
|
||||
|
||||
diff --git a/src/cpp/session/CMakeLists.txt b/src/cpp/session/CMakeLists.txt
|
||||
index 0202e84..ec525d4 100644
|
||||
index 75850da1..fa93a1e2 100644
|
||||
--- a/src/cpp/session/CMakeLists.txt
|
||||
+++ b/src/cpp/session/CMakeLists.txt
|
||||
@@ -692,53 +692,12 @@ if(NOT RSTUDIO_SESSION_WIN32 AND NOT RSESSION_ALTERNATE_BUILD)
|
||||
@@ -694,31 +694,6 @@ if(NOT RSTUDIO_SESSION_WIN32 AND NOT RSESSION_ALTERNATE_BUILD)
|
||||
install(DIRECTORY "${RSTUDIO_DEPENDENCIES_DICTIONARIES_DIR}"
|
||||
DESTINATION "${RSTUDIO_INSTALL_SUPPORTING}/resources")
|
||||
|
||||
@@ -21,36 +20,15 @@ index 0202e84..ec525d4 100644
|
||||
- install(DIRECTORY "${RSTUDIO_DEPENDENCIES_MATHJAX_DIR}"
|
||||
- DESTINATION "${RSTUDIO_INSTALL_SUPPORTING}/resources")
|
||||
-
|
||||
# install node
|
||||
install(
|
||||
DIRECTORY "${RSTUDIO_DEPENDENCIES_DIR}/common/node/${RSTUDIO_INSTALLED_NODE_VERSION}/"
|
||||
DESTINATION "${RSTUDIO_INSTALL_BIN}/node"
|
||||
USE_SOURCE_PERMISSIONS)
|
||||
|
||||
- # install quarto (or pandoc if quarto disabled)
|
||||
- if(QUARTO_ENABLED)
|
||||
- # install some quarto folders into Resources, as needed
|
||||
- if(APPLE)
|
||||
- if (RSTUDIO_ELECTRON)
|
||||
- install(DIRECTORY "${RSTUDIO_DEPENDENCIES_QUARTO_DIR}"
|
||||
- DESTINATION "${RSTUDIO_INSTALL_RESOURCES}/app"
|
||||
- USE_SOURCE_PERMISSIONS
|
||||
- PATTERN ".gitignore"
|
||||
- EXCLUDE)
|
||||
- else()
|
||||
- install(DIRECTORY "${RSTUDIO_DEPENDENCIES_QUARTO_DIR}"
|
||||
- DESTINATION "${RSTUDIO_INSTALL_BIN}"
|
||||
- USE_SOURCE_PERMISSIONS
|
||||
- PATTERN "*/share"
|
||||
- EXCLUDE
|
||||
- PATTERN ".gitignore"
|
||||
- EXCLUDE)
|
||||
- install(DIRECTORY "${RSTUDIO_DEPENDENCIES_QUARTO_DIR}/share"
|
||||
- DESTINATION "${RSTUDIO_INSTALL_SUPPORTING}/quarto"
|
||||
- USE_SOURCE_PERMISSIONS
|
||||
- PATTERN ".gitignore"
|
||||
- EXCLUDE)
|
||||
- endif()
|
||||
- install(DIRECTORY "${RSTUDIO_DEPENDENCIES_QUARTO_DIR}"
|
||||
- DESTINATION "${RSTUDIO_INSTALL_RESOURCES}/app"
|
||||
- USE_SOURCE_PERMISSIONS
|
||||
- PATTERN ".gitignore"
|
||||
- EXCLUDE)
|
||||
- else()
|
||||
- install(DIRECTORY "${RSTUDIO_DEPENDENCIES_QUARTO_DIR}"
|
||||
- DESTINATION "${RSTUDIO_INSTALL_BIN}"
|
||||
@@ -63,7 +41,9 @@ index 0202e84..ec525d4 100644
|
||||
- DESTINATION "${RSTUDIO_INSTALL_BIN}/pandoc"
|
||||
- USE_SOURCE_PERMISSIONS)
|
||||
- endif()
|
||||
-
|
||||
# install embedded packages
|
||||
foreach(PKG ${RSTUDIO_EMBEDDED_PACKAGES})
|
||||
file(GLOB PKG_FILES "${RSTUDIO_DEPENDENCIES_DIR}/common/${PKG}*.tar.gz")
|
||||
|
||||
# install Copilot Language Server
|
||||
if(RSTUDIO_ENABLE_COPILOT)
|
||||
--
|
||||
2.51.0
|
||||
|
||||
|
||||
@@ -1,24 +1,24 @@
|
||||
From 8754e2f6b8b46ca57fc3c446c8da48b55a49ceec Mon Sep 17 00:00:00 2001
|
||||
From: Marco Varlese <marco.varlese@suse.com>
|
||||
Date: Mon, 27 Jan 2020 14:29:40 +0100
|
||||
Subject: [PATCH 3/8] Fix rstudio exec path
|
||||
From 27a997e4b35784e420c4bba5806f495383f0aeb1 Mon Sep 17 00:00:00 2001
|
||||
From: haem <mixosaurus+obs@pm.me>
|
||||
Date: Fri, 12 Sep 2025 17:16:30 +0200
|
||||
Subject: [PATCH 03/12] Fix rstudio exec path
|
||||
|
||||
Fix the path to the rstudio executable in the rstudio.desktop file.
|
||||
Fix the path to the rstudio executable in the rstudio.desktop file
|
||||
---
|
||||
src/cpp/desktop/resources/freedesktop/rstudio.desktop.in | 2 +-
|
||||
src/node/desktop/resources/freedesktop/rstudio.desktop.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/cpp/desktop/resources/freedesktop/rstudio.desktop.in b/src/cpp/desktop/resources/freedesktop/rstudio.desktop.in
|
||||
index ddd96ad34b..99b207ba7c 100644
|
||||
--- a/src/cpp/desktop/resources/freedesktop/rstudio.desktop.in
|
||||
+++ b/src/cpp/desktop/resources/freedesktop/rstudio.desktop.in
|
||||
diff --git a/src/node/desktop/resources/freedesktop/rstudio.desktop.in b/src/node/desktop/resources/freedesktop/rstudio.desktop.in
|
||||
index 76197bce..d9c719f9 100644
|
||||
--- a/src/node/desktop/resources/freedesktop/rstudio.desktop.in
|
||||
+++ b/src/node/desktop/resources/freedesktop/rstudio.desktop.in
|
||||
@@ -1,5 +1,5 @@
|
||||
[Desktop Entry]
|
||||
-Exec=${CMAKE_INSTALL_PREFIX}/${RSTUDIO_INSTALL_BIN}/rstudio %F
|
||||
-Exec=${CMAKE_INSTALL_PREFIX}/rstudio %F
|
||||
+Exec=rstudio %F
|
||||
Icon=rstudio
|
||||
Type=Application
|
||||
Terminal=false
|
||||
--
|
||||
2.31.1
|
||||
2.51.0
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From e2a3f7df916a4959d126e0c34b8f70b1e23de41a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= <dcermak@suse.com>
|
||||
Date: Wed, 2 Sep 2020 13:47:59 +0200
|
||||
Subject: [PATCH 4/8] Add additional includes for aarch64
|
||||
From e1a6c460e6c2b3d601678b5d158e37077de43739 Mon Sep 17 00:00:00 2001
|
||||
From: haem <mixosaurus+obs@pm.me>
|
||||
Date: Fri, 12 Sep 2025 17:16:39 +0200
|
||||
Subject: [PATCH 04/12] Add additional includes for aarch64
|
||||
|
||||
---
|
||||
src/cpp/core/HtmlUtils.cpp | 1 +
|
||||
@@ -9,7 +9,7 @@ Subject: [PATCH 4/8] Add additional includes for aarch64
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/src/cpp/core/HtmlUtils.cpp b/src/cpp/core/HtmlUtils.cpp
|
||||
index ca0adb40de..8b083f461f 100644
|
||||
index 9623da6f..edb8de32 100644
|
||||
--- a/src/cpp/core/HtmlUtils.cpp
|
||||
+++ b/src/cpp/core/HtmlUtils.cpp
|
||||
@@ -18,6 +18,7 @@
|
||||
@@ -21,7 +21,7 @@ index ca0adb40de..8b083f461f 100644
|
||||
#include <boost/bind/bind.hpp>
|
||||
|
||||
diff --git a/src/cpp/r/session/RStdCallbacks.cpp b/src/cpp/r/session/RStdCallbacks.cpp
|
||||
index f461632102..937ffcc471 100644
|
||||
index 72b66f29..8938bbcf 100644
|
||||
--- a/src/cpp/r/session/RStdCallbacks.cpp
|
||||
+++ b/src/cpp/r/session/RStdCallbacks.cpp
|
||||
@@ -19,6 +19,7 @@
|
||||
@@ -33,5 +33,5 @@ index f461632102..937ffcc471 100644
|
||||
#include <boost/regex.hpp>
|
||||
#include <boost/bind/bind.hpp>
|
||||
--
|
||||
2.31.1
|
||||
2.51.0
|
||||
|
||||
|
||||
@@ -1,13 +1,16 @@
|
||||
From e93996837bceb3bdae376332be5aca964a2737ff Mon Sep 17 00:00:00 2001
|
||||
From: Aaron Puchert <aaronpuchert@alice-dsl.net>
|
||||
Date: Mon, 7 Sep 2020 11:12:26 +0200
|
||||
Subject: [PATCH 6/8] Fix libclang usage
|
||||
From eea335f76f5d79bb2d3b24f5ee9c0c4819b11850 Mon Sep 17 00:00:00 2001
|
||||
From: haem <mixosaurus+obs@pm.me>
|
||||
Date: Fri, 12 Sep 2025 17:16:52 +0200
|
||||
Subject: [PATCH 05/12] Fix libclang usage
|
||||
|
||||
Make sure we find the right libclang.so and builtin headers, make compatible with newer versions.
|
||||
---
|
||||
src/cpp/core/include/core/libclang/LibClang.hpp | 1 +
|
||||
src/cpp/core/libclang/LibClang.cpp | 17 +++++++----------
|
||||
2 files changed, 8 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/src/cpp/core/include/core/libclang/LibClang.hpp b/src/cpp/core/include/core/libclang/LibClang.hpp
|
||||
index c7936ebb..d717f611 100644
|
||||
--- a/src/cpp/core/include/core/libclang/LibClang.hpp
|
||||
+++ b/src/cpp/core/include/core/libclang/LibClang.hpp
|
||||
@@ -36,6 +36,7 @@
|
||||
@@ -18,6 +21,8 @@ Subject: [PATCH 6/8] Fix libclang usage
|
||||
|
||||
namespace rstudio {
|
||||
namespace core {
|
||||
diff --git a/src/cpp/core/libclang/LibClang.cpp b/src/cpp/core/libclang/LibClang.cpp
|
||||
index f166a43b..eed7f94b 100644
|
||||
--- a/src/cpp/core/libclang/LibClang.cpp
|
||||
+++ b/src/cpp/core/libclang/LibClang.cpp
|
||||
@@ -62,12 +62,12 @@ std::vector<std::string> defaultCompileArgs(LibraryVersion version)
|
||||
@@ -53,3 +58,6 @@ Subject: [PATCH 6/8] Fix libclang usage
|
||||
// iterate through the set of available 'llvm' directories
|
||||
for (const char* prefix : {"/usr/lib", "/usr/lib64"})
|
||||
{
|
||||
--
|
||||
2.51.0
|
||||
|
||||
@@ -1,49 +0,0 @@
|
||||
From 8baa44c18668f4af96fc0838ac66c745a0d14c0b Mon Sep 17 00:00:00 2001
|
||||
From: Aaron Puchert <aaronpuchert@alice-dsl.net>
|
||||
Date: Mon, 7 Sep 2020 11:09:01 +0200
|
||||
Subject: [PATCH 5/8] Use system hunspell
|
||||
|
||||
---
|
||||
src/cpp/core/CMakeLists.txt | 6 +++++-
|
||||
src/cpp/core/spelling/HunspellSpellingEngine.cpp | 7 +++----
|
||||
2 files changed, 8 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/src/cpp/core/CMakeLists.txt b/src/cpp/core/CMakeLists.txt
|
||||
index 06303de4aa..377c377721 100644
|
||||
--- a/src/cpp/core/CMakeLists.txt
|
||||
+++ b/src/cpp/core/CMakeLists.txt
|
||||
@@ -15,7 +15,11 @@
|
||||
|
||||
project (CORE)
|
||||
|
||||
-add_subdirectory(spelling/hunspell)
|
||||
+add_library(rstudio-core-hunspell SHARED IMPORTED GLOBAL)
|
||||
+find_library(HUNSPELL_LIB NAMES hunspell REQUIRED)
|
||||
+set_target_properties(rstudio-core-hunspell PROPERTIES
|
||||
+ IMPORTED_LOCATION "${HUNSPELL_LIB}")
|
||||
+
|
||||
add_subdirectory(tex/synctex)
|
||||
|
||||
# include files
|
||||
diff --git a/src/cpp/core/spelling/HunspellSpellingEngine.cpp b/src/cpp/core/spelling/HunspellSpellingEngine.cpp
|
||||
index 861417db6e..60763c5fc1 100644
|
||||
--- a/src/cpp/core/spelling/HunspellSpellingEngine.cpp
|
||||
+++ b/src/cpp/core/spelling/HunspellSpellingEngine.cpp
|
||||
@@ -195,11 +195,10 @@ public:
|
||||
|
||||
Error wordChars(std::wstring *pWordChars)
|
||||
{
|
||||
- int len;
|
||||
- unsigned short *pChars = pHunspell_->get_wordchars_utf16(&len);
|
||||
+ const std::vector<w_char> &pChars = pHunspell_->get_wordchars_utf16();
|
||||
|
||||
- for (int i = 0; i < len; i++)
|
||||
- pWordChars->push_back(pChars[i]);
|
||||
+ for (w_char pChar : pChars)
|
||||
+ pWordChars->push_back((pChar.h << 8) + pChar.l);
|
||||
|
||||
return Success();
|
||||
}
|
||||
--
|
||||
2.31.1
|
||||
|
||||
29
0006-Skip-etc-os-release.patch
Normal file
29
0006-Skip-etc-os-release.patch
Normal file
@@ -0,0 +1,29 @@
|
||||
From c2e9063cac945e51749590b3f61516424d543f41 Mon Sep 17 00:00:00 2001
|
||||
From: haem <mixosaurus+obs@pm.me>
|
||||
Date: Fri, 12 Sep 2025 17:17:01 +0200
|
||||
Subject: [PATCH 06/12] Skip /etc/os-release
|
||||
|
||||
We don't want do depend on /etc/os-release, because that changes frequently in Tumbleweed.
|
||||
And it doesn't seem right that the package depends on the distribution it is a part of.
|
||||
---
|
||||
cmake/globals.cmake | 4 ----
|
||||
1 file changed, 4 deletions(-)
|
||||
|
||||
diff --git a/cmake/globals.cmake b/cmake/globals.cmake
|
||||
index 9a5afca2..0e279ac0 100644
|
||||
--- a/cmake/globals.cmake
|
||||
+++ b/cmake/globals.cmake
|
||||
@@ -23,10 +23,6 @@ if(CMAKE_SYSTEM_NAME STREQUAL Linux)
|
||||
set(LINUX TRUE CACHE INTERNAL "")
|
||||
endif()
|
||||
|
||||
-# read /etc/os-release
|
||||
-if(LINUX)
|
||||
- include(OsRelease)
|
||||
-endif()
|
||||
|
||||
# version info
|
||||
if ("$ENV{RSTUDIO_VERSION_MAJOR}" STREQUAL "")
|
||||
--
|
||||
2.51.0
|
||||
|
||||
@@ -1,25 +1,48 @@
|
||||
Not easy to build. If someone can figure out how to make this work,
|
||||
this patch can be removed again.
|
||||
From 584c4e721db80dc59c44fb2c5521ae1784100b90 Mon Sep 17 00:00:00 2001
|
||||
From: haem <mixosaurus+obs@pm.me>
|
||||
Date: Fri, 12 Sep 2025 17:17:31 +0200
|
||||
Subject: [PATCH 07/12] Remove panmirror
|
||||
|
||||
It's difficult to build and requires quarto.
|
||||
---
|
||||
src/cpp/session/CMakeLists.txt | 14 -----
|
||||
src/gwt/build.xml | 95 ----------------------------------
|
||||
2 files changed, 109 deletions(-)
|
||||
|
||||
diff --git a/src/cpp/session/CMakeLists.txt b/src/cpp/session/CMakeLists.txt
|
||||
index a0bc394..657c2e9 100644
|
||||
index fa93a1e2..9d0c6b34 100644
|
||||
--- a/src/cpp/session/CMakeLists.txt
|
||||
+++ b/src/cpp/session/CMakeLists.txt
|
||||
@@ -670,12 +670,6 @@ if(NOT RSTUDIO_SESSION_WIN32 AND NOT RSESSION_ALTERNATE_BUILD)
|
||||
install(DIRECTORY "${RSTUDIO_DEPENDENCIES_DICTIONARIES_DIR}"
|
||||
DESTINATION "${RSTUDIO_INSTALL_SUPPORTING}/resources")
|
||||
|
||||
- # install node
|
||||
- install(
|
||||
- DIRECTORY "${RSTUDIO_DEPENDENCIES_DIR}/common/node/${RSTUDIO_INSTALLED_NODE_VERSION}/"
|
||||
- DESTINATION "${RSTUDIO_INSTALL_BIN}/node"
|
||||
- USE_SOURCE_PERMISSIONS)
|
||||
-
|
||||
# install embedded packages
|
||||
foreach(PKG ${RSTUDIO_EMBEDDED_PACKAGES})
|
||||
file(GLOB PKG_FILES "${RSTUDIO_DEPENDENCIES_DIR}/common/${PKG}*.tar.gz")
|
||||
@@ -442,17 +442,6 @@ endforeach()
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../../../NOTICE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/resources COPYONLY)
|
||||
|
||||
-# configure custom panmirror script into the resources directory
|
||||
-#
|
||||
-# On Linux and Windows builders, found in the tools directory, on Mac and dev
|
||||
-# environments found in the source tree.
|
||||
-set(RSTUDIO_PANMIRROR_SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/../../gwt/lib/quarto/packages/editor-server/src/resources/md-writer.lua)
|
||||
-if(NOT EXISTS "${RSTUDIO_PANMIRROR_SCRIPT}")
|
||||
- set(RSTUDIO_PANMIRROR_SCRIPT ${RSTUDIO_TOOLS_ROOT}/../src/gwt/lib/quarto/packages/editor-server/src/resources/md-writer.lua)
|
||||
-endif()
|
||||
-file(MAKE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/resources/panmirror-scripts)
|
||||
-configure_file(${RSTUDIO_PANMIRROR_SCRIPT}
|
||||
- ${CMAKE_CURRENT_SOURCE_DIR}/resources/panmirror-scripts/ COPYONLY)
|
||||
|
||||
# set include directories
|
||||
include_directories(
|
||||
@@ -655,9 +644,6 @@ if(NOT RSTUDIO_SESSION_WIN32 AND NOT RSESSION_ALTERNATE_BUILD)
|
||||
# notice
|
||||
install(FILES "resources/NOTICE"
|
||||
DESTINATION ${RSTUDIO_INSTALL_SUPPORTING}/resources)
|
||||
- # panmirror scripts
|
||||
- install(DIRECTORY "resources/panmirror-scripts"
|
||||
- DESTINATION ${RSTUDIO_INSTALL_SUPPORTING}/resources)
|
||||
|
||||
# citation
|
||||
configure_file("resources/CITATION.in"
|
||||
diff --git a/src/gwt/build.xml b/src/gwt/build.xml
|
||||
index 27ffe33..24fd98d 100644
|
||||
index 53e296dc..925ea3c5 100644
|
||||
--- a/src/gwt/build.xml
|
||||
+++ b/src/gwt/build.xml
|
||||
@@ -83,80 +83,6 @@
|
||||
@@ -28,7 +51,7 @@ index 27ffe33..24fd98d 100644
|
||||
|
||||
- <!-- panmirror typescript library -->
|
||||
- <!-- ensure version matches RSTUDIO_NODE_VERSION -->
|
||||
- <property name="node.version" value="18.18.2"/>
|
||||
- <property name="node.version" value="22.13.1"/>
|
||||
- <property name="node.dir" value="../../dependencies/common/node/${node.version}"/>
|
||||
- <!-- use yarn from system but will prefer yarn from dependencies if available -->
|
||||
- <condition property="yarn.bin" value="yarn">
|
||||
@@ -122,3 +145,40 @@ index 27ffe33..24fd98d 100644
|
||||
</antcall>
|
||||
</target>
|
||||
|
||||
@@ -246,23 +167,10 @@
|
||||
<antcall target="generate-i18n"/>
|
||||
<antcall target="codeserver">
|
||||
<param name="gwt.main.module" value="org.rstudio.studio.RStudioSuperDevMode"/>
|
||||
- <param name="panmirror.target" value="ide-dev"/>
|
||||
- <param name="panmirror.minify" value="false"/>
|
||||
- </antcall>
|
||||
- </target>
|
||||
-
|
||||
- <target name="devmode-panmirror" description="Run server development mode">
|
||||
- <antcall target="codeserver">
|
||||
- <param name="gwt.main.module" value="org.rstudio.studio.RStudioSuperDevMode"/>
|
||||
- <param name="panmirror.target" value="ide-dev-watch"/>
|
||||
- <param name="panmirror.minify" value="false"/>
|
||||
</antcall>
|
||||
</target>
|
||||
|
||||
<target name="codeserver" depends="acesupport,javac" description="Run GWT devmode code server">
|
||||
- <antcall target="panmirror">
|
||||
- <param name="panmirror.target" value="${panmirror.target}"/>
|
||||
- </antcall>
|
||||
<java failonerror="true" fork="true" classname="com.google.gwt.dev.DevMode">
|
||||
<classpath>
|
||||
<pathelement location="${src.dir}"/>
|
||||
@@ -382,9 +290,6 @@
|
||||
<delete dir="gwt-unitCache" failonerror="false" />
|
||||
<delete dir="${www.dir}/rstudio" failonerror="false" />
|
||||
<delete file="${ace.bin}/acesupport.js" failonerror="false" />
|
||||
- <delete dir="${panmirror.build.dir}" failonerror="false"/>
|
||||
- <delete dir="${panmirror.dir}/dist-rstudio" failonerror="false"/>
|
||||
- <delete dir="${panmirror.dir}/node_modules" failonerror="false"/>
|
||||
<delete dir="gen" failonerror="false" />
|
||||
<delete dir="${extras.dir}" failonerror="false" />
|
||||
</target>
|
||||
--
|
||||
2.51.0
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
From 31a42867cabd2680fb3a198d25a1d1d81d046459 Mon Sep 17 00:00:00 2001
|
||||
From: Adam Majer <adam.majer@suse.de>
|
||||
Date: Thu, 10 Sep 2020 14:56:17 +0200
|
||||
Subject: [PATCH 8/8] Add support for RapidJSON 1.1.0 in Leap 15.2
|
||||
|
||||
---
|
||||
src/cpp/shared_core/json/Json.cpp | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/cpp/shared_core/json/Json.cpp b/src/cpp/shared_core/json/Json.cpp
|
||||
index a7a3521e4f..9ad01ce8dc 100644
|
||||
--- a/src/cpp/shared_core/json/Json.cpp
|
||||
+++ b/src/cpp/shared_core/json/Json.cpp
|
||||
@@ -795,7 +795,7 @@ std::string Value::write() const
|
||||
rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
|
||||
|
||||
m_impl->Document->Accept(writer);
|
||||
- return std::string(buffer.GetString(), buffer.GetLength());
|
||||
+ return std::string(buffer.GetString(), buffer.GetSize() / sizeof(rapidjson::StringBuffer::Ch));
|
||||
}
|
||||
|
||||
void Value::write(std::ostream& os) const
|
||||
@@ -809,7 +809,7 @@ std::string Value::writeFormatted() const
|
||||
rapidjson::PrettyWriter<rapidjson::StringBuffer> writer(buffer);
|
||||
|
||||
m_impl->Document->Accept(writer);
|
||||
- return std::string(buffer.GetString(), buffer.GetLength());
|
||||
+ return std::string(buffer.GetString(), buffer.GetSize() / sizeof(rapidjson::StringBuffer::Ch));
|
||||
}
|
||||
|
||||
void Value::writeFormatted(std::ostream& os) const
|
||||
--
|
||||
2.31.1
|
||||
|
||||
109
0008-Silence-cmake_minimum_required-warnings.patch
Normal file
109
0008-Silence-cmake_minimum_required-warnings.patch
Normal file
@@ -0,0 +1,109 @@
|
||||
From 986639a3f2b20d5425cacbf89f8199d3d6802932 Mon Sep 17 00:00:00 2001
|
||||
From: haem <mixosaurus+obs@pm.me>
|
||||
Date: Fri, 12 Sep 2025 17:17:21 +0200
|
||||
Subject: [PATCH 08/12] Silence cmake_minimum_required warnings
|
||||
|
||||
---
|
||||
CMakeLists.txt | 2 +-
|
||||
package/osx/cmake/prepare-package.cmake | 2 +-
|
||||
src/CMakeLists.txt | 2 +-
|
||||
src/cpp/CMakeLists.txt | 2 +-
|
||||
src/gwt/CMakeLists.txt | 2 +-
|
||||
src/node/CMakeLists.txt | 2 +-
|
||||
src/node/desktop/CMakeLists.txt | 2 +-
|
||||
7 files changed, 7 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 106a7591..48155299 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -13,7 +13,7 @@
|
||||
#
|
||||
#
|
||||
|
||||
-cmake_minimum_required(VERSION 3.6.3)
|
||||
+cmake_minimum_required(VERSION 3.6.3...3.19)
|
||||
|
||||
# initialize
|
||||
include(cmake/init.cmake)
|
||||
diff --git a/package/osx/cmake/prepare-package.cmake b/package/osx/cmake/prepare-package.cmake
|
||||
index 47a39d0d..e69eded3 100644
|
||||
--- a/package/osx/cmake/prepare-package.cmake
|
||||
+++ b/package/osx/cmake/prepare-package.cmake
|
||||
@@ -13,7 +13,7 @@
|
||||
#
|
||||
#
|
||||
|
||||
-cmake_minimum_required(VERSION 3.6.3)
|
||||
+cmake_minimum_required(VERSION 3.6.3...3.19)
|
||||
|
||||
# CMake's message is suppressed during install stage so just use echo here
|
||||
function(echo MESSAGE)
|
||||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||
index 36498e71..5a50b2cc 100644
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -12,7 +12,7 @@
|
||||
#
|
||||
|
||||
# set minimum version
|
||||
-cmake_minimum_required(VERSION 3.6.3)
|
||||
+cmake_minimum_required(VERSION 3.6.3...3.19)
|
||||
|
||||
# don't add gwt for special 32-bit binary builds on windows (since
|
||||
# we've already got it from the 64-bit build), for development mode
|
||||
diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt
|
||||
index 18b87dd6..ac002742 100644
|
||||
--- a/src/cpp/CMakeLists.txt
|
||||
+++ b/src/cpp/CMakeLists.txt
|
||||
@@ -14,7 +14,7 @@
|
||||
#
|
||||
|
||||
# set minimum version
|
||||
-cmake_minimum_required(VERSION 3.6.3)
|
||||
+cmake_minimum_required(VERSION 3.6.3...3.19)
|
||||
|
||||
# initialize
|
||||
include("${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/init.cmake")
|
||||
diff --git a/src/gwt/CMakeLists.txt b/src/gwt/CMakeLists.txt
|
||||
index 2a98ee26..d20936a8 100644
|
||||
--- a/src/gwt/CMakeLists.txt
|
||||
+++ b/src/gwt/CMakeLists.txt
|
||||
@@ -13,7 +13,7 @@
|
||||
#
|
||||
#
|
||||
|
||||
-cmake_minimum_required(VERSION 3.6.3)
|
||||
+cmake_minimum_required(VERSION 3.6.3...3.19)
|
||||
project (RSTUDIO_GWT)
|
||||
|
||||
set(GWT_LIB_DIR "lib")
|
||||
diff --git a/src/node/CMakeLists.txt b/src/node/CMakeLists.txt
|
||||
index d4b44313..00aecb00 100644
|
||||
--- a/src/node/CMakeLists.txt
|
||||
+++ b/src/node/CMakeLists.txt
|
||||
@@ -12,7 +12,7 @@
|
||||
#
|
||||
|
||||
# set minimum version
|
||||
-cmake_minimum_required(VERSION 3.6.3)
|
||||
+cmake_minimum_required(VERSION 3.6.3...3.19)
|
||||
|
||||
# don't add electron for development mode (since faster to work
|
||||
# iteratively using "npm start" and so forth)
|
||||
diff --git a/src/node/desktop/CMakeLists.txt b/src/node/desktop/CMakeLists.txt
|
||||
index df379742..4efddea9 100644
|
||||
--- a/src/node/desktop/CMakeLists.txt
|
||||
+++ b/src/node/desktop/CMakeLists.txt
|
||||
@@ -13,7 +13,7 @@
|
||||
#
|
||||
#
|
||||
|
||||
-cmake_minimum_required(VERSION 3.6.3)
|
||||
+cmake_minimum_required(VERSION 3.6.3...3.19)
|
||||
project(ELECTRON_DESKTOP)
|
||||
|
||||
if (LINUX)
|
||||
--
|
||||
2.51.0
|
||||
|
||||
65
0009-Use-system-nodejs.patch
Normal file
65
0009-Use-system-nodejs.patch
Normal file
@@ -0,0 +1,65 @@
|
||||
From cda82f25c6365e19f1fae49f41af8142488b3267 Mon Sep 17 00:00:00 2001
|
||||
From: haem <mixosaurus+obs@pm.me>
|
||||
Date: Fri, 12 Sep 2025 18:00:22 +0200
|
||||
Subject: [PATCH 09/12] Use system nodejs
|
||||
|
||||
---
|
||||
src/node/CMakeNodeTools.txt | 23 ++++++++++++++++++-----
|
||||
1 file changed, 18 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/src/node/CMakeNodeTools.txt b/src/node/CMakeNodeTools.txt
|
||||
index fb3f3942..e2127bd0 100644
|
||||
--- a/src/node/CMakeNodeTools.txt
|
||||
+++ b/src/node/CMakeNodeTools.txt
|
||||
@@ -20,6 +20,7 @@ set(RSTUDIO_CMAKE_NODE_TOOLS_INCLUDED YES)
|
||||
# set the node version
|
||||
if(NOT DEFINED RSTUDIO_NODE_VERSION)
|
||||
set(RSTUDIO_NODE_VERSION "22.13.1")
|
||||
+ set(RSTUDIO_NODE_VERSION_MAJOR "22")
|
||||
endif()
|
||||
if(DEFINED ENV{RSTUDIO_NODE_VERSION})
|
||||
set(RSTUDIO_NODE_VERSION $ENV{RSTUDIO_NODE_VERSION})
|
||||
@@ -67,23 +68,35 @@ else()
|
||||
"${CMAKE_CURRENT_LIST_DIR}/../../dependencies/common/node/${RSTUDIO_NODE_VERSION}")
|
||||
|
||||
endif()
|
||||
-
|
||||
+
|
||||
+if (NOT NODEJS)
|
||||
+ find_program(NODEJS NAMES node${RSTUDIO_NODE_VERSION_MAJOR} nodejs)
|
||||
+endif()
|
||||
+
|
||||
if(NODEJS)
|
||||
message(STATUS "Using node.js: ${NODEJS}")
|
||||
else()
|
||||
- message(FATAL_ERROR "node.js not found (required)")
|
||||
+ message(FATAL_ERROR "node.js not found (required)")
|
||||
+endif()
|
||||
+
|
||||
+if (NOT NPM)
|
||||
+ find_program(NPM NAMES npm)
|
||||
endif()
|
||||
-
|
||||
+
|
||||
if(NPM)
|
||||
message(STATUS "Using npm: ${NPM}")
|
||||
else()
|
||||
- message(FATAL_ERROR "npm not found (required for rsw-homepage)")
|
||||
+ message(FATAL_ERROR "npm not found (required for rsw-homepage)")
|
||||
+endif()
|
||||
+
|
||||
+if (NOT NPX)
|
||||
+ find_program(NPX NAMES npx)
|
||||
endif()
|
||||
|
||||
if(NPX)
|
||||
message(STATUS "Using npx: ${NPX}")
|
||||
else()
|
||||
- message(STATUS "npx not found (required for Electron)")
|
||||
+ message(STATUS "npx not found (required for Electron)")
|
||||
endif()
|
||||
|
||||
get_filename_component(NODEJS_PATH ${NODEJS} DIRECTORY CACHE)
|
||||
--
|
||||
2.51.0
|
||||
|
||||
65
0010-Use-bundled-expected-gsl-lite-websocketpp.patch
Normal file
65
0010-Use-bundled-expected-gsl-lite-websocketpp.patch
Normal file
@@ -0,0 +1,65 @@
|
||||
From 834b274627e6b2b9191ff8e8a84100517b42ffdf Mon Sep 17 00:00:00 2001
|
||||
From: haem <mixosaurus+obs@pm.me>
|
||||
Date: Fri, 12 Sep 2025 18:03:43 +0200
|
||||
Subject: [PATCH 10/12] Use bundled expected, gsl-lite, websocketpp
|
||||
|
||||
---
|
||||
src/cpp/core/CMakeLists.txt | 4 ++--
|
||||
src/cpp/ext/CMakeLists.txt | 16 +++++++++++++---
|
||||
2 files changed, 15 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/src/cpp/core/CMakeLists.txt b/src/cpp/core/CMakeLists.txt
|
||||
index 563f4c38..0fa71d81 100644
|
||||
--- a/src/cpp/core/CMakeLists.txt
|
||||
+++ b/src/cpp/core/CMakeLists.txt
|
||||
@@ -334,9 +334,9 @@ target_link_libraries(rstudio-core
|
||||
${SOCI_LIBRARIES}
|
||||
${CORE_SYSTEM_LIBRARIES}
|
||||
fmt::fmt
|
||||
- gsl::gsl-lite-v1
|
||||
- tl::expected
|
||||
yaml-cpp::yaml-cpp
|
||||
+ gsl-lite
|
||||
+ expected
|
||||
)
|
||||
|
||||
if(WIN32)
|
||||
diff --git a/src/cpp/ext/CMakeLists.txt b/src/cpp/ext/CMakeLists.txt
|
||||
index bc4f84cf..4c6349cc 100644
|
||||
--- a/src/cpp/ext/CMakeLists.txt
|
||||
+++ b/src/cpp/ext/CMakeLists.txt
|
||||
@@ -207,11 +207,17 @@ function(fetch)
|
||||
list(GET ARGV ${_INDEX1} _PREFIX)
|
||||
|
||||
if(${_PREFIX}_FETCHED)
|
||||
- message(STATUS "Fetching dependency ${_NAME} ${${_PREFIX}_VERSION}")
|
||||
- FetchContent_MakeAvailable("${_NAME}")
|
||||
- message(STATUS "Fetching dependency ${_NAME} ${${_PREFIX}_VERSION} - success")
|
||||
set("${_PREFIX}_SOURCE_DIR" "${CMAKE_BINARY_DIR}/_deps/${_NAME}-src" CACHE INTERNAL "")
|
||||
set("${_PREFIX}_BINARY_DIR" "${CMAKE_BINARY_DIR}/_deps/${_NAME}-build" CACHE INTERNAL "")
|
||||
+
|
||||
+ if(NOT ${_PREFIX}_BUNDLED)
|
||||
+ message(STATUS "Fetching dependency ${_NAME} ${${_PREFIX}_VERSION}")
|
||||
+ FetchContent_MakeAvailable("${_NAME}")
|
||||
+ message(STATUS "Fetching dependency ${_NAME} ${${_PREFIX}_VERSION} - success")
|
||||
+ else()
|
||||
+ add_subdirectory(${${_PREFIX}_SOURCE_DIR} ${${_PREFIX}_BINARY_DIR})
|
||||
+ message(STATUS "Using bundled dependency ${_NAME} ${${_PREFIX}_VERSION} at ${${_PREFIX}_SOURCE_DIR}")
|
||||
+ endif()
|
||||
endif()
|
||||
|
||||
endwhile()
|
||||
@@ -219,6 +225,10 @@ function(fetch)
|
||||
endfunction()
|
||||
|
||||
|
||||
+set(EXPECTED_BUNDLED TRUE)
|
||||
+set(GSL_LITE_BUNDLED TRUE)
|
||||
+set(WEBSOCKETPP_BUNDLED TRUE)
|
||||
+
|
||||
fetch(
|
||||
expected EXPECTED
|
||||
fmt FMT
|
||||
--
|
||||
2.51.0
|
||||
|
||||
89
0011-Use-system-fmt-yaml-cpp-hunspell.patch
Normal file
89
0011-Use-system-fmt-yaml-cpp-hunspell.patch
Normal file
@@ -0,0 +1,89 @@
|
||||
From 5e3e62745d61dc529c4caf06ecc197246e41e3e3 Mon Sep 17 00:00:00 2001
|
||||
From: haem <mixosaurus+obs@pm.me>
|
||||
Date: Fri, 12 Sep 2025 18:04:39 +0200
|
||||
Subject: [PATCH 11/12] Use system fmt, yaml-cpp, hunspell
|
||||
|
||||
---
|
||||
src/cpp/CMakeLists.txt | 5 ++++-
|
||||
src/cpp/core/CMakeLists.txt | 11 ++++++++---
|
||||
src/cpp/ext/CMakeLists.txt | 17 -----------------
|
||||
3 files changed, 12 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt
|
||||
index ac002742..b6f8f503 100644
|
||||
--- a/src/cpp/CMakeLists.txt
|
||||
+++ b/src/cpp/CMakeLists.txt
|
||||
@@ -546,7 +546,10 @@ endif()
|
||||
|
||||
# external libraries
|
||||
add_subdirectory(ext)
|
||||
-include_directories(SYSTEM "${FMT_SOURCE_DIR}/include")
|
||||
+
|
||||
+if(NOT RSTUDIO_USE_SYSTEM_FMT)
|
||||
+ include_directories(SYSTEM "${FMT_SOURCE_DIR}/include")
|
||||
+endif()
|
||||
|
||||
# shared library
|
||||
add_subdirectory(shared_core)
|
||||
diff --git a/src/cpp/core/CMakeLists.txt b/src/cpp/core/CMakeLists.txt
|
||||
index 0fa71d81..66363913 100644
|
||||
--- a/src/cpp/core/CMakeLists.txt
|
||||
+++ b/src/cpp/core/CMakeLists.txt
|
||||
@@ -203,6 +203,12 @@ if (UNIX)
|
||||
${ZLIB_LIBRARIES}
|
||||
${CORE_SERVICES_LIBRARY})
|
||||
|
||||
+ if(RSTUDIO_USE_SYSTEM_HUNSPELL)
|
||||
+ find_library(HUNSPELL_LIBRARIES hunspell)
|
||||
+ list(APPEND CORE_SYSTEM_LIBRARIES ${HUNSPELL_LIBRARIES})
|
||||
+ message(STATUS "Using system hunspell in core libraries")
|
||||
+ endif()
|
||||
+
|
||||
list(APPEND CORE_SYSTEM_LIBRARIES ${OPENSSL_LIBRARIES})
|
||||
list(APPEND CORE_INCLUDE_DIRS ${OPENSSL_INCLUDE_DIR})
|
||||
|
||||
@@ -327,14 +333,13 @@ define_source_file_names(rstudio-core)
|
||||
# link dependencies
|
||||
target_link_libraries(rstudio-core
|
||||
rstudio-shared-core
|
||||
- rstudio-hunspell
|
||||
rstudio-websocketpp
|
||||
${Boost_LIBRARIES}
|
||||
${CRASHPAD_LIBRARIES}
|
||||
${SOCI_LIBRARIES}
|
||||
${CORE_SYSTEM_LIBRARIES}
|
||||
- fmt::fmt
|
||||
- yaml-cpp::yaml-cpp
|
||||
+ fmt
|
||||
+ yaml-cpp
|
||||
gsl-lite
|
||||
expected
|
||||
)
|
||||
diff --git a/src/cpp/ext/CMakeLists.txt b/src/cpp/ext/CMakeLists.txt
|
||||
index 4c6349cc..0c8e7fc4 100644
|
||||
--- a/src/cpp/ext/CMakeLists.txt
|
||||
+++ b/src/cpp/ext/CMakeLists.txt
|
||||
@@ -248,20 +248,3 @@ target_include_directories(rstudio-rapidjson INTERFACE "${RAPIDJSON_SOURCE_DIR}/
|
||||
# Create websocketpp target.
|
||||
add_library(rstudio-websocketpp INTERFACE EXCLUDE_FROM_ALL)
|
||||
target_include_directories(rstudio-websocketpp INTERFACE "${WEBSOCKETPP_SOURCE_DIR}")
|
||||
-
|
||||
-
|
||||
-# Create hunspell target.
|
||||
-file(GLOB HUNSPELL_HEADER_FILES "${HUNSPELL_SOURCE_DIR}/src/hunspell/*.h*")
|
||||
-file(GLOB HUNSPELL_SOURCE_FILES "${HUNSPELL_SOURCE_DIR}/src/hunspell/*.c*")
|
||||
-add_library(rstudio-hunspell STATIC ${HUNSPELL_SOURCE_FILES} ${HUNSPELL_HEADER_FILES})
|
||||
-set_target_properties(rstudio-hunspell PROPERTIES LINKER_LANGUAGE CXX)
|
||||
-target_include_directories(rstudio-hunspell SYSTEM AFTER INTERFACE "${HUNSPELL_SOURCE_DIR}/src")
|
||||
-target_compile_definitions(rstudio-hunspell PUBLIC HUNSPELL_STATIC=1)
|
||||
-
|
||||
-if(WIN32)
|
||||
- target_include_directories(rstudio-hunspell SYSTEM AFTER PRIVATE "${HUNSPELL_PREFIX_DIR}/msvc")
|
||||
- target_compile_options(rstudio-hunspell PRIVATE /wd4244 /wd4267)
|
||||
- target_compile_options(rstudio-hunspell INTERFACE /wd4996)
|
||||
-else()
|
||||
- target_compile_options(rstudio-hunspell PRIVATE -Wno-deprecated-declarations -Wno-sign-compare -Wno-unused-but-set-variable)
|
||||
-endif()
|
||||
--
|
||||
2.51.0
|
||||
|
||||
83
0012-Don-t-list-system-dependencies-as-bundled.patch
Normal file
83
0012-Don-t-list-system-dependencies-as-bundled.patch
Normal file
@@ -0,0 +1,83 @@
|
||||
From f4db917dcdf17ef842ffa23260ac6732ab500555 Mon Sep 17 00:00:00 2001
|
||||
From: haem <mixosaurus+obs@pm.me>
|
||||
Date: Fri, 12 Sep 2025 18:10:39 +0200
|
||||
Subject: [PATCH 12/12] Don't list system dependencies as bundled
|
||||
|
||||
---
|
||||
src/cpp/ext/CMakeLists.txt | 46 --------------------------------------
|
||||
1 file changed, 46 deletions(-)
|
||||
|
||||
diff --git a/src/cpp/ext/CMakeLists.txt b/src/cpp/ext/CMakeLists.txt
|
||||
index 0c8e7fc4..b3b32181 100644
|
||||
--- a/src/cpp/ext/CMakeLists.txt
|
||||
+++ b/src/cpp/ext/CMakeLists.txt
|
||||
@@ -94,15 +94,6 @@ dependency(EXPECTED
|
||||
set(EXPECTED_BUILD_TESTS OFF)
|
||||
|
||||
|
||||
-# fmt
|
||||
-dependency(FMT
|
||||
- COMMENT "{fmt} is an open-source formatting library providing a fast and safe alternative to C stdio and C++ iostreams."
|
||||
- VERSION "11.1.4"
|
||||
- REPOSITORY "https://github.com/fmtlib/fmt"
|
||||
- REVISION "123913715afeb8a437e6388b4473fcc4753e1c9a" # pragma: allowlist secret
|
||||
-)
|
||||
-
|
||||
-set(FMT_INSTALL OFF)
|
||||
|
||||
|
||||
# gsl-lite
|
||||
@@ -114,25 +105,6 @@ dependency(GSL_LITE
|
||||
)
|
||||
|
||||
|
||||
-# hunspell
|
||||
-dependency(HUNSPELL
|
||||
- COMMENT "Hunspell is a free spell checker and morphological analyzer library and command-line tool, licensed under LGPL/GPL/MPL tri-license."
|
||||
- VERSION "1.7.2"
|
||||
- REPOSITORY "https://github.com/hunspell/hunspell"
|
||||
- REVISION "2969be996acad84b91ab3875b1816636fe61a40e" # pragma: allowlist secret
|
||||
- CUSTOM TRUE
|
||||
-)
|
||||
-
|
||||
-
|
||||
-# rapidjson
|
||||
-dependency(RAPIDJSON
|
||||
- COMMENT "A fast JSON parser/generator for C++ with both SAX/DOM style API"
|
||||
- VERSION "1.1.0"
|
||||
- REPOSITORY "https://github.com/Tencent/rapidjson"
|
||||
- REVISION "24b5e7a8b27f42fa16b96fc70aade9106cf7102f" # pragma: allowlist secret
|
||||
- CUSTOM TRUE
|
||||
-)
|
||||
-
|
||||
# websocketpp
|
||||
dependency(WEBSOCKETPP
|
||||
COMMENT "WebSocket++ is a header only C++ library that implements RFC6455 The WebSocket Protocol."
|
||||
@@ -143,24 +115,6 @@ dependency(WEBSOCKETPP
|
||||
)
|
||||
|
||||
|
||||
-# yaml-cpp
|
||||
-dependency(YAML_CPP
|
||||
- COMMENT "yaml-cpp is a YAML parser and emitter in C++ matching the YAML 1.2 spec."
|
||||
- VERSION "0.8.0"
|
||||
- REPOSITORY "https://github.com/jbeder/yaml-cpp"
|
||||
- REVISION "f7320141120f720aecc4c32be25586e7da9eb978" # pragma: allowlist secret
|
||||
-)
|
||||
-
|
||||
-
|
||||
-# zlib
|
||||
-dependency(ZLIB
|
||||
- COMMENT "zlib is a general purpose data compression library."
|
||||
- VERSION "1.3.1"
|
||||
- REPOSITORY "https://github.com/madler/zlib"
|
||||
- REVISION "51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf" # pragma: allowlist secret
|
||||
- PLATFORMS WIN32
|
||||
-)
|
||||
-
|
||||
|
||||
function(fetch)
|
||||
|
||||
--
|
||||
2.51.0
|
||||
|
||||
BIN
21751fb0473473e27ffb1f280543885ed65447a8.tar.gz
LFS
Normal file
BIN
21751fb0473473e27ffb1f280543885ed65447a8.tar.gz
LFS
Normal file
Binary file not shown.
BIN
292eff8bd8ee230a7df1d6a1c00c4ea0eb2f0362.tar.gz
LFS
Normal file
BIN
292eff8bd8ee230a7df1d6a1c00c4ea0eb2f0362.tar.gz
LFS
Normal file
Binary file not shown.
BIN
ee8cf4257e001d939839cff5b1766a835b749cd6.tar.gz
LFS
Normal file
BIN
ee8cf4257e001d939839cff5b1766a835b749cd6.tar.gz
LFS
Normal file
Binary file not shown.
@@ -1,42 +0,0 @@
|
||||
--- rstudio-2024.04.0-735.orig/src/cpp/shared_core/FilePath.cpp
|
||||
+++ rstudio-2024.04.0-735/src/cpp//shared_core/FilePath.cpp
|
||||
@@ -50,6 +50,8 @@
|
||||
#include <boost/algorithm/string/case_conv.hpp>
|
||||
#include <boost/algorithm/string/predicate.hpp>
|
||||
|
||||
+#include <boost/version.hpp>
|
||||
+
|
||||
#include <shared_core/Logger.hpp>
|
||||
#include <shared_core/Error.hpp>
|
||||
#include <shared_core/SafeConvert.hpp>
|
||||
@@ -806,11 +808,19 @@
|
||||
{
|
||||
try
|
||||
{
|
||||
+#if BOOST_VERSION >= 107500
|
||||
using boost::filesystem::copy_options;
|
||||
boost::filesystem::copy_file(
|
||||
m_impl->Path,
|
||||
in_targetPath.m_impl->Path,
|
||||
overwrite ? copy_options::overwrite_existing : copy_options::none);
|
||||
+#else
|
||||
+ using boost::filesystem::copy_option;
|
||||
+ boost::filesystem::copy_file(
|
||||
+ m_impl->Path,
|
||||
+ in_targetPath.m_impl->Path,
|
||||
+ overwrite ? copy_option::overwrite_if_exists : copy_option::fail_if_exists);
|
||||
+#endif
|
||||
return Success();
|
||||
}
|
||||
catch(const boost::filesystem::filesystem_error& e)
|
||||
--- rstudio-2024.04.0-735.orig/src/cpp/session/modules/environment/SessionEnvironment.cpp
|
||||
+++ rstudio-2024.04.0-735/src/cpp/session/modules/environment/SessionEnvironment.cpp
|
||||
@@ -229,7 +229,7 @@
|
||||
if (!r::internal::isImmediateBinding(frameSEXP))
|
||||
{
|
||||
SEXP valueSEXP = CAR(frameSEXP);
|
||||
- bool canBeSerialized = s_serializationCache.contains(valueSEXP)
|
||||
+ bool canBeSerialized = s_serializationCache.find(valueSEXP) != s_serializationCache.end()
|
||||
? s_serializationCache.at(valueSEXP)
|
||||
: isSerializable(valueSEXP);
|
||||
newCache[valueSEXP] = canBeSerialized;
|
||||
@@ -1,15 +0,0 @@
|
||||
Adapt to https://github.com/boostorg/function/commit/af8e66d03b4366c7039a138306470567c2243130.
|
||||
|
||||
diff --git a/src/cpp/core/json/JsonRpc.cpp b/src/cpp/core/json/JsonRpc.cpp
|
||||
index d034ffe..060f886 100644
|
||||
--- a/src/cpp/core/json/JsonRpc.cpp
|
||||
+++ b/src/cpp/core/json/JsonRpc.cpp
|
||||
@@ -193,7 +193,7 @@ void JsonRpcResponse::setAfterResponse(
|
||||
|
||||
bool JsonRpcResponse::hasAfterResponse() const
|
||||
{
|
||||
- return afterResponse_;
|
||||
+ return bool(afterResponse_);
|
||||
}
|
||||
|
||||
|
||||
BIN
node_modules.tar.gz
LFS
Normal file
BIN
node_modules.tar.gz
LFS
Normal file
Binary file not shown.
76
nodejs-bundler.sh
Normal file → Executable file
76
nodejs-bundler.sh
Normal file → Executable file
@@ -1,68 +1,26 @@
|
||||
#!/bin/bash
|
||||
|
||||
usage() {
|
||||
echo "Usage `basename $0` <path>" >&2
|
||||
echo >&2
|
||||
echo " Given a npm module path, download dependencies," >&2
|
||||
echo " each in their own tarball." >&2
|
||||
echo " Also finds licenses prod dependencies." >&2
|
||||
echo >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
if ! [ -f /usr/bin/npm ]; then
|
||||
echo >&2
|
||||
echo "`basename $0` requires npm to run" >&2
|
||||
echo >&2
|
||||
echo "Run the following to fix this" >&2
|
||||
echo " sudo dnf install npm" >&2
|
||||
echo >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
if [ $# -lt 1 ]; then
|
||||
usage
|
||||
else
|
||||
case $1 in
|
||||
-h | --help )
|
||||
usage
|
||||
;;
|
||||
* )
|
||||
PACKAGE="$1"
|
||||
;;
|
||||
esac
|
||||
if [[ "$1" =~ [-]?-h(elp)? || ! -f package.json ]]; then
|
||||
echo "Run this script in rstudio/src/node/desktop/ to download and bundle node_modules."
|
||||
exit
|
||||
fi
|
||||
|
||||
download_deps () {
|
||||
pushd ${PACKAGE}
|
||||
echo " Downloading $1 dependencies..."
|
||||
npm install --no-optional --only=$1
|
||||
status=$?
|
||||
popd
|
||||
if ! which pnpm >/dev/null; then
|
||||
echo "This script requires pnpm."
|
||||
exit 2
|
||||
fi
|
||||
|
||||
if [ ${status} -ge 1 ] ; then
|
||||
echo " ERROR WILL ROBINSON"
|
||||
rm -rf ${PACKAGE}/node_modules
|
||||
exit 1
|
||||
fi
|
||||
mv ${PACKAGE}/node_modules node_modules_$1
|
||||
}
|
||||
export ELECTRON_SKIP_BINARY_DOWNLOAD=1
|
||||
|
||||
NAME=$(jq -r .name ${PACKAGE}/package.json)
|
||||
VERSION=$(jq -r .version ${PACKAGE}/package.json)
|
||||
echo "=== downloading modules..."
|
||||
pnpm install --no-frozen-lockfile --ignore-scripts --node-linker=hoisted
|
||||
rm node_modules/.modules.yaml
|
||||
|
||||
download_deps prod
|
||||
echo "=== compressing modules..."
|
||||
tar --numeric-owner --owner=0 --group=0 --hard-dereference -czf node_modules.tar.gz node_modules
|
||||
|
||||
echo " Licenses in bundle..."
|
||||
LICENSES="${NAME}-${VERSION}-bundled-licenses.txt"
|
||||
find node_modules* -name "package.json" -exec jq -r .license {} \; > ${LICENSES}
|
||||
find node_modules* -name "package.json" -exec jq -r '.licenses[] .type' {} \; \
|
||||
>> ${LICENSES} 2>/dev/null
|
||||
sed -i "/^null$/d" ${LICENSES}
|
||||
sort -u -o ${LICENSES} ${LICENSES}
|
||||
echo " Done. Please, check ${LICENSES} and remove the garbage."
|
||||
echo "=== cleaning up"
|
||||
rm -rf node_modules
|
||||
rm pnpm-lock.yaml
|
||||
|
||||
download_deps dev
|
||||
|
||||
tar cfz ${NAME}-${VERSION}-nm.tgz node_modules_*
|
||||
rm -rf node_modules_*
|
||||
echo "done"
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
Index: rstudio-2024.04.0-735/src/cpp/CMakeLists.txt
|
||||
===================================================================
|
||||
--- rstudio-2024.04.0-735.orig/src/cpp/CMakeLists.txt
|
||||
+++ rstudio-2024.04.0-735/src/cpp/CMakeLists.txt
|
||||
@@ -281,7 +281,7 @@
|
||||
set(Boost_USE_STATIC_LIBS ON)
|
||||
set(BOOST_INCLUDEDIR ${RSTUDIO_TOOLS_BOOST}/include)
|
||||
find_package(Boost ${RSTUDIO_BOOST_REQUESTED_VERSION} HINTS "${RSTUDIO_TOOLS_BOOST}" EXACT REQUIRED)
|
||||
- if(NOT Boost_VERSION LESS 106900)
|
||||
+ if(NOT Boost_VERSION LESS 106600)
|
||||
list(REMOVE_ITEM BOOST_LIBS signals)
|
||||
endif()
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
Fetching should still respect RSTUDIO_USE_SYSTEM_YAML_CPP=ON.
|
||||
|
||||
diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt
|
||||
index 5fa2649..f509421 100644
|
||||
--- a/src/cpp/CMakeLists.txt
|
||||
+++ b/src/cpp/CMakeLists.txt
|
||||
@@ -197,7 +197,7 @@ endif()
|
||||
# yaml-cpp
|
||||
set(YAML_CPP_VERSION "0.8.0")
|
||||
set(YAML_CPP_REVISION "f7320141120f720aecc4c32be25586e7da9eb978")
|
||||
-if(CMAKE_VERSION VERSION_GREATER "3.14")
|
||||
+if(NOT RSTUDIO_USE_SYSTEM_YAML_CPP AND CMAKE_VERSION VERSION_GREATER "3.14")
|
||||
|
||||
if(WIN32)
|
||||
add_definitions(-DYAML_CPP_STATIC_DEFINE)
|
||||
206
rstudio.spec
206
rstudio.spec
@@ -64,15 +64,21 @@
|
||||
# - xterm.js => bundled in ./src/gwt/src/org/rstudio/studio/client/workbench/views/terminal/xterm/xterm.js, version 3.14.5, license is MIT
|
||||
%global bundled_xtermjs_version 3.14.5
|
||||
# - winpty => windows only
|
||||
# - websocketpp => unbundled
|
||||
# - websocketpp => bundled in build/_deps/websocketpp-src, license is BSD-3-Clause
|
||||
%global bundled_websocketpp_version 0.8.3
|
||||
%global bundled_websocketpp_commit ee8cf4257e001d939839cff5b1766a835b749cd6
|
||||
# - gwt-websockets => bundled in ./src/gwt/src/com/sksamuel/gwt, version 1.0.4, license is Apache-2.0
|
||||
%global bundled_gwt_websockets_version 1.0.4
|
||||
# - ansi-regex => some ANSI escape sequences from https://github.com/chalk/ansi-regex are used, license is MIT
|
||||
# - RapidJSON => bundled in ./src/cpp/shared_core/include/shared_core/json/rapidjson, unbundled on Leap 15.2 & Tumbleweed, licensed under the MIT
|
||||
# - msinttypes => part of rapidjson on Windows, licensed under BSD-3-Clause
|
||||
# - fontawesome => per https://github.com/rstudio/rstudio/issues/7115, this is actually iconmoon, bundled in ./src/gwt/www/fonts/icomoon.woff, license is GPL-3.0-or-later or CC-BY-4.0, rstudio includes this under CC-BY-4.0
|
||||
# - gsl-lite => bundled in ./src/cpp/ext/gsl, version is probably 0.34.0, license is MIT
|
||||
%global bundled_gsl_lite_version 0.34.0
|
||||
# - expected => bundled in build/_deps/expected-src, license is Public Domain
|
||||
%global bundled_expected_version 1.1.0
|
||||
%global bundled_expected_commit 292eff8bd8ee230a7df1d6a1c00c4ea0eb2f0362
|
||||
# - gsl-lite => bundled in build/_deps/expected-src,, license is MIT
|
||||
%global bundled_gsl_lite_version 0.42.0
|
||||
%global bundled_gsl_lite_commit 21751fb0473473e27ffb1f280543885ed65447a8
|
||||
# - inert-polyfill.js => bundled in ./src/gwt/www/js/inert-polyfill.min.js, version 0.2.5, license is Apache-2.0
|
||||
%global bundled_intert_polyfill_js_version 0.2.5
|
||||
# - focus-visible.js => bundled in ./src/gwt/www/js/focus-visible.*, version 5.0.2, license is W3C-20150513
|
||||
@@ -86,17 +92,21 @@
|
||||
# missing from NOTICE:
|
||||
# - Google Closure Compiler => bundled in ./src/gwt/tools/compiler/ but AFAIK only used for building, version is "compiler-latest.zip as of July 9, 2019", license is Apache-2.0 with bundled dependencies under (NPL-1.1 AND (MPL-1.1 OR GPL-2.0-or-later)) AND MIT AND CPL-1.0 AND BSD-3-Clause AND Apache-2.0
|
||||
|
||||
# override upstream's choice for the boost version on Leap.
|
||||
%if %{suse_version} <= 1500
|
||||
%global rstudio_boost_requested_version 1.66
|
||||
%endif
|
||||
# # override upstream's choice for the boost version on Leap.
|
||||
# % if % {suse_version} <= 1500
|
||||
# % global rstudio_boost_requested_version 1.66
|
||||
# % endif
|
||||
|
||||
%global rstudio_version_major 2024
|
||||
%global rstudio_version_minor 04
|
||||
%global rstudio_version_patch 0
|
||||
%global rstudio_version_suffix 735
|
||||
%global rstudio_version_major 2025
|
||||
%global rstudio_version_minor 05
|
||||
%global rstudio_version_patch 1
|
||||
%global rstudio_version_suffix 513
|
||||
# commit of the tag belonging to %%{version}
|
||||
%global rstudio_git_revision_hash a00d0e775dbc93e0d79a1bf474e3e8e8de677383
|
||||
%global rstudio_git_revision_hash ab7c1bc795c7dcff8f26215b832a3649a19fc16c
|
||||
|
||||
%global electron_req_version 33~
|
||||
|
||||
|
||||
Name: rstudio
|
||||
Version: %{rstudio_version_major}.%{rstudio_version_minor}.%{rstudio_version_patch}+%{rstudio_version_suffix}
|
||||
Release: 0
|
||||
@@ -123,30 +133,34 @@ Source0: %{URL}/%{name}/archive/v%{version}.tar.gz
|
||||
# Upstream claims that the only licenses are:
|
||||
# GPL 2.0, LGPL 2.1 (or later), MPL 1.1 and Apache 2.0
|
||||
Source1: https://s3.amazonaws.com/%{name}-dictionaries/core-dictionaries.zip
|
||||
Source4: %{name}-server-user.conf
|
||||
Source99: %{name}-rpmlintrc
|
||||
Source2: https://github.com/TartanLlama/expected/archive/%{bundled_expected_commit}.tar.gz
|
||||
Source3: https://github.com/gsl-lite/gsl-lite/archive/%{bundled_gsl_lite_commit}.tar.gz
|
||||
Source4: https://github.com/amini-allight/websocketpp/archive/%{bundled_websocketpp_commit}.tar.gz
|
||||
Source5: node_modules.tar.gz
|
||||
Source100: nodejs-bundler.sh
|
||||
Patch0: 0001-Unbundle-mathjax-and-pandoc.patch
|
||||
# shorten the installation time a bit by not installing mathjax
|
||||
Patch1: 0002-Don-t-install-pandoc-and-mathjax.patch
|
||||
Patch2: 0003-Fix-rstudio-exec-path.patch
|
||||
Patch3: 0004-Add-additional-includes-for-aarch64.patch
|
||||
# Make compatible with hunspell 1.4.0 or later, use system hunspell.
|
||||
Patch4: 0005-Use-system-hunspell.patch
|
||||
# Make sure we find the right libclang.so and builtin headers, make compatible with newer versions.
|
||||
Patch5: 0006-Fix-libclang-usage.patch
|
||||
# Remove panmirror until someone figures out how to include it again.
|
||||
Patch6: remove-panmirror.patch
|
||||
# Leap 15.2 only patch
|
||||
Patch7: 0008-Add-support-for-RapidJSON-1.1.0-in-Leap-15.2.patch
|
||||
# We don't want do depend on /etc/os-release, because that changes frequently in Tumbleweed.
|
||||
# And it doesn't seem right that the package depends on the distribution it is a part of.
|
||||
Patch8: skip-osrelease.patch
|
||||
Patch9: unbundle-fmt.patch
|
||||
Patch10: respect-system-yaml-cpp.patch
|
||||
Patch11: fix-boost-1.85-build.patch
|
||||
Patch12: fix-boost-1.66-build.patch
|
||||
Patch100: old-boost.patch
|
||||
Source101: %{name}-server-user.conf
|
||||
Source102: %{name}-rpmlintrc
|
||||
|
||||
Patch1: 0001-Unbundle-mathjax-and-pandoc.patch
|
||||
Patch2: 0002-Don-t-install-pandoc-and-mathjax.patch
|
||||
Patch3: 0003-Fix-rstudio-exec-path.patch
|
||||
Patch4: 0004-Add-additional-includes-for-aarch64.patch
|
||||
Patch5: 0005-Fix-libclang-usage.patch
|
||||
Patch6: 0006-Skip-etc-os-release.patch
|
||||
Patch7: 0007-Remove-panmirror.patch
|
||||
Patch8: 0008-Silence-cmake_minimum_required-warnings.patch
|
||||
Patch9: 0009-Use-system-nodejs.patch
|
||||
Patch10: 0010-Use-bundled-expected-gsl-lite-websocketpp.patch
|
||||
Patch11: 0011-Use-system-fmt-yaml-cpp-hunspell.patch
|
||||
Patch12: 0012-Don-t-list-system-dependencies-as-bundled.patch
|
||||
|
||||
# Patch7: 0008-Add-support-for-RapidJSON-1.1.0-in-Leap-15.2.patch obsolete, Leap 15.2 only
|
||||
# Patch9: 0009-Use-system-rapidjson-websocketpp-yaml-cpp.patch replaced
|
||||
# Patch9: unbundle-fmt.patch replaced
|
||||
# Patch10: respect-system-yaml-cpp.patch obsolete
|
||||
# Patch11: fix-boost-1.85-build.patch outdated, obsolete
|
||||
# Patch12: fix-boost-1.66-build.patch outdated, obsolete
|
||||
# Patch100: old-boost.patch outdated, obsolete
|
||||
|
||||
BuildRequires: Mesa-devel
|
||||
BuildRequires: R-core-devel >= 3.6.0
|
||||
@@ -184,6 +198,16 @@ BuildRequires: soci-sqlite3-devel
|
||||
BuildRequires: systemd-rpm-macros
|
||||
BuildRequires: sysuser-tools
|
||||
BuildRequires: unzip
|
||||
|
||||
BuildRequires: yarn
|
||||
BuildRequires: npm22
|
||||
BuildRequires: nodejs22
|
||||
BuildRequires: nodejs-common
|
||||
BuildRequires: esbuild >= 0.17
|
||||
BuildRequires: nodejs-electron-devel >= %{electron_req_version}
|
||||
# BuildRequires: nodejs-packaging
|
||||
# BuildRequires: nodejs-gyp
|
||||
|
||||
BuildRequires: cmake(fmt)
|
||||
BuildRequires: cmake(yaml-cpp)
|
||||
BuildRequires: pkgconfig(Qt5Core)
|
||||
@@ -213,10 +237,13 @@ BuildRequires: pkgconfig(openssl)
|
||||
BuildRequires: pkgconfig(pango)
|
||||
BuildRequires: pkgconfig(sqlite3)
|
||||
BuildRequires: pkgconfig(uuid)
|
||||
BuildRequires: pkgconfig(websocketpp)
|
||||
# BuildRequires: pkgconfig(websocketpp) 0.8.3, Tumbleweed only has 0.8.2
|
||||
BuildRequires: pkgconfig(zlib)
|
||||
|
||||
Requires: R-base
|
||||
Requires: R-core-libs
|
||||
Requires: nodejs-electron%{_isa}
|
||||
|
||||
Recommends: gcc
|
||||
Recommends: gcc-c++
|
||||
Recommends: ghc-pandoc-citeproc
|
||||
@@ -235,6 +262,8 @@ Provides: bundled(focus-visible.js) = %{bundled_focus_visible_js_version}
|
||||
Provides: bundled(fontawesome)
|
||||
Provides: bundled(gin) = %{bundled_gin_version}
|
||||
Provides: bundled(gsl-lite) = %{bundled_gsl_lite_version}
|
||||
Provides: bundled(expected) = %{bundled_expected_version}
|
||||
Provides: bundled(websocketpp) = %{bundled_websocketpp_version}
|
||||
Provides: bundled(guice) = %{bundled_guice_version}
|
||||
Provides: bundled(gwt-rstudio) = %{bundled_gwt_rstudio_version}
|
||||
Provides: bundled(gwt-websockets) = %{bundled_gwt_websockets_version}
|
||||
@@ -290,30 +319,48 @@ on a server has a number of benefits, including:
|
||||
%autosetup -p1 -n %{name}-%{rstudio_version_major}.%{rstudio_version_minor}.%{rstudio_version_patch}-%{rstudio_version_suffix}
|
||||
|
||||
# use system libraries when available
|
||||
rm -r \
|
||||
src/cpp/core/include/core/libclang/clang-c/ \
|
||||
src/cpp/core/spelling/hunspell/ \
|
||||
src/cpp/ext/fmt \
|
||||
src/cpp/ext/websocketpp \
|
||||
src/cpp/shared_core/include/shared_core/json/rapidjson/
|
||||
find src/cpp/core/zlib -type f -not -name '*.cpp' -delete
|
||||
rm -r src/cpp/core/include/core/libclang/clang-c/
|
||||
# rm -r \
|
||||
# src/cpp/core/include/core/libclang/clang-c/ \
|
||||
# src/cpp/core/spelling/hunspell/ \
|
||||
# src/cpp/ext/fmt \
|
||||
# src/cpp/ext/websocketpp \
|
||||
# src/cpp/shared_core/include/shared_core/json/rapidjson/
|
||||
# find src/cpp/core/zlib -type f -not -name '*.cpp' -delete
|
||||
|
||||
ln -sf %{_includedir}/websocketpp src/cpp/ext/websocketpp
|
||||
ln -sf %{_includedir}/rapidjson src/cpp/shared_core/include/shared_core/json/rapidjson
|
||||
# ln -sf %{_includedir}/websocketpp src/cpp/ext/websocketpp
|
||||
# ln -sf %{_includedir}/rapidjson src/cpp/shared_core/include/shared_core/json/rapidjson
|
||||
|
||||
# unpack common-dictionaries
|
||||
mkdir -p dependencies/dictionaries
|
||||
unzip -d dependencies/dictionaries %{SOURCE1}
|
||||
|
||||
mkdir -p build/_deps/expected-src
|
||||
mkdir -p build/_deps/expected-build
|
||||
tar xzvf %{SOURCE2} --strip-components=1 --one-top-level=build/_deps/expected-src
|
||||
|
||||
mkdir -p build/_deps/gsl-lite-src
|
||||
mkdir -p build/_deps/gsl-lite-build
|
||||
tar xzvf %{SOURCE3} --strip-components=1 --one-top-level=build/_deps/gsl-lite-src
|
||||
|
||||
mkdir -p build/_deps/websocketpp-src
|
||||
mkdir -p build/_deps/websocketpp-build
|
||||
tar xzvf %{SOURCE4} --strip-components=1 --one-top-level=build/_deps/websocketpp-src
|
||||
|
||||
mkdir -p src/node/desktop
|
||||
pushd src/node/desktop
|
||||
tar xzvf %{SOURCE5} --strip-components=1 --one-top-level=src/node/desktop/node_modules
|
||||
popd
|
||||
|
||||
# don't include gwt_build in ALL to avoid recompilation, but then we must build
|
||||
# it manually
|
||||
sed -i 's@gwt_build ALL@gwt_build@g' src/gwt/CMakeLists.txt
|
||||
# # # # sed -i 's@gwt_build ALL@gwt_build@g' src/gwt/CMakeLists.txt
|
||||
|
||||
# The unversioned libclang.so is only part of clang-devel, so we use the versioned so instead.
|
||||
sed -i 's#LIBCLANG_PLACEHOLDER#%{_libdir}/libclang.so.%{_libclang_sonum}#' src/cpp/core/libclang/LibClang.cpp
|
||||
|
||||
%build
|
||||
%sysusers_generate_pre %{SOURCE4} %{name}-server
|
||||
%sysusers_generate_pre %{SOURCE101} %{name}-server
|
||||
|
||||
export RSTUDIO_VERSION_MAJOR=%{rstudio_version_major}
|
||||
export RSTUDIO_VERSION_MINOR=%{rstudio_version_minor}
|
||||
@@ -321,29 +368,68 @@ export RSTUDIO_VERSION_PATCH=%{rstudio_version_patch}
|
||||
export RSTUDIO_VERSION_SUFFIX=+%{rstudio_version_suffix}
|
||||
export RSTUDIO_GIT_REVISION_HASH=%{rstudio_git_revision_hash}
|
||||
export GIT_COMMIT=%{rstudio_git_revision_hash}
|
||||
%cmake -DRSTUDIO_TARGET=Desktop \
|
||||
-DRSTUDIO_DESKTOP:BOOL=ON \
|
||||
-DRSTUDIO_SERVER:BOOL=ON \
|
||||
export RSTUDIO_NODE_VERSION="$(node --version | sed 's/^v//')"
|
||||
|
||||
%cmake \
|
||||
-DRSTUDIO_TARGET=Electron \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=%{_libexecdir}/%{name} \
|
||||
-DRSTUDIO_PACKAGE_BUILD:BOOL=FALSE \
|
||||
-DRSTUDIO_USE_SYSTEM_BOOST=TRUE \
|
||||
-DRSTUDIO_USE_SYSTEM_SOCI=TRUE \
|
||||
-DRSTUDIO_BOOST_SIGNALS_VERSION=2 \
|
||||
-DRSTUDIO_USE_SYSTEM_HUNSPELL=TRUE \
|
||||
-DRSTUDIO_USE_SYSTEM_FMT=TRUE \
|
||||
-DRSTUDIO_USE_SYSTEM_RAPIDJSON=TRUE \
|
||||
-DRSTUDIO_USE_SYSTEM_WEBSOCKETPP=FALSE \
|
||||
-DRSTUDIO_USE_SYSTEM_YAML_CPP=TRUE \
|
||||
-DBOOST_ROOT=%{_prefix} -DBOOST_LIBRARYDIR=%{_lib} \
|
||||
%{?rstudio_boost_requested_version:-DRSTUDIO_BOOST_REQUESTED_VERSION=%{rstudio_boost_requested_version}} \
|
||||
-DQUARTO_ENABLED:BOOL=FALSE \
|
||||
-DQT_QMAKE_EXECUTABLE=%{_bindir}/qmake-qt5
|
||||
-DRSTUDIO_USE_SYSTEM_ZLIB=TRUE \
|
||||
-DQUARTO_ENABLED:BOOL=FALSE \
|
||||
-DSCCACHE_ENABLED:BOOL=FALSE \
|
||||
-DRSTUDIO_ENABLE_COPILOT:BOOL=FALSE \
|
||||
-DRSTUDIO_UNIT_TESTS_DISABLED:BOOL=TRUE \
|
||||
-DQT_QMAKE_EXECUTABLE=%{_bindir}/qmake-qt5 \
|
||||
-DGWT_BUILD:BOOL=TRUE \
|
||||
-DGWT_BIN_DIR="%{_builddir}/gwt/bin" \
|
||||
-DGWT_WWW_DIR="%{__builddir}/gwt/www" \
|
||||
-DGWT_EXTRAS_DIR="%{_builddir}/gwt/extras" \
|
||||
|
||||
%make_build
|
||||
%make_build gwt_build
|
||||
# # # # # -DGWT_BUILD:BOOL=OFF \
|
||||
# -DRSTUDIO_DESKTOP:BOOL=ON \
|
||||
# -DRSTUDIO_SERVER:BOOL=ON \
|
||||
# -DRSTUDIO_BOOST_SIGNALS_VERSION=2 already set by upstream \
|
||||
# -DBOOST_ROOT=%{_prefix} was needed for Leap < 15 \
|
||||
# -DBOOST_LIBRARYDIR=%{_lib} -"- \
|
||||
# %{?rstudio_boost_requested_version:-DRSTUDIO_BOOST_REQUESTED_VERSION=%{rstudio_boost_requested_version}} -"- \
|
||||
|
||||
|
||||
export GWT_MAIN_MODULE=RStudioDesktop
|
||||
export ELECTRON_SOURCE_DIR="$(pwd)/../src/node/desktop"
|
||||
version="%{rstudio_version_major}.%{rstudio_version_minor}.%{rstudio_version_patch}+%{rstudio_version_suffix}-%{rstudio_git_revision_hash}"
|
||||
|
||||
export ELECTRON_CACHE="$(pwd)/vendor/cache/electron"
|
||||
export ELECTRON_BUILDER_CACHE="$(pwd)/vendor/cache/electron-builder"
|
||||
export ELECTRON_SKIP_BINARY_DOWNLOAD=1
|
||||
|
||||
export ESBUILD_BINARY_PATH=%{_bindir}/esbuild
|
||||
export USE_SYSTEM_APP_BUILDER=true
|
||||
|
||||
export ELECTRON_OVERRIDE_DIST_PATH=%{_bindir}
|
||||
|
||||
# Fix package.json
|
||||
# TODO use a patch instead?
|
||||
cp "$ELECTRON_SOURCE_DIR/package.json" "$ELECTRON_SOURCE_DIR/package.json.orig"
|
||||
sed "s/\"version\": .*/\"version\": \"$version\",/g" -i "$ELECTRON_SOURCE_DIR/package.json"
|
||||
|
||||
%cmake_build
|
||||
|
||||
# # # % make_build gwt_build
|
||||
|
||||
%install
|
||||
%cmake_install
|
||||
|
||||
# sysuser for rstudio-server
|
||||
mkdir -p %{buildroot}%{_sysusersdir}
|
||||
install -m 0644 %{SOURCE4} %{buildroot}%{_sysusersdir}/
|
||||
install -m 0644 %{SOURCE101} %{buildroot}%{_sysusersdir}/
|
||||
|
||||
# create /usr/bin/rstudio-desktop, /usr/bin/rserver, /usr/bin/rserver-pam
|
||||
install -d -m 0755 %{buildroot}%{_bindir}
|
||||
@@ -356,9 +442,7 @@ done
|
||||
# scripts
|
||||
# * do not create /var/run, that one is owned by the filesystem package and
|
||||
# doesn't need to be Require'd.
|
||||
# Also, the INSTALL appears to be wrong, it's only creating a
|
||||
# rstudio-server.pid file there.
|
||||
# FIXME: await confirm from https://github.com/rstudio/rstudio/issues/6112
|
||||
# Cf. https://github.com/rstudio/rstudio/issues/6112
|
||||
for dir in log lib; do
|
||||
mkdir -p %{buildroot}%{_localstatedir}/${dir}/%{name}-server
|
||||
done
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
diff --git a/CMakeGlobals.txt b/CMakeGlobals.txt
|
||||
index 15001b2..5e86187 100644
|
||||
--- a/CMakeGlobals.txt
|
||||
+++ b/CMakeGlobals.txt
|
||||
@@ -29,11 +29,6 @@ endif()
|
||||
get_filename_component(ROOT_SRC_DIR ${CMAKE_CURRENT_LIST_FILE} PATH)
|
||||
set(CMAKE_MODULE_PATH "${ROOT_SRC_DIR}/cmake/modules/")
|
||||
|
||||
-# read /etc/os-release
|
||||
-if(LINUX)
|
||||
- include(OsRelease)
|
||||
-endif()
|
||||
-
|
||||
# version info
|
||||
if ("$ENV{RSTUDIO_VERSION_MAJOR}" STREQUAL "")
|
||||
string(TIMESTAMP CPACK_PACKAGE_VERSION_MAJOR "%Y")
|
||||
@@ -1,24 +0,0 @@
|
||||
diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt
|
||||
index b1a91eb..ff44703 100644
|
||||
--- a/src/cpp/CMakeLists.txt
|
||||
+++ b/src/cpp/CMakeLists.txt
|
||||
@@ -580,7 +580,7 @@ endif()
|
||||
|
||||
# external libraries
|
||||
add_subdirectory(ext)
|
||||
-include_directories(SYSTEM "${FMT_SOURCE_DIR}/include")
|
||||
+find_package(fmt REQUIRED)
|
||||
|
||||
# shared library
|
||||
add_subdirectory(shared_core)
|
||||
diff --git a/src/cpp/ext/CMakeLists.txt b/src/cpp/ext/CMakeLists.txt
|
||||
index 2e08e79..0b4d5fa 100644
|
||||
--- a/src/cpp/ext/CMakeLists.txt
|
||||
+++ b/src/cpp/ext/CMakeLists.txt
|
||||
@@ -14,6 +14,3 @@
|
||||
#
|
||||
|
||||
project (EXT)
|
||||
-
|
||||
-add_subdirectory(fmt)
|
||||
-
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:15dfab3e794b24dbc80093b83bda87a77b7ab197faa8b09fcbad84fc68985960
|
||||
size 272412117
|
||||
BIN
v2025.05.1+513.tar.gz
LFS
Normal file
BIN
v2025.05.1+513.tar.gz
LFS
Normal file
Binary file not shown.
Reference in New Issue
Block a user