mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-02-21 19:44:09 +00:00
Merge pull request #139887 from Artturin/rstudiobump
This commit is contained in:
commit
db56940ea8
@ -1,25 +1,61 @@
|
||||
diff --git i/src/cpp/core/libclang/LibClang.cpp w/src/cpp/core/libclang/LibClang.cpp
|
||||
index ec12a3a1ff..8c81b633ae 100644
|
||||
--- i/src/cpp/core/libclang/LibClang.cpp
|
||||
+++ w/src/cpp/core/libclang/LibClang.cpp
|
||||
@@ -54,7 +54,7 @@ std::vector<std::string> defaultCompileArgs(LibraryVersion version)
|
||||
diff --git a/src/cpp/core/libclang/LibClang.cpp b/src/cpp/core/libclang/LibClang.cpp
|
||||
index 1186f3a..58e8cc7 100644
|
||||
--- a/src/cpp/core/libclang/LibClang.cpp
|
||||
+++ b/src/cpp/core/libclang/LibClang.cpp
|
||||
@@ -58,7 +58,7 @@ std::vector<std::string> defaultCompileArgs(LibraryVersion version)
|
||||
|
||||
// we need to add in the associated libclang headers as
|
||||
// they are not discovered / used by default during compilation
|
||||
- FilePath llvmPath = s_libraryPath.parent().parent();
|
||||
- FilePath llvmPath = s_libraryPath.getParent().getParent();
|
||||
+ FilePath llvmPath("@libclang@");
|
||||
boost::format fmt("%1%/lib/clang/%2%/include");
|
||||
fmt % llvmPath.absolutePath() % version.asString();
|
||||
fmt % llvmPath.getAbsolutePath() % version.asString();
|
||||
std::string includePath = fmt.str();
|
||||
@@ -77,10 +77,7 @@ std::vector<std::string> systemClangVersions()
|
||||
#elif defined(__unix__)
|
||||
// default set of versions
|
||||
clangVersions = {
|
||||
@@ -70,46 +70,7 @@ std::vector<std::string> defaultCompileArgs(LibraryVersion version)
|
||||
|
||||
std::vector<std::string> systemClangVersions()
|
||||
{
|
||||
- std::vector<std::string> clangVersions;
|
||||
-
|
||||
-#if defined(__APPLE__)
|
||||
- // NOTE: the version of libclang.dylib bundled with Xcode
|
||||
- // doesn't seem to work well when loaded as a library
|
||||
- // (there seems to be extra orchestration required to get
|
||||
- // include paths set up; easier to just depend on command
|
||||
- // line tools since we request their installation in other
|
||||
- // contexts as well)
|
||||
- clangVersions = {
|
||||
- "/Library/Developer/CommandLineTools/usr/lib/libclang.dylib"
|
||||
- };
|
||||
-#elif defined(__unix__)
|
||||
- // default set of versions
|
||||
- clangVersions = {
|
||||
- "/usr/lib/libclang.so",
|
||||
- "/usr/lib/llvm/libclang.so",
|
||||
- "/usr/lib64/libclang.so",
|
||||
- "/usr/lib64/llvm/libclang.so",
|
||||
+ "@libclang.so@"
|
||||
};
|
||||
|
||||
// iterate through the set of available 'llvm' directories
|
||||
- };
|
||||
-
|
||||
- // iterate through the set of available 'llvm' directories
|
||||
- for (const char* prefix : {"/usr/lib", "/usr/lib64"})
|
||||
- {
|
||||
- FilePath prefixPath(prefix);
|
||||
- if (!prefixPath.exists())
|
||||
- continue;
|
||||
-
|
||||
- std::vector<FilePath> directories;
|
||||
- Error error = prefixPath.getChildren(directories);
|
||||
- if (error)
|
||||
- LOG_ERROR(error);
|
||||
-
|
||||
- // generate a path for each 'llvm' directory
|
||||
- for (const FilePath& path : directories)
|
||||
- if (path.getFilename().find("llvm") == 0)
|
||||
- clangVersions.push_back(path.completePath("lib/libclang.so.1").getAbsolutePath());
|
||||
- }
|
||||
-#endif
|
||||
-
|
||||
+ std::vector<std::string> clangVersions = { "@libclang.so@" };
|
||||
return clangVersions;
|
||||
}
|
||||
|
||||
|
@ -1,141 +1,209 @@
|
||||
{ lib, mkDerivation, fetchurl, fetchpatch, fetchFromGitHub, makeDesktopItem, cmake, boost, zlib
|
||||
, openssl, R, qtbase, qtxmlpatterns, qtsensors, qtwebengine, qtwebchannel
|
||||
, libuuid, hunspellDicts, unzip, ant, jdk, gnumake, makeWrapper, pandoc
|
||||
{ lib
|
||||
, mkDerivation
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
, fetchFromGitHub
|
||||
, makeDesktopItem
|
||||
, copyDesktopItems
|
||||
, cmake
|
||||
, boost
|
||||
, zlib
|
||||
, openssl
|
||||
, R
|
||||
, qtbase
|
||||
, qtxmlpatterns
|
||||
, qtsensors
|
||||
, qtwebengine
|
||||
, qtwebchannel
|
||||
, libuuid
|
||||
, hunspellDicts
|
||||
, unzip
|
||||
, ant
|
||||
, jdk
|
||||
, gnumake
|
||||
, makeWrapper
|
||||
, pandoc
|
||||
, llvmPackages
|
||||
, libyamlcpp
|
||||
, soci
|
||||
, postgresql
|
||||
, nodejs
|
||||
, mkYarnModules
|
||||
, qmake
|
||||
}:
|
||||
|
||||
with lib;
|
||||
let
|
||||
verMajor = "1";
|
||||
verMinor = "2";
|
||||
verPatch = "5042";
|
||||
version = "${verMajor}.${verMinor}.${verPatch}";
|
||||
ginVer = "2.1.2";
|
||||
gwtVer = "2.8.1";
|
||||
in
|
||||
mkDerivation rec {
|
||||
pname = "RStudio";
|
||||
inherit version;
|
||||
|
||||
nativeBuildInputs = [ cmake unzip ant jdk makeWrapper pandoc ];
|
||||
|
||||
buildInputs = [ boost zlib openssl R qtbase qtxmlpatterns qtsensors
|
||||
qtwebengine qtwebchannel libuuid ];
|
||||
version = "1.4.1717";
|
||||
RSTUDIO_VERSION_MAJOR = lib.versions.major version;
|
||||
RSTUDIO_VERSION_MINOR = lib.versions.minor version;
|
||||
RSTUDIO_VERSION_PATCH = lib.versions.patch version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rstudio";
|
||||
repo = "rstudio";
|
||||
rev = "v${version}";
|
||||
sha256 = "1n67fa357v51j3z1ma8v2ydfsx3y8n10k2svmfcf4mdzsi8w0kc5";
|
||||
rev = version;
|
||||
sha256 = "sha256-9c1bNsf8kJjpcZ2cMV/pPNtXQkFOntX29a1cdnXpllE=";
|
||||
};
|
||||
|
||||
# Hack RStudio to only use the input R and provided libclang.
|
||||
patches = [ ./r-location.patch ./clang-location.patch
|
||||
(fetchpatch {
|
||||
# Fetch a patch to ensure Rstudio compiles against R
|
||||
# 4.0.0, should be removed next 1.2.X Rstudio update
|
||||
# or possibly 1.3.X
|
||||
url = "https://github.com/rstudio/rstudio/commit/3fb2397c2f208bb8ace0bbaf269481ccb96b5b20.patch";
|
||||
sha256 = "0qpgjy6aash0fc0xbns42cwpj3nsw49nkbzwyq8az01xwg81g0f3";
|
||||
})
|
||||
];
|
||||
postPatch = ''
|
||||
substituteInPlace src/cpp/core/r_util/REnvironmentPosix.cpp --replace '@R@' ${R}
|
||||
substituteInPlace src/cpp/core/libclang/LibClang.cpp \
|
||||
--replace '@libclang@' ${llvmPackages.libclang.lib} \
|
||||
--replace '@libclang.so@' ${llvmPackages.libclang.lib}/lib/libclang.so
|
||||
'';
|
||||
|
||||
ginSrc = fetchurl {
|
||||
url = "https://s3.amazonaws.com/rstudio-buildtools/gin-${ginVer}.zip";
|
||||
sha256 = "16jzmljravpz6p2rxa87k5f7ir8vs7ya75lnfybfajzmci0p13mr";
|
||||
};
|
||||
|
||||
gwtSrc = fetchurl {
|
||||
url = "https://s3.amazonaws.com/rstudio-buildtools/gwt-${gwtVer}.zip";
|
||||
sha256 = "19x000m3jwnkqgi6ic81lkzyjvvxcfacw2j0vcfcaknvvagzhyhb";
|
||||
};
|
||||
|
||||
hunspellDictionaries = filter isDerivation (unique (attrValues hunspellDicts));
|
||||
# These dicts contain identically-named dict files, so we only keep the
|
||||
# -large versions in case of clashes
|
||||
largeDicts = filter (d: hasInfix "-large-wordlist" d) hunspellDictionaries;
|
||||
otherDicts = filter (d: !(hasAttr "dictFileName" d &&
|
||||
elem d.dictFileName (map (d: d.dictFileName) largeDicts))) hunspellDictionaries;
|
||||
dictionaries = largeDicts ++ otherDicts;
|
||||
|
||||
mathJaxSrc = fetchurl {
|
||||
url = "https://s3.amazonaws.com/rstudio-buildtools/mathjax-26.zip";
|
||||
sha256 = "0wbcqb9rbfqqvvhqr1pbqax75wp8ydqdyhp91fbqfqp26xzjv6lk";
|
||||
url = "https://s3.amazonaws.com/rstudio-buildtools/mathjax-27.zip";
|
||||
sha256 = "sha256-xWy6psTOA8H8uusrXqPDEtL7diajYCVHcMvLiPsgQXY=";
|
||||
};
|
||||
|
||||
rsconnectSrc = fetchFromGitHub {
|
||||
owner = "rstudio";
|
||||
repo = "rsconnect";
|
||||
rev = "984745d8";
|
||||
sha256 = "037z0y32k1gdda192y5qn5hi7wp8wyap44mkjlklrgcqkmlcylb9";
|
||||
rev = "f5854bb71464f6e3017da9855f058fe3d5b32efd";
|
||||
sha256 = "sha256-ULyWdSgGPSAwMt0t4QPuzeUE6Bo6IJh+5BMgW1bFN+Y=";
|
||||
};
|
||||
|
||||
preConfigure =
|
||||
''
|
||||
export RSTUDIO_VERSION_MAJOR=${verMajor}
|
||||
export RSTUDIO_VERSION_MINOR=${verMinor}
|
||||
export RSTUDIO_VERSION_PATCH=${verPatch}
|
||||
|
||||
GWT_LIB_DIR=src/gwt/lib
|
||||
|
||||
mkdir -p $GWT_LIB_DIR/gin/${ginVer}
|
||||
unzip ${ginSrc} -d $GWT_LIB_DIR/gin/${ginVer}
|
||||
|
||||
unzip ${gwtSrc}
|
||||
mkdir -p $GWT_LIB_DIR/gwt
|
||||
mv gwt-${gwtVer} $GWT_LIB_DIR/gwt/${gwtVer}
|
||||
|
||||
mkdir dependencies/common/dictionaries
|
||||
for dict in ${builtins.concatStringsSep " " dictionaries}; do
|
||||
for i in "$dict/share/hunspell/"*; do
|
||||
ln -sv $i dependencies/common/dictionaries/
|
||||
done
|
||||
done
|
||||
|
||||
unzip ${mathJaxSrc} -d dependencies/common/mathjax-26
|
||||
|
||||
mkdir -p dependencies/common/pandoc
|
||||
cp ${pandoc}/bin/pandoc dependencies/common/pandoc/
|
||||
|
||||
cp -r ${rsconnectSrc} dependencies/common/rsconnect
|
||||
pushd dependencies/common
|
||||
${R}/bin/R CMD build -d --no-build-vignettes rsconnect
|
||||
popd
|
||||
'';
|
||||
|
||||
cmakeFlags = [ "-DRSTUDIO_TARGET=Desktop" "-DQT_QMAKE_EXECUTABLE=$NIX_QT5_TMP/bin/qmake" ];
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "${pname}-${version}";
|
||||
exec = "rstudio %F";
|
||||
icon = "rstudio";
|
||||
desktopName = "RStudio";
|
||||
genericName = "IDE";
|
||||
comment = meta.description;
|
||||
categories = "Development;";
|
||||
mimeType = "text/x-r-source;text/x-r;text/x-R;text/x-r-doc;text/x-r-sweave;text/x-r-markdown;text/x-r-html;text/x-r-presentation;application/x-r-data;application/x-r-project;text/x-r-history;text/x-r-profile;text/x-tex;text/x-markdown;text/html;text/css;text/javascript;text/x-chdr;text/x-csrc;text/x-c++hdr;text/x-c++src;";
|
||||
panmirrorModules = mkYarnModules {
|
||||
inherit pname version;
|
||||
packageJSON = ./package.json;
|
||||
yarnLock = ./yarn.lock;
|
||||
yarnNix = ./yarndeps.nix;
|
||||
};
|
||||
|
||||
qtWrapperArgs = [ "--suffix PATH : ${gnumake}/bin" ];
|
||||
in
|
||||
mkDerivation rec {
|
||||
inherit pname version src RSTUDIO_VERSION_MAJOR RSTUDIO_VERSION_MINOR RSTUDIO_VERSION_PATCH;
|
||||
|
||||
postInstall = ''
|
||||
mkdir $out/share
|
||||
cp -r ${desktopItem}/share/applications $out/share
|
||||
mkdir $out/share/icons
|
||||
ln $out/rstudio.png $out/share/icons
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
unzip
|
||||
ant
|
||||
jdk
|
||||
makeWrapper
|
||||
pandoc
|
||||
nodejs
|
||||
copyDesktopItems
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
boost
|
||||
zlib
|
||||
openssl
|
||||
R
|
||||
qtbase
|
||||
qtxmlpatterns
|
||||
qtsensors
|
||||
qtwebengine
|
||||
qtwebchannel
|
||||
libuuid
|
||||
libyamlcpp
|
||||
soci
|
||||
postgresql
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DRSTUDIO_TARGET=Desktop"
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
"-DQT_QMAKE_EXECUTABLE=${qmake}/bin/qmake"
|
||||
"-DRSTUDIO_USE_SYSTEM_SOCI=ON"
|
||||
"-DRSTUDIO_USE_SYSTEM_BOOST=ON"
|
||||
"-DRSTUDIO_USE_SYSTEM_YAML_CPP=ON"
|
||||
"-DPANDOC_VERSION=${pandoc.version}"
|
||||
"-DCMAKE_INSTALL_PREFIX=${placeholder "out"}/lib/rstudio"
|
||||
];
|
||||
|
||||
# Hack RStudio to only use the input R and provided libclang.
|
||||
patches = [
|
||||
./r-location.patch
|
||||
./clang-location.patch
|
||||
# postFetch doesn't work with this | error: unexpected end-of-file
|
||||
# replacing /usr/bin/node is done in postPatch
|
||||
# https://src.fedoraproject.org/rpms/rstudio/tree/rawhide
|
||||
(fetchpatch {
|
||||
name = "system-node.patch";
|
||||
url = "https://src.fedoraproject.org/rpms/rstudio/raw/5bda2e290c9e72305582f2011040938d3e356906/f/0004-use-system-node.patch";
|
||||
sha256 = "sha256-P1Y07RB/ceFNa749nyBUWSE41eiiZgt43zVcmahvfZM=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace src/cpp/core/r_util/REnvironmentPosix.cpp --replace '@R@' ${R}
|
||||
|
||||
substituteInPlace src/cpp/CMakeLists.txt \
|
||||
--replace 'SOCI_LIBRARY_DIR "/usr/lib"' 'SOCI_LIBRARY_DIR "${soci}/lib"'
|
||||
|
||||
substituteInPlace src/gwt/build.xml \
|
||||
--replace '/usr/bin/node' '${nodejs}/bin/node'
|
||||
|
||||
substituteInPlace src/cpp/core/libclang/LibClang.cpp \
|
||||
--replace '@libclang@' ${llvmPackages.libclang.lib} \
|
||||
--replace '@libclang.so@' ${llvmPackages.libclang.lib}/lib/libclang.so
|
||||
|
||||
substituteInPlace src/cpp/session/include/session/SessionConstants.hpp \
|
||||
--replace "bin/pandoc" "${pandoc}/bin/pandoc"
|
||||
'';
|
||||
|
||||
meta = with lib;
|
||||
{ description = "Set of integrated tools for the R language";
|
||||
homepage = "https://www.rstudio.com/";
|
||||
license = licenses.agpl3;
|
||||
maintainers = with maintainers; [ ciil ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
hunspellDictionaries = with lib; filter isDerivation (unique (attrValues hunspellDicts));
|
||||
# These dicts contain identically-named dict files, so we only keep the
|
||||
# -large versions in case of clashes
|
||||
largeDicts = with lib; filter (d: hasInfix "-large-wordlist" d) hunspellDictionaries;
|
||||
otherDicts = with lib; filter
|
||||
(d: !(hasAttr "dictFileName" d &&
|
||||
elem d.dictFileName (map (d: d.dictFileName) largeDicts)))
|
||||
hunspellDictionaries;
|
||||
dictionaries = largeDicts ++ otherDicts;
|
||||
|
||||
preConfigure = ''
|
||||
mkdir dependencies/dictionaries
|
||||
for dict in ${builtins.concatStringsSep " " dictionaries}; do
|
||||
for i in "$dict/share/hunspell/"*; do
|
||||
ln -s $i dependencies/dictionaries/
|
||||
done
|
||||
done
|
||||
|
||||
unzip -q ${mathJaxSrc} -d dependencies/mathjax-27
|
||||
|
||||
mkdir -p dependencies/pandoc/${pandoc.version}
|
||||
cp ${pandoc}/bin/pandoc dependencies/pandoc/${pandoc.version}/pandoc
|
||||
|
||||
cp -r ${rsconnectSrc} dependencies/rsconnect
|
||||
( cd dependencies && ${R}/bin/R CMD build -d --no-build-vignettes rsconnect )
|
||||
|
||||
cp -r "${panmirrorModules}" src/gwt/panmirror/src/editor/node_modules
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/share/icons $out/bin
|
||||
ln $out/lib/rstudio/rstudio.png $out/share/icons
|
||||
|
||||
for f in {diagnostics,rpostback,rstudio}; do
|
||||
ln -s $out/lib/rstudio/bin/$f $out/bin
|
||||
done
|
||||
|
||||
for f in .gitignore .Rbuildignore LICENSE README; do
|
||||
find . -name $f -delete
|
||||
done
|
||||
rm -r $out/lib/rstudio/{INSTALL,COPYING,NOTICE,README.md,SOURCE,VERSION}
|
||||
rm -r $out/lib/rstudio/bin/{pandoc/pandoc,pandoc}
|
||||
'';
|
||||
|
||||
qtWrapperArgs = [
|
||||
"--suffix PATH : ${lib.makeBinPath [ gnumake ]}"
|
||||
];
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = "${pname}";
|
||||
exec = "rstudio %F";
|
||||
icon = "rstudio";
|
||||
desktopName = "RStudio";
|
||||
genericName = "IDE";
|
||||
comment = meta.description;
|
||||
categories = "Development;";
|
||||
mimeType = "text/x-r-source;text/x-r;text/x-R;text/x-r-doc;text/x-r-sweave;text/x-r-markdown;text/x-r-html;text/x-r-presentation;application/x-r-data;application/x-r-project;text/x-r-history;text/x-r-profile;text/x-tex;text/x-markdown;text/html;text/css;text/javascript;text/x-chdr;text/x-csrc;text/x-c++hdr;text/x-c++src;";
|
||||
})
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Set of integrated tools for the R language";
|
||||
homepage = "https://www.rstudio.com/";
|
||||
license = licenses.agpl3Only;
|
||||
maintainers = with maintainers; [ ciil ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
83
pkgs/applications/editors/rstudio/package.json
Normal file
83
pkgs/applications/editors/rstudio/package.json
Normal file
@ -0,0 +1,83 @@
|
||||
{
|
||||
"name": "panmirror",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"license": "agpl-3.0",
|
||||
"dependencies": {
|
||||
"@types/ace": "^0.0.43",
|
||||
"@types/clipboard": "^2.0.1",
|
||||
"@types/diff-match-patch": "^1.0.32",
|
||||
"@types/js-yaml": "^3.12.3",
|
||||
"@types/lodash.debounce": "^4.0.6",
|
||||
"@types/lodash.uniqby": "^4.7.6",
|
||||
"@types/orderedmap": "^1.0.0",
|
||||
"@types/prosemirror-commands": "^1.0.3",
|
||||
"@types/prosemirror-dev-tools": "^2.1.0",
|
||||
"@types/prosemirror-dropcursor": "^1.0.0",
|
||||
"@types/prosemirror-gapcursor": "^1.0.1",
|
||||
"@types/prosemirror-history": "^1.0.1",
|
||||
"@types/prosemirror-inputrules": "^1.0.3",
|
||||
"@types/prosemirror-keymap": "^1.0.3",
|
||||
"@types/prosemirror-model": "^1.7.2",
|
||||
"@types/prosemirror-schema-list": "^1.0.1",
|
||||
"@types/prosemirror-state": "^1.2.5",
|
||||
"@types/prosemirror-tables": "^0.9.1",
|
||||
"@types/prosemirror-transform": "^1.1.1",
|
||||
"@types/react": "^16.9.32",
|
||||
"@types/react-dom": "^16.9.6",
|
||||
"@types/react-window": "^1.8.2",
|
||||
"@types/zenscroll": "^4.0.0",
|
||||
"biblatex-csl-converter": "^1.9.1",
|
||||
"clipboard": "^2.0.6",
|
||||
"diff-match-patch": "^1.0.4",
|
||||
"fuse.js": "^6.0.4",
|
||||
"js-yaml": "^3.13.1",
|
||||
"lodash.debounce": "^4.0.8",
|
||||
"lodash.uniqby": "^4.7.0",
|
||||
"orderedmap": "^1.0.0",
|
||||
"prosemirror-changeset": "^2.1.2",
|
||||
"prosemirror-commands": "^1.1.4",
|
||||
"prosemirror-dev-tools": "^2.1.1",
|
||||
"prosemirror-dropcursor": "^1.3.2",
|
||||
"prosemirror-gapcursor": "^1.1.5",
|
||||
"prosemirror-history": "^1.1.3",
|
||||
"prosemirror-inputrules": "^1.1.2",
|
||||
"prosemirror-keymap": "^1.1.4",
|
||||
"prosemirror-model": "^1.11.0",
|
||||
"prosemirror-schema-list": "^1.1.4",
|
||||
"prosemirror-state": "^1.3.3",
|
||||
"prosemirror-tables": "^1.1.1",
|
||||
"prosemirror-transform": "^1.2.8",
|
||||
"prosemirror-utils": "^0.9.6",
|
||||
"prosemirror-view": "^1.15.6",
|
||||
"react": "^16.13.1",
|
||||
"react-dom": "^16.13.1",
|
||||
"react-window": "^1.8.5",
|
||||
"sentence-splitter": "^3.2.0",
|
||||
"thenby": "^1.3.3",
|
||||
"tlite": "^0.1.9",
|
||||
"typescript": "3.8.3",
|
||||
"zenscroll": "^4.0.2"
|
||||
},
|
||||
"scripts": {
|
||||
"format": "prettier --write \"src/**/*.ts\" \"src/**/*.tsx\"",
|
||||
"lint": "tslint -c tslint.json 'src/**/*.{ts,tsx}'",
|
||||
"watch": "tsc --watch --noEmit --project './tsconfig.json'",
|
||||
"generate-symbols": "ts-node tools/generate-symbols.ts"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^14.0.4",
|
||||
"@types/unzip": "^0.1.1",
|
||||
"fast-xml-parser": "^3.17.1",
|
||||
"fuse-box": "^3.7.1",
|
||||
"prettier": "^1.18.2",
|
||||
"terser": "^4.6.2",
|
||||
"ts-node": "^8.10.2",
|
||||
"tslint": "^5.20.0",
|
||||
"tslint-config-prettier": "^1.18.0",
|
||||
"tslint-react": "^5.0.0",
|
||||
"typescript-tslint-plugin": "^0.5.5",
|
||||
"uglify-js": "^3.7.4",
|
||||
"unzip": "^0.1.11"
|
||||
}
|
||||
}
|
@ -1,19 +1,23 @@
|
||||
diff -ur rstudio-1.1.216-old/src/cpp/core/CMakeLists.txt rstudio-1.1.216-new/src/cpp/core/CMakeLists.txt
|
||||
--- rstudio-1.1.216-old/src/cpp/core/r_util/REnvironmentPosix.cpp 2017-04-30 03:37:26.669418665 -0400
|
||||
+++ rstudio-1.1.216-new/src/cpp/core/r_util/REnvironmentPosix.cpp 2017-04-30 03:36:33.590726185 -0400
|
||||
@@ -87,10 +87,7 @@
|
||||
diff --git a/src/cpp/core/r_util/REnvironmentPosix.cpp b/src/cpp/core/r_util/REnvironmentPosix.cpp
|
||||
index dbc9a9a1..9a526a86 100644
|
||||
--- a/src/cpp/core/r_util/REnvironmentPosix.cpp
|
||||
+++ b/src/cpp/core/r_util/REnvironmentPosix.cpp
|
||||
@@ -107,12 +107,9 @@ FilePath systemDefaultRScript(std::string* pErrMsg)
|
||||
{
|
||||
// define potential paths
|
||||
std::vector<std::string> rScriptPaths;
|
||||
- rScriptPaths.push_back("/usr/bin/R");
|
||||
- rScriptPaths.push_back("/usr/local/bin/R");
|
||||
- rScriptPaths.push_back("/opt/local/bin/R");
|
||||
- rScriptPaths.push_back("/Library/Frameworks/R.framework/Resources/bin/R");
|
||||
+ rScriptPaths.push_back("@R@/bin/R");
|
||||
return scanForRScript(rScriptPaths, pErrMsg);
|
||||
}
|
||||
// check fallback paths
|
||||
std::vector<std::string> rScriptPaths = {
|
||||
- "/usr/bin/R",
|
||||
- "/usr/local/bin/R",
|
||||
- "/opt/local/bin/R",
|
||||
+ "@R@/bin/R"
|
||||
#ifdef __APPLE__
|
||||
- "/opt/homebrew/bin/R",
|
||||
- "/Library/Frameworks/R.framework/Resources/bin/R",
|
||||
+ "@R@/bin/R",
|
||||
#endif
|
||||
};
|
||||
|
||||
@@ -226,8 +223,7 @@
|
||||
@@ -225,8 +222,7 @@ FilePath systemDefaultRScript(std::string* pErrMsg)
|
||||
// scan in standard locations as a fallback
|
||||
std::string scanErrMsg;
|
||||
std::vector<std::string> rScriptPaths;
|
||||
@ -21,5 +25,6 @@ diff -ur rstudio-1.1.216-old/src/cpp/core/CMakeLists.txt rstudio-1.1.216-new/src
|
||||
- rScriptPaths.push_back("/usr/bin/R");
|
||||
+ rScriptPaths.push_back("@R@/bin/R");
|
||||
FilePath scriptPath = scanForRScript(rScriptPaths, &scanErrMsg);
|
||||
if (scriptPath.empty())
|
||||
if (scriptPath.isEmpty())
|
||||
{
|
||||
|
||||
|
3835
pkgs/applications/editors/rstudio/yarn.lock
Normal file
3835
pkgs/applications/editors/rstudio/yarn.lock
Normal file
File diff suppressed because it is too large
Load Diff
4373
pkgs/applications/editors/rstudio/yarndeps.nix
Normal file
4373
pkgs/applications/editors/rstudio/yarndeps.nix
Normal file
File diff suppressed because it is too large
Load Diff
@ -35,6 +35,7 @@
|
||||
, python3
|
||||
, readline
|
||||
, soci
|
||||
, boost
|
||||
, speex
|
||||
, sqlite
|
||||
, lib, stdenv
|
||||
@ -93,6 +94,7 @@ stdenv.mkDerivation rec {
|
||||
pango
|
||||
readline
|
||||
soci
|
||||
boost
|
||||
speex
|
||||
sqlite
|
||||
udev
|
||||
|
32
pkgs/development/libraries/libyaml-cpp/0.3.0.nix
Normal file
32
pkgs/development/libraries/libyaml-cpp/0.3.0.nix
Normal file
@ -0,0 +1,32 @@
|
||||
{ lib, stdenv, fetchFromGitHub, cmake }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libyaml-cpp";
|
||||
version = "0.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jbeder";
|
||||
repo = "yaml-cpp";
|
||||
rev = "release-${version}";
|
||||
sha256 = "sha256-pmgcULTXhl83+Wc8ZsGebnJ1t0XybHhUEJxDnEZE5x8=";
|
||||
};
|
||||
|
||||
# implement https://github.com/jbeder/yaml-cpp/commit/52a1378e48e15d42a0b755af7146394c6eff998c
|
||||
postPatch = ''
|
||||
substituteInPlace CMakeLists.txt \
|
||||
--replace 'option(YAML_BUILD_SHARED_LIBS "Build Shared Libraries" OFF)' \
|
||||
'option(YAML_BUILD_SHARED_LIBS "Build yaml-cpp shared library" ''${BUILD_SHARED_LIBS})'
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" "-DYAML_CPP_BUILD_TESTS=OFF" ];
|
||||
|
||||
meta = with lib; {
|
||||
inherit (src.meta) homepage;
|
||||
description = "A YAML parser and emitter for C++";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ andir ];
|
||||
};
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, fetchFromGitHub, cmake }:
|
||||
{ lib, stdenv, fetchFromGitHub, cmake, fetchpatch }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libyaml-cpp";
|
||||
@ -11,12 +11,14 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "sha256-2tFWccifn0c2lU/U1WNg2FHrBohjx8CXMllPJCevaNk=";
|
||||
};
|
||||
|
||||
# implement https://github.com/jbeder/yaml-cpp/commit/52a1378e48e15d42a0b755af7146394c6eff998c
|
||||
postPatch = ''
|
||||
substituteInPlace CMakeLists.txt \
|
||||
--replace 'option(YAML_BUILD_SHARED_LIBS "Build Shared Libraries" OFF)' \
|
||||
'option(YAML_BUILD_SHARED_LIBS "Build yaml-cpp shared library" ''${BUILD_SHARED_LIBS})'
|
||||
'';
|
||||
patches = [
|
||||
# https://github.com/jbeder/yaml-cpp/issues/774
|
||||
# https://github.com/jbeder/yaml-cpp/pull/1037
|
||||
(fetchpatch {
|
||||
url = "https://github.com/jbeder/yaml-cpp/commit/4f48727b365962e31451cd91027bd797bc7d2ee7.patch";
|
||||
sha256 = "sha256-jarZAh7NgwL3xXzxijDiAQmC/EC2WYfNMkYHEIQBPhM=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
|
@ -5,6 +5,7 @@
|
||||
, lib
|
||||
, soci
|
||||
, sqlite
|
||||
, boost
|
||||
, stdenv
|
||||
}:
|
||||
|
||||
@ -21,7 +22,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "sha256-11vvvA+pud/eOyYsbRKVvGfiyhwdhNPfRQSfaquUro8=";
|
||||
};
|
||||
|
||||
buildInputs = [ bctoolbox soci belle-sip sqlite ];
|
||||
buildInputs = [ bctoolbox soci belle-sip sqlite boost ];
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
# Do not build static libraries
|
||||
|
@ -1,25 +1,31 @@
|
||||
{ cmake
|
||||
, fetchFromGitHub
|
||||
, sqlite
|
||||
, postgresql
|
||||
, boost
|
||||
, lib, stdenv
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "soci";
|
||||
version = "4.0.1";
|
||||
version = "4.0.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "SOCI";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-d4GtxDaB+yGfyCnbvnLRUYcrPSMkUF7Opu6+SZd8opM=";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-NE0ApbX8HG2VAQ9cg9+kX3kJQ4PR1XvWL9BlT8NphmE=";
|
||||
};
|
||||
|
||||
# Do not build static libraries
|
||||
cmakeFlags = [ "-DSOCI_STATIC=OFF" "-DCMAKE_CXX_STANDARD=11" ];
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ sqlite ];
|
||||
buildInputs = [
|
||||
sqlite
|
||||
postgresql
|
||||
boost
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Database access library for C++";
|
||||
|
@ -18167,17 +18167,12 @@ with pkgs;
|
||||
|
||||
libyamlcpp = callPackage ../development/libraries/libyaml-cpp { };
|
||||
|
||||
libyamlcpp_0_3 = callPackage ../development/libraries/libyaml-cpp/0.3.0.nix { };
|
||||
|
||||
libcyaml = callPackage ../development/libraries/libcyaml { };
|
||||
|
||||
rang = callPackage ../development/libraries/rang { };
|
||||
|
||||
libyamlcpp_0_3 = pkgs.libyamlcpp.overrideAttrs (oldAttrs: {
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://github.com/jbeder/yaml-cpp/archive/release-0.3.0.tar.gz";
|
||||
sha256 = "12aszqw6svwlnb6nzhsbqhz3c7vnd5ahd0k6xlj05w8lm83hx3db";
|
||||
};
|
||||
});
|
||||
|
||||
libykclient = callPackage ../development/libraries/libykclient { };
|
||||
|
||||
libykneomgr = callPackage ../development/libraries/libykneomgr { };
|
||||
@ -27493,9 +27488,7 @@ with pkgs;
|
||||
rsclock = callPackage ../applications/misc/rsclock { };
|
||||
|
||||
rstudio = libsForQt5.callPackage ../applications/editors/rstudio {
|
||||
boost = boost166;
|
||||
llvmPackages = llvmPackages_7;
|
||||
jdk = jdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
|
||||
jdk = jdk8;
|
||||
};
|
||||
|
||||
rsync = callPackage ../applications/networking/sync/rsync (config.rsync or {});
|
||||
|
Loading…
Reference in New Issue
Block a user