summary refs log tree commit diff
path: root/pkgs/applications/audio/tenacity
diff options
context:
space:
mode:
authorIrene Knapp <ireneista@gmail.com>2021-11-01 00:35:37 -0700
committerIrene Knapp <ireneista@gmail.com>2021-11-02 04:25:46 -0700
commit37b409929a1df51d0ea684ed91e84ded7edcb4e6 (patch)
tree02f0ea1183fa3ed17bbd13ca65fd4ddbd75fa911 /pkgs/applications/audio/tenacity
parent509d236edf0056d05547c776140fe7cfcf2305bd (diff)
downloadnixpkgs-37b409929a1df51d0ea684ed91e84ded7edcb4e6.tar
nixpkgs-37b409929a1df51d0ea684ed91e84ded7edcb4e6.tar.gz
nixpkgs-37b409929a1df51d0ea684ed91e84ded7edcb4e6.tar.bz2
nixpkgs-37b409929a1df51d0ea684ed91e84ded7edcb4e6.tar.lz
nixpkgs-37b409929a1df51d0ea684ed91e84ded7edcb4e6.tar.xz
nixpkgs-37b409929a1df51d0ea684ed91e84ded7edcb4e6.tar.zst
nixpkgs-37b409929a1df51d0ea684ed91e84ded7edcb4e6.zip
tenacity: init at 0.0.1
Diffstat (limited to 'pkgs/applications/audio/tenacity')
-rw-r--r--pkgs/applications/audio/tenacity/default.nix148
1 files changed, 148 insertions, 0 deletions
diff --git a/pkgs/applications/audio/tenacity/default.nix b/pkgs/applications/audio/tenacity/default.nix
new file mode 100644
index 00000000000..160243cdf34
--- /dev/null
+++ b/pkgs/applications/audio/tenacity/default.nix
@@ -0,0 +1,148 @@
+{ stdenv
+, lib
+, fetchFromSourcehut
+, cmake
+, wxGTK
+, pkg-config
+, python3
+, gettext
+, glib
+, file
+, lame
+, libvorbis
+, libmad
+, libjack2
+, lv2
+, lilv
+, makeWrapper
+, serd
+, sord
+, sqlite
+, sratom
+, suil
+, alsa-lib
+, libsndfile
+, soxr
+, flac
+, twolame
+, expat
+, libid3tag
+, libopus
+, ffmpeg
+, soundtouch
+, pcre
+, portaudio
+, linuxHeaders
+, at-spi2-core
+, dbus
+, epoxy
+, libXdmcp
+, libXtst
+, libpthreadstubs
+, libselinux
+, libsepol
+, libxkbcommon
+, util-linux
+}:
+
+stdenv.mkDerivation rec {
+  pname = "tenacity";
+  version = "unstable-2021-10-18";
+
+  src = fetchFromSourcehut {
+    owner = "~tenacity";
+    repo = "tenacity";
+    rev = "697c0e764ccb19c1e2f3073ae08ecdac7aa710e4";
+    sha256 = "1fc9xz8lyl8si08wkzncpxq92vizan60c3640qr4kbnxg7vi2iy4";
+  };
+
+  postPatch = ''
+    touch src/RevisionIdent.h
+
+    substituteInPlace src/FileNames.cpp \
+      --replace /usr/include/linux/magic.h ${linuxHeaders}/include/linux/magic.h
+  '';
+
+  postFixup = ''
+    rm $out/tenacity
+    wrapProgram "$out/bin/tenacity" \
+      --suffix AUDACITY_PATH : "$out/share/tenacity" \
+      --suffix AUDACITY_MODULES_PATH : "$out/lib/tenacity/modules" \
+      --prefix LD_LIBRARY_PATH : "$out/lib/tenacity" \
+      --prefix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  NIX_CFLAGS_COMPILE = "-D GIT_DESCRIBE=\"\"";
+
+  # tenacity only looks for ffmpeg at runtime, so we need to link it in manually
+  NIX_LDFLAGS = toString [
+    "-lavcodec"
+    "-lavdevice"
+    "-lavfilter"
+    "-lavformat"
+    "-lavresample"
+    "-lavutil"
+    "-lpostproc"
+    "-lswresample"
+    "-lswscale"
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    gettext
+    makeWrapper
+    pkg-config
+    python3
+  ] ++ lib.optionals stdenv.isLinux [
+    linuxHeaders
+  ];
+
+  buildInputs = [
+    alsa-lib
+    expat
+    ffmpeg
+    file
+    flac
+    glib
+    lame
+    libid3tag
+    libjack2
+    libmad
+    libopus
+    libsndfile
+    libvorbis
+    lilv
+    lv2
+    pcre
+    portaudio
+    serd
+    sord
+    soundtouch
+    soxr
+    sqlite
+    sratom
+    suil
+    twolame
+    wxGTK
+    wxGTK.gtk
+  ] ++ lib.optionals stdenv.isLinux [
+    at-spi2-core
+    dbus
+    epoxy
+    libXdmcp
+    libXtst
+    libpthreadstubs
+    libxkbcommon
+    libselinux
+    libsepol
+    util-linux
+  ];
+
+  meta = with lib; {
+    description = "Sound editor with graphical UI";
+    homepage = "https://tenacityaudio.org/";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ irenes lheckemann ];
+    platforms = platforms.linux;
+  };
+}