uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead

https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948
this can do it nicely.

Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
Anton Arapov 2021-04-03 12:58:10 +02:00 committed by Alan Daniels
commit 56de2bcd43
30691 changed files with 3076956 additions and 0 deletions

View file

@ -0,0 +1,61 @@
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.getParent().getParent();
+ FilePath llvmPath("@libclang@");
boost::format fmt("%1%/lib/clang/%2%/include");
fmt % llvmPath.getAbsolutePath() % version.asString();
std::string includePath = fmt.str();
@@ -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",
- };
-
- // 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;
}

View file

@ -0,0 +1,240 @@
{ lib
, stdenv
, 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
, server ? false # build server version
, sqlite
, pam
, nixosTests
}:
let
pname = "RStudio";
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 = "sha256-9c1bNsf8kJjpcZ2cMV/pPNtXQkFOntX29a1cdnXpllE=";
};
mathJaxSrc = fetchurl {
url = "https://s3.amazonaws.com/rstudio-buildtools/mathjax-27.zip";
sha256 = "sha256-xWy6psTOA8H8uusrXqPDEtL7diajYCVHcMvLiPsgQXY=";
};
rsconnectSrc = fetchFromGitHub {
owner = "rstudio";
repo = "rsconnect";
rev = "f5854bb71464f6e3017da9855f058fe3d5b32efd";
sha256 = "sha256-ULyWdSgGPSAwMt0t4QPuzeUE6Bo6IJh+5BMgW1bFN+Y=";
};
panmirrorModules = mkYarnModules {
inherit pname version;
packageJSON = ./package.json;
yarnLock = ./yarn.lock;
yarnNix = ./yarndeps.nix;
};
description = "Set of integrated tools for the R language";
in
(if server then stdenv.mkDerivation else mkDerivation)
(rec {
inherit pname version src RSTUDIO_VERSION_MAJOR RSTUDIO_VERSION_MINOR RSTUDIO_VERSION_PATCH;
nativeBuildInputs = [
cmake
unzip
ant
jdk
makeWrapper
pandoc
nodejs
] ++ lib.optional (!server) [
copyDesktopItems
];
buildInputs = [
boost
zlib
openssl
R
libuuid
libyamlcpp
soci
postgresql
] ++ (if server then [
sqlite.dev
pam
] else [
qtbase
qtxmlpatterns
qtsensors
qtwebengine
qtwebchannel
]);
cmakeFlags = [
"-DRSTUDIO_TARGET=${if server then "Server" else "Desktop"}"
"-DCMAKE_BUILD_TYPE=Release"
"-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"
] ++ lib.optional (!server) [
"-DQT_QMAKE_EXECUTABLE=${qmake}/bin/qmake"
];
# 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"
'';
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.name) 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/bin $out/share
${lib.optionalString (!server) ''
mkdir -p $out/share/icons/hicolor/48x48/apps
ln $out/lib/rstudio/rstudio.png $out/share/icons/hicolor/48x48/apps
''}
for f in {${if server
then "crash-handler-proxy,postback,r-ldpath,rpostback,rserver,rserver-pam,rsession,rstudio-server"
else "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}
'';
meta = with lib; {
broken = (stdenv.isLinux && stdenv.isAarch64);
inherit description;
homepage = "https://www.rstudio.com/";
license = licenses.agpl3Only;
maintainers = with maintainers; [ ciil cfhammill ];
mainProgram = "rstudio" + optionalString server "-server";
platforms = platforms.linux;
};
passthru = {
inherit server;
tests = { inherit (nixosTests) rstudio-server; };
};
} // lib.optionalAttrs (!server) {
qtWrapperArgs = [
"--suffix PATH : ${lib.makeBinPath [ gnumake ]}"
];
desktopItems = [
(makeDesktopItem {
name = pname;
exec = "rstudio %F";
icon = "rstudio";
desktopName = "RStudio";
genericName = "IDE";
comment = description;
categories = [ "Development" ];
mimeTypes = [
"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"
];
})
];
})

View 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"
}
}

View file

@ -0,0 +1,30 @@
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)
{
// 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
};
@@ -225,8 +222,7 @@ FilePath systemDefaultRScript(std::string* pErrMsg)
// scan in standard locations as a fallback
std::string scanErrMsg;
std::vector<std::string> rScriptPaths;
- rScriptPaths.push_back("/usr/local/bin/R");
- rScriptPaths.push_back("/usr/bin/R");
+ rScriptPaths.push_back("@R@/bin/R");
FilePath scriptPath = scanForRScript(rScriptPaths, &scanErrMsg);
if (scriptPath.isEmpty())
{

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff