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