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:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
69
pkgs/development/interpreters/supercollider/default.nix
Normal file
69
pkgs/development/interpreters/supercollider/default.nix
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
{ lib, stdenv, mkDerivation, fetchurl, fetchpatch, cmake
|
||||
, pkg-config, alsa-lib, libjack2, libsndfile, fftw
|
||||
, curl, gcc, libXt, qtbase, qttools, qtwebengine
|
||||
, readline, qtwebsockets, useSCEL ? false, emacs
|
||||
, supercollider-with-plugins, supercolliderPlugins
|
||||
, writeText, runCommand
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "supercollider";
|
||||
version = "3.12.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/supercollider/supercollider/releases/download/Version-${version}/SuperCollider-${version}-Source.tar.bz2";
|
||||
sha256 = "sha256-1QYorCgSwBK+SVAm4k7HZirr1j+znPmVicFmJdvO3g4=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# add support for SC_DATA_DIR and SC_PLUGIN_DIR env vars to override compile-time values
|
||||
./supercollider-3.12.0-env-dirs.patch
|
||||
|
||||
# fix issue with libsndfile >=1.1.0
|
||||
(fetchpatch {
|
||||
url = "https://github.com/supercollider/supercollider/commit/b9dd70c4c8d61c93d7a70645e0bd18fa76e6834e.patch";
|
||||
hash = "sha256-6FhEHyY0rnE6d7wC+v0U9K+L0aun5LkTqaEFhr3eQNw=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config qttools ];
|
||||
|
||||
buildInputs = [ gcc libjack2 libsndfile fftw curl libXt qtbase qtwebengine qtwebsockets readline ]
|
||||
++ lib.optional (!stdenv.isDarwin) alsa-lib
|
||||
++ lib.optional useSCEL emacs;
|
||||
|
||||
hardeningDisable = [ "stackprotector" ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DSC_WII=OFF"
|
||||
"-DSC_EL=${if useSCEL then "ON" else "OFF"}"
|
||||
];
|
||||
|
||||
passthru.tests = {
|
||||
# test to make sure sclang runs and included plugins are successfully found
|
||||
sclang-sc3-plugins = let
|
||||
supercollider-with-test-plugins = supercollider-with-plugins.override {
|
||||
plugins = with supercolliderPlugins; [ sc3-plugins ];
|
||||
};
|
||||
testsc = writeText "test.sc" ''
|
||||
var err = 0;
|
||||
try {
|
||||
MdaPiano.name.postln;
|
||||
} {
|
||||
err = 1;
|
||||
};
|
||||
err.exit;
|
||||
'';
|
||||
in runCommand "sclang-sc3-plugins-test" {} ''
|
||||
timeout 60s env XDG_CONFIG_HOME="$(mktemp -d)" QT_QPA_PLATFORM=minimal ${supercollider-with-test-plugins}/bin/sclang ${testsc} >$out
|
||||
'';
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Programming language for real time audio synthesis";
|
||||
homepage = "https://supercollider.github.io";
|
||||
maintainers = with maintainers; [ lilyinstarlight ];
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
{ stdenv, lib, fetchurl, cmake, supercollider, fftw }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "sc3-plugins";
|
||||
version = "3.11.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/supercollider/sc3-plugins/releases/download/Version-${version}/sc3-plugins-${version}-Source.tar.bz2";
|
||||
sha256 = "sha256-JjUmu7PJ+x3yRibr+Av2gTREng51fPo7Rk+B4y2JvkQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
buildInputs = [
|
||||
supercollider
|
||||
fftw
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DSC_PATH=${supercollider}/include/SuperCollider"
|
||||
"-DSUPERNOVA=ON"
|
||||
];
|
||||
|
||||
stripDebugList = [ "lib" "share" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Community plugins for SuperCollider";
|
||||
homepage = "https://supercollider.github.io/sc3-plugins/";
|
||||
maintainers = with maintainers; [ lilyinstarlight ];
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
diff --git a/common/SC_Filesystem_unix.cpp b/common/SC_Filesystem_unix.cpp
|
||||
index 52dc1fd2d..aae09ed9c 100644
|
||||
--- a/common/SC_Filesystem_unix.cpp
|
||||
+++ b/common/SC_Filesystem_unix.cpp
|
||||
@@ -94,6 +94,10 @@ bool SC_Filesystem::isNonHostPlatformDirectoryName(const std::string& s) {
|
||||
}
|
||||
|
||||
Path SC_Filesystem::defaultSystemAppSupportDirectory() {
|
||||
+ const char* sc_data_dir = getenv("SC_DATA_DIR");
|
||||
+ if (sc_data_dir)
|
||||
+ return Path(sc_data_dir);
|
||||
+
|
||||
# ifdef SC_DATA_DIR
|
||||
return Path(SC_DATA_DIR);
|
||||
# else
|
||||
@@ -125,6 +129,10 @@ Path SC_Filesystem::defaultUserConfigDirectory() {
|
||||
}
|
||||
|
||||
Path SC_Filesystem::defaultResourceDirectory() {
|
||||
+ const char* sc_data_dir = getenv("SC_DATA_DIR");
|
||||
+ if (sc_data_dir)
|
||||
+ return Path(sc_data_dir);
|
||||
+
|
||||
# ifdef SC_DATA_DIR
|
||||
return Path(SC_DATA_DIR);
|
||||
# else
|
||||
diff --git a/server/scsynth/SC_Lib_Cintf.cpp b/server/scsynth/SC_Lib_Cintf.cpp
|
||||
index f6219307e..28e13eb98 100644
|
||||
--- a/server/scsynth/SC_Lib_Cintf.cpp
|
||||
+++ b/server/scsynth/SC_Lib_Cintf.cpp
|
||||
@@ -178,9 +178,13 @@ void initialize_library(const char* uGensPluginPath) {
|
||||
using DirName = SC_Filesystem::DirName;
|
||||
|
||||
if (loadUGensExtDirs) {
|
||||
+ const char* sc_plugin_dir = getenv("SC_PLUGIN_DIR");
|
||||
+ if (sc_plugin_dir) {
|
||||
+ PlugIn_LoadDir(sc_plugin_dir, true);
|
||||
+ }
|
||||
#ifdef SC_PLUGIN_DIR
|
||||
// load globally installed plugins
|
||||
- if (bfs::is_directory(SC_PLUGIN_DIR)) {
|
||||
+ else if (bfs::is_directory(SC_PLUGIN_DIR)) {
|
||||
PlugIn_LoadDir(SC_PLUGIN_DIR, true);
|
||||
}
|
||||
#endif // SC_PLUGIN_DIR
|
||||
diff --git a/server/supernova/server/main.cpp b/server/supernova/server/main.cpp
|
||||
index b2b5adf4e..6cb8c411c 100644
|
||||
--- a/server/supernova/server/main.cpp
|
||||
+++ b/server/supernova/server/main.cpp
|
||||
@@ -224,8 +224,14 @@ void set_plugin_paths(server_arguments const& args, nova::sc_ugen_factory* facto
|
||||
}
|
||||
}
|
||||
} else {
|
||||
+ const char* sc_plugin_dir = getenv("SC_PLUGIN_DIR");
|
||||
+ if (sc_plugin_dir) {
|
||||
+ factory->load_plugin_folder(sc_plugin_dir);
|
||||
+ }
|
||||
#ifdef SC_PLUGIN_DIR
|
||||
- factory->load_plugin_folder(SC_PLUGIN_DIR);
|
||||
+ else {
|
||||
+ factory->load_plugin_folder(SC_PLUGIN_DIR);
|
||||
+ }
|
||||
#endif
|
||||
factory->load_plugin_folder(SC_Filesystem::instance().getDirectory(DirName::Resource) / SC_PLUGIN_DIR_NAME);
|
||||
factory->load_plugin_folder(SC_Filesystem::instance().getDirectory(DirName::SystemExtension));
|
||||
18
pkgs/development/interpreters/supercollider/wrapper.nix
Normal file
18
pkgs/development/interpreters/supercollider/wrapper.nix
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
{ symlinkJoin, makeWrapper, supercollider, plugins }:
|
||||
|
||||
symlinkJoin {
|
||||
name = "supercollider-with-plugins-${supercollider.version}";
|
||||
paths = [ supercollider ] ++ plugins;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
postBuild = ''
|
||||
for exe in $out/bin/*; do
|
||||
wrapProgram $exe \
|
||||
--set SC_PLUGIN_DIR "$out/lib/SuperCollider/plugins" \
|
||||
--set SC_DATA_DIR "$out/share/SuperCollider"
|
||||
done
|
||||
'';
|
||||
|
||||
inherit (supercollider) pname version meta;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue