guix_mirror_bot pushed a commit to branch master
in repository guix.

commit 5259f89b070e7fe3fa8346804714ac1b08c05702
Author: Maxim Cournoyer <[email protected]>
AuthorDate: Tue Jul 22 18:20:47 2025 +0900

    gnu: sfml: Update to 3.0.1.
    
    * gnu/packages/game-development.scm (sfml): Update to 3.0.1.
    [source]: Fetch from git. Refine snippet.
    [#:tests?]: New argument.
    [#:configure-flags]: Remove SFML_INSTALL_PKGCONFIG_FILES and
    SFML_OS_PKGCONFIG_DIR flags. Add BUILD_SHARED_LIBS and CMAKE_CXX_FLAGS flag.
    [native-inputs]: Add miniaudio and minimp3.
    [inputs]: Remove labels and sort. Add libxcursor, libxi and vulkan-headers.
    (sfml-2): New variable.
    (csfml): Update to 2.6.1.
    [inputs]: Replace sfml with sfml-2.
    * gnu/packages/emulators.scm (dolphin-emu) [inputs]: Replace sfml with 
sfml-2.
    * gnu/packages/games.scm (extremetuxracer, mars, schiffbruch)
    (marble-marcher): Likewise.
    
    Change-Id: Id61c4ba51798cfc28cc158a9d7fc6308ae4e6f41
---
 gnu/packages/emulators.scm        |   2 +-
 gnu/packages/game-development.scm | 111 +++++++++++++++++++++++++-------------
 gnu/packages/games.scm            |  12 ++---
 3 files changed, 79 insertions(+), 46 deletions(-)

diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index dd8eefa081..7571e6b74e 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -519,7 +519,7 @@ It aims to support Nintendo DSi and 3DS as well.")
              pulseaudio
              qtbase-5
              sdl2
-             sfml
+             sfml-2
              soil
              soundtouch-1/integer-samples
              vulkan-loader
diff --git a/gnu/packages/game-development.scm 
b/gnu/packages/game-development.scm
index 261e492b0e..d82af433d8 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -32,7 +32,7 @@
 ;;; Copyright © 2023, 2024 John Kehayias <[email protected]>
 ;;; Copyright © 2022-2023, 2025 Adam Faiz <[email protected]>
 ;;; Copyright © 2024 Nicolas Graves <[email protected]>
-;;; Copyright © 2024 Maxim Cournoyer <[email protected]>
+;;; Copyright © 2024-2025 Maxim Cournoyer <[email protected]>
 ;;; Copyright © 2025 Sharlatan Hellseher <[email protected]>
 ;;; Copyright © 2025 宋文武 <[email protected]>
 ;;; Copyright © 2025 Arnaud Lechevallier <[email protected]>
@@ -82,6 +82,7 @@
   #:use-module (gnu packages build-tools)
   #:use-module (gnu packages c)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages cpp)
   #:use-module (gnu packages check)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages documentation)
@@ -1072,44 +1073,59 @@ It is capable of creating games for SCUMM version 6 and 
partially version 7.")
 (define-public sfml
   (package
     (name "sfml")
-    (version "2.5.1")
-    (source (origin
-              (method git-fetch)
-              ;; Do not fetch the archives from
-              ;; http://mirror0.sfml-dev.org/files/ because files there seem
-              ;; to be changed in place.
-              (uri (git-reference
-                    (url "https://github.com/SFML/SFML";)
-                    (commit version)))
-              (file-name (git-file-name name version))
-              (sha256
-               (base32
-                "0abr8ri2ssfy9ylpgjrr43m6rhrjy03wbj9bn509zqymifvq5pay"))
-              (modules '((guix build utils)))
-              (snippet
-               '(begin
-                  ;; Ensure system libraries are used.
-                  (delete-file-recursively "extlibs")
-                  #t))))
+    (version "3.0.1")
+    (source
+     (origin
+       (method git-fetch)
+       ;; Do not fetch the archives from
+       ;; http://mirror0.sfml-dev.org/files/ because files there seem
+       ;; to be changed in place.
+       (uri (git-reference
+              (url "https://github.com/SFML/SFML";)
+              (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "12f1d45995qf5sazjmmfdydllcd6alhqs1s4xwv3jiq1fw66hcy9"))
+       (modules '((guix build utils)
+                  (ice-9 ftw)
+                  (srfi srfi-26)))
+       (snippet
+        '(begin
+           ;; XXX: 'delete-all-but' is copied from the turbovnc package.
+           (define (delete-all-but directory . preserve)
+             (with-directory-excursion directory
+               (let* ((pred (negate (cut member <> (cons* "." ".." preserve))))
+                      (items (scandir "." pred)))
+                 (for-each (cut delete-file-recursively <>) items))))
+           (delete-all-but "extlibs/headers"
+                           "glad")))))  ;pre-generated headers
     (build-system cmake-build-system)
     (arguments
-     '(#:configure-flags
-       (list "-DSFML_INSTALL_PKGCONFIG_FILES=TRUE"
-             "-DSFML_OS_PKGCONFIG_DIR=lib/pkgconfig")
-       #:tests? #f)) ; no tests
+     (list #:tests? #f             ;attempts to fetch catch2 from the internet
+           #:configure-flags
+           #~(list "-DBUILD_SHARED_LIBS=ON"
+                   (string-append "-DCMAKE_CXX_FLAGS=-I"
+                                  (search-input-directory %build-inputs
+                                                          "include/vulkan")))))
     (native-inputs
-     (list pkg-config))
+     (list miniaudio                    ;header-only library
+           minimp3                      ;header-only library
+           pkg-config))
     (inputs
-     `(("mesa" ,mesa)
-       ("glew" ,glew)
-       ("libx11" ,libx11)
-       ("xcb-util-image" ,xcb-util-image)
-       ("libxrandr" ,libxrandr)
-       ("eudev" ,eudev)
-       ("libjpeg" ,libjpeg-turbo)
-       ("libsndfile" ,libsndfile)
-       ("stb-image" ,stb-image)
-       ("stb-image-write" ,stb-image-write)))
+     (list eudev
+           glew
+           libjpeg-turbo
+           libsndfile
+           libx11
+           libxcursor
+           libxi
+           libxrandr
+           mesa
+           stb-image
+           stb-image-write
+           vulkan-headers
+           xcb-util-image))
     (propagated-inputs
      ;; In Requires.private of pkg-config files.
      (list flac freetype libvorbis openal))
@@ -1121,10 +1137,29 @@ to ease the development of games and multimedia 
applications.  It is composed
 of five modules: system, window, graphics, audio and network.")
     (license license:zlib)))
 
+(define-public sfml-2
+  (package
+    (inherit sfml)
+    (name "sfml")
+    (version "2.6.2")
+    (source (origin
+              (inherit (package-source sfml))
+              (method git-fetch)
+              ;; Do not fetch the archives from
+              ;; http://mirror0.sfml-dev.org/files/ because files there seem
+              ;; to be changed in place.
+              (uri (git-reference
+                    (url "https://github.com/SFML/SFML";)
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "04qjfp23db0ga4lckil9jqigmjr3253p190r568kpaksrrf5bhcv"))))))
+
 (define-public csfml
   (package
     (name "csfml")
-    (version "2.5.1")
+    (version "2.6.1")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -1133,13 +1168,13 @@ of five modules: system, window, graphics, audio and 
network.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1wj1p798myyavld2xdhvvflb5h4nf1vgxxzs6nh5qad44vj9b3kb"))))
+                "19xxlan0yy9f92bmzkzqg3hjc18g6ds4mhg0rrs62qg9434p8aqh"))))
     (build-system cmake-build-system)
     (arguments
      (list #:configure-flags #~(list "-DCSFML_BUILD_DOC=TRUE")
            #:tests? #f)) ;no tests
     (native-inputs (list doxygen))
-    (inputs (list sfml))
+    (inputs (list sfml-2))
     (synopsis "C bindings for the SFML multimedia library")
     (description
      "CSFML is the official C binding to the SFML libraries.  SFML provides a
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 9c7cde57f1..e4704dd3fb 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -4444,9 +4444,7 @@ for common mesh file formats, and collision detection.")
     (license license:zlib)))
 
 (define-public mars
-  ;; The latest release on SourceForge relies on an unreleased version of SFML
-  ;; with a different API, so we take the latest version from the official
-  ;; repository on Github.
+  ;; No official release since 2013: use the latest commit.
   (let ((commit   "84664cda094efe6e49d9b1550e4f4f98c33eefa2")
         (revision "2"))
     (package
@@ -4476,7 +4474,7 @@ for common mesh file formats, and collision detection.")
                                 (assoc-ref outputs "out")
                                 "/share/games/marsshooter/\";"))))))))
       (inputs
-       (list mesa fribidi taglib sfml))
+       (list mesa fribidi taglib sfml-2))
       (home-page "https://mars-game.sourceforge.net/";)
       (synopsis "2D space shooter")
       (description
@@ -4796,7 +4794,7 @@ Protocol).")
     (native-inputs
      (list pkg-config))
     (inputs
-     (list glu sfml))
+     (list glu sfml-2))
     (synopsis "High-speed arctic racing game based on Tux Racer")
     ;; Snarfed straight from Debian.
     (description "Extreme Tux Racer, or etracer as it is called for short, is
@@ -11018,7 +11016,7 @@ current computer, the world, and eventually the 
universe itself.")
                  (install-file "MarbleMarcher" bin))
                #t)))))
       (inputs
-       (list eigen mesa sfml))
+       (list eigen mesa sfml-2))
       (native-inputs
        (list pkg-config))
       (home-page "https://codeparade.itch.io/marblemarcher";)
@@ -12801,7 +12799,7 @@ to start over several times to find the most 
satisfactory ending.")
        `(#:tests? #f                              ; no tests
          #:build-type "Release"))
       (inputs
-       (list sfml))
+       (list sfml-2))
       (home-page "https://github.com/sandsmark/Schiffbruch/";)
       (synopsis "Pixelart survival game")
       (description

Reply via email to