gnu: Add papagayo.

* gnu/packages/animation.scm (papagayo): New variable.
This commit is contained in:
Ricardo Wurmus 2017-10-22 03:02:40 +02:00
parent 2900665888
commit 2809a355b6
No known key found for this signature in database
GPG Key ID: 197A5888235FACAC
1 changed files with 71 additions and 0 deletions

View File

@ -19,6 +19,7 @@
(define-module (gnu packages animation) (define-module (gnu packages animation)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
@ -34,6 +35,8 @@
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages imagemagick) #:use-module (gnu packages imagemagick)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages qt)
#:use-module (gnu packages video)) #:use-module (gnu packages video))
(define-public etl (define-public etl
@ -185,3 +188,71 @@ be capable of producing feature-film quality animation. It eliminates the
need for tweening, preventing the need to hand-draw each frame. This package need for tweening, preventing the need to hand-draw each frame. This package
contains the graphical user interface for synfig.") contains the graphical user interface for synfig.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public papagayo
(let ((commit "e143684b30e59fe4a554f965cb655d23cbe93ee7")
(revision "1"))
(package
(name "papagayo")
(version (string-append "2.0b1-" revision "." (string-take commit 9)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/LostMoho/Papagayo.git")
(commit commit)))
(sha256
(base32
"1p9gffjhbph34jhrvgpg93yha75bf88vkvlnk06x1r9601ph5321"))
(modules '((guix build utils)))
;; Delete bundled libsndfile sources.
(snippet
'(begin
(delete-file-recursively "libsndfile_1.0.19")
(delete-file-recursively "libsndfile_1.0.25")
#t))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((libsndfile (assoc-ref inputs "libsndfile")))
;; Do not use bundled libsndfile sources
(substitute* "Papagayo.pro"
(("else \\{")
(string-append "\nINCLUDEPATH += " libsndfile
"/include"
"\nLIBS +=" libsndfile
"/lib/libsndfile.so\n"
"win32 {"))))
(zero? (system* "qmake"
(string-append "DESTDIR="
(assoc-ref outputs "out")
"/bin")))))
;; Ensure that all required Qt plugins are found at runtime.
(add-after 'install 'wrap-executable
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(qt '("qt" "qtmultimedia")))
(wrap-program (string-append out "/bin/Papagayo")
`("QT_PLUGIN_PATH" ":" prefix
,(map (lambda (label)
(string-append (assoc-ref inputs label)
"/lib/qt5/plugins/"))
qt)))
#t))))))
(inputs
`(("qt" ,qtbase)
("qtmultimedia" ,qtmultimedia)
("libsndfile" ,libsndfile)))
(native-inputs
`(("qttools" ,qttools)))
(home-page "http://www.lostmarble.com/papagayo/")
(synopsis "Lip-syncing for animations")
(description
"Papagayo is a lip-syncing program designed to help you line up
phonemes with the actual recorded sound of actors speaking. Papagayo makes it
easy to lip sync animated characters by making the process very simple just
type in the words being spoken, then drag the words on top of the sounds
waveform until they line up with the proper sounds.")
(license license:gpl3+))))