unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Liliana Marie Prikler <liliana.prikler@gmail.com>
To: Rikard Nordgren <hrn@posteo.net>, 67134@debbugs.gnu.org
Subject: [bug#67134] [PATCH] gnu: Add camelia-girls
Date: Sun, 12 Nov 2023 23:45:14 +0100	[thread overview]
Message-ID: <715142aa06a75631e8478292298c3cbdbf3bbe28.camel@gmail.com> (raw)
In-Reply-To: <d0b6fcff035fd1f24e8b36f1c6af43cdd7cc87d4.1699816739.git.hrn@posteo.net>

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

  reply	other threads:[~2023-11-12 22:46 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-12 19:20 [bug#67134] [PATCH] gnu: Add camelia-girls Rikard Nordgren
2023-11-12 22:45 ` Liliana Marie Prikler [this message]
2023-11-15 20:07   ` hrn
2023-11-15 20:58     ` Liliana Marie Prikler
2023-11-28 19:11       ` hrn

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=715142aa06a75631e8478292298c3cbdbf3bbe28.camel@gmail.com \
    --to=liliana.prikler@gmail.com \
    --cc=67134@debbugs.gnu.org \
    --cc=hrn@posteo.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).