GNU bug report logs - #67134
[PATCH] gnu: Add camelia-girls

Previous Next

Package: guix-patches;

Reported by: Rikard Nordgren <hrn <at> posteo.net>

Date: Sun, 12 Nov 2023 19:22:02 UTC

Severity: normal

Tags: patch

To reply to this bug, email your comments to 67134 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#67134; Package guix-patches. (Sun, 12 Nov 2023 19:22:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Rikard Nordgren <hrn <at> posteo.net>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sun, 12 Nov 2023 19:22:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Rikard Nordgren <hrn <at> posteo.net>
To: guix-patches <at> gnu.org
Cc: hrn <at> posteo.net
Subject: [PATCH] gnu: Add camelia-girls
Date: Sun, 12 Nov 2023 19:20:16 +0000
* gnu/packages/games.scm (camlia-girls): New variable.

Change-Id: I6bf6f85cd4578b7ce4ec6ebdd7a8c342fa5dbd4c
---
 gnu/packages/games.scm | 86 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 86 insertions(+)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 8313c02754..4e396f3ba1 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -231,6 +231,7 @@ (define-module (gnu packages games)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system python)
   #:use-module (guix build-system qt)
+  #:use-module (guix build-system renpy)
   #:use-module (guix build-system scons)
   #:use-module (guix build-system trivial)
   #:use-module ((srfi srfi-1) #:hide (zip))
@@ -999,6 +1000,91 @@ (define-public bzflag
     ;; The game is dual-licensed.
     (license (list license:lgpl2.1 license:mpl2.0))))
 
+(define-public camelia-girls
+  (package
+    (name "camelia-girls")
+    (version "0.561")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://codeberg.org/rikardn/cameliagirls.git")
+             (commit "1285aa1261f57545d81cc0194432bd6fe6f7fe44")))
+       (sha256
+        (base32 "1yq9gx2zh71c99w1pfvkv5isgm4pd3hjlixcn5vhk1l1f9f7mfc7"))
+       (file-name (git-file-name name version))
+       (snippet '(begin
+                   ;; Remove bundled dependencies.
+                   (delete-file "game/fonts/DejaVuSansMono-Bold.ttf")
+                   (delete-file "game/fonts/DejaVuSerif-BoldItalic.ttf")))))
+    (build-system renpy-build-system)
+    (arguments
+     `(#:phases (modify-phases %standard-phases
+                  (add-after 'install 'unbundle-fonts
+                    (lambda* (#:key inputs outputs #:allow-other-keys)
+                      (let* ((font-name-bold "DejaVuSansMono-Bold.ttf")
+                             (font-name-bi "DejaVuSerif-BoldItalic.ttf")
+                             (font-path-bold (string-append (assoc-ref inputs
+                                                             "font-dejavu")
+                                              "/share/fonts/truetype/"
+                                              font-name-bold))
+                             (font-path-bi (string-append (assoc-ref inputs
+                                                           "font-dejavu")
+                                            "/share/fonts/truetype/"
+                                            font-name-bi))
+                             (target-bold (string-append (assoc-ref outputs
+                                                                    "out")
+                                           "/share/renpy/fonts/"
+                                           font-name-bold))
+                             (target-bi (string-append (assoc-ref outputs
+                                                                  "out")
+                                                       "/share/renpy/fonts/"
+                                                       font-name-bi)))
+                        (symlink font-path-bold target-bold)
+                        (symlink font-path-bi target-bi))))
+
+                  (add-after 'install-desktop-file 'install-desktop-icon
+                    (lambda* (#:key inputs outputs #:allow-other-keys)
+                      (let* ((out (assoc-ref outputs "out"))
+                             (game-name "CameliaGirls")
+                             (desktop-path (string-append out
+                                            "/share/applications/" game-name
+                                            ".desktop"))
+                             (icon-dir (string-append out
+                                        "/share/icons/hicolor/128x128/apps"))
+                             (orig-icon-name "icon-high.png")
+                             (new-icon-name (string-append game-name
+                                                           "-icon.png"))
+                             (orig-icon-path (string-append icon-dir "/"
+                                                            orig-icon-name))
+                             (new-icon-path (string-append icon-dir "/"
+                                                           new-icon-name)))
+                        (let ((output-port (open-file desktop-path "a")))
+                          (display (string-append "Icon=" game-name "-icon")
+                                   output-port)
+                          (newline output-port)
+                          (close output-port))
+                        (substitute* desktop-path
+                          (("^Name=")
+                           (string-append "Name=" game-name)))
+                        (mkdir-p icon-dir)
+                        (install-file orig-icon-name icon-dir)
+                        (rename-file orig-icon-path new-icon-path)))))))
+
+    (inputs (list font-dejavu))
+    (home-page "https://codeberg.org/rikardn/cameliagirls")
+    (synopsis
+     "Slice-of-life visual novel featuring the student body of Camelia Academy")
+    (description
+     "CameliaGirls: @@CameliaGirls or Cewek Cewek Camelia is a visual novel
+that follows the life of a transfer student as she begins her new life at the
+all-girl Camelia Academy.  The game is highly dialog-driven, but also
+incorporates visual gags, reminiscent of the Anime style that inspires it.
+The script and interface is translated to English, Indonesian, Spanish,
+German and French.  The game consists of two acts and the story is
+unfinished.")
+    (license license:cc-by-sa3.0)))
+
 (define-public cataclysm-dda
   (package
     (name "cataclysm-dda")

base-commit: c9361460dece1dbc3d2645ad3e5c79e85a2bf183
-- 
2.39.2





Information forwarded to guix-patches <at> gnu.org:
bug#67134; Package guix-patches. (Sun, 12 Nov 2023 22:47:02 GMT) Full text and rfc822 format available.

Message #8 received at 67134 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: Rikard Nordgren <hrn <at> posteo.net>, 67134 <at> debbugs.gnu.org
Subject: Re: [PATCH] gnu: Add camelia-girls
Date: Sun, 12 Nov 2023 23:45:14 +0100
Am Sonntag, dem 12.11.2023 um 19:20 +0000 schrieb Rikard Nordgren:
> * gnu/packages/games.scm (camlia-girls): New variable.
> 
> Change-Id: I6bf6f85cd4578b7ce4ec6ebdd7a8c342fa5dbd4c
> ---
>  gnu/packages/games.scm | 86
> ++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 86 insertions(+)
> 
> diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
> index 8313c02754..4e396f3ba1 100644
> --- a/gnu/packages/games.scm
> +++ b/gnu/packages/games.scm
> @@ -231,6 +231,7 @@ (define-module (gnu packages games)
>    #:use-module (guix build-system perl)
>    #:use-module (guix build-system python)
>    #:use-module (guix build-system qt)
> +  #:use-module (guix build-system renpy)
>    #:use-module (guix build-system scons)
>    #:use-module (guix build-system trivial)
>    #:use-module ((srfi srfi-1) #:hide (zip))
> @@ -999,6 +1000,91 @@ (define-public bzflag
>      ;; The game is dual-licensed.
>      (license (list license:lgpl2.1 license:mpl2.0))))
>  
> +(define-public camelia-girls
> +  (package
> +    (name "camelia-girls")
> +    (version "0.561")
> +    (source
> +     (origin
> +       (method git-fetch)
> +       (uri (git-reference
> +             (url "https://codeberg.org/rikardn/cameliagirls.git")
> +             (commit "1285aa1261f57545d81cc0194432bd6fe6f7fe44")))
> +       (sha256
> +        (base32
> "1yq9gx2zh71c99w1pfvkv5isgm4pd3hjlixcn5vhk1l1f9f7mfc7"))
> +       (file-name (git-file-name name version))
> +       (snippet '(begin
Use #~ instead of ': The former also allows you to pull in other
packages, should you ever need to.
> +                   ;; Remove bundled dependencies.
> +                   (delete-file "game/fonts/DejaVuSansMono-
> Bold.ttf")
> +                   (delete-file "game/fonts/DejaVuSerif-
> BoldItalic.ttf")))))
> +    (build-system renpy-build-system)
> +    (arguments
> +     `(#:phases (modify-phases %standard-phases
Same as above, prefer (list #:phases #~(...))
> +                  (add-after 'install 'unbundle-fonts
> +                    (lambda* (#:key inputs outputs #:allow-other-
> keys)
> +                      (let* ((font-name-bold "DejaVuSansMono-
> Bold.ttf")
> +                             (font-name-bi "DejaVuSerif-
> BoldItalic.ttf")
> +                             (font-path-bold (string-append (assoc-
> ref inputs
> +                                                             "font-
> dejavu")
> +                                             
> "/share/fonts/truetype/"
> +                                              font-name-bold))
> +                             (font-path-bi (string-append (assoc-ref
> inputs
> +                                                           "font-
> dejavu")
> +                                            "/share/fonts/truetype/"
> +                                            font-name-bi))
Prefer search-input-file.
> +                             (target-bold (string-append (assoc-ref
> outputs
> +                                                                   
> "out")
> +                                           "/share/renpy/fonts/"
> +                                           font-name-bold))
> +                             (target-bi (string-append (assoc-ref
> outputs
> +                                                                 
> "out")
> +                                                      
> "/share/renpy/fonts/"
> +                                                       font-name-
> bi)))
> +                        (symlink font-path-bold target-bold)
> +                        (symlink font-path-bi target-bi))))
Instead of symlinking, hard-code the file name where it's used?
> +
> +                  (add-after 'install-desktop-file 'install-desktop-
> icon
> +                    (lambda* (#:key inputs outputs #:allow-other-
> keys)
> +                      (let* ((out (assoc-ref outputs "out"))
> +                             (game-name "CameliaGirls")
> +                             (desktop-path (string-append out
> +                                            "/share/applications/"
> game-name
> +                                            ".desktop"))
> +                             (icon-dir (string-append out
> +                                       
> "/share/icons/hicolor/128x128/apps"))
> +                             (orig-icon-name "icon-high.png")
> +                             (new-icon-name (string-append game-name
> +                                                           "-
> icon.png"))
> +                             (orig-icon-path (string-append icon-dir
> "/"
> +                                                            orig-
> icon-name))
> +                             (new-icon-path (string-append icon-dir
> "/"
> +                                                           new-icon-
> name)))
> +                        (let ((output-port (open-file desktop-path
> "a")))
> +                          (display (string-append "Icon=" game-name
> "-icon")
> +                                   output-port)
> +                          (newline output-port)
> +                          (close output-port))
We have a dedicated procedure for generating .desktop files.  Use that.
> +                        (substitute* desktop-path
> +                          (("^Name=")
> +                           (string-append "Name=" game-name)))
> +                        (mkdir-p icon-dir)
> +                        (install-file orig-icon-name icon-dir)
> +                        (rename-file orig-icon-path new-icon-
> path)))))))
> +
> +    (inputs (list font-dejavu))
> +    (home-page "https://codeberg.org/rikardn/cameliagirls")
> +    (synopsis
> +     "Slice-of-life visual novel featuring the student body of
> Camelia Academy")
> +    (description
> +     "CameliaGirls: @@CameliaGirls or Cewek Cewek Camelia is a
> visual novel
> +that follows the life of a transfer student as she begins her new
> life at the
> +all-girl Camelia Academy.  The game is highly dialog-driven, but
> also
> +incorporates visual gags, reminiscent of the Anime style that
> inspires it.
> +The script and interface is translated to English, Indonesian,
> Spanish,
> +German and French.  The game consists of two acts and the story is
> +unfinished.")
> +    (license license:cc-by-sa3.0)))
> +
The credits are, as far as I can see, a little unclear about some
included assets – I only see some Wikimedia links, and that's it.  I'd
be happy to be proven wrong, though, we desperately need a package to
make use of renpy-build-system :)

Cheers

Information forwarded to guix-patches <at> gnu.org:
bug#67134; Package guix-patches. (Wed, 15 Nov 2023 20:08:01 GMT) Full text and rfc822 format available.

Message #11 received at 67134 <at> debbugs.gnu.org (full text, mbox):

From: hrn <hrn <at> posteo.net>
To: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Cc: 67134 <at> debbugs.gnu.org
Subject: Re: [PATCH] gnu: Add camelia-girls
Date: Wed, 15 Nov 2023 20:07:21 +0000
Thanks for reviewing!

>    +       (snippet '(begin

> Use #~ instead of ': The former also allows you to pull in other
> packages, should you ever need to.

Ok I'll test.

>    +     `(#:phases (modify-phases %standard-phases

> Same as above, prefer (list #:phases #~(...))

Ok will try, I thought it was the other way around.

>    +                             (font-path-bi (string-append 
> (assoc-ref
>    inputs
>    +                                                           "font-
>    dejavu")
>    +                                            
> "/share/fonts/truetype/"
>    +                                            font-name-bi))

> Prefer search-input-file.

Ok, sounds better.

>    +                        (symlink font-path-bi target-bi))))

> Instead of symlinking, hard-code the file name where it's used?

Symlinking avoids changing the source files. Isn't that better?

> We have a dedicated procedure for generating .desktop files.  Use that.

I would have used that if it wasn't for the builder already having 
created the
desktop file. I didn't want to change the builder so I ended up with 
this solution. In
case the builder can do more automatically in the future we can remove 
the extra code.
Or do you want me to overwrite the desktop file created by the builder 
entirely?


> The credits are, as far as I can see, a little unclear about some
> included assets – I only see some Wikimedia links, and that's it.  I'd
> be happy to be proven wrong, though, we desperately need a package to
> make use of renpy-build-system :)

I checked the licenses to the best of my best ability from the 
information in license.txt.
The in game credits with more detailed license information can be found 
in the
games/scripts/credits?.txt.




Information forwarded to guix-patches <at> gnu.org:
bug#67134; Package guix-patches. (Wed, 15 Nov 2023 20:59:01 GMT) Full text and rfc822 format available.

Message #14 received at 67134 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: hrn <hrn <at> posteo.net>
Cc: 67134 <at> debbugs.gnu.org
Subject: Re: [PATCH] gnu: Add camelia-girls
Date: Wed, 15 Nov 2023 21:58:25 +0100
Am Mittwoch, dem 15.11.2023 um 20:07 +0000 schrieb hrn:
> Thanks for reviewing!
> 
> >    +       (snippet '(begin
> 
> > Use #~ instead of ': The former also allows you to pull in other
> > packages, should you ever need to.
> 
> Ok I'll test.
> 
> >    +     `(#:phases (modify-phases %standard-phases
> 
> > Same as above, prefer (list #:phases #~(...))
> 
> Ok will try, I thought it was the other way around.
> 
> >    +                             (font-path-bi (string-append 
> > (assoc-ref
> >    inputs
> >    +                                                          
> > "font-
> >    dejavu")
> >    +                                            
> > "/share/fonts/truetype/"
> >    +                                            font-name-bi))
> 
> > Prefer search-input-file.
> 
> Ok, sounds better.
> 
> >    +                        (symlink font-path-bi target-bi))))
> 
> > Instead of symlinking, hard-code the file name where it's used?
> 
> Symlinking avoids changing the source files. Isn't that better?
Hard-coding avoids "copying" the data, even if it's just a symlink.

> > We have a dedicated procedure for generating .desktop files.  Use
> > that.
> 
> I would have used that if it wasn't for the builder already having 
> created the desktop file. I didn't want to change the builder so I
> ended up with this solution.  In case the builder can do more
> automatically in the future we can remove the extra code.
> Or do you want me to overwrite the desktop file created by the
> builder entirely?
You can (replace 'install-desktop-file (lambda* (...) ...)) instead. 
Alternatively, you can extend the builder to also pass the keys you
need; as hinted at, there are currently no packages using renpy-build-
system, so it's not causing any rebuilds. 

> > The credits are, as far as I can see, a little unclear about some
> > included assets – I only see some Wikimedia links, and that's it. 
> > I'd be happy to be proven wrong, though, we desperately need a
> > package to make use of renpy-build-system :)
> 
> I checked the licenses to the best of my best ability from the 
> information in license.txt.
> The in game credits with more detailed license information can be
> found in the games/scripts/credits?.txt.
It is these credits that I'm talking about.  IIUC, the assets that
aren't mentioned explicitly, have unclear licensing :)

Cheers

Information forwarded to guix-patches <at> gnu.org:
bug#67134; Package guix-patches. (Tue, 28 Nov 2023 19:13:02 GMT) Full text and rfc822 format available.

Message #17 received at 67134 <at> debbugs.gnu.org (full text, mbox):

From: hrn <hrn <at> posteo.net>
To: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Cc: 67134 <at> debbugs.gnu.org
Subject: Re: [PATCH] gnu: Add camelia-girls
Date: Tue, 28 Nov 2023 19:11:47 +0000
>> I checked the licenses to the best of my best ability from the
>> information in license.txt.
>> The in game credits with more detailed license information can be
>> found in the games/scripts/credits?.txt.
> It is these credits that I'm talking about.  IIUC, the assets that
> aren't mentioned explicitly, have unclear licensing :)


Turns out I wasn't thorough enough with checking the licenses of the 
assets. I found some music files that are under a CC-NC-ND license which 
is not acceptable.

It is unfortunately a common situation in games that are advertised as 
free or open source software to have some files under a non-free 
license. Thanks for pushing for a deeper look.

Being stubborn, I will go through all assets and see if the non-free 
ones could be replaced with something similar or otherwise removed.




This bug report was last modified 157 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.