diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/audio')
66 files changed, 559 insertions, 421 deletions
diff --git a/nixpkgs/pkgs/applications/audio/ams-lv2/default.nix b/nixpkgs/pkgs/applications/audio/ams-lv2/default.nix index 88956a190c4a..3d3589de5485 100644 --- a/nixpkgs/pkgs/applications/audio/ams-lv2/default.nix +++ b/nixpkgs/pkgs/applications/audio/ams-lv2/default.nix @@ -15,6 +15,12 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config wafHook python3 ]; buildInputs = [ cairo fftw gtkmm2 lv2 lvtk ]; + postPatch = '' + # U was removed in python 3.11 because it had no effect + substituteInPlace waflib/*.py \ + --replace "m='rU" "m='r" + ''; + meta = with lib; { description = "An LV2 port of the internal modules found in Alsa Modular Synth"; homepage = "https://github.com/blablack/ams-lv2"; diff --git a/nixpkgs/pkgs/applications/audio/ardour/6.nix b/nixpkgs/pkgs/applications/audio/ardour/7.nix index 4e0508f00c57..ab9b2ebcd961 100644 --- a/nixpkgs/pkgs/applications/audio/ardour/6.nix +++ b/nixpkgs/pkgs/applications/audio/ardour/7.nix @@ -1,5 +1,7 @@ -{ lib, stdenv +{ lib +, stdenv , fetchgit +, fetchzip , alsa-lib , aubio , boost @@ -56,21 +58,40 @@ }: stdenv.mkDerivation rec { pname = "ardour"; - version = "6.9"; + version = "7.5"; # We can't use `fetchFromGitea` here, as attempting to fetch release archives from git.ardour.org # result in an empty archive. See https://tracker.ardour.org/view.php?id=7328 for more info. src = fetchgit { url = "git://git.ardour.org/ardour/ardour.git"; rev = version; - sha256 = "0vlcbd70y0an881zv87kc3akmaiz4w7whsy3yaiiqqjww35jg1mm"; + hash = "sha256-cmYt6fGYuuVs6YhAXaO9AG6TrYLDVUaE1/iC67rt76I="; + }; + + bundledContent = fetchzip { + url = "https://web.archive.org/web/20221026200824/http://stuff.ardour.org/loops/ArdourBundledMedia.zip"; + hash = "sha256-IbPQWFeyMuvCoghFl1ZwZNNcSvLNsH84rGArXnw+t7A="; + # archive does not contain a single folder at the root + stripRoot = false; }; patches = [ # AS=as in the environment causes build failure https://tracker.ardour.org/view.php?id=8096 ./as-flags.patch + ./default-plugin-search-paths.patch ]; + # 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");' + ''; + nativeBuildInputs = [ doxygen graphviz # for dot @@ -142,31 +163,23 @@ stdenv.mkDerivation rec { # 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" \ + install -vDm 644 "build/gtk2_ardour/ardour${lib.versions.major version}.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" + "$out/share/icons/hicolor/''${size}x''${size}/apps/ardour${lib.versions.major version}.png" done install -vDm 644 "ardour.1"* -t "$out/share/man/man1" + + # install additional bundled beats, chords and progressions + cp -rp "${bundledContent}"/* "$out/share/ardour${lib.versions.major version}/media" '' + lib.optionalString videoSupport '' # `harvid` and `xjadeo` must be accessible in `PATH` for video to work. - wrapProgram "$out/bin/ardour6" \ + wrapProgram "$out/bin/ardour${lib.versions.major version}" \ --prefix PATH : "${lib.makeBinPath [ harvid xjadeo ]}" ''; @@ -185,7 +198,7 @@ stdenv.mkDerivation rec { ''; homepage = "https://ardour.org/"; license = licenses.gpl2Plus; - mainProgram = "ardour6"; + mainProgram = "ardour7"; platforms = platforms.linux; maintainers = with maintainers; [ goibhniu magnetophon mitchmindtree ]; }; diff --git a/nixpkgs/pkgs/applications/audio/ardour/default.nix b/nixpkgs/pkgs/applications/audio/ardour/default.nix index ab9b2ebcd961..a0ca97a580ff 100644 --- a/nixpkgs/pkgs/applications/audio/ardour/default.nix +++ b/nixpkgs/pkgs/applications/audio/ardour/default.nix @@ -54,18 +54,19 @@ , vamp-plugin-sdk , wafHook , xjadeo +, optimize ? true # disable to print Lua DSP script output to stdout , videoSupport ? true }: stdenv.mkDerivation rec { pname = "ardour"; - version = "7.5"; + version = "8.0"; # We can't use `fetchFromGitea` here, as attempting to fetch release archives from git.ardour.org # result in an empty archive. See https://tracker.ardour.org/view.php?id=7328 for more info. src = fetchgit { url = "git://git.ardour.org/ardour/ardour.git"; rev = version; - hash = "sha256-cmYt6fGYuuVs6YhAXaO9AG6TrYLDVUaE1/iC67rt76I="; + hash = "sha256-ZL8aTq2OsCWwLUUx5XYbH4eRN+Xz+oMAj9IS07RfTag="; }; bundledContent = fetchzip { @@ -155,11 +156,10 @@ stdenv.mkDerivation rec { "--docs" "--freedesktop" "--no-phone-home" - "--optimize" "--ptformat" "--run-tests" "--test" - ]; + ] ++ lib.optional optimize "--optimize"; # removed because it fixes https://tracker.ardour.org/view.php?id=8161 and https://tracker.ardour.org/view.php?id=8437 # "--use-external-libs" diff --git a/nixpkgs/pkgs/applications/audio/bitwig-studio/bitwig-studio1.nix b/nixpkgs/pkgs/applications/audio/bitwig-studio/bitwig-studio1.nix deleted file mode 100644 index d803b09c198b..000000000000 --- a/nixpkgs/pkgs/applications/audio/bitwig-studio/bitwig-studio1.nix +++ /dev/null @@ -1,95 +0,0 @@ -{ 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 - ]; - - 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 \ - --suffix PATH : "${lib.makeBinPath [ ffmpeg zenity ]}" \ - --prefix PATH : "${lib.makeBinPath [ xdg-utils ]}" \ - "''${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 ]; - }; -} diff --git a/nixpkgs/pkgs/applications/audio/bitwig-studio/bitwig-studio2.nix b/nixpkgs/pkgs/applications/audio/bitwig-studio/bitwig-studio2.nix deleted file mode 100644 index 0d93284e2942..000000000000 --- a/nixpkgs/pkgs/applications/audio/bitwig-studio/bitwig-studio2.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ 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 - ]; -}) diff --git a/nixpkgs/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix b/nixpkgs/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix index 5eb94f8445e0..5f750a885d15 100644 --- a/nixpkgs/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix +++ b/nixpkgs/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation rec { pname = "bitwig-studio"; - version = "3.3.7"; + version = "3.3.11"; src = fetchurl { url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb"; - sha256 = "13jr45kzv0xjhhqk30qpq793349qyx8jpas4kl6i6bk3xfrd3fbz"; + sha256 = "sha256-cF8gVPjM0KUcKOW09uFccp4/lzbUmZcBkVOwr/A/8Yw="; }; nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook ]; @@ -36,11 +36,8 @@ stdenv.mkDerivation rec { 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 + runHook postInstall ''; postFixup = '' @@ -60,7 +57,6 @@ stdenv.mkDerivation rec { --prefix PATH : "${lib.makeBinPath [ ffmpeg ]}" \ --suffix PATH : "${lib.makeBinPath [ xdg-utils ]}" done - ''; meta = with lib; { diff --git a/nixpkgs/pkgs/applications/audio/bitwig-studio/bitwig-studio5.nix b/nixpkgs/pkgs/applications/audio/bitwig-studio/bitwig-studio5.nix index ac58eed5fa89..9591cc6137d0 100644 --- a/nixpkgs/pkgs/applications/audio/bitwig-studio/bitwig-studio5.nix +++ b/nixpkgs/pkgs/applications/audio/bitwig-studio/bitwig-studio5.nix @@ -27,11 +27,11 @@ stdenv.mkDerivation rec { pname = "bitwig-studio"; - version = "5.0.7"; + version = "5.0.9"; src = fetchurl { url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb"; - sha256 = "sha256-jsHGUAVRUiz9soffW1PvF6UUGzbGhltaKtEW5ynq/Xk="; + sha256 = "sha256-B6s8FuNvJ3NdU7uZ+AsZkiFf9p6WcLzoZPsfzors1kk="; }; nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook ]; diff --git a/nixpkgs/pkgs/applications/audio/butt/default.nix b/nixpkgs/pkgs/applications/audio/butt/default.nix index 04f5c8535843..01e35f9450e7 100644 --- a/nixpkgs/pkgs/applications/audio/butt/default.nix +++ b/nixpkgs/pkgs/applications/audio/butt/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { pname = "butt"; - version = "0.1.38"; + version = "0.1.39"; src = fetchurl { url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz"; - hash = "sha256-6c4BknAh+XPaKrEfCz0oHm7lWOLV+9jiJbQx9vvtI4I="; + hash = "sha256-dh6NceHiqpN6PVwKIo2jV3qCO17P6E6QHdZGRVyd6/g="; }; postPatch = '' diff --git a/nixpkgs/pkgs/applications/audio/carla/default.nix b/nixpkgs/pkgs/applications/audio/carla/default.nix index bf374866278f..589808c5c2e6 100644 --- a/nixpkgs/pkgs/applications/audio/carla/default.nix +++ b/nixpkgs/pkgs/applications/audio/carla/default.nix @@ -26,13 +26,13 @@ assert withQt -> wrapQtAppsHook != null; stdenv.mkDerivation (finalAttrs: { pname = "carla"; - version = "2.5.6"; + version = "2.5.7"; src = fetchFromGitHub { owner = "falkTX"; repo = finalAttrs.pname; rev = "v${finalAttrs.version}"; - hash = "sha256-/ZIproky1AHJHvV62xWm0nrzNBOjvBBv93V0KespVjU="; + hash = "sha256-WDwYfDR760Maz3oWNPcPbl8L+0MIRbeqNVGH9Gg4ZYc="; }; nativeBuildInputs = [ diff --git a/nixpkgs/pkgs/applications/audio/castopod/default.nix b/nixpkgs/pkgs/applications/audio/castopod/default.nix new file mode 100644 index 000000000000..9d9f83e2ecce --- /dev/null +++ b/nixpkgs/pkgs/applications/audio/castopod/default.nix @@ -0,0 +1,53 @@ +{ stdenv +, fetchurl +, ffmpeg-headless +, lib +, nixosTests +, stateDirectory ? "/var/lib/castopod" +}: +stdenv.mkDerivation { + pname = "castopod"; + version = "1.6.4"; + + src = fetchurl { + url = "https://code.castopod.org/adaures/castopod/uploads/ce56d4f149242f12bedd20f9a2b0916d/castopod-1.6.4.tar.gz"; + sha256 = "080jj91yxbn3xsbs0sywzwa2f5in9bp9qi2zwqcfqpaxlq9ga62v"; + }; + + dontBuild = true; + dontFixup = true; + + postPatch = '' + # not configurable at runtime unfortunately: + substituteInPlace app/Config/Paths.php \ + --replace "__DIR__ . '/../../writable'" "'${stateDirectory}/writable'" + + # configuration file must be writable, place it to ${stateDirectory} + substituteInPlace modules/Install/Controllers/InstallController.php \ + --replace "ROOTPATH" "'${stateDirectory}/'" + substituteInPlace public/index.php spark \ + --replace "DotEnv(ROOTPATH)" "DotEnv('${stateDirectory}')" + + # ffmpeg is required for Video Clips feature + substituteInPlace modules/MediaClipper/VideoClipper.php \ + --replace "ffmpeg" "${ffmpeg-headless}/bin/ffmpeg" + substituteInPlace modules/Admin/Controllers/VideoClipsController.php \ + --replace "which ffmpeg" "echo ${ffmpeg-headless}/bin/ffmpeg" + ''; + + installPhase = '' + mkdir -p $out/share/castopod + cp -r . $out/share/castopod + ''; + + passthru.tests.castopod = nixosTests.castopod; + passthru.updateScript = ./update.sh; + + meta = with lib; { + description = "An open-source hosting platform made for podcasters who want to engage and interact with their audience"; + homepage = "https://castopod.org"; + license = licenses.agpl3Only; + maintainers = with maintainers; [ alexoundos misuzu ]; + platforms = platforms.all; + }; +} diff --git a/nixpkgs/pkgs/applications/audio/castopod/update.sh b/nixpkgs/pkgs/applications/audio/castopod/update.sh new file mode 100755 index 000000000000..742788dc8ddf --- /dev/null +++ b/nixpkgs/pkgs/applications/audio/castopod/update.sh @@ -0,0 +1,89 @@ +#! /usr/bin/env nix-shell +#! nix-shell -i bash -p curl jq +set -euo pipefail + +nixpkgs="$(git rev-parse --show-toplevel)" +castopod_nix="$nixpkgs/pkgs/applications/audio/castopod/default.nix" + +# https://www.meetup.com/api/guide/#p02-querying-section +query=' +query allReleases($fullPath: ID!, $first: Int, $last: Int, $before: String, $after: String, $sort: ReleaseSort) { + project(fullPath: $fullPath) { + id + releases( + first: $first + last: $last + before: $before + after: $after + sort: $sort + ) { + nodes { + ...Release + __typename + } + __typename + } + __typename + } +} + +fragment Release on Release { + id + name + tagName + releasedAt + createdAt + upcomingRelease + historicalRelease + assets { + links { + nodes { + id + name + url + directAssetUrl + linkType + __typename + } + __typename + } + __typename + } + __typename +} +' +variables='{ + "fullPath": "adaures/castopod", + "first": 1, + "sort": "RELEASED_AT_DESC" +}' + +post=$(cat <<EOF +{"query": "$(echo $query)", "variables": $(echo $variables)} +EOF +) + +json="$(curl -s -X POST https://code.castopod.org/api/graphql \ + -H 'Content-Type: application/json' \ + -d "$post")" + +echo "$json" +TAG=$(echo $json | jq -r '.data.project.releases.nodes[].tagName') +ASSET_URL=$(echo $json | jq -r '.data.project.releases.nodes[].assets.links.nodes[].url' | grep .tar.gz$) + +CURRENT_VERSION=$(nix eval -f "$nixpkgs" --raw castopod.version) +VERSION=${TAG:1} + +if [[ "$CURRENT_VERSION" == "$VERSION" ]]; then + echo "castopod is up-to-date: ${CURRENT_VERSION}" + exit 0 +fi + +SHA256=$(nix-prefetch-url "$ASSET_URL") + +URL=$(echo $ASSET_URL | sed -e 's/[\/&]/\\&/g') + +sed -e "s/version =.*;/version = \"$VERSION\";/g" \ + -e "s/url =.*;/url = \"$URL\";/g" \ + -e "s/sha256 =.*;/sha256 = \"$SHA256\";/g" \ + -i "$castopod_nix" diff --git a/nixpkgs/pkgs/applications/audio/espeak-ng/default.nix b/nixpkgs/pkgs/applications/audio/espeak-ng/default.nix index 5e62399c8a48..a773bbfa1c54 100644 --- a/nixpkgs/pkgs/applications/audio/espeak-ng/default.nix +++ b/nixpkgs/pkgs/applications/audio/espeak-ng/default.nix @@ -15,6 +15,9 @@ , pcaudiolib , sonicSupport ? true , sonic +, CoreAudio +, AudioToolbox +, AudioUnit , alsa-plugins , makeWrapper }: @@ -42,9 +45,20 @@ stdenv.mkDerivation rec { buildInputs = lib.optional mbrolaSupport mbrola ++ lib.optional pcaudiolibSupport pcaudiolib - ++ lib.optional sonicSupport sonic; + ++ lib.optional sonicSupport sonic + ++ lib.optionals stdenv.isDarwin [ + CoreAudio + AudioToolbox + AudioUnit + ]; - preConfigure = "./autogen.sh"; + # touch ChangeLog to avoid below error on darwin: + # Makefile.am: error: required file './ChangeLog.md' not found + preConfigure = lib.optionalString stdenv.isDarwin '' + touch ChangeLog + '' + '' + ./autogen.sh + ''; configureFlags = [ "--with-mbrola=${if mbrolaSupport then "yes" else "no"}" diff --git a/nixpkgs/pkgs/applications/audio/exaile/default.nix b/nixpkgs/pkgs/applications/audio/exaile/default.nix index c6000c86c639..77054b2d9144 100644 --- a/nixpkgs/pkgs/applications/audio/exaile/default.nix +++ b/nixpkgs/pkgs/applications/audio/exaile/default.nix @@ -8,28 +8,26 @@ , notificationSupport ? true , scalableIconSupport ? true , translationSupport ? true -, bpmCounterSupport ? false , ipythonSupport ? false +, cdMetadataSupport ? false , lastfmSupport ? false , lyricsManiaSupport ? false -, lyricsWikiSupport ? false , multimediaKeySupport ? false , musicBrainzSupport ? false , podcastSupport ? false , streamripperSupport ? false , wikipediaSupport ? false -, fetchpatch }: stdenv.mkDerivation rec { pname = "exaile"; - version = "4.1.2"; + version = "4.1.3"; src = fetchFromGitHub { owner = "exaile"; repo = pname; rev = version; - sha256 = "sha256-GZyCuPy57NhGwgbLMrRKW5xmc1Udon7WtsrD4upviuQ="; + sha256 = "sha256-9SK0nvGdz2j6qp1JTmSuLezxX/kB93CZReSfAnfKZzg="; }; nativeBuildInputs = [ @@ -49,6 +47,9 @@ stdenv.mkDerivation rec { gstreamer gst-plugins-base gst-plugins-good + gst-plugins-bad + gst-plugins-ugly + gst-libav ]) ++ (with python3.pkgs; [ bsddb3 dbus-python @@ -59,13 +60,12 @@ stdenv.mkDerivation rec { ]) ++ lib.optional deviceDetectionSupport udisks ++ lib.optional notificationSupport libnotify ++ lib.optional scalableIconSupport librsvg - ++ lib.optional bpmCounterSupport gst_all_1.gst-plugins-bad ++ lib.optional ipythonSupport python3.pkgs.ipython + ++ lib.optional cdMetadataSupport python3.pkgs.discid ++ lib.optional lastfmSupport python3.pkgs.pylast - ++ lib.optional (lyricsManiaSupport || lyricsWikiSupport) python3.pkgs.lxml - ++ lib.optional lyricsWikiSupport python3.pkgs.beautifulsoup4 + ++ lib.optional lyricsManiaSupport python3.pkgs.lxml ++ lib.optional multimediaKeySupport keybinder3 - ++ lib.optional musicBrainzSupport python3.pkgs.musicbrainzngs + ++ lib.optional (musicBrainzSupport || cdMetadataSupport) python3.pkgs.musicbrainzngs ++ lib.optional podcastSupport python3.pkgs.feedparser ++ lib.optional wikipediaSupport webkitgtk; diff --git a/nixpkgs/pkgs/applications/audio/faustPhysicalModeling/default.nix b/nixpkgs/pkgs/applications/audio/faustPhysicalModeling/default.nix index a0a6ce024499..a9a9ab519db8 100644 --- a/nixpkgs/pkgs/applications/audio/faustPhysicalModeling/default.nix +++ b/nixpkgs/pkgs/applications/audio/faustPhysicalModeling/default.nix @@ -1,13 +1,13 @@ { stdenv, lib, fetchFromGitHub, faust2jaqt, faust2lv2 }: stdenv.mkDerivation rec { pname = "faustPhysicalModeling"; - version = "2.60.3"; + version = "2.68.1"; src = fetchFromGitHub { owner = "grame-cncm"; repo = "faust"; rev = version; - sha256 = "sha256-kaKDZKs/UsrqYlGmGgpSRcqN7FypxLCcIF72klovD4k="; + sha256 = "sha256-jD6/ZeS0xdtajCg5e95E0Jo2lfXOn4OIVf4LJgAfPbo="; }; buildInputs = [ faust2jaqt faust2lv2 ]; diff --git a/nixpkgs/pkgs/applications/audio/feishin/darwin.nix b/nixpkgs/pkgs/applications/audio/feishin/darwin.nix index fb8a27abdc41..ee1100f2161f 100644 --- a/nixpkgs/pkgs/applications/audio/feishin/darwin.nix +++ b/nixpkgs/pkgs/applications/audio/feishin/darwin.nix @@ -13,11 +13,11 @@ }: stdenv.mkDerivation { - inherit pname version; + inherit pname version meta; src = fetchurl { url = "https://github.com/jeffvli/feishin/releases/download/v${version}/${appname}-${version}-mac-x64.zip"; - hash = "sha256-J5LB4uR/NJ6ykiTqBY1VepcLujprgqwpxy7sGD0NtZw="; + hash = "sha256-6GYp9uzlR1eVRYhNU3kOmcUOPFY3J9eJPqN+TucNavA="; }; nativeBuildInputs = [ makeWrapper unzip ]; diff --git a/nixpkgs/pkgs/applications/audio/feishin/default.nix b/nixpkgs/pkgs/applications/audio/feishin/default.nix index aff0d5681ea2..3801d31e0a56 100644 --- a/nixpkgs/pkgs/applications/audio/feishin/default.nix +++ b/nixpkgs/pkgs/applications/audio/feishin/default.nix @@ -8,7 +8,7 @@ let extraArgs = removeAttrs args [ "callPackage" ]; pname = "feishin"; - version = "0.3.0"; + version = "0.4.1"; appname = "Feishin"; meta = with lib; { @@ -21,6 +21,7 @@ let maintainers = with maintainers; [ onny ]; }; -in if stdenv.isDarwin +in +if stdenv.isDarwin then callPackage ./darwin.nix (extraArgs // { inherit pname appname version meta; }) else callPackage ./linux.nix (extraArgs // { inherit pname appname version meta; }) diff --git a/nixpkgs/pkgs/applications/audio/feishin/linux.nix b/nixpkgs/pkgs/applications/audio/feishin/linux.nix index eaa6b9fc043a..8c5890524c35 100644 --- a/nixpkgs/pkgs/applications/audio/feishin/linux.nix +++ b/nixpkgs/pkgs/applications/audio/feishin/linux.nix @@ -25,17 +25,17 @@ let comment = "Full-featured Subsonic/Jellyfin compatible desktop music player"; icon = "feishin"; exec = "feishin %u"; - categories = [ "Audio" ]; + categories = [ "Audio" "AudioVideo" ]; mimeTypes = [ "x-scheme-handler/feishin" ]; }; in stdenv.mkDerivation { - inherit pname version; + inherit pname version meta; src = fetchurl { url = "https://github.com/jeffvli/feishin/releases/download/v${version}/${appname}-${version}-linux-x64.tar.xz"; - hash = "sha256-sl2zM24bb0yBTfCxtNGizp6Yu+L4nj/Uf669zylnPmE="; + hash = "sha256-Y8r329rO7z8V2xP/uRsjTFJfvTn+zyeAYzq6fKDxXs4="; }; diff --git a/nixpkgs/pkgs/applications/audio/flacon/default.nix b/nixpkgs/pkgs/applications/audio/flacon/default.nix index bc92fa096b09..a36171471255 100644 --- a/nixpkgs/pkgs/applications/audio/flacon/default.nix +++ b/nixpkgs/pkgs/applications/audio/flacon/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { pname = "flacon"; - version = "11.2.0"; + version = "11.3.0"; src = fetchFromGitHub { owner = "flacon"; repo = "flacon"; rev = "v${version}"; - sha256 = "sha256-pDTBA9HpFzwagz9B5AmaHzML361ON3XA+OIZJQyAuJo="; + sha256 = "sha256-jzpD8+zhIbOYgSNsoE1Pay+FiPXtRCd6Zz6HHkzWAkY="; }; nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ]; diff --git a/nixpkgs/pkgs/applications/audio/ft2-clone/default.nix b/nixpkgs/pkgs/applications/audio/ft2-clone/default.nix index 06a8c5daf9d2..be3845be6563 100644 --- a/nixpkgs/pkgs/applications/audio/ft2-clone/default.nix +++ b/nixpkgs/pkgs/applications/audio/ft2-clone/default.nix @@ -1,6 +1,5 @@ { lib, stdenv , fetchFromGitHub -, fetchpatch , cmake , nixosTests , alsa-lib @@ -14,30 +13,15 @@ stdenv.mkDerivation rec { pname = "ft2-clone"; - version = "1.69"; + version = "1.72.1"; src = fetchFromGitHub { owner = "8bitbubsy"; repo = "ft2-clone"; rev = "v${version}"; - sha256 = "sha256-tm0yTh46UKnsjH9hv3cMW0YL2x3OTRL+14x4c7w124U="; + hash = "sha256-dGoldr0JvXri4XfSn/DKeJw/wsBaj+AKoKWdbEgo8lg="; }; - patches = [ - # Adapt CMake script to be Darwin-compatible - # https://github.com/8bitbubsy/ft2-clone/pull/30 - (fetchpatch { - name = "0001-ft2-clone-Make-CMake-script-macOS-compatible.patch"; - url = "https://github.com/8bitbubsy/ft2-clone/pull/30/commits/0033a567abf7ddbdb2bc59c7f730d22f986010aa.patch"; - hash = "sha256-fhA+T6RI+Qmhr7mbG9lEA7esWskgK8+DkWzol0J2lUo="; - }) - (fetchpatch { - name = "0002-ft2-clone-Fix-__MACOSX_CORE__-typo.patch"; - url = "https://github.com/8bitbubsy/ft2-clone/pull/30/commits/fe50aff9233130150a6631875611c7db67a2d705.patch"; - hash = "sha256-X4AVuJ0iRlpH1N/YzjdVk5+yv7eiDNoZkk0mhOizgOg="; - }) - ]; - nativeBuildInputs = [ cmake ]; buildInputs = [ SDL2 ] ++ lib.optional stdenv.isLinux alsa-lib @@ -63,4 +47,3 @@ stdenv.mkDerivation rec { platforms = platforms.littleEndian; }; } - diff --git a/nixpkgs/pkgs/applications/audio/furnace/default.nix b/nixpkgs/pkgs/applications/audio/furnace/default.nix index bfb09c6de8ec..82166dd123b2 100644 --- a/nixpkgs/pkgs/applications/audio/furnace/default.nix +++ b/nixpkgs/pkgs/applications/audio/furnace/default.nix @@ -1,6 +1,5 @@ { stdenv , lib -, gitUpdater , testers , furnace , fetchFromGitHub @@ -28,14 +27,14 @@ stdenv.mkDerivation rec { pname = "furnace"; - version = "0.6pre16"; + version = "0.6"; src = fetchFromGitHub { owner = "tildearrow"; repo = "furnace"; rev = "v${version}"; fetchSubmodules = true; - hash = "sha256-n66Bv8xB/0KMJYoMILxsaKoaX+E0OFGI3QGqhxKTFUQ="; + hash = "sha256-8we7vKyGWjM9Rx0MJjSKLJcKBHiHt5vjuy17HHx/pP8="; }; postPatch = lib.optionalString stdenv.hostPlatform.isLinux '' @@ -104,9 +103,7 @@ stdenv.mkDerivation rec { ''; passthru = { - updateScript = gitUpdater { - rev-prefix = "v"; - }; + updateScript = ./update.sh; tests.version = testers.testVersion { package = furnace; }; diff --git a/nixpkgs/pkgs/applications/audio/furnace/update.sh b/nixpkgs/pkgs/applications/audio/furnace/update.sh new file mode 100755 index 000000000000..cc2969f35045 --- /dev/null +++ b/nixpkgs/pkgs/applications/audio/furnace/update.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p common-updater-scripts curl jql + +set -eu -o pipefail + +# Because upstream uses release tags that don't always sort correctly, query for latest release +version="$( + curl -Ls 'https://api.github.com/repos/tildearrow/furnace/releases/latest' \ + | jql -r '"tag_name"' \ + | sed 's/^v//' +)" +update-source-version furnace "$version" diff --git a/nixpkgs/pkgs/applications/audio/g4music/default.nix b/nixpkgs/pkgs/applications/audio/g4music/default.nix index 6cefefcb1d29..9063a8351a18 100644 --- a/nixpkgs/pkgs/applications/audio/g4music/default.nix +++ b/nixpkgs/pkgs/applications/audio/g4music/default.nix @@ -2,6 +2,7 @@ , stdenv , fetchFromGitLab , desktop-file-utils +, gitUpdater , gobject-introspection , gst_all_1 , gtk4 @@ -14,14 +15,14 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "g4music"; - version = "3.2"; + version = "3.3"; src = fetchFromGitLab { domain = "gitlab.gnome.org"; owner = "neithern"; repo = "g4music"; rev = "v${finalAttrs.version}"; - hash = "sha256-BlHOYD4sOmJPNMzM5QA97Ah1N9tIat0Y6qxN6c5pmsw="; + hash = "sha256-sajA8+G1frQA0p+8RK84hvh2P36JaarmSZx/sxMoFqo="; }; nativeBuildInputs = [ @@ -44,6 +45,10 @@ stdenv.mkDerivation (finalAttrs: { gstreamer ]); + passthru.updateScript = gitUpdater { + rev-prefix = "v"; + }; + meta = with lib; { description = "A beautiful, fast, fluent, light weight music player written in GTK4"; homepage = "https://gitlab.gnome.org/neithern/g4music"; diff --git a/nixpkgs/pkgs/applications/audio/giada/default.nix b/nixpkgs/pkgs/applications/audio/giada/default.nix index b277175ec102..72b1fe61296b 100644 --- a/nixpkgs/pkgs/applications/audio/giada/default.nix +++ b/nixpkgs/pkgs/applications/audio/giada/default.nix @@ -24,13 +24,13 @@ stdenv.mkDerivation rec { pname = "giada"; - version = "0.25.1"; + version = "0.26.0"; src = fetchFromGitHub { owner = "monocasual"; repo = pname; rev = version; - sha256 = "sha256-SW2qT+pMKTMBnkaL+Dg87tqutcLTqaY4nCeFfJjHIw4="; + sha256 = "sha256-q3Lu3UaEKfS7F59G6rPx+5cKcsaXk+xcdtJRIXPwVIs="; fetchSubmodules = true; }; diff --git a/nixpkgs/pkgs/applications/audio/go-musicfox/default.nix b/nixpkgs/pkgs/applications/audio/go-musicfox/default.nix index 185139da2a86..e4a10d82c139 100644 --- a/nixpkgs/pkgs/applications/audio/go-musicfox/default.nix +++ b/nixpkgs/pkgs/applications/audio/go-musicfox/default.nix @@ -1,5 +1,5 @@ { lib -, buildGoModule +, buildGo121Module , fetchFromGitHub , pkg-config , alsa-lib @@ -7,27 +7,27 @@ , nix-update-script }: -buildGoModule rec { +buildGo121Module rec { pname = "go-musicfox"; - version = "4.1.4"; + version = "4.2.1"; src = fetchFromGitHub { owner = "go-musicfox"; repo = pname; rev = "v${version}"; - hash = "sha256-z4zyLHflmaX5k69KvPTISRIEHVjDmEGZenNXfYd3UUk="; + hash = "sha256-yl7PirSt4zEy8ZoDGq3dn5TjJtbJeAgXgbynw/D0d38="; }; deleteVendor = true; - vendorHash = "sha256-S1OIrcn55wm/b7B3lz55guuS+mrv5MswNMO2UyfgjRc="; + vendorHash = "sha256-ILO4v4ii1l9JokXG7R3vuN7i5hDi/hLHTFiClA2vdf0="; subPackages = [ "cmd/musicfox.go" ]; ldflags = [ "-s" "-w" - "-X github.com/go-musicfox/go-musicfox/pkg/constants.AppVersion=${version}" + "-X github.com/go-musicfox/go-musicfox/internal/types.AppVersion=${version}" ]; nativeBuildInputs = [ diff --git a/nixpkgs/pkgs/applications/audio/goodvibes/default.nix b/nixpkgs/pkgs/applications/audio/goodvibes/default.nix index f51daf7081c2..8ba33a267970 100644 --- a/nixpkgs/pkgs/applications/audio/goodvibes/default.nix +++ b/nixpkgs/pkgs/applications/audio/goodvibes/default.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation rec { pname = "goodvibes"; - version = "0.7.6"; + version = "0.7.7"; src = fetchFromGitLab { owner = pname; repo = pname; rev = "v${version}"; - hash = "sha256-w0nmTYcq2DBHSjQ23zWxT6optyH+lRAMRa210F7XEvE="; + hash = "sha256-7AhdygNl6st5ryaMjrloBvTVz6PN48Y6VVpde5g3+D4="; }; nativeBuildInputs = [ diff --git a/nixpkgs/pkgs/applications/audio/gpodder/default.nix b/nixpkgs/pkgs/applications/audio/gpodder/default.nix index 63e122bcf85f..f8d4232798b2 100644 --- a/nixpkgs/pkgs/applications/audio/gpodder/default.nix +++ b/nixpkgs/pkgs/applications/audio/gpodder/default.nix @@ -14,14 +14,14 @@ python3Packages.buildPythonApplication rec { pname = "gpodder"; - version = "3.11.1"; + version = "3.11.3"; format = "other"; src = fetchFromGitHub { owner = pname; repo = pname; rev = version; - sha256 = "Ns03MFhd4ZLtyeQTLTgLWY2Ot6gmrksFMOZm8jFaLIg="; + sha256 = "p8BgpvMK1kP4VnRfmcvSMbXmWs5DmWBZ6te7L9b+UJQ="; }; patches = [ @@ -63,6 +63,7 @@ python3Packages.buildPythonApplication rec { eyeD3 podcastparser html5lib + mutagen ]; makeFlags = [ diff --git a/nixpkgs/pkgs/applications/audio/helvum/default.nix b/nixpkgs/pkgs/applications/audio/helvum/default.nix index 1ff9f667d5ff..6e3de0f14bb7 100644 --- a/nixpkgs/pkgs/applications/audio/helvum/default.nix +++ b/nixpkgs/pkgs/applications/audio/helvum/default.nix @@ -5,6 +5,7 @@ , fetchFromGitLab , glib , gtk4 +, libadwaita , meson , ninja , pipewire @@ -17,20 +18,20 @@ stdenv.mkDerivation rec { pname = "helvum"; - version = "0.4.1"; + version = "0.5.1"; src = fetchFromGitLab { domain = "gitlab.freedesktop.org"; owner = "pipewire"; repo = pname; rev = version; - hash = "sha256-nBU8dk22tzVf60yznTYJBYRKG+ctwWl1epU90R0zXr0="; + hash = "sha256-9vlzLPpyZ9qtCEbCDvYhWDcV+8T63ukdos1l2U6fD+E="; }; cargoDeps = rustPlatform.fetchCargoTarball { inherit src; name = "${pname}-${version}"; - hash = "sha256-kzu8dzKob9KxKEP3ElUYCCTdyvbzi+jSXTaaaaPMhYg="; + hash = "sha256-Xebm3XlsO6kBoMnxJsOk/3SO7avVoaGqi2CVWBRzr88="; }; nativeBuildInputs = [ @@ -49,6 +50,7 @@ stdenv.mkDerivation rec { desktop-file-utils glib gtk4 + libadwaita pipewire ]; diff --git a/nixpkgs/pkgs/applications/audio/infamousPlugins/default.nix b/nixpkgs/pkgs/applications/audio/infamousPlugins/default.nix index 03ef83bd6fa9..4597add4132d 100644 --- a/nixpkgs/pkgs/applications/audio/infamousPlugins/default.nix +++ b/nixpkgs/pkgs/applications/audio/infamousPlugins/default.nix @@ -1,7 +1,6 @@ { lib , stdenv , fetchFromGitHub -, fetchpatch , pkg-config , cairomm , cmake @@ -17,28 +16,15 @@ stdenv.mkDerivation rec { pname = "infamousPlugins"; - version = "0.3.0"; + version = "0.3.2"; src = fetchFromGitHub { owner = "ssj71"; repo = "infamousPlugins"; rev = "v${version}"; - sha256 = "1r72agk5nxf5k0mghcc2j90z43j5d9i7rqjmf49jfyqnd443isip"; + sha256 = "sha256-AhW4hLmCxz7yHMdxM6kOvtCXk1jEg/XtyPgt4yk1xqs="; }; - patches = [ - (fetchpatch { - url = "https://github.com/ssj71/infamousPlugins/commit/06dd967b4736ea886dc1dc07f882cb1563961582.patch"; - sha256 = "08xwh6px13y1gykaw103nhvjms7vgbgkcm0avh9f5d2d7aadq0l2"; - }) - - # glibx-2.36 upstream fix: https://github.com/ssj71/infamousPlugins/pull/52 - (fetchpatch { - name = "glibc-2.36.patch"; - url = "https://github.com/ssj71/infamousPlugins/commit/eb4fd9af25362fdd006549c471f4cf0427816dd5.patch"; - hash = "sha256-kBB2meQYVoVSTHIG77M8Fmeve87JBIUjpWCP6oiOkKI="; - }) - ]; nativeBuildInputs = [ pkg-config cmake ]; buildInputs = [ cairomm lv2 libpthreadstubs libXdmcp libXft ntk pcre fftwFloat zita-resampler ]; diff --git a/nixpkgs/pkgs/applications/audio/lsp-plugins/default.nix b/nixpkgs/pkgs/applications/audio/lsp-plugins/default.nix index e459e10b6db9..2d9b8c9db482 100644 --- a/nixpkgs/pkgs/applications/audio/lsp-plugins/default.nix +++ b/nixpkgs/pkgs/applications/audio/lsp-plugins/default.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { pname = "lsp-plugins"; - version = "1.2.10"; + version = "1.2.12"; src = fetchurl { url = "https://github.com/sadko4u/${pname}/releases/download/${version}/${pname}-src-${version}.tar.gz"; - sha256 = "sha256-2Yf+4TYGWF/AMI1kNvVOx9g6CSIoeZKY63qC/zJNilc="; + sha256 = "sha256-a3ts+7wiEwcoLPj6KsfP9lvTNTDSr9t+qEujSgpotXo="; }; outputs = [ "out" "dev" "doc" ]; diff --git a/nixpkgs/pkgs/applications/audio/mamba/default.nix b/nixpkgs/pkgs/applications/audio/mamba/default.nix index 679062fccf20..fcfafbdb4bbf 100644 --- a/nixpkgs/pkgs/applications/audio/mamba/default.nix +++ b/nixpkgs/pkgs/applications/audio/mamba/default.nix @@ -37,5 +37,8 @@ stdenv.mkDerivation rec { license = licenses.bsd0; maintainers = with maintainers; [ magnetophon orivej ]; platforms = platforms.linux; + # 2023-08-19, `-Werror=format-security` fails for xputty + # reported as https://github.com/brummer10/libxputty/issues/12 + broken = true; }; } diff --git a/nixpkgs/pkgs/applications/audio/mbrola/default.nix b/nixpkgs/pkgs/applications/audio/mbrola/default.nix index a21495027c86..6cc20269dcf3 100644 --- a/nixpkgs/pkgs/applications/audio/mbrola/default.nix +++ b/nixpkgs/pkgs/applications/audio/mbrola/default.nix @@ -1,4 +1,4 @@ -{ stdenv, stdenvNoCC, lib, symlinkJoin, fetchFromGitHub }: +{ stdenv, lib, fetchFromGitHub, runCommandLocal }: let pname = "mbrola"; @@ -7,31 +7,19 @@ let meta = with lib; { license = licenses.agpl3Plus; maintainers = with maintainers; [ davidak ]; - platforms = platforms.linux; + platforms = platforms.all; description = "Speech synthesizer based on the concatenation of diphones"; homepage = "https://github.com/numediart/MBROLA"; }; - voices = stdenvNoCC.mkDerivation { - pname = "${pname}-voices"; - inherit version; - - src = fetchFromGitHub { - owner = "numediart"; - repo = "MBROLA-voices"; - rev = "fe05a0ccef6a941207fd6aaad0b31294a1f93a51"; # using latest commit - sha256 = "1w0y2xjp9rndwdjagp2wxh656mdm3d6w9cs411g27rjyfy1205a0"; - }; - - dontBuild = true; - installPhase = '' - runHook preInstall - install -d $out/share/mbrola/voices - cp -R $src/data/* $out/share/mbrola/voices/ - runHook postInstall - ''; - dontFixup = true; + # Very big (0.65 G) so kept as a fixed-output derivation to limit "duplicates". + voices = fetchFromGitHub { + owner = "numediart"; + repo = "MBROLA-voices"; + rev = "fe05a0ccef6a941207fd6aaad0b31294a1f93a51"; # using latest commit + sha256 = "1w0y2xjp9rndwdjagp2wxh656mdm3d6w9cs411g27rjyfy1205a0"; + name = "${pname}-voices-${version}"; meta = meta // { description = "Speech synthesizer based on the concatenation of diphones (voice files)"; homepage = "https://github.com/numediart/MBROLA-voices"; @@ -65,8 +53,14 @@ let }; in -symlinkJoin { - inherit pname version meta; - name = "${pname}-${version}"; - paths = [ bin voices ]; -} + runCommandLocal + "${pname}-${version}" + { + inherit pname version meta; + } + '' + mkdir -p "$out/share/mbrola" + ln -s '${voices}/data' "$out/share/mbrola/voices" + ln -s '${bin}/bin' "$out/" + '' + diff --git a/nixpkgs/pkgs/applications/audio/miniaudicle/default.nix b/nixpkgs/pkgs/applications/audio/miniaudicle/default.nix index 19054da5841c..f477e3ffa1f2 100644 --- a/nixpkgs/pkgs/applications/audio/miniaudicle/default.nix +++ b/nixpkgs/pkgs/applications/audio/miniaudicle/default.nix @@ -3,7 +3,7 @@ , fetchFromGitHub , qmake , wrapQtAppsHook -, qscintilla-qt6 +, qt6Packages , bison , flex , which @@ -45,7 +45,7 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ alsa-lib libsndfile - qscintilla-qt6 + qt6Packages.qscintilla ] ++ lib.optional (audioBackend == "pulse") libpulseaudio ++ lib.optional (audioBackend == "jack") libjack2; diff --git a/nixpkgs/pkgs/applications/audio/mmlgui/default.nix b/nixpkgs/pkgs/applications/audio/mmlgui/default.nix index deafd47a8374..4959a567c417 100644 --- a/nixpkgs/pkgs/applications/audio/mmlgui/default.nix +++ b/nixpkgs/pkgs/applications/audio/mmlgui/default.nix @@ -15,14 +15,14 @@ stdenv.mkDerivation rec { pname = "mmlgui"; - version = "unstable-2023-06-12"; + version = "unstable-2023-09-20"; src = fetchFromGitHub { owner = "superctr"; repo = "mmlgui"; - rev = "d680f576aba769b0d63300fbed57a0e9e54dfa4b"; + rev = "a941dbcb34d2e1d56ac4489fbec5f893e9b8fb6d"; fetchSubmodules = true; - hash = "sha256-BqwayGQBIa0ru22Xci8vHNYPFr9scZSdrUOlDtGBnno="; + hash = "sha256-d5DznY0WRJpiUEtUQ8Yihc0Ej8+k5cYTqrzUSp/1wg4="; }; postPatch = '' diff --git a/nixpkgs/pkgs/applications/audio/monkeys-audio/default.nix b/nixpkgs/pkgs/applications/audio/monkeys-audio/default.nix index bb11921823ca..f04f343e85de 100644 --- a/nixpkgs/pkgs/applications/audio/monkeys-audio/default.nix +++ b/nixpkgs/pkgs/applications/audio/monkeys-audio/default.nix @@ -5,13 +5,13 @@ }: stdenv.mkDerivation (finalAttrs: { - version = "10.22"; + version = "10.24"; pname = "monkeys-audio"; src = fetchzip { url = "https://monkeysaudio.com/files/MAC_${ builtins.concatStringsSep "" (lib.strings.splitString "." finalAttrs.version)}_SDK.zip"; - sha256 = "sha256-JmDH9IudtuJdu1kSDI1RNaYiIgmPgH4RT2Myz9ihQH4="; + sha256 = "sha256-18rHv9sbxpuMfMrqoSSeEncDmQlWpdA/xNPoYJoIgJ0="; stripRoot = false; }; nativeBuildInputs = [ diff --git a/nixpkgs/pkgs/applications/audio/mpc123/default.nix b/nixpkgs/pkgs/applications/audio/mpc123/default.nix index 7746d1c63fa8..5f9f0229cb49 100644 --- a/nixpkgs/pkgs/applications/audio/mpc123/default.nix +++ b/nixpkgs/pkgs/applications/audio/mpc123/default.nix @@ -1,38 +1,60 @@ -{ fetchurl, lib, stdenv, gettext, libmpcdec, libao }: - -let version = "0.2.4"; in -stdenv.mkDerivation rec { +{ lib +, stdenv +, fetchFromGitLab +, gettext +, libao +, libmpcdec +}: + +stdenv.mkDerivation (finalAttrs: { pname = "mpc123"; - inherit version; - - src = fetchurl { - url = "mirror://sourceforge/mpc123/version%20${version}/${pname}-${version}.tar.gz"; - sha256 = "0sf4pns0245009z6mbxpx7kqy4kwl69bc95wz9v23wgappsvxgy1"; + version = "0.2.4"; + + src = fetchFromGitLab { + domain = "salsa.debian.org"; + owner = "debian"; + repo = "mpc123"; + rev = "upstream/${finalAttrs.version}"; + hash = "sha256-+/yxb19CJzyjQmT3O21pEmPR5YudmyCxWwo+W3uOB9Q="; }; - patches = [ ./use-gcc.patch ]; + strictDeps = true; + + nativeBuildInputs = [ + gettext + ]; + + buildInputs = [ + gettext + libao + libmpcdec + ]; + + makeFlags = [ + "CC=${stdenv.cc.targetPrefix}cc" + ]; # Workaround build failure on -fno-common toolchains like upstream # gcc-10. Otherwise build fails as: # ld: /build/cc566Cj9.o:(.bss+0x0): multiple definition of `mpc123_file_reader'; ao.o:(.bss+0x40): first defined here env.NIX_CFLAGS_COMPILE = "-fcommon"; - buildInputs = [ gettext libmpcdec libao ]; + # XXX: Should install locales too (though there's only 1 available). + installPhase = '' + runHook preInstall - installPhase = - # XXX: Should install locales too (though there's only 1 available). - '' mkdir -p "$out/bin" - cp -v mpc123 "$out/bin" - ''; + mkdir -p "$out/bin" + cp -v mpc123 "$out/bin" - meta = { - homepage = "https://mpc123.sourceforge.net/"; + runHook postInstall + ''; + meta = { description = "A Musepack (.mpc) audio player"; - + homepage = "https://github.com/bucciarati/mpc123"; license = lib.licenses.gpl2Plus; - + mainProgram = "mpc123"; maintainers = [ ]; - platforms = lib.platforms.gnu ++ lib.platforms.linux; # arbitrary choice + platforms = lib.platforms.unix; }; -} +}) diff --git a/nixpkgs/pkgs/applications/audio/mpc123/use-gcc.patch b/nixpkgs/pkgs/applications/audio/mpc123/use-gcc.patch deleted file mode 100644 index ca4cf84591ce..000000000000 --- a/nixpkgs/pkgs/applications/audio/mpc123/use-gcc.patch +++ /dev/null @@ -1,13 +0,0 @@ -Don't worry, just use GCC and everything's gonna be alright. - ---- mpc123-0.2.4/Makefile 2008-03-21 22:14:38.000000000 +0100 -+++ mpc123-0.2.4/Makefile 2010-01-28 23:26:49.000000000 +0100 -@@ -17,7 +17,7 @@ - # along with this program; if not, write to the Free Software Foundation, - # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - --CC := $(shell which colorgcc || which cc) -+CC := gcc - - TAGSPRG := ctags - diff --git a/nixpkgs/pkgs/applications/audio/mpdevil/default.nix b/nixpkgs/pkgs/applications/audio/mpdevil/default.nix index 92f66d375d3b..a382450848ca 100644 --- a/nixpkgs/pkgs/applications/audio/mpdevil/default.nix +++ b/nixpkgs/pkgs/applications/audio/mpdevil/default.nix @@ -27,7 +27,7 @@ python3Packages.buildPythonApplication rec { ]; propagatedBuildInputs = with python3Packages; [ - beautifulsoup4 distutils_extra mpd2 notify-py pygobject3 requests + beautifulsoup4 distutils-extra mpd2 notify-py pygobject3 requests ]; postInstall = '' diff --git a/nixpkgs/pkgs/applications/audio/mympd/default.nix b/nixpkgs/pkgs/applications/audio/mympd/default.nix index cf8cf47a35f7..189f1139d7e7 100644 --- a/nixpkgs/pkgs/applications/audio/mympd/default.nix +++ b/nixpkgs/pkgs/applications/audio/mympd/default.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "mympd"; - version = "12.0.1"; + version = "12.0.4"; src = fetchFromGitHub { owner = "jcorporation"; repo = "myMPD"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-tkkaBIWoQS28FsCSN5CKw2ZQ3cbYa34PVZCUGaaqaQo="; + sha256 = "sha256-pOs3VfgpDUD8KiBmJ37qpGLguxOXm5cr+jlTEeRZ4Bk="; }; nativeBuildInputs = [ diff --git a/nixpkgs/pkgs/applications/audio/noson/default.nix b/nixpkgs/pkgs/applications/audio/noson/default.nix index 1bcd06eec425..fb37c93e10fe 100644 --- a/nixpkgs/pkgs/applications/audio/noson/default.nix +++ b/nixpkgs/pkgs/applications/audio/noson/default.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "noson"; - version = "5.4.1"; + version = "5.6.0"; src = fetchFromGitHub { owner = "janbar"; repo = "noson-app"; rev = finalAttrs.version; - hash = "sha256-7RrBfkUCRVzUGl+OT3OuoMlu4D3Sa7RpBefFgmfX1Fs="; + hash = "sha256-ZOAnH7pdhlTbqHOM0kiCWcHYJvnskigWdz3N9WjtM0M="; }; nativeBuildInputs = [ diff --git a/nixpkgs/pkgs/applications/audio/ocenaudio/default.nix b/nixpkgs/pkgs/applications/audio/ocenaudio/default.nix index 5723a1fd10f2..37bc49bee2b3 100644 --- a/nixpkgs/pkgs/applications/audio/ocenaudio/default.nix +++ b/nixpkgs/pkgs/applications/audio/ocenaudio/default.nix @@ -11,11 +11,11 @@ stdenv.mkDerivation rec { pname = "ocenaudio"; - version = "3.12.7"; + version = "3.13.1"; src = fetchurl { url = "https://www.ocenaudio.com/downloads/index.php/ocenaudio_debian9_64.deb?version=${version}"; - sha256 = "sha256-+D/JvC0emKdxzd0l2n1QZ0geosrMpdpaxru5z61kqxA="; + sha256 = "sha256-h5t5DpZD9zmmyGRueXBG5Pn+vZstm5yCUr6Mx3eyvsc="; }; nativeBuildInputs = [ diff --git a/nixpkgs/pkgs/applications/audio/open-stage-control/default.nix b/nixpkgs/pkgs/applications/audio/open-stage-control/default.nix index 87f1e1512954..91e043a59346 100644 --- a/nixpkgs/pkgs/applications/audio/open-stage-control/default.nix +++ b/nixpkgs/pkgs/applications/audio/open-stage-control/default.nix @@ -2,13 +2,13 @@ buildNpmPackage rec { pname = "open-stage-control"; - version = "1.25.3"; + version = "1.25.5"; src = fetchFromGitHub { owner = "jean-emmanuel"; repo = "open-stage-control"; rev = "v${version}"; - hash = "sha256-drv+QNBmUjvlRul8PlFK4ZBIDw6BV4kJXVw287H6WT4="; + hash = "sha256-N0bL/kgw5tIVcD4fGYrahdola/w9ouct0+AUqw+dUOg="; }; # Remove some Electron stuff from package.json @@ -16,7 +16,7 @@ buildNpmPackage rec { sed -i -e '/"electron"\|"electron-installer-debian"/d' package.json ''; - npmDepsHash = "sha256-M+6+zrxy8VpJQS0dG/xORMbflKEq8wO2DEOjGrA6OUw="; + npmDepsHash = "sha256-unjoBWVwmUqxAU3mDC37sXzoh7aEOdny4Asa70+sZnk="; nativeBuildInputs = [ copyDesktopItems diff --git a/nixpkgs/pkgs/applications/audio/openutau/default.nix b/nixpkgs/pkgs/applications/audio/openutau/default.nix index 645b0715611d..b92282c473d4 100644 --- a/nixpkgs/pkgs/applications/audio/openutau/default.nix +++ b/nixpkgs/pkgs/applications/audio/openutau/default.nix @@ -2,6 +2,7 @@ , stdenv , buildDotnetModule , fetchFromGitHub +, fetchpatch , dotnetCorePackages , dbus , fontconfig @@ -22,6 +23,19 @@ buildDotnetModule rec { hash = "sha256-/+hlL2sj/juzWrDcb5dELp8Zdg688XK8OnjKz20rx/M="; }; + patches = [ + # Needed until stakira/OpenUtau#836 is merged and released to fix crashing issues. See stakira/OpenUtau#822 + (fetchpatch { + name = "openutau-update-avalonia-to-11.0.4.patch"; + url = "https://github.com/stakira/OpenUtau/commit/0130d7387fb626a72850305dc61d7c175caccc0f.diff"; + hash = "sha256-w9PLnfiUtiKY/8+y4qqINeEul4kP72nKEVc5c8p2g7c="; + # It looks like fetched files use CRLF but patch comes back with LF + decode = "sed -e 's/$/\\r/'"; + }) + ]; + # Needs binary for above patch due to CRLF shenanigans otherwise being ignored + patchFlags = [ "-p1" "--binary" ]; + dotnet-sdk = dotnetCorePackages.sdk_7_0; dotnet-runtime = dotnetCorePackages.runtime_7_0; @@ -47,8 +61,8 @@ buildDotnetModule rec { # needed until upstream bumps to dotnet 7 postPatch = '' substituteInPlace OpenUtau/OpenUtau.csproj OpenUtau.Test/OpenUtau.Test.csproj --replace \ - "<TargetFramework>net6.0</TargetFramework>" \ - "<TargetFramework>net7.0</TargetFramework>" + '<TargetFramework>net6.0</TargetFramework>' \ + '<TargetFramework>net7.0</TargetFramework>' ''; # need to make sure proprietary worldline resampler is copied diff --git a/nixpkgs/pkgs/applications/audio/openutau/deps.nix b/nixpkgs/pkgs/applications/audio/openutau/deps.nix index ea369c140803..842159177558 100644 --- a/nixpkgs/pkgs/applications/audio/openutau/deps.nix +++ b/nixpkgs/pkgs/applications/audio/openutau/deps.nix @@ -3,22 +3,22 @@ { fetchNuGet }: [ (fetchNuGet { pname = "AsyncIO"; version = "0.1.69"; sha256 = "1anby58bs94gf338vmn6vvwxw0kcz6y8yap57vgh8dgm9vysl0i5"; }) - (fetchNuGet { pname = "Avalonia"; version = "11.0.0-rc1.1"; sha256 = "15gn6qbbx6zars37fvfdsyvqg9303zr8dsx7k1v6a4mzm190xhmm"; }) + (fetchNuGet { pname = "Avalonia"; version = "11.0.4"; sha256 = "0jid0x90dc8m609wqwbq87014yzih2iimz74wm6zi1j02k080jk0"; }) (fetchNuGet { pname = "Avalonia.Angle.Windows.Natives"; version = "2.1.0.2023020321"; sha256 = "1az4s1g22ipak9a3xfh55z2h3rm6lpqh7svbpw6ag4ysrgsjjsjd"; }) - (fetchNuGet { pname = "Avalonia.BuildServices"; version = "0.0.19"; sha256 = "1vlhyjb2g98hh5gnisg4bdl9p93x8lmnkc97d24hpxgflcd7szs7"; }) - (fetchNuGet { pname = "Avalonia.Controls.ColorPicker"; version = "11.0.0-rc1.1"; sha256 = "0nflr62lywmgby1lc6zasn24rinkq72imkazhv77wnj28ayid3bx"; }) - (fetchNuGet { pname = "Avalonia.Controls.DataGrid"; version = "11.0.0-rc1.1"; sha256 = "088xz8llm8298agk4dkpzrb1bqyksgvzhj3pw1s4r1fcdfl0z64j"; }) - (fetchNuGet { pname = "Avalonia.Desktop"; version = "11.0.0-rc1.1"; sha256 = "06580q0il62f3464vq2113gbv0yng4jqm79k2wvn3brzl82pyhvq"; }) - (fetchNuGet { pname = "Avalonia.Diagnostics"; version = "11.0.0-rc1.1"; sha256 = "1jia97djk33za7spfr9276plvx8mybm7i3ckp1wprlnmh5b6nykp"; }) - (fetchNuGet { pname = "Avalonia.FreeDesktop"; version = "11.0.0-rc1.1"; sha256 = "1mpm34lgxcxh5hglyq2fpggdf18cadzx9030kxax5ilp69mk93df"; }) - (fetchNuGet { pname = "Avalonia.Native"; version = "11.0.0-rc1.1"; sha256 = "0hzk1gb4zh9n5k3wv2n8nw9qcgyj9pvwysph3shg9m8wwrdhkiy5"; }) - (fetchNuGet { pname = "Avalonia.ReactiveUI"; version = "11.0.0-rc1.1"; sha256 = "08116ixw118i2v11dylhwkj1ilgkpk29cp9n7zqj3zk7pxkln2f7"; }) - (fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "11.0.0-rc1.1"; sha256 = "1m3r05b14vw4mn1m9ak91j00q0ppnkysb6m7w86sacqjfhpl8faa"; }) - (fetchNuGet { pname = "Avalonia.Skia"; version = "11.0.0-rc1.1"; sha256 = "0a8xvqd0hgi8bynjipvvhg0cm9qr63p0h3ji1wbn3y9vrysliykh"; }) - (fetchNuGet { pname = "Avalonia.Themes.Fluent"; version = "11.0.0-rc1.1"; sha256 = "03lp3m40hwbpasa4q6gykj1y5772lpzzr59y5k1nbi54k2n3fl3k"; }) - (fetchNuGet { pname = "Avalonia.Themes.Simple"; version = "11.0.0-rc1.1"; sha256 = "0bgz8djfmb17qrf44bivcyf9hwdfccl5f8hgyq158y7ag4a313sn"; }) - (fetchNuGet { pname = "Avalonia.Win32"; version = "11.0.0-rc1.1"; sha256 = "1zslv10kcmclx5ajd74yi6j1f8p3a9iy2r0w4k8kwkc56d5jg30c"; }) - (fetchNuGet { pname = "Avalonia.X11"; version = "11.0.0-rc1.1"; sha256 = "0b4bmza84bv8hbh6jmy1kxxp9pnz4q4wq6bw8jc30w4jkdhp588r"; }) + (fetchNuGet { pname = "Avalonia.BuildServices"; version = "0.0.29"; sha256 = "05mm7f0jssih3gbzqfgjnfq5cnqa85ihsg0z1897ciihv8qd3waq"; }) + (fetchNuGet { pname = "Avalonia.Controls.ColorPicker"; version = "11.0.4"; sha256 = "1sqdcaknqazq4mw2x1jb6pfmfnyhpkd4xh6fl4ld85qikzzj7796"; }) + (fetchNuGet { pname = "Avalonia.Controls.DataGrid"; version = "11.0.4"; sha256 = "10kc1pfyi0jq29xavq059vfjm51igi45yikz7i1ys061zbjs0n62"; }) + (fetchNuGet { pname = "Avalonia.Desktop"; version = "11.0.4"; sha256 = "101jlqx24d19nk0nd7x19pvbjjybckzgqh9h78c85vb98xbwh3ky"; }) + (fetchNuGet { pname = "Avalonia.Diagnostics"; version = "11.0.4"; sha256 = "1dxylsvaffzravz64rwq2wjjlr3392i5153nmkqk89ldaq70wjja"; }) + (fetchNuGet { pname = "Avalonia.FreeDesktop"; version = "11.0.4"; sha256 = "1sbgs6d1b751h0ipq249w7z3aclpfb42sw3f7g31vin9w8wxwa6q"; }) + (fetchNuGet { pname = "Avalonia.Native"; version = "11.0.4"; sha256 = "10fyr63sqb4xyr7rlk94rzjbnb9mbln95mb9papip5kb3sm8jx60"; }) + (fetchNuGet { pname = "Avalonia.ReactiveUI"; version = "11.0.4"; sha256 = "1hs29qvbhm5qdhys0j3d89c37qfalx1pcpxl3hh9adz11wc0nb3b"; }) + (fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "11.0.4"; sha256 = "096436hhg45v02pp4f43mf00xn6blx7x66sb8fq5j4jn7479fynp"; }) + (fetchNuGet { pname = "Avalonia.Skia"; version = "11.0.4"; sha256 = "1ysmq4f8bxabpq3nhcrrvgwvxb9z7gx9565bvdyksdhsq16wyxym"; }) + (fetchNuGet { pname = "Avalonia.Themes.Fluent"; version = "11.0.4"; sha256 = "03zdixi6m9g4mcxmp24z8dzamzqqy9i0wg069m4gl5p3wcvfbqla"; }) + (fetchNuGet { pname = "Avalonia.Themes.Simple"; version = "11.0.4"; sha256 = "1rncb8ifqarjc5gfh6ld0ldahvxy57a2hzi7vs826an4zl3r0yrx"; }) + (fetchNuGet { pname = "Avalonia.Win32"; version = "11.0.4"; sha256 = "07ijkpbhz59gvsxsik8mib8rhpm5yrpnjz66sjnxl8m0ghqnkf02"; }) + (fetchNuGet { pname = "Avalonia.X11"; version = "11.0.4"; sha256 = "0xq6xqd3cwwdcqsipvrs4rpf82nqhr45ispwjj4dxlyn4i1n8ryd"; }) (fetchNuGet { pname = "BunLabs.NAudio.Flac"; version = "2.0.1"; sha256 = "1ps7fs451ydsaz5g4j7bhcfawp8fys6vcah3rsrl36g7ni0dwf3v"; }) (fetchNuGet { pname = "Concentus"; version = "1.1.7"; sha256 = "0y5z444wrbhlmsqpy2sxmajl1fbf74843lvgj3y6vz260dn2q0l0"; }) (fetchNuGet { pname = "Concentus.Oggfile"; version = "1.0.4"; sha256 = "12n5bcg1i91daqgnl7q6d55phbkv1srkrvk2k7k8vxpyv231yb6v"; }) diff --git a/nixpkgs/pkgs/applications/audio/pbpctrl/default.nix b/nixpkgs/pkgs/applications/audio/pbpctrl/default.nix index 15f75813f851..3ce65da9f34d 100644 --- a/nixpkgs/pkgs/applications/audio/pbpctrl/default.nix +++ b/nixpkgs/pkgs/applications/audio/pbpctrl/default.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage rec { pname = "pbpctrl"; - version = "0.1.3"; + version = "0.1.4"; src = fetchFromGitHub { owner = "qzed"; repo = "${pname}"; rev = "v${version}"; - hash = "sha256-CYroQb6x2d4ay3RZUSiSrcGDF0IL3ETZtHAFt18sa5s="; + hash = "sha256-91sdlnffL/HX+Y8e6T+ZCa7MAcf4fWE0NJGLgmK47o8="; }; - cargoHash = "sha256-+YtnPKbxZENL6/u36RFFZA6F+19qHDAVx6Q8FSB/LCU="; + cargoHash = "sha256-U4//GvAEhrfOrivwW/6PbKHdWXGIuilPl7Zo17wnwDY="; nativeBuildInputs = [ pkg-config protobuf ]; buildInputs = [ dbus ]; diff --git a/nixpkgs/pkgs/applications/audio/pd-plugins/cyclone/default.nix b/nixpkgs/pkgs/applications/audio/pd-plugins/cyclone/default.nix index 03df731aef5d..12efbfb64a4c 100644 --- a/nixpkgs/pkgs/applications/audio/pd-plugins/cyclone/default.nix +++ b/nixpkgs/pkgs/applications/audio/pd-plugins/cyclone/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "cyclone"; - version = "0.3beta-2"; + version = "unstable-2023-09-12"; src = fetchFromGitHub { owner = "porres"; repo = "pd-cyclone"; - rev = "cyclone${version}"; - sha256 = "192jrq3bdsv626js1ymq10gwp9wwcszjs63ys6ap9ig8xdkbhr3q"; + rev = "7c470fb03db66057a2198843b635ac3f1abde84d"; + hash = "sha256-ixfnmeoRzV0qEOOIxCV1361t3d59fwxjHWhz9uXQ2ps="; }; buildInputs = [ puredata ]; @@ -23,11 +23,11 @@ stdenv.mkDerivation rec { rm -rf $out/lib ''; - meta = { + meta = with lib; { description = "A library of PureData classes, bringing some level of compatibility between Max/MSP and Pd environments"; homepage = "http://puredata.info/downloads/cyclone"; - license = lib.licenses.tcltk; - maintainers = [ lib.maintainers.magnetophon ]; - platforms = lib.platforms.linux; + license = licenses.tcltk; + maintainers = with maintainers; [ magnetophon carlthome ]; + platforms = platforms.linux; }; } diff --git a/nixpkgs/pkgs/applications/audio/pd-plugins/gem/default.nix b/nixpkgs/pkgs/applications/audio/pd-plugins/gem/default.nix index fc4c08a63aa3..7bfdb1bd8a8a 100644 --- a/nixpkgs/pkgs/applications/audio/pd-plugins/gem/default.nix +++ b/nixpkgs/pkgs/applications/audio/pd-plugins/gem/default.nix @@ -1,4 +1,5 @@ -{ lib, stdenv +{ lib +, stdenv , fetchFromGitHub , autoreconfHook , pkg-config @@ -10,17 +11,18 @@ , libv4l , libX11 , file - }: +}: stdenv.mkDerivation rec { pname = "gem-unstable"; - version = "2020-09-22"; + version = "2023-07-28"; src = fetchFromGitHub { + owner = "umlaeute"; repo = "Gem"; - rev = "2edfde4f0587e72ef325e7f53681936dcc19655b"; - sha256 = "0k5sq128wxi2qhaidspkw310pdgysxs47agv09pkjgvch2n4d5dq"; + rev = "4ec12eef8716822c68f7c02a5a94668d2427037d"; + hash = "sha256-Y/Z7oJdKGd7+aSk8eAN9qu4ss+BOvzaXWpWGjfJqGJ8="; }; nativeBuildInputs = [ @@ -39,11 +41,11 @@ stdenv.mkDerivation rec { libX11 ]; - meta = { + meta = with lib; { description = "Graphics Environment for Multimedia"; homepage = "http://puredata.info/downloads/gem"; - license = lib.licenses.gpl2Plus; - maintainers = [ lib.maintainers.raboof ]; - platforms = lib.platforms.linux; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ raboof carlthome ]; + platforms = platforms.linux; }; } diff --git a/nixpkgs/pkgs/applications/audio/picard/default.nix b/nixpkgs/pkgs/applications/audio/picard/default.nix index 1f811c2767fc..4ae4ff6b6794 100644 --- a/nixpkgs/pkgs/applications/audio/picard/default.nix +++ b/nixpkgs/pkgs/applications/audio/picard/default.nix @@ -16,19 +16,18 @@ let if enablePlayback then pythonPackages.pyqt5_with_qtmultimedia else - pythonPackages.pyqt5 - ; + pythonPackages.pyqt5; in pythonPackages.buildPythonApplication rec { pname = "picard"; - version = "2.9.2"; + version = "2.10"; format = "setuptools"; src = fetchFromGitHub { owner = "metabrainz"; repo = "picard"; rev = "refs/tags/release-${version}"; - hash = "sha256-Sk4QlwJqqgCWAgguhIVscJfpf/5imoHYN9yVWv5qYG8="; + hash = "sha256-wgIJ813mOSpFzFJESDwNvRSZcX42MTtOyFgSeeRR28g="; }; nativeBuildInputs = [ diff --git a/nixpkgs/pkgs/applications/audio/plexamp/default.nix b/nixpkgs/pkgs/applications/audio/plexamp/default.nix index b32f2f48f3a2..c3d36d3b3836 100644 --- a/nixpkgs/pkgs/applications/audio/plexamp/default.nix +++ b/nixpkgs/pkgs/applications/audio/plexamp/default.nix @@ -7,7 +7,7 @@ let src = fetchurl { url = "https://plexamp.plex.tv/plexamp.plex.tv/desktop/Plexamp-${version}.AppImage"; name="${pname}-${version}.AppImage"; - sha512 = "CrSXmRVatVSkMyB1QaNSL/tK60rQvT9JraRtYYLl0Fau3M1LJXK9yqvt77AjwIwIvi2Dm5SROG+c4rA1XtI4Yg=="; + hash = "sha512-CrSXmRVatVSkMyB1QaNSL/tK60rQvT9JraRtYYLl0Fau3M1LJXK9yqvt77AjwIwIvi2Dm5SROG+c4rA1XtI4Yg=="; }; appimageContents = appimageTools.extractType2 { diff --git a/nixpkgs/pkgs/applications/audio/praat/default.nix b/nixpkgs/pkgs/applications/audio/praat/default.nix index 8b2770ecd27e..9dcafa4eb0b5 100644 --- a/nixpkgs/pkgs/applications/audio/praat/default.nix +++ b/nixpkgs/pkgs/applications/audio/praat/default.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "praat"; - version = "6.3.16"; + version = "6.3.17"; src = fetchFromGitHub { owner = "praat"; repo = "praat"; rev = "v${finalAttrs.version}"; - hash = "sha256-0g16EblefuUU99RgcwtGrPWniGGlOt6GjVjyNdzN3GY="; + hash = "sha256-HArWXUYoIjJmvh0GOcdGyBHfqC5r4ZEuvXyQ1x5iOt0="; }; nativeBuildInputs = [ diff --git a/nixpkgs/pkgs/applications/audio/puredata/default.nix b/nixpkgs/pkgs/applications/audio/puredata/default.nix index ebdc0388b965..f8df443f5c78 100644 --- a/nixpkgs/pkgs/applications/audio/puredata/default.nix +++ b/nixpkgs/pkgs/applications/audio/puredata/default.nix @@ -1,30 +1,51 @@ -{ lib, stdenv, fetchurl, autoreconfHook, gettext, makeWrapper -, alsa-lib, libjack2, tk, fftw +{ lib +, stdenv +, fetchurl +, autoreconfHook +, gettext +, makeWrapper +, alsa-lib +, libjack2 +, tk +, fftw +, portaudio }: -stdenv.mkDerivation rec { +stdenv.mkDerivation rec { pname = "puredata"; - version = "0.50-2"; + version = "0.54-0"; src = fetchurl { url = "http://msp.ucsd.edu/Software/pd-${version}.src.tar.gz"; - sha256 = "0dz6r6jy0zfs1xy1xspnrxxks8kddi9c7pxz4vpg2ygwv83ghpg5"; + hash = "sha256-6MFKfYV5CWxuOsm1V4LaYChIRIlx0Qcwah5SbtBFZIU="; }; nativeBuildInputs = [ autoreconfHook gettext makeWrapper ]; - buildInputs = [ alsa-lib libjack2 fftw ]; + buildInputs = [ + fftw + libjack2 + ] ++ lib.optionals stdenv.isLinux [ + alsa-lib + ] ++ lib.optionals stdenv.isDarwin [ + portaudio + ]; configureFlags = [ - "--enable-alsa" - "--enable-jack" + "--enable-universal" "--enable-fftw" - "--disable-portaudio" - "--disable-oss" + "--enable-jack" + ] ++ lib.optionals stdenv.isLinux [ + "--enable-alsa" + ] ++ lib.optionals stdenv.isDarwin [ + "--enable-portaudio" + "--without-local-portaudio" + "--disable-jack-framework" + "--with-wish=${tk}/bin/wish8.6" ]; postInstall = '' - wrapProgram $out/bin/pd --prefix PATH : ${tk}/bin + wrapProgram $out/bin/pd --prefix PATH : ${lib.makeBinPath [ tk ]} ''; meta = with lib; { @@ -32,7 +53,9 @@ stdenv.mkDerivation rec { audio, video, and graphical processing''; homepage = "http://puredata.info"; license = licenses.bsd3; - platforms = platforms.linux; - maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux ++ platforms.darwin; + maintainers = with maintainers; [ goibhniu carlthome ]; + mainProgram = "pd"; + changelog = "https://msp.puredata.info/Pd_documentation/x5.htm#s1"; }; } diff --git a/nixpkgs/pkgs/applications/audio/qmmp/default.nix b/nixpkgs/pkgs/applications/audio/qmmp/default.nix index 569c707b9370..65cf4e3d7b00 100644 --- a/nixpkgs/pkgs/applications/audio/qmmp/default.nix +++ b/nixpkgs/pkgs/applications/audio/qmmp/default.nix @@ -26,11 +26,11 @@ stdenv.mkDerivation rec { pname = "qmmp"; - version = "2.1.4"; + version = "2.1.5"; src = fetchurl { url = "https://qmmp.ylsoftware.com/files/qmmp/2.1/${pname}-${version}.tar.bz2"; - hash = "sha256-gbQkDZgyo22VTWpEixuS2WaiwwXgKDsnXbB6Q0U0OeM="; + hash = "sha256-Jb4/KxnY1wtrUTbD+X04Wl7b9A2sZ92E/N1K+dVU95U="; }; nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ]; diff --git a/nixpkgs/pkgs/applications/audio/reaper/default.nix b/nixpkgs/pkgs/applications/audio/reaper/default.nix index 7c9e90fe9a1b..a3e02f058750 100644 --- a/nixpkgs/pkgs/applications/audio/reaper/default.nix +++ b/nixpkgs/pkgs/applications/audio/reaper/default.nix @@ -25,13 +25,13 @@ let in stdenv.mkDerivation rec { pname = "reaper"; - version = "6.82"; + version = "7.0"; src = fetchurl { url = url_for_platform version stdenv.hostPlatform.qemuArch; hash = { - x86_64-linux = "sha256-2vtkOodMj0JGLQQn4a+XHxodHQqpnSW1ea7v6aC9sHo="; - aarch64-linux = "sha256-FBNfXTnxqq22CnFrE2zvf6kDy/p/+SXOzqz7JS3IdG8="; + x86_64-linux = "sha256-lHXy1xSwhNht6dt30e35nE1ZpOm8oTMMpoZJI7ELsjg="; + aarch64-linux = "sha256-a/e8DQ9NvbLyZHqg7pUxm+kV7i5vKCjeq9EOO0/5TJk="; }.${stdenv.hostPlatform.system}; }; diff --git a/nixpkgs/pkgs/applications/audio/renoise/default.nix b/nixpkgs/pkgs/applications/audio/renoise/default.nix index 44dbff6077bc..a67832d2d642 100644 --- a/nixpkgs/pkgs/applications/audio/renoise/default.nix +++ b/nixpkgs/pkgs/applications/audio/renoise/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { } else releasePath - else throw "Platform is not supported. Use instalation native to your platform https://www.renoise.com/"; + else throw "Platform is not supported. Use installation native to your platform https://www.renoise.com/"; buildInputs = [ alsa-lib libjack2 libX11 libXcursor libXext libXrandr ]; diff --git a/nixpkgs/pkgs/applications/audio/songrec/default.nix b/nixpkgs/pkgs/applications/audio/songrec/default.nix index 30e6ba9b2fa7..96757234e15a 100644 --- a/nixpkgs/pkgs/applications/audio/songrec/default.nix +++ b/nixpkgs/pkgs/applications/audio/songrec/default.nix @@ -11,16 +11,16 @@ rustPlatform.buildRustPackage rec { pname = "songrec"; - version = "0.3.2"; + version = "0.3.3"; src = fetchFromGitHub { owner = "marin-m"; repo = pname; rev = version; - sha256 = "sha256-cUiy8ApeUv1K8SEH4APMTvbieGTt4kZYhyB9iGJd/IY="; + hash = "sha256-K80uoMfwkyH/K8t6zdkq1ZYTpI0dAIvO2K2kzpzDoN0="; }; - cargoSha256 = "sha256-Tlq4qDp56PXP4N1UyHjtQoRgDrc/19vIv8uml/lAqqc="; + cargoHash = "sha256-Xmey+goHGTWMgKIJRzKMi9Y1bv677Yo2sfDaMauvZsM="; nativeBuildInputs = [ pkg-config ]; diff --git a/nixpkgs/pkgs/applications/audio/soundconverter/default.nix b/nixpkgs/pkgs/applications/audio/soundconverter/default.nix index bc7a6ea5a1f1..e2e5094e8452 100644 --- a/nixpkgs/pkgs/applications/audio/soundconverter/default.nix +++ b/nixpkgs/pkgs/applications/audio/soundconverter/default.nix @@ -32,7 +32,7 @@ python3Packages.buildPythonApplication rec { propagatedBuildInputs = [ python3Packages.gst-python - python3Packages.distutils_extra + python3Packages.distutils-extra python3Packages.setuptools python3Packages.pygobject3 ]; diff --git a/nixpkgs/pkgs/applications/audio/spotify-player/default.nix b/nixpkgs/pkgs/applications/audio/spotify-player/default.nix index 4bf9380e3568..aa13693541e1 100644 --- a/nixpkgs/pkgs/applications/audio/spotify-player/default.nix +++ b/nixpkgs/pkgs/applications/audio/spotify-player/default.nix @@ -33,16 +33,16 @@ assert lib.assertOneOf "withAudioBackend" withAudioBackend [ "" "alsa" "pulseaud rustPlatform.buildRustPackage rec { pname = "spotify-player"; - version = "0.15.0"; + version = "0.15.2"; src = fetchFromGitHub { owner = "aome510"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-5+YBlXHpAzGgw6MqgnMSggCASS++A/WWomftX8Jxe7g="; + hash = "sha256-yYn8xuJE0mILF7poiTbHCmFswP/xG+BbL+AASrLpbAs="; }; - cargoHash = "sha256-PIYaJC3rVbPjc2CASzMGWAzUdrBwFnKqhrZO6nywdN8="; + cargoHash = "sha256-/q7xrsuRym5oDCGJRpBTdBach2CAbhCCC3cPFzCT4PU="; nativeBuildInputs = [ pkg-config diff --git a/nixpkgs/pkgs/applications/audio/spotify/linux.nix b/nixpkgs/pkgs/applications/audio/spotify/linux.nix index 117d2325ce36..239d03268245 100644 --- a/nixpkgs/pkgs/applications/audio/spotify/linux.nix +++ b/nixpkgs/pkgs/applications/audio/spotify/linux.nix @@ -14,14 +14,14 @@ let # If an update breaks things, one of those might have valuable info: # https://aur.archlinux.org/packages/spotify/ # https://community.spotify.com/t5/Desktop-Linux - version = "1.2.11.916.geb595a67"; + version = "1.2.13.661.ga588f749"; # To get the latest stable revision: # curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=stable' | jq '.download_url,.version,.last_updated' # To get general information: # curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.' # More examples of api usage: # https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py - rev = "67"; + rev = "68"; deps = [ alsa-lib @@ -84,7 +84,7 @@ stdenv.mkDerivation { # https://community.spotify.com/t5/Desktop-Linux/Redistribute-Spotify-on-Linux-Distributions/td-p/1695334 src = fetchurl { url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap"; - sha512 = "3d5a9fda88a076a22bb6d0b6b586334865f03a4e852ca8e022468e3dd3520a81dea314721e26e54ba9309603e08f66588f005ee8970e73eccbf805ff70e89dca"; + hash = "sha512-THGSRx0sGOVEB6bOHWHiy1G0Acq0hUa94tG/v+i5DA+CluI58pqj8gYQ61k/ACLJXTUyM8SA92C8DK1Go18X8w=="; }; nativeBuildInputs = [ wrapGAppsHook makeShellWrapper squashfsTools ]; diff --git a/nixpkgs/pkgs/applications/audio/spotify/update.sh b/nixpkgs/pkgs/applications/audio/spotify/update.sh index 8c466e836cd2..9bd983755c71 100755 --- a/nixpkgs/pkgs/applications/audio/spotify/update.sh +++ b/nixpkgs/pkgs/applications/audio/spotify/update.sh @@ -39,12 +39,11 @@ snap_info=($( # just for human consumption. Revision is just an integer that gets increased # by one every (stable or unstable) release. revision="${snap_info[0]}" -sha512="${snap_info[1]}" +# We need to escape the slashes +hash="$(nix-hash --to-sri --type sha512 ${snap_info[1]} | sed 's|/|\\/|g')" upstream_version="${snap_info[2]}" last_updated="${snap_info[3]}" - echo "Latest $channel release is $upstream_version from $last_updated." - # # read the current spotify version from the currently *committed* nix expression # @@ -70,7 +69,7 @@ echo "Updating from ${current_nix_version} to ${upstream_version}, released on $ # search-and-replace revision, hash and version sed --regexp-extended \ -e 's/rev\s*=\s*"[0-9]+"\s*;/rev = "'"${revision}"'";/' \ - -e 's/sha512\s*=\s*"[^"]*"\s*;/sha512 = "'"${sha512}"'";/' \ + -e 's/hash\s*=\s*"[^"]*"\s*;/hash = "'"${hash}"'";/' \ -e 's/version\s*=\s*".*"\s*;/version = "'"${upstream_version}"'";/' \ -i "$spotify_nix" diff --git a/nixpkgs/pkgs/applications/audio/squeezelite/default.nix b/nixpkgs/pkgs/applications/audio/squeezelite/default.nix index d0ceec6d67a7..da126de3fc43 100644 --- a/nixpkgs/pkgs/applications/audio/squeezelite/default.nix +++ b/nixpkgs/pkgs/applications/audio/squeezelite/default.nix @@ -101,6 +101,7 @@ stdenv.mkDerivation { description = "Lightweight headless squeezebox client emulator"; homepage = "https://github.com/ralph-irving/squeezelite"; license = with licenses; [ gpl3Plus ] ++ optional dsdSupport bsd2; + mainProgram = binName; maintainers = with maintainers; [ adamcstephens ]; platforms = if (audioBackend == "pulse") then platforms.linux else platforms.linux ++ platforms.darwin; }; diff --git a/nixpkgs/pkgs/applications/audio/strawberry/default.nix b/nixpkgs/pkgs/applications/audio/strawberry/default.nix index 25193d1b78e4..7933c7457173 100644 --- a/nixpkgs/pkgs/applications/audio/strawberry/default.nix +++ b/nixpkgs/pkgs/applications/audio/strawberry/default.nix @@ -42,13 +42,13 @@ let in stdenv.mkDerivation rec { pname = "strawberry"; - version = "1.0.18"; + version = "1.0.20"; src = fetchFromGitHub { owner = "jonaski"; repo = pname; rev = version; - hash = "sha256-vOay9xPSwgSYurFgL9f4OdBPzGJkV4t+7lJgeCeT0c4="; + hash = "sha256-/utd2uYoxPHQ4kQwA0tZW5HwmN90vXL23EiNFh3wXoE="; }; # the big strawberry shown in the context menu is *very* much in your face, so use the grey version instead diff --git a/nixpkgs/pkgs/applications/audio/sublime-music/default.nix b/nixpkgs/pkgs/applications/audio/sublime-music/default.nix index 441ff9615498..a2f6b17a8746 100644 --- a/nixpkgs/pkgs/applications/audio/sublime-music/default.nix +++ b/nixpkgs/pkgs/applications/audio/sublime-music/default.nix @@ -44,7 +44,7 @@ in python.pkgs.buildPythonApplication rec { pname = "sublime-music"; version = "0.12.0"; - format = "flit"; + format = "pyproject"; src = fetchFromGitHub { owner = "sublime-music"; @@ -54,6 +54,7 @@ python.pkgs.buildPythonApplication rec { }; nativeBuildInputs = [ + python.pkgs.flit-core gobject-introspection wrapGAppsHook ]; diff --git a/nixpkgs/pkgs/applications/audio/tauon/default.nix b/nixpkgs/pkgs/applications/audio/tauon/default.nix index 18e0cfe257f8..52ddd5302191 100644 --- a/nixpkgs/pkgs/applications/audio/tauon/default.nix +++ b/nixpkgs/pkgs/applications/audio/tauon/default.nix @@ -26,13 +26,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "tauon"; - version = "7.6.6"; + version = "7.6.7"; src = fetchFromGitHub { owner = "Taiko2k"; repo = "TauonMusicBox"; rev = "v${finalAttrs.version}"; - hash = "sha256-yt5sMvYau43WwVerQlaOrvzJ4HnBOEVQqbql9UH8jnM="; + hash = "sha256-d25JM2LUQw6KYPojc+Pn40IwCYWLE9un0YAMIBC1NVg="; }; postUnpack = '' diff --git a/nixpkgs/pkgs/applications/audio/tenacity/default.nix b/nixpkgs/pkgs/applications/audio/tenacity/default.nix index 04dd28e0b5c9..d9c1ba89fbb8 100644 --- a/nixpkgs/pkgs/applications/audio/tenacity/default.nix +++ b/nixpkgs/pkgs/applications/audio/tenacity/default.nix @@ -49,14 +49,15 @@ stdenv.mkDerivation rec { pname = "tenacity"; - version = "1.3.1"; + version = "1.3.2"; src = fetchFromGitea { domain = "codeberg.org"; owner = "tenacityteam"; repo = pname; + fetchSubmodules = true; rev = "v${version}"; - sha256 = "sha256-wesnay+UQiPSDaRuSo86MgHdElN4s0rPIvokZhKM7GI="; + hash = "sha256-JgmAuCfXP345xgg5jac8Sa0cBSsWJbtoYmVV0DLcIkk="; }; postPatch = '' diff --git a/nixpkgs/pkgs/applications/audio/ymuse/default.nix b/nixpkgs/pkgs/applications/audio/ymuse/default.nix index 75b5040711ee..2c8da2f3af44 100644 --- a/nixpkgs/pkgs/applications/audio/ymuse/default.nix +++ b/nixpkgs/pkgs/applications/audio/ymuse/default.nix @@ -13,16 +13,16 @@ buildGoModule rec { pname = "ymuse"; - version = "0.21"; + version = "0.22"; src = fetchFromGitHub { owner = "yktoo"; repo = "ymuse"; rev = "v${version}"; - hash = "sha256-3QgBbK7AK9/uQ6Z7DNIJxa1oXrxvvHDQ/Z2QOf7yfS4="; + hash = "sha256-WbIeqOAhdqxU8EvHEsG7ASwy5xZG1domZKT5ccOggHg="; }; - vendorHash = "sha256-7oYYZWpvWzeHlp6l9bLeHcLITLZPVY5eZdfHSE+ZHW8="; + vendorHash = "sha256-YT4JiieVI6/t4inezE3K2WQBI51W+/MoWr7R/uBzn+8="; nativeBuildInputs = [ pkg-config @@ -68,5 +68,7 @@ buildGoModule rec { description = "GTK client for Music Player Daemon (MPD)"; license = licenses.asl20; maintainers = with maintainers; [ foo-dogsquared ]; + mainProgram = "ymuse"; + platforms = platforms.unix; }; } diff --git a/nixpkgs/pkgs/applications/audio/yoshimi/default.nix b/nixpkgs/pkgs/applications/audio/yoshimi/default.nix index 63ecd18e4641..459cbd6388b4 100644 --- a/nixpkgs/pkgs/applications/audio/yoshimi/default.nix +++ b/nixpkgs/pkgs/applications/audio/yoshimi/default.nix @@ -22,13 +22,13 @@ stdenv.mkDerivation rec { pname = "yoshimi"; - version = "2.3.0.2"; + version = "2.3.0.3"; src = fetchFromGitHub { owner = "Yoshimi"; repo = pname; rev = version; - hash = "sha256-zFwfKy8CVecGhgr48T+eDNHfMdctfrNGenc/XJctyw8="; + hash = "sha256-IsmhLUGqoa4Le86LE9SHFiXeiIKgwNfLaPFYXxnC9BM="; }; sourceRoot = "${src.name}/src"; diff --git a/nixpkgs/pkgs/applications/audio/youtube-music/default.nix b/nixpkgs/pkgs/applications/audio/youtube-music/default.nix index d6313c6bd84f..3ebcb823acba 100644 --- a/nixpkgs/pkgs/applications/audio/youtube-music/default.nix +++ b/nixpkgs/pkgs/applications/audio/youtube-music/default.nix @@ -1,44 +1,87 @@ -{ lib, fetchurl, appimageTools, makeWrapper }: +{ lib +, fetchFromGitHub +, buildNpmPackage +, makeWrapper +, electron_25 +, python3 +, copyDesktopItems +, makeDesktopItem +}: let pname = "youtube-music"; - version = "1.20.0"; + version = "2.1.0"; - src = fetchurl { - url = "https://github.com/th-ch/youtube-music/releases/download/v${version}/YouTube-Music-${version}.AppImage"; - hash = "sha256-eTPWLD9KUs2ZsLbYRkknnx5uDyrNSbFHPyv6gU+wL/c="; + src = fetchFromGitHub { + owner = "th-ch"; + repo = pname; + rev = "v${version}"; + hash = "sha256-aYEEUv+dybzcH0aNJlZ19XF++8cswFunrU0H+ZaKm4Y="; }; - appimageContents = appimageTools.extract { inherit pname version src; }; + electron = electron_25; + in -(appimageTools.wrapType2 rec { +buildNpmPackage rec { inherit pname version src; - extraPkgs = pkgs: (appimageTools.defaultFhsEnvArgs.multiPkgs pkgs) - ++ [ pkgs.libappindicator ]; - - extraInstallCommands = '' - mv $out/bin/{${pname}-${version},${pname}} - wrapProgram "$out/bin/${pname}" \ - --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland --enable-features=WaylandWindowDecorations}}" - - install -m 444 \ - -D ${appimageContents}/youtube-music.desktop \ - -t $out/share/applications - substituteInPlace \ - $out/share/applications/youtube-music.desktop \ - --replace 'Exec=AppRun' 'Exec=${pname}' - cp -r ${appimageContents}/usr/share/icons $out/share + + nativeBuildInputs = [ makeWrapper python3 copyDesktopItems ]; + + npmDepsHash = "sha256-XGV0mTywYYxpMitojzIILB/Eu/8dfk/aCvUxIkx4SDQ="; + makeCacheWritable = true; + + env = { + ELECTRON_SKIP_BINARY_DOWNLOAD = 1; + }; + + postBuild = '' + npm exec electron-builder -- \ + --dir \ + -c.electronDist=${electron}/libexec/electron \ + -c.electronVersion=${electron.version} + ''; + + installPhase = '' + runHook preInstall + + mkdir -p "$out/share/lib/youtube-music" + cp -r pack/*-unpacked/{locales,resources{,.pak}} "$out/share/lib/youtube-music" + + pushd assets/generated/icons/png + for file in *.png; do + install -Dm0644 $file $out/share/icons/hicolor/''${file//.png}/apps/youtube-music.png + done + popd + + runHook postInstall ''; + postFixup = '' + makeWrapper ${electron}/bin/electron $out/bin/youtube-music \ + --add-flags $out/share/lib/youtube-music/resources/app.asar \ + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \ + --set-default ELECTRON_FORCE_IS_PACKAGED 1 \ + --set-default ELECTRON_IS_DEV 0 \ + --inherit-argv0 + ''; + + desktopItems = [ + (makeDesktopItem { + name = "youtube-music"; + exec = "youtube-music %u"; + icon = "youtube-music"; + desktopName = "Youtube Music"; + startupWMClass = "Youtube Music"; + categories = ["AudioVideo"]; + }) + ]; + meta = with lib; { description = "Electron wrapper around YouTube Music"; homepage = "https://th-ch.github.io/youtube-music/"; license = licenses.mit; - sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - platforms = platforms.linux; + inherit (electron.meta) platforms; maintainers = [ maintainers.aacebedo ]; mainProgram = "youtube-music"; }; -}).overrideAttrs ({ nativeBuildInputs ? [ ], ... }: { - nativeBuildInputs = nativeBuildInputs ++ [ makeWrapper ]; -}) +} |