diff options
Diffstat (limited to 'pkgs/applications/audio')
-rw-r--r-- | pkgs/applications/audio/gigedit/default.nix | 23 | ||||
-rw-r--r-- | pkgs/applications/audio/roomeqwizard/default.nix | 118 |
2 files changed, 138 insertions, 3 deletions
diff --git a/pkgs/applications/audio/gigedit/default.nix b/pkgs/applications/audio/gigedit/default.nix index 1187dd1ba26e5..8c37e8901a333 100644 --- a/pkgs/applications/audio/gigedit/default.nix +++ b/pkgs/applications/audio/gigedit/default.nix @@ -1,7 +1,24 @@ -{ lib, stdenv, fetchurl, autoconf, automake, intltool, libtool, pkg-config, which -, docbook_xml_dtd_45, docbook_xsl, gtkmm2, libgig, libsndfile, libxslt +{ lib +, stdenv +, fetchurl +, autoconf +, automake +, intltool +, libtool +, pkg-config +, which +, docbook_xml_dtd_45 +, docbook_xsl +, gtkmm2 +, pangomm_2_42 +, libgig +, libsndfile +, libxslt }: +let + gtkmm2_with_pango242 = gtkmm2.override { pangomm = pangomm_2_42; }; +in stdenv.mkDerivation rec { pname = "gigedit"; version = "1.1.1"; @@ -15,7 +32,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoconf automake intltool libtool pkg-config which ]; - buildInputs = [ docbook_xml_dtd_45 docbook_xsl gtkmm2 libgig libsndfile libxslt ]; + buildInputs = [ docbook_xml_dtd_45 docbook_xsl gtkmm2_with_pango242 libgig libsndfile libxslt ]; enableParallelBuilding = true; diff --git a/pkgs/applications/audio/roomeqwizard/default.nix b/pkgs/applications/audio/roomeqwizard/default.nix new file mode 100644 index 0000000000000..9d4118a439158 --- /dev/null +++ b/pkgs/applications/audio/roomeqwizard/default.nix @@ -0,0 +1,118 @@ +{ coreutils +, fetchurl +, gawk +, gnused +, jdk8 +, lib +, makeDesktopItem +, makeWrapper +, stdenv +, writeScript +, writeTextFile +, recommendedUdevRules ? true +}: + +stdenv.mkDerivation rec { + pname = "roomeqwizard"; + version = "5.20.4"; + + src = fetchurl { + url = "https://www.roomeqwizard.com/installers/REW_linux_${lib.replaceChars [ "." ] [ "_" ] version}.sh"; + sha256 = "0m2b5hwazy4vyjk51cmayys250rircs3c0v7bv5mn28h7hyq29s8"; + }; + + dontUnpack = true; + + desktopItem = makeDesktopItem { + name = pname; + exec = pname; + icon = pname; + desktopName = "REW"; + genericName = "Software for audio measurements"; + categories = "AudioVideo;"; + }; + + responseFile = writeTextFile { + name = "response.varfile"; + text = '' + createDesktopLinkAction$Boolean=false + executeLauncherAction$Boolean=false + mem$Integer=1 + opengl$Boolean=false + sys.adminRights$Boolean=false + sys.installationDir=INSTALLDIR + sys.languageId=en + sys.programGroupDisabled$Boolean=true + ''; + }; + + udevRules = '' + # MiniDSP UMIK-1 calibrated USB microphone + SUBSYSTEM=="usb", ATTR{idVendor}=="2752", ATTR{idProduct}=="0007", TAG+="uaccess" + ''; + + nativeBuildInputs = [ makeWrapper ]; + + buildPhase = '' + runHook preBuild + + # set JDK path in installer + sed -E 's|^#\s*(INSTALL4J_JAVA_HOME_OVERRIDE=)|\1${jdk8}|' $src > installer + chmod +x installer + + sed -e "s|INSTALLDIR|$out/share/roomeqwizard|" $responseFile > response.varfile + + export HOME=$PWD + + ./installer -q -varfile response.varfile + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin $out/lib/udev/rules.d $out/share/icons/hicolor/256x256/apps + makeWrapper $out/share/roomeqwizard/roomeqwizard $out/bin/roomeqwizard \ + --set INSTALL4J_JAVA_HOME_OVERRIDE ${jdk8} \ + --prefix PATH : ${lib.makeBinPath [ coreutils gnused gawk ]} + + cp -r "$desktopItem/share/applications" $out/share/ + cp $out/share/roomeqwizard/.install4j/s_*.png "$out/share/icons/hicolor/256x256/apps/${pname}.png" + + ${lib.optionalString recommendedUdevRules ''echo "$udevRules" > $out/lib/udev/rules.d/90-roomeqwizard.rules''} + + runHook postInstall + ''; + + passthru.updateScript = writeScript "${pname}-update.sh" '' + #!/usr/bin/env nix-shell + #!nix-shell -i bash -p curl common-updater-scripts nixpkgs-fmt coreutils perl + + set -euo pipefail + + perlexpr='if (/current version.{1,10}v(\d+)\.(\d+)\.(\d+)/i) { print "$1.$2.$3"; break; }' + + oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion ${pname}" | tr -d '"')" + latestVersion="$(curl -sS https://www.roomeqwizard.com/index.html | perl -ne "$perlexpr")" + + if [ ! "$oldVersion" = "$latestVersion" ]; then + update-source-version ${pname} "$latestVersion" --version-key=version --print-changes + nixpkgs-fmt "pkgs/applications/audio/roomeqwizard/default.nix" + else + echo "${pname} is already up-to-date" + fi + ''; + + meta = with lib; { + homepage = "https://www.roomeqwizard.com/"; + license = licenses.unfree; + platforms = platforms.all; + maintainers = with maintainers; [ zaninime ]; + description = "Room Acoustics Software"; + longDescription = '' + REW is free software for room acoustic measurement, loudspeaker + measurement and audio device measurement. + ''; + }; +} |