diff --git a/pkgs/applications/editors/rstudio/default.nix b/pkgs/applications/editors/rstudio/default.nix index 82a572eaf4c5..d3ca7de1d6a1 100644 --- a/pkgs/applications/editors/rstudio/default.nix +++ b/pkgs/applications/editors/rstudio/default.nix @@ -7,7 +7,7 @@ , makeDesktopItem , copyDesktopItems , cmake -, boost +, boost183 , zlib , openssl , R @@ -40,18 +40,19 @@ let pname = "RStudio"; - version = - "${RSTUDIO_VERSION_MAJOR}.${RSTUDIO_VERSION_MINOR}.${RSTUDIO_VERSION_PATCH}${RSTUDIO_VERSION_SUFFIX}"; - RSTUDIO_VERSION_MAJOR = "2023"; - RSTUDIO_VERSION_MINOR = "09"; - RSTUDIO_VERSION_PATCH = "0"; - RSTUDIO_VERSION_SUFFIX = "+463"; + version = "2023.12.1+402"; + RSTUDIO_VERSION_MAJOR = lib.versions.major version; + RSTUDIO_VERSION_MINOR = lib.versions.minor version; + RSTUDIO_VERSION_PATCH = lib.versions.patch version; + RSTUDIO_VERSION_SUFFIX = "+" + toString ( + lib.tail (lib.splitString "+" version) + ); src = fetchFromGitHub { owner = "rstudio"; repo = "rstudio"; - rev = "v${version}"; - hash = "sha256-FwNuU2rbE3GEhuwphvZISUMhvSZJ6FjjaZ1oQ9F8NWc="; + rev = version; + hash = "sha256-ecMzkpHazg8jEBz9wh8hqRX2UdziOC8b6F+3xxdugy0="; }; mathJaxSrc = fetchurl { @@ -62,8 +63,8 @@ let rsconnectSrc = fetchFromGitHub { owner = "rstudio"; repo = "rsconnect"; - rev = "5175a927a41acfd9a21d9fdecb705ea3292109f2"; - hash = "sha256-c1fFcN6KAfxXv8bv4WnIqQKg1wcNP2AywhEmIbyzaBA="; + rev = "v1.2.0"; + hash = "sha256-ghRz4Frd+I9ShRNNOE/kdk9KjRCj0Z1mPnThueriiUY="; }; # Ideally, rev should match the rstudio release name. @@ -93,7 +94,7 @@ in ]; buildInputs = [ - boost + boost183 zlib openssl R @@ -133,6 +134,7 @@ in ./fix-resources-path.patch ./pandoc-nix-path.patch ./use-system-quarto.patch + ./ignore-etc-os-release.patch ]; postPatch = '' diff --git a/pkgs/applications/editors/rstudio/ignore-etc-os-release.patch b/pkgs/applications/editors/rstudio/ignore-etc-os-release.patch new file mode 100644 index 000000000000..7c67edd16fcb --- /dev/null +++ b/pkgs/applications/editors/rstudio/ignore-etc-os-release.patch @@ -0,0 +1,77 @@ +diff --git a/CMakeGlobals.txt b/CMakeGlobals.txt +index 5f96ffb..3f15687 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") +diff --git a/cmake/modules/OsRelease.cmake b/cmake/modules/OsRelease.cmake +deleted file mode 100644 +index 81a9e1f..0000000 +--- a/cmake/modules/OsRelease.cmake ++++ /dev/null +@@ -1,24 +0,0 @@ +-# +-# OsRelease.cmake +-# +-# Copyright (C) 2022 by Posit Software, PBC +-# +-# This program is licensed to you under the terms of version 3 of the +-# GNU Affero General Public License. This program is distributed WITHOUT +-# ANY EXPRESS OR IMPLIED WARRANTY, INCLUDING THOSE OF NON-INFRINGEMENT, +-# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Please refer to the +-# AGPL (http://www.gnu.org/licenses/agpl-3.0.txt) for more details. +-# +-# +- +-# reads and parses /etc/os-release into CMake variables +-file(STRINGS "/etc/os-release" OS_RELEASE) +-foreach(LINE ${OS_RELEASE}) +- string(FIND "${LINE}" "=" INDEX) +- string(SUBSTRING "${LINE}" 0 "${INDEX}" KEY) +- math(EXPR INDEX "${INDEX} + 1") +- string(SUBSTRING "${LINE}" "${INDEX}" -1 VALUE) +- separate_arguments(VALUE UNIX_COMMAND "${VALUE}") +- set("OS_RELEASE_${KEY}" "${VALUE}" CACHE INTERNAL "/etc/os-release: ${KEY}") +-endforeach() +- +diff --git a/package/linux/CMakeLists.txt b/package/linux/CMakeLists.txt +index 5d5c35e..a94f8fc 100644 +--- a/package/linux/CMakeLists.txt ++++ b/package/linux/CMakeLists.txt +@@ -16,7 +16,7 @@ + # configure cpack install location + set(CPACK_SET_DESTDIR "ON") + set(CPACK_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") +-message(STATUS "Packaging RStudio for ${OS_RELEASE_PRETTY_NAME}") ++message(STATUS "Packaging RStudio for Nix") + + # detect architecture (packaging platform specific) + find_program(DPKG_EXECUTABLE dpkg) +@@ -42,17 +42,6 @@ if(EXISTS "/etc/redhat-release") + endif() + endif() + +-# set libssl dependency +-if(OS_RELEASE_ID STREQUAL "ubuntu") +- if(OS_RELEASE_VERSION_ID VERSION_GREATER_EQUAL "22.04") +- set(RSTUDIO_DEBIAN_DEPENDS_SSL "libssl-dev") +- else() +- set(RSTUDIO_DEBIAN_DEPENDS_SSL "libssl1.0.0 | libssl1.0.2 | libssl1.1") +- endif() +-else() +- set(RSTUDIO_DEBIAN_DEPENDS_SSL "libssl-dev") +-endif() +- + # configuration specific + if(RSTUDIO_SERVER) + diff --git a/pkgs/applications/editors/rstudio/use-system-node.patch b/pkgs/applications/editors/rstudio/use-system-node.patch index bb4480b4ae5f..6e0acf46dda0 100644 --- a/pkgs/applications/editors/rstudio/use-system-node.patch +++ b/pkgs/applications/editors/rstudio/use-system-node.patch @@ -6,7 +6,7 @@ index d18362b..98cdd4c 100644 external-pandoc-path=${RSTUDIO_DEPENDENCIES_PANDOC_DIR} external-quarto-path=${RSTUDIO_DEPENDENCIES_QUARTO_DIR} external-libclang-path=${RSTUDIO_DEPENDENCIES_DIR}/common/libclang --external-node-path=${RSTUDIO_DEPENDENCIES_DIR}/common/node/16.14.0/bin/node +-external-node-path=${RSTUDIO_DEPENDENCIES_DIR}/common/node/18.18.2/bin/node +external-node-path=@node@/bin/node # enable copilot @@ -32,7 +32,7 @@ index 033d605..f1ee63d 100644 +++ b/src/gwt/build.xml @@ -87,29 +87,7 @@ - + - - @@ -58,15 +58,18 @@ index 033d605..f1ee63d 100644 - value="c:\rstudio-tools\dependencies\common\node\${node.version}\node_modules\yarn\bin\yarn.cmd" - file="c:\rstudio-tools\dependencies\common\node\${node.version}\node_modules\yarn\bin\yarn.cmd"/> + - + -@@ -126,21 +104,11 @@ - file="c:\rstudio-tools\src\gwt\lib\quarto\apps\panmirror"/> - - +@@ -133,28 +111,11 @@ + + + +- - - +- +- - - @@ -75,14 +78,19 @@ index 033d605..f1ee63d 100644 - - - +- +- +- +- - -+ -+ -+ ++ ++ ++ - - - - + +