RStudio is a powerful and productive integrated development environment (IDE)
for the R programming language. It includes a console, a syntax-highlighting
editor that supports direct code execution, and a wide range of tools for
plotting, history, debugging, and workspace management.
RStudio is available in two flavors:
- Desktop: A standalone application for your computer (requires X11).
- Server: A web-based interface that provides access to RStudio from anywhere
with a web browser.
It also features deep integration with Quarto, a next-generation scientific
and technical publishing system.
===> The following configuration options are available for RStudio-2025.09.2+418_8:
COPILOT=on: Build with Copilot support
WITH_QUARTO=on: Build with support for Quarto
===> Use 'make config' to modify these settings
You installed RStudio: Integrated development environment (IDE) for R.
Please note that RStudio requires /proc to be mounted.
The usual way to do this is to add this line to /etc/fstab:
proc /proc procfs rw 0 0
and then run this command as root:
# mount /proc
=== Desktop Flavor ===
The desktop flavor provides a native GUI using Electron. Simply run:
% rstudio
=== Server Flavor ===
To enable RStudio Server service at startup:
# sysrc rstudio_server_enable="YES"
# service rstudio-server start
Then navigate to http://localhost:8787/ in your browser.
You can also start the RStudio Server service once with:
# service rstudio-server onestart
=== COPILOT option ===
In order to use this (default) option you need to be
logged into your GitHub copilot account.
You can log into GitHub copilot using GitHub's CLI gh,
or directly from the GitHub copilot application 'copilot'
installed by misc/github-copilot-cli.
The gh and copilot executables are not required to use the
COPILOT option. You only need one of them to log into your
GitHub account.
devel/RStudio: Improve Makefile by adding ELECTRON_VERSION variable
This port was a bit fragile, but it builds and works fine when
electron37 is available. (electron37 is currently broken).
devel/RStudio: Add COPILOT option; Fix fetch; Fix WITH_QUATRO option
- the custom fetch was fetching files without adding them to distinfo
- the COPILOT option relies on the binary installed by
misc/github-copilot-language-server
- WITH_QUATRO used wrong cmake option name
- also: distinfo is moved to distinfo.{flavor}
*/*: Bump PORTREVISION after libuuid/libblkid switch
from e2fsprogs to util-linux, to complete the bump of all users
of either library that started with Alexander's commit titled
'*/*: Switch to misc/libuuid and misc/libblkid'
PR: 251489
devel/RStudio: mark as BROKEN with Boost>=1.87 (+)
Since 1.87 release some long-time-ago deprecated Boost.asio facilities was
dropped off
Sponsored by: Future Crew, LLC
Mk/**java.mk: Convert bsd.java.mk to USES
The following features have been added or changed:
- Instead of USE_JAVA use USES=java. This defaults to
USES=java:build,run if NO_BUILD is undefined. Else it defaults to
USES=java:run
- Instead of USE_ANT=yes use USES=java:ant which also implies
USES=java:build
- Instead of JAVA_BUILD=yes use USES=java:build. Does not imply run or
extract
- Instead of JAVA_EXTRACT=yes use USES=java:extract does not imply
build or run
- Instead of JAVA_RUN=yes use USES=java:run does not imply extract or
build
- Instead of USE_JAVA=<version> use USES=java and JAVA_VERSION=<version>
Approved by: mat (portmgr), glewis
Differential Revision: https://reviews.freebsd.org/D48201
devel/RStudio: Revert "feat(create-turbo): apply official-starter transform"
This reverts commit 52c0456dd5ec259ac94ee401db79c7ad3569f914.
I have no idea what lead to this commit into devel/RStudio and
lang/rust-nightly to be made.
devel/RStudio: Fix bug that RStudio-server didn't have /usr/local/bin in PATH
This was previously fixed in post-install but the previous fix
relied on the other path that changed, which eroded this fix.
The new fix adds /usr/local/bin to PATH in the C++ code.
devel/RStudio: Fix crash caused by the std::bad_cast exception in RStudio-server
This caused users to be unable to log in.
The workround is now in place.
Mk/Uses: always use colon for build/run suffix
Most USES use a colon for build/run(/test) suffixes. Change kde.mk,
qt.mk and pyqt.mk to do the same, and update all ports using that.
Document in CHANGES.
PR: 266034
Exp-run by: antoine
Approved by: tcberner (mentor)
Differential Revision: https://reviews.freebsd.org/D36349
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
cleanup: remove expired versions of OpenJDK (12 through 16)
Adjust ports depending on expired versions of OpenJDK:
- biology/snpeff: 12+ -> 17+
- devel/RStudio: 12 -> 11
- www/closure-compiler: 13 -> 11+
Allow java/openjdk17 to use java/openjdk17-bootstrap on i386
too, this builds just fine on 13.1-i386
Remove jdk12-doc as it is no longer relevant.
Clean up Java version calculations in bsd.java.mk
Reviewed by: jwb, java (glewis)
Differential Revision: https://reviews.freebsd.org/D35280
devel/RStudio: Fix bug in RStudio-server that gmake isn't in the path
When R modules are installed gmake is needed, but it wasn't in the path
in the server flavor of the port. The patch adds the gmake symlink to
the directory which is in the path.
A better fix will be provided later, pending fix in RStudio, see Makefile.
Also adjust poudriere.conf instructions.
devel/yaml-cpp: Update to 0.7.0
- Patch cmake include to actually work
- Bump PORTREVISION on consumers, testing shows it is not completely
binary compatible
Mark ports recursively depending on Python 2.7 for expiration on June 23.
For ports optionally dependending on Python 2.7, just mark those options
as expired. Remove konquerer from the x11/kde-baseapps metaport and bump
its PORTREVISION.
Submitted by: rene
Reviewed by: portmgr, adridg, ehaupt, lme, madpilot, pizzamig, se, sunpoet, yuri
Approved by: portmgr
Differential Revision: https://reviews.freebsd.org/D28665
devel/RStudio: Add rc script for the 'server' flavor/mode
Also
* Remove redundant dependencies for the 'server' flavor
* Improve COMMENT for the 'desktop' flavor
* Remove unnecessary shebang and file in the 'server' flavor
devel/RStudio: Flavorize into 'desktop' and 'server' flavors
The RStudio project builds in two modes: Desktop and Server.
These modes are now reflected as port flavors.
Mark BROKEN: fails to build
gwtc:
[java] Feb 05, 2020 4:44:59 PM java.util.prefs.FileSystemPreferences$1 run
[java] INFO: Created user preferences directory.
[java] [ERROR] Unexpected internal compiler error
[java] java.lang.UnsatisfiedLinkError:
sun.nio.fs.LinuxWatchService.inotifyInit()I
[java] at sun.nio.fs.LinuxWatchService.inotifyInit(Native Method)
[java] at sun.nio.fs.LinuxWatchService.<init>(LinuxWatchService.java:59)
[java] at sun.nio.fs.BsdFileSystem.newWatchService(BsdFileSystem.java:51)
[java] at
com.google.gwt.dev.resource.impl.ResourceAccumulator.maybeInitializeWatchService(ResourceAccumulator.java:98)
[java] at
com.google.gwt.dev.resource.impl.ResourceAccumulator.fullRefresh(ResourceAccumulator.java:89)
[java] at
com.google.gwt.dev.resource.impl.ResourceAccumulator.refreshResources(ResourceAccumulator.java:69)
[java] at
com.google.gwt.dev.resource.impl.ResourceAccumulatorManager.getResources(ResourceAccumulatorManager.java:113)
[java] at
com.google.gwt.dev.resource.impl.DirectoryClassPathEntry.findApplicableResources(DirectoryClassPathEntry.java:49)
(Only the first 15 lines of the commit message are shown above )
devel/RStudio: unbreak with boost 1.72
src/cpp/core/FilePath.cpp:1035:37: error: no member named 'level' in
'boost::filesystem::recursive_directory_iterator'
if (!iterationFunction(itr.level(),
~~~ ^
Suggested by: upstream
Bump PORTREVISION for ports depending on the canonical version of GCC
as defined in Mk/bsd.default-versions.mk which has moved from GCC 8.3
to GCC 9.1 under most circumstances now after revision 507371.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, everything INDEX-11 shows with a dependency on lang/gcc9 now.
PR: 238330
Related to revision 499061 bump ports with USES=fortran to have them
benefit from the improved situation where libgcc_s is only used when
absolutely necessary.
Suggested by: tijl
Fix Qt5 symbol version scripts to put the catch-all clause first. When
a symbol matches multiple clauses the last one takes precedence. If the
catch-all is last it captures everything. In the case of Qt5 libraries
this caused all symbols to have a Qt_5 label while some should have
Qt_5_PRIVATE_API. This only affects lld because GNU ld always gives the
catch-all lowest priority.
Older versions of Qt5Webengine exported some memory allocation symbols from
the bundled Chromium. Version 5.9 stopped exporting these [1] but the
symbols were kept as weak wrappers for the standard allocation functions to
maintain binary compatibility. [2][3] The problem is that the call to the
standard function in these weak wrappers is only resolved to the standard
function if there's a call to this standard function in other parts of
Qt5Webengine, because only then is there a non-weak symbol that takes
precedence over the weak one. If there's no such non-weak symbol the call
(Only the first 15 lines of the commit message are shown above )
Change cmake default behaviour to outsource.
Ports that build out of source now simply can use "USES=cmake"
instead of "USES=cmake:outsource". Ports that fail to build
out of source now need to specify "USES=cmake:insource".
I tried to only set insource where explictely needed.
PR: 232038
Exp-run by: antoine
Bump PORTREVISION for ports depending on the canonical version of GCC
defined via Mk/bsd.default-versions.mk which has moved from GCC 7.4 t
GCC 8.2 under most circumstances.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, as a double check, everything INDEX-11 showed depending on lang/gcc7.
PR: 231590
Merge lang/qt5-qml and x11-toolkits/qt5-quick into x11-toolkits/qt5-declarative
- There was no obvious reason to split these ports, and it makes
porting simpler; the set of ports using either mostly coincided.
Exp-run by: antoine
PR: 223687
PR: 232751