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
75
pkgs/applications/accessibility/contrast/default.nix
Normal file
75
pkgs/applications/accessibility/contrast/default.nix
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitLab
|
||||
, cairo
|
||||
, desktop-file-utils
|
||||
, gettext
|
||||
, glib
|
||||
, gtk4
|
||||
, libadwaita
|
||||
, meson
|
||||
, ninja
|
||||
, pango
|
||||
, pkg-config
|
||||
, python3
|
||||
, rustPlatform
|
||||
, wrapGAppsHook4
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "contrast";
|
||||
version = "0.0.5";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.gnome.org";
|
||||
group = "World";
|
||||
owner = "design";
|
||||
repo = "contrast";
|
||||
rev = version;
|
||||
sha256 = "cypSbqLwSmauOoWOuppWpF3hvrxiqmkLspxAWzvlUC0=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||
inherit src;
|
||||
name = "${pname}-${version}";
|
||||
hash = "sha256-W4FyqwJpimf0isQRCq9TegpTQPQfsumx40AFQCFG5VQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
desktop-file-utils
|
||||
gettext
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
python3
|
||||
rustPlatform.rust.cargo
|
||||
rustPlatform.cargoSetupHook
|
||||
rustPlatform.rust.rustc
|
||||
wrapGAppsHook4
|
||||
glib # for glib-compile-resources
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
cairo
|
||||
glib
|
||||
gtk4
|
||||
libadwaita
|
||||
pango
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs build-aux/meson_post_install.py
|
||||
# https://gitlab.gnome.org/World/design/contrast/-/merge_requests/23
|
||||
substituteInPlace build-aux/meson_post_install.py \
|
||||
--replace "gtk-update-icon-cache" "gtk4-update-icon-cache"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Checks whether the contrast between two colors meet the WCAG requirements";
|
||||
homepage = "https://gitlab.gnome.org/World/design/contrast";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ jtojnar ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
||||
70
pkgs/applications/accessibility/dasher/default.nix
Normal file
70
pkgs/applications/accessibility/dasher/default.nix
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitLab
|
||||
, autoreconfHook
|
||||
, pkg-config
|
||||
, wrapGAppsHook
|
||||
, glib
|
||||
, gtk3
|
||||
, expat
|
||||
, itstool
|
||||
, gnome-doc-utils
|
||||
, which
|
||||
, at-spi2-core
|
||||
, dbus
|
||||
, libxslt
|
||||
, libxml2
|
||||
, speechSupport ? true
|
||||
, speechd
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "dasher";
|
||||
version = "unstable-2021-04-25";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.gnome.org";
|
||||
owner = "GNOME";
|
||||
repo = "dasher";
|
||||
rev = "90c753b87564fa3f42cb2d04e1eb6662dc8e0f8f";
|
||||
sha256 = "sha256-aM05CV68pCRlhfIPyhuHWeRL+tDroB3fVsoX08OU8hY=";
|
||||
};
|
||||
|
||||
prePatch = ''
|
||||
# tries to invoke git for something, probably fetching the ref
|
||||
echo "true" > build-aux/mkversion
|
||||
'';
|
||||
|
||||
configureFlags = lib.optional (!speechSupport) "--disable-speech";
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
wrapGAppsHook
|
||||
pkg-config
|
||||
# doc generation
|
||||
gnome-doc-utils
|
||||
which
|
||||
libxslt
|
||||
libxml2
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
gtk3
|
||||
expat
|
||||
itstool
|
||||
# at-spi2 needs dbus to be recognized by pkg-config
|
||||
at-spi2-core
|
||||
dbus
|
||||
] ++ lib.optional speechSupport speechd;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = {
|
||||
homepage = "https://www.inference.org.uk/dasher/";
|
||||
description = "Information-efficient text-entry interface, driven by natural continuous pointing gestures";
|
||||
license = lib.licenses.gpl2Only;
|
||||
maintainers = [ lib.maintainers.Profpatsch ];
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
||||
46
pkgs/applications/accessibility/espeakup/default.nix
Normal file
46
pkgs/applications/accessibility/espeakup/default.nix
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, meson
|
||||
, ninja
|
||||
, espeak-ng
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, ronn
|
||||
, alsa-lib
|
||||
, systemd
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "espeakup";
|
||||
version = "0.90";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linux-speakup";
|
||||
repo = "espeakup";
|
||||
rev = "v${version}";
|
||||
sha256 = "0lmjwafvfxy07zn18v3dzjwwpnid2xffgvy2dzlwkbns8gb60ds2";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
ronn
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
espeak-ng
|
||||
alsa-lib
|
||||
systemd
|
||||
];
|
||||
|
||||
PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMUNITDIR = "${placeholder "out"}/lib/systemd/system";
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/linux-speakup/espeakup";
|
||||
description = "Lightweight connector for espeak-ng and speakup";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ ethindp ];
|
||||
platforms = with platforms; linux;
|
||||
};
|
||||
}
|
||||
49
pkgs/applications/accessibility/mousetweaks/default.nix
Normal file
49
pkgs/applications/accessibility/mousetweaks/default.nix
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
{ lib, stdenv, fetchurl, pkg-config
|
||||
, glib, gtk3, gnome, gsettings-desktop-schemas, wrapGAppsHook
|
||||
, libX11, libXtst, libXfixes, libXcursor
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mousetweaks";
|
||||
version = "3.32.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "005fhmvb45sa9mq17dpa23n1xnspiissx5rnpiy7hiqmy3g5rg8f";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config wrapGAppsHook ];
|
||||
|
||||
buildInputs = [
|
||||
glib gtk3 gsettings-desktop-schemas
|
||||
libX11 libXtst libXfixes libXcursor
|
||||
];
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome.updateScript {
|
||||
packageName = pname;
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Provides mouse accessibility enhancements for the GNOME desktop";
|
||||
longDescription = ''
|
||||
Mousetweaks provides mouse accessibility enhancements for the GNOME
|
||||
desktop. These enhancements are:
|
||||
|
||||
- It offers a way to perform the various clicks without using any
|
||||
physical mouse buttons. (Hover Click)
|
||||
|
||||
- It allows users to perform a secondary click by keeping the primary
|
||||
mouse button pressed for a predetermined amount of time. (Simulated
|
||||
Secondary Click)
|
||||
|
||||
The features can be activated and configured through the Universal Access
|
||||
panel of the GNOME Control Center.
|
||||
'';
|
||||
homepage = "https://wiki.gnome.org/Projects/Mousetweaks";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.johnazoidberg ];
|
||||
};
|
||||
}
|
||||
73
pkgs/applications/accessibility/squeekboard/default.nix
Normal file
73
pkgs/applications/accessibility/squeekboard/default.nix
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitLab
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, gnome
|
||||
, gnome-desktop
|
||||
, glib
|
||||
, gtk3
|
||||
, wayland
|
||||
, wayland-protocols
|
||||
, libxml2
|
||||
, libxkbcommon
|
||||
, rustPlatform
|
||||
, feedbackd
|
||||
, wrapGAppsHook
|
||||
, fetchpatch
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "squeekboard";
|
||||
version = "1.17.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.gnome.org";
|
||||
group = "World";
|
||||
owner = "Phosh";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-U46OQ0bXkXv6za8vUZxtbxJKqiF/X/xxJsqQGpnRIpg=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||
inherit src;
|
||||
cargoUpdateHook = ''
|
||||
cat Cargo.toml.in Cargo.deps > Cargo.toml
|
||||
'';
|
||||
name = "${pname}-${version}";
|
||||
sha256 = "sha256-4q8MW1n/xu538+R5ZlA+p/hd6pOQPKj7jOFwnuMc7sk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
glib
|
||||
wayland
|
||||
wrapGAppsHook
|
||||
] ++ (with rustPlatform; [
|
||||
cargoSetupHook
|
||||
rust.cargo
|
||||
rust.rustc
|
||||
]);
|
||||
|
||||
buildInputs = [
|
||||
gtk3
|
||||
gnome-desktop
|
||||
wayland
|
||||
wayland-protocols
|
||||
libxml2
|
||||
libxkbcommon
|
||||
feedbackd
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A virtual keyboard supporting Wayland";
|
||||
homepage = "https://source.puri.sm/Librem5/squeekboard";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ artturin ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
59
pkgs/applications/accessibility/svkbd/default.nix
Normal file
59
pkgs/applications/accessibility/svkbd/default.nix
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, writeText
|
||||
, pkg-config
|
||||
, libX11
|
||||
, libXft
|
||||
, libXi
|
||||
, libXinerama
|
||||
, libXtst
|
||||
, layout ? null
|
||||
, conf ? null
|
||||
, patches ? [ ]
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "svkbd";
|
||||
version = "0.4.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://dl.suckless.org/tools/svkbd-${version}.tar.gz";
|
||||
sha256 = "sha256-+8Jh/D4dgULhRXtC1tZQg6AK4POh9czyRyrMi0auD1o=";
|
||||
};
|
||||
|
||||
inherit patches;
|
||||
|
||||
postPatch = let
|
||||
configFile = if lib.isDerivation conf || lib.isPath conf then
|
||||
conf
|
||||
else
|
||||
writeText "config.def.h" conf;
|
||||
in lib.optionalString (conf != null) ''
|
||||
cp ${configFile} config.def.h
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libX11
|
||||
libXft
|
||||
libXi
|
||||
libXinerama
|
||||
libXtst
|
||||
];
|
||||
|
||||
makeFlags = [
|
||||
"PREFIX=${placeholder "out"}"
|
||||
] ++ lib.optional (layout != null) "LAYOUT=${layout}";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Simple virtual keyboard";
|
||||
homepage = "https://tools.suckless.org/x/svkbd/";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ dotlambda ];
|
||||
};
|
||||
}
|
||||
36
pkgs/applications/accessibility/wvkbd/default.nix
Normal file
36
pkgs/applications/accessibility/wvkbd/default.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, wayland-scanner
|
||||
, wayland
|
||||
, pango
|
||||
, glib
|
||||
, harfbuzz
|
||||
, cairo
|
||||
, pkg-config
|
||||
, libxkbcommon
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wvkbd";
|
||||
version = "0.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jjsullivan5196";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-5UV2PMrLXtF3AxjfPxxwFRkgVef+Ap8nG1v795o0bWE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ wayland-scanner wayland pango glib harfbuzz cairo libxkbcommon ];
|
||||
installFlags = [ "PREFIX=$(out)" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/jjsullivan5196/wvkbd";
|
||||
description = "On-screen keyboard for wlroots";
|
||||
maintainers = [ maintainers.elohmeier ];
|
||||
platforms = platforms.linux;
|
||||
license = licenses.gpl3Plus;
|
||||
};
|
||||
}
|
||||
33
pkgs/applications/audio/AMB-plugins/default.nix
Normal file
33
pkgs/applications/audio/AMB-plugins/default.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
{ lib, stdenv, fetchurl, ladspaH
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "AMB-plugins";
|
||||
version = "0.8.1";
|
||||
src = fetchurl {
|
||||
url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2";
|
||||
sha256 = "0x4blm4visjqj0ndqr0cg776v3b7lvplpc8cgi9n51llhavn0jpl";
|
||||
};
|
||||
|
||||
buildInputs = [ ladspaH ];
|
||||
|
||||
patchPhase = ''
|
||||
sed -i 's@/usr/bin/install@install@g' Makefile
|
||||
sed -i 's@/bin/rm@rm@g' Makefile
|
||||
sed -i 's@/usr/lib/ladspa@$(out)/lib/ladspa@g' Makefile
|
||||
'';
|
||||
|
||||
preInstall="mkdir -p $out/lib/ladspa";
|
||||
|
||||
meta = {
|
||||
description = "A set of ambisonics ladspa plugins";
|
||||
longDescription = ''
|
||||
Mono and stereo to B-format panning, horizontal rotator, square, hexagon and cube decoders.
|
||||
'';
|
||||
version = version;
|
||||
homepage = "http://kokkinizita.linuxaudio.org/linuxaudio/ladspa/index.html";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
maintainers = [ lib.maintainers.magnetophon ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
81
pkgs/applications/audio/CHOWTapeModel/default.nix
Normal file
81
pkgs/applications/audio/CHOWTapeModel/default.nix
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
{ alsa-lib, at-spi2-core, cmake, curl, dbus, libepoxy, fetchFromGitHub, freeglut
|
||||
, freetype, gcc-unwrapped, gtk3, lib, libGL, libXcursor, libXdmcp, libXext
|
||||
, libXinerama, libXrandr, libXtst, libdatrie, libjack2, libpsl, libselinux
|
||||
, libsepol, libsysprof-capture, libthai, libxkbcommon, lv2, pcre, pkg-config
|
||||
, python3, sqlite, stdenv }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "CHOWTapeModel";
|
||||
version = "2.10.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jatinchowdhury18";
|
||||
repo = "AnalogTapeModel";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-iuT7OBRBtMkjcTHayCcne1mNqkcxzKnEYl62n65V7Z4=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config cmake ];
|
||||
|
||||
buildInputs = [
|
||||
alsa-lib
|
||||
at-spi2-core
|
||||
curl
|
||||
dbus
|
||||
libepoxy
|
||||
freeglut
|
||||
freetype
|
||||
gtk3
|
||||
libGL
|
||||
libXcursor
|
||||
libXdmcp
|
||||
libXext
|
||||
libXinerama
|
||||
libXrandr
|
||||
libXtst
|
||||
libdatrie
|
||||
libjack2
|
||||
libpsl
|
||||
libselinux
|
||||
libsepol
|
||||
libsysprof-capture
|
||||
libthai
|
||||
libxkbcommon
|
||||
lv2
|
||||
pcre
|
||||
python3
|
||||
sqlite
|
||||
gcc-unwrapped
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_AR=${gcc-unwrapped}/bin/gcc-ar"
|
||||
"-DCMAKE_RANLIB=${gcc-unwrapped}/bin/gcc-ranlib"
|
||||
"-DCMAKE_NM=${gcc-unwrapped}/bin/gcc-nm"
|
||||
];
|
||||
|
||||
postPatch = "cd Plugin";
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/lib/lv2 $out/lib/vst3 $out/bin $out/share/doc/CHOWTapeModel/
|
||||
cd CHOWTapeModel_artefacts/Release
|
||||
cp libCHOWTapeModel_SharedCode.a $out/lib
|
||||
cp -r LV2/CHOWTapeModel.lv2 $out/lib/lv2
|
||||
cp -r VST3/CHOWTapeModel.vst3 $out/lib/vst3
|
||||
cp Standalone/CHOWTapeModel $out/bin
|
||||
cp ../../../../Manual/ChowTapeManual.pdf $out/share/doc/CHOWTapeModel/
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/jatinchowdhury18/AnalogTapeModel";
|
||||
description =
|
||||
"Physical modelling signal processing for analog tape recording. LV2, VST3 and standalone";
|
||||
license = with licenses; [ gpl3Only ];
|
||||
maintainers = with maintainers; [ magnetophon ];
|
||||
platforms = platforms.linux;
|
||||
# error: 'vvtanh' was not declared in this scope; did you mean 'tanh'?
|
||||
# error: no matching function for call to 'juce::dsp::SIMDRegister<double>::SIMDRegister(xsimd::simd_batch_traits<xsimd::batch<double, 2> >::batch_bool_type)'
|
||||
broken = stdenv.isAarch64; # since 2021-12-27 on hydra (update to 2.10): https://hydra.nixos.org/build/162558991
|
||||
};
|
||||
}
|
||||
53
pkgs/applications/audio/ChowCentaur/default.nix
Normal file
53
pkgs/applications/audio/ChowCentaur/default.nix
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
{ stdenv, lib, fetchFromGitHub, cmake, pkg-config, cairo, libxkbcommon
|
||||
, xcbutilcursor, xcbutilkeysyms, xcbutil, libXrandr, libXinerama, libXcursor
|
||||
, alsa-lib, libjack2, lv2, gcc-unwrapped }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ChowCentaur";
|
||||
version = "1.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jatinchowdhury18";
|
||||
repo = "KlonCentaur";
|
||||
rev = "v${version}";
|
||||
sha256 = "0mrzlf4a6f25xd7z9xanpyq7ybb4al01dzpjsgi0jkmlmadyhc4h";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
buildInputs = [
|
||||
cairo
|
||||
libxkbcommon
|
||||
xcbutilcursor
|
||||
xcbutilkeysyms
|
||||
xcbutil
|
||||
libXrandr
|
||||
libXinerama
|
||||
libXcursor
|
||||
alsa-lib
|
||||
libjack2
|
||||
lv2
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_AR=${gcc-unwrapped}/bin/gcc-ar"
|
||||
"-DCMAKE_RANLIB=${gcc-unwrapped}/bin/gcc-ranlib"
|
||||
"-DCMAKE_NM=${gcc-unwrapped}/bin/gcc-nm"
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/lib/lv2 $out/lib/vst3
|
||||
cd ChowCentaur/ChowCentaur_artefacts/Release
|
||||
cp -r LV2/ChowCentaur.lv2 $out/lib/lv2
|
||||
cp -r VST3/ChowCentaur.vst3 $out/lib/vst3
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description =
|
||||
"Digital emulation of the Klon Centaur guitar pedal using RNNs, Wave Digital Filters, and more";
|
||||
homepage = "https://github.com/jatinchowdhury18/KlonCentaur";
|
||||
license = licenses.bsd3;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ magnetophon ];
|
||||
};
|
||||
}
|
||||
106
pkgs/applications/audio/ChowKick/default.nix
Normal file
106
pkgs/applications/audio/ChowKick/default.nix
Normal file
|
|
@ -0,0 +1,106 @@
|
|||
{ alsa-lib
|
||||
, at-spi2-core
|
||||
, brotli
|
||||
, cmake
|
||||
, curl
|
||||
, dbus
|
||||
, libepoxy
|
||||
, fetchFromGitHub
|
||||
, freeglut
|
||||
, freetype
|
||||
, gtk2-x11
|
||||
, lib
|
||||
, libGL
|
||||
, libXcursor
|
||||
, libXdmcp
|
||||
, libXext
|
||||
, libXinerama
|
||||
, libXrandr
|
||||
, libXtst
|
||||
, libdatrie
|
||||
, libjack2
|
||||
, libpsl
|
||||
, libselinux
|
||||
, libsepol
|
||||
, libsysprof-capture
|
||||
, libthai
|
||||
, libxkbcommon
|
||||
, lv2
|
||||
, pcre
|
||||
, pkg-config
|
||||
, python3
|
||||
, sqlite
|
||||
, stdenv
|
||||
, util-linuxMinimal
|
||||
, webkitgtk
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ChowKick";
|
||||
version = "1.1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Chowdhury-DSP";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "0amnp0p7ckbbr9dcbdnld1ryv46kvza2dj8m6hzmi7c1s4df8x5q";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
cmake
|
||||
];
|
||||
buildInputs = [
|
||||
alsa-lib
|
||||
at-spi2-core
|
||||
brotli
|
||||
curl
|
||||
dbus
|
||||
libepoxy
|
||||
freeglut
|
||||
freetype
|
||||
gtk2-x11
|
||||
libGL
|
||||
libXcursor
|
||||
libXdmcp
|
||||
libXext
|
||||
libXinerama
|
||||
libXrandr
|
||||
libXtst
|
||||
libdatrie
|
||||
libjack2
|
||||
libpsl
|
||||
libselinux
|
||||
libsepol
|
||||
libsysprof-capture
|
||||
libthai
|
||||
libxkbcommon
|
||||
lv2
|
||||
pcre
|
||||
python3
|
||||
sqlite
|
||||
util-linuxMinimal
|
||||
webkitgtk
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_AR=${stdenv.cc.cc}/bin/gcc-ar"
|
||||
"-DCMAKE_RANLIB=${stdenv.cc.cc}/bin/gcc-ranlib"
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/lib/lv2 $out/lib/vst3 $out/bin
|
||||
cp -r ChowKick_artefacts/Release/LV2//${pname}.lv2 $out/lib/lv2
|
||||
cp -r ChowKick_artefacts/Release/VST3/${pname}.vst3 $out/lib/vst3
|
||||
cp ChowKick_artefacts/Release/Standalone/${pname} $out/bin
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/Chowdhury-DSP/ChowKick";
|
||||
description = "Kick synthesizer based on old-school drum machine circuits";
|
||||
license = with licenses; [ bsd3 ];
|
||||
maintainers = with maintainers; [ magnetophon ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
76
pkgs/applications/audio/ChowPhaser/default.nix
Normal file
76
pkgs/applications/audio/ChowPhaser/default.nix
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
{ alsa-lib, at-spi2-core, cmake, curl, dbus, libepoxy, fetchFromGitHub, freeglut
|
||||
, freetype, gcc-unwrapped, gtk3, lib, libGL, libXcursor, libXdmcp, libXext
|
||||
, libXinerama, libXrandr, libXtst, libdatrie, libjack2, libpsl, libselinux
|
||||
, libsepol, libsysprof-capture, libthai, libxkbcommon, pcre, pkg-config
|
||||
, python3, sqlite, stdenv }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ChowPhaser";
|
||||
version = "1.1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jatinchowdhury18";
|
||||
repo = "ChowPhaser";
|
||||
rev = "v${version}";
|
||||
fetchSubmodules = true;
|
||||
sha256 = "sha256-9wo7ZFMruG3QNvlpILSvrFh/Sx6J1qnlWc8+aQyS4tQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config cmake ];
|
||||
|
||||
buildInputs = [
|
||||
alsa-lib
|
||||
at-spi2-core
|
||||
curl
|
||||
dbus
|
||||
libepoxy
|
||||
freeglut
|
||||
freetype
|
||||
gtk3
|
||||
libGL
|
||||
libXcursor
|
||||
libXdmcp
|
||||
libXext
|
||||
libXinerama
|
||||
libXrandr
|
||||
libXtst
|
||||
libdatrie
|
||||
libjack2
|
||||
libpsl
|
||||
libselinux
|
||||
libsepol
|
||||
libsysprof-capture
|
||||
libthai
|
||||
libxkbcommon
|
||||
pcre
|
||||
python3
|
||||
sqlite
|
||||
gcc-unwrapped
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_AR=${gcc-unwrapped}/bin/gcc-ar"
|
||||
"-DCMAKE_RANLIB=${gcc-unwrapped}/bin/gcc-ranlib"
|
||||
"-DCMAKE_NM=${gcc-unwrapped}/bin/gcc-nm"
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/lib/lv2 $out/lib/vst3 $out/bin $out/share/doc/ChowPhaser/
|
||||
cd ChowPhaserMono_artefacts/Release
|
||||
cp libChowPhaserMono_SharedCode.a $out/lib
|
||||
cp -r VST3/ChowPhaserMono.vst3 $out/lib/vst3
|
||||
cp Standalone/ChowPhaserMono $out/bin
|
||||
cd ../../ChowPhaserStereo_artefacts/Release
|
||||
cp libChowPhaserStereo_SharedCode.a $out/lib
|
||||
cp -r VST3/ChowPhaserStereo.vst3 $out/lib/vst3
|
||||
cp Standalone/ChowPhaserStereo $out/bin
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/jatinchowdhury18/ChowPhaser";
|
||||
description = "Phaser effect based loosely on the Schulte Compact Phasing 'A'";
|
||||
license = with licenses; [ bsd3 ];
|
||||
maintainers = with maintainers; [ magnetophon ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
37
pkgs/applications/audio/FIL-plugins/default.nix
Normal file
37
pkgs/applications/audio/FIL-plugins/default.nix
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
{ lib, stdenv, fetchurl, ladspaH
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "FIL-plugins";
|
||||
version = "0.3.0";
|
||||
src = fetchurl {
|
||||
url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2";
|
||||
sha256 = "1scfv9j7jrp50r565haa4rvxn1vk2ss86xssl5qgcr8r45qz42qw";
|
||||
};
|
||||
|
||||
buildInputs = [ ladspaH ];
|
||||
|
||||
patchPhase = ''
|
||||
sed -i 's@/usr/bin/install@install@g' Makefile
|
||||
sed -i 's@/bin/rm@rm@g' Makefile
|
||||
sed -i 's@/usr/lib/ladspa@$(out)/lib/ladspa@g' Makefile
|
||||
'';
|
||||
|
||||
preInstall="mkdir -p $out/lib/ladspa";
|
||||
|
||||
meta = {
|
||||
description = "a four-band parametric equaliser, which has the nice property of being stable even while parameters are being changed";
|
||||
longDescription = ''
|
||||
Each section has an active/bypass switch, frequency, bandwidth and gain controls.
|
||||
There is also a global bypass switch and gain control.
|
||||
The 2nd order resonant filters are implemented using a Mitra-Regalia style lattice filter.
|
||||
All switches and controls are internally smoothed, so they can be used 'live' whithout any clicks or zipper noises.
|
||||
This should make this plugin a good candidate for use in systems that allow automation of plugin control ports, such as Ardour, or for stage use.
|
||||
'';
|
||||
version = version;
|
||||
homepage = "http://kokkinizita.linuxaudio.org/linuxaudio/ladspa/index.html";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
maintainers = [ lib.maintainers.magnetophon ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
53
pkgs/applications/audio/LibreArp/default.nix
Normal file
53
pkgs/applications/audio/LibreArp/default.nix
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
{ stdenv, lib, fetchFromGitLab, cmake, pkg-config, cairo, libxkbcommon
|
||||
, xcbutilcursor, xcbutilkeysyms, xcbutil, libXrandr, libXinerama, libXcursor
|
||||
, alsa-lib, libjack2, lv2, gcc-unwrapped, curl}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "LibreArp";
|
||||
version = "2.2";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "LibreArp";
|
||||
repo = "LibreArp";
|
||||
rev = version;
|
||||
hash = "sha256-jCUT/sflO9L57xRTqNR90RbwJ0uZ+xJVXnB3n+FhWBo=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
buildInputs = [
|
||||
cairo
|
||||
libxkbcommon
|
||||
xcbutilcursor
|
||||
xcbutilkeysyms
|
||||
xcbutil
|
||||
libXrandr
|
||||
libXinerama
|
||||
libXcursor
|
||||
alsa-lib
|
||||
libjack2
|
||||
lv2
|
||||
curl
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_AR=${gcc-unwrapped}/bin/gcc-ar"
|
||||
"-DCMAKE_RANLIB=${gcc-unwrapped}/bin/gcc-ranlib"
|
||||
"-DCMAKE_NM=${gcc-unwrapped}/bin/gcc-nm"
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/lib/vst3
|
||||
cd LibreArp_artefacts/Release
|
||||
cp -r VST3/LibreArp.vst3 $out/lib/vst3
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description =
|
||||
"A pattern-based arpeggio generator plugin.";
|
||||
homepage = "https://librearp.gitlab.io/";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ magnetophon ];
|
||||
};
|
||||
}
|
||||
53
pkgs/applications/audio/LibreArp/lv2.nix
Normal file
53
pkgs/applications/audio/LibreArp/lv2.nix
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
{ stdenv, lib, fetchFromGitLab, cmake, pkg-config, cairo, libxkbcommon
|
||||
, xcbutilcursor, xcbutilkeysyms, xcbutil, libXrandr, libXinerama, libXcursor
|
||||
, alsa-lib, libjack2, lv2, gcc-unwrapped, curl}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "LibreArp-lv2";
|
||||
version = "2.2";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "LibreArp";
|
||||
repo = "LibreArp";
|
||||
rev = "${version}-lv2";
|
||||
hash = "sha256-j5SksuhC4ZXXILfOpwXNqIu5fO07a/6tiZ5qUo+p0Ug=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
buildInputs = [
|
||||
cairo
|
||||
libxkbcommon
|
||||
xcbutilcursor
|
||||
xcbutilkeysyms
|
||||
xcbutil
|
||||
libXrandr
|
||||
libXinerama
|
||||
libXcursor
|
||||
alsa-lib
|
||||
libjack2
|
||||
lv2
|
||||
curl
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_AR=${gcc-unwrapped}/bin/gcc-ar"
|
||||
"-DCMAKE_RANLIB=${gcc-unwrapped}/bin/gcc-ranlib"
|
||||
"-DCMAKE_NM=${gcc-unwrapped}/bin/gcc-nm"
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/lib/lv2
|
||||
cd LibreArp_artefacts/Release
|
||||
cp -r LV2/LibreArp.lv2 $out/lib/lv2
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description =
|
||||
"A pattern-based arpeggio generator plugin.";
|
||||
homepage = "https://librearp.gitlab.io/";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ magnetophon ];
|
||||
};
|
||||
}
|
||||
70
pkgs/applications/audio/MMA/default.nix
Normal file
70
pkgs/applications/audio/MMA/default.nix
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
{ lib, stdenv, fetchurl, makeWrapper, python3, alsa-utils, timidity }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "20.12";
|
||||
pname = "mma";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.mellowood.ca/mma/mma-bin-${version}.tar.gz";
|
||||
sha256 = "18k0hwlqky5x4y461fxmw77gvz7z8jyrvxicrqphsgvwwinzy732";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
buildInputs = [ python3 alsa-utils timidity ];
|
||||
|
||||
patchPhase = ''
|
||||
sed -i 's@/usr/bin/aplaymidi@/${alsa-utils}/bin/aplaymidi@g' mma-splitrec
|
||||
sed -i 's@/usr/bin/aplaymidi@/${alsa-utils}/bin/aplaymidi@g' util/mma-splitrec.py
|
||||
sed -i 's@/usr/bin/arecord@/${alsa-utils}/bin/arecord@g' mma-splitrec
|
||||
sed -i 's@/usr/bin/arecord@/${alsa-utils}/bin/arecord@g' util/mma-splitrec.py
|
||||
sed -i 's@/usr/bin/timidity@/${timidity}/bin/timidity@g' mma-splitrec
|
||||
sed -i 's@/usr/bin/timidity@/${timidity}/bin/timidity@g' util/mma-splitrec.py
|
||||
find . -type f | xargs sed -i 's@/usr/bin/env python@${python3.interpreter}@g'
|
||||
find . -type f | xargs sed -i 's@/usr/bin/python3@${python3.interpreter}@g'
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/{bin,share/mma,share/man/man1,share/man/man8}
|
||||
mkdir -p $out/etc
|
||||
|
||||
cp mma.py $out/bin/mma
|
||||
cp mma-gb $out/bin/mma-gb
|
||||
cp mma-libdoc $out/bin/mma-libdoc
|
||||
cp mma-renum $out/bin/mma-renum
|
||||
cp mma-splitrec $out/bin/mma-splitrec
|
||||
cp util/mma-mnx.py $out/bin/mma-mnx
|
||||
cp util/mma-rm2std.py $out/bin/mma-rm2std
|
||||
cp util/mmatabs.py $out/bin/mmatabs
|
||||
cp util/mup2mma.py $out/bin/mup2mma
|
||||
cp util/pg2mma.py $out/bin/pg2mma
|
||||
cp util/synthsplit.py $out/bin/mma-synthsplit
|
||||
cp -r {docs,egs,includes,lib,MMA,text} $out/share/mma
|
||||
rmdir $out/share/mma/includes/aria
|
||||
|
||||
cp util/README.* $out/share/mma/docs
|
||||
mv $out/share/mma/docs/man/mma-libdoc.8 $out/share/man/man8
|
||||
mv $out/share/mma/docs/man/mma-renum.1 $out/share/man/man1
|
||||
mv $out/share/mma/docs/man/mma.1 $out/share/man/man1
|
||||
mv $out/share/mma/docs/man/mma-gb.1 $out/share/man/man1
|
||||
rm -rf $out/share/mma/docs/man
|
||||
find $out -type f | xargs sed -i "s@/usr/share/mma@$out/share/mma@g"
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
PYTHONPATH=$out/share/mma/:$PYTHONPATH
|
||||
for f in $out/bin/*; do
|
||||
wrapProgram $f \
|
||||
--prefix PYTHONPATH : $PYTHONPATH
|
||||
done
|
||||
cd $out/share/mma/
|
||||
$out/bin/mma -G
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Creates MIDI tracks for a soloist to perform over from a user supplied file containing chords";
|
||||
homepage = "https://www.mellowood.ca/mma/index.html";
|
||||
license = lib.licenses.gpl2;
|
||||
maintainers = [ lib.maintainers.magnetophon ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
30
pkgs/applications/audio/a2jmidid/default.nix
Normal file
30
pkgs/applications/audio/a2jmidid/default.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{ lib, stdenv, fetchFromGitHub, fetchpatch, makeWrapper, pkg-config, alsa-lib, dbus, libjack2
|
||||
, python3Packages , meson, ninja }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "a2jmidid";
|
||||
version = "9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxaudio";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-WNt74tSWV8bY4TnpLp86PsnrjkqWynJJt3Ra4gZl2fQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config makeWrapper meson ninja ];
|
||||
buildInputs = [ alsa-lib dbus libjack2 ] ++
|
||||
(with python3Packages; [ python dbus-python ]);
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/a2j_control --set PYTHONPATH $PYTHONPATH
|
||||
substituteInPlace $out/bin/a2j --replace "a2j_control" "$out/bin/a2j_control"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Daemon for exposing legacy ALSA sequencer applications in JACK MIDI system";
|
||||
license = licenses.gpl2;
|
||||
maintainers = [ maintainers.goibhniu ];
|
||||
platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" ];
|
||||
};
|
||||
}
|
||||
68
pkgs/applications/audio/aacgain/default.nix
Normal file
68
pkgs/applications/audio/aacgain/default.nix
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
{ lib, stdenv, fetchFromGitLab, fetchpatch }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "aacgain";
|
||||
version = "1.9.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "mulx";
|
||||
repo = "aacgain";
|
||||
rev = "7c29dccd878ade1301710959aeebe87a8f0828f5";
|
||||
sha256 = "07hl432vsscqg01b6wr99qmsj4gbx0i02x4k565432y6zpfmaxm0";
|
||||
};
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
# -Wnarrowing is enabled by default in recent GCC versions,
|
||||
# causing compilation to fail.
|
||||
NIX_CFLAGS_COMPILE = "-Wno-narrowing";
|
||||
|
||||
postPatch = ''
|
||||
(
|
||||
cd mp4v2
|
||||
patch -p0 < ${fetchpatch {
|
||||
name = "fix_missing_ptr_deref.patch";
|
||||
url = "https://aur.archlinux.org/cgit/aur.git/plain/fix_missing_ptr_deref.patch?h=aacgain-cvs&id=e1a19c920f57063e64bab75cb0d8624731f6e3d7";
|
||||
sha256 = "1cq7r005nvmwdjb25z80grcam7jv6k57jnl2bh349mg3ajmslbq9";
|
||||
}}
|
||||
)
|
||||
'';
|
||||
|
||||
configurePhase = ''
|
||||
runHook preConfigure
|
||||
cd mp4v2
|
||||
./configure
|
||||
|
||||
cd ../faad2
|
||||
./configure
|
||||
|
||||
cd ..
|
||||
./configure
|
||||
runHook postConfigure
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
cd mp4v2
|
||||
make libmp4v2.la
|
||||
|
||||
cd ../faad2
|
||||
make LDFLAGS=-static
|
||||
|
||||
cd ..
|
||||
make
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
install -D aacgain/aacgain "$out/bin/aacgain"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "ReplayGain for AAC files";
|
||||
homepage = "https://aacgain.altosdesign.com";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.robbinch ];
|
||||
};
|
||||
}
|
||||
61
pkgs/applications/audio/abcde/default.nix
Normal file
61
pkgs/applications/audio/abcde/default.nix
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
{ lib, stdenv, fetchurl, libcdio-paranoia, cddiscid, wget, which, vorbis-tools, id3v2, eyeD3
|
||||
, lame, flac, glyr
|
||||
, perlPackages
|
||||
, makeWrapper }:
|
||||
|
||||
let version = "2.9.3";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "abcde";
|
||||
inherit version;
|
||||
src = fetchurl {
|
||||
url = "https://abcde.einval.com/download/abcde-${version}.tar.gz";
|
||||
sha256 = "091ip2iwb6b67bhjsj05l0sxyq2whqjycbzqpkfbpm4dlyxx0v04";
|
||||
};
|
||||
|
||||
# FIXME: This package does not support `distmp3', `eject', etc.
|
||||
|
||||
configurePhase = ''
|
||||
sed -i "s|^[[:blank:]]*prefix *=.*$|prefix = $out|g ;
|
||||
s|^[[:blank:]]*etcdir *=.*$|etcdir = $out/etc|g ;
|
||||
s|^[[:blank:]]*INSTALL *=.*$|INSTALL = install -c|g" \
|
||||
"Makefile";
|
||||
|
||||
echo 'CDPARANOIA=${libcdio-paranoia}/bin/cd-paranoia' >>abcde.conf
|
||||
echo CDROMREADERSYNTAX=cdparanoia >>abcde.conf
|
||||
|
||||
substituteInPlace "abcde" \
|
||||
--replace "/etc/abcde.conf" "$out/etc/abcde.conf"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
buildInputs = with perlPackages; [ perl MusicBrainz MusicBrainzDiscID ];
|
||||
|
||||
installFlags = [ "sysconfdir=$(out)/etc" ];
|
||||
|
||||
postFixup = ''
|
||||
for cmd in abcde cddb-tool abcde-musicbrainz-tool; do
|
||||
wrapProgram "$out/bin/$cmd" \
|
||||
--prefix PERL5LIB : "$PERL5LIB" \
|
||||
--prefix PATH ":" ${lib.makeBinPath [
|
||||
"$out" which libcdio-paranoia cddiscid wget
|
||||
vorbis-tools id3v2 eyeD3 lame flac glyr
|
||||
]}
|
||||
done
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://abcde.einval.com/wiki/";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ gebner ];
|
||||
description = "Command-line audio CD ripper";
|
||||
longDescription = ''
|
||||
abcde is a front-end command-line utility (actually, a shell
|
||||
script) that grabs tracks off a CD, encodes them to
|
||||
Ogg/Vorbis, MP3, FLAC, Ogg/Speex and/or MPP/MP+ (Musepack)
|
||||
format, and tags them, all in one go.
|
||||
'';
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
137
pkgs/applications/audio/adlplug/default.nix
Normal file
137
pkgs/applications/audio/adlplug/default.nix
Normal file
|
|
@ -0,0 +1,137 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, cmake
|
||||
, pkg-config
|
||||
, fmt
|
||||
, liblo
|
||||
, alsa-lib
|
||||
, freetype
|
||||
, libX11
|
||||
, libXrandr
|
||||
, libXinerama
|
||||
, libXext
|
||||
, libXcursor
|
||||
, Foundation
|
||||
, Cocoa
|
||||
, Carbon
|
||||
, CoreServices
|
||||
, ApplicationServices
|
||||
, CoreAudio
|
||||
, CoreMIDI
|
||||
, AudioToolbox
|
||||
, Accelerate
|
||||
, CoreImage
|
||||
, IOKit
|
||||
, AudioUnit
|
||||
, QuartzCore
|
||||
, WebKit
|
||||
, DiscRecording
|
||||
, CoreAudioKit
|
||||
|
||||
# Enabling JACK requires a JACK server at runtime, no fallback mechanism
|
||||
, withJack ? false, jack
|
||||
|
||||
, type ? "ADL"
|
||||
}:
|
||||
|
||||
assert lib.assertOneOf "type" type [ "ADL" "OPN" ];
|
||||
let
|
||||
chip = {
|
||||
ADL = "OPL3";
|
||||
OPN = "OPN2";
|
||||
}.${type};
|
||||
mainProgram = "${type}plug";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "${lib.strings.toLower type}plug";
|
||||
version = "unstable-2021-12-17";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jpcima";
|
||||
repo = "ADLplug";
|
||||
rev = "a488abedf1783c61cb4f0caa689f1b01bf9aa17d";
|
||||
fetchSubmodules = true;
|
||||
sha256 = "1a5zw0rglqgc5wq1n0s5bxx7y59dsg6qy02236fakl34bvbk60yz";
|
||||
};
|
||||
|
||||
cmakeFlags = [
|
||||
"-DADLplug_CHIP=${chip}"
|
||||
"-DADLplug_USE_SYSTEM_FMT=ON"
|
||||
"-DADLplug_Jack=${if withJack then "ON" else "OFF"}"
|
||||
];
|
||||
|
||||
NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin (toString [
|
||||
# "fp.h" file not found
|
||||
"-isystem ${CoreServices}/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers"
|
||||
]);
|
||||
|
||||
NIX_LDFLAGS = toString (lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
# Framework that JUCE needs which don't get linked properly
|
||||
"-framework CoreAudioKit"
|
||||
"-framework QuartzCore"
|
||||
"-framework AudioToolbox"
|
||||
] ++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||
# JUCE dlopen's these at runtime
|
||||
"-lX11"
|
||||
"-lXext"
|
||||
"-lXcursor"
|
||||
"-lXinerama"
|
||||
"-lXrandr"
|
||||
]);
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
fmt
|
||||
liblo
|
||||
] ++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||
alsa-lib
|
||||
freetype
|
||||
libX11
|
||||
libXrandr
|
||||
libXinerama
|
||||
libXext
|
||||
libXcursor
|
||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
Foundation
|
||||
Cocoa
|
||||
Carbon
|
||||
CoreServices
|
||||
ApplicationServices
|
||||
CoreAudio
|
||||
CoreMIDI
|
||||
AudioToolbox
|
||||
Accelerate
|
||||
CoreImage
|
||||
IOKit
|
||||
AudioUnit
|
||||
QuartzCore
|
||||
WebKit
|
||||
DiscRecording
|
||||
CoreAudioKit
|
||||
] ++ lib.optional withJack jack;
|
||||
|
||||
postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
mkdir -p $out/{Applications,Library/Audio/Plug-Ins/{VST,Components}}
|
||||
|
||||
mv $out/bin/${mainProgram}.app $out/Applications/
|
||||
ln -s $out/{Applications/${mainProgram}.app/Contents/MacOS,bin}/${mainProgram}
|
||||
|
||||
mv vst2/${mainProgram}.vst $out/Library/Audio/Plug-Ins/VST/
|
||||
mv au/${mainProgram}.component $out/Library/Audio/Plug-Ins/Components/
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
inherit mainProgram;
|
||||
description = "${chip} FM Chip Synthesizer";
|
||||
homepage = src.meta.homepage;
|
||||
license = licenses.boost;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ OPNA2608 ];
|
||||
};
|
||||
}
|
||||
32
pkgs/applications/audio/aeolus/default.nix
Normal file
32
pkgs/applications/audio/aeolus/default.nix
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{ lib, stdenv, fetchurl, libclthreads, zita-alsa-pcmi, alsa-lib, libjack2
|
||||
, libclxclient, libX11, libXft, readline
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "aeolus";
|
||||
version = "0.9.9";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2";
|
||||
sha256 = "04y1j36y7vc93bv299vfiawbww4ym6q7avfx8vw6rmxr817zrch3";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
libclthreads zita-alsa-pcmi alsa-lib libjack2 libclxclient
|
||||
libX11 libXft readline
|
||||
];
|
||||
|
||||
patchPhase = ''sed "s@ldconfig.*@@" -i source/Makefile'';
|
||||
|
||||
preBuild = "cd source";
|
||||
|
||||
makeFlags = [ "DESTDIR=" "PREFIX=$(out)" ];
|
||||
|
||||
meta = {
|
||||
description = "Synthetized (not sampled) pipe organ emulator";
|
||||
homepage = "http://kokkinizita.linuxaudio.org/linuxaudio/aeolus/index.html";
|
||||
license = lib.licenses.lgpl3;
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = [ lib.maintainers.nico202 ];
|
||||
};
|
||||
}
|
||||
33
pkgs/applications/audio/aether-lv2/default.nix
Normal file
33
pkgs/applications/audio/aether-lv2/default.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
{ lib, stdenv, fetchFromGitHub, lv2, libX11, libGL, libGLU, mesa, cmake }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "aether-lv2";
|
||||
version = "1.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Dougal-s";
|
||||
repo = "aether";
|
||||
rev = "v${version}";
|
||||
sha256 = "0xhih4smjxn87s0f4gaab51d8594qlp0lyypzxl5lm37j1i9zigs";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
buildInputs = [
|
||||
lv2 libX11 libGL libGLU mesa
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/lib/lv2
|
||||
cp -r aether.lv2 $out/lib/lv2
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://dougal-s.github.io/Aether/";
|
||||
description = "An algorithmic reverb LV2 based on Cloudseed";
|
||||
maintainers = [ maintainers.magnetophon ];
|
||||
platforms = platforms.linux;
|
||||
license = licenses.mit;
|
||||
};
|
||||
}
|
||||
92
pkgs/applications/audio/airwave/default.nix
Normal file
92
pkgs/applications/audio/airwave/default.nix
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
{ lib, stdenv, multiStdenv, cmake, fetchFromGitHub, file, libX11, makeWrapper
|
||||
, qt5, requireFile, unzip, wine
|
||||
}:
|
||||
|
||||
let
|
||||
version = "1.3.3";
|
||||
|
||||
airwave-src = fetchFromGitHub {
|
||||
owner = "phantom-code";
|
||||
repo = "airwave";
|
||||
rev = version;
|
||||
sha256 = "1ban59skw422mak3cp57lj27hgq5d3a4f6y79ysjnamf8rpz9x4s";
|
||||
};
|
||||
|
||||
vst-sdk = stdenv.mkDerivation rec {
|
||||
name = "vstsdk368_08_11_2017_build_121";
|
||||
src = requireFile {
|
||||
name = "${name}.zip";
|
||||
url = "http://www.steinberg.net/en/company/developers.html";
|
||||
sha256 = "e0f235d8826d70f1ae0ae5929cd198acae1ecff74612fde5c60cbfb45c2f4a70";
|
||||
};
|
||||
nativeBuildInputs = [ unzip ];
|
||||
installPhase = "cp -r . $out";
|
||||
meta.license = lib.licenses.unfree;
|
||||
};
|
||||
|
||||
wine-wow64 = wine.override {
|
||||
wineRelease = "stable";
|
||||
wineBuild = "wineWow";
|
||||
};
|
||||
|
||||
wine-xembed = wine-wow64.overrideDerivation (oldAttrs: {
|
||||
patchFlags = [ "-p2" ];
|
||||
patches = [ "${airwave-src}/fix-xembed-wine-windows.patch" ];
|
||||
});
|
||||
|
||||
in
|
||||
|
||||
multiStdenv.mkDerivation {
|
||||
pname = "airwave";
|
||||
inherit version;
|
||||
|
||||
src = airwave-src;
|
||||
|
||||
nativeBuildInputs = [ cmake makeWrapper ];
|
||||
|
||||
buildInputs = [ file libX11 qt5.qtbase wine-xembed ];
|
||||
|
||||
postPatch = ''
|
||||
# Binaries not used directly should land in libexec/.
|
||||
substituteInPlace src/common/storage.cpp --replace '"/bin"' '"/libexec"'
|
||||
|
||||
# For airwave-host-32.exe.so, point wineg++ to 32-bit versions of
|
||||
# these libraries, as $NIX_LDFLAGS contains only 64-bit ones.
|
||||
substituteInPlace src/host/CMakeLists.txt --replace '-m32' \
|
||||
'-m32 -L${wine-xembed}/lib -L${wine-xembed}/lib/wine -L${multiStdenv.cc.libc.out}/lib/32'
|
||||
'';
|
||||
|
||||
# libstdc++.so link gets lost in 64-bit executables during
|
||||
# shrinking.
|
||||
dontPatchELF = true;
|
||||
|
||||
# Cf. https://github.com/phantom-code/airwave/issues/57
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
cmakeFlags = [ "-DVSTSDK_PATH=${vst-sdk}/VST2_SDK" ];
|
||||
|
||||
postInstall = ''
|
||||
mv $out/bin $out/libexec
|
||||
mkdir $out/bin
|
||||
mv $out/libexec/airwave-manager $out/bin
|
||||
wrapProgram $out/libexec/airwave-host-32.exe --set WINELOADER ${wine-xembed}/bin/wine
|
||||
wrapProgram $out/libexec/airwave-host-64.exe --set WINELOADER ${wine-xembed}/bin/wine64
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "WINE-based VST bridge for Linux VST hosts";
|
||||
longDescription = ''
|
||||
Airwave is a wine based VST bridge, that allows for the use of
|
||||
Windows 32- and 64-bit VST 2.4 audio plugins with Linux VST
|
||||
hosts. Due to the use of shared memory, only one extra copying
|
||||
is made for each data transfer. Airwave also uses the XEMBED
|
||||
protocol to correctly embed the plugin editor into the host
|
||||
window.
|
||||
'';
|
||||
homepage = "https://github.com/phantom-code/airwave";
|
||||
license = licenses.mit;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ michalrus ];
|
||||
hydraPlatforms = [];
|
||||
};
|
||||
}
|
||||
25
pkgs/applications/audio/airwindows-lv2/default.nix
Normal file
25
pkgs/applications/audio/airwindows-lv2/default.nix
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, lv2 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "airwindows-lv2";
|
||||
version = "1.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "hannesbraun";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-xokV4Af0evdo73D9JObzAmY1wD0aUyXiI0Z7BUN0m+M=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
buildInputs = [ lv2 ];
|
||||
|
||||
cmakeFlags = [ "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}/lib/lv2" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Airwindows plugins (ported to LV2)";
|
||||
homepage = "https://github.com/hannesbraun/airwindows-lv2";
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.magnetophon ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
31
pkgs/applications/audio/aj-snapshot/default.nix
Normal file
31
pkgs/applications/audio/aj-snapshot/default.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{ lib, stdenv, fetchurl, alsa-lib, jack2, minixml, pkg-config }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "aj-snapshot" ;
|
||||
version = "0.9.9";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/aj-snapshot/aj-snapshot-${version}.tar.bz2";
|
||||
sha256 = "0z8wd5yvxdmw1h1rj6km9h01xd4xmp4d86gczlix7hsc7zrf0wil";
|
||||
};
|
||||
|
||||
doCheck = false;
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ alsa-lib minixml jack2 ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Tool for storing/restoring JACK and/or ALSA connections to/from cml files";
|
||||
longDescription = ''
|
||||
Aj-snapshot is a small program that can be used to make snapshots of the connections made between JACK and/or ALSA clients.
|
||||
Because JACK can provide both audio and MIDI support to programs, aj-snapshot can store both types of connections for JACK.
|
||||
ALSA, on the other hand, only provides routing facilities for MIDI clients.
|
||||
You can also run aj-snapshot in daemon mode if you want to have your connections continually restored.
|
||||
'';
|
||||
|
||||
homepage = "http://aj-snapshot.sourceforge.net/";
|
||||
license = licenses.gpl2;
|
||||
maintainers = [ maintainers.mrVanDalo ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
38
pkgs/applications/audio/amarok/default.nix
Normal file
38
pkgs/applications/audio/amarok/default.nix
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
{ mkDerivation, fetchurl, lib
|
||||
, extra-cmake-modules, kdoctools
|
||||
, qca-qt5, qjson, qtquickcontrols2, qtscript, qtwebengine
|
||||
, karchive, kcmutils, kconfig, kdnssd, kguiaddons, kinit, kirigami2, knewstuff, knotifyconfig, ktexteditor, kwindowsystem
|
||||
, fftw, phonon, plasma-framework, threadweaver
|
||||
, curl, ffmpeg, gdk-pixbuf, libaio, liblastfm, libmtp, loudmouth, lzo, lz4, mysql57, pcre, snappy, taglib, taglib_extras
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "amarok";
|
||||
version = "2.9.71";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kde/unstable/${pname}/${version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "0kz8wixjmy4yxq2gk11ybswryxb6alfymd3bzcar9xinscllhh3a";
|
||||
};
|
||||
|
||||
outputs = [ "out" "doc" ];
|
||||
|
||||
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
qca-qt5 qjson qtquickcontrols2 qtscript qtwebengine
|
||||
karchive kcmutils kconfig kdnssd kguiaddons kinit kirigami2 knewstuff knotifyconfig ktexteditor kwindowsystem
|
||||
phonon plasma-framework threadweaver
|
||||
curl fftw ffmpeg gdk-pixbuf libaio liblastfm libmtp loudmouth lz4 lzo mysql57.server mysql57.server.static
|
||||
pcre snappy taglib taglib_extras
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://amarok.kde.org";
|
||||
description = "A powerful music player with an intuitive interface";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ peterhoeg ];
|
||||
};
|
||||
}
|
||||
77
pkgs/applications/audio/amberol/default.nix
Normal file
77
pkgs/applications/audio/amberol/default.nix
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitLab
|
||||
, rustPlatform
|
||||
, desktop-file-utils
|
||||
, appstream-glib
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, reuse
|
||||
, m4
|
||||
, wrapGAppsHook4
|
||||
, glib
|
||||
, gtk4
|
||||
, gst_all_1
|
||||
, libadwaita
|
||||
, dbus
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "amberol";
|
||||
version = "0.7.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.gnome.org";
|
||||
owner = "World";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-cBHFyPqhgcFOeYqMhF1aX3XCGAtqEZpI7Mj7b78Etmo=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||
inherit src;
|
||||
name = "${pname}-${version}";
|
||||
hash = "sha256-GaMJsIrTbhI1tmahEMlI1v5hmjw+tFEv9Wdne/kiYIA=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs build-aux
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
appstream-glib
|
||||
desktop-file-utils
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
reuse
|
||||
m4
|
||||
wrapGAppsHook4
|
||||
] ++ (with rustPlatform; [
|
||||
cargoSetupHook
|
||||
rust.cargo
|
||||
rust.rustc
|
||||
]);
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
gtk4
|
||||
libadwaita
|
||||
gst_all_1.gstreamer
|
||||
gst_all_1.gst-plugins-base
|
||||
gst_all_1.gst-plugins-good
|
||||
gst_all_1.gst-plugins-bad
|
||||
gst_all_1.gst-plugins-ugly
|
||||
gst_all_1.gst-libav
|
||||
dbus
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://gitlab.gnome.org/World/amberol";
|
||||
description = "A small and simple sound and music player";
|
||||
maintainers = with maintainers; [ linsui ];
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
27
pkgs/applications/audio/ams-lv2/default.nix
Normal file
27
pkgs/applications/audio/ams-lv2/default.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{ lib, stdenv, fetchFromGitHub, cairo, fftw, gtkmm2, lv2, lvtk, pkg-config
|
||||
, wafHook, python3 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ams-lv2";
|
||||
version = "1.2.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "blablack";
|
||||
repo = "ams-lv2";
|
||||
rev = version;
|
||||
sha256 = "1lz2mvk4gqsyf92yxd3aaldx0d0qi28h4rnnvsaz4ls0ccqm80nk";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config wafHook python3 ];
|
||||
buildInputs = [ cairo fftw gtkmm2 lv2 lvtk ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "An LV2 port of the internal modules found in Alsa Modular Synth";
|
||||
homepage = "https://github.com/blablack/ams-lv2";
|
||||
license = licenses.gpl3;
|
||||
maintainers = [ maintainers.goibhniu ];
|
||||
platforms = platforms.linux;
|
||||
# Build uses `-msse` and `-mfpmath=sse`
|
||||
badPlatforms = [ "aarch64-linux" ];
|
||||
};
|
||||
}
|
||||
48
pkgs/applications/audio/ams/default.nix
Normal file
48
pkgs/applications/audio/ams/default.nix
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
{ lib, stdenv
|
||||
, fetchgit
|
||||
, automake
|
||||
, alsa-lib
|
||||
, ladspaH
|
||||
, libjack2
|
||||
, fftw
|
||||
, zita-alsa-pcmi
|
||||
, qt5
|
||||
, pkg-config
|
||||
, autoreconfHook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ams";
|
||||
version = "unstable-2019-04-27";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://git.code.sf.net/p/alsamodular/ams.git";
|
||||
sha256 = "0qdyz5llpa94f3qx1xi1mz97vl5jyrj1mqff28p5g9i5rxbbk8z9";
|
||||
rev = "3250bbcfea331c4fcb9845305eebded80054973d";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
pkg-config
|
||||
qt5.wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
alsa-lib
|
||||
ladspaH
|
||||
libjack2
|
||||
fftw
|
||||
zita-alsa-pcmi
|
||||
] ++ (with qt5; [
|
||||
qtbase
|
||||
qttools
|
||||
]);
|
||||
|
||||
meta = with lib; {
|
||||
description = "Realtime modular synthesizer for ALSA";
|
||||
homepage = "http://alsamodular.sourceforge.net";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ sjfloat ];
|
||||
};
|
||||
}
|
||||
32
pkgs/applications/audio/apple-music-electron/default.nix
Normal file
32
pkgs/applications/audio/apple-music-electron/default.nix
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{ appimageTools, lib, fetchurl }:
|
||||
let
|
||||
pname = "apple-music-electron";
|
||||
version = "1.5.5";
|
||||
name = "Apple.Music-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/cryptofyre/Apple-Music-Electron/releases/download/v${version}/${name}.AppImage";
|
||||
sha256 = "1gb6j3nvam9fcpsgiv56jccg9a4y14vzsyw11h3hckaigy90knpx";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extract { inherit name src; };
|
||||
in appimageTools.wrapType2 {
|
||||
inherit name src;
|
||||
|
||||
extraInstallCommands = ''
|
||||
mv $out/bin/${name} $out/bin/${pname}
|
||||
|
||||
install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
|
||||
substituteInPlace $out/share/applications/${pname}.desktop \
|
||||
--replace 'Exec=AppRun' 'Exec=${pname}'
|
||||
cp -r ${appimageContents}/usr/share/icons $out/share
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Unofficial Apple Music application without having to bother with a Web Browser or iTunes";
|
||||
homepage = "https://github.com/iiFir3z/Apple-Music-Electron";
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.ivar ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
12
pkgs/applications/audio/ardour/as-flags.patch
Normal file
12
pkgs/applications/audio/ardour/as-flags.patch
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
--- a/libs/ardour/wscript
|
||||
+++ b/libs/ardour/wscript
|
||||
@@ -379,8 +379,7 @@ def build(bld):
|
||||
|
||||
# remove '${DEFINES_ST:DEFINES}' from run_str.
|
||||
# x86_64-w64-mingw32-as (mingw) -D flag is for debug messages
|
||||
- if bld.env['build_target'] == 'mingw':
|
||||
- class asm(Task.classes['asm']): run_str = '${AS} ${ASFLAGS} ${ASMPATH_ST:INCPATHS} ${AS_SRC_F}${SRC} ${AS_TGT_F}${TGT}'
|
||||
+ class asm(Task.classes['asm']): run_str = '${AS} ${ASFLAGS} ${ASMPATH_ST:INCPATHS} ${AS_SRC_F}${SRC} ${AS_TGT_F}${TGT}'
|
||||
|
||||
# operate on copy to avoid adding sources twice
|
||||
sources = list(libardour_sources)
|
||||
190
pkgs/applications/audio/ardour/default.nix
Normal file
190
pkgs/applications/audio/ardour/default.nix
Normal file
|
|
@ -0,0 +1,190 @@
|
|||
{ lib, stdenv
|
||||
, fetchgit
|
||||
, alsa-lib
|
||||
, aubio
|
||||
, boost
|
||||
, cairomm
|
||||
, cppunit
|
||||
, curl
|
||||
, dbus
|
||||
, doxygen
|
||||
, ffmpeg
|
||||
, fftw
|
||||
, fftwSinglePrec
|
||||
, flac
|
||||
, glibc
|
||||
, glibmm
|
||||
, graphviz
|
||||
, gtkmm2
|
||||
, harvid
|
||||
, itstool
|
||||
, libarchive
|
||||
, libjack2
|
||||
, liblo
|
||||
, libogg
|
||||
, libpulseaudio
|
||||
, librdf_raptor
|
||||
, librdf_rasqal
|
||||
, libsamplerate
|
||||
, libsigcxx
|
||||
, libsndfile
|
||||
, libusb1
|
||||
, libuv
|
||||
, libwebsockets
|
||||
, libxml2
|
||||
, libxslt
|
||||
, lilv
|
||||
, lrdf
|
||||
, lv2
|
||||
, makeWrapper
|
||||
, pango
|
||||
, perl
|
||||
, pkg-config
|
||||
, python3
|
||||
, readline
|
||||
, rubberband
|
||||
, serd
|
||||
, sord
|
||||
, soundtouch
|
||||
, sratom
|
||||
, suil
|
||||
, taglib
|
||||
, vamp-plugin-sdk
|
||||
, wafHook
|
||||
, xjadeo
|
||||
, videoSupport ? true
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ardour";
|
||||
version = "6.9";
|
||||
|
||||
# don't fetch releases from the GitHub mirror, they are broken
|
||||
src = fetchgit {
|
||||
url = "git://git.ardour.org/ardour/ardour.git";
|
||||
rev = version;
|
||||
sha256 = "0vlcbd70y0an881zv87kc3akmaiz4w7whsy3yaiiqqjww35jg1mm";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# AS=as in the environment causes build failure https://tracker.ardour.org/view.php?id=8096
|
||||
./as-flags.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
doxygen
|
||||
graphviz # for dot
|
||||
itstool
|
||||
makeWrapper
|
||||
perl
|
||||
pkg-config
|
||||
python3
|
||||
wafHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
alsa-lib
|
||||
aubio
|
||||
boost
|
||||
cairomm
|
||||
cppunit
|
||||
curl
|
||||
dbus
|
||||
ffmpeg
|
||||
fftw
|
||||
fftwSinglePrec
|
||||
flac
|
||||
glibmm
|
||||
gtkmm2
|
||||
itstool
|
||||
libarchive
|
||||
libjack2
|
||||
liblo
|
||||
libogg
|
||||
libpulseaudio
|
||||
librdf_raptor
|
||||
librdf_rasqal
|
||||
libsamplerate
|
||||
libsigcxx
|
||||
libsndfile
|
||||
libusb1
|
||||
libuv
|
||||
libwebsockets
|
||||
libxml2
|
||||
libxslt
|
||||
lilv
|
||||
lrdf
|
||||
lv2
|
||||
pango
|
||||
perl
|
||||
python3
|
||||
readline
|
||||
rubberband
|
||||
serd
|
||||
sord
|
||||
soundtouch
|
||||
sratom
|
||||
suil
|
||||
taglib
|
||||
vamp-plugin-sdk
|
||||
] ++ lib.optionals videoSupport [ harvid xjadeo ];
|
||||
|
||||
wafConfigureFlags = [
|
||||
"--cxx11"
|
||||
"--docs"
|
||||
"--freedesktop"
|
||||
"--no-phone-home"
|
||||
"--optimize"
|
||||
"--ptformat"
|
||||
"--run-tests"
|
||||
"--test"
|
||||
];
|
||||
# removed because it fixes https://tracker.ardour.org/view.php?id=8161 and https://tracker.ardour.org/view.php?id=8437
|
||||
# "--use-external-libs"
|
||||
|
||||
# Ardour's wscript requires git revision and date to be available.
|
||||
# Since they are not, let's generate the file manually.
|
||||
postPatch = ''
|
||||
printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = "${version}"; const char* date = ""; }\n' > libs/ardour/revision.cc
|
||||
sed 's|/usr/include/libintl.h|${glibc.dev}/include/libintl.h|' -i wscript
|
||||
patchShebangs ./tools/
|
||||
substituteInPlace libs/ardour/video_tools_paths.cc \
|
||||
--replace 'ffmpeg_exe = X_("");' 'ffmpeg_exe = X_("${ffmpeg}/bin/ffmpeg");' \
|
||||
--replace 'ffprobe_exe = X_("");' 'ffprobe_exe = X_("${ffmpeg}/bin/ffprobe");'
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
# wscript does not install these for some reason
|
||||
install -vDm 644 "build/gtk2_ardour/ardour.xml" \
|
||||
-t "$out/share/mime/packages"
|
||||
install -vDm 644 "build/gtk2_ardour/ardour6.desktop" \
|
||||
-t "$out/share/applications"
|
||||
for size in 16 22 32 48 256 512; do
|
||||
install -vDm 644 "gtk2_ardour/resources/Ardour-icon_''${size}px.png" \
|
||||
"$out/share/icons/hicolor/''${size}x''${size}/apps/ardour6.png"
|
||||
done
|
||||
install -vDm 644 "ardour.1"* -t "$out/share/man/man1"
|
||||
'' + lib.optionalString videoSupport ''
|
||||
# `harvid` and `xjadeo` must be accessible in `PATH` for video to work.
|
||||
wrapProgram "$out/bin/ardour6" \
|
||||
--prefix PATH : "${lib.makeBinPath [ harvid xjadeo ]}"
|
||||
'';
|
||||
|
||||
LINKFLAGS = "-lpthread";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Multi-track hard disk recording software";
|
||||
longDescription = ''
|
||||
Ardour is a digital audio workstation (DAW), You can use it to
|
||||
record, edit and mix multi-track audio and midi. Produce your
|
||||
own CDs. Mix video soundtracks. Experiment with new ideas about
|
||||
music and sound.
|
||||
|
||||
Please consider supporting the ardour project financially:
|
||||
https://community.ardour.org/donate
|
||||
'';
|
||||
homepage = "https://ardour.org/";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ goibhniu magnetophon mitchmindtree ];
|
||||
};
|
||||
}
|
||||
46
pkgs/applications/audio/ario/default.nix
Normal file
46
pkgs/applications/audio/ario/default.nix
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, pkg-config
|
||||
, intltool
|
||||
, avahi
|
||||
, curl
|
||||
, dbus-glib
|
||||
, gettext
|
||||
, gtk3
|
||||
, libmpdclient
|
||||
, libsoup
|
||||
, libxml2
|
||||
, taglib
|
||||
, wrapGAppsHook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ario";
|
||||
version = "1.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/ario-player/${pname}-${version}.tar.gz";
|
||||
sha256 = "16nhfb3h5pc7flagfdz7xy0iq6kvgy6h4bfpi523i57rxvlfshhl";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config gettext intltool wrapGAppsHook ];
|
||||
buildInputs = [
|
||||
avahi
|
||||
curl
|
||||
dbus-glib
|
||||
gtk3
|
||||
libmpdclient
|
||||
libsoup
|
||||
libxml2
|
||||
taglib
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "GTK client for MPD (Music player daemon)";
|
||||
homepage = "http://ario-player.sourceforge.net/";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = [ maintainers.garrison ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
27
pkgs/applications/audio/artyFX/default.nix
Normal file
27
pkgs/applications/audio/artyFX/default.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{ lib, stdenv, fetchFromGitHub , cairomm, cmake, libjack2, libpthreadstubs, libXdmcp, libxshmfence, libsndfile, lv2, ntk, pkg-config }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "artyFX";
|
||||
# Fix build with lv2 1.18: https://github.com/openAVproductions/openAV-ArtyFX/pull/41/commits/492587461b50d140455aa3c98d915eb8673bebf0
|
||||
version = "unstable-2020-04-28";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openAVproductions";
|
||||
repo = "openAV-ArtyFX";
|
||||
rev = "8c542627d936a01b1d97825e7f26a8e95633f7aa";
|
||||
sha256 = "0wwg8ivnpyy0235bapjy4g0ij85zq355jwi6c1nkrac79p4z9ail";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
buildInputs = [ cairomm libjack2 libpthreadstubs libXdmcp libxshmfence libsndfile lv2 ntk ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://openavproductions.com/artyfx/";
|
||||
description = "A LV2 plugin bundle of artistic realtime effects";
|
||||
license = licenses.gpl2;
|
||||
maintainers = [ maintainers.magnetophon ];
|
||||
platforms = platforms.linux;
|
||||
# Build uses `-msse` and `-mfpmath=sse`
|
||||
badPlatforms = [ "aarch64-linux" ];
|
||||
};
|
||||
}
|
||||
34
pkgs/applications/audio/ashuffle/default.nix
Normal file
34
pkgs/applications/audio/ashuffle/default.nix
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, pkg-config
|
||||
, meson
|
||||
, ninja
|
||||
, libmpdclient
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ashuffle";
|
||||
version = "3.12.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "joshkunz";
|
||||
repo = "ashuffle";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-dPgv6EzRxRdHkGvys601Bkg9Srd8oEjoE9jbAin74Vk=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
nativeBuildInputs = [ cmake pkg-config meson ninja ];
|
||||
buildInputs = [ libmpdclient ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/joshkunz/ashuffle";
|
||||
description = "Automatic library-wide shuffle for mpd";
|
||||
maintainers = [ maintainers.tcbravo ];
|
||||
platforms = platforms.unix;
|
||||
license = licenses.mit;
|
||||
};
|
||||
}
|
||||
52
pkgs/applications/audio/asunder/default.nix
Normal file
52
pkgs/applications/audio/asunder/default.nix
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
{ lib, stdenv, fetchurl, makeWrapper, gtk2, libcddb, intltool, pkg-config, cdparanoia
|
||||
, mp3Support ? false, lame
|
||||
, oggSupport ? true, vorbis-tools
|
||||
, flacSupport ? true, flac
|
||||
, opusSupport ? false, opusTools
|
||||
, wavpackSupport ? false, wavpack
|
||||
#, musepackSupport ? false, TODO: mpcenc
|
||||
, monkeysAudioSupport ? false, monkeysAudio
|
||||
#, aacSupport ? false, TODO: neroAacEnc
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "2.9.7";
|
||||
pname = "asunder";
|
||||
src = fetchurl {
|
||||
url = "http://littlesvr.ca/asunder/releases/${pname}-${version}.tar.bz2";
|
||||
sha256 = "1x3l308ss0iqhz90qyjb94gyd8b4piyrm2nzjmg5kf049k9prjf1";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ intltool makeWrapper pkg-config ];
|
||||
buildInputs = [ gtk2 libcddb ];
|
||||
|
||||
runtimeDeps =
|
||||
optional mp3Support lame ++
|
||||
optional oggSupport vorbis-tools ++
|
||||
optional flacSupport flac ++
|
||||
optional opusSupport opusTools ++
|
||||
optional wavpackSupport wavpack ++
|
||||
optional monkeysAudioSupport monkeysAudio ++
|
||||
[ cdparanoia ];
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram "$out/bin/asunder" \
|
||||
--prefix PATH : "${makeBinPath runtimeDeps}"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "A graphical Audio CD ripper and encoder for Linux";
|
||||
homepage = "http://littlesvr.ca/asunder/index.php";
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ mudri ];
|
||||
platforms = platforms.linux;
|
||||
|
||||
longDescription = ''
|
||||
Asunder is a graphical Audio CD ripper and encoder for Linux. You can use
|
||||
it to save tracks from an Audio CD as any of WAV, MP3, OGG, FLAC, Opus,
|
||||
WavPack, Musepack, AAC, and Monkey's Audio files.
|
||||
'';
|
||||
};
|
||||
}
|
||||
37
pkgs/applications/audio/aucatctl/default.nix
Normal file
37
pkgs/applications/audio/aucatctl/default.nix
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
{ lib, stdenv, fetchurl, sndio, libbsd }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "aucatctl";
|
||||
version = "0.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.sndio.org/${pname}-${version}.tar.gz";
|
||||
sha256 = "524f2fae47db785234f166551520d9605b9a27551ca438bd807e3509ce246cf0";
|
||||
};
|
||||
|
||||
buildInputs = [ sndio ]
|
||||
++ lib.optional (!stdenv.isDarwin && !stdenv.targetPlatform.isBSD)
|
||||
libbsd;
|
||||
|
||||
outputs = [ "out" "man" ];
|
||||
|
||||
preBuild = ''
|
||||
makeFlagsArray+=("PREFIX=$out")
|
||||
'' + lib.optionalString
|
||||
(!stdenv.isDarwin && !stdenv.targetPlatform.isBSD) ''
|
||||
makeFlagsArray+=(LDADD="-lsndio -lbsd")
|
||||
|
||||
# Fix warning about implicit declaration of function 'strlcpy'
|
||||
substituteInPlace aucatctl.c \
|
||||
--replace '#include <string.h>' '#include <bsd/string.h>'
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description =
|
||||
"The aucatctl utility sends MIDI messages to control sndiod and/or aucat volumes";
|
||||
homepage = "http://www.sndio.org";
|
||||
license = licenses.isc;
|
||||
maintainers = with maintainers; [ sna ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
70
pkgs/applications/audio/audacious/default.nix
Normal file
70
pkgs/applications/audio/audacious/default.nix
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
{
|
||||
mkDerivation, lib, fetchurl, fetchpatch,
|
||||
gettext, pkg-config,
|
||||
qtbase,
|
||||
alsa-lib, curl, faad2, ffmpeg, flac, fluidsynth, gdk-pixbuf, lame, libbs2b,
|
||||
libcddb, libcdio, libcdio-paranoia, libcue, libjack2, libmad, libmms, libmodplug,
|
||||
libmowgli, libnotify, libogg, libpulseaudio, libsamplerate, libsidplayfp,
|
||||
libsndfile, libvorbis, libxml2, lirc, mpg123, neon, qtmultimedia, soxr,
|
||||
wavpack, libopenmpt
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "audacious";
|
||||
version = "4.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://distfiles.audacious-media-player.org/audacious-${version}.tar.bz2";
|
||||
sha256 = "0p734psjjvjcmla2hg5h6a9v1prvy63jj9xm2g2ngs49jy7qan0z";
|
||||
};
|
||||
pluginsSrc = fetchurl {
|
||||
url = "http://distfiles.audacious-media-player.org/audacious-plugins-${version}.tar.bz2";
|
||||
sha256 = "0k0xnqmxi5lna034i2cnzvfzrykxmv4fbs1nkrc9sd2ma1igrmns";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ gettext pkg-config ];
|
||||
|
||||
buildInputs = [
|
||||
# Core dependencies
|
||||
qtbase
|
||||
|
||||
# Plugin dependencies
|
||||
alsa-lib curl faad2 ffmpeg flac fluidsynth gdk-pixbuf lame libbs2b libcddb
|
||||
libcdio libcdio-paranoia libcue libjack2 libmad libmms libmodplug libmowgli
|
||||
libnotify libogg libpulseaudio libsamplerate libsidplayfp libsndfile
|
||||
libvorbis libxml2 lirc mpg123 neon qtmultimedia soxr wavpack
|
||||
libopenmpt
|
||||
];
|
||||
|
||||
configureFlags = [ "--disable-gtk" ];
|
||||
|
||||
# Here we build both audacious and audacious-plugins in one
|
||||
# derivation, since they really expect to be in the same prefix.
|
||||
# This is slighly tricky.
|
||||
builder = builtins.toFile "builder.sh" ''
|
||||
# First build audacious.
|
||||
(
|
||||
source $stdenv/setup
|
||||
genericBuild
|
||||
)
|
||||
# Then build the plugins.
|
||||
(
|
||||
nativeBuildInputs="$out $nativeBuildInputs" # to find audacious
|
||||
source $stdenv/setup
|
||||
rm -rfv audacious-*
|
||||
src=$pluginsSrc
|
||||
genericBuild
|
||||
)
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Audio player";
|
||||
homepage = "https://audacious-media-player.org/";
|
||||
maintainers = with maintainers; [ eelco ramkromberg ttuegel ];
|
||||
platforms = with platforms; linux;
|
||||
license = with licenses; [
|
||||
bsd2 bsd3 #https://github.com/audacious-media-player/audacious/blob/master/COPYING
|
||||
gpl2 gpl3 lgpl2Plus #http://redmine.audacious-media-player.org/issues/46
|
||||
];
|
||||
};
|
||||
}
|
||||
205
pkgs/applications/audio/audacity/default.nix
Normal file
205
pkgs/applications/audio/audacity/default.nix
Normal file
|
|
@ -0,0 +1,205 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, cmake
|
||||
, makeWrapper
|
||||
, pkg-config
|
||||
, python3
|
||||
, gettext
|
||||
, file
|
||||
, libvorbis
|
||||
, libmad
|
||||
, libjack2
|
||||
, lv2
|
||||
, lilv
|
||||
, serd
|
||||
, sord
|
||||
, sqlite
|
||||
, sratom
|
||||
, suil
|
||||
, libsndfile
|
||||
, soxr
|
||||
, flac
|
||||
, lame
|
||||
, twolame
|
||||
, expat
|
||||
, libid3tag
|
||||
, libopus
|
||||
, libuuid
|
||||
, ffmpeg_4
|
||||
, soundtouch
|
||||
, pcre
|
||||
, portaudio # given up fighting their portaudio.patch?
|
||||
, portmidi
|
||||
, linuxHeaders
|
||||
, alsa-lib
|
||||
, at-spi2-core
|
||||
, dbus
|
||||
, libepoxy
|
||||
, libXdmcp
|
||||
, libXtst
|
||||
, libpthreadstubs
|
||||
, libsbsms_2_3_0
|
||||
, libselinux
|
||||
, libsepol
|
||||
, libxkbcommon
|
||||
, util-linux
|
||||
, wxGTK
|
||||
, libpng
|
||||
, libjpeg
|
||||
, AppKit ? null
|
||||
, AudioToolbox ? null
|
||||
, AudioUnit ? null
|
||||
, Carbon ? null
|
||||
, Cocoa ? null
|
||||
, CoreAudio ? null
|
||||
, CoreAudioKit ? null
|
||||
, CoreServices ? null
|
||||
, wxmac
|
||||
}:
|
||||
|
||||
# TODO
|
||||
# 1. as of 3.0.2, GTK2 is still the recommended version ref https://www.audacityteam.org/download/source/ check if that changes in future versions
|
||||
# 2. detach sbsms
|
||||
|
||||
let
|
||||
inherit (lib) optionals;
|
||||
pname = "audacity";
|
||||
version = "3.1.3";
|
||||
|
||||
wxWidgets_src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = "wxWidgets";
|
||||
rev = "v${version}-${pname}";
|
||||
sha256 = "sha256-KrmYYv23DHBYKIuxMYBioCQ2e4KWdgmuREnimtm0XNU=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
wxGTK' = wxGTK.overrideAttrs (oldAttrs: rec {
|
||||
src = wxWidgets_src;
|
||||
});
|
||||
|
||||
wxmac' = wxmac.overrideAttrs (oldAttrs: rec {
|
||||
src = wxWidgets_src;
|
||||
});
|
||||
in stdenv.mkDerivation rec {
|
||||
inherit pname version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "Audacity-${version}";
|
||||
sha256 = "sha256-sdI4paxIHDZgoWTCekjrkFR4JFpQC6OatcnJdVXCCZk=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
mkdir src/private
|
||||
'' + lib.optionalString stdenv.isLinux ''
|
||||
substituteInPlace libraries/lib-files/FileNames.cpp \
|
||||
--replace /usr/include/linux/magic.h ${linuxHeaders}/include/linux/magic.h
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
gettext
|
||||
pkg-config
|
||||
python3
|
||||
] ++ optionals stdenv.isLinux [
|
||||
linuxHeaders
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
expat
|
||||
ffmpeg_4
|
||||
file
|
||||
flac
|
||||
lame
|
||||
libid3tag
|
||||
libjack2
|
||||
libmad
|
||||
libopus
|
||||
libsbsms_2_3_0
|
||||
libsndfile
|
||||
libvorbis
|
||||
lilv
|
||||
lv2
|
||||
pcre
|
||||
portmidi
|
||||
serd
|
||||
sord
|
||||
soundtouch
|
||||
soxr
|
||||
sqlite
|
||||
sratom
|
||||
suil
|
||||
twolame
|
||||
portaudio
|
||||
] ++ optionals stdenv.isLinux [
|
||||
alsa-lib # for portaudio
|
||||
at-spi2-core
|
||||
dbus
|
||||
libepoxy
|
||||
libXdmcp
|
||||
libXtst
|
||||
libpthreadstubs
|
||||
libxkbcommon
|
||||
libselinux
|
||||
libsepol
|
||||
libuuid
|
||||
util-linux
|
||||
wxGTK'
|
||||
wxGTK'.gtk
|
||||
] ++ optionals stdenv.isDarwin [
|
||||
wxmac'
|
||||
AppKit
|
||||
Cocoa
|
||||
CoreAudioKit
|
||||
AudioUnit AudioToolbox CoreAudio CoreServices Carbon # for portaudio
|
||||
libpng
|
||||
libjpeg
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DAUDACITY_REV_LONG=nixpkgs"
|
||||
"-DAUDACITY_REV_TIME=nixpkgs"
|
||||
"-DDISABLE_DYNAMIC_LOADING_FFMPEG=ON"
|
||||
"-Daudacity_conan_enabled=Off"
|
||||
"-Daudacity_use_ffmpeg=loaded"
|
||||
];
|
||||
|
||||
doCheck = false; # Test fails
|
||||
|
||||
# Replace audacity's wrapper, to:
|
||||
# - put it in the right place, it shouldn't be in "$out/audacity"
|
||||
# - Add the ffmpeg dynamic dependency
|
||||
postInstall = lib.optionalString stdenv.isLinux ''
|
||||
rm "$out/audacity"
|
||||
wrapProgram "$out/bin/audacity" \
|
||||
--prefix LD_LIBRARY_PATH : "$out/lib/audacity":${lib.makeLibraryPath [ ffmpeg_4 ]} \
|
||||
--suffix AUDACITY_MODULES_PATH : "$out/lib/audacity/modules" \
|
||||
--suffix AUDACITY_PATH : "$out/share/audacity"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Sound editor with graphical UI";
|
||||
homepage = "https://www.audacityteam.org";
|
||||
changelog = "https://github.com/audacity/audacity/releases";
|
||||
license = with licenses; [
|
||||
gpl2Plus
|
||||
# Must be GPL3 when building with "technologies that require it,
|
||||
# such as the VST3 audio plugin interface".
|
||||
# https://github.com/audacity/audacity/discussions/2142.
|
||||
gpl3
|
||||
# Documentation.
|
||||
cc-by-30
|
||||
];
|
||||
maintainers = with maintainers; [ lheckemann veprbl ];
|
||||
platforms = platforms.unix;
|
||||
# darwin-aarch due to qtbase broken for it.
|
||||
# darwin-x86_64 due to
|
||||
# https://logs.nix.ci/?attempt_id=5cbc4581-09b4-4148-82fe-0326411a56b3&key=nixos%2Fnixpkgs.152273.
|
||||
broken = stdenv.isDarwin;
|
||||
};
|
||||
}
|
||||
44
pkgs/applications/audio/audio-recorder/default.nix
Normal file
44
pkgs/applications/audio/audio-recorder/default.nix
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
{ lib, stdenv, fetchurl
|
||||
, pkg-config, intltool
|
||||
, glib, dbus, gtk3, libappindicator-gtk3, gst_all_1
|
||||
, librsvg, wrapGAppsHook
|
||||
, pulseaudioSupport ? true, libpulseaudio }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "audio-recorder";
|
||||
version = "2.1.3";
|
||||
|
||||
src = fetchurl {
|
||||
name = "${pname}-${version}.tar.gz";
|
||||
url = "${meta.homepage}/+archive/ubuntu/ppa/+files/audio-recorder_${version}%7Ebionic.tar.gz";
|
||||
sha256 = "160pnmnmc9zwzyclsci3w1qwlgxkfx1y3x5ck6i587w78570an1r";
|
||||
};
|
||||
|
||||
# https://bugs.launchpad.net/audio-recorder/+bug/1784622
|
||||
NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
|
||||
|
||||
nativeBuildInputs = [ pkg-config intltool wrapGAppsHook ];
|
||||
|
||||
buildInputs = [
|
||||
glib dbus gtk3 librsvg libappindicator-gtk3
|
||||
] ++ (with gst_all_1; [
|
||||
gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav
|
||||
]) ++ lib.optional pulseaudioSupport libpulseaudio;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Audio recorder for GNOME and Unity Desktops";
|
||||
longDescription = ''
|
||||
This program allows you to record your favourite music or audio to a file.
|
||||
It can record audio from your system soundcard, microphones, browsers and
|
||||
webcams. Put simply; if it plays out of your loudspeakers you can record it.
|
||||
This program has a timer that can start, stop or pause recording on certain
|
||||
conditions such as audio level, file size and clock time. This recorder can
|
||||
automatically record your Skype calls. It supports several audio (output)
|
||||
formats such as OGG audio, Flac, MP3 and WAV.
|
||||
'';
|
||||
homepage = "https://launchpad.net/~audio-recorder";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.msteen ];
|
||||
};
|
||||
}
|
||||
45
pkgs/applications/audio/aumix/default.nix
Normal file
45
pkgs/applications/audio/aumix/default.nix
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
, gettext
|
||||
, ncurses
|
||||
, gtkGUI ? false
|
||||
, pkg-config
|
||||
, gtk2
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "aumix";
|
||||
version = "2.9.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.jpj.net/~trevor/aumix/releases/aumix-${version}.tar.bz2";
|
||||
sha256 = "0a8fwyxnc5qdxff8sl2sfsbnvgh6pkij4yafiln0fxgg6bal7knj";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Pull Gentoo fix for -fno-common toolchains. Upstream does not
|
||||
# seem to have the contacts
|
||||
(fetchpatch {
|
||||
name = "fno-common.patch";
|
||||
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-sound/aumix/files/aumix-2.9.1-fno-common.patch?id=496c9ec7355f06f6d1d19be780a6981503e6df1f";
|
||||
sha256 = "0qwylhx1hawsmx1pc7ykrjq9phksc73dq9rss6ggq15n3ggnc95y";
|
||||
})
|
||||
];
|
||||
|
||||
buildInputs = [ gettext ncurses ]
|
||||
++ lib.optionals gtkGUI [ pkg-config gtk2 ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Audio mixer for X and the console";
|
||||
longDescription = ''
|
||||
Aumix adjusts an audio mixer from X, the console, a terminal,
|
||||
the command line or a script.
|
||||
'';
|
||||
homepage = "http://www.jpj.net/~trevor/aumix.html";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
30
pkgs/applications/audio/autotalent/default.nix
Normal file
30
pkgs/applications/audio/autotalent/default.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{ lib, stdenv, fetchzip }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "autotalent";
|
||||
version = "0.2";
|
||||
|
||||
src = fetchzip {
|
||||
url = "http://tombaran.info/${pname}-${version}.tar.gz";
|
||||
sha256 = "19srnkghsdrxxlv2c7qimvyslxz63r97mkxfq78vbg654l3qz1a6";
|
||||
};
|
||||
|
||||
makeFlags = [
|
||||
"INSTALL_PLUGINS_DIR=$(out)/lib/ladspa"
|
||||
];
|
||||
|
||||
# To avoid name clashes, plugins should be compiled with symbols hidden, except for `ladspa_descriptor`:
|
||||
preConfigure = ''
|
||||
sed -r 's/^CFLAGS.*$/\0 -fvisibility=hidden/' -i Makefile
|
||||
|
||||
sed -r 's/^const LADSPA_Descriptor \*/__attribute__ ((visibility ("default"))) \0/' -i autotalent.c
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://tombaran.info/autotalent.html";
|
||||
description = "A real-time pitch correction LADSPA plugin (no MIDI control)";
|
||||
license = licenses.gpl2;
|
||||
maintainers = [ maintainers.michalrus ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
46
pkgs/applications/audio/bambootracker/default.nix
Normal file
46
pkgs/applications/audio/bambootracker/default.nix
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
{ mkDerivation
|
||||
, stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, qmake
|
||||
, pkg-config
|
||||
, qttools
|
||||
, qtbase
|
||||
, rtaudio
|
||||
, rtmidi
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "bambootracker";
|
||||
version = "0.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "BambooTracker";
|
||||
repo = "BambooTracker";
|
||||
rev = "v${version}";
|
||||
fetchSubmodules = true;
|
||||
sha256 = "1mpbvhsmrn0wdmxfp3n5dwv4474qlhy47r3vwc2jwdslq6vgl1fa";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ qmake qttools pkg-config ];
|
||||
|
||||
buildInputs = [ qtbase rtaudio rtmidi ];
|
||||
|
||||
qmakeFlags = [ "CONFIG+=system_rtaudio" "CONFIG+=system_rtmidi" ];
|
||||
|
||||
postConfigure = "make qmake_all";
|
||||
|
||||
postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
mkdir -p $out/Applications
|
||||
mv $out/{bin,Applications}/BambooTracker.app
|
||||
ln -s $out/{Applications/BambooTracker.app/Contents/MacOS,bin}/BambooTracker
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A tracker for YM2608 (OPNA) which was used in NEC PC-8801/9801 series computers";
|
||||
homepage = "https://bambootracker.github.io/BambooTracker/";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ OPNA2608 ];
|
||||
};
|
||||
}
|
||||
70
pkgs/applications/audio/baudline/default.nix
Normal file
70
pkgs/applications/audio/baudline/default.nix
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
{ lib, stdenv, fetchurl, libXmu, libXt, libX11, libXext, libXxf86vm, libjack2
|
||||
, makeWrapper
|
||||
}:
|
||||
|
||||
let
|
||||
rpath = lib.makeLibraryPath
|
||||
[ libXmu libXt libX11 libXext libXxf86vm libjack2 ];
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "baudline";
|
||||
version = "1.08";
|
||||
|
||||
src =
|
||||
if stdenv.hostPlatform.system == "x86_64-linux" then
|
||||
fetchurl {
|
||||
url = "http://www.baudline.com/baudline_${version}_linux_x86_64.tar.gz";
|
||||
sha256 = "09fn0046i69in1jpizkzbaq5ggij0mpflcsparyskm3wh71mbzvr";
|
||||
}
|
||||
else if stdenv.hostPlatform.system == "i686-linux" then
|
||||
fetchurl {
|
||||
url = "http://www.baudline.com/baudline_${version}_linux_i686.tar.gz";
|
||||
sha256 = "1waip5pmcf5ffcfvn8lf1rvsaq2ab66imrbfqs777scz7k8fhhjb";
|
||||
}
|
||||
else
|
||||
throw "baudline isn't supported (yet?) on ${stdenv.hostPlatform.system}";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
# Prebuilt binary distribution.
|
||||
# "patchelf --set-rpath" seems to break the application (cannot start), using
|
||||
# LD_LIBRARY_PATH wrapper script instead.
|
||||
dontBuild = true;
|
||||
installPhase = ''
|
||||
mkdir -p "$out/bin"
|
||||
mkdir -p "$out/libexec/baudline"
|
||||
|
||||
cp -r . "$out/libexec/baudline/"
|
||||
|
||||
interpreter="$(echo ${stdenv.cc.libc}/lib/ld-linux*)"
|
||||
for prog in "$out"/libexec/baudline/baudline*; do
|
||||
patchelf --interpreter "$interpreter" "$prog"
|
||||
ln -sr "$prog" "$out/bin/"
|
||||
done
|
||||
for prog in "$out"/bin/*; do
|
||||
wrapProgram "$prog" --prefix LD_LIBRARY_PATH : ${rpath}
|
||||
done
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Scientific signal analysis application";
|
||||
longDescription = ''
|
||||
Baudline is a time-frequency browser designed for scientific
|
||||
visualization of the spectral domain. Signal analysis is performed by
|
||||
Fourier, correlation, and raster transforms that create colorful
|
||||
spectrograms with vibrant detail. Conduct test and measurement
|
||||
experiments with the built in function generator, or play back audio
|
||||
files with a multitude of effects and filters. The baudline signal
|
||||
analyzer combines fast digital signal processing, versatile high speed
|
||||
displays, and continuous capture tools for hunting down and studying
|
||||
elusive signal characteristics.
|
||||
'';
|
||||
homepage = "http://www.baudline.com/";
|
||||
# See http://www.baudline.com/faq.html#licensing_terms.
|
||||
# (Do NOT (re)distribute on hydra.)
|
||||
license = licenses.unfree;
|
||||
platforms = [ "x86_64-linux" "i686-linux" ];
|
||||
maintainers = [ maintainers.bjornfor ];
|
||||
};
|
||||
|
||||
}
|
||||
28
pkgs/applications/audio/bchoppr/default.nix
Normal file
28
pkgs/applications/audio/bchoppr/default.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{ lib, stdenv, fetchFromGitHub, pkg-config, cairo, libX11, lv2 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bchoppr";
|
||||
version = "1.10.10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sjaehn";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-LNPG/ETRmgPv8LsYVHol4p5oRCvg+dSYVEe61i8Dvz8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ cairo libX11 lv2 ];
|
||||
|
||||
installFlags = [ "PREFIX=$(out)" ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/sjaehn/BChoppr";
|
||||
description = "An audio stream chopping LV2 plugin";
|
||||
maintainers = [ maintainers.magnetophon ];
|
||||
platforms = platforms.linux;
|
||||
license = licenses.gpl3Plus;
|
||||
};
|
||||
}
|
||||
187
pkgs/applications/audio/beast/patch.patch
Normal file
187
pkgs/applications/audio/beast/patch.patch
Normal file
|
|
@ -0,0 +1,187 @@
|
|||
Index: beast-0.7.1/shell/Makefile.in
|
||||
===================================================================
|
||||
--- beast-0.7.1.orig/shell/Makefile.in
|
||||
+++ beast-0.7.1/shell/Makefile.in
|
||||
@@ -859,10 +859,7 @@ check-before: check-installation
|
||||
check-installation:
|
||||
@for p in $(bin_PROGRAMS) ; do \
|
||||
pp="$(DESTDIR)$(bindir)/$$p" ; \
|
||||
- echo "TEST: test -x \"$$pp\"" ; \
|
||||
- test -x "$$pp" || \
|
||||
- { echo "Failed to verify installation of executable: $$pp"; \
|
||||
- exit 1 ; } \
|
||||
+ echo "TEST: test -x \"$$pp\" Test disabled" ; \
|
||||
done
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
Index: beast-0.7.1/shell/Makefile.am
|
||||
===================================================================
|
||||
--- beast-0.7.1.orig/shell/Makefile.am
|
||||
+++ beast-0.7.1/shell/Makefile.am
|
||||
@@ -859,10 +859,7 @@ check-before: check-installation
|
||||
check-installation:
|
||||
@for p in $(bin_PROGRAMS) ; do \
|
||||
pp="$(DESTDIR)$(bindir)/$$p" ; \
|
||||
- echo "TEST: test -x \"$$pp\"" ; \
|
||||
- test -x "$$pp" || \
|
||||
- { echo "Failed to verify installation of executable: $$pp"; \
|
||||
- exit 1 ; } \
|
||||
+ echo "TEST: test -x \"$$pp\" Test disabled" ; \
|
||||
done
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
Index: beast-0.7.1/birnet/birnettests.h
|
||||
===================================================================
|
||||
--- beast-0.7.1.orig/birnet/birnettests.h
|
||||
+++ beast-0.7.1/birnet/birnettests.h
|
||||
@@ -27,6 +27,7 @@
|
||||
|
||||
#include <glib.h>
|
||||
#include <string.h>
|
||||
+#include <signal.h>
|
||||
|
||||
BIRNET_EXTERN_C_BEGIN();
|
||||
|
||||
Index: beast-0.7.1/tools/bseloopfuncs.c
|
||||
===================================================================
|
||||
--- beast-0.7.1.orig/tools/bseloopfuncs.c
|
||||
+++ beast-0.7.1/tools/bseloopfuncs.c
|
||||
@@ -21,6 +21,7 @@
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <math.h>
|
||||
+#include <signal.h>
|
||||
|
||||
typedef struct {
|
||||
gdouble score;
|
||||
--- beast-0.7.1.orig/bse/Makefile.am 2008-06-01 13:12:28.116708321 +0200
|
||||
+++ beast-0.7.1/bse/Makefile.am 2008-06-01 13:12:40.000000000 +0200
|
||||
@@ -10,7 +10,7 @@
|
||||
# need -I$(top_builddir) for <sfi/sficonfig.h>
|
||||
# need -I$(srcdir) for "bseserver.h" in .genprc.c
|
||||
# need -I. (builddir) for "bsecore.genidl.hh" in bsecore.cc
|
||||
-INCLUDES += -I$(top_srcdir) -I$(top_builddir) -I$(srcdir) -I. $(BSE_CFLAGS) -DG_DISABLE_DEPRECATED -DG_DISABLE_CONST_RETURNS
|
||||
+INCLUDES += -I$(top_srcdir) -I$(top_builddir) -I$(srcdir) -I. $(BSE_CFLAGS) -DG_DISABLE_CONST_RETURNS
|
||||
DEFS += $(strip \
|
||||
$(patsubst %, -DG_LOG_DOMAIN=\"BSE\" -DBSE_COMPILATION, \
|
||||
$(filter $(<F), $(bse_sources) $(bse_sources))) \
|
||||
--- beast-0.7.1.orig/bse/zintern/Makefile.am 2008-06-01 13:14:25.880028999 +0200
|
||||
+++ beast-0.7.1/bse/zintern/Makefile.am 2008-06-01 13:14:38.000000000 +0200
|
||||
@@ -4,7 +4,7 @@
|
||||
## GNU Lesser General Public License version 2 or any later version.
|
||||
include $(top_srcdir)/Makefile.decl
|
||||
|
||||
-INCLUDES += -I$(top_srcdir) -I$(top_builddir) $(BSE_CFLAGS) -DG_DISABLE_DEPRECATED -DG_DISABLE_CONST_RETURNS
|
||||
+INCLUDES += -I$(top_srcdir) -I$(top_builddir) $(BSE_CFLAGS) -DG_DISABLE_CONST_RETURNS
|
||||
|
||||
ZFILE_DEFS = $(strip \
|
||||
wave-mono $(srcdir)/wave-mono.bse \
|
||||
--- a/configure.in 2008-06-01 15:19:46.000000000 +0200
|
||||
+++ b/configure.in 2008-06-01 15:27:45.000000000 +0200
|
||||
@@ -159,39 +159,33 @@
|
||||
dnl # Define package requirements.
|
||||
dnl #
|
||||
dnl ## include acintltool.m4 to provide IT_PROG_INTLTOOL
|
||||
-builtin(include, acintltool.m4)dnl
|
||||
-AC_DEFUN([AC_I18N_REQUIREMENTS],
|
||||
-[
|
||||
- ALL_LINGUAS=`cat "$srcdir/po/LINGUAS" | grep -v '^#' | xargs echo -n `
|
||||
- AC_SUBST(ALL_LINGUAS)
|
||||
- AC_SUBST([CONFIG_STATUS_DEPENDENCIES], ['$(top_srcdir)/po/LINGUAS'])
|
||||
-
|
||||
- dnl # versioned BEAST gettext domain (po/)
|
||||
- BST_GETTEXT_DOMAIN=beast-v$BIN_VERSION # version without -rcZ
|
||||
- AC_SUBST(BST_GETTEXT_DOMAIN)
|
||||
- AC_DEFINE_UNQUOTED(BST_GETTEXT_DOMAIN, "$BST_GETTEXT_DOMAIN", [Versioned BEAST gettext domain])
|
||||
- GETTEXT_PACKAGE=$BST_GETTEXT_DOMAIN
|
||||
- AC_SUBST(GETTEXT_PACKAGE)
|
||||
-
|
||||
- dnl # locale directory for all domains
|
||||
- dnl # (AM_GLIB_DEFINE_LOCALEDIR() could do this if it would do AC_SUBST())
|
||||
- saved_prefix="$prefix"
|
||||
- saved_exec_prefix="$exec_prefix"
|
||||
- test "x$prefix" = xNONE && prefix=$ac_default_prefix
|
||||
- test "x$exec_prefix" = xNONE && exec_prefix=$prefix
|
||||
- if test "x$CATOBJEXT" = "x.mo" ; then
|
||||
- beastlocaledir=`eval echo "${libdir}/locale"`
|
||||
- else
|
||||
- beastlocaledir=`eval echo "${datadir}/locale"`
|
||||
- fi
|
||||
- exec_prefix="$saved_exec_prefix"
|
||||
- prefix="$saved_prefix"
|
||||
- AC_SUBST(beastlocaledir)
|
||||
-
|
||||
- dnl # do gettext checks and prepare for intltool
|
||||
- AM_GLIB_GNU_GETTEXT
|
||||
- IT_PROG_INTLTOOL
|
||||
-])
|
||||
+IT_PROG_INTLTOOL([0.35.0])
|
||||
+
|
||||
+dnl # versioned BEAST gettext domain (po/)
|
||||
+BST_GETTEXT_DOMAIN=beast-v$BIN_VERSION # version without -rcZ
|
||||
+AC_SUBST(BST_GETTEXT_DOMAIN)
|
||||
+AC_DEFINE_UNQUOTED(BST_GETTEXT_DOMAIN, "$BST_GETTEXT_DOMAIN", [Versioned BEAST gettext domain])
|
||||
+GETTEXT_PACKAGE=$BST_GETTEXT_DOMAIN
|
||||
+AC_SUBST(GETTEXT_PACKAGE)
|
||||
+
|
||||
+dnl # locale directory for all domains
|
||||
+dnl # (AM_GLIB_DEFINE_LOCALEDIR() could do this if it would do AC_SUBST())
|
||||
+saved_prefix="$prefix"
|
||||
+saved_exec_prefix="$exec_prefix"
|
||||
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
|
||||
+test "x$exec_prefix" = xNONE && exec_prefix=$prefix
|
||||
+if test "x$CATOBJEXT" = "x.mo" ; then
|
||||
+ beastlocaledir=`eval echo "${libdir}/locale"`
|
||||
+else
|
||||
+ beastlocaledir=`eval echo "${datadir}/locale"`
|
||||
+fi
|
||||
+exec_prefix="$saved_exec_prefix"
|
||||
+prefix="$saved_prefix"
|
||||
+AC_SUBST(beastlocaledir)
|
||||
+
|
||||
+dnl # do gettext checks and prepare for intltool
|
||||
+AM_GLIB_GNU_GETTEXT
|
||||
+
|
||||
AC_DEFUN([AC_SFI_REQUIREMENTS],
|
||||
[
|
||||
dnl # check for GLib libs, libbirnet already provides gthread-2.0 and glib-2.0
|
||||
@@ -570,7 +564,6 @@
|
||||
AC_BIRNET_REQUIREMENTS
|
||||
|
||||
# Check requirement sets
|
||||
-AC_I18N_REQUIREMENTS
|
||||
AC_SFI_REQUIREMENTS
|
||||
AC_BSE_REQUIREMENTS
|
||||
AC_BSESCM_REQUIREMENTS
|
||||
--- a/po/POTFILES.in 2008-06-22 15:12:10.000000000 +0200
|
||||
+++ b/po/POTFILES.in 2008-06-22 15:13:28.000000000 +0200
|
||||
@@ -131,3 +131,29 @@
|
||||
plugins/davxtalstrings.c
|
||||
plugins/freeverb/bsefreeverb.c
|
||||
tools/bsewavetool.cc
|
||||
+
|
||||
+beast-gtk/bstgentypes.c
|
||||
+birnet/birnetcpu.cc
|
||||
+birnet/birnetutils.hh
|
||||
+bse/bsebus.genprc.c
|
||||
+bse/bsebusmodule.genidl.hh
|
||||
+bse/bsecontainer.genprc.c
|
||||
+bse/bsecore.genidl.hh
|
||||
+bse/bseieee754.h
|
||||
+bse/bseladspamodule.c
|
||||
+bse/bseparasite.genprc.c
|
||||
+bse/bsesong.genprc.c
|
||||
+bse/bsesource.genprc.c
|
||||
+bse/bsetrack.genprc.c
|
||||
+plugins/artscompressor.genidl.hh
|
||||
+plugins/bseamplifier.genidl.hh
|
||||
+plugins/bsebalance.genidl.hh
|
||||
+plugins/bsecontribsampleandhold.genidl.hh
|
||||
+plugins/bsenoise.genidl.hh
|
||||
+plugins/bsequantizer.genidl.hh
|
||||
+plugins/bsesummation.genidl.hh
|
||||
+plugins/davbassfilter.genidl.hh
|
||||
+plugins/davchorus.genidl.hh
|
||||
+plugins/standardguspatchenvelope.genidl.hh
|
||||
+plugins/standardsaturator.genidl.hh
|
||||
+tests/latency/bselatencytest.genidl.hh
|
||||
148
pkgs/applications/audio/bespokesynth/default.nix
Normal file
148
pkgs/applications/audio/bespokesynth/default.nix
Normal file
|
|
@ -0,0 +1,148 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchzip
|
||||
, cmake
|
||||
, pkg-config
|
||||
, ninja
|
||||
, makeWrapper
|
||||
, libjack2
|
||||
, alsa-lib
|
||||
, alsa-tools
|
||||
, freetype
|
||||
, libusb1
|
||||
, libX11
|
||||
, libXrandr
|
||||
, libXinerama
|
||||
, libXext
|
||||
, libXcursor
|
||||
, libXScrnSaver
|
||||
, libGL
|
||||
, libxcb
|
||||
, xcbutil
|
||||
, libxkbcommon
|
||||
, xcbutilkeysyms
|
||||
, xcb-util-cursor
|
||||
, gtk3
|
||||
, webkitgtk
|
||||
, python3
|
||||
, curl
|
||||
, pcre
|
||||
, mount
|
||||
, gnome
|
||||
, Cocoa
|
||||
, WebKit
|
||||
, CoreServices
|
||||
, CoreAudioKit
|
||||
# It is not allowed to distribute binaries with the VST2 SDK plugin without a license
|
||||
# (the author of Bespoke has such a licence but not Nix). VST3 should work out of the box.
|
||||
# Read more in https://github.com/NixOS/nixpkgs/issues/145607
|
||||
, enableVST2 ? false
|
||||
}:
|
||||
|
||||
let
|
||||
# equal to vst-sdk in ../oxefmsynth/default.nix
|
||||
vst-sdk = stdenv.mkDerivation rec {
|
||||
name = "vstsdk3610_11_06_2018_build_37";
|
||||
src = fetchzip {
|
||||
url = "https://web.archive.org/web/20181016150224if_/https://download.steinberg.net/sdk_downloads/${name}.zip";
|
||||
sha256 = "0da16iwac590wphz2sm5afrfj42jrsnkr1bxcy93lj7a369ildkj";
|
||||
};
|
||||
installPhase = ''
|
||||
cp -r . $out
|
||||
'';
|
||||
};
|
||||
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bespokesynth";
|
||||
version = "1.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "BespokeSynth";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-PN0Q6/gI1PeMaF/8EZFGJdLR8JVHQZfWunAhOIQxkHw=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
cmakeBuildType = "Release";
|
||||
|
||||
cmakeFlags = lib.optionals enableVST2 [ "-DBESPOKE_VST2_SDK_LOCATION=${vst-sdk}/VST2_SDK" ];
|
||||
|
||||
nativeBuildInputs = [ python3 makeWrapper cmake pkg-config ninja ];
|
||||
|
||||
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
|
||||
# List obtained in https://github.com/BespokeSynth/BespokeSynth/blob/main/azure-pipelines.yml
|
||||
libX11
|
||||
libXrandr
|
||||
libXinerama
|
||||
libXext
|
||||
libXcursor
|
||||
libXScrnSaver
|
||||
curl
|
||||
gtk3
|
||||
webkitgtk
|
||||
freetype
|
||||
libGL
|
||||
libusb1
|
||||
alsa-lib
|
||||
libjack2
|
||||
gnome.zenity
|
||||
alsa-tools
|
||||
libxcb
|
||||
xcbutil
|
||||
libxkbcommon
|
||||
xcbutilkeysyms
|
||||
xcb-util-cursor
|
||||
pcre
|
||||
mount
|
||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
Cocoa
|
||||
WebKit
|
||||
CoreServices
|
||||
CoreAudioKit
|
||||
];
|
||||
|
||||
NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin (toString [
|
||||
# Fails to find fp.h on its own
|
||||
"-isystem ${CoreServices}/Library/Frameworks/CoreServices.framework/Versions/Current/Frameworks/CarbonCore.framework/Versions/Current/Headers/"
|
||||
]);
|
||||
|
||||
postInstall =
|
||||
if stdenv.hostPlatform.isDarwin then ''
|
||||
mkdir -p $out/{Applications,bin}
|
||||
mv Source/BespokeSynth_artefacts/${cmakeBuildType}/BespokeSynth.app $out/Applications/
|
||||
# Symlinking confuses the resource finding about the actual location of the binary
|
||||
# Resources are looked up relative to the executed file's location
|
||||
makeWrapper $out/{Applications/BespokeSynth.app/Contents/MacOS,bin}/BespokeSynth
|
||||
'' else ''
|
||||
# Ensure zenity is available, or it won't be able to open new files.
|
||||
# Ensure the python used for compilation is the same as the python used at run-time.
|
||||
# jedi is also required for auto-completion.
|
||||
# These X11 libs get dlopen'd, they cause visual bugs when unavailable.
|
||||
wrapProgram $out/bin/BespokeSynth \
|
||||
--prefix PATH : '${lib.makeBinPath [
|
||||
gnome.zenity
|
||||
(python3.withPackages (ps: with ps; [ jedi ]))
|
||||
]}' \
|
||||
--prefix LD_LIBRARY_PATH : '${lib.makeLibraryPath [
|
||||
libXrandr
|
||||
libXinerama
|
||||
libXcursor
|
||||
libXScrnSaver
|
||||
]}'
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description =
|
||||
"Software modular synth with controllers support, scripting and VST";
|
||||
homepage = "https://github.com/awwbees/BespokeSynth";
|
||||
license = with licenses; [
|
||||
gpl3Plus
|
||||
] ++ lib.optional enableVST2 unfree;
|
||||
maintainers = with maintainers; [ astro tobiasBora OPNA2608 ];
|
||||
mainProgram = "BespokeSynth";
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
29
pkgs/applications/audio/bitmeter/default.nix
Normal file
29
pkgs/applications/audio/bitmeter/default.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{ lib, stdenv, autoreconfHook, fetchurl, libjack2, gtk2, pkg-config }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bitmeter";
|
||||
version = "1.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://devel.tlrmx.org/audio/source/${pname}-${version}.tar.gz";
|
||||
sha256 = "09ck2gxqky701dc1p0ip61rrn16v0pdc7ih2hc2sd63zcw53g2a7";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook pkg-config ];
|
||||
buildInputs = [ libjack2 gtk2 ];
|
||||
|
||||
patches = [
|
||||
(fetchurl {
|
||||
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-sound/bitmeter/files/bitmeter-1.2-fix-build-system.patch";
|
||||
sha256 = "021mz6933iw7mpk6b9cbjr8naj6smbq1hwqjszlyx72qbwrrid7k";
|
||||
})
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://devel.tlrmx.org/audio/bitmeter/";
|
||||
description = "Also known as jack bitscope. Useful to detect denormals";
|
||||
license = licenses.gpl2;
|
||||
maintainers = [ maintainers.magnetophon ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
98
pkgs/applications/audio/bitwig-studio/bitwig-studio1.nix
Normal file
98
pkgs/applications/audio/bitwig-studio/bitwig-studio1.nix
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
{ stdenv, fetchurl, alsa-lib, bzip2, cairo, dpkg, freetype, gdk-pixbuf
|
||||
, wrapGAppsHook, gtk2, gtk3, harfbuzz, jdk, lib, xorg
|
||||
, libbsd, libjack2, libpng, ffmpeg
|
||||
, libxkbcommon
|
||||
, makeWrapper, pixman, autoPatchelfHook
|
||||
, xdg-utils, zenity, zlib }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bitwig-studio";
|
||||
version = "1.3.16";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://downloads.bitwig.com/stable/${version}/bitwig-studio-${version}.deb";
|
||||
sha256 = "0n0fxh9gnmilwskjcayvjsjfcs3fz9hn00wh7b3gg0cv3qqhich8";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ dpkg makeWrapper autoPatchelfHook wrapGAppsHook ];
|
||||
|
||||
unpackCmd = "mkdir root ; dpkg-deb -x $curSrc root";
|
||||
|
||||
dontBuild = true;
|
||||
dontWrapGApps = true; # we only want $gappsWrapperArgs here
|
||||
|
||||
buildInputs = with xorg; [
|
||||
alsa-lib bzip2.out cairo freetype gdk-pixbuf gtk2 gtk3 harfbuzz libX11 libXau
|
||||
libXcursor libXdmcp libXext libXfixes libXrender libbsd libjack2 libpng libxcb
|
||||
libxkbfile pixman xcbutil xcbutilwm zlib
|
||||
];
|
||||
|
||||
binPath = lib.makeBinPath [
|
||||
xdg-utils zenity ffmpeg
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
cp -r opt/bitwig-studio $out/libexec
|
||||
|
||||
# Use NixOS versions of these libs instead of the bundled ones.
|
||||
(
|
||||
cd $out/libexec/lib/bitwig-studio
|
||||
rm libbz2.so* libxkbfile.so* libXcursor.so* libXau.so* \
|
||||
libXdmcp.so* libpng16.so* libxcb*.so* libharfbuzz.so* \
|
||||
libcairo.so* libfreetype.so*
|
||||
ln -s ${bzip2.out}/lib/libbz2.so.1.0.6 libbz2.so.1.0
|
||||
)
|
||||
|
||||
# Use our OpenJDK instead of Bitwig’s bundled—and commercial!—one.
|
||||
rm -rf $out/libexec/lib/jre
|
||||
ln -s ${jdk.home}/jre $out/libexec/lib/jre
|
||||
|
||||
mkdir -p $out/bin
|
||||
ln -s $out/libexec/bitwig-studio $out/bin/bitwig-studio
|
||||
|
||||
cp -r usr/share $out/share
|
||||
substitute usr/share/applications/bitwig-studio.desktop \
|
||||
$out/share/applications/bitwig-studio.desktop \
|
||||
--replace /usr/bin/bitwig-studio $out/bin/bitwig-studio
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
# Bitwig’s `libx11-windowing-system.so` has several problems:
|
||||
#
|
||||
# • has some old version of libxkbcommon linked statically (ಠ_ಠ),
|
||||
#
|
||||
# • hardcodes path to `/usr/share/X11/xkb`,
|
||||
#
|
||||
# • even if we redirected it with libredirect (after adding
|
||||
# `eaccess()` to libredirect!), their version of libxkbcommon
|
||||
# is unable to parse our xkeyboardconfig. Been there, done that.
|
||||
#
|
||||
# However, it suffices to override theirs with our libxkbcommon
|
||||
# in LD_PRELOAD. :-)
|
||||
|
||||
find $out -type f -executable \
|
||||
-not -name '*.so.*' \
|
||||
-not -name '*.so' \
|
||||
-not -path '*/resources/*' | \
|
||||
while IFS= read -r f ; do
|
||||
wrapProgram $f \
|
||||
--prefix PATH : "${binPath}" \
|
||||
"''${gappsWrapperArgs[@]}" \
|
||||
--set LD_PRELOAD "${libxkbcommon.out}/lib/libxkbcommon.so" || true
|
||||
done
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A digital audio workstation";
|
||||
longDescription = ''
|
||||
Bitwig Studio is a multi-platform music-creation system for
|
||||
production, performance and DJing, with a focus on flexible
|
||||
editing tools and a super-fast workflow.
|
||||
'';
|
||||
homepage = "https://www.bitwig.com/";
|
||||
license = licenses.unfree;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ michalrus mrVanDalo ];
|
||||
};
|
||||
}
|
||||
16
pkgs/applications/audio/bitwig-studio/bitwig-studio2.nix
Normal file
16
pkgs/applications/audio/bitwig-studio/bitwig-studio2.nix
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{ fetchurl, bitwig-studio1,
|
||||
pulseaudio }:
|
||||
|
||||
bitwig-studio1.overrideAttrs (oldAttrs: rec {
|
||||
pname = "bitwig-studio";
|
||||
version = "2.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://downloads.bitwig.com/stable/${version}/bitwig-studio-${version}.deb";
|
||||
sha256 = "1zkiz36lhck3qvl0cp0dq6pwbv4lx4sh9wh0ga92kx5zhvbjm098";
|
||||
};
|
||||
|
||||
runtimeDependencies = [
|
||||
pulseaudio
|
||||
];
|
||||
})
|
||||
81
pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix
Normal file
81
pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
{ stdenv, fetchurl, alsa-lib, cairo, dpkg, freetype
|
||||
, gdk-pixbuf, glib, gtk3, lib, xorg
|
||||
, libglvnd, libjack2, ffmpeg
|
||||
, libxkbcommon, xdg-utils, zlib, pulseaudio
|
||||
, wrapGAppsHook, makeWrapper }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bitwig-studio";
|
||||
version = "3.3.7";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb";
|
||||
sha256 = "13jr45kzv0xjhhqk30qpq793349qyx8jpas4kl6i6bk3xfrd3fbz";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook ];
|
||||
|
||||
unpackCmd = ''
|
||||
mkdir -p root
|
||||
dpkg-deb -x $curSrc root
|
||||
'';
|
||||
|
||||
dontBuild = true;
|
||||
dontWrapGApps = true; # we only want $gappsWrapperArgs here
|
||||
|
||||
buildInputs = with xorg; [
|
||||
alsa-lib cairo freetype gdk-pixbuf glib gtk3 libxcb xcbutil xcbutilwm zlib libXtst libxkbcommon pulseaudio libjack2 libX11 libglvnd libXcursor stdenv.cc.cc.lib
|
||||
];
|
||||
|
||||
binPath = lib.makeBinPath [
|
||||
xdg-utils ffmpeg
|
||||
];
|
||||
|
||||
ldLibraryPath = lib.strings.makeLibraryPath buildInputs;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin
|
||||
cp -r opt/bitwig-studio $out/libexec
|
||||
ln -s $out/libexec/bitwig-studio $out/bin/bitwig-studio
|
||||
cp -r usr/share $out/share
|
||||
substitute usr/share/applications/bitwig-studio.desktop \
|
||||
$out/share/applications/bitwig-studio.desktop \
|
||||
--replace /usr/bin/bitwig-studio $out/bin/bitwig-studio
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
# patchelf fails to set rpath on BitwigStudioEngine, so we use
|
||||
# the LD_LIBRARY_PATH way
|
||||
|
||||
find $out -type f -executable \
|
||||
-not -name '*.so.*' \
|
||||
-not -name '*.so' \
|
||||
-not -name '*.jar' \
|
||||
-not -path '*/resources/*' | \
|
||||
while IFS= read -r f ; do
|
||||
patchelf --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" $f
|
||||
wrapProgram $f \
|
||||
"''${gappsWrapperArgs[@]}" \
|
||||
--prefix PATH : "${binPath}" \
|
||||
--suffix LD_LIBRARY_PATH : "${ldLibraryPath}"
|
||||
done
|
||||
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A digital audio workstation";
|
||||
longDescription = ''
|
||||
Bitwig Studio is a multi-platform music-creation system for
|
||||
production, performance and DJing, with a focus on flexible
|
||||
editing tools and a super-fast workflow.
|
||||
'';
|
||||
homepage = "https://www.bitwig.com/";
|
||||
license = licenses.unfree;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ bfortz michalrus mrVanDalo ];
|
||||
};
|
||||
}
|
||||
80
pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix
Normal file
80
pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
{ stdenv, fetchurl, alsa-lib, cairo, dpkg, freetype
|
||||
, gdk-pixbuf, glib, gtk3, lib, xorg
|
||||
, libglvnd, libjack2, ffmpeg
|
||||
, libxkbcommon, xdg-utils, zlib, pulseaudio
|
||||
, wrapGAppsHook, makeWrapper }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bitwig-studio";
|
||||
version = "4.2.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb";
|
||||
sha256 = "sha256-UCafrjrEwwHkhPum7sTOjtXzy7PNeK5/aeKg+b3CGJU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook ];
|
||||
|
||||
unpackCmd = ''
|
||||
mkdir -p root
|
||||
dpkg-deb -x $curSrc root
|
||||
'';
|
||||
|
||||
dontBuild = true;
|
||||
dontWrapGApps = true; # we only want $gappsWrapperArgs here
|
||||
|
||||
buildInputs = with xorg; [
|
||||
alsa-lib cairo freetype gdk-pixbuf glib gtk3 libxcb xcbutil xcbutilwm zlib libXtst libxkbcommon pulseaudio libjack2 libX11 libglvnd libXcursor stdenv.cc.cc.lib
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin
|
||||
cp -r opt/bitwig-studio $out/libexec
|
||||
ln -s $out/libexec/bitwig-studio $out/bin/bitwig-studio
|
||||
cp -r usr/share $out/share
|
||||
substitute usr/share/applications/com.bitwig.BitwigStudio.desktop \
|
||||
$out/share/applications/com.bitwig.BitwigStudio.desktop \
|
||||
--replace /usr/bin/bitwig-studio $out/bin/bitwig-studio
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
# patchelf fails to set rpath on BitwigStudioEngine, so we use
|
||||
# the LD_LIBRARY_PATH way
|
||||
|
||||
find $out -type f -executable \
|
||||
-not -name '*.so.*' \
|
||||
-not -name '*.so' \
|
||||
-not -name '*.jar' \
|
||||
-not -name 'jspawnhelper' \
|
||||
-not -path '*/resources/*' | \
|
||||
while IFS= read -r f ; do
|
||||
patchelf --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" $f
|
||||
wrapProgram $f \
|
||||
"''${gappsWrapperArgs[@]}" \
|
||||
--prefix PATH : "${lib.makeBinPath [ xdg-utils ffmpeg ]}" \
|
||||
--suffix LD_LIBRARY_PATH : "${lib.strings.makeLibraryPath buildInputs}"
|
||||
done
|
||||
|
||||
find $out -type f -executable -name 'jspawnhelper' | \
|
||||
while IFS= read -r f ; do
|
||||
patchelf --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" $f
|
||||
done
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A digital audio workstation";
|
||||
longDescription = ''
|
||||
Bitwig Studio is a multi-platform music-creation system for
|
||||
production, performance and DJing, with a focus on flexible
|
||||
editing tools and a super-fast workflow.
|
||||
'';
|
||||
homepage = "https://www.bitwig.com/";
|
||||
license = licenses.unfree;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ bfortz michalrus mrVanDalo ];
|
||||
};
|
||||
}
|
||||
28
pkgs/applications/audio/bjumblr/default.nix
Normal file
28
pkgs/applications/audio/bjumblr/default.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{ lib, stdenv, fetchFromGitHub, libX11, cairo, lv2, pkg-config, libsndfile }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bjumblr";
|
||||
version = "1.6.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sjaehn";
|
||||
repo = "BJumblr";
|
||||
rev = version;
|
||||
sha256 = "sha256-qSoGmWUGaMjx/bkiCJ/qb4LBbuFPXXlJ0e9hrFBXzwE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [
|
||||
libX11 cairo lv2 libsndfile
|
||||
];
|
||||
|
||||
installFlags = [ "PREFIX=$(out)" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/sjaehn/BJumblr";
|
||||
description = "Pattern-controlled audio stream / sample re-sequencer LV2 plugin";
|
||||
maintainers = [ maintainers.magnetophon ];
|
||||
platforms = platforms.linux;
|
||||
license = licenses.gpl3;
|
||||
};
|
||||
}
|
||||
69
pkgs/applications/audio/blanket/default.nix
Normal file
69
pkgs/applications/audio/blanket/default.nix
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, wrapGAppsHook
|
||||
, desktop-file-utils
|
||||
, appstream-glib
|
||||
, python3Packages
|
||||
, glib
|
||||
, gtk4
|
||||
, libadwaita
|
||||
, gobject-introspection
|
||||
, gst_all_1
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "blanket";
|
||||
version = "0.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rafaelmardojai";
|
||||
repo = "blanket";
|
||||
rev = "refs/tags/${version}";
|
||||
sha256 = "sha256-4gthT1x76IfXWkLaLMPtFS4TRlRGk5Enbu/k1jAHzwE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
wrapGAppsHook
|
||||
desktop-file-utils
|
||||
appstream-glib
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
gtk4
|
||||
libadwaita
|
||||
gobject-introspection
|
||||
gst_all_1.gstreamer
|
||||
gst_all_1.gst-plugins-base
|
||||
gst_all_1.gst-plugins-good
|
||||
gst_all_1.gst-plugins-bad
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
pygobject3
|
||||
];
|
||||
|
||||
# Broken with gobject-introspection setup hook
|
||||
# https://github.com/NixOS/nixpkgs/issues/56943
|
||||
strictDeps = false;
|
||||
format = "other";
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs build-aux/meson/postinstall.py
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/rafaelmardojai/blanket";
|
||||
description = "Listen to different sounds";
|
||||
maintainers = with maintainers; [ onny ];
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
28
pkgs/applications/audio/boops/default.nix
Normal file
28
pkgs/applications/audio/boops/default.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{ stdenv, lib, fetchFromGitHub, xorg, cairo, lv2, libsndfile, pkg-config }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "boops";
|
||||
version = "1.8.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sjaehn";
|
||||
repo = "BOops";
|
||||
rev = version;
|
||||
sha256 = "0nvpawk58g189z96xnjs4pyri5az3ckdi9mhi0i9s0a7k4gdkarr";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [
|
||||
xorg.libX11 cairo lv2 libsndfile
|
||||
];
|
||||
|
||||
installFlags = [ "PREFIX=$(out)" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/sjaehn/BOops";
|
||||
description = "Sound glitch effect sequencer LV2 plugin";
|
||||
maintainers = [ maintainers.magnetophon ];
|
||||
platforms = platforms.linux;
|
||||
license = licenses.gpl3Plus;
|
||||
};
|
||||
}
|
||||
40
pkgs/applications/audio/bristol/default.nix
Normal file
40
pkgs/applications/audio/bristol/default.nix
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
{ lib, stdenv, fetchurl, alsa-lib, libjack2, pkg-config, libpulseaudio, xorg }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bristol";
|
||||
version = "0.60.11";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/bristol/${pname}-${version}.tar.gz";
|
||||
sha256 = "1fi2m4gmvxdi260821y09lxsimq82yv4k5bbgk3kyc3x1nyhn7vx";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [
|
||||
alsa-lib libjack2 libpulseaudio xorg.libX11 xorg.libXext
|
||||
xorg.xorgproto
|
||||
];
|
||||
|
||||
patchPhase = "sed -i '41,43d' libbristolaudio/audioEngineJack.c"; # disable alsa/iatomic
|
||||
|
||||
configurePhase = "./configure --prefix=$out --enable-jack-default-audio --enable-jack-default-midi";
|
||||
|
||||
# Workaround build failure on -fno-common toolchains like upstream
|
||||
# gcc-10. Otherwise build fails as:
|
||||
# ld: brightonCLI.o:/build/bristol-0.60.11/brighton/brightonCLI.c:139: multiple definition of
|
||||
# `event'; brightonMixerMenu.o:/build/bristol-0.60.11/brighton/brightonMixerMenu.c:1182: first defined here
|
||||
NIX_CFLAGS_COMPILE = "-fcommon";
|
||||
|
||||
preInstall = ''
|
||||
sed -e "s@\`which bristol\`@$out/bin/bristol@g" -i bin/startBristol
|
||||
sed -e "s@\`which brighton\`@$out/bin/brighton@g" -i bin/startBristol
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A range of synthesiser, electric piano and organ emulations";
|
||||
homepage = "http://bristol.sourceforge.net";
|
||||
license = licenses.gpl3;
|
||||
platforms = ["x86_64-linux" "i686-linux"];
|
||||
maintainers = [ maintainers.goibhniu ];
|
||||
};
|
||||
}
|
||||
28
pkgs/applications/audio/bschaffl/default.nix
Normal file
28
pkgs/applications/audio/bschaffl/default.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{ lib, stdenv, fetchFromGitHub, pkg-config, cairo, libX11, lv2 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bschaffl";
|
||||
version = "1.4.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sjaehn";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-zczDqJdUAN2oSyIRt9m3OnwOWXlwL4Yod8UMCXs5zM0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ cairo libX11 lv2 ];
|
||||
|
||||
installFlags = [ "PREFIX=$(out)" ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/sjaehn/BSchaffl";
|
||||
description = "Pattern-controlled MIDI amp & time stretch LV2 plugin";
|
||||
maintainers = [ maintainers.magnetophon ];
|
||||
platforms = platforms.linux;
|
||||
license = licenses.gpl3;
|
||||
};
|
||||
}
|
||||
28
pkgs/applications/audio/bsequencer/default.nix
Normal file
28
pkgs/applications/audio/bsequencer/default.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{ lib, stdenv, fetchFromGitHub, xorg, cairo, lv2, pkg-config }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bsequencer";
|
||||
version = "1.8.10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sjaehn";
|
||||
repo = "BSEQuencer";
|
||||
rev = version;
|
||||
sha256 = "sha256-1PSICm5mw37nO3gkHA9MNUH+CFULeOZURjimYEA/dXA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [
|
||||
xorg.libX11 cairo lv2
|
||||
];
|
||||
|
||||
installFlags = [ "PREFIX=$(out)" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/sjaehn/BSEQuencer";
|
||||
description = "Multi channel MIDI step sequencer LV2 plugin";
|
||||
maintainers = [ maintainers.magnetophon ];
|
||||
platforms = platforms.linux;
|
||||
license = licenses.gpl3;
|
||||
};
|
||||
}
|
||||
28
pkgs/applications/audio/bshapr/default.nix
Normal file
28
pkgs/applications/audio/bshapr/default.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{ lib, stdenv, fetchFromGitHub, xorg, cairo, lv2, pkg-config }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bshapr";
|
||||
version = "0.13";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sjaehn";
|
||||
repo = "BShapr";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-9I4DPRl6i/VL8Etw3qLGZkP45BGsbxFxNOvRy3B3I+M=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [
|
||||
xorg.libX11 cairo lv2
|
||||
];
|
||||
|
||||
installFlags = [ "PREFIX=$(out)" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/sjaehn/BShapr";
|
||||
description = "Beat / envelope shaper LV2 plugin";
|
||||
maintainers = [ maintainers.magnetophon ];
|
||||
platforms = platforms.linux;
|
||||
license = licenses.gpl3;
|
||||
};
|
||||
}
|
||||
28
pkgs/applications/audio/bslizr/default.nix
Normal file
28
pkgs/applications/audio/bslizr/default.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{ lib, stdenv, fetchFromGitHub, xorg, cairo, lv2, pkg-config }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bslizr";
|
||||
version = "1.2.16";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sjaehn";
|
||||
repo = "BSlizr";
|
||||
rev = version;
|
||||
sha256 = "sha256-5DvVkTz79CLvZMZ3XnI0COIfxnhERDSvzbVoJAcqNRI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [
|
||||
xorg.libX11 cairo lv2
|
||||
];
|
||||
|
||||
installFlags = [ "PREFIX=$(out)" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/sjaehn/BSlizr";
|
||||
description = "Sequenced audio slicing effect LV2 plugin (step sequencer effect)";
|
||||
maintainers = [ maintainers.magnetophon ];
|
||||
platforms = platforms.linux;
|
||||
license = licenses.gpl3;
|
||||
};
|
||||
}
|
||||
63
pkgs/applications/audio/bucklespring/default.nix
Normal file
63
pkgs/applications/audio/bucklespring/default.nix
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
|
||||
, legacy ? false
|
||||
, libinput
|
||||
|
||||
, pkg-config
|
||||
, makeWrapper
|
||||
|
||||
, openal
|
||||
, alure
|
||||
, libXtst
|
||||
, libX11
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (lib) optionals;
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bucklespring";
|
||||
version = "1.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zevv";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "0prhqibivxzmz90k79zpwx3c97h8wa61rk5ihi9a5651mnc46mna";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config makeWrapper ];
|
||||
|
||||
buildInputs = [ openal alure ]
|
||||
++ optionals (legacy) [ libXtst libX11 ]
|
||||
++ optionals (!legacy) [ libinput ];
|
||||
|
||||
makeFlags = optionals (!legacy) [ "libinput=1" ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/share/wav
|
||||
cp -r $src/wav $out/share/.
|
||||
install -D ./buckle.desktop $out/share/applications/buckle.desktop
|
||||
install -D ./buckle $out/bin/buckle
|
||||
wrapProgram $out/bin/buckle --add-flags "-p $out/share/wav"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Nostalgia bucklespring keyboard sound";
|
||||
longDescription = ''
|
||||
When built with libinput (wayland or bare console),
|
||||
users need to be in the input group to use this:
|
||||
<code>users.users.alice.extraGroups = [ "input" ];</code>
|
||||
'';
|
||||
homepage = "https://github.com/zevv/bucklespring";
|
||||
license = licenses.gpl2Only;
|
||||
platforms = platforms.unix;
|
||||
maintainers = [ maintainers.evils ];
|
||||
};
|
||||
}
|
||||
114
pkgs/applications/audio/cadence/default.nix
Normal file
114
pkgs/applications/audio/cadence/default.nix
Normal file
|
|
@ -0,0 +1,114 @@
|
|||
{ lib
|
||||
, a2jmidid
|
||||
, coreutils
|
||||
, libjack2
|
||||
, fetchpatch
|
||||
, fetchFromGitHub
|
||||
, jack_capture
|
||||
, pkg-config
|
||||
, pulseaudioFull
|
||||
, qtbase
|
||||
, makeWrapper
|
||||
, mkDerivation
|
||||
, python3
|
||||
}:
|
||||
#ladish missing, claudia can't work.
|
||||
#pulseaudio needs fixes (patchShebangs .pa ...)
|
||||
#desktop needs icons and exec fixing.
|
||||
|
||||
mkDerivation rec {
|
||||
version = "0.9.1";
|
||||
pname = "cadence";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "falkTX";
|
||||
repo = "Cadence";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-QFC4wiVF8wphhrammxtc+VMZJpXY5OGHs6DNa21+6B8=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix installation without DESTDIR
|
||||
(fetchpatch {
|
||||
url = "https://github.com/falkTX/Cadence/commit/1fd3275e7daf4b75f59ef1f85a9e2e93bd5c0731.patch";
|
||||
sha256 = "0q791jsh8vmjg678dzhbp1ykq8xrrlxl1mbgs3g8if1ccj210vd8";
|
||||
})
|
||||
# Fix build with Qt 5.15
|
||||
(fetchpatch {
|
||||
url = "https://github.com/falkTX/Cadence/commit/c167f35fbb76c4246c730b29262a59da73010412.patch";
|
||||
sha256 = "1gm9q6gx03sla5vcnisznc95pjdi2703f8b3mj2kby9rfx2pylyh";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
libjackso=$(realpath ${lib.makeLibraryPath [libjack2]}/libjack.so.0);
|
||||
substituteInPlace ./src/jacklib.py --replace libjack.so.0 $libjackso
|
||||
substituteInPlace ./src/cadence.py --replace "/usr/bin/pulseaudio" \
|
||||
"${lib.makeBinPath[pulseaudioFull]}/pulseaudio"
|
||||
substituteInPlace ./c++/jackbridge/JackBridge.cpp --replace libjack.so.0 $libjackso
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
qtbase
|
||||
jack_capture
|
||||
pulseaudioFull
|
||||
(
|
||||
(python3.withPackages (ps: with ps; [
|
||||
pyqt5
|
||||
dbus-python
|
||||
]))
|
||||
)
|
||||
];
|
||||
|
||||
makeFlags = [
|
||||
"PREFIX=${placeholder "out"}"
|
||||
"SYSCONFDIR=${placeholder "out"}/etc"
|
||||
];
|
||||
|
||||
dontWrapQtApps = true;
|
||||
|
||||
# Replace with our own wrappers. They need to be changed manually since it wouldn't work otherwise.
|
||||
preFixup =
|
||||
let
|
||||
outRef = placeholder "out";
|
||||
prefix = "${outRef}/share/cadence/src";
|
||||
scriptAndSource = lib.mapAttrs'
|
||||
(script: source:
|
||||
lib.nameValuePair ("${outRef}/bin/" + script) ("${prefix}/" + source)
|
||||
)
|
||||
{
|
||||
"cadence" = "cadence.py";
|
||||
"claudia" = "claudia.py";
|
||||
"catarina" = "catarina.py";
|
||||
"catia" = "catia.py";
|
||||
"cadence-jacksettings" = "jacksettings.py";
|
||||
"cadence-aloop-daemon" = "cadence_aloop_daemon.py";
|
||||
"cadence-logs" = "logs.py";
|
||||
"cadence-render" = "render.py";
|
||||
"claudia-launcher" = "claudia_launcher.py";
|
||||
"cadence-session-start" = "cadence_session_start.py";
|
||||
};
|
||||
in
|
||||
lib.mapAttrsToList
|
||||
(script: source: ''
|
||||
rm -f ${script}
|
||||
makeQtWrapper ${source} ${script} \
|
||||
--prefix PATH : "${lib.makeBinPath [
|
||||
jack_capture # cadence-render
|
||||
pulseaudioFull # cadence, cadence-session-start
|
||||
]}"
|
||||
'')
|
||||
scriptAndSource;
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/falkTX/Cadence/";
|
||||
description = "Collection of tools useful for audio production";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
27
pkgs/applications/audio/calf/default.nix
Normal file
27
pkgs/applications/audio/calf/default.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{ lib, stdenv, fetchurl, cairo, expat, fftwSinglePrec, fluidsynth, glib
|
||||
, gtk2, libjack2, ladspaH , libglade, lv2, pkg-config }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "calf";
|
||||
version = "0.90.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://calf-studio-gear.org/files/${pname}-${version}.tar.gz";
|
||||
sha256 = "17x4hylgq4dn9qycsdacfxy64f5cv57n2qgkvsdp524gnqzw4az3";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
buildInputs = [
|
||||
cairo expat fftwSinglePrec fluidsynth glib gtk2 libjack2 ladspaH
|
||||
libglade lv2 pkg-config
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://calf-studio-gear.org";
|
||||
description = "A set of high quality open source audio plugins for musicians";
|
||||
license = licenses.lgpl2;
|
||||
maintainers = [ maintainers.goibhniu ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
45
pkgs/applications/audio/callaudiod/default.nix
Normal file
45
pkgs/applications/audio/callaudiod/default.nix
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitLab
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, glib
|
||||
, alsa-lib
|
||||
, libpulseaudio
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "callaudiod";
|
||||
version = "0.1.4";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.com";
|
||||
owner = "mobian1";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-71+9ALz55aqxXRBRwOcs9fwiQK31pJ9E72pGRmt0OkE=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
glib
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
alsa-lib
|
||||
libpulseaudio
|
||||
glib
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Daemon for dealing with audio routing during phone calls";
|
||||
homepage = "https://gitlab.com/mobian1/callaudiod";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ pacman99 tomfitzhenry ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
121
pkgs/applications/audio/cantata/default.nix
Normal file
121
pkgs/applications/audio/cantata/default.nix
Normal file
|
|
@ -0,0 +1,121 @@
|
|||
{ mkDerivation
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, pkg-config
|
||||
, qtbase
|
||||
, qtsvg
|
||||
, qttools
|
||||
, perl
|
||||
|
||||
# Cantata doesn't build with cdparanoia enabled so we disable that
|
||||
# default for now until I (or someone else) figure it out.
|
||||
, withCdda ? false
|
||||
, cdparanoia
|
||||
, withCddb ? false
|
||||
, libcddb
|
||||
, withLame ? false
|
||||
, lame
|
||||
, withMusicbrainz ? false
|
||||
, libmusicbrainz5
|
||||
|
||||
, withTaglib ? true
|
||||
, taglib
|
||||
, taglib_extras
|
||||
, withHttpStream ? true
|
||||
, qtmultimedia
|
||||
, withReplaygain ? true
|
||||
, ffmpeg
|
||||
, speex
|
||||
, mpg123
|
||||
, withMtp ? true
|
||||
, libmtp
|
||||
, withOnlineServices ? true
|
||||
, withDevices ? true
|
||||
, udisks2
|
||||
, withDynamic ? true
|
||||
, withHttpServer ? true
|
||||
, withLibVlc ? false
|
||||
, libvlc
|
||||
, withStreams ? true
|
||||
}:
|
||||
|
||||
# Inter-dependencies.
|
||||
assert withCddb -> withCdda && withTaglib;
|
||||
assert withCdda -> withCddb && withMusicbrainz;
|
||||
assert withLame -> withCdda && withTaglib;
|
||||
assert withMtp -> withTaglib;
|
||||
assert withMusicbrainz -> withCdda && withTaglib;
|
||||
assert withOnlineServices -> withTaglib;
|
||||
assert withReplaygain -> withTaglib;
|
||||
assert withLibVlc -> withHttpStream;
|
||||
|
||||
let
|
||||
fstat = x: fn:
|
||||
"-DENABLE_${fn}=${if x then "ON" else "OFF"}";
|
||||
|
||||
withUdisks = (withTaglib && withDevices);
|
||||
|
||||
options = [
|
||||
{ names = [ "CDDB" ]; enable = withCddb; pkgs = [ libcddb ]; }
|
||||
{ names = [ "CDPARANOIA" ]; enable = withCdda; pkgs = [ cdparanoia ]; }
|
||||
{ names = [ "DEVICES_SUPPORT" ]; enable = withDevices; pkgs = [ ]; }
|
||||
{ names = [ "DYNAMIC" ]; enable = withDynamic; pkgs = [ ]; }
|
||||
{ names = [ "FFMPEG" "MPG123" "SPEEXDSP" ]; enable = withReplaygain; pkgs = [ ffmpeg speex mpg123 ]; }
|
||||
{ names = [ "HTTPS_SUPPORT" ]; enable = true; pkgs = [ ]; }
|
||||
{ names = [ "HTTP_SERVER" ]; enable = withHttpServer; pkgs = [ ]; }
|
||||
{ names = [ "HTTP_STREAM_PLAYBACK" ]; enable = withHttpStream; pkgs = [ qtmultimedia ]; }
|
||||
{ names = [ "LAME" ]; enable = withLame; pkgs = [ lame ]; }
|
||||
{ names = [ "LIBVLC" ]; enable = withLibVlc; pkgs = [ libvlc ]; }
|
||||
{ names = [ "MTP" ]; enable = withMtp; pkgs = [ libmtp ]; }
|
||||
{ names = [ "MUSICBRAINZ" ]; enable = withMusicbrainz; pkgs = [ libmusicbrainz5 ]; }
|
||||
{ names = [ "ONLINE_SERVICES" ]; enable = withOnlineServices; pkgs = [ ]; }
|
||||
{ names = [ "STREAMS" ]; enable = withStreams; pkgs = [ ]; }
|
||||
{ names = [ "TAGLIB" "TAGLIB_EXTRAS" ]; enable = withTaglib; pkgs = [ taglib taglib_extras ]; }
|
||||
{ names = [ "UDISKS2" ]; enable = withUdisks; pkgs = [ udisks2 ]; }
|
||||
];
|
||||
|
||||
in
|
||||
mkDerivation rec {
|
||||
pname = "cantata";
|
||||
version = "2.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "CDrummond";
|
||||
repo = "cantata";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-UaZEKZvCA50WsdQSSJQQ11KTK6rM4ouCHDX7pn3NlQw=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Cantata wants to check if perl is in the PATH at runtime, but we
|
||||
# patchShebangs the playlists scripts, making that unnecessary (perl will
|
||||
# always be available because it's a dependency)
|
||||
./dont-check-for-perl-in-PATH.diff
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs playlists
|
||||
'';
|
||||
|
||||
buildInputs = [
|
||||
qtbase
|
||||
qtsvg
|
||||
(perl.withPackages (ppkgs: with ppkgs; [ URI ]))
|
||||
]
|
||||
++ lib.flatten (builtins.catAttrs "pkgs" (builtins.filter (e: e.enable) options));
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config qttools ];
|
||||
|
||||
cmakeFlags = lib.flatten (map (e: map (f: fstat e.enable f) e.names) options);
|
||||
|
||||
meta = with lib; {
|
||||
description = "A graphical client for MPD";
|
||||
homepage = "https://github.com/cdrummond/cantata";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ peterhoeg ];
|
||||
# Technically, Cantata should run on Darwin/Windows so if someone wants to
|
||||
# bother figuring that one out, be my guest.
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
diff --git a/playlists/dynamicplaylists.cpp b/playlists/dynamicplaylists.cpp
|
||||
index 07b6dce3..6a3f97c9 100644
|
||||
--- a/playlists/dynamicplaylists.cpp
|
||||
+++ b/playlists/dynamicplaylists.cpp
|
||||
@@ -211,11 +211,6 @@ void DynamicPlaylists::start(const QString &name)
|
||||
return;
|
||||
}
|
||||
|
||||
- if (Utils::findExe("perl").isEmpty()) {
|
||||
- emit error(tr("You need to install \"perl\" on your system in order for Cantata's dynamic mode to function."));
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
QString fName(Utils::dataDir(rulesDir, false)+name+constExtension);
|
||||
|
||||
if (!QFile::exists(fName)) {
|
||||
|
||||
30
pkgs/applications/audio/caps/default.nix
Normal file
30
pkgs/applications/audio/caps/default.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{ lib, stdenv, fetchurl }:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "caps";
|
||||
version = "0.9.26";
|
||||
src = fetchurl {
|
||||
url = "http://www.quitte.de/dsp/caps_${version}.tar.bz2";
|
||||
sha256 = "1jcq9y51vdnk93q27r566y9qmddvadhr4ddnvkiypaq5rrdnqjg7";
|
||||
};
|
||||
|
||||
configurePhase = ''
|
||||
echo "PREFIX = $out" > defines.make
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "A selection of LADSPA plugins implementing classic effects";
|
||||
longDescription = ''
|
||||
The C* Audio Plugin Suite is a selection of classic effects,
|
||||
unique filters and signal generators. The digital guitarist
|
||||
finds in CAPS a range of processors recreating key aspects of
|
||||
the formation of tone in traditional electronic instrument
|
||||
amplification. Beyond sound quality, central design
|
||||
considerations are latency-free realtime operation, modesty of
|
||||
resource demands and meaningful control interfaces.
|
||||
'';
|
||||
homepage = "http://www.quitte.de/dsp/caps.html";
|
||||
license = lib.licenses.gpl3;
|
||||
maintainers = [ lib.maintainers.astsmtl ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
70
pkgs/applications/audio/cardinal/default.nix
Normal file
70
pkgs/applications/audio/cardinal/default.nix
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
{
|
||||
stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, fetchurl
|
||||
, fetchzip
|
||||
, freetype
|
||||
, jansson
|
||||
, lib
|
||||
, libGL
|
||||
, libX11
|
||||
, libXcursor
|
||||
, libXext
|
||||
, libXrandr
|
||||
, libarchive
|
||||
, liblo
|
||||
, libsamplerate
|
||||
, mesa
|
||||
, pkg-config
|
||||
, python3
|
||||
, speexdsp
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cardinal";
|
||||
version = "22.04";
|
||||
|
||||
src = fetchurl {
|
||||
url =
|
||||
"https://github.com/DISTRHO/Cardinal/releases/download/${version}/cardinal-${version}.tar.xz";
|
||||
sha256 = "sha256-7As4CckwByrTynOOpwAXa1R9Bpp/ft537f+PvAgz/BE=";
|
||||
};
|
||||
|
||||
prePatch = ''
|
||||
patchShebangs ./dpf/utils/generate-ttl.sh
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [
|
||||
freetype
|
||||
jansson
|
||||
libGL
|
||||
libX11
|
||||
libXcursor
|
||||
libXext
|
||||
libXrandr
|
||||
libXrandr
|
||||
libarchive
|
||||
liblo
|
||||
libsamplerate
|
||||
mesa
|
||||
python3
|
||||
speexdsp
|
||||
];
|
||||
|
||||
makeFlags = [ "SYSDEPS=true" "PREFIX=$(out)" ];
|
||||
|
||||
meta = {
|
||||
description = "Plugin wrapper around VCV Rack";
|
||||
homepage = "https://github.com/DISTRHO/cardinal";
|
||||
license = lib.licenses.gpl3;
|
||||
maintainers = [ lib.maintainers.magnetophon ];
|
||||
platforms = lib.platforms.all;
|
||||
# ../../utils/CarlaPluginUI.cpp:31:10: fatal error: 'Cocoa/Cocoa.h' file not found
|
||||
# # import <Cocoa/Cocoa.h>
|
||||
broken = stdenv.isDarwin;
|
||||
};
|
||||
}
|
||||
93
pkgs/applications/audio/carla/default.nix
Normal file
93
pkgs/applications/audio/carla/default.nix
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
{ lib, stdenv, fetchFromGitHub, alsa-lib, file, fluidsynth, jack2,
|
||||
liblo, libpulseaudio, libsndfile, pkg-config, python3Packages,
|
||||
which, withFrontend ? true,
|
||||
withQt ? true, qtbase ? null, wrapQtAppsHook ? null,
|
||||
withGtk2 ? true, gtk2 ? null,
|
||||
withGtk3 ? true, gtk3 ? null }:
|
||||
|
||||
with lib;
|
||||
|
||||
assert withFrontend -> python3Packages ? pyqt5;
|
||||
assert withQt -> qtbase != null;
|
||||
assert withQt -> wrapQtAppsHook != null;
|
||||
assert withGtk2 -> gtk2 != null;
|
||||
assert withGtk3 -> gtk3 != null;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "carla";
|
||||
version = "2.4.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "falkTX";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-FAQTIM5NpcOhLNMf62qiKaxg6QtK5uIJF/XT6KJVnUc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
python3Packages.wrapPython pkg-config which wrapQtAppsHook
|
||||
];
|
||||
|
||||
pythonPath = with python3Packages; [
|
||||
rdflib pyliblo
|
||||
] ++ optional withFrontend pyqt5;
|
||||
|
||||
buildInputs = [
|
||||
file liblo alsa-lib fluidsynth jack2 libpulseaudio libsndfile
|
||||
] ++ optional withQt qtbase
|
||||
++ optional withGtk2 gtk2
|
||||
++ optional withGtk3 gtk3;
|
||||
|
||||
propagatedBuildInputs = pythonPath;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
installFlags = [ "PREFIX=$(out)" ];
|
||||
|
||||
postPatch = ''
|
||||
# --with-appname="$0" is evaluated with $0=.carla-wrapped instead of carla. Fix that.
|
||||
for file in $(grep -rl -- '--with-appname="$0"'); do
|
||||
filename="$(basename -- "$file")"
|
||||
substituteInPlace "$file" --replace '--with-appname="$0"' "--with-appname=\"$filename\""
|
||||
done
|
||||
'';
|
||||
|
||||
dontWrapQtApps = true;
|
||||
postFixup = ''
|
||||
# Also sets program_PYTHONPATH and program_PATH variables
|
||||
wrapPythonPrograms
|
||||
wrapPythonProgramsIn "$out/share/carla/resources" "$out $pythonPath"
|
||||
|
||||
find "$out/share/carla" -maxdepth 1 -type f -not -name "*.py" -print0 | while read -d "" f; do
|
||||
patchPythonScript "$f"
|
||||
done
|
||||
patchPythonScript "$out/share/carla/carla_settings.py"
|
||||
patchPythonScript "$out/share/carla/carla_database.py"
|
||||
|
||||
for program in $out/bin/*; do
|
||||
wrapQtApp "$program" \
|
||||
--prefix PATH : "$program_PATH:${which}/bin" \
|
||||
--set PYTHONNOUSERSITE true
|
||||
done
|
||||
|
||||
find "$out/share/carla/resources" -maxdepth 1 -type f -not -name "*.py" -print0 | while read -d "" f; do
|
||||
wrapQtApp "$f" \
|
||||
--prefix PATH : "$program_PATH:${which}/bin" \
|
||||
--set PYTHONNOUSERSITE true
|
||||
done
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://kx.studio/Applications:Carla";
|
||||
description = "An audio plugin host";
|
||||
longDescription = ''
|
||||
It currently supports LADSPA (including LRDF), DSSI, LV2, VST2/3
|
||||
and AU plugin formats, plus GIG, SF2 and SFZ file support.
|
||||
It uses JACK as the default and preferred audio driver but also
|
||||
supports native drivers like ALSA, DirectSound or CoreAudio.
|
||||
'';
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = [ maintainers.minijackson ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
35
pkgs/applications/audio/caudec/default.nix
Normal file
35
pkgs/applications/audio/caudec/default.nix
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
{ lib, stdenv, fetchurl, makeWrapper, bc, findutils, flac, lame, opusTools, procps, sox }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "caudec";
|
||||
version = "1.7.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://caudec.cocatre.net/downloads/caudec-${version}.tar.gz";
|
||||
sha256 = "5d1f5ab3286bb748bd29cbf45df2ad2faf5ed86070f90deccf71c60be832f3d5";
|
||||
};
|
||||
|
||||
preBuild = ''
|
||||
patchShebangs ./install.sh
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
installPhase = ''
|
||||
./install.sh --prefix=$out/bin
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
for executable in $(cd $out/bin && ls); do
|
||||
wrapProgram $out/bin/$executable \
|
||||
--prefix PATH : "${lib.makeBinPath [ bc findutils sox procps opusTools lame flac ]}"
|
||||
done
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://caudec.cocatre.net/";
|
||||
description = "A multiprocess audio converter that supports many formats (FLAC, MP3, Ogg Vorbis, Windows codecs and many more)";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
};
|
||||
}
|
||||
38
pkgs/applications/audio/cava/default.nix
Normal file
38
pkgs/applications/audio/cava/default.nix
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
{ lib, stdenv, fetchFromGitHub, autoreconfHook, alsa-lib, fftw,
|
||||
libpulseaudio, ncurses }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cava";
|
||||
version = "0.7.4";
|
||||
|
||||
buildInputs = [
|
||||
alsa-lib
|
||||
fftw
|
||||
libpulseaudio
|
||||
ncurses
|
||||
];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "karlstav";
|
||||
repo = "cava";
|
||||
rev = version;
|
||||
sha256 = "sha256-BlHGst34aUgQcXcuQG43VnKUTclCxfQmWRa6iCud8dc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
|
||||
postConfigure = ''
|
||||
substituteInPlace Makefile.am \
|
||||
--replace "-L/usr/local/lib -Wl,-rpath /usr/local/lib" ""
|
||||
substituteInPlace configure.ac \
|
||||
--replace "/usr/share/consolefonts" "$out/share/consolefonts"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Console-based Audio Visualizer for Alsa";
|
||||
homepage = "https://github.com/karlstav/cava";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ offline mirrexagon ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
30
pkgs/applications/audio/cd-discid/default.nix
Normal file
30
pkgs/applications/audio/cd-discid/default.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{ fetchurl, lib, stdenv
|
||||
, IOKit ? null }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cd-discid";
|
||||
version = "1.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://linukz.org/download/${pname}-${version}.tar.gz";
|
||||
sha256 = "0qrcvn7227qaayjcd5rm7z0k5q89qfy5qkdgwr5pd7ih0va8rmpz";
|
||||
};
|
||||
|
||||
installFlags = [ "PREFIX=$(out)" "INSTALL=install" ];
|
||||
|
||||
buildInputs = []
|
||||
++ lib.optional stdenv.isDarwin IOKit;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://linukz.org/cd-discid.shtml";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.unix;
|
||||
description = "Command-line utility to get CDDB discid information from a CD-ROM disc";
|
||||
|
||||
longDescription = ''
|
||||
cd-discid is a backend utility to get CDDB discid information
|
||||
from a CD-ROM disc. It was originally designed for cdgrab (now
|
||||
abcde), but can be used for any purpose requiring CDDB data.
|
||||
'';
|
||||
};
|
||||
}
|
||||
22
pkgs/applications/audio/cdparanoia/configure.patch
Normal file
22
pkgs/applications/audio/cdparanoia/configure.patch
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
diff --git a/configure.in b/configure.ac
|
||||
similarity index 90%
|
||||
rename from configure.in
|
||||
rename to configure.ac
|
||||
index 3ad98ca11da..8fad378faf4 100644
|
||||
--- a/configure.in
|
||||
+++ b/configure.ac
|
||||
@@ -1,13 +1,8 @@
|
||||
AC_INIT(interface/interface.c)
|
||||
|
||||
-cp $srcdir/configure.guess $srcdir/config.guess
|
||||
-cp $srcdir/configure.sub $srcdir/config.sub
|
||||
-
|
||||
AC_CANONICAL_HOST
|
||||
|
||||
-if test -z "$CC"; then
|
||||
- AC_PROG_CC
|
||||
-fi
|
||||
+AC_PROG_CC
|
||||
AC_PROG_RANLIB
|
||||
AC_CHECK_PROG(AR,ar,ar)
|
||||
AC_CHECK_PROG(INSTALL,install,install)
|
||||
62
pkgs/applications/audio/cdparanoia/default.nix
Normal file
62
pkgs/applications/audio/cdparanoia/default.nix
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
{ lib, stdenv, fetchurl, fetchpatch
|
||||
, updateAutotoolsGnuConfigScriptsHook, autoreconfHook
|
||||
, IOKit, Carbon
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cdparanoia-III";
|
||||
version = "10.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://downloads.xiph.org/releases/cdparanoia/cdparanoia-III-${version}.src.tgz";
|
||||
sha256 = "1pv4zrajm46za0f6lv162iqffih57a8ly4pc69f7y0gfyigb8p80";
|
||||
};
|
||||
|
||||
patches = lib.optionals stdenv.isDarwin [
|
||||
(fetchpatch {
|
||||
url = "https://trac.macports.org/export/70964/trunk/dports/audio/cdparanoia/files/osx_interface.patch";
|
||||
sha256 = "0hq3lvfr0h1m3p0r33jij0s1aspiqlpy533rwv19zrfllb39qvr8";
|
||||
# Our configure patch will subsume it, but we want our configure
|
||||
# patch to be used on all platforms so we cannot just start where
|
||||
# this leaves off.
|
||||
excludes = [ "configure.in" ];
|
||||
})
|
||||
(fetchurl {
|
||||
url = "https://trac.macports.org/export/70964/trunk/dports/audio/cdparanoia/files/patch-paranoia_paranoia.c.10.4.diff";
|
||||
sha256 = "17l2qhn8sh4jy6ryy5si6ll6dndcm0r537rlmk4a6a8vkn852vad";
|
||||
})
|
||||
] ++ [
|
||||
# Has to come after darwin patches
|
||||
./fix_private_keyword.patch
|
||||
# Order does not matter
|
||||
./configure.patch
|
||||
] ++ lib.optional stdenv.hostPlatform.isMusl ./utils.patch;
|
||||
|
||||
nativeBuildInputs = [
|
||||
updateAutotoolsGnuConfigScriptsHook
|
||||
autoreconfHook
|
||||
];
|
||||
|
||||
propagatedBuildInputs = lib.optionals stdenv.isDarwin [
|
||||
Carbon
|
||||
IOKit
|
||||
];
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
# Build system reuses the same object file names for shared and static
|
||||
# library. Occasionally fails in the middle:
|
||||
# gcc -O2 -fsigned-char -g -O2 -c scan_devices.c
|
||||
# rm -f *.o core *~ *.out
|
||||
# gcc -O2 -fsigned-char -g -O2 -fpic -c scan_devices.c
|
||||
# gcc -fpic -shared -o libcdda_interface.so.0.10.2 ... scan_devices.o ...
|
||||
# scan_devices.o: file not recognized: file format not recognized
|
||||
enableParallelBuilding = false;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://xiph.org/paranoia";
|
||||
description = "A tool and library for reading digital audio from CDs";
|
||||
license = with licenses; [ gpl2Plus lgpl21Plus ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
468
pkgs/applications/audio/cdparanoia/fix_private_keyword.patch
Normal file
468
pkgs/applications/audio/cdparanoia/fix_private_keyword.patch
Normal file
|
|
@ -0,0 +1,468 @@
|
|||
--- cdparanoia-III-10.2/interface/cdda_interface.h (revision 15337)
|
||||
+++ cdparanoia-III-10.2/interface/cdda_interface.h (revision 15338)
|
||||
@@ -85,5 +85,5 @@
|
||||
int is_mmc;
|
||||
|
||||
- cdda_private_data_t *private;
|
||||
+ cdda_private_data_t *private_data;
|
||||
void *reserved;
|
||||
unsigned char inqbytes[4];
|
||||
--- cdparanoia-III-10.2/interface/cooked_interface.c (revision 15337)
|
||||
+++ cdparanoia-III-10.2/interface/cooked_interface.c (revision 15338)
|
||||
@@ -14,11 +14,11 @@
|
||||
struct timespec tv1;
|
||||
struct timespec tv2;
|
||||
- int ret1=clock_gettime(d->private->clock,&tv1);
|
||||
+ int ret1=clock_gettime(d->private_data->clock,&tv1);
|
||||
int ret2=ioctl(fd, command,arg);
|
||||
- int ret3=clock_gettime(d->private->clock,&tv2);
|
||||
+ int ret3=clock_gettime(d->private_data->clock,&tv2);
|
||||
if(ret1<0 || ret3<0){
|
||||
- d->private->last_milliseconds=-1;
|
||||
+ d->private_data->last_milliseconds=-1;
|
||||
}else{
|
||||
- d->private->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000. + (tv2.tv_nsec-tv1.tv_nsec)/1000000.;
|
||||
+ d->private_data->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000. + (tv2.tv_nsec-tv1.tv_nsec)/1000000.;
|
||||
}
|
||||
return ret2;
|
||||
--- cdparanoia-III-10.2/interface/interface.c (revision 15337)
|
||||
+++ cdparanoia-III-10.2/interface/interface.c (revision 15338)
|
||||
@@ -40,7 +40,7 @@
|
||||
if(d->cdda_fd!=-1)close(d->cdda_fd);
|
||||
if(d->ioctl_fd!=-1 && d->ioctl_fd!=d->cdda_fd)close(d->ioctl_fd);
|
||||
- if(d->private){
|
||||
- if(d->private->sg_hd)free(d->private->sg_hd);
|
||||
- free(d->private);
|
||||
+ if(d->private_data){
|
||||
+ if(d->private_data->sg_hd)free(d->private_data->sg_hd);
|
||||
+ free(d->private_data);
|
||||
}
|
||||
|
||||
@@ -128,5 +128,5 @@
|
||||
}
|
||||
}
|
||||
- if(ms)*ms=d->private->last_milliseconds;
|
||||
+ if(ms)*ms=d->private_data->last_milliseconds;
|
||||
return(sectors);
|
||||
}
|
||||
--- cdparanoia-III-10.2/interface/scan_devices.c (revision 15337)
|
||||
+++ cdparanoia-III-10.2/interface/scan_devices.c (revision 15338)
|
||||
@@ -265,9 +265,9 @@
|
||||
d->bigendianp=-1; /* We don't know yet... */
|
||||
d->nsectors=-1;
|
||||
- d->private=calloc(1,sizeof(*d->private));
|
||||
+ d->private_data=calloc(1,sizeof(*d->private_data));
|
||||
{
|
||||
/* goddamnit */
|
||||
struct timespec tv;
|
||||
- d->private->clock=(clock_gettime(CLOCK_MONOTONIC,&tv)<0?CLOCK_REALTIME:CLOCK_MONOTONIC);
|
||||
+ d->private_data->clock=(clock_gettime(CLOCK_MONOTONIC,&tv)<0?CLOCK_REALTIME:CLOCK_MONOTONIC);
|
||||
}
|
||||
idmessage(messagedest,messages,"\t\tCDROM sensed: %s\n",description);
|
||||
@@ -675,13 +675,13 @@
|
||||
d->nsectors=-1;
|
||||
d->messagedest = messagedest;
|
||||
- d->private=calloc(1,sizeof(*d->private));
|
||||
+ d->private_data=calloc(1,sizeof(*d->private_data));
|
||||
{
|
||||
/* goddamnit */
|
||||
struct timespec tv;
|
||||
- d->private->clock=(clock_gettime(CLOCK_MONOTONIC,&tv)<0?CLOCK_REALTIME:CLOCK_MONOTONIC);
|
||||
+ d->private_data->clock=(clock_gettime(CLOCK_MONOTONIC,&tv)<0?CLOCK_REALTIME:CLOCK_MONOTONIC);
|
||||
}
|
||||
if(use_sgio){
|
||||
d->interface=SGIO_SCSI;
|
||||
- d->private->sg_buffer=(unsigned char *)(d->private->sg_hd=malloc(MAX_BIG_BUFF_SIZE));
|
||||
+ d->private_data->sg_buffer=(unsigned char *)(d->private_data->sg_hd=malloc(MAX_BIG_BUFF_SIZE));
|
||||
g_fd=d->cdda_fd=dup(d->ioctl_fd);
|
||||
}else{
|
||||
@@ -697,6 +697,6 @@
|
||||
|
||||
/* malloc our big buffer for scsi commands */
|
||||
- d->private->sg_hd=malloc(MAX_BIG_BUFF_SIZE);
|
||||
- d->private->sg_buffer=((unsigned char *)d->private->sg_hd)+SG_OFF;
|
||||
+ d->private_data->sg_hd=malloc(MAX_BIG_BUFF_SIZE);
|
||||
+ d->private_data->sg_buffer=((unsigned char *)d->private_data->sg_hd)+SG_OFF;
|
||||
}
|
||||
|
||||
@@ -773,7 +773,7 @@
|
||||
if(g_fd!=-1)close(g_fd);
|
||||
if(d){
|
||||
- if(d->private){
|
||||
- if(d->private->sg_hd)free(d->private->sg_hd);
|
||||
- free(d->private);
|
||||
+ if(d->private_data){
|
||||
+ if(d->private_data->sg_hd)free(d->private_data->sg_hd);
|
||||
+ free(d->private_data);
|
||||
}
|
||||
free(d);
|
||||
@@ -822,5 +822,5 @@
|
||||
d->bigendianp=-1; /* We don't know yet... */
|
||||
d->nsectors=-1;
|
||||
- d->private=calloc(1,sizeof(*d->private));
|
||||
+ d->private_data=calloc(1,sizeof(*d->private_data));
|
||||
d->drive_model=copystring("File based test interface");
|
||||
idmessage(messagedest,messages,"\t\tCDROM sensed: %s\n",d->drive_model);
|
||||
--- cdparanoia-III-10.2/interface/scsi_interface.c (revision 15337)
|
||||
+++ cdparanoia-III-10.2/interface/scsi_interface.c (revision 15338)
|
||||
@@ -16,11 +16,11 @@
|
||||
struct timespec tv1;
|
||||
struct timespec tv2;
|
||||
- int ret1=clock_gettime(d->private->clock,&tv1);
|
||||
+ int ret1=clock_gettime(d->private_data->clock,&tv1);
|
||||
int ret2=ioctl(fd, command,arg);
|
||||
- int ret3=clock_gettime(d->private->clock,&tv2);
|
||||
+ int ret3=clock_gettime(d->private_data->clock,&tv2);
|
||||
if(ret1<0 || ret3<0){
|
||||
- d->private->last_milliseconds=-1;
|
||||
+ d->private_data->last_milliseconds=-1;
|
||||
}else{
|
||||
- d->private->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000. + (tv2.tv_nsec-tv1.tv_nsec)/1000000.;
|
||||
+ d->private_data->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000. + (tv2.tv_nsec-tv1.tv_nsec)/1000000.;
|
||||
}
|
||||
return ret2;
|
||||
@@ -97,5 +97,5 @@
|
||||
fd_set fdset;
|
||||
struct timeval tv;
|
||||
- struct sg_header *sg_hd=d->private->sg_hd;
|
||||
+ struct sg_header *sg_hd=d->private_data->sg_hd;
|
||||
int flag=0;
|
||||
|
||||
@@ -186,5 +186,5 @@
|
||||
int tret1,tret2;
|
||||
int status = 0;
|
||||
- struct sg_header *sg_hd=d->private->sg_hd;
|
||||
+ struct sg_header *sg_hd=d->private_data->sg_hd;
|
||||
long writebytes=SG_OFF+cmd_len+in_size;
|
||||
|
||||
@@ -196,5 +196,5 @@
|
||||
memset(sg_hd,0,sizeof(sg_hd));
|
||||
memset(sense_buffer,0,SG_MAX_SENSE);
|
||||
- memcpy(d->private->sg_buffer,cmd,cmd_len+in_size);
|
||||
+ memcpy(d->private_data->sg_buffer,cmd,cmd_len+in_size);
|
||||
sg_hd->twelve_byte = cmd_len == 12;
|
||||
sg_hd->result = 0;
|
||||
@@ -210,5 +210,5 @@
|
||||
|
||||
if(bytecheck && out_size>in_size){
|
||||
- memset(d->private->sg_buffer+cmd_len+in_size,bytefill,out_size-in_size);
|
||||
+ memset(d->private_data->sg_buffer+cmd_len+in_size,bytefill,out_size-in_size);
|
||||
/* the size does not remove cmd_len due to the way the kernel
|
||||
driver copies buffers */
|
||||
@@ -244,5 +244,5 @@
|
||||
|
||||
sigprocmask (SIG_BLOCK, &(d->sigset), NULL );
|
||||
- tret1=clock_gettime(d->private->clock,&tv1);
|
||||
+ tret1=clock_gettime(d->private_data->clock,&tv1);
|
||||
errno=0;
|
||||
status = write(d->cdda_fd, sg_hd, writebytes );
|
||||
@@ -290,5 +290,5 @@
|
||||
}
|
||||
|
||||
- tret2=clock_gettime(d->private->clock,&tv2);
|
||||
+ tret2=clock_gettime(d->private_data->clock,&tv2);
|
||||
errno=0;
|
||||
status = read(d->cdda_fd, sg_hd, SG_OFF + out_size);
|
||||
@@ -314,5 +314,5 @@
|
||||
long i,flag=0;
|
||||
for(i=in_size;i<out_size;i++)
|
||||
- if(d->private->sg_buffer[i]!=bytefill){
|
||||
+ if(d->private_data->sg_buffer[i]!=bytefill){
|
||||
flag=1;
|
||||
break;
|
||||
@@ -327,7 +327,7 @@
|
||||
errno=0;
|
||||
if(tret1<0 || tret2<0){
|
||||
- d->private->last_milliseconds=-1;
|
||||
+ d->private_data->last_milliseconds=-1;
|
||||
}else{
|
||||
- d->private->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000 + (tv2.tv_nsec-tv1.tv_nsec)/1000000;
|
||||
+ d->private_data->last_milliseconds = (tv2.tv_sec-tv1.tv_sec)*1000 + (tv2.tv_nsec-tv1.tv_nsec)/1000000;
|
||||
}
|
||||
return(0);
|
||||
@@ -348,5 +348,5 @@
|
||||
memset(&hdr,0,sizeof(hdr));
|
||||
memset(sense,0,sizeof(sense));
|
||||
- memcpy(d->private->sg_buffer,cmd+cmd_len,in_size);
|
||||
+ memcpy(d->private_data->sg_buffer,cmd+cmd_len,in_size);
|
||||
|
||||
hdr.cmdp = cmd;
|
||||
@@ -356,5 +356,5 @@
|
||||
hdr.timeout = 50000;
|
||||
hdr.interface_id = 'S';
|
||||
- hdr.dxferp = d->private->sg_buffer;
|
||||
+ hdr.dxferp = d->private_data->sg_buffer;
|
||||
hdr.flags = SG_FLAG_DIRECT_IO; /* direct IO if we can get it */
|
||||
|
||||
@@ -401,5 +401,5 @@
|
||||
long i,flag=0;
|
||||
for(i=in_size;i<out_size;i++)
|
||||
- if(d->private->sg_buffer[i]!=bytefill){
|
||||
+ if(d->private_data->sg_buffer[i]!=bytefill){
|
||||
flag=1;
|
||||
break;
|
||||
@@ -413,5 +413,5 @@
|
||||
|
||||
/* Can't rely on .duration because we can't be certain kernel has HZ set to something useful */
|
||||
- /* d->private->last_milliseconds = hdr.duration; */
|
||||
+ /* d->private_data->last_milliseconds = hdr.duration; */
|
||||
|
||||
errno = 0;
|
||||
@@ -446,7 +446,7 @@
|
||||
handle_scsi_cmd(d, cmd, 6, 0, 56, 0,0, sense);
|
||||
|
||||
- key = d->private->sg_buffer[2] & 0xf;
|
||||
- ASC = d->private->sg_buffer[12];
|
||||
- ASCQ = d->private->sg_buffer[13];
|
||||
+ key = d->private_data->sg_buffer[2] & 0xf;
|
||||
+ ASC = d->private_data->sg_buffer[12];
|
||||
+ ASCQ = d->private_data->sg_buffer[13];
|
||||
|
||||
if(key == 2 && ASC == 4 && ASCQ == 1) return 0;
|
||||
@@ -493,5 +493,5 @@
|
||||
|
||||
{
|
||||
- unsigned char *b=d->private->sg_buffer;
|
||||
+ unsigned char *b=d->private_data->sg_buffer;
|
||||
if(b[0])return(1); /* Handles only up to 256 bytes */
|
||||
if(b[6])return(1); /* Handles only up to 256 bytes */
|
||||
@@ -605,6 +605,6 @@
|
||||
if(mode_sense(d,12,0x01))return(-1);
|
||||
|
||||
- d->orgdens = d->private->sg_buffer[4];
|
||||
- return(d->orgsize = ((int)(d->private->sg_buffer[10])<<8)+d->private->sg_buffer[11]);
|
||||
+ d->orgdens = d->private_data->sg_buffer[4];
|
||||
+ return(d->orgsize = ((int)(d->private_data->sg_buffer[10])<<8)+d->private_data->sg_buffer[11]);
|
||||
}
|
||||
|
||||
@@ -665,6 +665,6 @@
|
||||
}
|
||||
|
||||
- first=d->private->sg_buffer[2];
|
||||
- last=d->private->sg_buffer[3];
|
||||
+ first=d->private_data->sg_buffer[2];
|
||||
+ last=d->private_data->sg_buffer[3];
|
||||
tracks=last-first+1;
|
||||
|
||||
@@ -684,5 +684,5 @@
|
||||
}
|
||||
{
|
||||
- scsi_TOC *toc=(scsi_TOC *)(d->private->sg_buffer+4);
|
||||
+ scsi_TOC *toc=(scsi_TOC *)(d->private_data->sg_buffer+4);
|
||||
|
||||
d->disc_toc[i-first].bFlags=toc->bFlags;
|
||||
@@ -705,5 +705,5 @@
|
||||
}
|
||||
{
|
||||
- scsi_TOC *toc=(scsi_TOC *)(d->private->sg_buffer+4);
|
||||
+ scsi_TOC *toc=(scsi_TOC *)(d->private_data->sg_buffer+4);
|
||||
|
||||
d->disc_toc[i-first].bFlags=toc->bFlags;
|
||||
@@ -739,5 +739,5 @@
|
||||
|
||||
/* copy to our structure and convert start sector */
|
||||
- tracks = d->private->sg_buffer[1];
|
||||
+ tracks = d->private_data->sg_buffer[1];
|
||||
if (tracks > MAXTRK) {
|
||||
cderror(d,"003: CDROM reporting illegal number of tracks\n");
|
||||
@@ -755,31 +755,31 @@
|
||||
}
|
||||
|
||||
- d->disc_toc[i].bFlags = d->private->sg_buffer[10];
|
||||
+ d->disc_toc[i].bFlags = d->private_data->sg_buffer[10];
|
||||
d->disc_toc[i].bTrack = i + 1;
|
||||
|
||||
d->disc_toc[i].dwStartSector= d->adjust_ssize *
|
||||
- (((signed char)(d->private->sg_buffer[2])<<24) |
|
||||
- (d->private->sg_buffer[3]<<16)|
|
||||
- (d->private->sg_buffer[4]<<8)|
|
||||
- (d->private->sg_buffer[5]));
|
||||
+ (((signed char)(d->private_data->sg_buffer[2])<<24) |
|
||||
+ (d->private_data->sg_buffer[3]<<16)|
|
||||
+ (d->private_data->sg_buffer[4]<<8)|
|
||||
+ (d->private_data->sg_buffer[5]));
|
||||
}
|
||||
|
||||
d->disc_toc[i].bFlags = 0;
|
||||
d->disc_toc[i].bTrack = i + 1;
|
||||
- memcpy (&foo, d->private->sg_buffer+2, 4);
|
||||
- memcpy (&bar, d->private->sg_buffer+6, 4);
|
||||
+ memcpy (&foo, d->private_data->sg_buffer+2, 4);
|
||||
+ memcpy (&bar, d->private_data->sg_buffer+6, 4);
|
||||
d->disc_toc[i].dwStartSector = d->adjust_ssize * (be32_to_cpu(foo) +
|
||||
be32_to_cpu(bar));
|
||||
|
||||
d->disc_toc[i].dwStartSector= d->adjust_ssize *
|
||||
- ((((signed char)(d->private->sg_buffer[2])<<24) |
|
||||
- (d->private->sg_buffer[3]<<16)|
|
||||
- (d->private->sg_buffer[4]<<8)|
|
||||
- (d->private->sg_buffer[5]))+
|
||||
+ ((((signed char)(d->private_data->sg_buffer[2])<<24) |
|
||||
+ (d->private_data->sg_buffer[3]<<16)|
|
||||
+ (d->private_data->sg_buffer[4]<<8)|
|
||||
+ (d->private_data->sg_buffer[5]))+
|
||||
|
||||
- ((((signed char)(d->private->sg_buffer[6])<<24) |
|
||||
- (d->private->sg_buffer[7]<<16)|
|
||||
- (d->private->sg_buffer[8]<<8)|
|
||||
- (d->private->sg_buffer[9]))));
|
||||
+ ((((signed char)(d->private_data->sg_buffer[6])<<24) |
|
||||
+ (d->private_data->sg_buffer[7]<<16)|
|
||||
+ (d->private_data->sg_buffer[8]<<8)|
|
||||
+ (d->private_data->sg_buffer[9]))));
|
||||
|
||||
|
||||
@@ -818,5 +818,5 @@
|
||||
if((ret=handle_scsi_cmd(d,cmd,10,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
|
||||
return(ret);
|
||||
- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
|
||||
+ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
|
||||
return(0);
|
||||
}
|
||||
@@ -837,5 +837,5 @@
|
||||
if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
|
||||
return(ret);
|
||||
- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
|
||||
+ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
|
||||
return(0);
|
||||
}
|
||||
@@ -855,5 +855,5 @@
|
||||
if((ret=handle_scsi_cmd(d,cmd,10,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
|
||||
return(ret);
|
||||
- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
|
||||
+ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
|
||||
return(0);
|
||||
}
|
||||
@@ -873,5 +873,5 @@
|
||||
if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
|
||||
return(ret);
|
||||
- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
|
||||
+ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
|
||||
return(0);
|
||||
}
|
||||
@@ -891,5 +891,5 @@
|
||||
if((ret=handle_scsi_cmd(d,cmd,10,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
|
||||
return(ret);
|
||||
- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
|
||||
+ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
|
||||
return(0);
|
||||
}
|
||||
@@ -909,5 +909,5 @@
|
||||
if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
|
||||
return(ret);
|
||||
- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
|
||||
+ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
|
||||
return(0);
|
||||
}
|
||||
@@ -923,5 +923,5 @@
|
||||
if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
|
||||
return(ret);
|
||||
- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
|
||||
+ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
|
||||
return(0);
|
||||
}
|
||||
@@ -937,5 +937,5 @@
|
||||
if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
|
||||
return(ret);
|
||||
- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
|
||||
+ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
|
||||
return(0);
|
||||
}
|
||||
@@ -951,5 +951,5 @@
|
||||
if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
|
||||
return(ret);
|
||||
- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
|
||||
+ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
|
||||
return(0);
|
||||
}
|
||||
@@ -965,5 +965,5 @@
|
||||
if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
|
||||
return(ret);
|
||||
- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
|
||||
+ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
|
||||
return(0);
|
||||
}
|
||||
@@ -979,5 +979,5 @@
|
||||
if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
|
||||
return(ret);
|
||||
- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
|
||||
+ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
|
||||
return(0);
|
||||
}
|
||||
@@ -993,5 +993,5 @@
|
||||
if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
|
||||
return(ret);
|
||||
- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
|
||||
+ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
|
||||
return(0);
|
||||
}
|
||||
@@ -1027,5 +1027,5 @@
|
||||
if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
|
||||
return(ret);
|
||||
- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
|
||||
+ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
|
||||
return(0);
|
||||
}
|
||||
@@ -1040,5 +1040,5 @@
|
||||
if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
|
||||
return(ret);
|
||||
- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
|
||||
+ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
|
||||
return(0);
|
||||
}
|
||||
@@ -1053,5 +1053,5 @@
|
||||
if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
|
||||
return(ret);
|
||||
- if(p)memcpy(p,d->private->sg_buffer,sectors*CD_FRAMESIZE_RAW);
|
||||
+ if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
|
||||
return(0);
|
||||
}
|
||||
@@ -1276,5 +1276,5 @@
|
||||
long i;
|
||||
for(i=2351;i>=0;i--)
|
||||
- if(d->private->sg_buffer[i]!=(unsigned char)'\177')
|
||||
+ if(d->private_data->sg_buffer[i]!=(unsigned char)'\177')
|
||||
return(((i+3)>>2)<<2);
|
||||
|
||||
@@ -1285,5 +1285,5 @@
|
||||
long i,flag=0;
|
||||
for(i=0;i<2352;i++)
|
||||
- if(d->private->sg_buffer[i]!=0){
|
||||
+ if(d->private_data->sg_buffer[i]!=0){
|
||||
flag=1;
|
||||
break;
|
||||
@@ -1622,5 +1622,5 @@
|
||||
if(mode_sense(d,22,0x2A)==0){
|
||||
|
||||
- b=d->private->sg_buffer;
|
||||
+ b=d->private_data->sg_buffer;
|
||||
b+=b[3]+4;
|
||||
|
||||
@@ -1670,5 +1670,5 @@
|
||||
return(NULL);
|
||||
}
|
||||
- return (d->private->sg_buffer);
|
||||
+ return (d->private_data->sg_buffer);
|
||||
}
|
||||
|
||||
@@ -1726,6 +1726,6 @@
|
||||
|
||||
d->error_retry=1;
|
||||
- d->private->sg_hd=realloc(d->private->sg_hd,d->nsectors*CD_FRAMESIZE_RAW + SG_OFF + 128);
|
||||
- d->private->sg_buffer=((unsigned char *)d->private->sg_hd)+SG_OFF;
|
||||
+ d->private_data->sg_hd=realloc(d->private_data->sg_hd,d->nsectors*CD_FRAMESIZE_RAW + SG_OFF + 128);
|
||||
+ d->private_data->sg_buffer=((unsigned char *)d->private_data->sg_hd)+SG_OFF;
|
||||
d->report_all=1;
|
||||
return(0);
|
||||
--- cdparanoia-III-10.2/interface/test_interface.c (revision 15337)
|
||||
+++ cdparanoia-III-10.2/interface/test_interface.c (revision 15338)
|
||||
@@ -67,7 +67,7 @@
|
||||
|
||||
if(begin<lastread)
|
||||
- d->private->last_milliseconds=20;
|
||||
+ d->private_data->last_milliseconds=20;
|
||||
else
|
||||
- d->private->last_milliseconds=sectors;
|
||||
+ d->private_data->last_milliseconds=sectors;
|
||||
|
||||
#ifdef CDDA_TEST_UNDERRUN
|
||||
68
pkgs/applications/audio/cdparanoia/utils.patch
Normal file
68
pkgs/applications/audio/cdparanoia/utils.patch
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
diff --git cdparanoia-III-10.2/interface/utils.h cdparanoia-III-10.2/interface/utils.h
|
||||
index c9647da..68c1a3a 100644
|
||||
--- cdparanoia-III-10.2/interface/utils.h
|
||||
+++ cdparanoia-III-10.2/interface/utils.h
|
||||
@@ -1,4 +1,6 @@
|
||||
-#include <endian.h>
|
||||
+#include <unistd.h>
|
||||
+#include <stdint.h>
|
||||
+#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
@@ -14,15 +16,15 @@ static inline int bigendianp(void){
|
||||
}
|
||||
|
||||
static inline int32_t swap32(int32_t x){
|
||||
- return((((u_int32_t)x & 0x000000ffU) << 24) |
|
||||
- (((u_int32_t)x & 0x0000ff00U) << 8) |
|
||||
- (((u_int32_t)x & 0x00ff0000U) >> 8) |
|
||||
- (((u_int32_t)x & 0xff000000U) >> 24));
|
||||
+ return((((uint32_t)x & 0x000000ffU) << 24) |
|
||||
+ (((uint32_t)x & 0x0000ff00U) << 8) |
|
||||
+ (((uint32_t)x & 0x00ff0000U) >> 8) |
|
||||
+ (((uint32_t)x & 0xff000000U) >> 24));
|
||||
}
|
||||
|
||||
static inline int16_t swap16(int16_t x){
|
||||
- return((((u_int16_t)x & 0x00ffU) << 8) |
|
||||
- (((u_int16_t)x & 0xff00U) >> 8));
|
||||
+ return((((uint16_t)x & 0x00ffU) << 8) |
|
||||
+ (((uint16_t)x & 0xff00U) >> 8));
|
||||
}
|
||||
|
||||
#if BYTE_ORDER == LITTLE_ENDIAN
|
||||
diff --git cdparanoia-III-10.2/utils.h cdparanoia-III-10.2/utils.h
|
||||
index 10dce58..6211ce3 100644
|
||||
--- cdparanoia-III-10.2/utils.h
|
||||
+++ cdparanoia-III-10.2/utils.h
|
||||
@@ -1,5 +1,6 @@
|
||||
+#include <unistd.h>
|
||||
+#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
-#include <endian.h>
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
@@ -18,15 +19,15 @@ static inline int bigendianp(void){
|
||||
}
|
||||
|
||||
static inline int32_t swap32(int32_t x){
|
||||
- return((((u_int32_t)x & 0x000000ffU) << 24) |
|
||||
- (((u_int32_t)x & 0x0000ff00U) << 8) |
|
||||
- (((u_int32_t)x & 0x00ff0000U) >> 8) |
|
||||
- (((u_int32_t)x & 0xff000000U) >> 24));
|
||||
+ return((((uint32_t)x & 0x000000ffU) << 24) |
|
||||
+ (((uint32_t)x & 0x0000ff00U) << 8) |
|
||||
+ (((uint32_t)x & 0x00ff0000U) >> 8) |
|
||||
+ (((uint32_t)x & 0xff000000U) >> 24));
|
||||
}
|
||||
|
||||
static inline int16_t swap16(int16_t x){
|
||||
- return((((u_int16_t)x & 0x00ffU) << 8) |
|
||||
- (((u_int16_t)x & 0xff00U) >> 8));
|
||||
+ return((((uint16_t)x & 0x00ffU) << 8) |
|
||||
+ (((uint16_t)x & 0xff00U) >> 8));
|
||||
}
|
||||
|
||||
#if BYTE_ORDER == LITTLE_ENDIAN
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
From eb21fd64a19a0e10c4c3826fc71610fd5850fa2f Mon Sep 17 00:00:00 2001
|
||||
From: Christoph Neidahl <christoph.neidahl@gmail.com>
|
||||
Date: Sun, 13 Sep 2020 23:18:51 +0200
|
||||
Subject: [PATCH 1/2] Drop baked-in build date for r13y
|
||||
|
||||
---
|
||||
src/ct2util.d | 2 +-
|
||||
src/ui/ui.d | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/ct2util.d b/src/ct2util.d
|
||||
index 523cadc..e462b09 100644
|
||||
--- a/src/ct2util.d
|
||||
+++ b/src/ct2util.d
|
||||
@@ -105,7 +105,7 @@ int main(string[] args) {
|
||||
speeds.length = 32;
|
||||
masks.length = 32;
|
||||
void printheader() {
|
||||
- enum hdr = "CheeseCutter 2 utilities" ~ com.util.versionInfo;
|
||||
+ enum hdr = "CheeseCutter 2 utilities";
|
||||
writefln(hdr);
|
||||
writefln("\nUsage: \t%s <command> <options> <infile> <-o outfile>",args[0]);
|
||||
writefln("\t%s import <infile> <infile2> <-o outfile>",args[0]);
|
||||
diff --git a/src/ui/ui.d b/src/ui/ui.d
|
||||
index e418dda..21af408 100644
|
||||
--- a/src/ui/ui.d
|
||||
+++ b/src/ui/ui.d
|
||||
@@ -231,7 +231,7 @@ class Infobar : Window {
|
||||
|
||||
screen.clrtoeol(0, headerColor);
|
||||
|
||||
- enum hdr = "CheeseCutter 2.9" ~ com.util.versionInfo;
|
||||
+ enum hdr = "CheeseCutter 2.9";
|
||||
screen.cprint(4, 0, 1, headerColor, hdr);
|
||||
screen.cprint(screen.width - 14, 0, 1, headerColor, "F12 = Help");
|
||||
int c1 = audio.player.isPlaying ? 13 : 12;
|
||||
--
|
||||
2.25.4
|
||||
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
From abc5e8786d41803300b56ef40c08db0d867eb01a Mon Sep 17 00:00:00 2001
|
||||
From: Christoph Neidahl <christoph.neidahl@gmail.com>
|
||||
Date: Sun, 13 Sep 2020 23:22:33 +0200
|
||||
Subject: [PATCH 2/2] Prepend libSDL.dylib to macOS SDL loader
|
||||
|
||||
---
|
||||
src/derelict/sdl/sdl.d | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/derelict/sdl/sdl.d b/src/derelict/sdl/sdl.d
|
||||
index e31a52f..f7915b1 100644
|
||||
--- a/src/derelict/sdl/sdl.d
|
||||
+++ b/src/derelict/sdl/sdl.d
|
||||
@@ -54,7 +54,7 @@ public:
|
||||
super(
|
||||
"sdl.dll",
|
||||
"libSDL.so, libSDL.so.0, libSDL-1.2.so, libSDL-1.2.so.0",
|
||||
- "@executable_path/../Frameworks/SDL.framework/SDL, /Library/Frameworks/SDL.framework/SDL, /System/Library/Frameworks/SDL.framework/SDL"
|
||||
+ "@rpath/libSDL.dylib, @executable_path/../Frameworks/SDL.framework/SDL, /Library/Frameworks/SDL.framework/SDL, /System/Library/Frameworks/SDL.framework/SDL"
|
||||
);
|
||||
}
|
||||
|
||||
--
|
||||
2.25.4
|
||||
|
||||
59
pkgs/applications/audio/cheesecutter/default.nix
Normal file
59
pkgs/applications/audio/cheesecutter/default.nix
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, acme
|
||||
, ldc
|
||||
, patchelf
|
||||
, SDL
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cheesecutter";
|
||||
version = "unstable-2021-02-27";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "theyamo";
|
||||
repo = "CheeseCutter";
|
||||
rev = "84450d3614b8fb2cabda87033baab7bedd5a5c98";
|
||||
sha256 = "sha256:0q4a791nayya6n01l0f4kk497rdq6kiq0n72fqdpwqy138pfwydn";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./0001-Drop-baked-in-build-date-for-r13y.patch
|
||||
]
|
||||
++ lib.optional stdenv.hostPlatform.isDarwin ./0002-Prepend-libSDL.dylib-to-macOS-SDL-loader.patch;
|
||||
|
||||
nativeBuildInputs = [ acme ldc ]
|
||||
++ lib.optional (!stdenv.hostPlatform.isDarwin) patchelf;
|
||||
|
||||
buildInputs = [ SDL ];
|
||||
|
||||
makefile = "Makefile.ldc";
|
||||
|
||||
installPhase = ''
|
||||
for exe in {ccutter,ct2util}; do
|
||||
install -D $exe $out/bin/$exe
|
||||
done
|
||||
|
||||
mkdir -p $out/share/cheesecutter/example_tunes
|
||||
cp -r tunes/* $out/share/cheesecutter/example_tunes
|
||||
'';
|
||||
|
||||
postFixup =
|
||||
let
|
||||
rpathSDL = lib.makeLibraryPath [ SDL ];
|
||||
in
|
||||
if stdenv.hostPlatform.isDarwin then ''
|
||||
install_name_tool -add_rpath ${rpathSDL} $out/bin/ccutter
|
||||
'' else ''
|
||||
rpath=$(patchelf --print-rpath $out/bin/ccutter)
|
||||
patchelf --set-rpath "$rpath:${rpathSDL}" $out/bin/ccutter
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A tracker program for composing music for the SID chip";
|
||||
homepage = "https://github.com/theyamo/CheeseCutter/";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
|
||||
maintainers = with maintainers; [ OPNA2608 ];
|
||||
};
|
||||
}
|
||||
13
pkgs/applications/audio/chuck/darwin-limits.patch
Normal file
13
pkgs/applications/audio/chuck/darwin-limits.patch
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
--- a/src/core/util_string.cpp 2014-10-27 22:52:11.875981552 +0100
|
||||
+++ b/src/core/util_string.cpp 2014-10-27 22:54:18.613001994 +0100
|
||||
@@ -40,6 +40,10 @@
|
||||
#include <linux/limits.h>
|
||||
#endif // __PLATFORM_LINUX__
|
||||
|
||||
+#ifdef __PLATFORM_MACOSX__
|
||||
+#include <limits.h>
|
||||
+#endif // __PLATFORM_MACOSX__
|
||||
+
|
||||
#include <stdio.h>
|
||||
using namespace std;
|
||||
|
||||
41
pkgs/applications/audio/chuck/default.nix
Normal file
41
pkgs/applications/audio/chuck/default.nix
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
{ stdenv, lib, fetchurl, alsa-lib, bison, flex, libsndfile, which
|
||||
, AppKit, Carbon, CoreAudio, CoreMIDI, CoreServices, Kernel
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.4.1.0";
|
||||
pname = "chuck";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://chuck.cs.princeton.edu/release/files/chuck-${version}.tgz";
|
||||
sha256 = "sha256-dL+ZrVFeMRPFW4MxUpNvrQKjzwBqVBBf8Rd3xHMZSSg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ flex bison which ];
|
||||
|
||||
buildInputs = [ libsndfile ]
|
||||
++ lib.optional (!stdenv.isDarwin) alsa-lib
|
||||
++ lib.optional stdenv.isDarwin [ AppKit Carbon CoreAudio CoreMIDI CoreServices Kernel ];
|
||||
|
||||
patches = [ ./darwin-limits.patch ];
|
||||
|
||||
NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-Wno-missing-sysroot";
|
||||
NIX_LDFLAGS = lib.optionalString stdenv.isDarwin "-framework MultitouchSupport";
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace src/core/makefile.x/makefile.osx \
|
||||
--replace "weak_framework" "framework" \
|
||||
--replace "MACOSX_DEPLOYMENT_TARGET=10.9" "MACOSX_DEPLOYMENT_TARGET=$MACOSX_DEPLOYMENT_TARGET"
|
||||
'';
|
||||
|
||||
makeFlags = [ "-C src" "DESTDIR=$(out)/bin" ];
|
||||
buildFlags = [ (if stdenv.isDarwin then "osx" else "linux-alsa") ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Programming language for real-time sound synthesis and music creation";
|
||||
homepage = "http://chuck.cs.princeton.edu";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ ftrvxmtrx ];
|
||||
};
|
||||
}
|
||||
30
pkgs/applications/audio/cider/default.nix
Normal file
30
pkgs/applications/audio/cider/default.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{ appimageTools, lib, fetchurl }:
|
||||
|
||||
appimageTools.wrapType2 rec {
|
||||
pname = "cider";
|
||||
version = "1.4.1.1680";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/ciderapp/cider-releases/releases/download/v${version}/Cider-${builtins.concatStringsSep "." (lib.take 3 (lib.splitVersion version))}-alpha.${builtins.elemAt (lib.splitVersion version) 3}.AppImage";
|
||||
sha256 = "sha256-hEv+vfMMH+Trwa1UF5R8EtyYeyiRVLP0BrXOK2+1q8M=";
|
||||
};
|
||||
|
||||
extraInstallCommands =
|
||||
let contents = appimageTools.extract { inherit pname version src; };
|
||||
in ''
|
||||
mv $out/bin/${pname}-${version} $out/bin/${pname}
|
||||
|
||||
install -m 444 -D ${contents}/${pname}.desktop -t $out/share/applications
|
||||
substituteInPlace $out/share/applications/${pname}.desktop \
|
||||
--replace 'Exec=AppRun' 'Exec=${pname}'
|
||||
cp -r ${contents}/usr/share/icons $out/share
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A new look into listening and enjoying Apple Music in style and performance.";
|
||||
homepage = "https://github.com/ciderapp/Cider";
|
||||
license = licenses.agpl3;
|
||||
maintainers = [ maintainers.cigrainger ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
137
pkgs/applications/audio/clementine/default.nix
Normal file
137
pkgs/applications/audio/clementine/default.nix
Normal file
|
|
@ -0,0 +1,137 @@
|
|||
{ lib
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, boost
|
||||
, cmake
|
||||
, chromaprint
|
||||
, gettext
|
||||
, gst_all_1
|
||||
, liblastfm
|
||||
, qtbase
|
||||
, qtx11extras
|
||||
, qttools
|
||||
, taglib
|
||||
, fftw
|
||||
, glew
|
||||
, qjson
|
||||
, sqlite
|
||||
, libgpod
|
||||
, libplist
|
||||
, usbmuxd
|
||||
, libmtp
|
||||
, libpulseaudio
|
||||
, gvfs
|
||||
, libcdio
|
||||
, pcre
|
||||
, projectm
|
||||
, protobuf
|
||||
, qca-qt5
|
||||
, pkg-config
|
||||
, sparsehash
|
||||
, config
|
||||
, makeWrapper
|
||||
, gst_plugins
|
||||
|
||||
, util-linux
|
||||
, libunwind
|
||||
, libselinux
|
||||
, elfutils
|
||||
, libsepol
|
||||
, orc
|
||||
|
||||
, alsa-lib
|
||||
}:
|
||||
|
||||
let
|
||||
withIpod = config.clementine.ipod or false;
|
||||
withMTP = config.clementine.mtp or true;
|
||||
withCD = config.clementine.cd or true;
|
||||
withCloud = config.clementine.cloud or true;
|
||||
in mkDerivation {
|
||||
pname = "clementine";
|
||||
version = "unstable-2022-04-11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "clementine-player";
|
||||
repo = "Clementine";
|
||||
rev = "250024e117fbe5fae7c62b9c8e655d66412a6ed7";
|
||||
sha256 = "06fcbs3wig3mh711iypyj49qm5246f7qhvgvv8brqfrd8cqyh6qf";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
makeWrapper
|
||||
|
||||
util-linux
|
||||
libunwind
|
||||
libselinux
|
||||
elfutils
|
||||
libsepol
|
||||
orc
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
boost
|
||||
chromaprint
|
||||
fftw
|
||||
gettext
|
||||
glew
|
||||
gst_all_1.gst-plugins-base
|
||||
gst_all_1.gst-plugins-bad
|
||||
gst_all_1.gstreamer
|
||||
gvfs
|
||||
liblastfm
|
||||
libpulseaudio
|
||||
pcre
|
||||
projectm
|
||||
protobuf
|
||||
qca-qt5
|
||||
qjson
|
||||
qtbase
|
||||
qtx11extras
|
||||
qttools
|
||||
sqlite
|
||||
taglib
|
||||
|
||||
alsa-lib
|
||||
]
|
||||
# gst_plugins needed for setup-hooks
|
||||
++ gst_plugins
|
||||
++ lib.optionals (withIpod) [ libgpod libplist usbmuxd ]
|
||||
++ lib.optionals (withMTP) [ libmtp ]
|
||||
++ lib.optionals (withCD) [ libcdio ]
|
||||
++ lib.optionals (withCloud) [ sparsehash ];
|
||||
|
||||
postPatch = ''
|
||||
sed -i src/CMakeLists.txt \
|
||||
-e 's,-Werror,,g' \
|
||||
-e 's,-Wno-unknown-warning-option,,g' \
|
||||
-e 's,-Wno-unused-private-field,,g'
|
||||
sed -i CMakeLists.txt \
|
||||
-e 's,libprotobuf.a,protobuf,g'
|
||||
'';
|
||||
|
||||
preConfigure = ''
|
||||
rm -rf ext/{,lib}clementine-spotifyblob
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
"-DUSE_SYSTEM_PROJECTM=ON"
|
||||
"-DSPOTIFY_BLOB=OFF"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/clementine \
|
||||
--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://www.clementine-player.org";
|
||||
description = "A multiplatform music player";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.ttuegel ];
|
||||
};
|
||||
}
|
||||
56
pkgs/applications/audio/clerk/default.nix
Normal file
56
pkgs/applications/audio/clerk/default.nix
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, makeWrapper
|
||||
, rofi
|
||||
, mpc-cli
|
||||
, perl
|
||||
, util-linux
|
||||
, python3Packages
|
||||
, libnotify
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "clerk";
|
||||
version = "unstable-2016-10-14";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "carnager";
|
||||
repo = "clerk";
|
||||
rev = "875963bcae095ac1db174627183c76ebe165f787";
|
||||
sha256 = "0y045my65hr3hjyx13jrnyg6g3wb41phqb1m7azc4l6vx6r4124b";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
buildInputs = [ python3Packages.mpd2 ];
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
installPhase =
|
||||
let
|
||||
binPath = lib.makeBinPath [
|
||||
libnotify
|
||||
mpc-cli
|
||||
perl
|
||||
rofi
|
||||
util-linux
|
||||
];
|
||||
in
|
||||
''
|
||||
runHook preInstall
|
||||
|
||||
DESTDIR=$out PREFIX=/ make install
|
||||
wrapProgram $out/bin/clerk --prefix PATH : "${binPath}"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "An MPD client built on top of rofi";
|
||||
homepage = "https://github.com/carnager/clerk";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ anderspapitto ];
|
||||
};
|
||||
}
|
||||
33
pkgs/applications/audio/cmt/default.nix
Normal file
33
pkgs/applications/audio/cmt/default.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
{ lib, stdenv
|
||||
, fetchurl
|
||||
, ladspaH
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cmt";
|
||||
version = "1.17";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.ladspa.org/download/cmt_${version}.tgz";
|
||||
sha256 = "07xd0xmwpa0j12813jpf87fr9hwzihii5l35mp8ady7xxfmxfmpb";
|
||||
};
|
||||
|
||||
buildInputs = [ ladspaH ];
|
||||
|
||||
preBuild = ''
|
||||
cd src
|
||||
'';
|
||||
|
||||
installFlags = [ "INSTALL_PLUGINS_DIR=${placeholder "out"}/lib/ladspa" ];
|
||||
preInstall = ''
|
||||
mkdir -p $out/lib/ladspa
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Computer Music Toolkit";
|
||||
homepage = "https://www.ladspa.org/cmt";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ sjfloat ];
|
||||
};
|
||||
}
|
||||
136
pkgs/applications/audio/cmus/default.nix
Normal file
136
pkgs/applications/audio/cmus/default.nix
Normal file
|
|
@ -0,0 +1,136 @@
|
|||
{ config, lib, stdenv, fetchFromGitHub, runCommand, ncurses, pkg-config
|
||||
, libiconv, CoreAudio, AudioUnit, VideoToolbox
|
||||
|
||||
, alsaSupport ? stdenv.isLinux, alsa-lib ? null
|
||||
# simple fallback for everyone else
|
||||
, aoSupport ? !stdenv.isLinux, libao ? null
|
||||
, jackSupport ? false, libjack ? null
|
||||
, samplerateSupport ? jackSupport, libsamplerate ? null
|
||||
, ossSupport ? false, alsa-oss ? null
|
||||
, pulseaudioSupport ? config.pulseaudio or false, libpulseaudio ? null
|
||||
, mprisSupport ? stdenv.isLinux, systemd ? null
|
||||
|
||||
# TODO: add these
|
||||
#, artsSupport
|
||||
#, roarSupport
|
||||
#, sndioSupport
|
||||
#, sunSupport
|
||||
#, waveoutSupport
|
||||
|
||||
, cddbSupport ? true, libcddb ? null
|
||||
, cdioSupport ? true, libcdio ? null, libcdio-paranoia ? null
|
||||
, cueSupport ? true, libcue ? null
|
||||
, discidSupport ? (!stdenv.isDarwin), libdiscid ? null
|
||||
, ffmpegSupport ? true, ffmpeg ? null
|
||||
, flacSupport ? true, flac ? null
|
||||
, madSupport ? true, libmad ? null
|
||||
, mikmodSupport ? true, libmikmod ? null
|
||||
, modplugSupport ? true, libmodplug ? null
|
||||
, mpcSupport ? true, libmpcdec ? null
|
||||
, tremorSupport ? false, tremor ? null
|
||||
, vorbisSupport ? true, libvorbis ? null
|
||||
, wavpackSupport ? true, wavpack ? null
|
||||
, opusSupport ? true, opusfile ? null
|
||||
|
||||
, aacSupport ? false, faad2 ? null # already handled by ffmpeg
|
||||
, mp4Support ? false, mp4v2 ? null # ffmpeg does support mp4 better
|
||||
|
||||
# not in nixpkgs
|
||||
#, vtxSupport ? true, libayemu ? null
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
assert samplerateSupport -> jackSupport;
|
||||
|
||||
# vorbis and tremor are mutually exclusive
|
||||
assert vorbisSupport -> !tremorSupport;
|
||||
assert tremorSupport -> !vorbisSupport;
|
||||
|
||||
let
|
||||
|
||||
mkFlag = b: f: dep: if b
|
||||
then { flags = [ f ]; deps = [ dep ]; }
|
||||
else { flags = []; deps = []; };
|
||||
|
||||
opts = [
|
||||
# Audio output
|
||||
(mkFlag alsaSupport "CONFIG_ALSA=y" alsa-lib)
|
||||
(mkFlag aoSupport "CONFIG_AO=y" libao)
|
||||
(mkFlag jackSupport "CONFIG_JACK=y" libjack)
|
||||
(mkFlag samplerateSupport "CONFIG_SAMPLERATE=y" libsamplerate)
|
||||
(mkFlag ossSupport "CONFIG_OSS=y" alsa-oss)
|
||||
(mkFlag pulseaudioSupport "CONFIG_PULSE=y" libpulseaudio)
|
||||
(mkFlag mprisSupport "CONFIG_MPRIS=y" systemd)
|
||||
|
||||
#(mkFlag artsSupport "CONFIG_ARTS=y")
|
||||
#(mkFlag roarSupport "CONFIG_ROAR=y")
|
||||
#(mkFlag sndioSupport "CONFIG_SNDIO=y")
|
||||
#(mkFlag sunSupport "CONFIG_SUN=y")
|
||||
#(mkFlag waveoutSupport "CONFIG_WAVEOUT=y")
|
||||
|
||||
# Input file formats
|
||||
(mkFlag cddbSupport "CONFIG_CDDB=y" libcddb)
|
||||
(mkFlag cdioSupport "CONFIG_CDIO=y" [ libcdio libcdio-paranoia ])
|
||||
(mkFlag cueSupport "CONFIG_CUE=y" libcue)
|
||||
(mkFlag discidSupport "CONFIG_DISCID=y" libdiscid)
|
||||
(mkFlag ffmpegSupport "CONFIG_FFMPEG=y" ffmpeg)
|
||||
(mkFlag flacSupport "CONFIG_FLAC=y" flac)
|
||||
(mkFlag madSupport "CONFIG_MAD=y" libmad)
|
||||
(mkFlag mikmodSupport "CONFIG_MIKMOD=y" libmikmod)
|
||||
(mkFlag modplugSupport "CONFIG_MODPLUG=y" libmodplug)
|
||||
(mkFlag mpcSupport "CONFIG_MPC=y" libmpcdec)
|
||||
(mkFlag tremorSupport "CONFIG_TREMOR=y" tremor)
|
||||
(mkFlag vorbisSupport "CONFIG_VORBIS=y" libvorbis)
|
||||
(mkFlag wavpackSupport "CONFIG_WAVPACK=y" wavpack)
|
||||
(mkFlag opusSupport "CONFIG_OPUS=y" opusfile)
|
||||
|
||||
(mkFlag mp4Support "CONFIG_MP4=y" mp4v2)
|
||||
(mkFlag aacSupport "CONFIG_AAC=y" faad2)
|
||||
|
||||
#(mkFlag vtxSupport "CONFIG_VTX=y" libayemu)
|
||||
];
|
||||
|
||||
clangGCC = runCommand "clang-gcc" {} ''
|
||||
#! ${stdenv.shell}
|
||||
mkdir -p $out/bin
|
||||
ln -s ${stdenv.cc}/bin/clang $out/bin/gcc
|
||||
ln -s ${stdenv.cc}/bin/clang++ $out/bin/g++
|
||||
'';
|
||||
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cmus";
|
||||
version = "2.9.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cmus";
|
||||
repo = "cmus";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-HEiEnEWf/MzhPO19VKTLYzhylpEvyzy1Jxs6EW2NU34=";
|
||||
};
|
||||
|
||||
patches = [ ./option-debugging.patch ];
|
||||
|
||||
configurePhase = "./configure " + concatStringsSep " " ([
|
||||
"prefix=$out"
|
||||
"CONFIG_WAV=y"
|
||||
] ++ concatMap (a: a.flags) opts);
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ ncurses ]
|
||||
++ lib.optional stdenv.cc.isClang clangGCC
|
||||
++ lib.optionals stdenv.isDarwin [ libiconv CoreAudio AudioUnit VideoToolbox ]
|
||||
++ flatten (concatMap (a: a.deps) opts);
|
||||
|
||||
makeFlags = [ "LD=$(CC)" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Small, fast and powerful console music player for Linux and *BSD";
|
||||
homepage = "https://cmus.github.io/";
|
||||
license = licenses.gpl2;
|
||||
maintainers = [ maintainers.oxij ];
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
};
|
||||
}
|
||||
42
pkgs/applications/audio/cmus/option-debugging.patch
Normal file
42
pkgs/applications/audio/cmus/option-debugging.patch
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
Shows build and link errors in configure for ease of debugging which
|
||||
options require what.
|
||||
diff --git a/scripts/checks.sh b/scripts/checks.sh
|
||||
index 64cbbf3..fab4d9b 100644
|
||||
--- a/scripts/checks.sh
|
||||
+++ b/scripts/checks.sh
|
||||
@@ -425,7 +425,7 @@ try_compile()
|
||||
echo "$1" > $__src || exit 1
|
||||
shift
|
||||
__cmd="$CC -c $CFLAGS $@ $__src -o $__obj"
|
||||
- $CC -c $CFLAGS "$@" $__src -o $__obj 2>/dev/null
|
||||
+ $CC -c $CFLAGS "$@" $__src -o $__obj
|
||||
;;
|
||||
cxx)
|
||||
__src=`tmp_file prog.cc`
|
||||
@@ -433,7 +433,7 @@ try_compile()
|
||||
echo "$1" > $__src || exit 1
|
||||
shift
|
||||
__cmd="$CXX -c $CXXFLAGS $@ $__src -o $__obj"
|
||||
- $CXX -c $CXXFLAGS "$@" $__src -o $__obj 2>/dev/null
|
||||
+ $CXX -c $CXXFLAGS "$@" $__src -o $__obj
|
||||
;;
|
||||
esac
|
||||
return $?
|
||||
@@ -451,7 +451,7 @@ try_compile_link()
|
||||
echo "$1" > $__src || exit 1
|
||||
shift
|
||||
__cmd="$CC $__src -o $__exe $CFLAGS $LDFLAGS $@"
|
||||
- $CC $__src -o $__exe $CFLAGS $LDFLAGS "$@" 2>/dev/null
|
||||
+ $CC $__src -o $__exe $CFLAGS $LDFLAGS "$@"
|
||||
;;
|
||||
cxx)
|
||||
__src=`tmp_file prog.cc`
|
||||
@@ -459,7 +459,7 @@ try_compile_link()
|
||||
echo "$1" > $__src || exit 1
|
||||
shift
|
||||
__cmd="$CXX $__src -o $__exe $CXXFLAGS $CXXLDFLAGS $@"
|
||||
- $CXX $__src -o $__exe $CXXFLAGS $CXXLDFLAGS "$@" 2>/dev/null
|
||||
+ $CXX $__src -o $__exe $CXXFLAGS $CXXLDFLAGS "$@"
|
||||
;;
|
||||
esac
|
||||
return $?
|
||||
42
pkgs/applications/audio/cmusfm/default.nix
Normal file
42
pkgs/applications/audio/cmusfm/default.nix
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, curl, libnotify
|
||||
, gdk-pixbuf, libnotifySupport ? stdenv.isLinux, debug ? false }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cmusfm";
|
||||
version = "0.4.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Arkq";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "1px2is80jdxchg8cpn5cizg6jvcbzyxl0qzs3bn0k3d10qjvdww5";
|
||||
};
|
||||
|
||||
configureFlags = lib.optional libnotifySupport "--enable-libnotify"
|
||||
++ lib.optional debug "--enable-debug";
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook pkg-config ];
|
||||
|
||||
buildInputs = [ curl gdk-pixbuf ]
|
||||
++ lib.optional libnotifySupport libnotify;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Last.fm and Libre.fm standalone scrobbler for the cmus music player";
|
||||
longDescription = ''
|
||||
Features:
|
||||
+ Listening now notification support
|
||||
+ Off-line played track cache for later submission
|
||||
+ POSIX ERE-based file name parser
|
||||
+ Desktop notification support (optionally)
|
||||
+ Customizable scrobbling service
|
||||
+ Small memory footprint
|
||||
Configuration:
|
||||
+ run `cmusfm init` to generate configuration file under ~/.config/cmus/cmusfm.conf
|
||||
+ Inside cmus run `:set status_display_program=cmusfm` to set up cmusfm
|
||||
'';
|
||||
homepage = "https://github.com/Arkq/cmusfm/";
|
||||
maintainers = with lib.maintainers; [ CharlesHD mudri ];
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
};
|
||||
}
|
||||
92
pkgs/applications/audio/cozy/default.nix
Normal file
92
pkgs/applications/audio/cozy/default.nix
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
{ lib, fetchFromGitHub
|
||||
, ninja
|
||||
, meson
|
||||
, pkg-config
|
||||
, wrapGAppsHook
|
||||
, appstream-glib
|
||||
, desktop-file-utils
|
||||
, gtk3
|
||||
, gst_all_1
|
||||
, gobject-introspection
|
||||
, libhandy
|
||||
, libdazzle
|
||||
, python3Packages
|
||||
, cairo
|
||||
, gettext
|
||||
, gnome
|
||||
, pantheon
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
|
||||
format = "other"; # no setup.py
|
||||
|
||||
pname = "cozy";
|
||||
version = "1.2.0";
|
||||
|
||||
# Temporary fix
|
||||
# See https://github.com/NixOS/nixpkgs/issues/57029
|
||||
# and https://github.com/NixOS/nixpkgs/issues/56943
|
||||
strictDeps = false;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "geigi";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0igqf9b77i13sxlk4ziw549h379hmz1slrb3vvf8irk94gxabsaw";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson ninja pkg-config
|
||||
wrapGAppsHook
|
||||
appstream-glib
|
||||
desktop-file-utils
|
||||
gobject-introspection
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gtk3
|
||||
cairo
|
||||
gettext
|
||||
gnome.adwaita-icon-theme
|
||||
libdazzle
|
||||
libhandy
|
||||
pantheon.granite
|
||||
] ++ (with gst_all_1; [
|
||||
gstreamer
|
||||
gst-plugins-good
|
||||
gst-plugins-ugly
|
||||
gst-plugins-base
|
||||
gst-plugins-bad
|
||||
]);
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
apsw
|
||||
cairo
|
||||
dbus-python
|
||||
distro
|
||||
gst-python
|
||||
magic
|
||||
mutagen
|
||||
packaging
|
||||
peewee
|
||||
pygobject3
|
||||
pytz
|
||||
requests
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs meson/*.py
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
ln -s $out/bin/com.github.geigi.cozy $out/bin/cozy
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A modern audio book player for Linux using GTK 3";
|
||||
homepage = "https://cozy.geigi.de/";
|
||||
maintainers = [ maintainers.makefu ];
|
||||
license = licenses.gpl3;
|
||||
};
|
||||
}
|
||||
68
pkgs/applications/audio/crip/default.nix
Normal file
68
pkgs/applications/audio/crip/default.nix
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
{ lib, stdenv
|
||||
, fetchurl
|
||||
, makeWrapper
|
||||
|
||||
, perlPackages
|
||||
|
||||
, cdparanoia
|
||||
, coreutils
|
||||
, eject
|
||||
, flac
|
||||
, gnugrep
|
||||
, nano
|
||||
, sox
|
||||
, vorbis-tools
|
||||
, vorbisgain
|
||||
, which
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "crip";
|
||||
version = "3.9";
|
||||
src = fetchurl {
|
||||
url = "http://bach.dynet.com/${pname}/src/${pname}-${version}.tar.gz";
|
||||
sha256 = "0pk9152wll6fmkj1pki3fz3ijlf06jyk32v31yarwvdkwrk7s9xz";
|
||||
};
|
||||
|
||||
buildInputs = [ perlPackages.perl perlPackages.CDDB_get ];
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
toolDeps = makeBinPath [
|
||||
cdparanoia
|
||||
coreutils
|
||||
eject
|
||||
flac
|
||||
gnugrep
|
||||
sox
|
||||
vorbis-tools
|
||||
vorbisgain
|
||||
which
|
||||
];
|
||||
|
||||
scripts = [ "crip" "editcomment" "editfilenames" ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin/
|
||||
|
||||
for script in ${escapeShellArgs scripts}; do
|
||||
cp $script $out/bin/
|
||||
|
||||
substituteInPlace $out/bin/$script \
|
||||
--replace '$editor = "vim";' '$editor = "${nano}/bin/nano";'
|
||||
|
||||
wrapProgram $out/bin/$script \
|
||||
--set PERL5LIB "${perlPackages.makePerlPath [ perlPackages.CDDB_get ]}" \
|
||||
--set PATH "${toolDeps}"
|
||||
done
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "http://bach.dynet.com/crip/";
|
||||
description = "Terminal-based ripper/encoder/tagger tool for creating Ogg Vorbis/FLAC files";
|
||||
license = lib.licenses.gpl1;
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = [ maintainers.endgame ];
|
||||
};
|
||||
}
|
||||
28
pkgs/applications/audio/csa/default.nix
Normal file
28
pkgs/applications/audio/csa/default.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{ lib, stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "csa";
|
||||
version = "0.5.100810";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/csa/${pname}-${version}.tar.gz";
|
||||
sha256 = "1syg81dzdil0dyx1mlx1n7if3qsf2iz243p2zv34a1acfqm509r3";
|
||||
};
|
||||
|
||||
# after running either cellular leveler mono or stereo, the other stops working,
|
||||
# so we remove one of them:
|
||||
postInstall = "rm $out/lib/ladspa/celllm_3890.*";
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://sourceforge.net/projects/csa/";
|
||||
description = "A group of LADSPA Audio plugins for FM broadcast and more";
|
||||
longDescription = ''
|
||||
CSA means : Contrôle Signal Audio.
|
||||
It contains the following plugins:
|
||||
Emphazised Limiter, Cellular Leveler, Simple right/left amplifier. Blind Peak Meter.
|
||||
'';
|
||||
license = licenses.gpl3;
|
||||
maintainers = [ maintainers.magnetophon ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
44
pkgs/applications/audio/csound/csound-manual/default.nix
Normal file
44
pkgs/applications/audio/csound/csound-manual/default.nix
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
{
|
||||
lib, stdenv, fetchFromGitHub, docbook_xsl,
|
||||
docbook_xml_dtd_45, python, pygments,
|
||||
libxslt
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "csound-manual";
|
||||
version = "unstable-2019-02-22";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "csound";
|
||||
repo = "manual";
|
||||
rev = "3b0bdc83f9245261b4b85a57c3ed636d5d924a4f";
|
||||
sha256 = "074byjhaxraapyg54dxgg7hi1d4978aa9c1rmyi50p970nsxnacn";
|
||||
};
|
||||
|
||||
prePatch = ''
|
||||
substituteInPlace manual.xml \
|
||||
--replace "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" \
|
||||
"${docbook_xml_dtd_45}/xml/dtd/docbook/docbookx.dtd"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ libxslt.bin ];
|
||||
|
||||
buildInputs = [ docbook_xsl python pygments ];
|
||||
|
||||
buildPhase = ''
|
||||
make XSL_BASE_PATH=${docbook_xsl}/share/xml/docbook-xsl html-dist
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/doc/csound
|
||||
cp -r ./html $out/share/doc/csound
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "The Csound Canonical Reference Manual";
|
||||
homepage = "https://github.com/csound/manual";
|
||||
license = lib.licenses.fdl12Plus;
|
||||
maintainers = [ lib.maintainers.hlolli ];
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
||||
52
pkgs/applications/audio/csound/csound-qt/default.nix
Normal file
52
pkgs/applications/audio/csound/csound-qt/default.nix
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
{ lib, stdenv, csound, desktop-file-utils,
|
||||
fetchFromGitHub, python, python-qt, qmake,
|
||||
qtwebengine, qtxmlpatterns, rtmidi, fetchpatch }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "csound-qt";
|
||||
version = "0.9.6-beta3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "CsoundQt";
|
||||
repo = "CsoundQt";
|
||||
rev = version;
|
||||
sha256 = "007jhkh0k6qk52r77i067999dwdiimazix6ggp2hvyc4pj6n5dip";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "examplepath.patch";
|
||||
url = "https://github.com/CsoundQt/CsoundQt/commit/09f2d515bff638cbcacb450979d66e273a59fdec.diff";
|
||||
sha256 = "0y23kf8m1mh9mklsvf908b2b8m2w2rji8qvws44paf1kpwnwdmgm";
|
||||
})
|
||||
./rtmidipath.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ qmake qtwebengine qtxmlpatterns ];
|
||||
|
||||
buildInputs = [ csound desktop-file-utils rtmidi ];
|
||||
|
||||
qmakeFlags = [ "qcs.pro" "CONFIG+=rtmidi" "CONFIG+=pythonqt"
|
||||
"CONFIG+=record_support" "CONFIG+=html_webengine"
|
||||
"CSOUND_INCLUDE_DIR=${csound}/include/csound"
|
||||
"CSOUND_LIBRARY_DIR=${csound}/lib"
|
||||
"RTMIDI_DIR=${rtmidi.src}"
|
||||
"PYTHONQT_SRC_DIR=${python-qt}/include/PythonQt"
|
||||
"PYTHONQT_LIB_DIR=${python-qt}/lib"
|
||||
"LIBS+=-L${python-qt}/lib"
|
||||
"INCLUDEPATH+=${python-qt}/include/PythonQt"
|
||||
"INCLUDEPATH+=${python}/include/python2.7"
|
||||
"INSTALL_DIR=${placeholder "out"}"
|
||||
"SHARE_DIR=${placeholder "out"}/share"
|
||||
];
|
||||
|
||||
dontWrapQtApps = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "CsoundQt is a frontend for Csound with editor, integrated help, widgets and other features";
|
||||
homepage = "https://csoundqt.github.io/";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ hlolli ];
|
||||
};
|
||||
}
|
||||
17
pkgs/applications/audio/csound/csound-qt/rtmidipath.patch
Normal file
17
pkgs/applications/audio/csound/csound-qt/rtmidipath.patch
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
diff --git a/src/src.pri b/src/src.pri
|
||||
index e5e0c896..9a9fa513 100644
|
||||
--- a/src/src.pri
|
||||
+++ b/src/src.pri
|
||||
@@ -155,9 +155,9 @@ pythonqt {
|
||||
"src/pyqcsobject.cpp"
|
||||
}
|
||||
rtmidi {
|
||||
- HEADERS += "src/../$${RTMIDI_DIR}/RtMidi.h"
|
||||
- SOURCES += "src/../$${RTMIDI_DIR}/RtMidi.cpp"
|
||||
- INCLUDEPATH += src/../$${RTMIDI_DIR}
|
||||
+ HEADERS += "$${RTMIDI_DIR}/RtMidi.h"
|
||||
+ SOURCES += "$${RTMIDI_DIR}/RtMidi.cpp"
|
||||
+ INCLUDEPATH += $${RTMIDI_DIR}
|
||||
}
|
||||
|
||||
perfThread_build {
|
||||
58
pkgs/applications/audio/csound/default.nix
Normal file
58
pkgs/applications/audio/csound/default.nix
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
{ lib, stdenv, fetchFromGitHub, cmake, libsndfile, libsamplerate, flex, bison, boost, gettext
|
||||
, Accelerate
|
||||
, AudioUnit
|
||||
, CoreAudio
|
||||
, CoreMIDI
|
||||
, alsa-lib ? null
|
||||
, libpulseaudio ? null
|
||||
, libjack2 ? null
|
||||
, liblo ? null
|
||||
, ladspa-sdk ? null
|
||||
, fluidsynth ? null
|
||||
# , gmm ? null # opcodes don't build with gmm 5.1
|
||||
, eigen ? null
|
||||
, curl ? null
|
||||
, tcltk ? null
|
||||
, fltk ? null
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "csound";
|
||||
version = "6.17.0";
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "csound";
|
||||
repo = "csound";
|
||||
rev = version;
|
||||
sha256 = "sha256-O19jm3JxHg4TcQzWQZu1uFjfYN2FR41fCRq5YGnTGD0=";
|
||||
};
|
||||
|
||||
cmakeFlags = [ "-DBUILD_CSOUND_AC=0" ] # fails to find Score.hpp
|
||||
++ lib.optional stdenv.isDarwin "-DCS_FRAMEWORK_DEST=${placeholder "out"}/lib"
|
||||
++ lib.optional (libjack2 != null) "-DJACK_HEADER=${libjack2}/include/jack/jack.h";
|
||||
|
||||
nativeBuildInputs = [ cmake flex bison gettext ];
|
||||
buildInputs = [ libsndfile libsamplerate boost ]
|
||||
++ lib.optionals stdenv.isDarwin [
|
||||
Accelerate AudioUnit CoreAudio CoreMIDI
|
||||
] ++ lib.optionals stdenv.isLinux (builtins.filter (optional: optional != null) [
|
||||
alsa-lib libpulseaudio libjack2
|
||||
liblo ladspa-sdk fluidsynth eigen
|
||||
curl tcltk fltk
|
||||
]);
|
||||
|
||||
postInstall = lib.optional stdenv.isDarwin ''
|
||||
mkdir -p $out/Library/Frameworks
|
||||
ln -s $out/lib/CsoundLib64.framework $out/Library/Frameworks
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Sound design, audio synthesis, and signal processing system, providing facilities for music composition and performance on all major operating systems and platforms";
|
||||
homepage = "https://csound.com/";
|
||||
license = licenses.lgpl21Plus;
|
||||
maintainers = [maintainers.marcweber];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
36
pkgs/applications/audio/curseradio/default.nix
Normal file
36
pkgs/applications/audio/curseradio/default.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{ lib, fetchFromGitHub, substituteAll, python3Packages, mpv }:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
version = "0.2";
|
||||
pname = "curseradio";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "chronitis";
|
||||
repo = pname;
|
||||
rev = "1bd4bd0faeec675e0647bac9a100b526cba19f8d";
|
||||
sha256 = "11bf0jnj8h2fxhpdp498189r4s6b47vy4wripv0z4nx7lxajl88i";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
requests
|
||||
lxml
|
||||
pyxdg
|
||||
];
|
||||
|
||||
patches = [
|
||||
(substituteAll {
|
||||
src = ./mpv.patch;
|
||||
inherit mpv;
|
||||
})
|
||||
];
|
||||
|
||||
# No tests
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Command line radio player";
|
||||
homepage = "https://github.com/chronitis/curseradio";
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.eyjhb ];
|
||||
};
|
||||
}
|
||||
11
pkgs/applications/audio/curseradio/mpv.patch
Normal file
11
pkgs/applications/audio/curseradio/mpv.patch
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
--- a/curseradio/curseradio.py
|
||||
+++ b/curseradio/curseradio.py
|
||||
@@ -30,7 +30,7 @@ import re
|
||||
|
||||
CONFIG_DEFAULT = {
|
||||
'opml': {'root': "http://opml.radiotime.com/"},
|
||||
- 'playback': {'command': '/usr/bin/mpv'},
|
||||
+ 'playback': {'command': '@mpv@/bin/mpv'},
|
||||
'interface': {'keymap': 'default'},
|
||||
'keymap.default': {
|
||||
'up': 'KEY_UP',
|
||||
34
pkgs/applications/audio/cyanrip/default.nix
Normal file
34
pkgs/applications/audio/cyanrip/default.nix
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, ffmpeg
|
||||
, libcdio
|
||||
, libcdio-paranoia
|
||||
, libmusicbrainz5
|
||||
, curl
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cyanrip";
|
||||
version = "0.8.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cyanreg";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "17bi2xhjv3f3i870whkyqckvjlg32wqkspash87zi0jw7m7jm229";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ meson ninja pkg-config ];
|
||||
buildInputs = [ ffmpeg libcdio libcdio-paranoia libmusicbrainz5 curl ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/cyanreg/cyanrip";
|
||||
description = "Bule-ish CD ripper";
|
||||
license = licenses.lgpl21Plus;
|
||||
platforms = platforms.all;
|
||||
maintainers = [ maintainers.zane ];
|
||||
};
|
||||
}
|
||||
95
pkgs/applications/audio/deadbeef/default.nix
Normal file
95
pkgs/applications/audio/deadbeef/default.nix
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
{ config, lib, stdenv, fetchFromGitHub
|
||||
, autoconf
|
||||
, automake
|
||||
, libtool
|
||||
, intltool
|
||||
, pkg-config
|
||||
, jansson
|
||||
# deadbeef can use either gtk2 or gtk3
|
||||
, gtk2Support ? false, gtk2
|
||||
, gtk3Support ? true, gtk3, gsettings-desktop-schemas, wrapGAppsHook
|
||||
# input plugins
|
||||
, vorbisSupport ? true, libvorbis
|
||||
, mp123Support ? true, libmad
|
||||
, flacSupport ? true, flac
|
||||
, wavSupport ? true, libsndfile
|
||||
, cdaSupport ? true, libcdio, libcddb
|
||||
, aacSupport ? true, faad2
|
||||
, opusSupport ? true, opusfile
|
||||
, wavpackSupport ? false, wavpack
|
||||
, ffmpegSupport ? false, ffmpeg
|
||||
, apeSupport ? true, yasm
|
||||
# misc plugins
|
||||
, zipSupport ? true, libzip
|
||||
, artworkSupport ? true, imlib2
|
||||
, hotkeysSupport ? true, libX11
|
||||
, osdSupport ? true, dbus
|
||||
# output plugins
|
||||
, alsaSupport ? true, alsa-lib
|
||||
, pulseSupport ? config.pulseaudio or stdenv.isLinux, libpulseaudio
|
||||
# effect plugins
|
||||
, resamplerSupport ? true, libsamplerate
|
||||
, overloadSupport ? true, zlib
|
||||
# transports
|
||||
, remoteSupport ? true, curl
|
||||
}:
|
||||
|
||||
assert gtk2Support || gtk3Support;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "deadbeef";
|
||||
version = "1.8.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "DeaDBeeF-Player";
|
||||
repo = "deadbeef";
|
||||
rev = version;
|
||||
sha256 = "161b0ll8v4cjgwwmk137hzvh0jidlkx56vjkpnr70f0x4jzv2nll";
|
||||
};
|
||||
|
||||
buildInputs = with lib; [ jansson ]
|
||||
++ optional gtk2Support gtk2
|
||||
++ optionals gtk3Support [ gtk3 gsettings-desktop-schemas ]
|
||||
++ optional vorbisSupport libvorbis
|
||||
++ optional mp123Support libmad
|
||||
++ optional flacSupport flac
|
||||
++ optional wavSupport libsndfile
|
||||
++ optionals cdaSupport [ libcdio libcddb ]
|
||||
++ optional aacSupport faad2
|
||||
++ optional opusSupport opusfile
|
||||
++ optional zipSupport libzip
|
||||
++ optional ffmpegSupport ffmpeg
|
||||
++ optional apeSupport yasm
|
||||
++ optional artworkSupport imlib2
|
||||
++ optional hotkeysSupport libX11
|
||||
++ optional osdSupport dbus
|
||||
++ optional alsaSupport alsa-lib
|
||||
++ optional pulseSupport libpulseaudio
|
||||
++ optional resamplerSupport libsamplerate
|
||||
++ optional overloadSupport zlib
|
||||
++ optional wavpackSupport wavpack
|
||||
++ optional remoteSupport curl
|
||||
;
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoconf
|
||||
automake
|
||||
intltool
|
||||
libtool
|
||||
pkg-config
|
||||
] ++ lib.optional gtk3Support wrapGAppsHook;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
preConfigure = ''
|
||||
./autogen.sh
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Ultimate Music Player for GNU/Linux";
|
||||
homepage = "http://deadbeef.sourceforge.net/";
|
||||
license = licenses.gpl2;
|
||||
platforms = [ "x86_64-linux" "i686-linux" ];
|
||||
maintainers = [ maintainers.abbradar ];
|
||||
};
|
||||
}
|
||||
30
pkgs/applications/audio/deadbeef/plugins/headerbar-gtk3.nix
Normal file
30
pkgs/applications/audio/deadbeef/plugins/headerbar-gtk3.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, pkg-config, libxml2, deadbeef, glib, gtk3 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "deadbeef-headerbar-gtk3-plugin";
|
||||
version = "1.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "saivert";
|
||||
repo = "ddb_misc_headerbar_GTK3";
|
||||
rev = "v${version}";
|
||||
sha256 = "1v1schvnps7ypjqgcbqi74a45w8r2gbhrawz7filym22h1qr9wn0";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoconf automake libtool pkg-config libxml2 ];
|
||||
buildInputs = [ deadbeef glib gtk3 ];
|
||||
|
||||
# Choose correct installation path
|
||||
# https://github.com/saivert/ddb_misc_headerbar_GTK3/commit/50ff75f76aa9d40761e352311670a894bfcd5cf6#r30319680
|
||||
makeFlags = [ "pkglibdir=$(out)/lib/deadbeef" ];
|
||||
|
||||
preConfigure = "./autogen.sh";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Plug-in that adds GTK 3 header bar to the DeaDBeeF music player";
|
||||
homepage = "https://github.com/saivert/ddb_misc_headerbar_GTK3";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = [ maintainers.jtojnar ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue