gnu: icecat: Update to 78.10.0-guix0-preview1 [security fixes].
[jackhill/guix/guix.git] / gnu / packages / easyrpg.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
3 ;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
4 ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
5 ;;;
6 ;;; This file is part of GNU Guix.
7 ;;;
8 ;;; GNU Guix is free software; you can redistribute it and/or modify it
9 ;;; under the terms of the GNU General Public License as published by
10 ;;; the Free Software Foundation; either version 3 of the License, or (at
11 ;;; your option) any later version.
12 ;;;
13 ;;; GNU Guix is distributed in the hope that it will be useful, but
14 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
15 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 ;;; GNU General Public License for more details.
17 ;;;
18 ;;; You should have received a copy of the GNU General Public License
19 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
20
21 (define-module (gnu packages easyrpg)
22 #:use-module (guix packages)
23 #:use-module ((guix licenses) #:prefix license:)
24 #:use-module (guix download)
25 #:use-module (guix build-system gnu)
26 #:use-module (gnu packages audio)
27 #:use-module (gnu packages compression)
28 #:use-module (gnu packages fontutils)
29 #:use-module (gnu packages gtk)
30 #:use-module (gnu packages icu4c)
31 #:use-module (gnu packages image)
32 #:use-module (gnu packages mp3)
33 #:use-module (gnu packages pkg-config)
34 #:use-module (gnu packages pulseaudio)
35 #:use-module (gnu packages sdl)
36 #:use-module (gnu packages xdisorg)
37 #:use-module (gnu packages xiph)
38 #:use-module (gnu packages xml))
39
40 (define-public liblcf
41 (package
42 (name "liblcf")
43 (version "0.6.2")
44 (source (origin
45 (method url-fetch)
46 (uri (string-append
47 "https://easyrpg.org/downloads/player/" version
48 "/liblcf-" version ".tar.gz"))
49 (sha256
50 (base32
51 "0n2k4brd264jg9p6918x7dnb2iimpzjh8q3v1fws58450xbgnkqc"))))
52 (build-system gnu-build-system)
53 (native-inputs
54 `(("pkg-config" ,pkg-config)))
55 (propagated-inputs
56 ;; Required by 'liblcf.pc'.
57 `(("expat" ,expat)
58 ("icu" ,icu4c)))
59 (home-page "https://easyrpg.org/")
60 (synopsis "Library to handle RPG Maker 2000 and 2003 game data")
61 (description
62 "@code{liblcf} is a library to handle RPG Maker 2000 and 2003 game data.
63 It can read and write LCF and XML files.")
64 ;; It includes a copy of Boost Preprocessor Cat and Stringize (boost-1.0):
65 ;; src/boost/preprocessor/config.hpp
66 ;; src/boost/preprocessor/cat.hpp
67 ;; src/boost/preprocessor/stringize.hpp
68 ;; and a copy of inih (bsd-3):
69 ;; src/ini.h
70 ;; src/ini.cpp
71 ;; src/inireader.h
72 ;; src/inireader.cpp
73 ;; TODO: Unbundle them.
74 (license license:expat)))
75
76 (define-public easyrpg-player
77 (package
78 (name "easyrpg-player")
79 (version "0.6.2.3")
80 (source (origin
81 (method url-fetch)
82 (uri (string-append
83 "https://easyrpg.org/downloads/player/" version
84 "/easyrpg-player-" version ".tar.gz"))
85 (sha256
86 (base32
87 "1lahbhgyhky0hgd3xwhgg2nm8mfa9p2i1fzxi00561hnk2ya86pm"))))
88 (build-system gnu-build-system)
89 (arguments
90 '(#:configure-flags
91 (list (string-append "--with-bash-completion-dir="
92 %output "/etc/bash_completion.d/"))))
93 (native-inputs
94 `(("pkg-config" ,pkg-config)))
95 (inputs
96 `(("freetype" ,freetype)
97 ("harfbuzz" ,harfbuzz)
98 ("liblcf" ,liblcf)
99 ("libpng" ,libpng)
100 ("libsndfile" ,libsndfile)
101 ("libvorbis" ,libvorbis)
102 ("libxmp" ,libxmp)
103 ("mpg123" ,mpg123)
104 ("opusfile" ,opusfile)
105 ("pixman" ,pixman)
106 ("sdl2-mixer" ,sdl2-mixer)
107 ("sdl2" ,sdl2)
108 ("speexdsp" ,speexdsp)
109 ;; ("wildmidi" ,wildmidi) ; TODO: package it
110 ("zlib" ,zlib)))
111 (home-page "https://easyrpg.org/")
112 (synopsis "Play RPG Maker 2000 and 2003 games")
113 (description
114 "EasyRPG Player is a game interpreter to play RPG Maker 2000, 2003 and
115 EasyRPG games. It uses the LCF parser library (liblcf) to read RPG Maker game
116 data.")
117 ;; It bundles FMMidi YM2608 FM synthesizer emulator (bsd-3):
118 ;; src/midisynth.h
119 ;; src/midisynth.cpp
120 ;; and PicoJSON JSON parser/serializer (bsd-2):
121 ;; src/picojson.h
122 ;; TODO: Unbundle them.
123 (license license:gpl3+)))