Compare commits

..

2 Commits

Author SHA1 Message Date
Adrien 'neox' Bourmault 29713b05ab
Ajout de speed-dreams fonctionnel 2023-12-12 19:29:16 +01:00
Adrien 'neox' Bourmault 99b306378a
. 2023-12-12 19:29:15 +01:00
3 changed files with 461 additions and 0 deletions

View File

@ -0,0 +1,239 @@
(define-module (kdenlive-movit)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (guix build-system qt)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages gnome)
#:use-module (gnu packages linux)
#:use-module (gnu packages video)
#:use-module (gnu packages gtk)
#:use-module (gnu packages xml)
#:use-module (gnu packages audio)
#:use-module (gnu packages photo)
#:use-module (gnu packages xiph)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages autotools)
#:use-module (gnu packages algebra)
#:use-module (gnu packages gl)
#:use-module (gnu packages kde-plasma)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages qt)
#:use-module (gnu packages sdl)
#:use-module (gnu packages check)
#:use-module (gnu packages pkg-config))
(define-public movit
(package
(name "movit")
(version "1.7.1")
(source (origin
(method url-fetch)
(uri (string-append "https://movit.sesse.net/movit-" version
".tar.gz"))
(sha256
(base32
"06n1zfqjq74c4b82v6jfpd07nh0m2lam3ks296nbdk7h0nvp6c5k"))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f
#:make-flags #~'("GTEST_DIR=gtest/googletest")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'unpack-googletest
;; Copy the googletest sources to where the build system expects them.
(lambda* (#:key inputs #:allow-other-keys)
(let ((source (assoc-ref inputs "googletest-source"))
(target "gtest"))
(mkdir-p target)
(copy-recursively source target)
#t))))))
(native-inputs
`(("googletest-source" ,(package-source googletest))))
(inputs
(list
pkg-config
googletest
libepoxy
sdl2
fftw
eigen))
(synopsis "Modern Video Toolkit, a high performance library for video filters")
(description
"Movit is the Modern Video Toolkit, notwithstanding that anything that's called “modern” usually isn't, and it's really not a toolkit. It aims to be a high-quality, high-performance, free software library for video filters.")
(home-page "https://movit.sesse.net")
(license license:gpl2)))
(define-public mlt-movit
(package
(name "mlt-movit")
(version "7.20.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mltframework/mlt")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1dc09j8yvis6ilba5a13qicf6wbgxnzwllab6h48kzfl1lc0n8g7"))))
(build-system cmake-build-system)
(arguments
(list
#:tests? #f ;requires "Kwalify"
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'override-LDFLAGS
(lambda _
(setenv "LDFLAGS"
(string-append "-Wl,-rpath=" #$output "/lib"))))
(add-after 'install 'wrap-executable
(lambda _
(let* ((frei0r #$(this-package-input "frei0r-plugins"))
(ladspa #$(this-package-input "ladspa"))
(movit #$(this-package-input "movit"))
;; In MLT 7, 'melt' symlinks to 'melt-7'. Try to keep
;; compatibility with MLT 6 where it's only 'melt'.
(major #$(version-major version))
(exec (if (file-exists?
(string-append #$output "/bin/melt-" major))
(string-append "melt-" major)
"melt")))
(wrap-program (string-append #$output "/bin/" exec)
`("FREI0R_PATH" ":" =
(,(string-append frei0r "/lib/frei0r-1")))
`("LADSPA_PATH" ":" =
(,(string-append ladspa "/lib/ladspa"))))))))))
(inputs
(list alsa-lib
`(,alsa-plugins "pulseaudio")
bash-minimal
ffmpeg
fftw
frei0r-plugins
gdk-pixbuf
gtk+
libxml2
jack-1
ladspa
libebur128
libexif
libvorbis
movit
eigen
rubberband
libsamplerate
pulseaudio
qtbase-5
qtsvg-5
rtaudio
sdl2
sdl2-image
sox
vidstab))
(native-inputs
(list pkg-config))
(home-page "https://www.mltframework.org/")
(synopsis "Author, manage, and run multitrack audio/video compositions")
(description
"MLT is a multimedia framework, designed and developed for television
broadcasting. It provides a toolkit for broadcasters, video editors, media
players, transcoders, web streamers and many more types of applications. The
functionality of the system is provided via an assortment of ready to use
tools, XML authoring components, and an extensible plug-in based API.")
(license license:lgpl2.1+)))
(define-public kdenlive-movit
(package
(name "kdenlive-movit")
(version "23.04.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://invent.kde.org/multimedia/kdenlive")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0dgrgnnq38nphfzbapr7dkb21lv4idqynxqmzv9x3maijmp1jjfr"))))
(build-system qt-build-system)
(arguments
;; XXX: there is a single test that spawns other tests and
;; 1/3 tests failed and 1/327 assertions failed. It seems
;; that individual tests can't be skipped.
(list
#:configure-flags #~(list "-DBUILD_TESTING=off")
#:tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'wrap-executable
(lambda _
(let* ((ffmpeg #$(this-package-input "ffmpeg"))
(frei0r #$(this-package-input "frei0r-plugins"))
(ladspa #$(this-package-input "ladspa"))
(qtbase #$(this-package-input "qtbase")))
(wrap-program (string-append #$output "/bin/kdenlive")
`("PATH" ":" prefix
,(list (string-append ffmpeg "/bin")))
`("FREI0R_PATH" ":" =
(,(string-append frei0r "/lib/frei0r-1")))
`("LADSPA_PATH" ":" =
(,(string-append ladspa "/lib/ladspa")))
`("QT_QPA_PLATFORM_PLUGIN_PATH" ":" =
(,(string-append qtbase "/lib/qt5/plugins/platforms")))
`("MLT_PREFIX" ":" =
(,#$(this-package-input "mlt-movit"))))))))))
(native-inputs
(list extra-cmake-modules kdoctools pkg-config qttools-5))
(inputs
(list bash-minimal
breeze ; make dark them available easily
breeze-icons ; recommended icon set
ffmpeg
frei0r-plugins
karchive
kcrash
kdbusaddons
kdeclarative
kdoctools
kfilemetadata
kguiaddons
kiconthemes
kirigami
knewstuff
knotifications
knotifyconfig
kparts
kplotting
ladspa
mlt-movit
movit
rtaudio
purpose
qtbase-5
qtdeclarative-5
qtgraphicaleffects
qtmultimedia-5
qtnetworkauth-5
qtquickcontrols-5
qtquickcontrols2-5
qtscript
qtsvg-5
shared-mime-info))
(home-page "https://kdenlive.org")
(synopsis "Non-linear video editor")
(description "Kdenlive is an acronym for KDE Non-Linear Video Editor.
Non-linear video editing is much more powerful than beginner's (linear)
editors, hence it requires a bit more organization before starting. However,
it is not reserved to specialists and can be used for small personal
projects.")
(license license:gpl2+)))

View File

@ -0,0 +1,139 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2016, 2018, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org>
;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (speed-dreams)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages graphics)
#:use-module (gnu packages gl)
#:use-module (gnu packages xiph)
#:use-module (gnu packages sdl)
#:use-module (gnu packages audio)
#:use-module (gnu packages networking)
#:use-module (gnu packages image)
#:use-module (gnu packages game-development)
#:use-module (gnu packages curl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (guix build-system cmake)
#:use-module (guix build-system trivial)
#:use-module (guix build-system gnu)
#:use-module (guix build utils)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix utils))
(define-public plib-fpic
(package
(name "plib-fpic")
(version "1.8.5")
(source (origin
(method url-fetch)
(uri (string-append "http://plib.sourceforge.net/dist/"
"plib-" version ".tar.gz"))
(sha256
(base32
"0cha71mflpa10vh2l7ipyqk67dq2y0k5xbafwdks03fwdyzj4ns8"))
(patches (search-patches "plib-CVE-2011-4620.patch"
"plib-CVE-2012-4552.patch"))))
(build-system gnu-build-system)
(arguments
(list
#:make-flags
#~(list
"CFLAGS=-fPIC"
"CXXFLAGS=-fPIC")))
(inputs
(list mesa libxi libxmu))
(native-inputs
(list pkg-config))
(home-page "https://plib.sourceforge.net/")
(synopsis "Suite of portable game libraries")
(description "PLIB is a set of libraries that will permit programmers to
write games and other realtime interactive applications that are 100% portable
across a wide range of hardware and operating systems. PLIB includes sound
effects, music, a complete 3D engine, font rendering, a simple Windowing
library, a game scripting language, a GUI, networking, 3D math library and a
collection of handy utility functions. All are 100% portable across nearly
all modern computing platforms. Each library component is fairly independent
of the others")
(license license:lgpl2.0+)))
(define-public speed-dreams
(package
(name "speed-dreams")
(version "2.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://forge.chalec.org/neox/speed-dreams.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0w9l6lg4d20jiddkp1599l3hvy3y1745qv8pzb137kn8j2lz73c0"))))
(build-system cmake-build-system)
(arguments
(list
#:configure-flags
#~(list
"-DOPTION_UNLOAD_SSGGRAPH:BOOL=ON"
"-DCMAKE_BUILD_TYPE=Release"
"-DOPTION_OFFICIAL_ONLY:BOOL=ON")
#:phases
#~(modify-phases %standard-phases
(delete 'validate-runpath)
(delete 'check))))
(native-inputs
(list
pkg-config))
(inputs
(list
openscenegraph
freeglut
libvorbis
sdl2
sdl2-mixer
openal
enet
expat
ijg-libjpeg
plib-fpic
libpng
curl))
(license license:gpl2)
(synopsis "SPEED")
(description
"SPEEEEEED.")
(home-page "https://www.speed-dreams.net/en/")))

View File

@ -0,0 +1,83 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2023 Adrien 'neox' Bourmault <neox@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (xmlcopyeditor)
#:use-module ((guix licenses)
#:select (gpl3+ lgpl2.0+ lgpl3+ public-domain))
#:use-module (gnu packages)
#:use-module (gnu packages aspell)
#:use-module (gnu packages boost)
#:use-module (gnu packages glib)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pcre)
#:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xml)
#:use-module (guix i18n)
#:use-module (guix utils)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module ((guix licenses) #:prefix license:))
(define-public xmlcopyeditor
(package
(name "xmlcopyeditor")
(version "1.3.1.1")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://forge.chalec.org/neox/xml-copy-editor-code.git")
(commit version)))
(file-name
(git-file-name name version))
(sha256
(base32 "05fryg98knxlqsjgx3wwj6pqkw5nz6q5wgjcql8xdfxc2ggbcyb5"))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f
#:configure-flags
#~(list
(string-append
"--prefix=" #$output)
(string-append
"--exec-prefix=" #$output))))
(native-inputs
(list
intltool
pkg-config))
(inputs
(list
pcre2
wxwidgets
aspell
boost
xerces-c
libxml2
libxslt
expat))
(synopsis "XML Copy Editor")
(description
"Fast, free, validating XML editor.")
(home-page "https://xml-copy-editor.sourceforge.io/")
(license gpl3+)))