guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Issues with packaged programs


From: Nathan Dehnel
Subject: Issues with packaged programs
Date: Sat, 21 Mar 2020 23:57:24 -0500

I have packaged "cadence" and its dependencies. There are a couple
issues with it, though.

-the ladish gui doesn't build because it can't find boost
-cadence builds, but errors with "python not found" when run

I was wondering if someone more knowledgeable could help figure it
out. It's attached below, and also hosted here:
https://github.com/Gooberpatrol66/gooby-channel

(define-module (cadence)
  #:use-module (guix licenses)
  #:use-module (guix packages)
  #:use-module (gnu packages)
  #:use-module (guix build-system gnu)
  #:use-module (guix build-system meson)
  #:use-module (guix build-system waf)
  #:use-module (guix git-download)
  #:use-module (guix download)
  #:use-module (gnu packages audio)
  #:use-module (gnu packages qt)
  #:use-module (gnu packages python-xyz)
  #:use-module (gnu packages pulseaudio)
  #:use-module (gnu packages linux)
  #:use-module (gnu packages glib)
  #:use-module (gnu packages xml)
  #:use-module (gnu packages python)
  #:use-module (gnu packages gtk)
  #:use-module (gnu packages pkg-config)
  #:use-module (gnu packages base)
  #:use-module (gnu packages gettext)
  #:use-module (gnu packages graphviz)
  #:use-module (gnu packages gnome)
  #:use-module (gnu packages boost)
  #:use-module (gnu packages guile)
  #:use-module (gnu packages perl))

(define-public cadence
  (package
    (name "cadence")
    (version "0.9.1")
    (source
     (origin
       (method git-fetch)
       (uri
        (git-reference
         (url "https://github.com/falkTX/Cadence.git";)
         (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32
         "07z8grnnpkd0nf3y3r6qjlk1jlzrbhdrp9mnhrhhmws54p1bhl20"))))
    (build-system gnu-build-system)
    (arguments
     `(#:tests? #f                      ; no "check" target
       #:make-flags
         (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
       #:phases
         (modify-phases %standard-phases
          (add-before 'build 'fix-xdg-path
           (lambda _
            (substitute* "Makefile"
             (("/etc/") (string-append (assoc-ref %outputs "out") "/etc/")))))
          (add-after 'install 'wrap-executables
           (lambda* (#:key outputs #:allow-other-keys)
             (let ((out (assoc-ref outputs "out")))
               (wrap-script (string-append out "/bin/cadence")
                            `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH"))))
               #t)))
          (delete 'configure))))
    (inputs
     `(("jack2" ,jack-2)
       ("a2jmidid" ,a2jmidid)
       ("jack_capture" ,jack_capture)
       ("pulseaudio" ,pulseaudio)
       ("python" ,python)
       ("ladish" ,ladish)
       ("python-pyqt" ,python-pyqt)
       ("python-wrapper" ,python-wrapper)
       ("python-dbus" ,python-dbus)
       ("qtbase" ,qtbase)
       ;; For WRAP-SCRIPT above.
       ("guile" ,guile-2.2)))
    (native-inputs
     `(("pkg-config" ,pkg-config)))
    (home-page "https://kx.studio/Applications:Cadence";)
    (synopsis "Collection of tools useful for audio production")
    (description "Includes Cadence, Cadence-JackMeter,
Cadence-JackSettings, Cadence-Logs, Cadence-Render, Cadence-XY
Controller, Catarina, Catia, Claudia, Claudia-Launcher")
    (license gpl2)))

(define-public a2jmidid
  (package
    (name "a2jmidid")
    (version "9")
    (source
     (origin
       (method git-fetch)
       (uri
        (git-reference
         (url "https://github.com/linuxaudio/a2jmidid.git";)
         (commit version)))
       (file-name (git-file-name name version))
       (sha256
        (base32
         "1x6rcl3f4nklnx4p5jln9a7fpj9y7agjxs9rw7cccmwnski7pnsq"))))
    (build-system meson-build-system)
    (inputs
     `(("alsa-lib" ,alsa-lib)
       ("jack2" ,jack-2)
       ("dbus" ,dbus)))
    (native-inputs
     `(("pkg-config" ,pkg-config)))
    (home-page "https://github.com/linuxaudio/a2jmidid";)
    (synopsis "ALSA sequencer to JACK MIDI bridging (for jack2)")
    (description "This project aims to ease the usage of legacy, non
JACK enabled applications, in a JACK MIDI enabled system, when using
jack2.")
    (license gpl2)))

(define-public jack_capture
  (package
    (name "jack_capture")
    (version "0.9.73")
    (source
     (origin
       (method git-fetch)
       (uri
        (git-reference
         (url "https://github.com/kmatheussen/jack_capture.git";)
         (commit version)))
       (file-name (git-file-name name version))
       (sha256
        (base32
         "0jcqky96q8xgya6wqv1p8pj9fkf2wh7ynl67ah7x5bn3basgfclf"))))
    (build-system gnu-build-system)
    (arguments
     `(#:tests? #f                      ; no "check" target
       #:make-flags
        (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
       #:phases
        (modify-phases %standard-phases
         (delete 'configure))))
    (inputs
     `(("libsndfile" ,libsndfile)
       ("jack2" ,jack-2)))
    (native-inputs
     `(("pkg-config" ,pkg-config)
       ("which" ,which)))
    (home-page "https://github.com/kmatheussen/jack_capture";)
    (synopsis "A program for recording soundfiles with jack")
    (description "Features: human-readable filenames, >4GB wav file
splitting, sndfile format support, mp3 support, writing to stdout,
console meter, connecting to jack ports, unlimited jack ports,
automatic buffers, auto-reniced disk thread, better performance than
Ardour, can write 256 channels of 32 bit wave at once to a local hard
drive")
    (license gpl2)))

(define-public ladish
  (package
    (name "ladish")
    (version "1")
    (source
     (origin
       (method git-fetch)
       (uri
        (git-reference
         (url "https://github.com/LADI/ladish.git";)
         (commit (string-append "ladish-" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32
         "0cmmpz87cs2j15d5jbzffx24gqlgrcq0465k3qx12ai9mbi6lbf0"))
       (patches (search-patches "ladish-1-add-includes-for-getrlimit.patch"))))
    (build-system waf-build-system)
    (arguments
     `(#:tests? #f                      ; no "check" target
       #:python ,python-2))
    (inputs
     `(("alsa-lib" ,alsa-lib)
       ("jack2" ,jack-2)
       ("dbus" ,dbus)
       ("e2fsprogs" ,e2fsprogs)
       ("expat" ,expat)
       ("python2" ,python-2)))
;;      GUI won't build due to a boost error
;;       ("glib" ,glib)
;;       ("dbus-glib" ,dbus-glib)
;;       ("flowcanvas" ,flowcanvas)
;;       ("boost" ,boost)
;;       ("gtk+" ,gtk+-2)))
    (native-inputs
     `(("pkg-config" ,pkg-config)
       ("gettext" ,gnu-gettext)
       ("perl" ,perl)
       ("intltool" ,intltool)))
    (home-page "http://ladish.org/";)
    (synopsis "LADI Session Handler")
    (description "LADI Session Handler or simply ladish is a session
management system for JACK applications on GNU/Linux. Its aim is to
allow you to have many different audio programs running at once, to
save their setup, close them down and then easily reload the setup at
some other time. ladish doesn't deal with any kind of audio or MIDI
data itself; it just runs programs, deals with saving/loading
(arbitrary) data and connects JACK ports together. It can also be used
to move entire sessions between computers, or post sessions on the
Internet for download.")
    (license gpl2)))

(define-public flowcanvas
  (package
    (name "flowcanvas")
    (version "0.7.1")
    (source
     (origin
       (method url-fetch)
       (uri (string-append "http://download.drobilla.net/flowcanvas-";
                           version ".tar.bz2"))
       (sha256
        (base32
         "15n508a58wzjp28nca1fqhzy5fw6ii3ffkcqm6b947pxb3c2hy84"))
       (patches (search-patches "gv234.patch"))))
    (build-system waf-build-system)
    (arguments
     `(#:tests? #f                      ; no "check" target
       #:python ,python-2))
    (inputs
     `(("graphviz" ,graphviz)
       ("gtkmm" ,gtkmm-2)
       ("boost" ,boost)
       ("libgnomecanvasmm" ,libgnomecanvasmm)))
    (native-inputs
     `(("pkg-config" ,pkg-config)))
    (home-page "http://drobilla.net/software/flowcanvas";)
    (synopsis "An interactive Gtkmm/Gnomecanvasmm widget for \"boxes
and lines\" style environments (e.g. modular synths or interactive
finite state automata diagrams).")
    (description "FlowCanvas is an interactive Gtkmm/Gnomecanvasmm
widget for graph-based interfaces (patchers, modular synthesizers,
finite state automata, interactive graphs, etc).")
    (license gpl2)))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]