gnu: ocaml-linenoise: Update to 1.4.0.
[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–2021 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 pretty-print)
35 #:use-module (gnu packages pulseaudio)
36 #:use-module (gnu packages sdl)
37 #:use-module (gnu packages xdisorg)
38 #:use-module (gnu packages xiph)
39 #:use-module (gnu packages xml))
40
41 (define-public liblcf
42 (package
43 (name "liblcf")
44 (version "0.7.0")
45 (source (origin
46 (method url-fetch)
47 (uri (string-append
48 "https://easyrpg.org/downloads/player/" version
49 "/liblcf-" version ".tar.gz"))
50 (sha256
51 (base32
52 "10ghpwww5r3iwlaw1mvf6kamn142nyr2zwdabqghy3k4xv837cih"))))
53 (build-system gnu-build-system)
54 (native-inputs
55 (list pkg-config))
56 (propagated-inputs
57 ;; Required by 'liblcf.pc'.
58 (list expat 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.7.0")
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 "1hm4hdi4l8c9jw0x3kcm6iwgfv8parlfj13va3r3p90040gs7s8l"))))
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 (list pkg-config))
95 (inputs
96 (list fluidsynth
97 fmt
98 freetype
99 harfbuzz
100 liblcf
101 libpng
102 libsndfile
103 libvorbis
104 libxmp
105 mpg123
106 opusfile
107 pixman
108 sdl2-mixer
109 sdl2
110 speexdsp
111 wildmidi
112 zlib))
113 (home-page "https://easyrpg.org/")
114 (synopsis "Play RPG Maker 2000 and 2003 games")
115 (description
116 "EasyRPG Player is a game interpreter to play RPG Maker 2000, 2003 and
117 EasyRPG games. It uses the LCF parser library (liblcf) to read RPG Maker game
118 data.")
119 ;; It bundles FMMidi YM2608 FM synthesizer emulator (bsd-3):
120 ;; src/midisynth.h
121 ;; src/midisynth.cpp
122 ;; and PicoJSON JSON parser/serializer (bsd-2):
123 ;; src/picojson.h
124 ;; TODO: Unbundle them.
125 (license license:gpl3+)))