baudline: init at 1.0.8

Baudline is a scientific signal analysis application.

I was unsure whether the baudline license allowed packaging in nixpkgs,
so I sent a copy of this nix expression (and some explanation) to their
support. I got this reply:

From: Erik Olson <erik@sigblips.com>
Subject: Re: Licensing question

Hello Bjorn,

This sounds fine. What you suggest doing is very similar to how the
FreeBSD FreshPorts system deals with baudline.

Erik

So basically, everything is good as long as we only distribute the _expression_
to install the package. We must not distribute the package (binary).

+74
+70
pkgs/applications/audio/baudline/default.nix
···
··· 1 + { stdenv, fetchurl, libXmu, libXt, libX11, libXext, libXxf86vm, jack 2 + , makeWrapper 3 + }: 4 + 5 + let 6 + rpath = stdenv.lib.makeLibraryPath 7 + [ libXmu libXt libX11 libXext libXxf86vm jack ]; 8 + in 9 + stdenv.mkDerivation rec { 10 + name = "baudline-${version}"; 11 + version = "1.08"; 12 + 13 + src = 14 + if stdenv.system == "x86_64-linux" then 15 + fetchurl { 16 + url = "http://www.baudline.com/baudline_${version}_linux_x86_64.tar.gz"; 17 + sha256 = "09fn0046i69in1jpizkzbaq5ggij0mpflcsparyskm3wh71mbzvr"; 18 + } 19 + else if stdenv.system == "i686-linux" then 20 + fetchurl { 21 + url = "http://www.baudline.com/baudline_${version}_linux_i686.tar.gz"; 22 + sha256 = "1waip5pmcf5ffcfvn8lf1rvsaq2ab66imrbfqs777scz7k8fhhjb"; 23 + } 24 + else 25 + throw "baudline isn't supported (yet?) on ${stdenv.system}"; 26 + 27 + buildInputs = [ makeWrapper ]; 28 + 29 + # Prebuilt binary distribution. 30 + # "patchelf --set-rpath" seems to break the application (cannot start), using 31 + # LD_LIBRARY_PATH wrapper script instead. 32 + buildPhase = "true"; 33 + installPhase = '' 34 + mkdir -p "$out/bin" 35 + mkdir -p "$out/libexec/baudline" 36 + 37 + cp -r . "$out/libexec/baudline/" 38 + 39 + interpreter="$(echo ${stdenv.glibc}/lib/ld-linux*)" 40 + for prog in "$out"/libexec/baudline/baudline*; do 41 + patchelf --interpreter "$interpreter" "$prog" 42 + ln -sr "$prog" "$out/bin/" 43 + done 44 + for prog in "$out"/bin/*; do 45 + wrapProgram "$prog" --prefix LD_LIBRARY_PATH : ${rpath} 46 + done 47 + ''; 48 + 49 + meta = with stdenv.lib; { 50 + description = "Scientific signal analysis application"; 51 + longDescription = '' 52 + Baudline is a time-frequency browser designed for scientific 53 + visualization of the spectral domain. Signal analysis is performed by 54 + Fourier, correlation, and raster transforms that create colorful 55 + spectrograms with vibrant detail. Conduct test and measurement 56 + experiments with the built in function generator, or play back audio 57 + files with a multitude of effects and filters. The baudline signal 58 + analyzer combines fast digital signal processing, versatile high speed 59 + displays, and continuous capture tools for hunting down and studying 60 + elusive signal characteristics. 61 + ''; 62 + homepage = http://www.baudline.com/; 63 + # See http://www.baudline.com/faq.html#licensing_terms. 64 + # (Do NOT (re)distribute on hydra.) 65 + license = licenses.unfree; 66 + platforms = [ "x86_64-linux" "i686-linux" ]; 67 + maintainers = [ maintainers.bjornfor ]; 68 + }; 69 + 70 + }
+4
pkgs/top-level/all-packages.nix
··· 10906 10907 batti = callPackage ../applications/misc/batti { }; 10908 10909 cbatticon = callPackage ../applications/misc/cbatticon { }; 10910 10911 bazaar = callPackage ../applications/version-management/bazaar { };
··· 10906 10907 batti = callPackage ../applications/misc/batti { }; 10908 10909 + baudline = callPackage ../applications/audio/baudline { 10910 + jack = jack1; 10911 + }; 10912 + 10913 cbatticon = callPackage ../applications/misc/cbatticon { }; 10914 10915 bazaar = callPackage ../applications/version-management/bazaar { };