159e378cbb
GitOrigin-RevId: c04d5652cfa9742b1d519688f65d1bbccea9eb7e
77 lines
2.2 KiB
Nix
77 lines
2.2 KiB
Nix
{ lib
|
|
, stdenv
|
|
, fetchurl
|
|
, writeScript
|
|
, libX11
|
|
, libXext
|
|
, alsa-lib
|
|
, autoPatchelfHook
|
|
, releasePath ? null
|
|
}:
|
|
|
|
# To use the full release version (same as renoise):
|
|
# 1) Sign into https://backstage.renoise.com and download the release version to some stable location.
|
|
# 2) Override the releasePath attribute to point to the location of the newly downloaded bundle.
|
|
# Note: Renoise creates an individual build for each license which screws somewhat with the
|
|
# use of functions like requireFile as the hash will be different for every user.
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "redux";
|
|
version = "1.3.5";
|
|
|
|
src = if releasePath != null then releasePath
|
|
else fetchurl {
|
|
urls = [
|
|
"https://files.renoise.com/demo/Renoise_Redux_${lib.replaceStrings ["."] ["_"] version}_Demo_Linux_x86_64.tar.gz"
|
|
"https://files.renoise.com/demo/archive/Renoise_Redux_${lib.replaceStrings ["."] ["_"] version}_Demo_Linux_x86_64.tar.gz"
|
|
];
|
|
sha256 = "sha256-eznsdLzgdJ7MyWe5WAEg1MHId5VlfyanoZ6+I9nI/0I=";
|
|
};
|
|
|
|
nativeBuildInputs = [
|
|
autoPatchelfHook
|
|
];
|
|
|
|
buildInputs = [
|
|
libX11
|
|
libXext
|
|
alsa-lib
|
|
stdenv.cc.cc.lib
|
|
];
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
OUTDIR=$out/lib/vst2/RenoiseRedux.vst2
|
|
mkdir -p $OUTDIR
|
|
cp -r ./renoise_redux_x86_64/* $OUTDIR
|
|
|
|
runHook postInstall
|
|
'';
|
|
|
|
|
|
passthru.updateScript = writeScript "update-redux" ''
|
|
#!/usr/bin/env nix-shell
|
|
#!nix-shell -I nixpkgs=./. -i bash -p curl htmlq common-updater-scripts
|
|
set -euo pipefail
|
|
|
|
new_version="$(
|
|
curl 'https://files.renoise.com/demo/' \
|
|
| htmlq a --text \
|
|
| grep -E '^Renoise_Redux_([0-9]+_?)+_Demo_Linux_x86_64\.tar\.gz$' \
|
|
| grep -Eo '[0-9]+(_[0-9]+)*' \
|
|
| head -n1 \
|
|
| tr _ .
|
|
)"
|
|
update-source-version redux "$new_version" --system="x86_64-linux"
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "Sample-based instrument, with a powerful phrase sequencer";
|
|
homepage = "https://www.renoise.com/products/redux";
|
|
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
|
license = licenses.unfree;
|
|
maintainers = with maintainers; [ mihnea-s ];
|
|
platforms = [ "x86_64-linux" ];
|
|
};
|
|
}
|