From 456219ad361e6a3e7364ab5ef78eb4b1eb34e8ca Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Fri, 20 Jun 2025 17:55:59 +0200 Subject: [PATCH 1/2] xemu: 0.7.135 -> 0.8.96 Signed-off-by: Marcin Serwin --- pkgs/by-name/xe/xemu/package.nix | 38 +++++++++++++++++++++++--------- 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/pkgs/by-name/xe/xemu/package.nix b/pkgs/by-name/xe/xemu/package.nix index bb8bd99aac2d..38487f8b0f83 100644 --- a/pkgs/by-name/xe/xemu/package.nix +++ b/pkgs/by-name/xe/xemu/package.nix @@ -6,13 +6,16 @@ gettext, glib, gtk3, - libGLU, + cmake, + curl, libdrm, libepoxy, libpcap, libsamplerate, libslirp, libgbm, + vulkan-headers, + vulkan-loader, meson, ninja, openssl, @@ -23,23 +26,36 @@ vte, which, wrapGAppsHook3, + cacert, }: stdenv.mkDerivation (finalAttrs: { pname = "xemu"; - version = "0.7.135"; + version = "0.8.96"; src = fetchFromGitHub { owner = "xemu-project"; repo = "xemu"; tag = "v${finalAttrs.version}"; + hash = "sha256-42DnlnaSWVazmct9AL1/QaVqNgYe5NCMVHRJY6axo98="; fetchSubmodules = true; - hash = "sha256-lTZ5j5ULh4GFW4zlQy4l7e4zr8TEIvenGNC59O6G0Wg="; + + # also fetch required git submodules + postFetch = '' + cd "$out" + export NIX_SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt + + ${lib.getExe meson} subprojects download \ + SPIRV-Reflect VulkanMemoryAllocator berkeley-softfloat-3 berkeley-testfloat-3 genconfig glslang imgui \ + implot json keycodemapdb nv2a_vsh_cpu tomlplusplus volk xxhash || true + find subprojects -type d -name .git -prune -execdir rm -r {} + + ''; }; nativeBuildInputs = [ SDL2 meson + cmake ninja perl pkg-config @@ -57,7 +73,7 @@ stdenv.mkDerivation (finalAttrs: { gettext glib gtk3 - libGLU + curl libdrm libepoxy libpcap @@ -66,11 +82,12 @@ stdenv.mkDerivation (finalAttrs: { libgbm openssl vte + vulkan-headers + vulkan-loader ]; configureFlags = [ "--disable-strip" - "--meson=meson" "--target-list=i386-softmmu" "--disable-werror" ]; @@ -80,6 +97,7 @@ stdenv.mkDerivation (finalAttrs: { separateDebugInfo = true; dontUseMesonConfigure = true; + dontUseCmakeConfigure = true; setOutputFlags = false; @@ -87,19 +105,17 @@ stdenv.mkDerivation (finalAttrs: { postPatch = '' patchShebangs . + substituteInPlace ./scripts/xemu-version.sh \ - --replace 'date -u' "date -d @$SOURCE_DATE_EPOCH '+%Y-%m-%d %H:%M:%S'" + --replace-fail 'date -u' "date -d @$SOURCE_DATE_EPOCH '+%Y-%m-%d %H:%M:%S'" ''; preConfigure = '' configureFlagsArray+=("--extra-cflags=-DXBOX=1 -Wno-error=redundant-decls") - '' - + # When the data below can't be obtained through git, the build process tries # to run `XEMU_COMMIT=$(cat XEMU_COMMIT)` (and similar) - '' - echo '${finalAttrs.version}' > XEMU_VERSION - ''; + echo '${finalAttrs.version}' > XEMU_VERSION + ''; preBuild = '' cd build From 9a9f5bcaed00d2e5bcb50e9a63ca8f6dc06df0d2 Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Fri, 20 Jun 2025 22:38:47 +0200 Subject: [PATCH 2/2] xemu: adopt Signed-off-by: Marcin Serwin --- pkgs/by-name/xe/xemu/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/xe/xemu/package.nix b/pkgs/by-name/xe/xemu/package.nix index 38487f8b0f83..049f0987f99e 100644 --- a/pkgs/by-name/xe/xemu/package.nix +++ b/pkgs/by-name/xe/xemu/package.nix @@ -161,7 +161,7 @@ stdenv.mkDerivation (finalAttrs: { changelog = "https://github.com/xemu-project/xemu/releases/tag/v${finalAttrs.version}"; license = lib.licenses.gpl2Plus; mainProgram = "xemu"; - maintainers = with lib.maintainers; [ ]; + maintainers = with lib.maintainers; [ marcin-serwin ]; platforms = lib.platforms.linux; }; })