;;; Copyright © 2018 Brett Gilio <brettg@posteo.net>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de>
+;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2018 Brendan Tildesley <brendan.tildesley@openmailbox.org>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages qt)
#:use-module (gnu packages libbsd)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages libusb)
#:use-module (gnu packages llvm)
#:use-module (gnu packages mp3) ;taglib
#:use-module (gnu packages perl)
(arguments
`(#:configure-flags '("--cxx11" ; required by gtkmm
"--no-phone-home" ; don't contact ardour.org
- "--freedesktop" ; install .desktop file
+ "--freedesktop" ; build .desktop file
"--test") ; build unit tests
#:phases
(modify-phases %standard-phases
- (add-after
- 'unpack 'set-rpath-in-LDFLAGS
- ,(ardour-rpath-phase (version-major version))))
+ (add-after 'unpack 'set-rpath-in-LDFLAGS
+ ,(ardour-rpath-phase (version-major version)))
+ (add-after 'install 'install-freedesktop-files
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (share (string-append out "/share"))
+ (ver ,(version-major version)))
+ (for-each
+ (lambda (size)
+ (let ((dir (string-append share "/icons/hicolor/"
+ size "x" size "/apps")))
+ (mkdir-p dir)
+ (copy-file
+ (string-append "gtk2_ardour/resources/Ardour-icon_"
+ size "px.png")
+ (string-append dir "/ardour" ver ".png"))))
+ '("16" "22" "32" "48" "256"))
+ (install-file (string-append "build/gtk2_ardour/ardour"
+ ver ".desktop")
+ (string-append share "/applications/"))
+ (install-file (string-append "build/gtk2_ardour/ardour"
+ ver ".appdata.xml")
+ (string-append share "/appdata/")))
+ #t)))
#:test-target "test"
#:python ,python-2))
(inputs
`(("alsa-lib" ,alsa-lib)
+ ("atkmm" ,atkmm)
("aubio" ,aubio)
- ("lrdf" ,lrdf)
("boost" ,boost)
- ("atkmm" ,atkmm)
("cairomm" ,cairomm)
+ ("curl" ,curl)
("eudev" ,eudev)
- ("gtkmm" ,gtkmm-2)
+ ("fftw" ,fftw)
+ ("fftwf" ,fftwf)
+ ("flac" ,flac)
("glibmm" ,glibmm)
+ ("gtkmm" ,gtkmm-2)
+ ("jack" ,jack-1)
+ ("libarchive" ,libarchive)
("libart-lgpl" ,libart-lgpl)
("libgnomecanvasmm" ,libgnomecanvasmm)
- ("pangomm" ,pangomm)
("liblo" ,liblo)
- ("libsndfile" ,libsndfile)
- ("libsamplerate" ,libsamplerate)
- ("libxml2" ,libxml2)
("libogg" ,libogg)
+ ("libsamplerate" ,libsamplerate)
+ ("libsndfile" ,libsndfile)
+ ("libusb" ,libusb)
("libvorbis" ,libvorbis)
- ("flac" ,flac)
+ ("libxml2" ,libxml2)
+ ("lilv" ,lilv)
+ ("lrdf" ,lrdf)
("lv2" ,lv2)
- ("vamp" ,vamp)
- ("curl" ,curl)
- ("fftw" ,fftw)
- ("fftwf" ,fftwf)
- ("jack" ,jack-1)
+ ("pangomm" ,pangomm)
+ ("python-rdflib" ,python-rdflib)
+ ("readline" ,readline)
+ ("redland" ,redland)
+ ("rubberband" ,rubberband)
("serd" ,serd)
("sord" ,sord)
("sratom" ,sratom)
("suil" ,suil)
- ("lilv" ,lilv)
- ("readline" ,readline)
- ("redland" ,redland)
- ("rubberband" ,rubberband)
- ("libarchive" ,libarchive)
("taglib" ,taglib)
- ("python-rdflib" ,python-rdflib)))
+ ("vamp" ,vamp)))
(native-inputs
- `(("perl" ,perl)
- ("cppunit" ,cppunit)
- ("itstool" ,itstool)
+ `(("cppunit" ,cppunit)
("gettext" ,gettext-minimal)
+ ("itstool" ,itstool)
+ ("perl" ,perl)
("pkg-config" ,pkg-config)))
(home-page "http://ardour.org")
(synopsis "Digital audio workstation")
(lambda _
(symlink "libclalsadrv.so"
(string-append (assoc-ref %outputs "out")
- "/lib/libclalsadrv.so.2"))))
+ "/lib/libclalsadrv.so.2"))
+ #t))
;; no configure script
(delete 'configure))))
(inputs
((".*CFLAGS.*-Wall.*" m)
(string-append m
" conf.env.append_unique('LINKFLAGS',"
- "'-Wl,-rpath=" %output "/lib')\n")))))
+ "'-Wl,-rpath=" %output "/lib')\n")))
+ #t))
(add-after 'install 'wrap-python-scripts
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Make sure 'jack_control' runs with the correct PYTHONPATH.
(build-system waf-build-system)
(arguments
`(#:tests? #f ; no check target
+ #:python ,python-2
#:phases
(modify-phases %standard-phases
(add-before
(arguments
`(#:tests? #f ; the "test" target is a listening test only
#:phases
- (alist-replace
- 'configure
- (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
- (chdir "src")
- (let ((out (assoc-ref outputs "out")))
- (substitute* "makefile"
- (("/usr/lib/ladspa/") (string-append out "/lib/ladspa/"))
- (("/usr/include/") (string-append out "/include/"))
- (("/usr/bin/") (string-append out "/bin/"))
- (("-mkdirhier") "mkdir -p")
- (("^CC.*") "CC = gcc\n")
- (("^CPP.*") "CPP = g++\n"))))
- (alist-delete 'build %standard-phases))))
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
+ (chdir "src")
+ (let ((out (assoc-ref outputs "out")))
+ (substitute* "makefile"
+ (("/usr/lib/ladspa/") (string-append out "/lib/ladspa/"))
+ (("/usr/include/") (string-append out "/include/"))
+ (("/usr/bin/") (string-append out "/bin/"))
+ (("-mkdirhier") "mkdir -p")
+ (("^CC.*") "CC = gcc\n")
+ (("^CPP.*") "CPP = g++\n")))
+ #t))
+ (delete 'build))))
;; Since the home page is gone, we provide a link to the archived version.
(home-page
"https://web.archive.org/web/20140729190945/http://www.ladspa.org/")
(build-system waf-build-system)
(arguments
`(#:tests? #f ; no check target
+ ;; XXX: The bundled waf does not work with Python 3.7.
+ #:python ,python-2
#:configure-flags '("--no-plugins")))
(inputs
;; Leaving off cairo and gtk+-2.0 which are needed for example plugins
(base32
"1agdpwwi42176l4mxj0c4fsvdiv1ig56bfnnx0msckxmy57df8bb"))))
(build-system waf-build-system)
- (arguments `(#:tests? #f)) ; no check target
+ (arguments
+ `(#:tests? #f ; no check target
+ #:python ,python-2))
(inputs
`(("alsa-lib" ,alsa-lib)
("boost" ,boost)
(define-public qjackctl
(package
(name "qjackctl")
- (version "0.5.4")
+ (version "0.5.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/qjackctl/qjackctl/"
version "/qjackctl-" version ".tar.gz"))
(sha256
(base32
- "0qr71nb93gkz5q53nfcl5g168z173wc6s8w1yjs3rfn3m4hg0bcq"))))
+ "1rzzqa39a6llr52vjkjr0a86nc776kmr5xs52qqga8ms9697psz5"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f)) ; no check target
(define-public supercollider
(package
(name "supercollider")
- (version "3.9.3")
+ (version "3.10.0")
(source (origin
(method url-fetch)
(uri (string-append
"/SuperCollider-" version "-Source-linux.tar.bz2"))
(sha256
(base32
- "1d8ixfl100jvlialxdizp8wqsl1mp5pi2bam25vp97bhjd59cfdr"))))
+ "16j9psa32czx1p1y2vvq0qf2ib0ngrfc604vx35n2b4llyika84v"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-DSYSTEM_BOOST=on" "-DSYSTEM_YAMLCPP=on"
(ice-9 ftw))
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'fix-build-with-boost-1.68
+ (lambda _
+ (substitute* "server/supernova/utilities/time_tag.hpp"
+ (("(time_duration offset = .+ microseconds\\().*" _ m)
+ (string-append m "static_cast<long>(get_nanoseconds()/1000));\n")))
+ #t))
(add-after 'unpack 'rm-bundled-libs
(lambda _
;; The build system doesn't allow us to unbundle the following
;; https://github.com/supercollider/supercollider/issues/1736
(add-after 'rm-bundled-libs 'disable-broken-tests
(lambda _
- (substitute* "testsuite/supernova/CMakeLists.txt"
+ (substitute* "testsuite/server/supernova/CMakeLists.txt"
(("server_test.cpp")
"")
(("perf_counter_test.cpp")
""))
- (delete-file "testsuite/supernova/server_test.cpp")
- (delete-file "testsuite/supernova/perf_counter_test.cpp")
+ (delete-file "testsuite/server/supernova/server_test.cpp")
+ (delete-file "testsuite/server/supernova/perf_counter_test.cpp")
(substitute* "testsuite/CMakeLists.txt"
(("add_subdirectory\\(sclang\\)")
""))
("eudev" ,eudev) ;for user interactions with devices
("avahi" ,avahi) ;zeroconf service discovery support
("icu4c" ,icu4c)
- ("boost" ,boost)
+ ("boost" ,boost-cxx14)
("boost-sync" ,boost-sync)
("yaml-cpp" ,yaml-cpp)))
(home-page "https://github.com/supercollider/supercollider")
(build-system waf-build-system)
(arguments
`(#:tests? #f ; no check target
+ #:python ,python-2 ;XXX: The bundled waf does not work with Python 3.7.0.
#:configure-flags
'("CXXFLAGS=-std=gnu++11")))
(inputs
(symlink
(string-append (assoc-ref inputs "automake") "/share/automake-"
,(package-version automake) "/ar-lib")
- "ar-lib"))))))
+ "ar-lib")
+ #t)))))
(home-page "http://sbsms.sourceforge.net/")
(synopsis "Library for time stretching and pitch scaling of audio")
(description
(define-public qsynth
(package
(name "qsynth")
- (version "0.5.3")
+ (version "0.5.4")
(source
(origin
(method url-fetch)
"/qsynth-" version ".tar.gz"))
(sha256
(base32
- "1jghczmmva7cyavg1q0j8nr3hmjpzzglzi5ckg92ax4ji8gpks9c"))))
+ "0kpq5fxr96wnii18ax780w1ivq8ksk892ac0bprn92iz0asfysrd"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no "check" phase
(substitute* "libs/Makefile"
(("ldconfig") "true")
(("^LIBDIR =.*") "LIBDIR = lib\n"))
- (chdir "libs") #t))
+ (chdir "libs")
+ #t))
(add-after 'install 'install-symlink
(lambda _
(symlink "libzita-convolver.so"
(string-append (assoc-ref %outputs "out")
- "/lib/libzita-convolver.so.3"))))
+ "/lib/libzita-convolver.so.3"))
+ #t))
;; no configure script
(delete 'configure))))
(inputs `(("fftwf" ,fftwf)))
(lambda _
(symlink "libzita-resampler.so"
(string-append (assoc-ref %outputs "out")
- "/lib/libzita-resampler.so.1"))))
+ "/lib/libzita-resampler.so.1"))
+ #t))
;; no configure script
(delete 'configure))))
(home-page "https://kokkinizita.linuxaudio.org/linuxaudio/zita-resampler/resampler.html")
(lambda _
(symlink "libzita-alsa-pcmi.so"
(string-append (assoc-ref %outputs "out")
- "/lib/libzita-alsa-pcmi.so.0"))))
+ "/lib/libzita-alsa-pcmi.so.0"))
+ #t))
;; no configure script
(delete 'configure))))
(inputs
(mkdir-p (string-append out "/man/man1"))
(mkdir-p (string-append out "/man/man3"))
(mkdir-p (string-append out "/bin"))
- (mkdir-p (string-append out "/lib")))))
+ (mkdir-p (string-append out "/lib")))
+ #t))
(add-after 'install 'post-install
(lambda _
(let ((out (assoc-ref %outputs "out")))
(string-append out "/include"))
(mkdir-p (string-append out "/include/gsm"))
(copy-recursively "inc"
- (string-append out "/include/gsm")))))
+ (string-append out "/include/gsm")))
+ #t))
(delete 'configure)))) ; no configure script
(synopsis "GSM 06.10 lossy speech compression library")
(description "This C library provides an encoder and a decoder for the GSM
(invoke "sh" "autogen.sh")))
(add-before 'build 'make-cava-ldflags
(lambda* (#:key outputs #:allow-other-keys)
- (mkdir-p (string-append (assoc-ref outputs "out") "/lib"))))
+ (mkdir-p (string-append (assoc-ref outputs "out") "/lib"))
+ #t))
(add-after 'install 'data
(lambda* (#:key outputs #:allow-other-keys)
(for-each (lambda (file)
(install-file file
(string-append (assoc-ref outputs "out")
"/share/doc/examples")))
- (find-files "example_files")))))))
+ (find-files "example_files"))
+ #t)))))
(home-page "https://karlstav.github.io/cava/")
(synopsis "Console audio visualizer for ALSA, MPD, and PulseAudio")
(description "C.A.V.A. is a bar audio spectrum visualizer for the terminal
surround).")
(license (license:fsf-free "https://github.com/mstorsjo/fdk-aac/blob/master/NOTICE"
"https://www.gnu.org/licenses/license-list.html#fdk")))))
+
+(define-public libopenshot-audio
+ (package
+ (name "libopenshot-audio")
+ (version "0.1.7")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/OpenShot/libopenshot-audio")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "08a8wbi28kwrdz4h0rs1b9vsr28ldfi8g75q54rj676y1vwg3qys"))))
+ (build-system cmake-build-system)
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ;; The following are for JUCE GUI components:
+ ("libx11" ,libx11)
+ ("freetype" ,freetype)
+ ("libxrandr" ,libxrandr)
+ ("libxinerama" ,libxinerama)
+ ("libxcursor" ,libxcursor)))
+ (arguments
+ `(#:tests? #f ;there are no tests
+ #:configure-flags
+ (list (string-append "-DCMAKE_CXX_FLAGS=-I"
+ (assoc-ref %build-inputs "freetype")
+ "/include/freetype2"))))
+ (home-page "https://openshot.org")
+ (synopsis "Audio editing and playback for OpenShot")
+ (description "OpenShot Audio Library (libopenshot-audio) allows
+high-quality editing and playback of audio, and is based on the JUCE
+library.")
+ (license license:lgpl3+)))