This is an automated email from the git hooks/post-receive script. guix_mirror_bot pushed a commit to branch master in repository guix.
The following commit(s) were added to refs/heads/master by this push: new 242dceabb4 gnu: higan: Update to 110-0.ad0e11e and modernize. 242dceabb4 is described below commit 242dceabb4c2a1d4989babeff4c0df540e15f686 Author: Maxim Cournoyer <ma...@guixotic.coop> AuthorDate: Tue Jul 22 15:51:22 2025 +0900 gnu: higan: Update to 110-0.ad0e11e and modernize. * gnu/packages/emulators.scm (higan): Update to 110-0.ad0e11e. [inputs]: Remove labels. Replace gtk+-2 with gtk+ and gtksourceview-2 with gtksourceview-3. [arguments]: Use gexps and gexp variables as well as search-input-file in phases. <#:make-flags>: Add higan.path and platform flags. <#:phases> {chdir-to-higan}: Rename to... {chdir-to-higan-ui}: ... this, switching to higan-ui directory. {wrap-higan-executable}: Streamline via wrap-program. Fixes: #1477 Change-Id: I46130180a3b8505233c9baba81789cd0ade262bd --- gnu/packages/emulators.scm | 151 ++++++++++++++++++--------------------------- 1 file changed, 61 insertions(+), 90 deletions(-) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 754292ea06..1f67e8cd63 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -778,95 +778,66 @@ and a game metadata scraper.") (license license:expat)))) (define-public higan - (package - (name "higan") - (version "110") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/higan-emu/higan") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "11rvm53c3p2f6zk8xbyv2j51xp8zmqnch7zravhj3fk590qrjrr2")))) - (build-system gnu-build-system) - (native-inputs - (list pkg-config)) - (inputs - `(("alsa-lib" ,alsa-lib) - ("bash" ,bash-minimal) ; for wrap-program - ("ao" ,ao) - ("eudev" ,eudev) - ("gtk+" ,gtk+-2) - ("gtksourceview-2" ,gtksourceview-2) - ("libxrandr" ,libxrandr) - ("libxv" ,libxv) - ("mesa" ,mesa) - ("openal" ,openal) - ("pulseaudio" ,pulseaudio) - ("sdl2" ,sdl2))) - (arguments - '(#:phases - (let ((build-phase (assoc-ref %standard-phases 'build)) - (install-phase (assoc-ref %standard-phases 'install))) - (modify-phases %standard-phases - ;; The higan build system has no configure phase. - (delete 'configure) - (add-before 'build 'chdir-to-higan - (lambda _ - (chdir "higan") - #t)) - (add-before 'install 'create-/share/applications - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - ;; It seems the author forgot to do this in the Makefile. - (mkdir-p (string-append out "/share/applications")) - #t))) - (add-after 'install 'chdir-to-icarus - (lambda _ - (chdir "../icarus") - #t)) - (add-after 'chdir-to-icarus 'build-icarus build-phase) - (add-after 'build-icarus 'install-icarus install-phase) - (add-after 'install-icarus 'wrap-higan-executable - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (higan (string-append bin "/higan")) - (higan-original (string-append higan "-original")) - (bash (search-input-file inputs "/bin/bash")) - (coreutils (assoc-ref inputs "coreutils")) - (mkdir (string-append coreutils "/bin/mkdir")) - (cp (string-append coreutils "/bin/cp")) - (cp-r (string-append cp " -r --no-preserve=mode"))) - ;; First, have the executable make sure ~/.local/share/higan - ;; contains up to date files. Higan insists on looking there - ;; for these data files. - (rename-file higan higan-original) - (with-output-to-file higan - (lambda () - (display - (string-append - "#!" bash "\n" - ;; higan doesn't respect $XDG_DATA_HOME - mkdir " -p ~/.local/share\n" - cp-r " " out "/share/higan ~/.local/share\n" - "exec " higan-original)))) - (chmod higan #o555) - ;; Second, make sure higan will find icarus in PATH. - (wrap-program higan - `("PATH" ":" prefix (,bin))) - #t))))) - #:make-flags - (list "compiler=g++" - (string-append "prefix=" (assoc-ref %outputs "out"))) - ;; There is no test suite. - #:tests? #f)) - (home-page "https://github.com/higan-emu/higan/") - (synopsis "Multi-system emulator") - (description - "higan is a multi-system emulator with an uncompromising focus on + ;; There are no recent releases; use the latest commit of the master branch. + (let ((commit "ad0e11e7b73053eb1bcd5bdeabbe2de92c356286") + (revision "0")) + (package + (name "higan") + (version (git-version "110" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/higan-emu/higan") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1dlx5vqxv8mr8faw0wggsd10bk51p258l56yixjarv0dyhv6nkbq")))) + (build-system gnu-build-system) + (native-inputs + (list pkg-config)) + (inputs + (list alsa-lib + bash-minimal ; for wrap-program + ao + eudev + gtk+ + gtksourceview-3 + libxrandr + libxv + mesa + openal + pulseaudio + sdl2)) + (arguments + (list + #:tests? #f ;no test suite + #:make-flags #~(list "compiler=g++" + "higan.path=../higan" + "platform=linux" + (string-append "prefix=" #$output)) + #:phases + #~(modify-phases %standard-phases + ;; The higan build system has no configure phase. + (delete 'configure) + (add-before 'build 'chdir-to-higan-ui + (lambda _ + (chdir "higan-ui"))) + (add-after 'install 'chdir-to-icarus + (lambda _ + (chdir "../icarus"))) + (add-after 'chdir-to-icarus 'build-icarus + (assoc-ref %standard-phases 'build)) + (add-after 'build-icarus 'install-icarus + (assoc-ref %standard-phases 'install)) + (add-after 'install-icarus 'wrap-higan-executable + (lambda _ + (wrap-program (string-append #$output "/bin/higan") + `("PATH" prefix (,(string-append #$output "/bin"))))))))) + (home-page "https://github.com/higan-emu/higan/") + (synopsis "Multi-system emulator") + (description + "higan is a multi-system emulator with an uncompromising focus on accuracy and code readability. It currently emulates the following systems: Famicom, Famicom Disk System, @@ -875,7 +846,7 @@ Game Boy Player, SG-1000, SC-3000, Master System, Game Gear, Mega Drive, Mega CD, PC Engine, SuperGrafx, MSX, MSX2, ColecoVision, Neo Geo Pocket, Neo Geo Pocket Color, WonderSwan, WonderSwan Color, SwanCrystal, Pocket Challenge V2.") - (license license:gpl3+))) + (license license:gpl3+)))) (define-public mednafen (package