summaryrefslogtreecommitdiff
path: root/gnu/packages/emulators.scm
diff options
context:
space:
mode:
authorAndreas Enge <andreas@enge.fr>2026-02-17 11:36:18 +0100
committerAndreas Enge <andreas@enge.fr>2026-02-17 12:24:22 +0100
commit3855564f5a76baebcd4409a58dd3d307b2a9cbe1 (patch)
treee838f51a46722a82edb80eecdd1fea366114fbae /gnu/packages/emulators.scm
parent489547e88c773c9ad1a07a29a8dec851a74ac9ec (diff)
gnu: Remove ppsspp.
* gnu/packages/emulators.scm (ppsspp): Delete variable. * gnu/packages/patches/ppsspp-disable-upgrade-and-gold.patch: Remove file. * gnu/packages/emulators.scm (dist_patch_DATA): Unregister patch. Fixes: guix/guix#5605 Change-Id: I10c4e5bc8c0d0a9cff60288ed2d81391017b4ec6
Diffstat (limited to 'gnu/packages/emulators.scm')
-rw-r--r--gnu/packages/emulators.scm152
1 files changed, 0 insertions, 152 deletions
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index c1f02c452a3..252ef117625 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -4708,158 +4708,6 @@ emulator framework based on QEMU.")
(sha256
(base32 "0mlfs8qfi0clyncfkbxp6in0cpl747510i6bqymwid43xcirbikz"))))))
-(define-public ppsspp
- (package
- (name "ppsspp")
- (version "1.14.4")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/hrydgard/ppsspp")
- (commit (string-append "v" version))))
- (sha256
- (base32 "1l80zs1khph4a3g3hnh91awafmyy6wdcayb81xnflkzmpv3bwq8i"))
- (file-name (git-file-name name version))
- (patches
- (search-patches "ppsspp-disable-upgrade-and-gold.patch"))
- (modules '((guix build utils)))
- (snippet
- `(begin
- ;; The following is quite a heavy-handed way of unbundling PPSSPP.
- ;; There are still a number of external sources, that we don't
- ;; remove here. Some may be packaged, others are not.
- ;; First, we patch existing sources to include the right headers.
- (substitute* (append (find-files "Common" ".*\\.(h|cpp)")
- (find-files "Core" ".*\\.(h|cpp)")
- (find-files "GPU" ".*\\.(h|cpp)")
- (find-files "SDL" ".*\\.(h|cpp)")
- (find-files "UI" ".*\\.(h|cpp)"))
- ;; These headers are all hard-coded in the original source.
- (("ext/cityhash/") "")
- (("ext/glslang/glslang/") "glslang/")
- (("ext/glslang/") "glslang/")
- (("ext/miniupnp/") "")
- (("ext/SPIRV-Cross/") "spirv_cross/")
- (("ext/vulkan/") "vulkan/")
- (("ext/xxhash.h") "xxhash.h")
- ;; These definitions do not actually exist in the Vulkan headers,
- ;; but PPSSPP defines them in ext/vulkan.
- (("VK_FORMAT_BEGIN_RANGE") "VK_FORMAT_UNDEFINED")
- (("VK_FORMAT_END_RANGE") "VK_FORMAT_ASTC_12x12_SRGB_BLOCK"))
- ;; Next, we patch CMakeLists.
- (substitute* "CMakeLists.txt"
- ;; Drop unnecessary includes and targets.
- (("include_directories\\(ext/glslang\\)") "")
- (("target_include_directories\\(.*ext/xxhash\\)") "")
- (("target_include_directories\\(.*ext/cityhash\\)") "")
- (("set_target_properties\\(cityhash .*\\)") "")
- ;; Fix linking to GLEW.
- (("TARGET Ext::GLEW") "true")
- (("target_link_libraries\\(native Ext::GLEW\\)")
- "find_package(GLEW)\ntarget_link_libraries(native GLEW::GLEW)")
- (("Ext::Snappy") "snappy")
- ;; Don't search for cityhash/xxhash, we already have them.
- (("add_library\\((city|xx)hash STATIC") "if()\nendif(")
- (("ext/xxhash\\.[ch]") "")
- (("ext/cityhash/.*\\.(cpp|h)") "")
- (("if\\(USE_MINIUPNPC\\)" all)
- (string-append all "
-find_package(miniupnpc)
-target_link_libraries(${CoreLibName} miniupnpc ${LDLIBS})
-elseif(FALSE)"))
- ;; Link all of spirv-cross.
- (("spirv-cross-glsl" all)
- (string-append all
- " spirv-cross-core spirv-cross-cpp"
- " spirv-cross-reflect spirv-cross-util")))
- (substitute* "ext/CMakeLists.txt"
- (("add_subdirectory\\(glew.*") "")
- (("add_subdirectory\\(glslang.*") "")
- (("add_subdirectory\\(snappy.*") "")
- (("add_subdirectory\\(SPIRV-Cross-build.*") "")
- (("add_subdirectory\\(zstd.*") ""))
- ;; Finally, we can delete the bundled sources.
- (for-each delete-file-recursively
- '("ext/cmake"
- "ext/glew"
- "ext/glslang" "ext/glslang-build"
- "ext/miniupnp" "ext/miniupnp-build"
- "ext/native"
- "ext/snappy"
- "ext/SPIRV-Cross" "ext/SPIRV-Cross-build"
- "ext/vulkan"
- "ext/xxhash.c"
- "ext/xxhash.h"
- "ext/zlib"
- "ext/zstd"))
- ;; Since we are not including git as an input, PPSSPP is confused
- ;; about its version. Let's fix that here.
- (substitute* "git-version.cmake"
- (("unknown") ,version))))))
- (build-system cmake-build-system)
- (native-inputs (list pkg-config python))
- (inputs (list bash
- cityhash
- ffmpeg-4
- glew
- glslang
- libpng
- libzip
- mesa
- miniupnpc
- sdl2
- snappy
- spirv-cross
- vulkan-headers
- vulkan-loader
- xxhash
- zlib
- `(,zstd "lib")))
- (arguments
- (list
- #:out-of-source? #f
- #:configure-flags #~(list "-DARMIPS_USE_STD_FILESYSTEM=ON" ; from armips
- "-DUSE_DISCORD=OFF"
- "-DUSE_SYSTEM_FFMPEG=ON"
- "-DUSE_SYSTEM_LIBZIP=ON"
- "-DUSE_SYSTEM_ZSTD=ON"
- ;; for testing
- "-DUNITTEST=ON" "-DHEADLESS=ON")
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'add-external-sources
- (lambda* (#:key inputs #:allow-other-keys)
- ;; TODO: unbundle armips.
- (copy-recursively #$(package-source armips) "ext/armips")))
- (replace 'install
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin/ppsspp (string-append out "/bin/ppsspp"))
- (share (string-append out "/share/ppsspp")))
- (copy-recursively "icons/hicolor"
- (string-append out "/share/icons/hicolor"))
- (install-file "PPSSPPSDL" share)
- (copy-recursively "assets" (string-append share "/assets"))
-
- (make-desktop-entry-file
- (string-append out "/share/applications/ppsspp.desktop")
- #:name "PPSSPP"
- #:exec (string-append share "/PPSSPPSDL")
- #:icon "ppsspp")
- (mkdir-p (string-append out "/bin"))
- (with-output-to-file bin/ppsspp
- (lambda ()
- (format #t "#!~a~%exec ~a/PPSSPPSDL \"$@\""
- (search-input-file inputs "/bin/bash") share)))
- (chmod bin/ppsspp #o755)))))))
- (home-page "https://www.ppsspp.org/")
- (synopsis "PSP emulator")
- (description
- "PPSSPP is a ``high-level'' emulator simulating the PSP operating
-system.")
- (license license:gpl2+)))
-
(define-public exomizer
(package
(name "exomizer")