[bug#33395,1/2] gnu: Add liblcf.

Message ID 20181115111223.1982-1-iyzsong@member.fsf.org
State Accepted
Headers show
Series [bug#33395,1/2] gnu: Add liblcf. | expand

Checks

Context Check Description
cbaines/applying patch success Successfully applied

Commit Message

宋文武 Nov. 15, 2018, 11:12 a.m. UTC
* gnu/packages/easyrpg.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
---
 gnu/local.mk             |  1 +
 gnu/packages/easyrpg.scm | 54 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 55 insertions(+)
 create mode 100644 gnu/packages/easyrpg.scm

Comments

Ludovic Courtès Nov. 27, 2018, 11 a.m. UTC | #1
Hello 宋文武!

宋文武 <iyzsong@member.fsf.org> skribis:

> * gnu/packages/easyrpg.scm: New file.
> * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.

Should it go to game-development.scm?

> +    (synopsis "Library to handle RPG Maker 2000 and 2003 game data")
> +    (description
> +     "@code{liblcf} is a library to handle RPG Maker 2000 and 2003 game data.
> +It can read and write LCF and XML files.")
> +    ;; It bundles Boost Preprocessor Cat and Stringize (boost-1.0) and a copy
> +    ;; of inih (bsd-3).
> +    (license license:expat)))

Could these things be unbundled?  If not, could you leave a comment
possibly with a TODO?

Thanks,
Ludo’.
宋文武 Dec. 8, 2018, 3:30 a.m. UTC | #2
ludo@gnu.org (Ludovic Courtès) writes:

> Hello 宋文武!
>
> 宋文武 <iyzsong@member.fsf.org> skribis:
>
>> * gnu/packages/easyrpg.scm: New file.
>> * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
>
> Should it go to game-development.scm?

Not sure, but I'd prefer it go into the same file with 'easyrpg-player',
which IMO dosen't belong into 'games.scm'...

>
>> +    (synopsis "Library to handle RPG Maker 2000 and 2003 game data")
>> +    (description
>> +     "@code{liblcf} is a library to handle RPG Maker 2000 and 2003 game data.
>> +It can read and write LCF and XML files.")
>> +    ;; It bundles Boost Preprocessor Cat and Stringize (boost-1.0) and a copy
>> +    ;; of inih (bsd-3).
>> +    (license license:expat)))
>
> Could these things be unbundled?  If not, could you leave a comment
> possibly with a TODO?

Ok, how about:

    ;; It includes a copy of Boost Preprocessor Cat and Stringize (boost-1.0):
    ;;   src/boost/preprocessor/config.hpp
    ;;   src/boost/preprocessor/cat.hpp
    ;;   src/boost/preprocessor/stringize.hpp
    ;; and a copy of inih (bsd-3):
    ;;   src/ini.h
    ;;   src/ini.cpp
    ;;   src/initreader.cpp
    ;; TODO: Unbundle them.
Ludovic Courtès Dec. 8, 2018, 1:28 p.m. UTC | #3
iyzsong@member.fsf.org (宋文武) skribis:

> ludo@gnu.org (Ludovic Courtès) writes:
>
>> Hello 宋文武!
>>
>> 宋文武 <iyzsong@member.fsf.org> skribis:
>>
>>> * gnu/packages/easyrpg.scm: New file.
>>> * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
>>
>> Should it go to game-development.scm?
>
> Not sure, but I'd prefer it go into the same file with 'easyrpg-player',
> which IMO dosen't belong into 'games.scm'...

OK, sounds good.

>>
>>> +    (synopsis "Library to handle RPG Maker 2000 and 2003 game data")
>>> +    (description
>>> +     "@code{liblcf} is a library to handle RPG Maker 2000 and 2003 game data.
>>> +It can read and write LCF and XML files.")
>>> +    ;; It bundles Boost Preprocessor Cat and Stringize (boost-1.0) and a copy
>>> +    ;; of inih (bsd-3).
>>> +    (license license:expat)))
>>
>> Could these things be unbundled?  If not, could you leave a comment
>> possibly with a TODO?
>
> Ok, how about:
>
>     ;; It includes a copy of Boost Preprocessor Cat and Stringize (boost-1.0):
>     ;;   src/boost/preprocessor/config.hpp
>     ;;   src/boost/preprocessor/cat.hpp
>     ;;   src/boost/preprocessor/stringize.hpp
>     ;; and a copy of inih (bsd-3):
>     ;;   src/ini.h
>     ;;   src/ini.cpp
>     ;;   src/initreader.cpp
>     ;; TODO: Unbundle them.

LGTM!

Hopefully at least the “ini” part won’t be difficult to unbundle.

Thanks,
Ludo’.
宋文武 Dec. 9, 2018, 1:35 a.m. UTC | #4
Ludovic Courtès <ludo@gnu.org> writes:

> iyzsong@member.fsf.org (宋文武) skribis:
>
>> ludo@gnu.org (Ludovic Courtès) writes:
>>
>>> Hello 宋文武!
>>>
>>> 宋文武 <iyzsong@member.fsf.org> skribis:
>>>
>>>> * gnu/packages/easyrpg.scm: New file.
>>>> * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
>>>
>>> Should it go to game-development.scm?
>>
>> Not sure, but I'd prefer it go into the same file with 'easyrpg-player',
>> which IMO dosen't belong into 'games.scm'...
>
> OK, sounds good.
>
>>>
>>>> +    (synopsis "Library to handle RPG Maker 2000 and 2003 game data")
>>>> +    (description
>>>> +     "@code{liblcf} is a library to handle RPG Maker 2000 and 2003 game data.
>>>> +It can read and write LCF and XML files.")
>>>> +    ;; It bundles Boost Preprocessor Cat and Stringize (boost-1.0) and a copy
>>>> +    ;; of inih (bsd-3).
>>>> +    (license license:expat)))
>>>
>>> Could these things be unbundled?  If not, could you leave a comment
>>> possibly with a TODO?
>>
>> Ok, how about:
>>
>>     ;; It includes a copy of Boost Preprocessor Cat and Stringize (boost-1.0):
>>     ;;   src/boost/preprocessor/config.hpp
>>     ;;   src/boost/preprocessor/cat.hpp
>>     ;;   src/boost/preprocessor/stringize.hpp
>>     ;; and a copy of inih (bsd-3):
>>     ;;   src/ini.h
>>     ;;   src/ini.cpp
>>     ;;   src/initreader.cpp
>>     ;; TODO: Unbundle them.
>
> LGTM!

Done, thanks!

Patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 23a6cb34b..3b7cd36fc 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -143,6 +143,7 @@  GNU_SYSTEM_MODULES =				\
   %D%/packages/documentation.scm		\
   %D%/packages/dunst.scm			\
   %D%/packages/dvtm.scm				\
+  %D%/packages/easyrpg.scm			\
   %D%/packages/ebook.scm			\
   %D%/packages/ed.scm				\
   %D%/packages/education.scm			\
diff --git a/gnu/packages/easyrpg.scm b/gnu/packages/easyrpg.scm
new file mode 100644
index 000000000..573f3e992
--- /dev/null
+++ b/gnu/packages/easyrpg.scm
@@ -0,0 +1,54 @@ 
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.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 (gnu packages easyrpg)
+  #:use-module (guix packages)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages icu4c)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages xml))
+
+(define-public liblcf
+  (package
+    (name "liblcf")
+    (version "0.5.4")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://easyrpg.org/downloads/player/" version
+                    "/liblcf-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1k99bcw5c23801jk3mbz5sj5h18x46w1qxrkknhwhfgqzpvxhwrs"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (propagated-inputs
+     ;; Required by 'liblcf.pc'.
+     `(("expat" ,expat)
+       ("icu" ,icu4c)))
+    (home-page "https://easyrpg.org/")
+    (synopsis "Library to handle RPG Maker 2000 and 2003 game data")
+    (description
+     "@code{liblcf} is a library to handle RPG Maker 2000 and 2003 game data.
+It can read and write LCF and XML files.")
+    ;; It bundles Boost Preprocessor Cat and Stringize (boost-1.0) and a copy
+    ;; of inih (bsd-3).
+    (license license:expat)))