gnu: libretro-lowresnx: Update to 1.2.
[jackhill/guix/guix.git] / gnu / packages / easyrpg.scm
CommitLineData
b779dbac
SB
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
ff289fe2 3;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
948b59df 4;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
b779dbac
SB
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)
1f1d6af7
SB
26 #:use-module (gnu packages audio)
27 #:use-module (gnu packages compression)
28 #:use-module (gnu packages fontutils)
29 #:use-module (gnu packages gtk)
b779dbac 30 #:use-module (gnu packages icu4c)
1f1d6af7
SB
31 #:use-module (gnu packages image)
32 #:use-module (gnu packages mp3)
b779dbac 33 #:use-module (gnu packages pkg-config)
1f1d6af7
SB
34 #:use-module (gnu packages pulseaudio)
35 #:use-module (gnu packages sdl)
36 #:use-module (gnu packages xdisorg)
37 #:use-module (gnu packages xiph)
b779dbac
SB
38 #:use-module (gnu packages xml))
39
40(define-public liblcf
41 (package
42 (name "liblcf")
0b7fd225 43 (version "0.6.2")
b779dbac
SB
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
0b7fd225 51 "0n2k4brd264jg9p6918x7dnb2iimpzjh8q3v1fws58450xbgnkqc"))))
b779dbac
SB
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.
63It 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)))
1f1d6af7
SB
75
76(define-public easyrpg-player
77 (package
78 (name "easyrpg-player")
65ed6e37 79 (version "0.6.2.3")
1f1d6af7
SB
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
65ed6e37 87 "1lahbhgyhky0hgd3xwhgg2nm8mfa9p2i1fzxi00561hnk2ya86pm"))))
1f1d6af7
SB
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
115EasyRPG games. It uses the LCF parser library (liblcf) to read RPG Maker game
116data.")
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+)))