mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
gnu: Add friction.
* gnu/packages/graphics.scm (friction): New variable. Change-Id: I8ce4d20ce410e1fb6e5578d59cb72597469b58f1
This commit is contained in:
parent
f353896b10
commit
ae8ff7c8c0
1 changed files with 94 additions and 0 deletions
|
@ -94,6 +94,7 @@
|
|||
#:use-module (gnu packages imagemagick)
|
||||
#:use-module (gnu packages jemalloc)
|
||||
#:use-module (gnu packages kde-frameworks)
|
||||
#:use-module (gnu packages libunwind)
|
||||
#:use-module (gnu packages libusb)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages logging)
|
||||
|
@ -395,6 +396,99 @@ objects!")
|
|||
(home-page "http://www.fox-toolkit.org")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public friction
|
||||
(package
|
||||
(name "friction")
|
||||
(version "0.9.6.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/friction2d/friction")
|
||||
(commit (string-append "v" version))
|
||||
(recursive? #true)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1ndg9f4m3zmdn89llchfnc4dmhckms3cx8vm6pqr8fvd7w95ak37"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
(delete-file-recursively "src/engine/skia")
|
||||
(delete-file-recursively "src/gperftools")))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #false ;there is no test target
|
||||
#:configure-flags
|
||||
'(list "-DCMAKE_CXX_COMPILER=clang++"
|
||||
"-DCMAKE_C_COMPILER=clang")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'use-system-libraries
|
||||
(lambda _
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("add_subdirectory\\(src/engine\\)") "")
|
||||
(("add_dependencies\\(frictioncore Engine\\)") "")
|
||||
(("add_subdirectory\\(src/gperftools\\)") ""))
|
||||
(substitute* "src/app/CMakeLists.txt"
|
||||
(("\\$\\{GPERF_LIBRARIES\\}") "-ltcmalloc_and_profiler")
|
||||
(("\\$\\{GPERF_INCLUDE_DIRS\\}")
|
||||
(string-append #$(this-package-input "gperftools") "/include")))
|
||||
(substitute* "src/app/memorychecker.cpp"
|
||||
(("../gperftools/include/") ""))
|
||||
(substitute* '("src/app/CMakeLists.txt"
|
||||
"src/core/CMakeLists.txt"
|
||||
"src/ui/CMakeLists.txt")
|
||||
(("\\$\\{CMAKE_CURRENT_BINARY_DIR\\}/../engine/skia")
|
||||
(string-append #$(this-package-input "skia") "/lib/"))
|
||||
(("\\$\\{CMAKE_CURRENT_SOURCE_DIR\\}/../engine/skia")
|
||||
(string-append #$(this-package-input "skia") "/include/skia")))))
|
||||
;; Ensure that all required Qt plugins are found at runtime.
|
||||
(add-after 'install 'wrap-executable
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((qt '("qtbase" "qtdeclarative" "qtmultimedia")))
|
||||
(wrap-program (string-append #$output "/bin/friction")
|
||||
`("QT_PLUGIN_PATH" ":" prefix
|
||||
,(map (lambda (label)
|
||||
(string-append (assoc-ref inputs label)
|
||||
"/lib/qt5/plugins/"))
|
||||
qt)))))))))
|
||||
(inputs
|
||||
(list expat
|
||||
ffmpeg-for-friction ;version 4.2 is recommended; does not work with version 7+.
|
||||
fontconfig
|
||||
freetype
|
||||
gperftools-for-friction
|
||||
harfbuzz
|
||||
icu4c
|
||||
libjpeg-turbo
|
||||
libpng
|
||||
libunwind
|
||||
libwebp
|
||||
python
|
||||
qscintilla
|
||||
qtbase-5
|
||||
qtdeclarative-5
|
||||
qtmultimedia-5
|
||||
skia-for-friction
|
||||
zlib))
|
||||
(native-inputs (list clang-15 llvm-15 pkg-config))
|
||||
(home-page "https://friction.graphics")
|
||||
(synopsis "Create vector and raster animations for web and video")
|
||||
(description "Friction is a versatile motion graphics application that
|
||||
allows you to create vector and raster animations for web and video.
|
||||
|
||||
Motion graphics has a wide variety of uses, including:
|
||||
|
||||
@itemize
|
||||
@item Television and film: Title sequences, commercials, and visual effects
|
||||
@item Web design: Animated logos, banners, and interactive elements
|
||||
@item Social media: Animated posts and stories
|
||||
@item Presentations: Animated infographics and slideshows
|
||||
@end itemize
|
||||
")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public autotrace
|
||||
(package
|
||||
(name "autotrace")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue